一切都在于/etc/apt/sources.list

一切都在于/etc/apt/sources.list

我正在浏览Repository files文件/etc/apt/sources.list,看到了以下几行:

deb http://ppa.launchpad.net/elementary-os/stable/ubuntu xenial main
deb-src http://ppa.launchpad.net/elementary-os/stable/ubuntu xenial main

其中,我理解

http://ppa.launchpad.net/elementary-os/stable/ubuntu

是 apt-get 检索文件的地方,但我不明白其中其余单词的意思。这些单词是debdeb-srcxenial mainstable maintrusty main

编辑:另外,我在访问时发现了这些本网站并注意到[arch=amd64]deb和 URL之间。

echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/chrome.list

因此,这里的问题是:

  • sources.list文件中这些字是什么意思?

    deb
    deb-src
    xenial main
    stable main
    trusty main
    
  • 另外,[arch=amd64]意思是?

答案1

您的问题围绕着源列表文件的语法或格式,该文件描述了其他程序获取什么源、如何获取以及从哪里获取源。因此,情况如下:

Apt(A高级p安装工具t

用于管理 Debian 和基于 Debian (Ubuntu) 的系统上的存储库。它使用一个文件,列出Repository Sources应该和可以从哪里获取软件包。该文件还列出了应该如何获取软件包以及从哪些子软件包(或套件)获取软件包。


一切都在于/etc/apt/sources.list

实体的书写格式告诉了 apt 一切。但是,格式有两种变体。

  1. 单行格式

    • 它们有扩展.list
    • 传统格式,支持all version of apt
    • 单行条目描述来源。
    • 例子 :

      deb http://security.debian.org stretch/updates main contrib non-free
      
  2. deb822 样式的格式

    • 他们有扩展.sources
    • apt 本身支持since version 1.1
    • 各个条目由一个空行分隔,其中每个条目包含 形式的信息fieldname : value
    • 例子 :

      Types: deb
      URIs: http://deb.debian.org/debian
      Suites: stretch
      Components: main contrib non-free 
      

你可以从deb822-style format你问的问题中得到一些想法。让我们更详细地了解一下格式。

1.存档类型

  • 它告诉您哪个源将被访问。
  • 每行的第一个字可能debdeb-src表示档案的类型。
  • deb表示该存档包含二进制包(deb),即我们通常使用的预编译包。
  • deb-src表示源包,即原始程序源加上Debian control files (.dsc)包含打包程序所需更改的 diff.gz。
  • 如上所述,单行样式和 deb822 样式格式的选项的格式、语法和名称有所不同,但它们都具有相同的可用选项。

2.存储库 URL 或 URI 规范

它只是一个指向您要从中获取包的源存储库的 URL/URI。您可以为 URL/URI 指定类型,可以是当前可识别的 URI 中的任何类型:

http | https | file | cdrom | ftp | copy | rsh,ssh 

如果需要,您可以添加更多可识别的 URI 类型。

3. 套房

套件是指两种分布属性的组合:

  1. 发行代号名称

    每个操作系统版本都有的别名。每个操作系统都有一个代码名称 你已经知道如何获取发行版的完整代号?

  2. 发布等级

    定义包的开发阶段,可以是下列之一或其组合:

    stable testing unstable
    

4. 组件

组件告知包是否:

  • 免费(根据免费软件的定义)或非免费,
  • 独立 (如main) 或在其他地方具有依赖性 (如contrib)。
  • 他们是否遵守分布式文件系统或不。
  • 还告诉存储库部分可以是mainrestricteduniversemultiverse

5.选项

EDIT part问题中的 指的是所谓的选项。顾名思义,它们是可选的,但使用时,它们会修改源条目以获取特定类型的包。它们可以定义:

  • 要获取其包的体系结构。如您在编辑部分引用的源条目中的选项一样:

    "[arch=amd64]"
    
  • 特定语言

  • 信息来源的信任程度
  • Pdiff 值
  • 以及其他许多人。

语法(修订版):

  • 单行格式

    [archive-type] [ option1=value1,option2=value2 ] URI suite [component1] [component2] [...]
    
  • deb822 样式的格式

    Types: deb deb-src
    URIs: uri
    Suites: suite
    Components: [component1] [component2] [...]
    option1: value1
    option2: value2
    

一些有用的链接。

  1. sources.list 文件中的示例行

  2. 如何删除 sources.list 中格式错误的行

请随意添加更多详细信息。

相关内容