apt-get for ubuntu 工具简介

先介绍几个和apt-get相关的目录:

/var/lib/dpkg/available
文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 Debian 安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包.

/var/cache/apt/archives
目录是在用 apt-get install 安装软件时,软件包的临时存放路径

/etc/apt/sources.list
存放的是软件源站点, 当你执行 sudo apt-get install xxx 时,Ubuntu 就去这些站点下载软件包到本地并执行安装

/var/lib/apt/lists
使用apt-get update命令会从/etc/apt/sources.list中下载软件列表,并保存到该目录

APT工作原理:

Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放在软件仓库中,进行有效地组织和管理。然后,将软件仓库置于许许多多的镜 像服务器中,并保持基本一致。这样,所有的Ubuntu用户随时都能获得最新版本的安装软件包。因此,对于用户,这些镜像服务器就是他们的软件源 (Reposity)。

然而,由于每位用户所处的网络环境不同,不可能随意地访问各镜像站点。为了能够有选择地访问,在Ubuntu系统中,使用软件源配置文件/etc/apt/sources.list列出最合适访问的镜像站点地址。

apt-get的更新过程:
执行apt-get update
程序分析/etc/apt/sources.list
自动连网寻找list中对应的Packages/Sources/Release列表文件,如果有更新则下载之,存入/var/lib/apt/lists/目录
然后 apt-get install 相应的包 ,下载并安装。

即使这样,软件源配置文件只是告知Ubuntu系统可以访问的镜像站点地址,但那些镜像站点具体都拥有什么软件资源并不清楚。若每安装一个软件包,就在服务器上寻找一遍,效率是很低的。因而,就有必要为这些软件资源列个清单(建立索引文件),以便本地主机查询。

apt-get install 下载的软件存放到 /var/cache/apt/archives/下。

同时,APT能够检查Ubuntu Linux系统中的软件包依赖关系,大大简化了Ubuntu用户安装和卸载软件包的过程。

apt-get install原理:
deb http://cn.archive.ubuntu.com/ubuntu/ precise main restricted

可通过浏览器找到

apt-get 每次都会读取这个文件,从而获取的包的信息。从Packages.gz中获取到所有包的信息。Packages.gz中包含的信息有:

包名,优先级,类型,维护者,架构,源文件(source),版本号,依赖包,冲突性信息,包大小,文件的下载路径,MD5sumSHA1,包描述,Xul-Appid—应用程序idBugs信息,OriginSupported

Packages中的一个包信息实例:

Package: abrowser
Priority: optional
Section: web
Installed-Size: 153
Maintainer: Ubuntu Mozilla Team <ubuntu-mozillateam@lists.ubuntu.com>
Architecture: amd64
Source: firefox
Version: 11.0+build1-0ubuntu4
Depends: firefox (>= 9.0)
Filename: pool/main/f/firefox/abrowser_11.0+build1-0ubuntu4_amd64.deb
Size: 8940
MD5sum: e8781af38a6de76126d190fc10a14bf2
SHA1: 408abd5f960d4b02bc18581df348954eb7620772
SHA256: cdfad0e4435c035b3115bdec08d79ccfc68bf9480e89df9270b3b6befa348699
Description: Safe and easy web browser from Mozilla – transitional package
Description-md5: e89058e4775caff7d26313fa8811675e
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m

从这个信息段中可以看出来,实际的deb包放在pool/main/f/firefox/abrowser_11.0+build1-0ubuntu4_amd64.deb,通过浏览器同样可以找到。从中也可以看到Depends一项中的依赖需求。

转载于:https://www.cnblogs.com/xifanyaoyao/p/3575279.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【VMCloud云平台】SCAP(一)规划

完成了System Center中的悍将SCO基础篇后&#xff0c;咱们来聊聊SCAP&#xff0c;很多人说SCAP是一个简单的组件&#xff0c;何必单独拿出来聊呢&#xff1f;我倒是认为不然&#xff0c;作为System Center中为数不多的主打Portal类型的组件&#xff08;除开组件的Web Console就…

android学习日记12--布局管理器

1、概述  布局管理器的用途&#xff1a;  a、可以更好的管理组件;  b、通过使用布局管理器&#xff0c;Android应用程序可以做到平台无关性 布局管理器都是ViewGroup的子类&#xff0c;所有可充当容器的父类都是ViewGroup&#xff0c;而ViewGroup也是View的子类 下面分别…

PXE装机+kickstart无人值守安装

搭建PXE远程安装服务器&#xff0c;本例集成了TFTP服务、DHCP服务&#xff0c;能够向客户机发送PXE引导程序&#xff0c;内核&#xff0c;启动菜单等。1.准备RHEL6安装源&#xff0c;网络安装源一般通过HTTP&#xff0c;FTP协议发布&#xff0c;另外页支撑NFS协议。采用FTP协议…

内核通识——内核中架构相关代码简介

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 1、内核代码基本分为3块 &#xff08;1&#xff09;arch目录 本目录下全是cpu架构有关的代码。本文说的就是这个目录中的内容。 &#xff08;2&#xff09;drivers目录 本目录下全是硬件的驱动。 &…

一道关于比赛胜负的Sql查询题目

以前做过一道题目&#xff0c;一直没有来得及总结下来。贴图&#xff1a; 记得以前曾经找到了两种方法&#xff0c;今天试了一下&#xff0c;还是可以的&#xff0c;贴出过程&#xff1a; 下面是具体的查询方法&#xff1a; 原来放的是图片,今天又练习了一下,附代码: 1 create …

