dnf 包管理工具
dnf 是 yum 的升级版,与 yum 相比提升了性能,也提供了一些新功能。在 CentOS8 和 RHEL8 中默认使用 dnf 作为包管理工具。它的命令跟 yum 类似,下面是一些常用的命令。
- 安装软件包
 
1
   | sudo dnf install package-name
   | 
 
- 搜索软件包
 
- 列出已安装的软件包
 
- 升级软件包
 
- 删除软件包
 
1
   | sudo dnf remove package-name
   | 
 
- 列出可用软件组
 
- 安装软件组
 
1
   | sudo dnf group install package-group
   | 
 
- 清理缓存
 
- 查看软件包信息
 
1
   | sudo dnf info package-name
   | 
 
EPEL 存储库
EPEL(Extra Packages for Enterprise Linux) 是针对企业级Linux发行版(如 CentOS、RHEL)的一个社区维护的软件包存储库。EPEL 存储库中包含了一些额外的软件包,这些软件包在原始发行版的 Linux 存储库中可能没有包含,但在企业环境中非常有用。比如咱们常用的 Redis、Nginx。在这里可以查看 epel 有哪些软件包:https://rhel.pkgs.org/8/epel-x86_64/8/
用 yum 或 dnf 安装 epel 存储库
1 2
   | sudo yum install epel-release sudo dnf install epel-release
   | 
 
systemctl 管理工具
systemctl 是一个用于管理系统服务的命令行工具,用于替代传统的 init 系统。它有以下常用的命令
systemctl start service_name: 启动一个服务。 
systemctl stop service_name: 停止一个服务。 
systemctl restart service_name: 重启一个服务。 
systemctl reload service_name: 重新加载服务的配置。 
systemctl status service_name: 查看服务的状态信息。 
systemctl enable service_name: 设置服务在开机时自动启动。 
systemctl disable service_name: 禁用服务的开机自动启动。 
每一个服务在 /usr/lib/systemd/system 目录下都有一个 service 文件,service 文件中的 ExecStart 与 ExecStop 控制服务如何启动与停止。reload 功能由 systemctl 提供。
如果你要让 systemctl 管理自己的软件,同样需要在 /usr/lib/systemd/system 下创建自己的 service 文件,然后执行 sudo systemctl daemon-reload 命令使配置生效。
添加 sudo 用户与限制 root 登录
- 添加用户并加入 sudo 组
 
1 2 3
   | sudo useradd username sudo passwd username sudo usermod -aG wheel username
   | 
 
- 设置执行 sudo 命令不输入密码
 
1 2 3
   | sudo visudo # 或者 sudo vim /etc/sudoers 
   | 
 
	在编辑文件中加入这一行 username ALL=(ALL) NOPASSWD: ALL 
- 设置不允许 root 用户登录
 
1
   | sudo vim /etc/ssh/sshd_config
   | 
 
	找到并修改 PermitRootLogin no
	重启 sshd
1
   | sudo systemctl restart sshd
   |