rpm、yum、apt。三剑客。
一般来说,Linux 系统基本上可分为两大类:
而两个系列自带的软件管理工具、包安装工具不同。
rpm | yum | dpkg | apt | |
---|---|---|---|---|
所属系列 | RedHat 系 | RedHat 系 | Debian 系 | Debian 系 |
描述 | 包安装工具 | 依赖管理工具 | 包安装工具 | 依赖管理工具 |
rpm(redhat package manager)用于互联网下载包的打包及安装,用来管理各项套件的程序。
它操作以 .RPM 为扩展名的文件。类似 Windows 的 setup.exe。
rpm 原本由 RedHat 使用。由于它遵循 GPL 规则,且方便,功能强大,因而广受欢迎,逐渐受到其他发行版的采用,可以算是公认的行业标准。
rpm 包基本格式
例如 Firefox 的 rpm 包名:firefox-60.2.2-1.el7.centos.x86_64.rpm
i686、i386 表示 32 位系统,noarch 则表示通用。
基本语法:
rpm 选项
常用选项:
参数 | 说明 |
---|---|
-q 软件名 | 查询软件是否安装。 |
-qa | 查询所有已安装的软件列表。常搭配 grep 使用。 |
-qi 软件名 | 查询软件详细信息。 |
-ql 软件名 | 查询软件所有相关文件。 |
-qf 文件绝对路径 | 查询文件所属的软件。 |
示例:
# 查看是否安装了 firefox
方式一、 rpm -qa | grep firefox
方式二、 rpm -q firefox
# 查询 firefox 信息
rpm -qi firefox
# 查询 /etc/passwd 文件所属的软件包
rpm -qf /etc/passwd
基本语法:
rpm 选项 软件名
常用选项:
参数 | 说明 |
---|---|
-e | 卸载指定软件。 |
-e --nodeps | 强制卸载删除。(不推荐) |
基本语法:
rpm 选项 rpm包名
常用选项:
参数 | 说明 |
---|---|
-i | 安装。 |
-v | 安装时提供更多信息。 |
-h | 安装时显示进度。 |
安装软件时常用 -ivh。
示例:
# 卸载 firefox
rpm -e firefox
# 安装 firefox(需在当前文件夹准备相应 rpm 包)
rpm -ivh firefox-60.2.2-1.el7.centos.x86_64.rpm
yum(Yellow dog Updater, Modified)是一个 Shell 前端软件包管理器。基于 rpm,能够从指定的服务器自动下载 RPM 包并安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁。
基本语法:
yum 选项
常用选项:
参数 | 说明 |
---|---|
list | 列出所有可安裝的软件清单。(常搭配 grep 使用) |
search 软件名 | 查找相关可安裝的软件包信息。 |
check-update | 列出所有可更新的软件。 |
update [软件名] | 更新软件。如果不指定软件则是更新所有。 |
install 软件名 | 安装软件。 |
remove 软件名 | 卸载软件。 |
dpkg(Debian package),dpkg是Debian Linux系统用来安装、创建和管理软件包的实用工具。
它操作以 .DEB 为扩展名的文件。
dpkg 不常用。可由 apt 命令替代。这里只简单介绍
基本语法:
dpkg 选项
常用选项:
参数 | 说明 |
---|---|
-l | 列出已经安装的软件。 |
-i 软件包名 | 安装软件。 |
-r 软件包名 | 卸载软件(保留配置)。 |
-P 软件包名 | 卸载软件(不保留配置)。 |
apt(Advanced Packaging Tool)是一款安装包管理工具。可以管理 deb 软件包,进行软件的安装、删除、清理等。
apt-get 可能是最流行的APT交互工具,但是 apt 作为它的替代品正慢慢被推广。
类似于 Windows 中的软件管理工具。结合了 apt-get 和 apt-cache 工具中最常用的命令以及某些选项。
大多数 apt 命令必须以具有 sudo 特权的用户身份运行。也就是说如果不是管理员,每个命令前要加上 sudo。
当使用 apt 从网络下载软件包时,从 /etc/apt/ 目录下的 sources.list 文件中寻找服务器地址。默认从美国服务器下载。
如果下载速度慢,可以更换为国内镜像下载。
以清华大学镜像网站为例(https://mirrors.tuna.tsinghua.edu.cn/)具体步骤如下:
cp /etc/apt/sources.list /etc/apt/sources.list.bak
echo '' > sources.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
apt-get update
基本语法:
apt 选项
常用选项:
参数 | 说明 |
---|---|
show 软件名 | 显示软件具体信息。 |
search 软件名 | 查找某个软件包。 |
install 软件名 | 安装指定的软件。 |
remove 软件名 | 移除指定的软件。 |
list --installed | 列出所有已安装的软件。 |
update 软件名 | 更新指定的软件。 |
apt-get 可能是最流行的APT交互工具,但是 apt 作为它的替代品正慢慢被推广。
更新源:
apt-get update
安装软件:
apt-get install 软件名
卸载软件:
apt-get remove 软件名
重新安装软件:
apt-get install 软件名 --reinstall
安装相关的编译环境:
apt-get build-dep 软件名
更新已安装的软件:
apt-get upgrade
下载该软件包源代码:
apt-get source 软件名
搜索软件包:
apt-cache search 软件名
获取软件相关信息:
apt-cache show 软件名
我未成名卿未嫁,可能俱是不如人。
——《赠妓云英》(唐)罗隐