第13章 安装软件

所属:第四部分 环境 来源:Linux命令速查手册

Linux主要有两大包管理体系:

  • RPM系:RedHat、CentOS、Fedora、openSUSE 等
  • DEB系:Debian、Ubuntu、Mint 等

RPM 系(RedHat / CentOS / Fedora)

13.1 为基于RPM的Linux系统安装软件

rpm -ivh package.rpm

直接安装RPM包文件。

  • -i 安装(install)
  • -v 显示过程(verbose)
  • -h 显示进度条(hash)

⚠️ 原始rpm不会自动解决依赖,缺依赖会报错。


13.2 删除基于RPM的Linux系统中的软件包

rpm -e package_name

卸载软件包(用包名,不是文件名)。


13.3 为基于RPM的Linux系统安装软件包及其依赖程序

yum(CentOS 7及以前)

yum install package_name

自动下载并安装软件包,自动处理依赖

dnf(Fedora / CentOS 8+)

dnf install package_name

yum的下一代替代品,用法基本一致,速度更快。


13.4 删除基于RPM的Linux系统中的软件包及其依赖程序

yum remove package_name
dnf remove package_name

卸载软件包。


13.5 升级基于RPM的Linux系统中的软件包及其依赖程序

yum update              # 更新所有软件
yum update package_name # 更新指定软件
dnf upgrade             # 更新所有

13.6 为基于RPM的Linux系统查找可供下载的软件包

yum search keyword
dnf search keyword

搜索软件仓库中的包。

查看包信息:

yum info package_name
dnf info package_name

列出已安装:

yum list installed
rpm -qa

DEB 系(Debian / Ubuntu)

13.7 为Debian安装软件包

dpkg -i package.deb

直接安装deb包文件。

⚠️ dpkg不会自动解决依赖。


13.8 删除Debian中的软件包

dpkg -r package_name

卸载软件(保留配置文件)。

连同配置一起删:

dpkg -P package_name

13.9 为Debian安装软件包及其依赖程序

apt-get install package_name
apt install package_name

apt自动下载安装,自动处理依赖

  • apt-get 传统命令,脚本中推荐
  • apt 新版命令,更友好,适合日常交互

安装本地deb并自动补依赖:

apt install ./package.deb

13.10 删除Debian中的软件包及其依赖

apt-get remove package_name
apt remove package_name

卸载软件,保留配置。

连同配置一起删除:

apt-get purge package_name
apt purge package_name

13.11 升级Debian中的软件包及其依赖

apt-get update          # 更新软件源缓存
apt-get upgrade         # 升级所有软件
apt update && apt upgrade
  • update 刷新软件包列表(不升级软件)
  • upgrade 实际升级软件

发行版升级:

apt-get dist-upgrade
apt full-upgrade

智能处理依赖变化,升级整个系统版本。


13.12 为基于Debian的Linux系统查找可供下载的软件包

apt-cache search keyword
apt search keyword

搜索软件包。

查看详细信息:

apt-cache show package_name
apt show package_name

查看是否已安装:

dpkg -l package_name
apt list --installed

13.13 清除Debian中不再需要的安装包

清理下载缓存

apt-get clean          # 清空全部缓存
apt-get autoclean      # 只删已失效的包
apt clean

删除无用依赖

apt-get autoremove
apt autoremove

自动卸载不再需要的依赖包。


13.14 处理apt相关的错误

修复依赖问题

apt-get -f install
apt --fix-broken install

修复损坏的依赖关系。

修复dpkg中断

dpkg --configure -a

上次安装意外中断后,恢复配置未完成的包。

常见排错步骤

# 1. 先更新源
sudo apt update
 
# 2. 修复依赖
sudo apt -f install
 
# 3. 修复dpkg
sudo dpkg --configure -a
 
# 4. 再尝试安装
sudo apt install package_name

13.15 小结

两大包管理体系对比

操作RPM系 (yum/dnf)DEB系 (apt)
安装软件yum install pkgapt install pkg
卸载软件yum remove pkgapt remove pkg
更新软件列表yum check-updateapt update
升级所有软件yum updateapt upgrade
搜索软件yum search kwapt search kw
查看包信息yum info pkgapt show pkg
清理缓存yum clean allapt clean
本地包安装rpm -ivh file.rpmdpkg -i file.deb
列出已安装rpm -qadpkg -l

底层工具 vs 高层工具

层级RPM系DEB系特点
底层rpmdpkg直接操作包,不解决依赖
高层yum / dnfapt / apt-get自动解决依赖,从仓库下载

日常使用高层工具(yum/dnf/apt)即可,只有特殊情况才用底层rpm/dpkg。


Linux Shell 软件安装 包管理 yum apt rpm dpkg dnf