天天看點

Linux軟體管理器(如何使用軟體管理器來管理軟體)

  1. 我們的Linux系統大部分都是某個Linux廠商的系統,是以這些廠商可以編譯好一些軟體來提供使用者下載下傳,使用者下載下傳完了之後就可以直接安裝,進而省去了編譯源碼及其過程中的各種問題。這時我們就可以使用相應的軟體管理器來操作軟體(下載下傳、安裝、删除)。

    我們使用的是Linux廠商的系統,即我們的系統和他們的系統是一樣的,是以他們編譯的軟體我們當然可以用。

    在安裝軟體的時候可以添加一些有關軟體的一些資訊,将這些資訊建立成資料庫,那麼就可以進行解除安裝、更新和驗證等相關操作了。(類似于windows下面的添加或删除程式)

       兩種常見的軟體管理機制:RPM( RedHat Package Manager)和DPKG

distribution代表       軟體管理機制           使用指令        線上更新機制(指令)(可以用來解決依賴問題)
     RedHat/Fedora              RPM               rpm,rpmbuild              YUM(yum)
     Debian/Ubuntu              DPKG              dpkg                       APT(apt-get)      
  1. RedHat、Fedora、Centos、SuSE等發行商使用的RPM機制;Debian、B2D、Ubuntu(派生于Debian,是以可以用于Debian想用的機制)使用的是DPKG。

    橫向比較:rpm/dpkg 不能用來解決包依賴,用來安裝、解除安裝、更新 ​​

    ​*.rpm 或者 *.ded​

    ​ 檔案
  2. RPM:RedHat Package Manager,

    以一種資料庫記錄方式安裝軟體的一套管理機制。

    RPM最大的一個特點就是将要安裝的軟體先編譯好并打包成RPM機制的安裝包,通過包裝好的軟體中預設的資料庫記錄這個軟體的依賴的軟體。

    優點:

    - 已經編譯且打包完畢,是以軟體的傳輸和安裝都很友善。(省去了編譯源碼的麻煩)

    - 軟體的 資訊都已記錄在資料庫中友善查詢、更新、解除安裝等操作。

    缺點:

    - RPM檔案已經是編譯好的檔案,那麼其中的資料就無法修改了。該軟體隻能安裝在原本預設的環境(硬體和作業系統)中,也就是說你的主機系統要和當初建立這個軟體的主機環境相同。

    - 是以,一個發行商的RPM檔案不能用在另一個不相同的發行商的系統上。比如說,RedHat推出的RPM無法直接SuSE上進行安裝。并且,很可能同一個發行商的不同版本的系統之間的RPM包也是無法相容的,例如,Centos4.x的RPM包無法直接應用在Centos5.x上

    總結:要想使用相同的RPM包最好做到:1、同一個系統的發行商的RPM 2、同一個發行商的系統版本最好也是相同的 3、最好是完全相同的一個系統

  • 軟體的安裝環境必須和當初編譯該軟體的機器的環境是一樣的或者時候相當的
  • 需要滿足依賴關系
  • 解除安裝的時候特别是不能先删除最底層的軟體,否則可能造成系統出問題
  1. apt-get:

    jack@jackvirtual:~$sudo apt-get install packagename #這裡是安裝packagename這個軟體,當使用這個指令的時候系統會去“下載下傳源”檔案中擷取下載下傳源位址然後去指定的地方下載下傳軟體

  2. 幾個指令:

    -dbkg: ​​​這裡詳細的介紹了dbkg的15個用法​​- dbkg -i packagename #安裝或者更新某個軟體,如果這個包沒有下載下傳的話那麼就會儲存,是以可以先使用wget指令下載下傳下來.deb軟體

- 這裡将下載下傳下來的軟體包重命名為flashplugin.deb,然後使用sudo dpkg -i flashplugin.deb安裝這個軟體
        - [flashplugin.deb的位址](http://archive.canonical.com/pool/partner/a/adobe-flashplugin/)
        - dpkg -l #列出所有安裝的軟體
        - dpkg -r `packagename_without_.deb`#解除安裝軟體軟體,這裡的軟體名不帶字尾
        - dpkg -R --install directory/          #安裝direcory目錄下的所有的*.deb軟體
        當提示有依賴錯誤時:apt-get -f -y install,之後再運作dpkg -i *.deb進行安裝

        - apt-get:[apt-get的介紹和用法](http://www.tecmint.com/useful-basic-commands-of-apt-get-and-apt-cache-for-package-management/)
        -  sudo apt-get install packagename1 packagename2 #安裝或者更新一個或多個軟體
        -  `sudo apt-get install '*name*'` #使用通配符安裝軟體
        -  sudo apt-get install packageName --only-upgrade #指定的軟體更新
        - sudo apt-get install packageName --no-upgrade  #不更新已經安裝的軟體
        - sudo apt-get install vsftpd=2.5.3-3ubuntu      #安裝指定版本的軟體
        - sudo apt-get remove packageName  #移除指定的軟體且不删除其配置檔案
        - sudo apt-get purge packageName   #移除指定檔案且删除其配置檔案,完全删除了這個檔案
        - sudo apt-get remove --purge packageName #跟上面的指令一樣
        - sudo apt-get --download-only source vsftpd #隻下載下傳指定軟體的源碼
        - sudo apt-get --compile source goaccess #下載下傳、解壓、編譯源碼一氣呵成
        - sudo apt-get source vsftpd #下載下傳并解壓一個包
        - sudo apt-get download nethogs #隻下載下傳不安裝
        - sudo apt-get upgrade #更新所有已經安裝的軟體
        - sudo apt-cache pkgnames#列出所有available軟體原文連結