apt系统中sources.list文件的解析
/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文件的解析的更多相关文章
- win7系统中如何使文件显示出扩展名
win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择"文件夹及搜索选项"-->> ---- ...
- 让Win10显示系统中隐藏的文件夹
让Win10显示系统中隐藏的文件夹.. ------------------------- -----------------------
- win7系统中如何使文件显示出扩展名或显示文件后缀名
win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择“文件夹及搜索选项”-->> -------------- ...
- 用chattr命令防止系统中某个关键文件被修改
用chattr命令防止系统中某个关键文件被修改:# chattr +i /etc/resolv.conf
- Java实现 LeetCode 609 在系统中查找重复文件(阅读理解+暴力大法)
609. 在系统中查找重复文件 给定一个目录信息列表,包括目录路径,以及该目录中的所有包含内容的文件,您需要找到文件系统中的所有重复文件组的路径.一组重复的文件至少包括二个具有完全相同内容的文件. 输 ...
- linux系统中批量查找文件与文件内容的方法
在linux中查看与修改文件权限我们都必须使用命令来操作,不能像windows一样点几下就好了,下面我们简单的介绍一下linux中的相关命令 比如查找当前目录下面所有的php文件里面某个关键字 fin ...
- 在Linux系统中如何把文件拷贝到U盘
Linux下把所有的都当成文件处理,如果在linux系统下需要拷贝文件,哪么你需要先把U盘挂载到系统中的某一个位置,然后再使用cp命令完成拷贝. 工具/原料 Linux操作系统一台 U盘一枚 方法 ...
- linux 系统中的特殊文件
特殊文件是UNIX系统中最具特色的文件特性之一.特殊文件也称设备文件.提供用户访问外部设备,而不必知道各种设备的具体操作.UNIX利用特殊文件作为用户与设备文件的接口,使用户能像访问普通文件那样访问特 ...
- 在ASP.NET MVC 框架中调用 html文件及解析get请求中的参数值
在ASP.NET MVC 框架中调用 html文件: public ActionResult Index() { using (StreamReader sr = new StreamReader(P ...
随机推荐
- Ajax的基本语法
//声明XMLHttpRequest var xmlHttp = null; // 创建XMLHttpRequest对象兼容所有浏览器 function createXMLHttpR ...
- C#获取程序路径
// 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径. System.Diagnostics.Process.G ...
- Linux 线程与进程,以及通信
http://blog.chinaunix.net/uid-25324849-id-3110075.html 部分转自:http://blog.chinaunix.net/uid-20620288-i ...
- 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 ...
- 如何使用不同参数组合生成独立的TestCase函数(Python)
在使用selenium2 Python做自动化测试的时候遇到个问题,写一个testcase 生成报告后,会有一个case的执行状态记录.这样我们写一个登录功能的自动化用例,只写一个case显然是不行的 ...
- 如何用Pr完成作业~
要求~ 我的工具~(随便搞搞就好了,自己的录音还没弄~)
- 使用 JavaScript
我们要用 JavaScript,但是把它写在哪里呢? 这里 ↘ 1. HTML 页面中 . 2. 单独的一个文件中,文件后缀名是“.js”. ——————————————————— ...
- marquee滚动,无缝连接的代码
页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...
- reactjs源码
'use strict'; var EventConstants = _dereq_(15);var EventPropagators = _dereq_(19);var ExecutionEnvir ...
- 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 ...