1. apt的工作原理
APT使用一個檔案列出可獲得軟體包的鏡像網站地址,這個檔案就是/etc/apt/sources.list。APT是一個客戶/伺服器系統。在伺服器上先複製所有RPM包(包括來自原版光碟片和redhat提供的升級包),然後用APT的分析工具(genbasedir)根據每個RPM 包的包頭(Header)資訊對所有的RPM包進行分析,並將該分析結果記錄在一個檔案中,這個檔案稱為RPM 索引清單,APT伺服器的RPM索引清單置於base檔案夾內。一旦APT 伺服器內的RPM有所變動,一定要使用genbasedir產生新的RPM索引清單。用戶端在進行安裝或升級時先要查詢rpm索引清單,從而可以獲知所有具有依賴關係的軟體包,並一同下載到用戶端以便安裝。
當用戶端需要安裝、升級或刪除某個軟體包時,用戶端電腦取得rpm索引清單壓縮檔後,會將其解壓置放於/var/state/apt/lists/,而用戶端使用apt-get install或apt-get upgrade命令的時候,就會將這個檔案夾內的資料和用戶端電腦內的rpm資料庫比對,知道哪些rpm已安裝、未安裝或是可以升級的。
2. apt的安裝目錄
下載路徑:apt-get 下載後,軟體所在路徑是:/var/cache/apt/archives
ubuntu 預設的PATH為
PATH=/home/brightman/bin: /usr/local/sbin: /usr/local/bin: /usr/sbin: /usr/bin: /sbin: /bin :/usr/games
apt-get install安裝目錄是包的維護者確定的,不是使用者制定的。
$ dpkg -L packagename
dpkg -L +軟體包的名字,可以知道這個軟體包包含了哪些檔案
系統安裝軟體一般在/usr/share,可執行檔檔案在/usr/bin,設定檔可能安裝到了/etc下等。
文檔一般在 /usr/share
可執行檔 /usr/bin
設定檔 /etc
lib檔案 /usr/lib
3.常用命令
apt-cache search # ——(package 搜尋包)
apt-cache show #——(package 擷取包的相關資訊,如說明、大小、版本等)
sudo apt-get install # ——(package 安裝包)
sudo apt-get install # —–(package - - reinstall 重新安裝包)
sudo apt-get -f install # —–(強制安裝?#”-f = –fix-missing”當是修複安裝吧…)
sudo apt-get remove #—–(package 刪除包)
sudo apt-get remove - - purge # ——(package 刪除包,包括刪除設定檔等)
sudo apt-get autoremove –purge # —-(package 刪除包及其依賴的軟體包 設定檔等(只對6.10有效,強烈推薦))
sudo apt-get update #——更新源
sudo apt-get upgrade #——更新已安裝的包
sudo apt-get dist-upgrade # ———升級系統
sudo apt-get dselect-upgrade #——使用 dselect 升級
apt-cache depends #——-(package 瞭解使用依賴)
apt-cache rdepends # ——(package 瞭解某個具體的依賴?#當是查看該包被哪些包依賴吧…)
sudo apt-get build-dep # ——(package 安裝相關的編譯環境)
apt-get source #——(package 下載該包的原始碼)
sudo apt-get clean && sudo apt-get autoclean # ——–清理下載檔案的存檔 && 只清理過時的包
sudo apt-get check #——-檢查是否有損壞的依賴
apt-get install# ——(下載 以及所有倚賴的包裹,同時進行包裹的安裝或升級。如果某個包裹被設定了 hold (停止標誌,就會被擱在一邊(即不會被升級)。更多 hold 細節請看下面。)
apt-get remove [--purge]# ——(移除 以及任何倚賴這個包裹的其它包裹。)
–purge 指明這個包裹應該被完全清除 (purged) ,更多資訊請看 dpkg -P。
apt-get update# ——(升級來自 Debian 鏡像的包裹列表,如果你想安裝當天的任何軟體,至少每天運行一次,而且每次修改了/etc/apt/sources.list 後,必須執行。)
apt-get upgrade [-u]# ——(升級所以已經安裝的包裹為最新可用版本。不會安裝新的或移除老的包裹。形前端(其中一些在使用前得先安裝)。