zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    解决Web部署 svg/woff/woff2字体 404错误
    C# 汉字转拼音
    jquery ajax返回Internal server error 500错误解决方案
    bootstrap datepicker只能选择小于今天的日期
    向txt文件追加异常日志
    C# DataTable 和List之间相互转换的方法
    js点击行选中checkbox
    bootstrap-datepicker 插件修改为中文显示
    C# 压缩/解压字符串
    c# MD5加密
  • 原文地址:https://www.cnblogs.com/hustdc/p/7273811.html
Copyright © 2011-2022 走看看