openEuler
EulerOS 是华为自主研发的服务器操作系统,能够满足客户从传统 IT 基础设施到云计 算服务的需求。EulerOS 对 ARM64 架构提供全栈支持,打造完善的从芯片到应用的一体 化生态系统。EulerOS,以 Linux 稳定系统内核为基础,支持鲲鹏处理器和容器虚拟化技 术,是一个面向企业级的通用服务器架构平台。2021 年 11 月 9 日,在北京举行的 2021 操作系统产业峰会上,华为发布最新的欧拉 系统(openEuler),并将 openEuler 捐赠给中国开放原子开源基金会(OpenAtom Foundation)负责孵化及运营。
openEuler-22.03-LTS-SP3 官方文档
https://docs.openeuler.org/zh/docs/22.03_LTS_SP3/docs/Quickstart/quick-start.html
openEuler-22.03-LTS-SP3 iso 镜像下载
https://mirror.sjtu.edu.cn/openeuler/openEuler-22.03-LTS-SP3/ISO/x86_64/openEuler-22.03-LTS-SP3-x86_64-dvd.iso
openEuler-22.03-LTS-SP3快速入门文档
https://docs.openeuler.org/zh/docs/22.03_LTS_SP3/docs/Quickstart/quick-start.html#%E5%90%AF%E5%8A%A8%E5%AE%89%E8%A3%85
openEuler 系统安装
1,Install openEuler 22.03-LTS-SP3
按键盘的上键,选择到第一个,Install openEuler 22.03-LTS-SP3,敲回车键
2,安装语言选择中文
3,选择安装目标位置
Automatic 自动分区,Custom 自定义分区,选择自定义分区
4,LVM 自动创建分区
选择LVM 自动创建分区,生产环境推荐使用LVM磁盘分区模式
5,选择系统安装类型
openEuler 系统安装分为三种类型Minimal Install、Server、Virtualization Host ,使用 Minimal Install 安装,选择安装"Development Tools" 组工具包
6,选择时间和日期
7,选择语言
8,设置账户信息
默认没有启用root账户,选择"启动root账户(E)"设置密码
创建openeuler账户(可选)
9,安装信息摘要
键盘、安装源、语言、时间等默认即可,网络和主机名可在系统部署完成设置
10,安装完成 reboot 重启系统
输入root账户密码登录系统
系统网络配置
查看网络
ip add show 或 ip -4 a
编辑网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=static
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.188.235
PREFIX=24
GATEWAY=192.168.188.1
DNS1=223.5.5.5
DNS2=223.6.6.6
重启网卡生效网络配置
nmcli connection reload
nmcli connection up ens160
DNS
vim /etc/resolv.conf
nameserver 223.5.5.5
nameserver 223.6.6.6
设置主机名
hostnamectl set-hostname openeuler02
bash
关闭SELINUX
(默认关闭状态,修改selinux 需要重启系统生效)
cat /etc/selinux/config
查看系统版本信息
cat /etc/os-release
查看内核版本
uname -a
uname -r
systemctl 服务管理
查看firewalld服务状态
systemctl status firewalld
停止firewalld服务
systemctl stop firewalld
firewalld 服务关闭开机启动
systemctl disable firewalld
重启firewalld服务
systemctl restart firewalld
firewalld 服务设置开机启动
systemctl enable firewalld
查询开机服务项
(enabled:开机自启动","disabled:未开机自启动")
systemctl list-unit-files | grep enabled
查询nginx服务开机服务项状态
systemctl list-unit-files | grep nginx
ps (Process Status)
ps(Process Status)命令用于查看当前系统中的进程及其状态。ps命令广泛用于监控系统运行时的进程和资源占用情况,以及用于性能分析和故障排除。
a
表示显示所有进程。u
表示以用户为主的格式显示进程信息。x
表示包括没有控制终端的进程。c
表示显示进程的真正的命令名,而不显示完整路径或参数。ps参数介绍:
CPU消耗资源前5个进程
ps auxc |head -n 1 && ps hauxc | sort -k3,3nr | head -n 5
内存消耗资源前5个进程
ps auxc |head -n 1 && ps hauxc | sort -k4,4nr | head -n 5
top
top 命令是Unix/Linux系统中一个非常实用的实时监控工具,它提供了一个持续更新的进程和系统资源占用情况的实时视图。top 命令的界面分为两部分:上半部分显示系统整体的资源占用情况,包括CPU、内存(物理和交换)、运行时间、负载平均值等;下半部分则显示各个进程的详细信息,如进程ID、用户、优先级、虚拟内存占用、物理内存占用、CPU占用率等。
Tasks(任务)信息:
total
:系统中总的进程数。running
:当前正在运行的进程数。sleeping
:当前处于休眠状态的进程数,这些进程不是在运行也不是在运行队列中。stopped
:被暂停或中止的进程数。zombie
:僵尸进程数,这些进程已经结束,但是其父进程还没有调用 wait()
来读取进程的退出状态。CPU信息:
us
(user):用户态的CPU使用时间百分比,不包括 nice 值为负的进程。sy
(system):内核态的CPU使用时间百分比。ni
(nice):用户态的CPU使用时间百分比,仅计算 nice 值为负的进程。id
(idle):空闲的CPU时间百分比。wa
(iowait):等待输入/输出的CPU时间百分比。hi
(hardware interrupt):处理硬件中断的CPU时间百分比。si
(software interrupt):处理软件中断的CPU时间百分比。st
(steal time):虚拟化环境中,虚拟CPU等待实际CPU时间的时间百分比。Mem(内存)信息:
total
:系统总的物理内存量。used
:已使用的内存量。free
:未被使用的空闲内存量。buffers
:被分配作为缓存的内存量(用于磁盘缓存等)。Swap(交换空间)信息:
total
:总的交换空间量。used
:已使用的交换空间量。free
:未被使用的交换空间量。cached
:被分配作为缓存的交换空间量。
top
命令的快捷键和功能说明
t
:切换显示或隐藏CPU状态栏。m
:切换显示或隐藏内存状态栏。P
:按CPU使用率排序。M
:按内存使用率排序。T
:按运行时间排序。N
:按PID排序(默认方式)。k
:杀死进程。按下此键后需要输入要终止的进程的PID以及发送的信号值(默认为15,即SIGTERM)。r
:重新调整(renice)一个进程的优先级。按下此键后需要输入要调整的进程的PID及新的nice值。z
:切换彩色显示。c
:切换显示命令名称和完整命令行。V
:树状显示进程。u
:过滤显示特定用户的进程。n
或 #
:设置显示的进程数量。d
或 s
:更改屏幕刷新的间隔时间。l
:切换显示或隐藏平均负载和启动时间信息。W
:将当前 top
配置保存为用户配置文件(~/.toprc
)。q
:退出 top
。DNF
DNF (全称为Dandified yum)是新一代的rpm软件包管理器,取代yum工具。DNF包管理器是Linux系统的常用工具,它可以帮助用户实现快速、高效的软件安装。
查看系统中可用的 DNF 软件库
dnf repolist
查看系统中可用和不可用的所有的 DNF 软件库
dnf repolist all
列出所有 RPM 包
dnf list
dnf list |grep nginx
列出所有安装了的 RPM 包
dnf list installed
列出所有可供安装的 RPM 包
dnf list available
搜索软件库中的 RPM 包
dnf search nginx
反查软件包名称
dnf provides snmpwalk
查看软件包详情
dnf info nginx
安装软件包
dnf install nginx
删除软件包
dnf remove nginx
删除缓存的无用软件包
dnf clean all
查看 DNF 命令的执行历史
dnf history
查看所有的软件包组
dnf grouplist
从特定的软件包库安装特定的软件
dnf --disablerepo '*' --enablerepo=extras install nginx
重新安装特定软件包
dnf reinstall nginx
Firewall 防火墙
Firewall 区域介绍(接口默认属于public区域)
Firewalld 服务管理
systemctl start firewalld 启动
systemctl enable firewalld 开机启动
systemctl stop firewalld 关闭
systemctl disable firewalld 取消开机启动
systemctl status firewalld 状态
查看 firewall 状态
firewall-cmd --state
查看规则列表
firewall-cmd --list-all
重载规则生效
firewall-cmd --reload
--参数
策略超时时间,到期后自动移除,用于调试,不能与 --permanent 同时使用
zone
获取 zone 列表
firewall-cmd --get-zones
设置默认 zone
firewall-cmd --set-default-zone=public
查看默认zone
firewall-cmd --get-default-zone
指定网卡 zone
firewall-cmd --zone=public --add-interface=lo
更改网卡 zone
firewall-cmd --zone=trusted --change-interface=lo
删除网卡 zone
firewall-cmd --zone=trusted --remove-interface=lo
查看系统网卡所在的 zone
firewall-cmd --get-active-zones
service
查看 service 列表
firewall-cmd --get-services
查看 zone service
firewall-cmd --list-services --zone=public
放行 http 服务
firewall-cmd --zone=public --add-service=http --permanent
删除 http 服务
firewall-cmd --zone=public --remove-service=http --permanent
port
查看 zone port
firewall-cmd --zone=public --list-ports
放行80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
删除 80 端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
rich-rule
查看 rich-rule
firewall-cmd --list-rich-rules --zone=public
允许、禁止IP访问
(1)允许 rich-rule ip
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.99.0/24" accept'
(2)禁止 rich-rule ip
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.99.188" drop'
(3)删除 rich-rule ip
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.99.188" drop'
允许、禁止IP+Port 访问
(1) 允许ip + port
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.99.188" port protocol="tcp" port="22" accept'
(2)禁止 rich-rule ip + port
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.99.188" port protocol="tcp" port="22" drop'
(3)删除 rich-rule ip + port
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.99.188" port protocol="tcp" port="22" drop'
禁止 rich-rule icmp(禁止ICMP echo请求)
(1)拒绝ICMP
firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'
(2)拒绝IP网段ICMP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" protocol value="icmp" drop'
(3)删除rich-rule icmp
firewall-cmd --permanent --remove-rich-rule='rule protocol value=icmp drop'
Chrony 时钟
Chrony是一个开源自由的网络时间协议 NTP 的客户端和服务器软件。它能让计算机保持系统时钟与时钟服务器(NTP)同步,让计算机保持精确的时间,Chrony也可以作为服务端软件为其他计算机提供时间同步服务。
chronyd官方文档
https://chrony.tuxfamily.org/documentation.html
安装chronyd
dnf install chrony
chronyd配置文件
vim /etc/chrony.conf
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
local stratum 10
logdir /var/log/chrony
启动chronyd服务
systemctl start chronyd && systemctl enable chronyd
查看时间同步状态
timedatectl status
开启网络时间同步
timedatectl set-ntp true
chrony 常用命令
查看 ntp_servers
chronyc sources -v
查看 ntp_servers 状态
chronyc sourcestats -v
查看 ntp_servers 是否在线
chronyc activity -v
查看 ntp 详细信息
chronyc tracking -v
强制同步下系统时钟
chronyc -a makestep