SharePoint 2013 Nintex Workflow 工作流帮助(六)

博客地址 http://blog.csdn.net/foxdave 工作流动作 7. Call web service&#xff08;Integration分组&#xff09; 一个调用WebService的操作。 自然&#xff0c;配置项中主要是指向一个WebService进行调用。 关于配置项的说明&#xff1a; URL 必填项&#xff0c;也就是WebSe…

uboot的移植一一更换控制台串口

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 1、场景需求 X210开发板的SOC中一共有4个串口&#xff08;串口0~3&#xff09;&#xff0c;并且用DB9接口引出了2个串口&#xff0c;分别是串口0和串口2。其中靠近网口的是串口0&#xff0c;远离网口…

充实你的素材库!10款免费的 PSD 素材下载

由于网页设计师没有时间来自己从零开始设计&#xff0c;所以在设计项目中使用网络上已有的设计素材是常见的方式。这就是为什么我们经常会到网上搜索可以免费下载的素材。 今天&#xff0c;我们这里有几套不同的免费的 PSD 素材分享给你&#xff0c;从 iPhone 样机到用户界面等…

position:fixed和scroll实现div浮动【示例】

前言 在自己建站的过程中&#xff0c;要实现一个div随滚动条浮动的效果&#xff0c;网上找了些示例不太好用&#xff0c;还是自己动手&#xff0c;丰衣足食&#xff0c;写的不好请大家谅解&#xff0c;毕竟我不是搞前端的&#xff0c;因为自己建站毕竟每一步都必须自己来&#…

HashMap vs ConcurrentHashMap — 示例及Iterator探秘

2019独角兽企业重金招聘Python工程师标准>>> 如果你是一名Java开发人员&#xff0c;我能够确定你肯定知道ConcurrentModificationException&#xff0c;它是在使用迭代器遍历集合对象时修改集合对象造成的&#xff08;并发修改&#xff09;异常。实际上&#xff0c;…

谷歌浏览器跨域报错解决办法

谷歌浏览器跨域报错&#xff1a; 在浏览器属性设置一下就可以了。 最后&#xff0c;先打开浏览器&#xff0c;就可以了。 转载于:https://www.cnblogs.com/fanyun/p/4263363.html

Unable to find the ncurses libraries or the required header files解决

问题&#xff1a; 解决方法: sudo apt-get install ncurses-dev 参考&#xff1a;Unable to find the ncurses libraries or the required header files解决 转载于:https://www.cnblogs.com/amanlikethis/p/3591353.html

iOS自动布局进阶用法

本文主要介绍几个我遇到并总结的相对高级的用法&#xff08;当然啦牛人会觉得这也不算什么&#xff09;。 简单的storyboard中上下左右约束&#xff0c;固定宽高啥的用法在这里就不做赘述了。 autolayout自动布局是iOS6以后出现的&#xff0c;但是在开始的一段时间里大家并不怎…

Windows系统与Linux系统下的硬盘分区操作

以下内容源于网络资源的学习与整理&#xff0c;如有其侵权请告知删除。 之前在uboot中利用fdisk命令对X210开发板的iNand进行分区时&#xff0c; 因为不小心在uboot中利用“fdisk -c 1”&#xff08;1对应着sd卡&#xff0c;0对应着iNand&#xff09;对sd卡也分区了&#xff…

您应该了解的 Windows Azure 网站在线工具

&#xfeff;&#xfeff;编辑人员注释&#xff1a;本文章由Windows Azure 网站团队的软件开发者 Amit Apple 撰写。 如果想要了解并亲身参与计算资源管理&#xff0c;那么您一定会很高兴得知这一消息&#xff1a;Windows Azure 网站现在提供一些非常有用的在线工具&#xff0c…

【自己给自己题目做】:如何在Canvas上实现魔方效果

最终demo -> 3d魔方 体验方法&#xff1a; 浮动鼠标找到合适的位置&#xff0c;按空格键暂停选择要翻转的3*3模块&#xff0c;找到相邻两个正方体&#xff0c;鼠标点击第一个正方体&#xff0c;并且一直保持鼠标按下的状态直到移到第二个正方体后放开&#xff0c;比如下图&…

彻底搞懂硬盘相关的概念

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 硬盘结构&#xff08;机械硬盘和固态硬盘&#xff09;详解 简单理解磁盘结构_Guanngxu的博客-CSDN博客_磁盘的结构 硬盘基础知识_Forskamse的博客-CSDN博客 硬盘知识笔记整理_落子摘星的博客-CSDN…

ubuntu下数据库的导入导出

2019独角兽企业重金招聘Python工程师标准>>> 一.导出远程数据库 例如 sudo mysqldump -h 172.16.1.211 -u haha -p123 -P3307 app>app.sql 二.导入.sql文件的 到数据库 1.create database xxx(创建一个名称是xxx的数据库) 2. use xxx(切换到该数据库下) 3. sou…

MBR分区表的简介

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考内容 &#xff08;1&#xff09;S5PV210 Uboot开发与移植01&#xff1a;Uboot概述_麦兜的学习笔记的博客-CSDN博客 &#xff08;2&#xff09;Linux系统下的硬盘分区、格式化与挂载_天糊土的博客-CSD…

Redis配置文件参数说明

配置文件参数说明: 1. Redis默认不是以守护进程的方式运行&#xff0c;可以通过该配置项修改&#xff0c;使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时&#xff0c;Redis默认会把pid写入/var/run/redis.pid文件&#xff0c;可以通过pidfile指定 pidfile …