Linux常用包管理及命令
簡介
在Linux上,安裝軟件的方式一般有幾種:系統(tǒng)包管理器安裝、源碼編譯、二進制包,還有現(xiàn)在桌面系統(tǒng)用比較多的Snap、AppImage、Flatpak等。
Linux包管理
DPKG
dpkg是Debian系的包管理系統(tǒng),包后綴名是.deb。
apt命令可以快速安裝dpkg包,解決包與包的依賴關系。
常用命令:
- # 從軟件源同步最新的軟件信息并緩存到本地
 - apt update
 - # 安裝指定的包,并同時安裝其依賴的其他包。
 - apt install [package]
 - # 更新軟件版本
 - apt upgrade
 - # 查找軟件,沒有添加參數(shù)就是展示所有的軟件包,加關鍵字就是搜索指定的包
 - apt list zlib*
 - # 列出已經安裝的軟件版本
 - apt list --installed
 - # 關鍵字搜索軟件的名稱和描述
 - apt search zlib*
 - # 卸載包,但是配置文件還是會保存著
 - apt remove [package]
 - # 卸載包,并刪除配置文件
 - apt purge [package]
 - # 卸載因安裝軟件自動安裝的依賴
 - apt autoremove
 - # 刪除所有已下載的軟件包
 - apt clean
 - # 類似clean,但刪除的是過期的包(即已不能下載或者是無用的包)
 - apt autoclean
 
RPM
RPM是紅帽系的包管理系統(tǒng),包后綴名是.rpm。

yum就是類似apt一樣的前端工具,可以很好地解決包與包之間的依賴關系。
dnf是yum的升級版本,是下一代的yum。dnf與yum的參數(shù)基本一致。
常用命令:
- # 安裝軟件,-y 表示直接安裝不詢問
 - yum -y install nginx
 - # 重新安裝
 - yum reinstall nginx
 - # 查找軟件
 - yum list nginx
 - # 查看包組(后面不加組名,就會列出所有的組)
 - yum grouplist
 - #根據(jù)關鍵字查找
 - yum search nginx
 - #根據(jù)文件路徑查找包名,如果不知道文件具體路徑也可以用通配符進行匹配
 - yum provides /usr/bin/vim
 - yum provides */vim
 - #檢查更新
 - yum check-update
 - # 更新軟件,如果不執(zhí)行包名就是更新所有的包
 - yum -y update
 - #如果不更新指定的包可以使用-x參數(shù)
 - yum -y update -x nginx
 - # 卸載
 - yum remove nginx
 - # 卸載并刪除配置
 - yum erase nginx
 - #更新索引,可以加快查找依賴包的速度
 - yum makecache
 
Pacman
Pacman是Arch系的包管理系統(tǒng),新版本包后綴名是.pkg.tar.zst,之前的版本是.pkg.tar.xz。
常用命令:
- # 更新系統(tǒng)
 - pacman -Syu
 - # 將本地的包數(shù)據(jù)庫與遠程的倉庫進行了同步
 - pacman -Sy
 - pacman -Su
 - # 安裝包
 - pacman -S [package]
 - # 更新倉庫并安裝包
 - pacman -Sy [package]
 - # 更新本地包,一般用于降級,如果是url會自動去下載
 - pacman -U /var/cache/pacman/pkg/yay-10.1.2-1-x86_64.pkg.tar.zst
 - # 只刪除包,保留其全部已經安裝的依賴關系
 - pacman -R [package]
 - # 在刪除包的同時,刪除其所有沒有被其他已安裝軟件包使用的依賴關系
 - pacman -Rs [package]
 - #在刪除包的同時,刪除所有依賴這個軟件包的程序
 - pacman -Rsc [package]
 - # ]在刪除包時不檢查依賴
 - pacman -Rd [package
 - #在倉庫中搜索含關鍵字的包
 - pacman -Ss 關鍵字
 - # 搜索已安裝的包
 - pacman -Qs 關鍵字
 - #查看有關包的詳盡信息
 - pacman -Qi 包名
 - #列出該包的文件
 - pacman -Ql 包名
 - #只下載包,不安裝
 - pacman -Sw 包名
 - #清理未安裝的包文件,包文件位于 /var/cache/pacman/pkg/ 目錄
 - pacman -Sc
 - #清理所有的緩存文件
 - pacman -Scc
 
apk
Alpine使用apk進行包管理,通過apk –help命令查看完整的包管理命令。

常用命令:
- # 從遠程鏡像源中更新本地鏡像源索引
 - apk update:
 - # 安裝包
 - apk add openssh openntp vim
 - apk add --no-cache mysql-client
 - apk add docker --update-cache --repository http://mirrors.ustc.edu.cn/alpine/v3.4/main/ --allow-untrusted
 - #安裝指定版本軟件包
 - apk add asterisk=1.6.0.21-r0
 - apk add 'asterisk<1.6.1'
 - apk add 'asterisk>1.6.1'
 - # 卸載并刪除
 - apk del openssh openntp vim
 - #升級軟件
 - apk upgrade
 - #指定升級部分軟件包
 - apk add --upgrade busybox
 - #查找所以可用軟件包
 - apk search
 - #查找所以可用軟件包及其描述內容
 - apk search -v
 - #通過軟件包名稱查找軟件包
 - apk search -v 'nginx*'
 - #通過描述文件查找特定的軟件包
 - apk search -v -d 'docker'
 - #列出所有已安裝的軟件包
 - apk info
 - #顯示完整的軟件包信息
 - apk info -a zlib
 - #顯示指定文件屬于的包
 - apk info --who-owns /sbin/lbu
 
其他管理器
還有其他的包管理器,只是我沒用過。
Zypper 是openSUSE包管理器。 Portage是Gentoo包管理器。















 
 
 







 
 
 
 