1,458 瀏覽數

Linux – Package Manager 套件管理

Package Manager 套件管理

傳統的 Linux 下用來管理套件的是使用 rpm 但太多的相依性讓新的套件常常會因為套件的相依而無法使用,所以目前漸漸都改成為 yum (RedHat 或是 CentOS) 或是 apt-get (Ubuntu)

RPM

可以參考 RPM 套件管理 / Soruce RPM 或是圖形介面的 system-config-packages

  • 安裝:# rpm -ivh 套件名稱
  • 移除:# rpm -e 套件名稱
  • 升級:# rpm -Uvh 套件名稱 或是 # rpm -Fvh 套件名稱
  • 查詢:# rpm -q 套件名稱

YUM

  • 更新:#yum update 套件名稱
  • 安裝:#yum install 套件名稱
  • 移除:#yum remove 套件名稱
  • 搜尋:#yum search 套件名稱
  • 清除:#yum clean
    清除 /var/cache/yum 下載的暫存套件檔,使用 #yum clean all 可以一次就給他清乾淨
  • 更新:#yum list updates
    列出所有可供更新的套件
  • 已安裝:#yum list installed
    列出所有已經安裝的套件
  • 已安裝:#yum whatprovides “*command"
    查詢未安裝的程式是由哪一個套件裡提供的

APT

可以參考 apt 的詳細說明 http://benjr.tw/93967

  • 更新:#apt-get update
    更新 /etc/apt/sources.list 套件清單內容
  • 升級:#apt-get upgrade
    系統會依據 /etc/apt/sources.list 內容是更新套件 (需要透過 #apt-get update 來更新清單內容) ,但不執行套件移除 或是 更新沒有安裝過的套件.如果會影響到其它套件的相依性該套件也不會更新.
    .
  • 升級:#apt-get dist-upgrade
    系統會依據 /etc/apt/sources.list 內容是更新套件 (需要透過 #apt-get update 來更新清單內容) ,與 upgrade 不同的是 他會處理套件相依性的問題,系統如果有重要更新套件 (未安裝過的) 也會一併安裝,也有可能會移除一些套件.
  • 安裝:#apt-get install
    不用考慮到相依性的問題,系統會自行處理相依性問題.
  • 移除:#apt-get remove
    不用考慮到相依性的問題,系統會自行處理相依性問題.
  • 移除:#apt-get purge
    除了移除程式連設定檔會一併移除掉.
  • 清除:#apt-get clean
    清除位於 /var/cache/apt/archives 的下載暫存套件檔案.
  • 搜尋:#apt-cache search
  • 檢視套件:#apt-cache show
    可以顯示套件資訊,類似 #rpm -qi 的方式
  • 檢視套件:#apt-cache showpkg
    showpkg 跟 show 的作用有點像,在 man page 裡面可以看到這兩個的定義.
    showpkg – Show some general information for a single package
    show – Show a readable record for the package
    其實都是顯示套件內容但顯示會不一樣.都可以試著讀讀看.

如果你是要透過 Http-proxy 使用 apt-get 請參考 http://benjr.tw/91047

dpkg

下面列的幾個是常用的 dpkg 參數,更多的參數請參考 http://benjr.tw/94000

  • 安裝套件(等同 #rpm -i)
    # dpkg -i | –install < .deb file name>
  • 刪除套件,但保留設定檔(等同 #rpm -e)
    # dpkg -r|–remove < package >
  • 列出系統中所有已經安裝的套件(等同 #rpm -qa)
    # dpkg -l|–list [< pattern > …]
    後面可以加 pattern 來查詢單一套件,如果不確定套件名稱可以配合 grep 來查套件關鍵字查.

2 個網友的想法 “Linux – Package Manager 套件管理

  1. 自動參照通知: 透過 Http-proxy 使用 apt-get | Benjr.tw

  2. 自動參照通知: Linux – File | Benjr.tw

發表迴響