zoukankan      html  css  js  c++  java
  • apt-get软件包管理命令 和 apt-key命令

    apt-get命令是Debian Linux发行版中的APT软件包管理工具。
    所有基于Debian的发行都使用这个包管理系统。deb包可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。
     
    Advanced Packaging Tool(apt)是Linux下的一款安装包管理工具。最初只有.tar.gz的打包文件,用户必须编译每个他想在GNU/Linux上运行的软件。用户们普遍认为系统很有必要提供一种方法来管理这些安装在机器上的软件包,当Debian诞生时,这样一个管理工具也就应运而生,它被命名为dpkg。从而著名的“package”概念第一次出现在GNU/Linux系统中,稍后Red Hat才决定开发自己的“rpm”包管理系统。很快一个新的问题难倒了GNU/Linux制作者,他们需要一个快速、实用、高效的方法来安装软件包,当软件包更新时,这个工具应该能自动管理关联文件和维护已有配置文件。Debian再次率先解决了这个问题,APT(Advanced Packaging Tool)作为dpkg的前端诞生了。APT后来还被Conectiva改造用来管理rpm,并被其它Linux发行版本采用为它们的软件包管理工具。
     
    APT由几个名字以“apt-”打头的程序组成。apt-get、apt-cache 和apt-cdrom是处理软件包的命令行工具。作为操作的一部分,APT使用一个文件列出可获得软件包的镜像站点地址,这个文件就是/etc/apt/sources.list。
     
    APT是一个客户/服务器系统。在服务器上先复制所有DEB包(DEB是Debian软件包格式的文件扩展名),然后用APT的分析工具(genbasedir)根据每个DEB 包的包头(Header)信息对所有的DEB包进行分析,并将该分析结果记录在一个文件中,这个文件称为DEB 索引清单,APT服务器的DEB索引清单置于base文件夹内。一旦APT 服务器内的DEB有所变动,一定要使用genbasedir产生新的DEB索引清单。客户端在进行安装或升级时先要查询DEB索引清单,从而可以获知所有具有依赖关系的软件包,并一同下载到客户端以便安装。当客户端需要安装、升级或删除某个软件包时,客户端计算机取得DEB索引清单压缩文件后,会将其解压置放于/var/state/apt/lists/,而客户端使用apt-get install或apt-get upgrade命令的时候,就会将这个文件夹内的数据和客户端计算机内的DEB数据库比对,知道哪些DEB已安装、未安装或是可以升级的。
     

    语法

    apt-get(选项)(参数)
    选项
    -c:指定配置文件。
    参数
    管理指令:对APT软件包的管理操作;
    软件包:指定要操纵的软件包。
    实例
    使用apt-get命令的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上。把它们的地址加入,apt-get就能搜索到我们想要的软件。/etc/apt/sources.list是存放这些地址列表的配置文件,其格式如下:
     
    deb [web或ftp地址] [发行版名字] [main/contrib/non-free]
    我们常用的Ubuntu就是一个基于Debian的发行,我们使用apt-get命令获取这个列表,以下是我整理的常用命令:
     
    在修改/etc/apt/sources.list或者/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的:apt-get update
    安装一个新软件包:apt-get install packagename
    卸载一个已安装的软件包(保留配置文件):apt-get remove packagename
    卸载一个已安装的软件包(删除配置文件):apt-get –purge remove packagename
    已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件:apt-get autoclean apt
    这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的:apt-get clean
    更新所有已安装的软件包:apt-get upgrade
    将系统升级到新版本:apt-get dist-upgrade
    定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。如果您的需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。大多数情况下您不会再用到这些.debs文件,因此如果您为磁盘空间不足 而感到焦头烂额,这个办法也许值得一试:
    apt-get autoclean
     
    下载的软件存放位置:      /var/cache/apt/archives
     

    apt-key:

    apt-key命令用于管理Debian Linux系统中的软件包密钥。每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥。

    用法:apt-key [--keyring file] [command] [arguments]

    参数:

    apt-key add <file>          - 把下载的key添加到本地trusted数据库中
    apt-key del <keyid>         - 从本地trusted数据库通过keyid删除key
    apt-key export <keyid>      - 通过keyid导出key
    apt-key exportall           - 导出本地trusted数据库中的所有key
    apt-key update              - 通过key包来更新key,更新本地trusted数据库,删除过期没用的key
    apt-key net-update          - 通过网络更新key
    apt-key list                - 列出已保存在系统中key
    apt-key finger              - 列出所有验证指纹
    apt-key adv                 - 设置key的高级配置, Pass advanced options to gpg

     拓展:

    debDebian软件包格式,文件扩展名.deb,跟Debian的命名一样,deb也是因Debra Murdock(Debian创始人Ian Murdock的前妻)而得名。

    deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT 软件管理系统,成为了当前在 Linux 下非常流行的一种安装包

  • 相关阅读:
    C# 使用FileSystemWatcher类来对一个日志文件的变化进行实时监测
    C# 高效提取txt文档最后一行数据
    C# 高效提取txt文档最后一行数据
    Bat 批处理之 for/f 详解
    Bat 批处理之 for/f 详解
    windows bat命令 如何获取文件最后一行
    windows bat命令 如何获取文件最后一行
    C#读取文件或者字符流的最后几行,类似linux的tail命令OK
    C#读取文件或者字符流的最后几行,类似linux的tail命令OK
    C#开源文件实时监控工具Tail&TailUI
  • 原文地址:https://www.cnblogs.com/saysmy/p/10390277.html
Copyright © 2011-2022 走看看