当前位置: 首页 > news >正文

/etc/apt/sources.list 和 /etc/apt/sources.list.d

 

转自:大数据云技术基础之Linux源:/etc/apt/sources.list文件

导读

1./etc/apt/sources.list的作用是什么?
2.为什么会产生 /etc/apt/sources.list.d?
3.deb http://cn.archive.ubuntu.com/ubuntu/ precise main restricted中precise main restricted该如何解析?

正文

一般源信息都存在这个文件中。但众多软件源都放在一个文件里实在有点乱,于是新版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
View Code

sources.list 文件的解析:

deb http://cn.archive.ubuntu.com/ubuntu/ precise main restricted这句话到底怎么解释,对应着服务器上的什么目录呢?对应的是:

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/  在precise这个版本目录下还有有若干目录,里面有

deb-src 会对应 source,deb 会对应 binary-xxx  ,xxx就是arch,比如i386(32位)或是amd64(64位)。

比如想自己指定 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-"。另外这里坑爹的是,必须要加 [] ,不然就报错。

最后再罗嗦几句:

还是看 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!

这个例子使用的是稳定的软件库。在实际中间,稳定的发行版本没有别的发行版本那么频繁地变化。所有最新的软件包都包含在Debian最新但尚不完善的不稳定(unstable)发行版本中。“不稳定”未必意味着软件包自身不稳定,而是整个发行版本的组成不稳定。每周更新的软件量一般超过100MB。

sources.list文件里的配置行按顺序逐行分析,所以从理论上说,您可以把unstable和testing行放在文件末尾,让stable(稳定)版本优先。这个方法的问题是,因为APT的依赖性延伸,一个不稳定的软件包会把它所依赖的所有软件包的不稳定更新版本都带进来。这些软件包接下来又可能会把自己所关联软件的不稳定版本再带进来,以此类推。一个老鼠坏了一锅汤,不要在您的生产系统上安装不稳定的软件包。

如果您必须把一个从unstable(不稳定)发行版本来的软件包加到您的生产环境中,正确的做法是使用一个“向后移植(backport)”的软件,即在稳定发布上重新编译它,让它同稳定的库链接。为了找到这些backport和其他细节,可检查位于www.apt-get.org的APT搜索引擎。在Norbert Tretkowski的站点www.backports.org上,能够找到许多向后移植的软件包(不只是给出链接)。在这个软件库中的向后移植软件包质量都很高,对外部的依赖性也最低。

 

转载于:https://www.cnblogs.com/kelamoyujuzhen/p/9728260.html

相关文章:

  • 国内pip
  • citus实战系列之三平滑扩容
  • ET的Actor应用的场景
  • Vue.js学习(一)
  • 20180925-3 效能分析
  • 网络知识
  • [Android] Implementation vs API dependency
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • linux安装LNMP环境之安装MySQL
  • 11111111
  • 单词个数统计上机实验
  • vue 项目基础 搭建
  • PHP基础知识(三)
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • 数据库两大必备神器:索引和锁底层原理是什么!
  • 【EOS】Cleos基础
  • 【Linux系统编程】快速查找errno错误码信息
  • Akka系列(七):Actor持久化之Akka persistence
  • extract-text-webpack-plugin用法
  • Java IO学习笔记一
  • jquery cookie
  • JSONP原理
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • JS字符串转数字方法总结
  • python 装饰器(一)
  • spark本地环境的搭建到运行第一个spark程序
  • Tornado学习笔记(1)
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 反思总结然后整装待发
  • 回顾2016
  • 前端自动化解决方案
  • 如何设计一个比特币钱包服务
  • 我看到的前端
  • kubernetes资源对象--ingress
  • puppet连载22:define用法
  • ​什么是bug?bug的源头在哪里?
  • # 飞书APP集成平台-数字化落地
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (一)为什么要选择C++
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .cfg\.dat\.mak(持续补充)
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .Net6 Api Swagger配置
  • .net6+aspose.words导出word并转pdf
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • //解决validator验证插件多个name相同只验证第一的问题
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [AIGC codze] Kafka 的 rebalance 机制