首先我们需要了解的是包管理器上层 dnf/apt 解决依赖关系从仓库下载包调用底层工具。底层工具下层 rpm/dpkg 真正执行安装、卸载、查询等实际操作。对比项DNF / YUMAPT发行版RHEL、CentOS、RockyDebian、Ubuntu包格式rpmdpkg仓库配置/etc/yum.repos.d//etc/apt/sources.list命令格式dnf installapt install一、dnf 包管理器操作命令说明安装软件dnf install nginx安装并解决依赖删除软件dnf remove nginx删除软件包更新软件dnf update nginx更新指定包更新系统dnf update更新所有包搜索软件dnf search nginx按关键字搜索查看信息dnf info nginx显示包详细信息查看已安装dnf list installed列出已安装包查看可用dnf list available列出可用包包组操作dnf groupinstall Development Tools安装包组示例# 安装软件 dnf -y install vim bash-completion dnf -y install nginx # 删除软件 dnf remove nginx # 更新软件 dnf update nginx # 搜索 dnf search nginx dnf provides */netstat # 查找提供某文件的包 dnf provides */rz # 查找提供某文件的包 # 查看信息 dnf info nginx #查看版本 dnf list nginx --showduplicates # 查看所有版本 # 查看历史 dnf history dnf history undo 5 # 撤销第5次操作 # 清理缓存 dnf clean all二、dnf 包组管理# 查看所有包组 dnf group list # 查看包组详情 dnf group info Development Tools # 安装包组 dnf groupinstall Development Tools # 安装开发工具常用 dnf groupinstall -y Development Tools dnf install -y gcc gcc-c make cmake三、apt 包管理器操作命令说明更新源apt update更新软件包列表升级软件apt upgrade升级所有软件安装软件apt install nginx安装软件包删除软件apt remove nginx删除保留配置彻底删除apt purge nginx删除包括配置文件搜索软件apt search nginx按关键字搜索查看信息apt show nginx显示包详细信息自动删除apt autoremove删除不需要依赖示例# 更新软件源 apt update # 升级所有软件【慎重】 apt upgrade -y # 安装软件 apt install -y nginx # 删除软件 apt remove nginx # 保留配置文件 apt purge nginx # 删除配置文件 # 搜索 apt search nginx apt list nginx --all-versions # 查看信息 apt show nginx apt depends nginx # 查看依赖我依赖谁 apt rdepends nginx # 查看反向依赖谁依赖我 # 自动清理 apt autoremove # 删除无用的依赖包 apt autoclean # 删除无用的缓存文件两者都不影响安装的软件四、本地 RPM/DEB 安装#安装本地rpm包 # -i: install安装 -v: verbose显示详情 -h: hash显示进度 rpm -ivh nginx-1.20.128.el9_8.2.rocky.0.1.x86_64.rpm error: Failed dependencies: nginx-core 2:1.20.1-28.el9_8.2.rocky.0.1 is needed by nginx-2:1.20.1-28.el9_8.2.rocky.0.1.x86_64 nginx-filesystem 2:1.20.1-28.el9_8.2.rocky.0.1 is needed by nginx-2:1.20.1-28.el9_8.2.rocky.0.1.x86_64 system-logos-httpd is needed by nginx-2:1.20.1-28.el9_8.2.rocky.0.1.x86_64 ls nginx-1.20.1-28.el9_8.2.rocky.0.1.x86_64.rpm nginx-filesystem-1.20.1-28.el9_8.2.rocky.0.1.noarch.rpm nginx-core-1.20.1-28.el9_8.2.rocky.0.1.x86_64.rpm rocky-logos-httpd-90.17-1.el9.noarch.rpm rpm -ivh *.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:nginx-filesystem-2:1.20.1-28.el9_################################# [ 25%] 2:nginx-core-2:1.20.1-28.el9_8.2.ro################################# [ 50%] 3:rocky-logos-httpd-90.17-1.el9 ################################# [ 75%] 4:nginx-2:1.20.1-28.el9_8.2.rocky.0################################# [100%] 查询 rpm -qa # 查询所有已安装包 rpm -q nginx # 查询指定包 rpm -ql nginx # 查询包安装的文件 rpm -qf /etc/nginx/nginx.conf # 查询文件属于哪个包 rpm -qi nginx # 查询包信息 删除 rpm -e nginx rpm -e nginx-filesystem nginx-core rocky-logos-httpd 校验 rpm -V nginx # 校验文件是否被修改# 安装本地deb包 dpkg -i wget_1.21.4-1ubuntu4.3_amd64.deb (Reading database ... 123343 files and directories currently installed.) Preparing to unpack wget_1.21.4-1ubuntu4.3_amd64.deb ... Unpacking wget (1.21.4-1ubuntu4.3) over (1.21.4-1ubuntu4.1) ... Setting up wget (1.21.4-1ubuntu4.3) ... Processing triggers for install-info (7.1-3build2) ... Processing triggers for man-db (2.12.0-4build2) ... ls nginx_1.24.0-2ubuntu7.13_amd64.deb nginx-common_1.24.0-2ubuntu7.13_all.deb dpkg -i nginx_1.24.0-2ubuntu7.13_amd64.deb dpkg -i nginx_1.24.0-2ubuntu7.13_amd64.deb nginx-common_1.24.0- 2ubuntu7.13_all.deb 查询 dpkg -l # 列出所有已安装包 dpkg -l | grep nginx # 查询指定包 dpkg -L nginx # 查询包安装的文件 dpkg -S /etc/nginx/nginx.conf # 查询文件属于哪个包 dpkg -s nginx # 查询包信息 删除 dpkg -r nginx # 删除保留配置 dpkg -P nginx # 彻底删除删除配置五、dnf 仓库管理# 查看仓库 dnf repolist dnf repolist --all # 禁用/启用仓库 dnf --disablerepobaseos install nginx dnf --enablerepoepel install certbot六、apt 仓库管理# 查看当前源列表 cat /etc/apt/sources.list # Ubuntu sources have moved to /etc/apt/sources.list.d/ubuntu.sources ls /etc/apt/sources.list.d/ ubuntu.sources ubuntu.sources.curtin.orig cat /etc/apt/sources.list.d/ubuntu.sources Types: deb URIs: http://cn.archive.ubuntu.com/ubuntu/ Suites: noble noble-updates noble-backports Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg Types: deb URIs: http://security.ubuntu.com/ubuntu/ Suites: noble-security Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg 更新软件源 apt update七、Rocky 与 Ubuntu常用命令对比八、镜像源替换要想下载速度快这时我们需要使用国内镜像源来下载我们这里将使用阿里云源进行替换.cat /etc/yum.repos.d/rocky.repo EOF [baseos] nameRocky Linux $releasever - BaseOS baseurlhttps://mirrors.aliyun.com/rockylinux/$releasever/BaseOS/$basearch/os/ gpgcheck1 enabled1 countme1 metadata_expire6h gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-$releasever [appstream] nameRocky Linux $releasever - AppStream baseurlhttps://mirrors.aliyun.com/rockylinux/$releasever/AppStream/$basearch/os/ gpgcheck1 enabled1 countme1 metadata_expire6h gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-$releasever [extras] nameRocky Linux $releasever - Extras baseurlhttps://mirrors.aliyun.com/rockylinux/$releasever/extras/$basearch/os/ gpgcheck1 enabled1 countme1 metadata_expire6h gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-$releasever EOF有些包的安装需要额外的仓库所以我们需要安装一个附加仓库。# 安装 EPEL 源 dnf -y install epel-release # 阿里云 EPEL 源 sudo cat /etc/yum.repos.d/epel.repo EOF [epel] nameExtra Packages for Enterprise Linux $releasever - $basearch baseurlhttps://mirrors.aliyun.com/epel/$releasever/Everything/$basearch/ enabled1 gpgcheck1 gpgkeyhttps://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-$releasever EOF上一篇https://blog.csdn.net/weixin_65758790/article/details/163281490?spm1001.2014.3001.5501