常用技能

配置网络

  1. 配置IP地址

使用IP命令为接口配置地址,interface-name为网卡名称。

ip addr [ add | del ] address dev interface-name
  1. 配置静态地址
# 配置设置IP地址
ip address add 192.168.0.10/24 dev enp3s0

# 查看配置结果,在root权限使用如下命令
ip addr show dev enp3s0

# 结果如下
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:aa:ad:4a brd ff:ff:ff:ff:ff:ff
inet 192.168.202.248/16 brd 192.168.255.255 scope global dynamic noprefixroute enp3s0
valid_lft 9547sec preferred_lft 9547sec
inet 192.168.0.10/24 scope global enp3s0
valid_lft forever preferred_lft forever
inet6 fe80::32e8:cc22:9db2:f4d4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
  1. 配置静态路由

静态路由,可使用 ip route add 命令在路由表中添加,使用 ip route del 命令删除。常用的 ip route 命令格式如下:

ip route [ add | del | change | append | replace ] destination-address
  • 在主机地址中添加一个静态路由,在 root 权限下,使用以下命令格式:
ip route add 192.168.2.1 via 10.0.0.1 [dev interface-name]
  • 在网络中添加一个静态路由,在root权限下运行以下命令格式:
ip route add 192.168.2.0/24 via 10.0.0.1 [dev interface-name]
  1. 通过ifcfg文件配置网络

通过在root权限下修改ifcfg文件实现,在/etc/sysconfig/network-scripts/目录中生成名为ifcfg-enp4s0的文件中,修改参数配置,示例如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.0.10
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp4s0static
UUID=xx
DEVICE=enp4s0
ONBOOT=yes

管理RPM包

RPM的全名是Red Hat Package Manager,本意是Red Hat 软件包管理。在openEuler、Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。

RPM以数据库记录的方式将需要的软件安装到Linux主机的一套管理程序,特点是将要安装的软件先编译并打包,通过包装好的软件中默认的数据库记录,记录这个软件在安装的时候需要的依赖属性模块,在用户的Linux主机安装时,RPM会先根据软件里的记录数据,查询Linux主机的依赖属性软件是否满足,

  • 若满足则予以安装。
  • 若不满足则不安装。安装时将该软件的信息全部写入RPM的数据库中以便后续查询、验证与卸载。

zh-cn_other_0000001337581224

  1. rpm包默认安装路径

通常情况下,RPM采用系统默认的安装路径(默认安装路径可以通过命令查询,后续章节中将会详细介绍),所有安装文件都会按照类别分散到如下表格所示的目录中。

表 1 RPM安装路径及其含义

安装路径含义
/etc/配置文件安装目录。
/usr/bin/可执行命令安装目录。
/usr/lib/程序所使用的函数库保存位置。
/usr/share/doc基本软件使用手册保存位置。
/usr/share/man/帮助文件保存位置。

注意: RPM包支持手动制定安装路径,但此方式不推荐使用。通过手动制定安装路径后,所有的安装文件会集中安装到指定位置,且系统中用来查询安装路径的命令也无法使用(需手动配置才能被系统识别)。

  1. rpm命令选项

操作1. 软件包RPM签名检查

Linux机器安装RPM包之前,需要检查PGP签名,确保签名的完整性和来源无问题后,使用RPM命令中的以下选项来验证有效性。

rpm --checksig nano-2.3.1-10.el7.x86_64.rpm

操作2. 安装RPM包

Linux系统中安装RPM包时,请在rpm命令中使用 -i 选项。

rpm -ivh nano-2.3.1-10.el7.x86_64.rpm
  • -i : 安装软件包
  • -v: 详细信息
  • -h: 套件安装时列出标记

操作3. 查询已安装的RPM包

查询Linux系统中已经安装的RPM包(dnf),可以在rpm命令中使用 -q 选项。

rpm -q dnf
  • -q: 查询操作

如果系统为未安装给定的包,会出现以下错误信息。

zh-cn_image_0000001387961737

操作4. 查询所有已安装的RPM包

查询Linux系统中安装的所有RPM包,请在rpm命令中使用 -qa 选项。

注意:一般在使用 -qa 选项时,会配合管道符 “|” 一起使用,提升查找的准确率。

操作5. 查看已安装的RPM包详细信息

在rpm命令中使用 -qi 选项来验证系统中安装的RPM包的详细信息。

zh-cn_image_0000001337422904

操作6. 查看RPM包所有文件

查看RPM包的文件列表,可以在rpm命令中使用 -qlp 选项。

zh-cn_image_0000001387902849

操作7. 查看RPM包依赖项

查看给定RPM包编译的依赖包列表,可以在rpm命令中使用 -qRp 选项

zh-cn_image_0000001337424024

