一、APT仓库目录结构
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。
通过它们可以找到真正的二进制包和源码包。
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。
二 、debian repository 目录结构
下面是简化的Ubuntu源的目录结构。
NOTE:
所有的兄弟文件夹(父目录相同的文件夹)都只展开第一个
Pool文件夹的四个子文件夹里,存放的是按照字母顺序分类的各个软件包
每个repo的文件夹会有出入,实际以你使用的为准
重要的文件(夹)和解释
根目录下至少有两个文件夹:dists和pool。dists文件夹里存储的是关于软件包的信息数据,包括:文件名称、大小、位置、校验码等。而pool文件下是具体的软件包存放位置,单独把文件放在pool文件夹里是为了防止文件的重复。
Release/InReleas
文件位于
相关文章
- 02-16APT仓库目录和repository目录结构
- 02-16Maven仓库的目录结构
- 02-162.SDK目录结构和adb工具及命令介绍
- 02-16SpringBoot目录文件结构和官方推荐的目录规范、静态资源访问
- 02-16IntelliJ IDEA中项目的包和目录结构显示设置
- 02-16<ubbot&Makefile>uboot下的文件目录结构和主Makefile的分析
- 02-16APT仓库目录和repository目录结构
- 02-16微信小程序笔记(1):小程序的代码构成和目录文件结构
- 02-16自定义包的目录结构、go install 和 go test
- 02-1602 make menuconfig和目录结构