服务器操作系统相关
系统包管理工具 dnf
DNF(Dandified Yum)是 Fedora、Red Hat Enterprise Linux(RHEL)以及其衍生版本(如 CentOS、AlmaLinux 等)上的包管理工具。DNF 是 YUM(Yellowdog Updater, Modified)的继任者,旨在解决 YUM 的一些性能和依赖性处理问题。
DNF 的特点
- 性能改进:相比 YUM,DNF 的依赖性解析速度更快,并且使用了更少的内存。
- 更好的依赖性处理:DNF 使用 libsolv 库来处理依赖性,能够更好地解决复杂的依赖性问题。
- 增强的插件系统:DNF 提供了一套灵活的插件系统,允许用户扩展其功能。
- 更友好的命令行界面:DNF 改进了命令行输出,使其更易于阅读和理解。
常用的 DNF 命令
以下是一些常用的 DNF 命令及其功能:
安装软件包
dnf install <package_name>例如,安装httpd(Apache HTTP Server):
dnf install httpd更新系统
dnf update更新所有安装的包到最新版本。
仅更新特定的软件包
dnf update <package_name>例如,仅更新httpd包:
dnf update httpd删除软件包
dnf remove <package_name>例如,删除httpd包:
dnf remove httpd列出可用的软件包
dnf list available列出已安装的软件包
dnf list installed搜索软件包
dnf search <keyword>例如,搜索包含httpd的包:
dnf search httpd显示软件包的信息
dnf info <package_name>例如,显示httpd包的信息:
dnf info httpd清理缓存
dnf clean all清理 DNF 的缓存,以释放磁盘空间。
其他常见操作
- 启用/禁用软件库(仓库)
dnf config-manager --set-enabled <repo_id>
dnf config-manager --set-disabled <repo_id>例如,启用epel库:
dnf config-manager --set-enabled epel- 查看历史记录
dnf history这会列出所有的安装、更新和删除操作的历史记录。
- 回滚到特定的事务
dnf history undo <transaction_id>例如,回滚事务 ID 为 5 的操作:
dnf history undo 5总结
DNF 是一个功能强大且高效的包管理工具,为用户提供了许多方便的命令来管理系统上的软件包。通过熟悉这些常用命令,用户可以更好地维护和操作基于 RPM 的软件包管理系统。
systemctl 命令
systemctl 是一个用于管理 systemd 服务和单元(units)的命令行工具。systemd 是现代 Linux 系统中广泛使用的初始化系统和服务管理器,负责启动和管理系统服务、挂载文件系统、管理设备和系统状态等。
常用的 systemctl 命令
服务管理
- 启动服务
systemctl start <service_name>例如,启动 httpd 服务:
systemctl start httpd- 停止服务
systemctl stop <service_name>例如,停止 httpd 服务:
systemctl stop httpd- 重启服务
systemctl restart <service_name>例如,重启 httpd 服务:
systemctl restart httpd- 重新加载服务配置
systemctl reload <service_name>例如,重新加载 httpd 服务的配置:
systemctl reload httpd- 查看服务状态
systemctl status <service_name>例如,查看 httpd 服务的状态:
systemctl status httpd- 启用服务(开机自启动)
systemctl enable <service_name>例如,启用 httpd 服务:
systemctl enable httpd- 禁用服务(取消开机自启动)
systemctl disable <service_name>例如,禁用 httpd 服务:
systemctl disable httpd- 查看服务是否启用
systemctl is-enabled <service_name>例如,查看 httpd 服务是否启用:
systemctl is-enabled httpd- 查看服务是否运行
systemctl is-active <service_name>例如,查看 httpd 服务是否正在运行:
systemctl is-active httpd系统状态
- 查看系统整体状态
systemctl status这会显示系统的整体状态,包括已启动的服务和失败的服务。
- 查看系统日志
journalctl这会显示系统的日志。您可以使用各种选项过滤日志,例如查看某个服务的日志:
journalctl -u <service_name>例如,查看 httpd 服务的日志:
journalctl -u httpd- 查看引导日志
journalctl -b这会显示当前引导过程的日志。
挂载管理
- 挂载文件系统
systemctl start <mount_name>.mount例如,挂载 /data:
systemctl start data.mount- 卸载文件系统
systemctl stop <mount_name>.mount例如,卸载 /data:
systemctl stop data.mount总结
systemctl 是管理 Linux 系统服务和单元的强大工具。通过熟悉上述命令,用户可以有效地控制和管理系统服务、查看系统状态和日志、以及管理挂载点和其他系统资源。
russ