歡迎來到藍隊云技術(shù)小課堂。
一、包管理概述
1.1 主要包管理系統(tǒng)
APT - Debian, Ubuntu, Mint
YUM/DNF - RHEL, CentOS, Fedora, Rocky Linux
Zypper - openSUSE, SUSE Linux
Pacman - Arch, Manjaro
Portage - Gentoo
RPM - 低級包管理器(Red Hat系)
DPKG - 低級包管理器(Debian系)
1.2 包管理基本操作流程
更新軟件源 → 搜索軟件包 → 安裝軟件包 → 升級軟件包 → 卸載軟件包
二、Debian/Ubuntu 系統(tǒng) (APT)
2.1 APT 基本概念
# APT 配置文件
/etc/apt/sources.list # 主軟件源列表
/etc/apt/sources.list.d/ # 額外軟件源目錄
/etc/apt/preferences # 軟件包優(yōu)先級配置
/var/lib/apt/lists/ # 軟件源緩存
/var/cache/apt/archives/ # 下載的包緩存
2.2 APT 基本操作
# 更新軟件包列表
sudo apt update # 更新軟件源信息
sudo apt update --fix-missing # 修復缺失的軟件源
# 升級軟件包
sudo apt upgrade # 升級所有可用軟件包
sudo apt full-upgrade # 完全升級(可能刪除不需要的包)
sudo apt dist-upgrade # 發(fā)行版升級
# 安裝軟件包
sudo apt install package # 安裝單個包
sudo apt install package1 package2 package3 # 安裝多個包
sudo apt install package=version # 安裝指定版本
sudo apt install ./package.deb # 安裝本地deb包
# 刪除軟件包
sudo apt remove package # 刪除軟件包但保留配置文件
sudo apt purge package # 完全刪除軟件包和配置文件
sudo apt autoremove # 刪除不再需要的依賴包
sudo apt autoclean # 清理舊的deb包緩存
sudo apt clean # 清理所有包緩存
# 搜索軟件包
apt search keyword # 搜索軟件包
apt search --names-only keyword # 只按包名搜索
apt show package # 顯示軟件包詳細信息
apt policy package # 顯示包版本策略
apt depends package # 顯示依賴關(guān)系
apt rdepends package # 顯示反向依賴
2.3 APT 高級功能
# 軟件源管理
sudo add-apt-repository ppa:user/ppa-name # 添加PPA源
sudo add-apt-repository --remove ppa:user/ppa-name # 刪除PPA
sudo apt-key add keyfile.asc # 添加GPG密鑰
sudo apt-key list # 列出GPG密鑰
sudo apt-key del fingerprint # 刪除GPG密鑰
# 包信息查詢
apt list --installed # 列出已安裝的包
apt list --upgradable # 列出可升級的包
apt list --all-versions # 列出所有版本
apt changelog package # 查看更新日志
apt source package # 下載源代碼
apt download package # 下載deb包不安裝
# 修復和診斷
sudo apt --fix-broken install # 修復損壞的依賴
sudo apt --fix-missing install # 修復缺失的依賴
sudo apt check # 驗證軟件包完整性
sudo apt install -f # 修復依賴問題
dpkg --configure -a # 配置未完成的包
2.4 APT-CACHE 工具
# 包緩存查詢
apt-cache search keyword # 搜索包
apt-cache show package # 顯示包信息
apt-cache showpkg package # 顯示包詳細信息
apt-cache depends package # 顯示依賴
apt-cache rdepends package # 顯示反向依賴
apt-cache policy package # 顯示安裝策略
apt-cache stats # 顯示統(tǒng)計信息
apt-cache pkgnames # 列出所有包名
2.5 DPKG 底層管理
# 安裝和管理deb包
sudo dpkg -i package.deb # 安裝deb包
sudo dpkg -r package # 刪除包(保留配置)
sudo dpkg -P package # 完全刪除包
dpkg -l # 列出所有已安裝的包
dpkg -L package # 列出包安裝的文件
dpkg -S /path/to/file # 查找文件屬于哪個包
dpkg -s package # 顯示包狀態(tài)
dpkg -c package.deb # 查看deb包內(nèi)容
dpkg --configure -a # 配置所有未完成的包
dpkg --get-selections # 獲取包選擇狀態(tài)
dpkg --set-selections < file # 從文件恢復包選擇
三、RedHat/CentOS/Fedora 系統(tǒng) (YUM/DNF)
3.1 YUM 基本操作 (CentOS 7及以前)
# 更新和升級
yum check-update # 檢查可用更新
yum update # 更新所有包
yum update package # 更新指定包
yum upgrade # 升級系統(tǒng)
# 安裝軟件包
yum install package # 安裝包
yum install package-version # 安裝指定版本
yum localinstall package.rpm # 安裝本地rpm包
yum reinstall package # 重新安裝包
# 刪除軟件包
yum remove package # 刪除包
yum autoremove # 刪除不需要的依賴
yum erase package # 完全刪除包
# 搜索和查詢
yum search keyword # 搜索包
yum info package # 顯示包信息
yum list # 列出所有包
yum list installed # 列出已安裝的包
yum list available # 列出可用的包
yum list updates # 列出可更新的包
yum list extras # 列出已安裝但不在倉庫的包
yum deplist package # 顯示包依賴
yum provides /path/to/file # 查找文件屬于哪個包
yum whatprovides filename # 同上
yum history # 查看yum歷史
yum history info ID # 查看歷史詳細信息
yum history undo ID # 撤銷歷史操作
3.2 DNF 基本操作 (CentOS 8+/Fedora 22+)
# DNF 是 YUM 的下一代版本
# 基本語法與YUM兼容,但功能更強大
# 更新和升級
dnf check-update # 檢查更新
dnf update # 更新所有包
dnf upgrade # 升級系統(tǒng)
dnf update --security # 只更新安全補丁
# 安裝軟件包
dnf install package # 安裝包
dnf install package-version # 安裝指定版本
dnf install @group # 安裝包組
dnf reinstall package # 重新安裝
# 刪除軟件包
dnf remove package # 刪除包
dnf autoremove # 自動刪除不需要的包
dnf erase package # 完全刪除
# 搜索和查詢
dnf search keyword # 搜索包
dnf info package # 包信息
dnf list # 列出包
dnf list installed # 已安裝的包
dnf list available # 可用的包
dnf list updates # 可更新的包
dnf repoquery -l package # 列出包文件
dnf repoquery --whatprovides filename # 文件屬于哪個包
dnf repoquery --requires package # 包依賴
dnf repoquery --whatrequires package # 被哪些包依賴
dnf history # 操作歷史
dnf history undo ID # 撤銷操作
3.3 YUM/DNF 倉庫管理
# 倉庫配置目錄
/etc/yum.repos.d/ # YUM倉庫配置文件
/etc/dnf/dnf.conf # DNF主配置文件
# 查看倉庫
yum repolist # 列出所有倉庫
yum repolist enabled # 列出啟用的倉庫
yum repolist disabled # 列出禁用的倉庫
dnf repolist # DNF列出倉庫
dnf repolist --enabled # 列出啟用的倉庫
# 管理倉庫
yum-config-manager --add-repo URL # 添加倉庫
yum-config-manager --enable repo # 啟用倉庫
yum-config-manager --disable repo # 禁用倉庫
dnf config-manager --add-repo URL # DNF添加倉庫
dnf config-manager --set-enabled repo # 啟用倉庫
dnf config-manager --set-disabled repo# 禁用倉庫
# 清理緩存
yum clean all # 清理所有緩存
yum clean packages # 清理包緩存
yum clean metadata # 清理元數(shù)據(jù)
yum clean expire-cache # 清理過期緩存
dnf clean all # DNF清理所有緩存
dnf makecache # 創(chuàng)建元數(shù)據(jù)緩存
3.4 RPM 底層管理
# RPM 包安裝和管理
rpm -ivh package.rpm # 安裝rpm包
rpm -Uvh package.rpm # 升級rpm包
rpm -e package # 卸載rpm包
rpm -e --nodeps package # 強制卸載(忽略依賴)
# 查詢包信息
rpm -qa # 列出所有安裝的rpm包
rpm -q package # 查詢包是否安裝
rpm -qi package # 顯示包信息
rpm -ql package # 列出包安裝的文件
rpm -qc package # 列出包配置文件
rpm -qd package # 列出包文檔文件
rpm -qf /path/to/file # 查詢文件屬于哪個包
rpm -q --whatprovides filename # 提供文件的包
rpm -q --whatrequires package # 依賴此包的包
rpm -q --requires package # 顯示包依賴
rpm -q --changelog package # 顯示更新日志
# 驗證包
rpm -V package # 驗證包完整性
rpm -Va # 驗證所有包
rpm --checksig package.rpm # 驗證包簽名
rpm --import RPM-GPG-KEY # 導入GPG密鑰
藍隊云官網(wǎng)上擁有完善的技術(shù)支持庫可供參考,大家可自行查閱,更多技術(shù)問題,可以直接咨詢。同時,藍隊云整理了運維必備的工具包免費分享給大家使用,需要的朋友可以直接咨詢。
更多技術(shù)知識,藍隊云期待與你一起探索。