2009年11月6日 星期五

Linux deb dpkg apt 使用講解


================================================
Linux deb dpkg apt 使用講解
by AYO 阿佑

================================================
前言:

AYO阿佑 這次來講說,Linux 世界中,有一種工具叫做 APT,
這個是 Linux 套件安裝、升級、更新 的方法之一,
源自於 德國 Linux Debian,
現在 Ubuntu、FreeBSD、SUSE 都是使用這個方式唷!!

先說清楚關於此部分,下載到的檔案是 *.deb 就是使用這個方式做安裝的!
而線上直接更新、安裝 則會用的的服務是 APT (Advance Packaging Tool)

先行說明一下幾個名詞解釋 :
RPM : 這是 Linux 安裝、升級、更新方法之一,
           泰半都是 Red Hat 公司出品的 Linux 居多,
           會這麼說是因為是因為 RPM 全名叫做,
           RedHat Package Managmer,
           所以 Red Hat 相關的 Linux,都 100% 支援此種方式,
           例如 : RedHat、RHEL、Fedora Core、CentOS
DPKG : 這又是另外一種 Linux 安裝、升級、更新方法之一,
             源出自 Debian Linux,而 Linux 中,N User 比較常聽過的 Ubuntu,
             也是支援這個方法喔!!
             當然還有 FreeBSD、SUSE 也是支援此方式做的喔!
YUM : 這是 Linux 線上更新的方式之一,
            也是 Red Hat 所發展的線上更新方式,
            可以做成自動更新,保證所有的套件都是最穩定的新版本,
            以防入侵問題產生!!
            所以 RedHat、Fedora Core、CentOS 都支援此方式更新
Up2date : 這是 Linux 線上更新的方式之一,
                也是 Red Hat 所發展的線上更新方式,可以做成自動更新,
                保證所有的套件都是最穩定的新版本,以防入侵問題產生,
                唯一不同的是,這只有 RHEL 獨有,
                因為 RHEL 叫做 RedHat Enterprise Linux,
                這個作業系統可以跟 RedHat 官方購買 ""技術諮詢"",
                技術諮詢就包含線上更新
apt-get : 源出自 Debian Linux,而 Linux 中,
              End User 比較常聽過的 Ubuntu,也是支援這個方法喔!!
              當然還有 FreeBSD、SUSE 也是支援此方式做的喔!
tarball : *.tgz、*.tar.gz、*.gz、*.tbz、*.bz2 都是 Linux 壓縮檔案,
            而這些壓縮檔,也可以下載之後,自己來安裝,只是程序上,
            會比上述幾樣更複雜,而且也必須更新的時候,純手工更新

本篇教學 AYO阿佑 僅討論 deb 的部份,

而有關 Linux RPM 的 使用方式 AYO阿佑 很久以前已經介紹過囉!
延伸參考如下 :

Linux RPM 使用講解
http://tw.myblog.yahoo.com/kain-0913/article?mid=1091&next=925&l=f&fid=11

================================================
Linux deb 怎麼使用、安裝呢?

這個就需要用到 dpkg 這個指令囉!
這邊 AYO阿佑 用 package.deb 做為範例 :

dpkg -i package.deb  安裝套件

dpkg -r package      刪除套件

dpkg -P package      刪除套件(包括相關的設定檔)

dpkg -L package      列出與該套件有關聯的文件

dpkg -l package      顯示該套件的版本

dpkg –unpack package.deb  解開 package.deb 套件的內容

dpkg -S keyword      搜索所屬的套件內容

dpkg -l              列出當前已安裝的套件

dpkg -c package.deb   列出 package.deb 套件的內容

dpkg –configure package  設定 package 套件

dpkg -h  可以查詢更多關於 dpkg 相關參數用法

這些就是基本上常用的,當然其參數很多,
所以有忘記,或者需要查詢的可以使用 dpkg -h 來做查詢,
當然 dpkg 這應該是 root (Administrator最高權限管理者) 權限適用指令

================================================
篇後語:
本篇文章,已經盡量減短,但是由於 deb 本身的參數也不少 !
AYO 阿佑 儘可能用最簡潔的方式,讓讀者們了解!
因為近來,越來越多人使用 Linux,
大概是因為 eeePC 的風行,好多人使用 Ubuntu,
但是連 FireFox 更新都不會!
真是 囧~~~~ 由於 Ubuntu 走的是 *.deb APT 架構,
因此 AYO阿佑 特別寫一篇 dpkg *.deb 的用法,
給讀者們參考囉!!

================================================
歡迎轉載,但請務必說明原出處

歡迎參觀 AYO 阿佑 個人的電腦技術園地
http://tw.myblog.yahoo.com/kain-0913/



