zoukankan      html  css  js  c++  java
  • 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: 为发行版的具体代号,如 xenialtrustyprecise 等;

    (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

  • 相关阅读:
    紫书 例题8-18 UVa 1442 (扫描法)
    紫书 例题8-17 UVa 1609 (构造法)(详细注释)
    紫书 例题8-16 UVa 1608 (递归)
    紫书 例题8-15 UVa 12174 (滑动窗口)
    紫书 例题8-14 UVa 1607 (二分)
    紫书 例题8-13 UVa 11093 (反证法)
    紫书 例题8-12 UVa 12627 (找规律 + 递归)
    Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)
    CodeForces
    CodeForces 444C 线段树
  • 原文地址:https://www.cnblogs.com/FrankZhou2017/p/7507056.html
Copyright © 2011-2022 走看看