apt仓库以及apt-get分析
1 debian repository
参考:https://wiki.debian.org/DebianRepository
1.1 版本代号
sid,still in development,该版本和unstable版本是一样的。
版本可以从多个侧面来进行命名。
第一,从release的角度进行命名。比如,buster、jessie、stretch
第二,使用数字编码,比如7、8、9,然后还有小版本,7.11、8.9
第三,对于当前最新的开发版本,又可以命名为stable、unstable和testing分支,当前的unstable又可以叫做sid。
第四,同样的对于上一个开发版本,可以命名为oldstable、上上个版本,oldoldstable。
1.2 dists目录
这个里面即是各个版本的包仓库,如果当前的开发版本是stretch,那么stable目录是到stretch的软连接,其它的依次类推。
1.3 dists子目录
dists的子目录分为release和suite两大类,release即buster、jessie和stretch这些,而suite即unstable、testing和stable等。
再进一步的子目录又分为contrib、main和non-free。
再进一步的子目录里面是binary-xxx、source,binary-xxx 里面是对应二进制包的元数据,Packages.gz,source里面是对应的源码包的元数据,即Sources.gz。
通过它们可以找到真正的二进制包和源码包。i
1.4 pool目录
真正的debian的二进制包和源码包是在根目录下面的这个pool目录下。
1.5 main、contrib和non-free
全部是free的包在main中,
全部是non-free的包在non-free中
依赖于non-free的包仔contrib中。
这些即是components
1.6 xxx-updates
proposed-updates里面的一些包也会放在这里。
1.7 xxx-proposed-updates
在稳定版的基础上的更新也会进行release,比如7.1、7.2、7.3等等,这些release被称为point release,而这个proposed-updates就是为下一次的point release做准备工作的,也就是说,对稳定版本的更新先放在proposed-updates里面,然后积累到了一定的量之后发布point release。
1.8 xxx-backports
就是同一个发行版的unstalble、testing中的包,在stable下重新编译,使之可以在stable版本下使用。
1.9 xxx-backports-sloppy
就是下一个发行版的unstalbe、testing中的包,在old stable下重新编译,使之可以在old stable版本下使用,比如stretch的tesing中的包,使之可以在jessie的stable中使用,就上传到这个文件夹里面。
1.10 xxx-kfreebsd
kfreebsd指的是使用freebsd kernel的debian发行版。
1.11 xxx-kfreebsd-proposed-updates
同xxx-proposed-updates
1.12 update的最小粒度是包吗?
这些不重要,重要的是,更新之后,所用的包就是新版本的包了。
2 debian开发的流水线
2.1 debian分支开发的顺序
unstable->testing->stable
debian的开发分支叫做unstabel/sid,当需求开发完,并且bug差不多了之后,会froze掉,进入testing分支,这个阶段只是修改bug,当bug解完了,进入下一个stable分支。
3 源
3.1 sources.list文件的结构
每个源占一行
deb是二进制包,deb-src是源码包
deb uri distribution [component1] [component2] [...]
distribution就是suite和release。
4 apt-get install的软件版本同debian版本之间的关系
它们是有对应关系的,是不同的软件包版本组成了不同的debian版本,因此在使用的时候,不同的debian版本在sources.list中指定不同的源来安装和更新相应的软件包。
5 最新的软件版本同debian版本之间的适配关系
debian版本和仓库的release/suite之间是有对应关系的,也就是说,使用stable的debian系统,那么设置源的话,就要用stable的源。因为debian系统是由包构成的。
没有unstalbe版本的debian系统,但是可以通过stable的image来升级到unstalbe版本,首先将源换成unstale的,然后执行apt-get update,然后执行apt-get dist-upgrade。
apt仓库以及apt-get分析的更多相关文章
- 如何创建一个简单 APT 仓库
0. 无废话版本 需求: 有一堆 .deb 包,想把它们做成一个 APT 仓库,这样就可以用apk install pkgname进行安装了,这样一方面自己可以规避 dpkg -i xxx.deb 时 ...
- Linux软件源apt 仓库 包 的概念
概念介绍: 软件源是debian系的概念,把软件放在一个pool里面,用一条命令就可以自动从指定服务器下载并安装. 源列表是/etc/apt/sources.list,里面写了你所用的服务器地址 (其 ...
- debian配置---->/etc/apt/sources.list apt基本源设置指南
yum或apt基本源设置指南 关于: 管理Linux服务器的运维或开发人员经常需要安装软件,最常用方式应该是通过Linux系统提供的包管理工具来在线安装,比如centos的yum,ubuntu或d ...
- studio 连不上远程仓库的各种原因分析
Unable to open the project 1.远程服务器挂了2.网络断了3.登录远程服务器的账号.密码错了4.远程仓库的url地址,被本地的hosts文件重定向了5.要下载远程仓库的某个j ...
- 9-2 yum,dnf和apt
yum, CentOS: yum, dnf YUM: Yellowdog Update Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具 ...
- [转载]Linux软件包及dpkg\apt等方法
Linux软件安装 来源:https://segmentfault.com/a/1190000011200004?share_user=1030000007255638 一.安装包分类 在Linux平 ...
- Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)
apt list *python* Nosee123关注赞赏支持 Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...
- Android客户端性能测试(一):使用APT测试Android应用性能
一.APT介绍: APT:Android Performance Testing Tools,适用于开发自测和定位性能瓶颈,帮助测试人员完成[性能基准测试.竞品测试]. APT提供了CPU利用率实时曲 ...
- 关于Ubuntu下apt的一些用法及和yum的比较
Fedora和Red Hat有yum安装软件,Ubuntu有apt工具. apt简单的来说,就是给Ubuntu安装软件的一种命令方式. 一.apt的相关文件 /etc/apt/sources.list ...
随机推荐
- HDU-5319 Painter,深搜标记!
Painter 题意:有一个棋盘n行,列数不超过50,用red和blue给这个棋盘涂色,每个格子每种颜色最多涂一次,如果两种颜色都涂了则该格子颜色为Green;red以斜杠'\'方式涂色,bule以' ...
- BZOJ 3295 [Cqoi2011]动态逆序对 ——CDQ分治
时间.位置.数字为三个属性. 排序时间,CDQ位置,树状数组处理数字即可. #include <cstdio> #include <cstring> #include < ...
- 刷题总结——郁闷的出纳员(bzoj1503)
题目: 题目背景 NOI2004 DAY1 T1 题目描述 OIER 公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是 ...
- Garbage First介绍
本文摘自<构建高性能的大型分布式Java应用>一书,Garbage First简称G1,它的目标是要做到尽量减少GC所导致的应用暂停的时间,让应用达到准实时的效果,同时保持JVM堆空间的利 ...
- python和scrapy的安装【转:https://my.oschina.net/xtfjt1988/blog/364577】
抓取网站的代码实现很多,如果考虑到抓取下载大量内容scrapy框架无疑是一个很好的工具.Scrapy = Search+Pyton.下面简单列出安装过程.PS:一定要按照Python的版本下载,要不然 ...
- ajax 提交数组,mybatis 数组接受
function jinxingzhong() { // 配送单编号:psd2017090103 var divHtml = ""; $.ajax({ type: "PO ...
- druid 的应用(密码加密),logback的应用
参考博客:https://github.com/yjmyzz/spring-mybatis-multidatasourcehttp://www.cnblogs.com/dream-to-pku/p/6 ...
- 装B技能GET起来!Apple Pay你会用了吗?
科技圈儿有一个自带光环的品牌 它每次一有任何动静 不用宣传 也不用刻意营销 消息还是能传天下 2月18日 你敢说你的朋友圈儿没有被下面这个词儿刷屏? Apple Pay 这不,我就跟着凑凑热闹,开个小 ...
- Python3 MySQL 数据库连接 - PyMySQL 驱动 笔记
sql插入语句(推荐): str_mac = "nihao" # SQL 插入语句 sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ L ...
- hadoop+yarn+hbase+storm+kafka+spark+zookeeper)高可用集群详细配置
配置 hadoop+yarn+hbase+storm+kafka+spark+zookeeper 高可用集群,同时安装相关组建:JDK,MySQL,Hive,Flume 文章目录 环境介绍 节点介绍 ...