軟體套件管理系統

軟件包管理系統是在電腦中自動安裝、配製、卸載和升級軟件包的工具組合,在各種系統軟件應用軟件的安裝管理中均有廣泛應用。

在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] 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}
(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 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 @world or
emerge -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中使用的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) (英語).