4 則留言:

  1. 請問我依您的建議:
    下載 pidgin-2.6.3.tar.bz2 之後,


    輸入tar cjf pidgin-2.6.3.tar.bz2
    出現tar:cowardly refusing to create an empty archive
             Try  'tar  --help' or 'tar --usage' for more information.


    輸入cd pidgin-2.6.3
    出現bash: cd :pidgin-2.6.3:沒有此一檔案或目錄
    下面就不輸入終端機了

    make


    make install
    請問我哪裡錯了?
    (不好意思!您在知識+回覆的建議,我今天才看到。sorry!)
    [版主回覆12/07/2009 09:39:55]看過您的問題了!
    1. tar xjf pidgin-2.6.3.tar.bz2 <-- 解壓縮
       這樣才對喔!!
       tar cjf pidgin-2.6.3.tar.bz2 <-- 壓縮
       完全相反~~ 囧~~~
    2. 其他的步驟看起來沒錯!!
    以上  AYO 阿佑
     

    回覆刪除
  2. 你好
    我使用的版本是ezgo7,我下載virtualbox後,要安裝.deb但是他卻出現
    dpkg:處理 virtualbox-3.1_3.1.2-56127_Ubuntu_karmic_i386.deb (--install)時出錯:
     無法存取壓縮檔案: 沒有此一檔案或目錄
    在處理時有錯誤發生:
     virtualbox-3.1_3.1.2-56127_Ubuntu_karmic_i386.deb
    要怎麼辦

    [版主回覆02/10/2010 10:58:42]看過您的問題了!!
    基本上 應該這麼說...
    Linux (不管是哪個版本) 精華通通都是 command line,
    意思是說 下指令囉!!
    在下也只會使用 指令的安裝方式,
    圖形介面,老實講... 非常非常少用!!
    指令方式...
    您找到 [終端機] 這個圖示,點下去就有了!!
    亦或者 按下 Ctrl + Alt + F2 也可以切換,
    會變成黑底白字的介面,
    請輸入 :
    dpkg -i virtualbox-3.1_3.1.2-56127_Ubuntu_karmic_i386.deb
    就會安裝囉!!
    除非... 您的 Linux 作業系統不吃 *.deb,
    這樣的話 您只能很勇猛的使用 tarball 的方式做安裝了!!
    tarball ?? 就是指 *.tar.gz *.tgz 這類的解壓縮檔囉!!
    以上  AYO 阿佑

    回覆刪除
  3. 我打開deb檔時
    有看到tar.gz檔
    要用那個裝嗎

    [版主回覆02/10/2010 12:05:48]看到您的回覆囉~~~
    囧~~ 如果 VirtualBox 給您的是 *.tar.gz,
    那也只能用這個安裝囉!!
    不過.. 這個跟 Windows 的那種,無敵下一步 的安裝法,
    完全不同喔!!
    這得要自己 compiler 唷!!
    新手.. 可能難度頗高!!
    tar xzf virtualbox-3.1_3.1.2-56127_Ubuntu_karmic_i386.tar.gz
    cd virtualbox-3.1_3.1.2-56127_Ubuntu_karmic_i38
    ./configure
    make
    make install
    基本的流程大概是這樣子,
    如果沒有出現任何錯誤,
    就可以完美的安裝好,
    實際上 很高的機率會出現錯誤!!
    並且就在下所知 VirtualBox 安裝方式好像不是很一般,
    有省略 ./configure 這邊的步驟,
    請您解開後 很仔細的看 README 或者 INSTALL Document,
    PS: ./configure 只是個代表,後面通常都會接很長一串自訂參數
    以上  AYO 阿佑

    回覆刪除
  4. 請問
    我再處理解壓縮時,出現了
    root@jerry-laptop:/home/jerry# dpkg -i install_flash_player_10_linux.deb
    dpkg:處理 install_flash_player_10_linux.deb (--install)時出錯:
     無法存取壓縮檔案: 沒有此一檔案或目錄
    在處理時有錯誤發生:
     install_flash_player_10_linux.deb
    要怎麼解
    我如果只打檔名就開的起來,但是如果加上dpkg -i他就會變這樣
    要怎麼辦

    [版主回覆03/01/2010 11:29:37]OK~~~ 看過您的問題了 :
    *.deb 這是 Ubuntu  SUSE  Debian 等 linux 可以使用的喔!!!
    意思是說 您是別款 Linux 是不能用的!!
    再來... *.deb 這是 安裝檔,不是 壓縮檔,
    這已經是打包整理好的 安裝檔,
    如果您覺得 dpkg install_flash_player_10_linux.deb 有辦法裝進去,
    就使用此法安裝即可!!
    看到您的這行指令.... 在下已經知道您有點程度,
    root@jerry-laptop:/home/jerry# dpkg -i install_flash_player_10_linux.deb
    既然如此,您應該懂在下在說什麼了
    PS: dpkg root 限定之指令
    PS: 權限是否有正確,rwx
    PS: 路徑是否正確

    以上  AYO 阿佑

    回覆刪除