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 下非常流行的一种安装包

apt-get软件包管理命令 和 apt-key命令的更多相关文章

  1. Ubuntu 软件包管理工具 dpkg, APT 的一些命令(转载)

    转载地址: http://www.dreamxu.com/ubuntu-package-dpkg-and-apt-commands/ dpkg dpkg 是由 Debian 开发的包管理系统,是一个比 ...

  2. 软件包管理 之 RPM 基础 《RPM 的介绍和应用》

    RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:在Fedora .Redhat.Mandriva. ...

  3. RPM软件包管理的查询功能 转

    RPM软件包管理的查询功能: 命令格式 rpm {-q|--query} [select-options] [query-options] RPM的查询功能是极为强大,是极为重要的功能之一:举几个常用 ...

  4. linux中管理包的apt和dpkg命令用法

    1,apt-get命令 apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸 ...

  5. kali中的APT软件包处理工具(apt-get)、Debian软件包管理器(dpkg)、源代码压缩和Nessus安装实用指南

    写在前面的话 能看懂此博客的朋友,深信你有一定的Kali基础了. 使用APT软件包处理工具(apt-get).Debian软件包管理器(dpkg)来维护.升级和安装自定义及第三方应用程序 APT软件包 ...

  6. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  7. Unix、Linux 软件包管理快速入门对照:apt、brew、pkg、yum

    请访问原文链接:https://sysin.org/blog/apt-brew-pkg-yum/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页:www.sysin ...

  8. apt软件包管理

    apt软件包管理 ----   http://wiki.ubuntu.org.cn/UbuntuHelp:AptGet/Howto/zh APT HOWTO  ----    http://www.d ...

  9. Debian的软件包管理工具命令 (dpkg,apt-get)详解

    本文转载于:http://blog.chinaunix.net/uid-20769502-id-106056.html   1.dpkg包管理工具 dpkg --info "软件包名&quo ...

随机推荐

  1. ASP.NET Core 一步步搭建个人网站(1)_环境搭建

    ASP.NET Core2.0发布有一阵子了,这是.NET 开源跨平台的一个重大里程碑, 也意味着比1.0版本要更加成熟.目前.net core具有开源.跨平台.灵活部署.模块化架构等等特性,吸引着一 ...

  2. 解决注册并发问题并提高QPS

    前言:前面在本地的windows通过apache的ab工具测试了600并发下“查询指定手机是否存在再提交数据”的注册功能会出现重复提交的情况,并且在注册完成时还需要对邀请人进行奖励,记录邀请记录,对该 ...

  3. HTTP与HTTPS介绍

    文章大纲 一.HTTP和HTTPS的基本概念二.HTTP缺点三.HTTPS介绍四.免费HTTPS证书推荐   一.HTTP和HTTPS的基本概念 HTTP:是互联网上应用最为广泛的一种网络协议,是一个 ...

  4. 初级c++编码规范

        想了很久,第一篇文章还是应该写编码规范好一点.编码规范是一个仁者见仁的问题,为了避免复杂庞大,自己总结了一套简单版本的规范. 简介     本文介绍一份自己使用的C++编码规范.第一次正式进入 ...

  5. sqlserver中批量导出所有作业或链接脚本

    问题描述: 经常在数据库迁移到另外一台服务器的时候,需要把作业也迁移过去,但是作业有时候好多个,要是一个个编写监本出来很麻烦 今天知道个简单方法批量可以导出sql脚本,顺便做个笔记 解决方法: 1.在 ...

  6. 三机互ping(自己总结)

    主机与虚拟机互ping设置: 点击VMware下的[编辑]--[虚拟网络编辑器]设置如下:         屏幕剪辑的捕获时间: 2016/5/21 13:10         屏幕剪辑的捕获时间: ...

  7. Python基础——0前言

    python虽然这几年才兴起,但是已经是一门“老”语言了. python的诞生历史也很有趣.Python的创始人为Guido van Rossum(龟叔).1989年圣诞节期间,在阿姆斯特丹,Guid ...

  8. 二叉搜索树的最近公共祖先的golang实现

    给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的祖先且 x ...

  9. kaptcha验证码的使用

    使用kaptcha可以方便的配置: 验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片的大小,边框,边框粗细,边框颜色 验证码的干扰线(可以自 ...

  10. Django--cookie(登录用)

    一.cookie产生原因 二.cookie的原理图 三.Django中如何设置/读取/删除cookie 四.Django中如何设置cookie的参数 一.cookie产生原因 HTTP协议的无状态保存 ...