軟體套件管理系統
此條目需要擴充。 (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 @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中使用的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) (英語).