/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!

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

  1. win7系统中如何使文件显示出扩展名

    win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择"文件夹及搜索选项"-->> ---- ...

  2. 让Win10显示系统中隐藏的文件夹

    让Win10显示系统中隐藏的文件夹.. ------------------------- -----------------------

  3. win7系统中如何使文件显示出扩展名或显示文件后缀名

    win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择“文件夹及搜索选项”-->> -------------- ...

  4. 用chattr命令防止系统中某个关键文件被修改

    用chattr命令防止系统中某个关键文件被修改:# chattr +i /etc/resolv.conf

  5. Java实现 LeetCode 609 在系统中查找重复文件(阅读理解+暴力大法)

    609. 在系统中查找重复文件 给定一个目录信息列表,包括目录路径,以及该目录中的所有包含内容的文件,您需要找到文件系统中的所有重复文件组的路径.一组重复的文件至少包括二个具有完全相同内容的文件. 输 ...

  6. linux系统中批量查找文件与文件内容的方法

    在linux中查看与修改文件权限我们都必须使用命令来操作,不能像windows一样点几下就好了,下面我们简单的介绍一下linux中的相关命令 比如查找当前目录下面所有的php文件里面某个关键字 fin ...

  7. 在Linux系统中如何把文件拷贝到U盘

    Linux下把所有的都当成文件处理,如果在linux系统下需要拷贝文件,哪么你需要先把U盘挂载到系统中的某一个位置,然后再使用cp命令完成拷贝.   工具/原料 Linux操作系统一台 U盘一枚 方法 ...

  8. linux 系统中的特殊文件

    特殊文件是UNIX系统中最具特色的文件特性之一.特殊文件也称设备文件.提供用户访问外部设备,而不必知道各种设备的具体操作.UNIX利用特殊文件作为用户与设备文件的接口,使用户能像访问普通文件那样访问特 ...

  9. 在ASP.NET MVC 框架中调用 html文件及解析get请求中的参数值

    在ASP.NET MVC 框架中调用 html文件: public ActionResult Index() { using (StreamReader sr = new StreamReader(P ...

随机推荐

  1. Ajax的基本语法

    //声明XMLHttpRequest var xmlHttp = null;   // 创建XMLHttpRequest对象兼容所有浏览器        function createXMLHttpR ...

  2. C#获取程序路径

    // 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径. System.Diagnostics.Process.G ...

  3. Linux 线程与进程,以及通信

    http://blog.chinaunix.net/uid-25324849-id-3110075.html 部分转自:http://blog.chinaunix.net/uid-20620288-i ...

  4. tomcant报错The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

    下载与你Tomcat对应版本的 tcnative-1.dll,放到apache-tomcat-7.0.57\bin 目录下,重启tomcat http://archive.apache.org/dis ...

  5. 如何使用不同参数组合生成独立的TestCase函数(Python)

    在使用selenium2 Python做自动化测试的时候遇到个问题,写一个testcase 生成报告后,会有一个case的执行状态记录.这样我们写一个登录功能的自动化用例,只写一个case显然是不行的 ...

  6. 如何用Pr完成作业~

    要求~ 我的工具~(随便搞搞就好了,自己的录音还没弄~)

  7. 使用 JavaScript

    我们要用 JavaScript,但是把它写在哪里呢?   这里 ↘   1. HTML 页面中 .   2. 单独的一个文件中,文件后缀名是“.js”.     ——————————————————— ...

  8. marquee滚动,无缝连接的代码

    页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...

  9. reactjs源码

    'use strict'; var EventConstants = _dereq_(15);var EventPropagators = _dereq_(19);var ExecutionEnvir ...

  10. MySQL PLSQL Demo - 005.IF THEN ELSEIF THEN ELSE END IF

    drop procedure if exists p_hello_world; create procedure p_hello_world(in v_id int) begin ) then sel ...