如何安裝套件
dpkg 安裝
在「DEB-based」的系統裡,最基本的安裝套件的方式, 是透過「dpkg」這個指令,來安裝「Debian Package」。
以安裝「hello」這個套件為例。
先下載「hello_2.8-4_amd64.deb」這個「Debian Package」。
$ wget -c http://tw.archive.ubuntu.com/ubuntu/pool/main/h/hello/hello_2.8-4_amd64.deb
利用「dpkg」來安裝「hello_2.8-4_amd64.deb」
$ sudo dpkg -i hello_2.8-4_amd64.deb
基本上,上面的步驟,應該不會出現相依不足的問題。 「hello」這個套件,相依的套件,應該是很基本的,都已經早就安裝再系統裡了。
除了可以從「網頁」上觀看
可以執行下面的指令查看相依的資訊。
$ dpkg -I hello_2.8-4_amd64.deb | grep Depends:
會顯示
Depends: libc6 (>= 2.14), dpkg (>= 1.15.4) | install-info
你可以查詢「相依的套件」,是否「已經事先安裝在系統裡」,還有「安裝在系統的版本」。
以「libc6」為例
執行
$ dpkg -l libc6
或
$ dpkg -l | grep libc6
若相依的套件,若沒有事先安裝在系統裡。 執行「apt-get install」, 系統會給一個提示, 請你執行「apt-get install -f」。
這時候你只要執行
$ sudo apt-get install -f
就可以把相依的套件給安裝補足。
注意:
- 目前實務上,下載「deb」檔來安裝的,有「skype」和「teamviewer」。
- 印象中「skype」通常安裝後,需要執行「sudo apt-get install -f」。
- 「sudo apt-get install -f」也不是萬靈丹,有時侯系統提示你要執行這個指令,但是卻無法解決問題。 這個目前發現的案例是「OpenOffice」和「LibreOffice」,請參考「這篇」和「這篇」討論。 還有若要補足的套件,不在套件庫上,也是會失靈的。
apt-get 安裝
上面的方式是基本的安裝,但有些問題需要被解決,所以又發展了另一套工具「apt」。
若想要安裝「hello」這個套件。
只要執行
$ sudo apt-get install hello
就會到系統事先設定好的套件庫去下載「hello」這個套件下來,
除了安裝「hello」這個套件外,還會額外安裝「hello」相依的套件。
通常執行「sudo apt-get install hello」 或是執行「sudo apt-get install hello -d」, 從套件庫下載下來的「deb檔」會放在「/var/cache/apt/archives/」這個資料夾
你可以執行下面的指令查看
$ ls /var/cache/apt/archives/hello_2.8-4_amd64.deb -l