完全用 GNU/Linux 工作

04. 套件管理 (Package Management)

有了網路我們就可以開始安裝套件,但要怎麼安裝套件也是門大學問,而且在不同的 GNU/Linux 發行版本 (Distribution) 中所使用的套件管理系統 (Package Management System) 也不同。Debian 血統上常用的有 dpkg, apt 和 aptitude,Red Hat 血統上常用的有 rpm 和 yum。(圖形界面中也有不少套件管理員可使用,在此凍仁就不多加贅述)。

這些指令與前文 (03. 網路設定) 提到的套件庫 (package reopsiroty) 一詞是息息相關的,我們只需在本機下達安裝某套件的指令,它即會從網路上的套件庫下載並安裝套件;但前題是必須知道正確的套件名稱才行!其套件管理不外乎就是在做套件的搜尋安裝升級移除

2013-09-21-pms.png

▲ Debian/Ubuntu, CentOS/RHEL 上常見套件管理指令。

舉例說明

  1. 搜尋 (毋需管理者權限)。

     # Debian/Ubuntu
     aptitude search <package_name>
     apt-cache search <package_name>
     dpkg -l | grep <package_name>
    
     # CentOS/RHEL
     yum search <package_name>
     rpm -qa | grep <package_name>
    
  2. 安裝。

     # Debian/Ubuntu
     sudo aptitude install <package_name>
     sudo apt-get install <package_name>
     sudo dpkg -i <package_name>
    
     # CentOS/RHEL
     sudo yum install<package_name>
     sudo rpm -ivh    <package_name>
    
  3. 升級。

     # Debian/Ubuntu
     sudo aptitude upgrade <package_name>
     sudo apt-get upgrade <package_name>
    
     # CentOS/RHEL
     sudo yum update    <package_name>
     sudo rpm -Uvh    <package_name>
    
  4. 移除。

     # Debian/Ubuntu
     sudo aptitude remove <package_name>
     sudo apt-get remove    <package_name>
     sudo dpkg -r <package_name>
    
     # CentOS/RHEL
     sudo yum remove    <package_name>
     sudo rpm -e    <package_name>
    
  5. 版本查詢。

     # Debian/Ubuntu
     dpkg-query -W    <package_name>
    
     # CentOS/RHEL
     rpm -q <package_name>
    
  6. 從已安裝的套件中搜尋檔案。

     # Debian/Ubuntu
     $ dpkg -S <package_name>
     $ apt-file search filename <package_name>
    
     # CentOS/RHEL
     $ rpm -qf <package_name>
     $ yum whatprovides '*target/filename' <package_name>
    

話說套件管理的指令也不算少,凍仁強烈建議大家使用 aptitude 及 yum 來管理套件,其最棒的是它們會自行處理套件間的相依性,可減輕不少負擔。至於參數的部份,請先牢記 search, install, update, upgrade 和 remove。相信到這裡我們已可完成大部份的事情了。

資料來源

results matching ""

    No results matching ""