运维小白学习记——05 软件包管理 首先我们需要了解的是包管理器上层 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

相关新闻

最新新闻

Office激活工具Ohook保姆级指南:4步零修改解锁Microsoft 365订阅版全部功能

Office激活工具Ohook保姆级指南:4步零修改解锁Microsoft 365订阅版全部功能

Office激活工具Ohook保姆级指南:4步零修改解锁Microsoft 365订阅版全部功能 【免费下载链接】ohook An universal Office "activation" hook with main focus of enabling full functionality of subscription editions 项目地址: https://gitcode.com/…

2026/8/13 14:29:44
一份Outfit字体落地手记:免费几何无衬线字体的选型、安装与调优

一份Outfit字体落地手记:免费几何无衬线字体的选型、安装与调优

一份Outfit字体落地手记:免费几何无衬线字体的选型、安装与调优 【免费下载链接】Outfit-Fonts The most on-brand typeface 项目地址: https://gitcode.com/gh_mirrors/ou/Outfit-Fonts 我接下一个咖啡馆点单小程序的改版需求,界面重画了两版&am…

2026/8/13 14:29:44
终极AVIF图像压缩实战:libavif从安装到上手的完整指南

终极AVIF图像压缩实战:libavif从安装到上手的完整指南

终极AVIF图像压缩实战:libavif从安装到上手的完整指南 【免费下载链接】libavif libavif - Library for encoding and decoding .avif files 项目地址: https://gitcode.com/gh_mirrors/li/libavif 你有没有遇到过这样的时刻:一张照片从相机里导出…

2026/8/13 14:29:44
FlicFlac 音频转换实战:一个便携小工具搞定 7 种格式互转

FlicFlac 音频转换实战:一个便携小工具搞定 7 种格式互转

FlicFlac 音频转换实战:一个便携小工具搞定 7 种格式互转 【免费下载链接】FlicFlac Tiny portable audio converter for Windows (WAV FLAC MP3 OGG APE M4A AAC) 项目地址: https://gitcode.com/gh_mirrors/fl/FlicFlac 说个几乎人人都踩过的坑&#xff1…

2026/8/13 14:29:44
10分钟上手Orgmanager:从安装到邀请GitHub成员的快速入门教程

10分钟上手Orgmanager:从安装到邀请GitHub成员的快速入门教程

10分钟上手Orgmanager:从安装到邀请GitHub成员的快速入门教程 【免费下载链接】badgemagic-art Invite System for GitHub Organizations https://orgmanager.herokuapp.com 项目地址: https://gitcode.com/gh_mirrors/orgm/badgemagic-art Orgmanager是一款…

2026/8/13 14:29:44
Input Leap 完整上手指南:一套键鼠无缝控制多台电脑的免费开源 KVM 软件

Input Leap 完整上手指南:一套键鼠无缝控制多台电脑的免费开源 KVM 软件

Input Leap 完整上手指南:一套键鼠无缝控制多台电脑的免费开源 KVM 软件 【免费下载链接】input-leap Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/in/input-leap 想象一下这样的早晨:你在 Windows 台式机上写完代码&…

2026/8/13 14:24:43