一、Linux 操作系统发展历程
Linux 是免费开源、可自由传播的类 Unix 操作系统,1991 年由芬兰大学生 Linus Torvalds 开发,现已成为服务器、云计算、嵌入式设备的主流系统。
1. 起源与关键发展节点
1991 年:Linus Torvalds 发布 Linux 0.01 版本,仅支持 Intel 80386 平台
1994 年:Linux 1.0 正式发布,完整支持 TCP/IP 网络协议
2000 年后:RedHat、Debian、CentOS、Ubuntu 等主流发行版全面普及
现在:覆盖服务器、云计算、嵌入式、移动终端(Android 基于 Linux 内核)
2. 主流发行版
企业级稳定版:CentOS/RHEL(服务器首选,稳定可靠)、Debian/Ubuntu(开发与桌面场景常用)
国产发行版:统信 UOS、麒麟 Kylin、华为 EulerOS(适配鲲鹏 / Intel 架构,面向企业级服务器)
3. Linux 核心运维实战(来自运维笔记)
(1)防火墙配置
firewalld 端口白名单
bash
运行
firewall-cmd --zone=public --add-port=5432/tcp --permanent # 添加端口
firewall-cmd --zone=public --remove-port=5432/tcp --permanent # 移除端口
firewall-cmd --reload # 生效规则
firewall-cmd --zone=public --list-ports # 查看开放端口
iptables 端口 / IP 控制
bash
运行
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许22端口
iptables -A INPUT -s 192.168.1.200 -j ACCEPT # 允许指定IP
iptables -A INPUT -p tcp --dport 22 -j DROP # 拒绝其他IP访问22端口
(2)系统基础配置
磁盘挂载:
mount -o remount,size=8G /dev/shm/安装 JDK 并配置环境变量(写入 /etc/profile)
bash
运行
JAVA_HOME=/opt/java/jdk1.8.0_281/
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
配置静态 IP(修改 /etc/sysconfig/network-scripts/ifcfg-ens33)
bash
运行
IPADDR=192.168.253.128
NETMASK=255.255.255.0
GATEWAY=192.168.253.2
DNS1=192.168.253.1
DNS2=8.8.8.8
查看已安装软件包:
yum list installed | grep 包名、rpm -aq | grep 包名sudo 权限配置:编辑 /etc/sudoers,添加
weblogic ALL=(ALL) ALL
(3)本地 YUM 仓库搭建
创建目录:
mkdir -p /mnt/iso /mnt/cdrom上传镜像并挂载:
mount -o loop /mnt/iso/镜像名 /mnt/cdrom备份并清理原有 repo 文件:
mv /etc/yum.repos.d/* /tmp/新建 local.repo
bash
运行
[local]
name=local
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7
二、Docker 容器技术入门与实战
Docker 是轻量级容器化虚拟化方案,解决环境不一致、部署复杂、依赖冲突问题,是 DevOps 核心工具。
1. 核心概念
镜像(Image):应用与运行环境的只读模板
容器(Container):镜像运行实例,可启动 / 停止 / 删除
仓库(Registry):Docker Hub、私有仓库,用于存储镜像
2. 常用命令(整合运维笔记)
(1)安装与服务
bash
运行
yum install -y docker-ce
systemctl start docker
systemctl enable docker
(2)镜像操作
bash
运行
docker pull busybox # 拉取在线镜像
docker load -i 镜像包.tar.gz # 导入本地镜像
docker tag busybox:latest 192.168.1.63:5000/busybox:latest # 打标签
docker push 192.168.1.63:5000/busybox # 推送到私有仓库
docker save -o 镜像名.tar.gz 镜像名:版本号 # 导出镜像
docker rmi 镜像名:版本号 # 删除镜像
(3)容器操作
bash
运行
docker run -itd --name 容器名 -p 80:80 --rm centos:httpd-v2 # 自动删除
docker run --restart=always -itd -p 80:90 --name 容器名 centos:httpd-v2 # 自启
docker ps -a | grep 关键字 # 查看容器
docker logs -f --tail=500 容器ID # 查看日志
docker exec -it 容器ID /bin/bash # 进入容器
docker inspect 容器ID | grep Pid # 查看容器Pid
docker rm -f 容器ID # 强制删除容器
(4)镜像制作与挂载
bash
运行
docker build -t 镜像名称 路径 # 构建镜像
docker run -d -p 8080:8080 --name my_tomcat -v 本地路径:容器路径 tomcat:1.0 # 目录挂载
三、kubectl 与 Kubernetes 基础
Kubernetes(K8s)是容器编排平台,实现容器应用自动化部署、扩缩容、运维;kubectl 是 K8s 命令行工具。
1. 核心资源
Pod:K8s 最小调度单元,包含一个 / 多个容器
Deployment:管理 Pod,支持滚动更新、弹性伸缩
Service:提供稳定网络访问入口
Namespace:资源隔离空间
2. kubectl 常用命令(整合运维笔记)
bash
运行
kubectl get pods --all-namespaces -o wide # 查看所有Pod
kubectl get nodes --all-namespaces -o wide # 查看节点
kubectl get deployments --all-namespaces -o wide # 查看副本
kubectl get services --all-namespaces -o wide # 查看服务
kubectl describe pod/节点/deployment 名称 # 查看详情
kubectl edit service 名称 # 编辑服务配置
kubectl run nginx --image=nginx:latest --port=80 # 快速创建Pod
kubectl delete pod 名称 # 删除Pod
kubectl create -f xxx.yaml # 创建资源
kubectl apply -f xxx.yaml # 更新资源
kubectl replace -f xxx.yaml # 替换资源
3. K8s 集群初始化与故障排查
bash
运行
# 集群初始化
kubeadm init --image-repository=registry.aliyuncs.com/google_containers --apiserver-advertise-address=192.168.119.130 --kubernetes-version=v1.20.4 --pod-network-cidr=172.0.0.0/8
# 生成加入命令
kubeadm token create --print-join-command
# 初始化失败重置
swapoff -a
kubeadm reset
systemctl daemon-reload
systemctl restart kubelet
iptables -F
四、数据库运维实战(MySQL + Oracle)
1. MySQL 常用操作
bash
运行
mysql -u root -p # 登录
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; # 修改密码
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; # 授权远程登录
systemctl start/stop mysqld # 启停服务
select version() from dual; # 查版本
2. Oracle 常用操作
sql
-- 数据闪回(恢复30分钟前数据)
select * from 表名 as of timestamp (systimestamp-interval'30'minute);
-- 解锁用户
alter user scott account unlock;
alter user scott identified by 123456;
-- 创建用户并授权
create user 用户名 identified by 密码;
grant connect,resource,dba to 用户名;
Oracle 监听配置(listener.ora)
bash
运行
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /home/u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.220.128)(PORT = 11521))
)
)
五、华为云平台与 Linux 运维实践
华为云提供 ECS、CCE、OBS 等服务,与 Linux 深度结合,快速搭建企业级应用。
1. 华为云 ECS 基础操作
远程连接:
ssh root@公网IP安全组:放行 22/80/443/3306 等端口
控制台操作:重置密码、绑定密钥对
2. 华为云 OBS 对象存储(obsutil)
bash
运行
# 下载工具
wget https://obs-community.obs.cn-north-1.myhuaweicloud.com/obsutil/current/obsutil_linux_amd64.tar.gz
tar -zxvf obsutil_linux_amd64.tar.gz
# 配置认证
./obsutil config -i=AK -k=SK -e=obs.cn-north-1.myhuaweicloud.com
# 文件上传
./obsutil cp test.txt obs://bucket-name/
报错提示:当前不支持该文件类型,请尝试其他文件
3. 华为云 CCE 容器引擎
托管式 K8s 服务,一键创建集群、弹性伸缩、自动运维
支持鲲鹏 / Intel 混合部署
与 IAM、OBS、EVS 深度集成,降低自建 K8s 运维成本