软件包管理系统

(重定向自軟體套件管理系統

软件包管理系统是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件应用软件的安装管理中均有广泛应用。

在Linux发行版中,几乎每一个发行版都有自己的软件包管理系统。常见的有:

使用软件包管理系统将大大简化在Linux发行版中安装软件的过程。

dpkg软件包管理系统编辑

dpkg是Debian Package的簡寫,由Debian发行版开发,用於安裝、卸載和供給和deb軟體包相關的信息。

使用dpkg的发行版编辑

使用dpkg的发行版主要是Debian以及它的衍生版如UbuntuLinux Mint等。

RPM软件包管理系统编辑

RPM,全称为Redhat Package Manager,是由Red Hat推出的软件包管理系统,现在在各种发行版中普遍使用。

使用RPM的发行版编辑

命令列表编辑

其中${PKG}或者%PKG%是软件包名。
操作zypper[1]pacmanaptdnf (yum)swupd[2]portageNixHomebrewWinGet
安装软件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}
(rmremove 或者 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 refpacman -Syapt updatednf check-updateswupd update --download 或者
swupd update --update-search-file-index
emerge --syncnix-channel --upgradebrew updatewinget list > NUL
显示可更新软件zypper lupacman -Quapt list --upgradablednf check-updateswupd update -s 或者
swupd check-update
emerge -avtuDN --with-bdeps=y @world or
emerge -u --pretend @world
(-D--deep的简写 ,
-u--update的简写。)
nix-channel --upgrade && \nix-env -u && \nix-collect-garbage
brew outdatedwinget upgrade
删除所有不再使用的依赖和配置文件zypper rm -upacman -Rsn $(pacman -Qdtq)apt autopurgednf erase ${PKG}
swupd bundle-remove --orphans && \swupd clean --all
emerge --depcleannix-collect-garbage -dbrew unlink ${PKG} && brew clean不適用
显示所有不再使用的依赖zypper pa --orphaned --unneededpacman -Qdtapt autoremove --assume-nopackage-cleanup -q --leaves --exclude-bin
(-q--quiet的简写。)
swupd bundle-list --orphansemerge -caD 或者
emerge --depclean --pretend
不適用不適用不適用
更新所有软件zypper uppacman -Syuapt upgradednf updateswupd updateemerge -u -D --with-bdeps=y @worldnix-env -u && nix-collect-garbagebrew upgradewinget upgrade --all

其他编辑

其他软件包管理系统有ArchLinux中使用的PacmanGentoo使用的基于源代码的PortageFreeBSD下的pkg,Mac系统下的Homebrew等。

参考文献编辑

  1. ^ documentation/sles11. en.opensuse.org. [2022-11-10]. (原始内容存档于2022-12-01). 
  2. ^ swupd-client/swupd.1.rst at master · clearlinux/swupd-client · GitHub. github.com. [2022-06-22]. (原始内容存档于2022-12-07) (英语).