apt系统中sources.list文件的解析

为什么要分析 sources.list 的解析? 我不是APT的开发者, 仅仅是遇到了躲只是的问题,不分析就没法update,详细原因就不详述了,反正搜索到这篇文章的人,肯定也是碰到了类似的问题。什么?你没有问题? 那还浪费时间看这个干嘛?

为啥这么说呢? 由于我花了非常多时间,搞明确了 apt sources.list 的格式,问题攻克了,但是这些知识又有什么意义呢? 和我真正想干的事全然不相干啊,纯属浪费时间而已。这属于被逼无奈的被动无用功, 由于不搞明确了就没法干正事. .

所以,读了王垠近期的吐槽:《谈 Linux,Windows 和 Mac》后( http://www.yinwang.org/blog-cn/2013/03/07/linux-windows-mac/),我是真心赞同他的某些观点:在易用性方面,linux和windows还差得非常远。

但是话又说回来了,我们对大牛也不能一味盲从~ 苹果相同是 unix 内核,如今大家公认的,苹果在易用性方面做到了最好(也不完美,但好歹比其它的都强);android 用的 linux内核,易用性也相当不错。所以我认为,这个易用性和*nix还是windows没啥必定的联系,易用性是个水磨功夫,无论是方便的各种GUI界面,还是整个系统级的统一接口风格,都要有强大的利益驱动,才会有人去做。不然我仅仅是自己写着玩的,激情过后,谁还有心情再翻来覆去的为别人怎么用担心,反正我自己用着没不论什么问题,你认为不好用?
 那仅仅能说明你笨。。。

吐槽结束,以下是具体内容:

-----------------------------------

/etc/apt/sources.list

一般源信息都存在这个文件中。但众多软件源都放在一个文件中实在有点乱,于是新版ubuntu也有了分类的方法:

文件夹  /etc/apt/sources.list.d/

在这个文件夹下,随便起名字, 仅仅要以 list 为扩展名就可以。比方google chrome 的源就放在了

/etc/apt/sources.list.d/google-chrome.list   文件里。

>> cat google-chrome.list

deb http://dl.google.com/linux/chrome/deb/ stable main

很多其它的背景信息就不说了,随便google一下就有比我具体得多的介绍, 仅仅说说我google了半天也没找到,浪费了不少时间才分析出来的东西: sources.list 文件的解析:

deb http://cn.archive.ubuntu.com/ubuntu/ precise main restricted

这句话究竟怎么解释,相应着server上的什么文件夹呢?  相应的是:

http://cn.archive.ubuntu.com/ubuntu/dists/precise/main

http://cn.archive.ubuntu.com/ubuntu/dists/precise/restricted

也就是说,解析规则是这种 :

uri + "dists" + 版本号信息 + 若干个分类

http://cn.archive.ubuntu.com/ubuntu/dists   这个文件夹下有若干文件夹,里面有 ubuntu 的全部版本号

http://cn.archive.ubuntu.com/ubuntu/dists/precise/  这个文件夹下有若干文件夹,里面有

binary-amd64/                                      26-Apr-2012 06:49       -
binary-i386/                                       26-Apr-2012 06:49       -
debian-installer/                                  14-Oct-2011 08:29       -
dist-upgrader-all/                                 21-Apr-2012 01:33       -
i18n/                                              26-Apr-2012 06:49       -
installer-amd64/                                   24-Apr-2012 03:35       -
installer-i386/                                    24-Apr-2012 04:05       -
source/

deb-src 会相应 source,deb 会相应 binary-xxx  ,xxx就是arch,比方i386(32位)或是amd64(64位)。(其它的未深究)

默认会 If this option is not set all architectures defined by the APT::Architectures option will be downloaded.

option 是啥?比方想自己指定 arch,那就这么写:

deb [arch=amd64] http://cn.archive.ubuntu.com/ubuntu/ precise main restricted

则相应:

http://cn.archive.ubuntu.com/ubuntu/dists/precise/main/binary-amd64/

解析时会自己主动加上 "binary-"。另外这里坑爹的是,必需要加 [] ,不然就报错。man 里是这么写的:

deb [ options ] uri distribution [component1] [component2] [...]

尼玛这样的写法谁知道是一定要加[]啊! 我開始就直接无视,结果浪费非常多时间。。

最后再罗嗦几句:

还是看 deb http://cn.archive.ubuntu.com/ubuntu/ precise main restricted

在 http://cn.archive.ubuntu.com/ubuntu/dists/precise 下应该存在 Release 文件,在这个文件里会有文件夹的具体信息

也就是说,你自己拼地址的时候,uri + version 要拼到一个有 Release 的文件夹,不然就会报错。

还有,Release文件假设和实际的文件夹结构不符(怪事年年有),那就要用前面说的 option 了,good lucky!

时间: 2024-07-28 13:37:52

apt系统中sources.list文件的解析的相关文章

iOS中中UIView头文件详细解析

@interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem> /** *  通过一个frame来初始化一个UI控件 */ - (id)initWithFrame:(CGRect)frame; // YES:能够跟用户进行交互 @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteraction

Linux系统中三类重要文件的作用与区别

文章来源 | IT笔录 Linux系统中,有三种文件类型出现的非常频繁,那就是profile.bash_profile.bashrc文件. 因为名称的缘故,很多人会把这三类文件的作用记混,因此我们今天就来详细盘点一下这三类文件的作用及区别. 1. profile文件 1.1 profile文件的作用 profile(/etc/profile),用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户生效. 当用户登录(login)时,文件会被执行,并从/etc/profile.d目录的配

linux 系统中的特殊文件

特殊文件是UNIX系统中最具特色的文件特性之一.特殊文件也称设备文件.提供用户访问外部设备,而不必知道各种设备的具体操作.UNIX利用特殊文件作为用户与设备文件的接口,使用户能像访问普通文件那样访问特殊文件.      特殊文件不包含任何数据,她只是提供了一种机制,即在文件系统中建立物理设备与文件名之间的映射.特殊文件利用mknod或系统调用创建,且必须提供相关的驱动程序,并集成到系统内核中.否则即使创建了特殊文件,也无法访问相应的设备.     mknod special   type  [

SSM+MySQL开发架构中SQL mapper文件的解析和审计

SSM+MySQL已是Java开发的主流架构.在SSM+MySQL架构中,SQL一般写在mapper映射文件中,对于mapper文件的审计一直是个头疼的问题,测试人员很难覆盖mapper文件中动态SQL的所有情况,开发人员更是无法罗列每一个select id对应的所有SQL.在和开发同时沟通后,觉得自己可以写一个小工具来解决这一痛点!笔者作为一名DBA,自学了golang,经过七个月的努力初步完成了myaudit这一款实用性极强的SQLAudit小工具的开发,欢迎使用和吐槽,项目地址:https

leetcode 609. 在系统中查找重复文件

目录 题目描述: 示例 1: 解法: 题目描述: 给定一个目录信息列表,包括目录路径,以及该目录中的所有包含内容的文件,您需要找到文件系统中的所有重复文件组的路径.一组重复的文件至少包括二个具有完全相同内容的文件. 输入列表中的单个目录信息字符串的格式如下: "root/d1/d2/.../dm f1.txt(f1_content) f2.txt(f2_content) ... fn.txt(fn_content)" 这意味着有 n 个文件(f1.txt,?f2.txt?...?fn.

关于win7系统中所有exe文件都被以word方式打开的解决方法

手残一刻,电脑桌面所有的软件快捷方式都变成了word的打开方式,鼠标右键选中某exe文件也没打开方式那个选项, 第一次尝试: 在控制面板——默认程序中修改默认打开方式,但是没有找到解决方法 第二次尝试: 万能的重启,你会发现,并没有卵用的…… 第三次尝试: 使用ctrl+alt+delete调出任务管理器,不要妄图使用在任务栏——右键——打开任务管理器,也同样只会是word方式打开,不停的报错,你想要关都关不掉,所以不用理会他,只管使用任务管理器,看到帖子上有人说:“结束掉explorer这个任

android中init.rc文件的解析问题

init.rc中文件里会通过import /init.${ro.hardware}.rc文件,这个ro.hardware应该是某个详细的属性.而这个ro.hardware赋值应该是在Init进程中赋值的. 这个ro.hardware值设置是在/system/core/init.c中实现的,其通过hardware来赋值.hardware首先被/proc/cpuinfo赋值.然后会检測comandline. 假设comandline中有參数为androidboot.hardware,那这个參数在in

fastboot:刷系统中各个img文件

http://blog.163.com/zheng_he_xiang/blog/static/18650532620134305221222/ Android系统adb刷机 作者:郑鹤翔 在android的各个可用软件中,adb,fastboot是最常用的一种,作为开发人员, 我们需要经常的进行内核,系统代码等的修改,假如每一次修改,我们就要烧写一遍所有的img文件, 那样不就很烦躁~~~ 当然,在这方面google公司早就给了我们一个很好的方法!!! adb 和 fastboot软件!! 常用

【转】Android系统中的.apk文件和dex文件

1. *.apk文件 APK是Android Package的缩写,即Android安装包.通过将APK文件直接传到Android模拟器或Android手机中执行即可安装. 使用Android打包工具(aapt)将DEX文件,资源文件以及AndroidManifest.xml文件组合成一个应用程序包(APK).Dex是Dalvik VM executes的全称,即Android Dalvik执行程序. META-INF\ Jar文件 res\ 存放资源文件 AndroidManifest.xml