2013年2月5日 星期二

[Linux]LinuxAPT套件簡介、安裝與使用

2013/05/17更新:
若更新時發生錯誤訊息:(轉錄自:http://yunol.com.tw/phpbb3/viewtopic.php?f=15&t=25179)
W: GPG error: http://ppa.launchpad.net natty Release: 由於無法取得它們的公鑰,以下簽章無法進行驗證: NO_PUBKEY 1FDBA531CDBF2664
執行這道指令
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1FDBA531CDBF2664
紅字部份的編號要相同。



=============================================================
轉錄自:
1.http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.zh-tw.html
2.http://apt.nc.hcc.edu.tw/web/apt/apt.html


APT套件簡介:
APT(Advanced Package Tool)是 Debian GNU/Linux 用來管理套件的工具,Conectiva 這家巴西的 Linux 套件公司將它移植到使用 RPM 系統的 Linux 套件上,所以現在我們才可以在 Red Hat Linux(或 Fedora) 上使用 APT 來管理我們的 RPM
----------------------------------------------------------------------------------------------------------------------------------
我們可以用 APT 來管理我們的 RPM ,不管是安裝、移除、或是升級,APT 都做的到,可是我們選用 APT 最大的理由是:它能夠自動處理 RPM 相依性的問題,例如:當我們要安裝 A rpm,而 A rpm 和 B rpm 又有相依關係的時候,傳統作法是先下載 B rpm 安裝之後,再下載 A rpm 安裝之;可是我們若有安裝 APT,則只要下一行「apt-get install A」指令就可以了,這樣 APT 就會幫我們下載 A rpm,且會自動下載相依性檔案(B rpm)幫我們安裝,如此一來我們對於 RPM 的安裝、移除、或是升級都可以不用去管煩人的相依性問題了
----------------------------------------------------------------------------------------------------------------------------------
我們的機器安裝了 APT 套件之後就成了 APT 的使用者端,當我們在安裝、升級 RPM 的時候,事實上,都是透過網路連到遠端的 APT 伺服器去下載 RPM 回來安裝的,APT 伺服器我們是可以自己指定的,而 APT 使用者端也可以同時成為 APT 伺服器

當我們安裝了 APT套件之後就會有 apt-get 指令,下 apt-get update 指令的時候會同步使用者端和 APT 伺服器的 RPM 索引清單(package list),APT 伺服器的 RPM 索引清單置於 base 資料夾內,使用者端電腦取得 base 資料夾內的 bz2 RPM 索引清單壓縮檔後,會將其解壓置放於 /var/state/apt/lists/,而當使用者使用 apt-get install  apt-get dist-upgrade 指令的時候,就會將這個資料夾內的資料和使用者端電腦內的 RPM 資料庫比對,如此一來就可以知道那些 RPM 已安裝、未安裝、或是可以升級的,然後 APT 就會自動透過網路下載需要的 rpm 回來安裝了
----------------------------------------------------------------------------------------------------------------------------------

apt-get update
更新:這指令是用來取得記錄在 /etc/apt/sources.list 內的遠端伺服器的套件檔案清單, 在使用 「apt-get dist-upgrade」指令升級套件前,一定要記得先用這指令將套件檔案清單更新
 
apt-get dist-upgrade
升級:這裡的升級,並不是指由 Red Hat Linux 8.0 變成 9 這樣的升級,而是當 Red Hat 有出升級的 rpm 的時候,我們就可以透過這個指令,升級我們已經安裝的 rpm


apt-cache search
搜尋:我們可以用這個指令來搜尋 rpm,例如:apt-cache search httpd,這樣檔名內有 httpd 字眼的 rpm 都會出現了

apt-cache depends相依性:我們可以用這個指令來看到某個 rpm 的所有相依性檔案,例如:apt-cache depends httpd,這樣 httpd 的所有相依性檔案就會出現了,有時候不確定某個相依性檔案是屬於那個 rpm 時,這個指令就很有用


apt-get install
安裝:當我們知道 rpm 名稱的時候,就可以用這指令安裝套件,例如:apt-get install httpd,這樣 apt 就會自動上網下載 httpd rpm 回來安裝,若 httpd 有相依性套件的時候,apt 也會自動下載安裝


apt-get clean
清除:當使用 apt-get install 指令安裝套件,下載下來的 rpm 會放置於 /var/cache/apt/archives,使用 apt-get clean 指令可以將之清除,避免佔用硬碟空間

apt-get remove
移除:假如我們想要移除某個 rpm 的時候就可以使用此指令,例如:apt-get remove httpd,就會移除 httpd 了,假如這個 rpm 有相依性套件的時候,apt 也會一併移除

下列apt-get選項也許對你有用:
      -h  這個幫助資訊
      -d  只下載──不安裝或解壓檔案
      -f  即便完整性檢查失敗了仍然繼續
      -s  不做什麼。只是按順序類比
      -y  對於所有問題都假定為Yes,不詢問
      -u  顯示一系列已經將要更新的包
可以用一條命令安裝多個套裝軟體。包檔案從網路上下載到本地 /var/cache/apt/archives目錄,稍後再安裝。
你可以用同樣的命令行刪除指定套裝軟體,只需在套裝軟體名稱後緊跟一個“-”,如下所示:
      # apt-get install nautilus gnome-panel-       
      Reading Package Lists... Done
      Building Dependency Tree... Done
      The following extra packages will be installed:
        bonobo libmedusa0 libnautilus0 
      The following packages will be REMOVED:
        gnome-applets gnome-panel gnome-panel-data gnome-session 
      The following NEW packages will be installed:
        bonobo libmedusa0 libnautilus0 nautilus 
      0 packages upgraded, 4 newly installed, 4 to remove and 1  not upgraded.
      Need to get 8329kB of archives. After unpacking 2594kB will be used.
      Do you want to continue? [Y/n]


沒有留言:

張貼留言