Ubuntu 软件包管理APT
?一、APT簡介
“起初 GNU/Linux 的世界中只有 .tar.gz。如果用戶要使用一個軟件,那就必須自己編譯。當 Debian 誕生以后,一種能管理操作系統中已安裝的軟件包的系統顯得很有必要,這個系統被命名
‘dpkg’。‘軟件包’一詞在此第一次出現在 GNU/Linux。不久之后,紅帽公司創建了他們自己的包管理系統‘rpm’。
“GNU/Linux 的創造者們很快又陷入了新的窘境。他們希望通過一種快捷、實用而且高效的方式來安裝軟件包,并能自動處理相互之間的依賴關系,還要在軟件包升級過程中維護好配置文件。
Debian 又一次充當了開路先鋒的角色,她首創了 APT(Advanced Packaging Tool,高級軟件包管理工具)。這一工具后來被 Conectiva 移植到紅帽公司的 rpm 包管理系統。在其他一些發行版
中,我們也能看到 APT 的身影。” ?-- 引自:Debian APT HOWTO
具體命令參考:http://wiki.ubuntu.org.cn/UbuntuHelp:AptGet/Howto/zh
具體操作參考:http://wiki.ubuntu.org.cn/UbuntuHelp:Repositories/CommandLine
?二、Ubuntu 軟件安裝源
Ubuntu中的軟件安裝源記錄在:/etc/apt/sources.list 和/etc/apt/sources.list.d/目錄下以.list為擴展名的文件中,下面我們來看下具體的內容。
1.sources.list文件解讀:
執行cat命令:
cat /etc/apt/source.list?查看具體的source.list配置信息,顯示如下:
#deb cdrom:[Ubuntu 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801)]/ xenial main restricted# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted # deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main restricted## Major bug fix updates produced after the final release of the ## distribution. deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted # deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://us.archive.ubuntu.com/ubuntu/ xenial universe # deb-src http://us.archive.ubuntu.com/ubuntu/ xenial universe deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe # deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://us.archive.ubuntu.com/ubuntu/ xenial multiverse # deb-src http://us.archive.ubuntu.com/ubuntu/ xenial multiverse deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse # deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse # deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. # deb http://archive.canonical.com/ubuntu xenial partner # deb-src http://archive.canonical.com/ubuntu xenial partner deb http://security.ubuntu.com/ubuntu xenial-security main restricted # deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted deb http://security.ubuntu.com/ubuntu xenial-security universe # deb-src http://security.ubuntu.com/ubuntu xenial-security universe deb http://security.ubuntu.com/ubuntu xenial-security multiverse # deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse??為便于說明,從上面的顯示結果中抽取部分內容:
deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted # deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main restricted(1) . deb/deb-src: 為archive type,意為軟件包歸檔類型。其中,deb和deb-src分別指通過.deb文件進行安裝和通過源文件的方式進行安裝;?
(2). ?http://us.archive.ubuntu.com/ubuntu/: 為軟件包所在的倉庫地址;
(3). ?xenial: 為發行版的具體代號,如?xenial,?trusty,?precise?等;
(4). ?main:為軟件包的分類。意為官方支持的自由軟件。其它取值的含義(restricted:官方支持的非完全自由的軟件。universe:社區維護的自由軟件。multiverse:非自由軟件)。
2. sources.list內容與倉庫的對應關系
?在瀏覽器中輸入:
http://archive.ubuntu.com/ubuntu/dists/?則查詢出如下目錄,上文sources.list中的第3個參數xenial-backports、xenial-security、xenial-updates對應下面左圖,第4個參數對應右圖;
3.工作原理
apt-get的更新過程:
(1). 執行apt-get update
(2). 根據/etc/apy/sources.list記錄的源信息,查詢對應的Packages/Sources/Release列表文件;
(3). 如果有更新,則下載并存入/var/lib/apt/lists/目錄
(4). 執行apt-get install 包名, 下載并安裝相應的包。
4. 配置示例
?在sources.list.d目錄下,新增文件kubernetes.list,配置內容如下:
cat <<EOF > /etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF?三、安全管理
Ubuntu中使用apt-key命令來對軟件包進行安全管理和認證。其地址為:/usr/bin/apt-key。
具體的格式用法及參數:
apt-key [--keyring file] [command] [arguments] apt-key add <file> 將下載的key添加到本地trusted數據庫 apt-key del <keyid> apt-key export <keyid> apt-key exportall apt-key update apt-key net-update apt-key list apt-key finger apt-key adv apt-key add <file> apt-key del <keyid> apt-key export <keyid> apt-key exportall apt-key update apt-key net-update apt-key list apt-key finger apt-key adv四、Ubuntu快速安裝
一般情況下,官方提供可下載的源,但往往下載速率較慢,此時,可以考慮國內的下載源,那么國內的下載源如何找呢?
Ubuntu wiki 鏈接:http://wiki.ubuntu.org.cn/%E6%A8%A1%E6%9D%BF:16.04source 中有如下說明:?
Ubuntu 官方(歐洲,國內較慢,無同步延遲)http://archive.ubuntu.com/ubuntu/ Ubuntu 官方中國(目前是阿里云)http://cn.archive.ubuntu.com/ubuntu/阿里云(北京萬網/浙江杭州阿里云服務器雙線接入) http://mirrors.aliyun.com/ubuntu/?
Ubuntu 官方:https://launchpad.net/ubuntu/+archivemirrors
?阿里云官方:https://launchpad.net/ubuntu/+mirror/mirrors.aliyun.com-archive,如下為16.04版本在sources.list的配置:
deb http://mirrors.aliyun.com/ubuntu/ xenial main deb-src http://mirrors.aliyun.com/ubuntu/ xenial main??
參考鏈接:
http://www.cnblogs.com/jiangz/p/4076811.html
?
轉載于:https://www.cnblogs.com/FrankZhou2017/p/7507056.html
總結
以上是生活随笔為你收集整理的Ubuntu 软件包管理APT的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何做流数据分析,Byron Ellis
- 下一篇: Linux学习记录-----《快乐的Li