操作8. 验证所有已安装的RPM包

验证已安装的RPM包时,将包中安装的文件信息与rpm数据库中存储的包元数据中获取的文件的信息进行比较,可以通过在rpm命令中使用 -Va 选项。

zh-cn_image_0000001388184025

rpm -Va命令相关输出字段及其含义:

字段含义
S文件长度发生变化。
M件的访问权限或文件类型发生变化。
5MD5校验和发生变化。
D设备节点的属性发生变化。
L文件的符号链接发生变化。
U文件/子目录/ 设备节点的owner发生变化。
G文件/子目录/ 设备节点的group发生变化。
T文件最后一次的修改时间是发生变化。

操作9. 查看特定文件的RPM包

在Linux上找到一个提供特定二进制文件的RPM包,可以在rpm命令中使用 -qf 选项。

zh-cn_image_0000001337424304

操作10. 查看已安装RPM包中的文件

查看特定RPM包的安装文件列表,可以在rpm命令中使用 -ql 选项。

zh-cn_image_0000001388024321

操作11. 查看最近安装的RPM包

Linux是一个多用户操作系统,在使用过程中,其他用户可能已经安装了部分软件包。如需在系统中找到最近安装的包,可以在rpm命令中使用 -qa –last 选项。

zh-cn_image_0000001337584296

操作12. 只查看已安装RPM包的文档

可以从Linux Man页面获得任何命令的帮助(/usr/share/doc/Package_Name-Version_Number/docs* 文档存放路径),查看安装的RPM包相关联的文档列表,请在rpm命令中使用 -qdf 选项,并输入二进制文件路径

zh-cn_image_0000001387784693

操作13. 升级已安装的RPM包

通过使用 -Uvh 选项和rpm命令,可以轻松地将已经安装的rpm包升级到最新版本

zh-cn_image_0000001388024397

注意:升级安装的RPM包时,会删除旧RPM包,安装新RPM包。

操作14. 移除已安装的RPM包

删除安装在系统上的rpm包,请在rpm命令中使用 -ev-e 选项

rpm -ev pkgship

操作15. 重建损坏的RPM数据库

在尝试使用yum update命令更新系统时,可能会收到一条错误消息(RPM数据库已损坏),如果收到该信息,请在RPM命令中使用 –rebuilddb 选项

rm /var/lib/rpm/__db*
rpm --rebuilddb

操作16. 检查特定包的漏洞是否已修复

可以通过在rpm命令中使用 –changelog 选项并输入相应的CVE来实现

rpm -q --changelog python-2.6.6 | grep -i "CVE-2019-9636"

操作17. 导入RPM GPG密钥

默认情况下,当向Linux系统添加新的存储库时,GPG密钥将自动导入。同时,也可在RPM命令中添加** –import** 手动导入RPM GPG密钥,用于从存储库下载时检查包的完整性。

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-OpenEuler-22.03-LTS
  1. dnf命令

dnf命令及其相关概述

命令概述
repolist显示已配置的软件repo源。
installLinux上安装单个或多个软件包。
upgrade升级Linux上的一个或多个软件包。
list列出一个或一组软件包。
info显示关于软件包或软件包组的详细信息。
updateinfo显示关于包的公告信息。
search在软件包详细信息中搜索指定字符串。
check-update检查是否有软件包升级。
remove从系统中移除一个或多个软件包。
reinstall重装一个包。
downgrade降级软件包。
autoremove删除所有原先因为依赖关系安装的不需要的软件包。
distro-sync同步已经安装的软件包到最新可用版本。
makecache创建元数据缓存。
repository-package对指定仓库中的所有软件包运行命令。
provides查找提供指定内容的软件包。
group显示或使用组信息。
history显示或使用事务历史
clean删除已缓存的数据。

操作1. 已配置的软件repo

显示已配置的软件仓库,默认添加 –enabled 选项(显示启用的仓库)

zh-cn_image_0000001337427216

  • –all: 显示所有的软件仓库
  • –disabled: 显示被禁用的软件仓库
  • –enabled: 显示已经启用的仓库(默认)

操作2. 安装单个或多个软件包

通过install 命令可以安装RPM包。

zh-cn_image_0000001337747132

安装软件包的过程中可能会存在冲突的包或无法安装的包,可以在命令中增加 –allowerasing 来替换冲突的软件包或 –skip-broken 来跳过无法安装的软件包。

zh-cn_image_0000001387787605

当使用dnf安装软件包时,通过添加 –installroot 设置软件包安装的根目录。

zh-cn_image_0000001387907229

需要临时制定特定的repo源安装时,可以添加 –setopt=reposdir= 选项来指定repo源的加载目录。

zh-cn_image_0000001337427392

