软件包管理系统
外观
	
	

| 此條目需要擴充。 (2010年7月11日) | 
软件包管理系统是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。
在Linux发行版中,几乎每一个发行版都有自己的软件包管理系统。常见的有:
- RPM套件管理員以及它的前端dnf(使用于Fedora、Red Hat Enterprise Linux 8、CentOS 8)、前端yum(使用于Red Hat Enterprise Linux、CentOS)、前端ZYpp(使用于openSUSE)、前端urpmi(使用于Mandriva Linux、Mageia)等。
使用软件包管理系统将大大简化在Linux发行版中安装软件的过程。
dpkg软件包管理系统
[编辑]dpkg是Debian Package的簡寫,由Debian发行版开发,用於安裝、卸載和供給和deb軟體包相關的信息。
使用dpkg的发行版
[编辑]使用dpkg的发行版主要是Debian以及它的衍生版如Ubuntu、Linux Mint等。
RPM软件包管理系统
[编辑]RPM,全称为Redhat Package Manager,是由Red Hat推出的软件包管理系统,现在在各种发行版中普遍使用。
使用RPM的发行版
[编辑]命令列表
[编辑]| 操作 | zypper[1] | pacman | apt | dnf (yum) | swupd[2] | portage | Nix | Homebrew | WinGet | 
|---|---|---|---|---|---|---|---|---|---|
| 安装软件 | zypper install ${PKG} | pacman -S ${PKG} | apt install ${PKG} | dnf install ${PKG} | swupd bundle-add ${PKG} | emerge ${PKG} | nix-env -i ${PKG} | brew install ${PKG} | winget install %PKG% | 
| 移除软件 | zypper remove ${PKG} | pacman -R ${PKG} | apt remove ${PKG} | dnf remove --nodeps ${PKG} | swupd bundle-remove ${PKG} | emerge -C ${PKG}或者emerge --unmerge ${PKG} | nix-env -e ${PKG} | brew rm ${PKG}( rm是remove或者uninstall的简写) | winget uninstall %PKG% | 
| 移除软件(包含其不再使用的依赖) | zypper rm -u --force-resolution ${PKG} | pacman -Rs ${PKG} | apt autoremove ${PKG} | dnf remove ${PKG} | swupd bundle-remove ${PKG} && \
swupd bundle-remove --orphans
 | emerge -c ${PKG}或者emerge --depclean ${PKG} | nix-env -e ${PKG} && nix-env -u | brew rm ${PKG} && \
brew autoremove
 | winget uninstall %PKG% | 
| 更新本地软件源数据库 | zypper ref | pacman -Sy | apt update | dnf check-update | swupd update --download或者swupd update --update-search-file-index | emerge --sync | nix-channel --upgrade | brew update | winget list > NUL | 
| 显示可更新软件 | zypper lu | pacman -Qu | apt list --upgradable | dnf check-update | swupd update -s或者swupd check-update | emerge -avtuDN --with-bdeps=y @worldoremerge -u --pretend @world( -D是--deep的简写 ,-u是--update的简写。) | nix-channel --upgrade && \
nix-env -u && \
nix-collect-garbage
 | brew outdated | winget upgrade | 
| 删除所有不再使用的依赖和配置文件 | zypper rm -u | pacman -Rsn $(pacman -Qdtq) | apt autopurge | dnf erase ${PKG} | swupd bundle-remove --orphans && \
swupd clean --all
 | emerge --depclean | nix-collect-garbage -d | brew unlink ${PKG} && brew clean | 不適用 | 
| 显示所有不再使用的依赖 | zypper pa --orphaned --unneeded | pacman -Qdt | apt autoremove --assume-no | package-cleanup -q --leaves --exclude-bin( -q是--quiet的简写。) | swupd bundle-list --orphans | emerge -caD或者emerge --depclean --pretend | 不適用 | 不適用 | 不適用 | 
| 更新所有软件 | zypper up | pacman -Syu | apt upgrade | dnf update | swupd update | emerge -u -D --with-bdeps=y @world | nix-env -u && nix-collect-garbage | brew upgrade | winget upgrade --all | 
其他
[编辑]其他软件包管理系统有ArchLinux中使用的Pacman,Gentoo使用的基于源代码的Portage,FreeBSD下的pkg,Mac系统下的Homebrew等。
参考文献
[编辑]- ^ documentation/sles11. en.opensuse.org. [2022-11-10]. (原始内容存档于2022-12-01).
- ^ swupd-client/swupd.1.rst at master · clearlinux/swupd-client · GitHub. github.com. [2022-06-22]. (原始内容存档于2022-12-07) (英语).
 
	


