OpenEuler使用
镜像下载及校验
镜像下载路径:https://www.openeuler.org/zh/download/
镜像22.03-LTS-SP2:openEuler-22.03-LTS-SP2-everything-x86_64-dvd.iso
镜像22.03-LTS-SP2 sha256码:8f00c6251c944330fc0bedbcc1085ab029cd1e49aadd14c236658fa7ac0a8b2c
sha256计算方法:
Linux:
sha256sum openEuler-22.03-LTS-SP2-everything-x86_64-dvd.iso
Windows:
certutil -hashfile openEuler-22.03-LTS-SP2-aarch64-dvd.iso sha256
系统管理
查看系统信息
- 查看系统信息:
cat /etc/os-release
- 查看CPU信息:
lscpu
- 查看内存信息:
free
或者cat /proc/meminfo
- 查看磁盘信息:
fdisk -l
- 查看系统资源实时情况:
top
DNF管理软件包
设置/etc/dnf/dnf.conf的[main]配置
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
gpgcheck:可选值1和0,设置是否进行gpg校验。默认值为1,表示需要进行校验。
installonly_limit:设置可以同时安装“installonlypkgs”指令中列出的任何单个软件包的最大版本数。默认值为3,不建议降低此值。
clean_requirements_on_remove:删除在dnf remove期间不再使用的依赖项,如果软件包是通过DNF安装的,而不是通过显式用户请求安装的,则只能通过删除软件包,即它是作为依赖项引入的。 默认值为True。
best:升级包时,总是尝试安装其最高版本,如果最高版本无法安装,则提示无法安装的原因并停止安装。默认值为True。
设置/etc/yum.repos.d/openEuler.repo的[repository]配置
默认安装系统完成后,系统会将默认的源设置到此文件中。
[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS-SP2/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS-SP2/OS/$basearch/RPM-GPG-KEY-openEuler
dnf/rpm使用命令
- 查看当前配置信息:
dnf config-manager --dump
- 查看软件源的配置:
dnf repolist
- 搜索安装包:
dnf search httpd
- 显示已经安装的rpm清单:
dnf list all
或者dnf list *httpd*
- 安装rpm:
dnf install httpd
- 删除rpm:
dnf remove httpd
- 查看rpm信息:
dnf info httpd
- 下载rpm包:
dnf download httpd
- 下载rpm包及未安装的依赖:
dnf download --resolve httpd
- 检查更新:
dnf check-update
或者dnf update httpd
- 清理缓存:
dnf clean all
- 更新缓存:
dnf makecache
特殊说明:rpm命令还是可以使用的
- 查看rpm包的安装文件和路径:
rpm -qpl httpd-2.4.51-20.oe2203sp2.x86_64.rpm
- 安装rpm:
rpm -ivh httpd-2.4.51-20.oe2203sp2.x86_64.rpm
- 删除rpm:
rpm -e httpd-2.4.51-20.oe2203sp2.x86_64.rpm
- 升级rpm:
rpm -Uvh httpd-2.4.51-20.oe2203sp2.x86_64.rpm
- 强制安装(忽略冲突和依赖包):
rpm -ivh --force --nodeps httpd-2.4.51-20.oe2203sp2.x86_64.rpm
- 不依赖强制卸载:
rpm -e --nodeps httpd-2.4.51-20.oe2203sp2.x86_64.rpm
搭建repo Server
- mount镜像:
mount /home/openEuler/openEuler-22.03-LTS-SP2-everything-x86_64-dvd.iso /mnt/
- 创建目录并拷贝数据:
mkdir -p /usr/share/nginx/repo;
cp -r /mnt/Packages /usr/share/nginx/repo;
cp -r /mnt/repodata /usr/share/nginx/repo;
cp -r /mnt/RPM-GPG-KEY-openEuler /usr/share/nginx/repo;
chmod -R 755 /usr/share/nginx/repo
- Nginx Server块配置
server {
listen 80;
server_name localhost; # 服务器名(url)
client_max_body_size 4G;
root /usr/share/nginx/repo; # 服务默认目录
location / {
autoindex on; # 开启访问目录下层文件
autoindex_exact_size on;
autoindex_localtime on;
}
}
- 使用本地repo
[base]
name=base
baseurl=file:///usr/share/nginx/repo
enabled=1
gpgcheck=1
gpgkey=file:///usr/share/nginx/repo/RPM-GPG-KEY-openEuler
- 使用远程repo
[base]
name=base
baseurl=http://192.168.139.209/
enabled=1
gpgcheck=1
priority=2
gpgkey=http://192.168.139.209/RPM-GPG-KEY-openEuler
- 其他
特殊配置:priority=2;使用的优先级,默认99,1为最高;
用户管理
- 添加用户:
useradd user1
相关文件/etc/passwd 和 /etc/shadow
- 删除用户:
usrdel user1
- 查看用户:
id user1
- 修改密码:
passwd user1
- 添加组:
groupadd group1
- 删除组:
groupdel group1
- 用户加入组:
gpasswd -a user1 group1
- 用户移除组:
gpasswd -d user1 group1
- 用户更改组:
newgrp group2
- 用户管理员权限:
/etc/sudoers
User_Alias ADMIN=ted1:POWERUSER=globus,ted2
ADMIN ALL=ALL
POWERUSER ALL=ALL,!/bin/su
User_Alias:定义了两个别名ADMIN和POWERUSER
ADMIN ALL=ALL:说明在所有主机上,ADMIN用户都可以以root身份执行所有命令
POWERUSER ALL=ALL,!/bin/su:给POWERUSER用户除了运行su命令外等同ADMIN的权限
进程管理
- 当前系统中的用户情况:
who
- 查看进程:
ps -eaf
或者ps aux
- 查看进程实时状态:
top
- 信号命令:
kill -9 a.exe
或者kill -l
- at命令:at
- cron命令: crontab
网络配置
配置IP地址–nmcli
nmcli是NetworkManager的一个命令行工具;
- 查看NetworkManager状态:
nmcli general status
- 显示所有连接:
nmcli connection show
或者nmcli connection show --active
- 显示由NetworkManager识别到的设备及其状态:
nmcli device status
- 启动和停止网络接口:
nmcli connection up id ens3s0
或者nmcli device disconnect ens3s0
- 静态配置IP地址:
nmcli con add type ethernet con-name net-static ifname ens35 ip4 192.168.0.10/24 gw4 192.168.0.254; nmcli con up net-static
接口没有地址,con up会异常; - 查看配置详情:
nmcli -p con show net-static
路由相关: - 配置静态路由:
nmcli connection modify enp3s0 +ipv4.routes "192.168.122.0/24 10.10.10.1"
配置IP地址–ip
- 配置IP:
ip address add 192.168.0.10/24 dev enp3s0
一个接口可配置多个IP - 配置静态路由:
ip route add 192.168.2.1 via 10.0.0.1 dev ens35
配置主机名
- 设置主机名:
hostnamectl set-hostname testcall
- nmcli获取主机名:
nmcli general hostname
- nmcli设置主机名:
nmcli general hostname host-server
并且systemctl restart systemd-hostnamed
配置聚合口
加载内核bonding模块:modprobe --first-time bonding;modinfo bonding
- 创建聚合口:
nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup
- 添加物理口到聚合口:
nmcli con add type bond-slave ifname enp3s0 master mybond0
- 先启动slave口:
nmcli con up bond-slave-enp3s0
- 再启动聚合口:
nmcli con up mybond0
IP地址配置特殊说明
- IPv6接口的MTU必须大于1280字节,否则会导致IPv6地址丢失;
- 网卡down掉之后,IPv6地址丢失:如果需要保留这些IPv6地址,可以通过“sysctl -w net.ipv6.conf.<网卡名>.keep_addr_on_down=1”来实现。
运维指南
性能相关
CPU
- vmstat 1
- 查看系统CPU的整体负载情况:
yum install -y sysstat;sar -u 3 5
- 查看系统中所有的进程:
ps -le
- 动态地持续监听进程的运行状态,显示最消耗CPU的进程:
top
Memory
- 显示系统内存状态:
free
- 动态地监控系统内存:
vmstat -a
- 监控系统的内存使用情况:
sar -r 2 3
每2秒统计一次,统计 3 次 - 查看NUMA节点配置和状态:
numactl -H
- 观察各个NUMA节点的状态:
numastat
Disk
- 详细显示磁盘信息:
iostat -d -k -x 1 100
- 查看系统磁盘的读写性能:
sar -d 3 5
- 磁盘相关统计信息:
vmstat -d
信息采集
OS
- 系统版本:
cat /etc/openEuler-latest
或者cat /etc/os-release
或者cat /etc/openEuler-release
- 内核版本信息:
uname -a
硬件信息
- cpu信息:
lscpu
或者cat /proc/cpuinfo
- 内存信息:
cat /proc/meminfo
或者dmidecode -t memory
- 磁盘信息:
lsblk
或者fdisk -l
- 网卡硬件:
lspci| grep -i eth
或者ip addr
或者ifconfig -a
- 查看网口详情:
ethtool ens34
- pci信息:
lspci
或者lspci -t
- bios信息:
dmidecode -t bios
软件包信息
- 软件包详细信息:
rpm -qi httpd
- 软件包提供的模块:
rpm -q --provides httpd
- 所有安装包:
rpm -qa
- 软件包文件列表:
rpm -ql httpd.rpm
OS日志
- cat /var/log/message
- cat /var/log/secure
- cat /var/log/maillog
- cat /var/log/cron
- cat /var/log/boot.log
- cat /var/log/spooler
故障应急
- 触发kdump重启:
echo 1 > /proc/sys/kernel/sysrq;echo c > /proc/sysrq-trigger
- 强制重启:
reboot -f
或者 iBMC强制下电重启 - 重启网络:
systemctl restart NetworkManager
- 修复文件系统:
此时一般会进入救援模式,在日志中查看是哪个文件系统路径损坏:journalctl -xb
修复前检查该分区是否已经挂载:cat /proc/mounts
卸载该目录:umount xx
若无法卸载,**kill**占用该目录的进程:lsof | grep xxx;kill xxx
执行fsck命令进行修复:fsck -y /dev/xxx
- dropcache:
sync;echo 3 > /proc/sys/vm/drop_caches
- 救援模式和单用户模式
救援模式
挂载openEuler 22.03 LTS SP2镜像进入救援模式。
选择Troubleshooting。
选择Rescue a openEuler system。
按提示操作进行。
1)Continue
2)Read-only mount
3)Skip to shell
4)Quit(Reboot)
单用户模式
在登录界面,输入字母e,进入grub界面,在linux行加入init=/bin/sh,按ctrl+x进入界面。
执行mount -o remount,rw /。
执行修改密码等操作。
exit退出。
特殊说明: openEuler的grub用户密码是: 用户名 root 密码 openEuler#12
常用工具
ftrace
strace
kdump
- 安装rpm:
yum install kernel-debuginfo-$(uname -r) kexec-tools crash -y
- 设置crash预留大小:
vim /etc/default/grub
crashkernel=1024M - 重新生成grub:
grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg;reboot
- 启动kdump:
systemctl start kdump;systemctl enable kdump;
- 触发panic:
# 设置软锁触发panic
echo 1 > /proc/sys/kernel/softlockup_panic
# 设置kernel遇到OOM触发panic
echo 1 > /proc/sys/vm/panic_on_oom
# 进程出现hang时引发panic
echo 1 > /proc/sys/kernel/hung_task_panic
# 进程hangtask机制超时时间设置
echo 60 > /proc/sys/kernel/kernel.hung_task_timeout_secs
- 调试:
crash {vmcore文件} {调试内核vmlinux}