在安装选项时,不需要交互式确认时,可以通过添加 -y–assumeyes 使需要安装的软件包全部自动应答为

zh-cn_image_0000001387907229

指定特定的repo源安装rpm包时,可以通过指定 –repo–enablerepo 选项。为了达到相同的效果,也可以通过使用 –disablerepo 选项来禁用匹配的repo源,此处推荐您使用–repo选项来安装RPM包。

zh-cn_image_0000001388187325

操作3. 重新安装软件包

系统上的软件包需要执行重新安装操作时,可以执行 reinstall 命令。

zh-cn_image_0000001387908045

操作4. 升级一个或多个软件包

  • 通过 upgrade 升级Linux上的一个或多个软件包。

zh-cn_image_0000001388028161

  • 也可以通过 update 来升级一个或多个软件包。

zh-cn_image_0000001337268560

操作5. 软件包降级

当软件包版本过高发生兼容性问题时,可以采用降级的方式解决。

zh-cn_image_0000001337748300

操作6. 列出一个或一组软件包

罗列系统中已安装的软件包和配置的repo仓中存在的软件包列表,可以使用 list 命令。

zh-cn_image_0000001337268820

可以通过添加选项过滤显示的包列表

  • –all: 显示所有的软件包(默认)
  • –available: 只显示可用的软件包
  • –installed: 只显示已安装的软件包
  • –extras: 只显示额外的软件包
  • –updates: 只显示需要被升级的软件包
  • –upgrades: 只显示需要被升级的软件包
  • –autoremove: 只显示需要被删除的软件包
  • –recent: 限制最近被改变的软件包

操作7. 查看软件包详细信息

查看软件包的详细信息时,可以使用 info 命令。

zh-cn_image_0000001388188365

操作8. 搜索软件包

如需在系统中安装软件包,但不确定软件包全称时,可使用search 命令查找匹配的包。

zh-cn_image_0000001387908453

操作9. 卸载一个或多个软件包

删除已过期或重复的软件包时,可使用 remove命令移除一个软件包。

zh-cn_image_0000001388028537

  • –duplicates: 删除已安装(重复)的软件包
  • –oldinstallonly: 移除过期的“仅安装”软件包

操作10. 自动删除因为依赖关系安装的软件包

删除因为依赖关系安装的不需要的软件包时,可使用 autoremove 命令。

zh-cn_image_0000001337748528

配置SSH

  1. SSH服务介绍

SSH(Secure Shell)是目前较可靠,专为远程登录会话和其他网络服务提供安全性保障的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。透过SSH可以对所有传输的数据进行加密,并防止DNS欺骗和IP欺骗。OpenSSH是SSH协议的免费开源实现。

  1. 配置SSH服务
# 打开并修改/etc/ssh/sshd_config文件
vi /etc/ssh/sshd_config

# 重新启动SSH服务
systemctl restart sshd

# 检查SSH服务状态
systemctl status sshd
  1. SSH服务配置文件主要选项
# 指定SSH协议版本(Specify SSH Protocol Version)
Protocol 2

# 允许的用户(Allowed Users)
AllowUsers xxx

# 被拒绝的用户(Denied Users)
DenyUser root

# 配置会话超时(Configure Session Timeout)
ClientAliveInterval 120

# 禁用SSH根登录(Disable SSH Root Login)
PermitRootLogin no

# 配置或更改SSH端口号(Configure or Change SSH Port Number)
Port 1234

# 禁用SSH密码身份验证 (Disable SSH Password Authentication)
PasswordAuthentication no

文档捉虫

“有虫”文档片段

问题描述

提交类型 issue
有点复杂...
找人问问吧。
PR
小问题,全程线上修改...
一键搞定!
问题类型
规范和低错类

● 错别字或拼写错误;标点符号使用错误;

● 链接错误、空单元格、格式错误;

● 英文中包含中文字符;

● 界面和描述不一致,但不影响操作;

● 表述不通顺,但不影响理解;

● 版本号不匹配:如软件包名称、界面版本号;

易用性

● 关键步骤错误或缺失,无法指导用户完成任务;

● 缺少必要的前提条件、注意事项等;

● 图形、表格、文字等晦涩难懂;

● 逻辑不清晰,该分类、分项、分步骤的没有给出;

正确性

● 技术原理、功能、规格等描述和软件不一致,存在错误;

● 原理图、架构图等存在错误;

● 命令、命令参数等错误;

● 代码片段错误;

● 命令无法完成对应功能;

● 界面错误,无法指导操作;

风险提示

● 对重要数据或系统存在风险的操作,缺少安全提示;

内容合规

● 违反法律法规,涉及政治、领土主权等敏感词;

● 内容侵权;

您对文档的总体满意度

非常不满意
非常满意
提交
根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。