软件通常都是存放在存储库中,并通过包的形式进行分发。处理包的工作被称为包管理。
转载于 https://linux.cn/article-8782-1.html
1.目前现有的系统和对应的打包工具
操作系统 | 格式 | 工具 |
---|---|---|
Debian | .deb | apt , apt-cache , apt-get , dpkg |
Ubuntu | .deb | apt , apt-cache , apt-get , dpkg |
CentOS | .rpm | yum |
Fedora | .rpm | dnf |
FreeBSD | Ports, .txz | make , pkg |
2.更新已安装的包
系统 | 命令 | 说明 |
---|---|---|
Debian / Ubuntu | sudo apt-get upgrade | 只更新已安装的包 |
sudo apt-get dist-upgrade | 可能会增加或删除包以满足新的依赖项 | |
sudo apt upgrade | 和 apt-get upgrade 类似 | |
sudo apt full-upgrade | 和 apt-get dist-upgrade 类似 | |
CentOS | sudo yum update | |
Fedora | sudo dnf upgrade | |
FreeBSD Packages | sudo pkg upgrade | |
FreeBSD Ports | less /usr/ports/UPDATING | 使用 less 来查看 ports 的更新提示(使用上下光标键滚动,按 q 退出)。 |
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a | 安装 portmaster 然后使用它更新已安装的 ports |
3.搜索某个包
系统 | 命令 | 说明 |
---|---|---|
Debian / Ubuntu | apt-cache search search_string | |
apt search search_string | ||
CentOS | yum search search_string | |
yum search all search_string | 搜索所有的字段,包括描述 | |
Fedora | dnf search search_string | |
dnf search all search_string | 搜索所有的字段,包括描述 | |
FreeBSD Packages | pkg search search_string | 通过名字进行搜索 |
pkg search -f search_string | 通过名字进行搜索并返回完整的描述 | |
pkg search -D search_string | 搜索描述 | |
FreeBSD Ports | cd /usr/ports && make search name=package | 通过名字进行搜索 |
cd /usr/ports && make search key=search_string | 搜索评论、描述和依赖 |
4.查看某个软件包的信息
系统 | 命令 | 说明 |
---|---|---|
Debian / Ubuntu | apt-cache show package | 显示有关包的本地缓存信息 |
apt show package | ||
dpkg -s package | 显示包的当前安装状态 | |
CentOS | yum info package | |
yum deplist package | 列出包的依赖 | |
Fedora | dnf info package | |
dnf repoquery --requires package | 列出包的依赖 | |
FreeBSD Packages | pkg info package | 显示已安装的包的信息 |
FreeBSD Ports | cd /usr/ports/category/port && cat pkg-descr |
5.从存储库安装包
系统 | 命令 | 说明 |
---|---|---|
Debian / Ubuntu | sudo apt-get install package | |
sudo apt-get install package1 package2 ... | 安装所有列出来的包 | |
sudo apt-get install -y package | 在 apt 提示是否继续的地方直接默认 yes | |
sudo apt install package | 显示一个彩色的进度条 | |
CentOS | sudo yum install package | |
sudo yum install package1 package2 ... | 安装所有列出来的包 | |
sudo yum install -y package | 在 yum 提示是否继续的地方直接默认 yes | |
Fedora | sudo dnf install package | |
sudo dnf install package1 package2 ... | 安装所有列出来的包 | |
sudo dnf install -y package | 在 dnf 提示是否继续的地方直接默认 yes | |
FreeBSD Packages | sudo pkg install package | |
sudo pkg install package1 package2 ... | 安装所有列出来的包 | |
FreeBSD Ports | cd /usr/ports/category/port && sudo make install | 从源码构建安装一个 port |
6.从本地文件系统安装一个包
系统 | 命令 | 说明 |
---|---|---|
Debian / Ubuntu | sudo dpkg -i package.deb | |
sudo apt-get install -y gdebi && sudo gdebi package.deb | 安装 gdebi ,然后使用 gdebi 安装 package.deb 并处理缺失的依赖 | |
CentOS | sudo yum install package.rpm | |
Fedora | sudo dnf install package.rpm | |
FreeBSD Packages | sudo pkg add package.txz | |
sudo pkg add -f package.txz | 即使已经安装的包也会重新安装 |
7.删除一个或多个已安装的包
系统 | 命令 | 说明 |
---|---|---|
Debian / Ubuntu | sudo apt-get remove package | |
sudo apt remove package | ||
sudo apt-get autoremove | 删除不需要的包 | |
CentOS | sudo yum remove package | |
Fedora | sudo dnf erase package | |
FreeBSD Packages | sudo pkg delete package | |
sudo pkg autoremove | 删除不需要的包 | |
FreeBSD Ports | sudo pkg delete package | |
cd /usr/ports/path_to_port && make deinstall | 卸载 port |
8.apt
命令
传统命令 | 等价的 apt 命令 |
---|---|
apt-get update | apt update |
apt-get dist-upgrade | apt full-upgrade |
apt-cache search string | apt search string |
apt-get install package | apt install package |
apt-get remove package | apt remove package |
apt-get purge package | apt purge package |