Debian包管理系統

來源:互聯網
上載者:User

Debian包管理系統 最初只有.tar.gz的打包檔案,使用者必須編譯每個他想在GNU/Linux上啟動並執行軟體。使用者們普遍認為系統很有必要提供一種方法來管理這些安裝在機器上的軟體包,當Debian誕生時,這樣一個管理工具也就應運而生,它被命名為dpkg。從而著名的“package”概念第一次出現在 GNU/Linux系統中,稍後RedHat才決定開發自己的“rpm”包管理系統。  www.2cto.com         很快一個新的問題難倒了GNU/Linux製作者,他們需要一個快速、實用、高效的方法來安裝軟體包,當軟體封裝更新時,這個工具應該能自動管理關聯檔案和維護已有設定檔,再次,Debian率先解決了這個難題,APT(Advanced Packaging Tool)誕生了。APT後來還被Conectiva改造用來管理rpm,並被其它Linux發行版本採用為它們的軟體包管理工具。        作為作業系統的一部分,apt命令使用一個檔案列出可以獲得的軟體包的鏡像網站,這個檔案為/etc/apt/sources.list。檔案內容的格式如下:1deb http://www.baidu.com/debian distribution section1 secion22deb-src http://www.baidu.com/debian distribution section1 secion2       第一列描述了檔案類型,是deb類型還是deb-src類型的,deb是已經編譯好的二進位軟體包,deb-src是源碼包,第二列是使用的鏡像地址,apt可以使用多種類型的地址,如:http、ftp、file等。在每次修改list檔案都需要運行apt-get update命令更新源列表。         包管理系統使用一個私人的資料庫跟蹤列表中軟體包的狀態:已安裝、未安裝等,apt-get通過該資料庫來確定如何安裝使用者想用的軟體包以及其關聯包。使用apt-get update來更新資料庫列表,這個命令會檢查list檔案的配置。 安裝軟體包         apt-get install name  apt掃描資料庫找到最新版的軟體包,然後從list中指定的鏡像網站把軟體包下載到本地。apt會自動檢查關聯性包並自動下載到本地。並在安裝過程中進行提示,如果在安裝A包時有B包依賴,如果沒有在命令列指定B包,則會提示安裝B包,如果在命令列指定安裝B包,則不會提示該包,apt只提示確認沒有在命令列中指定的包。apt會把發布鏡像網站的包下載到本地的/var/cache/apt/archives目錄,稍後安裝。可以在一條命令後面跟多個軟體包。 刪除軟體包         apt-get remove filename apt會注意哪些包與被刪除的包有依賴關係,使用apt刪除一個包會刪除與該包有依賴關係的包。但是這樣只會不會刪除該軟體包的設定檔,如果有的話,如果想連同設定檔一起刪除,可以使用--purge參數。 更新軟體包         apt-get upgrade可以使用這個命令從相同版本號碼的發布版中更新軟體包,當然也可從新版本號碼的發布版中更新軟體包,使用apt-get dist-upgrade命令。在使用apt-get upgrade時,-u參數可以顯示完整的可更新的軟體包列表。apt會下載每個軟體包的最新更新版本,然後按照合理的次序安裝。  www.2cto.com  清理軟體包         當你使用apt-get安裝軟體包時,會在list的發布網站中把軟體包下載到本地,隨著包的增多會非常佔用空間的,有時候就有必要清理軟體包,可以使用apt-get clean和apt-get autoclean命令。clean清除/var/cache/apt/archives和/var/cache/apt/archives/partial中的所有檔案,除了被鎖定的檔案。autoclean僅僅清除那些不需要再次下載的檔案。 以下是一些經常使用的包管理命令: apt-get update —— 在修改/etc/apt/sources.list或者/etc/apt/preferences之後運行該命令。apt-get install packagename——安裝一個新軟體包apt-get remove packagename —— 卸載一個已安裝的軟體包(保留設定檔)apt-get -–purge remove packagename —— 卸載一個已安裝的軟體包(刪除設定檔)apt-get clean —— 這個命令會把安裝的軟體的備份也刪除,不過這樣不會影響軟體的使用的。apt-get upgrade —— 更新所有已安裝的軟體包apt-get dist-upgrade —— 將系統升級到新版本 apt-cache search packagename  可以搜尋相關軟體包apt-cache show packagename 顯示該包的詳細資料apt-cache depends packagename 列出與該包關聯的包 dpkg -l —— 列出所有的軟體包。dpkg -L package —— 列出軟體包中的所有檔案。dpkg -S file —— 找出檔案屬於哪個軟體包,會找到所有包含該檔案的包,如果使用檔案的絕對路徑,則會找到對應的包檔案。 apt-file search filename —— 尋找包含特定檔案的軟體包(不一定是已安裝的),這些檔案的檔案名稱中含有指定的字串。注意:apt-file是一個獨立的軟體包。先使用apt-get install來安裝它,然後運行apt-file update升級資訊。 以下是在使用apt-get時經常會用到的參數: --no-install-recommends不考慮安裝推薦的包 --install-suggests安裝推薦的包-d, --download-only僅僅是下載該軟體包-m, --ignore-missing, --fix-missing忽視丟失的包--no-downloadDisables downloading of packages-y, --yes, --assume-yes在安裝過程中,自動回答yes--assume-no在安裝過程中,自動回答no-u, --show-upgraded顯示哪些包會被升級--reinstall重裝已經安裝的包--purgeremove並且刪除設定檔--allow-unauthenticated忽略包的認證機制 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.