首頁>技術>

簡介

在Linux上,安裝軟體的方式一般有幾種:系統包管理器安裝、原始碼編譯、二進位制包,還有現在桌面系統用比較多的Snap、AppImage、Flatpak等。

Linux包管理DPKG

dpkg是Debian系的包管理系統,包字尾名是.deb。

apt命令可以快速安裝dpkg包,解決包與包的依賴關係。

常用命令:

# 從軟體源同步最新的軟體資訊並快取到本地apt update# 安裝指定的包,並同時安裝其依賴的其他包。apt install [package]# 更新軟體版本apt upgrade# 查詢軟體,沒有新增引數就是展示所有的軟體包,加關鍵字就是搜尋指定的包apt list zlib*# 列出已經安裝的軟體版本apt list --installed# 關鍵字搜尋軟體的名稱和描述apt search zlib*# 解除安裝包,但是配置檔案還是會儲存著apt remove [package]# 解除安裝包,並刪除配置檔案apt purge [package]# 解除安裝因安裝軟體自動安裝的依賴apt autoremove# 刪除所有已下載的軟體包apt clean# 類似clean,但刪除的是過期的包(即已不能下載或者是無用的包)apt autoclean
RPM

RPM是紅帽系的包管理系統,包字尾名是.rpm。

yum就是類似apt一樣的前端工具,可以很好地解決包與包之間的依賴關係。

dnf是yum的升級版本,是下一代的yum。dnf與yum的引數基本一致。

常用命令:

# 安裝軟體,-y 表示直接安裝不詢問yum -y install nginx# 重新安裝yum reinstall nginx# 查詢軟體yum list nginx# 檢視包組(後面不加組名,就會列出所有的組)yum grouplist#根據關鍵字查詢yum search nginx#根據檔案路徑查詢包名,如果不知道檔案具體路徑也可以用萬用字元進行匹配yum provides  /usr/bin/vimyum provides  */vim#檢查更新yum check-update# 更新軟體,如果不執行包名就是更新所有的包yum -y update#如果不更新指定的包可以使用-x引數yum -y update -x nginx# 解除安裝yum remove nginx# 解除安裝並刪除配置yum erase nginx#更新索引,可以加快查詢依賴包的速度yum makecache
Pacman

Pacman是Arch系的包管理系統,新版本包字尾名是.pkg.tar.zst,之前的版本是.pkg.tar.xz。

常用命令:

# 更新系統pacman -Syu#  將本地的包資料庫與遠端的倉庫進行了同步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 vimapk add --no-cache mysql-clientapk add docker --update-cache --repository http://mirrors.ustc.edu.cn/alpine/v3.4/main/ --allow-untrusted#安裝指定版本軟體包apk add asterisk=1.6.0.21-r0apk 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包管理器。

12
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Redis刪除策略及淘汰機制