yum、rpm、apt 和 dpkg以及添加软件源
软件包工具
yum 和 rpm
# rpm(Red Hat Package Manager)
- 用途: 主要用于管理 Red Hat 系列发行版(如 RHEL、CentOS、Fedora)中的软件包。
- 功能:
- 安装、卸载、升级和查询 RPM 软件包。
- 不处理软件包的依赖关系。
- 常见用法:
- 安装软件包:
sudo rpm -i package.rpm
- 卸载软件包:
sudo rpm -e package
- 升级软件包:
sudo rpm -U package.rpm
- 查询已安装的软件包:
rpm -qa
# yum(Yellowdog Updater, Modified)
- 用途: 基于 RPM 的包管理工具,用于 Red Hat 系列发行版。
- 功能:
- 处理软件包的依赖关系。
- 从指定的软件源(仓库)下载和安装软件包。
- 支持组包安装、自动升级、查询等功能。
- 常见用法:
- 更新仓库索引:
sudo yum update
- 安装软件包:
sudo yum install package
- 卸载软件包:
sudo yum remove package
- 列出可用的软件包:
yum list available
- 查找软件包:
yum search package
apt 和 dpkg
# dpkg(Debian Package)
- 用途: 主要用于管理 Debian 系列发行版(如 Debian、Ubuntu)中的软件包。
- 功能:
- 安装、卸载、升级和查询 DEB 软件包。
- 不处理软件包的依赖关系。
- 常见用法:
- 安装软件包:
sudo dpkg -i package.deb
- 卸载软件包:
sudo dpkg -r package
- 查询已安装的软件包:
dpkg -l
# apt(Advanced Package Tool)
- 用途: 基于 DEB 的包管理工具,用于 Debian 系列发行版。
- 功能:
- 处理软件包的依赖关系。
- 从指定的软件源(仓库)下载和安装软件包。
- 提供高级功能,如自动升级、组包管理等。
- 常见用法:
- 更新仓库索引:
sudo apt update
- 升级所有软件包:
sudo apt upgrade
- 安装软件包:
sudo apt install package
- 卸载软件包:
sudo apt remove package
- 修复依赖关系:
sudo apt-get install -f
- 搜索软件包:
apt search package
联系
1. 依赖管理: yum 和 apt 都能够自动处理软件包的依赖关系,而 rpm 和 dpkg 不具备此功能。
2. 包管理类型:
- rpm 和 yum 主要用于 Red Hat 系列发行版。
- dpkg 和 apt 主要用于 Debian 系列发行版。
3. 低级与高级工具: rpm 和 dpkg 是低级工具,直接操作软件包文件。而 yum 和 apt 是高级工具,提供更高层次的依赖管理和仓库管理功能。
总结
- rpm 和 dpkg: 基本包管理工具,不处理依赖关系。
- yum 和 apt: 高级包管理工具,处理依赖关系并管理仓库。
软件源添加
在Ubuntu和Red Hat(或其衍生版如CentOS)中添加软件源(也称为仓库或repo)的过程略有不同。下面我会分别解释如何在这两种系统上操作。
Ubuntu
在Ubuntu中,你通常使用apt包管理器来管理软件源。以下是添加新软件源的步骤:
打开终端。
编辑软件源列表:
使用你喜欢的文本编辑器(如nano、vi或gedit)编辑/etc/apt/sources.list文件或创建一个新的.list文件在/etc/apt/sources.list.d/目录下。
例如,要编辑sources.list文件,你可以使用以下命令:
sudo nano /etc/apt/sources.list
或者在/etc/apt/sources.list.d/目录下创建一个新的.list文件:
sudo nano /etc/apt/sources.list.d/new-repo.list
添加软件源:
在编辑器中,添加新的软件源行。每一行通常包含一个仓库的URL和相关的发行版/组件信息。例如:
deb http://example.com/ubuntu/ stable main
deb-src http://example.com/ubuntu/ stable main
这里,deb表示二进制包,而deb-src表示源代码包。
保存并关闭文件。
更新包列表:运行以下命令以获取新的软件源列表:
sudo apt update
安装软件:现在你可以使用apt命令来安装来自新软件源的软件了。
sudo apt install package-name
Red Hat(及其衍生版如CentOS)
在Red Hat及其衍生版中,你通常使用yum(在较新版本中可能是dnf)和.repo文件来管理软件源。以下是添加新软件源的步骤:
打开终端。创建新的.repo文件:
在/etc/yum.repos.d/目录下创建一个新的.repo文件。例如,要创建一个名为new-repo.repo的文件,你可以使用以下命令:
sudo nano /etc/yum.repos.d/new-repo.repo
编辑.repo文件:
在编辑器中,添加新的软件源信息。一个.repo文件可以包含一个或多个[repository]部分,每个部分定义了一个软件源。例如:
[new-repo]
name=New Repository
baseurl=http://example.com/redhat/
enabled=1
gpgcheck=0
这里,name是软件源的名称,baseurl是软件源的URL,enabled=1表示启用该软件源,gpgcheck=0表示在安装软件时不进行GPG签名检查(出于安全考虑,通常建议将其设置为1,并导入相应的GPG密钥)。
保存并关闭文件。
清除缓存并更新软件源:
如果你使用的是yum,运行以下命令:
sudo yum clean all
sudo yum makecache
如果你使用的是dnf,运行以下命令:
sudo dnf clean all
sudo dnf makecache
安装软件:现在你可以使用yum或dnf命令来安装来自新软件源的软件了。
sudo yum install package-name 或者 sudo dnf install package-name
浙公网安备 33010602011771号