首页 > 其他分享 >`/etc/apt/sources.list` 文件和 `/etc/apt/sources.list.d` 目录介绍

`/etc/apt/sources.list` 文件和 `/etc/apt/sources.list.d` 目录介绍

时间:2024-01-20 13:34:09浏览次数:25  
标签:文件 etc list apt sources 软件

Debian 是一款广泛使用的 Linux 发行版,它使用 apt 软件包管理工具来处理软件包的安装、升级和删除。apt 管理软件包的工作依赖于一个或多个软件仓库(repository),这些仓库定义在 /etc/apt/sources.list 文件以及 /etc/apt/sources.list.d/ 目录下的文件中。

/etc/apt/sources.list 文件包含了 Debian 软件包管理器 apt 所需的软件源列表。软件源是指存储有软件包及其数据的服务器或本地目录,它们允许用户安装和更新软件包。这些源可以是官方的,也可能是第三方的。

源的格式一般是这样的:

类型 URL 发行版 软件分区

  • 类型:软件源的类型。通常是 deb 用于二进制包,或者是 deb-src 用于源代码包。
  • URL:软件源的网址或路径。
  • 发行版:指定发行版的代号(如 stretch, buster, bullseye)或类别(如 stable, testing, unstable)。
  • 软件分区:软件库的分区,如 main、contrib 和 non-free。

举个例子:

deb http://deb.debian.org/debian/ buster maindeb-src http://deb.debian.org/debian/ buster main

在这个例子中,deb 表示这个源包含编译好的二进制文件,而 deb-src 表示这个源包含软件包的源代码。http://deb.debian.org/debian/ 是软件仓库的 URL,在这里,buster 是 Debian 10 的发行版代号。main 表示这个源包含 Debian 发行版的自由软件部分。

你可以通过编辑这个文件来添加、删除或更改软件包仓库。要添加一个新的软件源,你需要以超级用户权限编辑 /etc/apt/sources.list 文件,并按照上面的格式添加一行新的源配置。完成后,通过运行 sudo apt update 命令,你可以让 apt 从新添加的源中获取和更新软件包列表。

另外,为了组织和管理方便,apt 还支持读取 /etc/apt/sources.list.d/ 目录下的文件。这些文件的格式和主 sources.list 文件相同,但这种机制让你可以把软件源分散在不同的文件中,以防止主 sources.list 文件过于复杂。

/etc/apt/sources.list.d 目录介绍

Debian 和基于 Debian 的系统(如 Ubuntu)使用 APT(Advanced Package Tool)作为软件包管理系统。APT 将软件源配置放在两个主要的地方:/etc/apt/sources.list 文件和 /etc/apt/sources.list.d/ 目录。就像前面提到的,/etc/apt/sources.list 是主配置文件,包含了系统默认的软件源列表。而 /etc/apt/sources.list.d/ 目录则被用来存储附加软件源的单独文件。

/etc/apt/sources.list.d/ 目录的主要作用是组织和分离软件源配置,以保持系统的整洁和易于管理。每个文件通常包含单独一个软件源或者相关联的软件源组,这些文件最终会被 APT 工具合并并且和主 sources.list 文件一起处理。

这些文件的命名约定通常是 <repository>.list,它们遵循与 /etc/apt/sources.list 文件相同的格式。

举例来说,如果你想添加一个第三方软件仓库,通常供应商或项目会提供一个 .list 文件或是相应的命令,你把它添加到 sources.list.d 目录下。例如,对于 Google Chrome 的 Debian 仓库,你可能会创建一个名为 google-chrome.list 的文件,内容如下:

deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main

在配置了新的源之后,为了让 APT 识别和使用这些新增的源,你需要执行:

sudo apt update

这个命令将会更新软件包列表,使得新添加的软件源可用于软件包的安装和更新。通过这种机制,维护者可以轻松地添加或删除软件源,而不需要直接编辑主 sources.list 文件,这使得软件源的管理更加灵活和模块化。

标签:文件,etc,list,apt,sources,软件
From: https://www.cnblogs.com/Undefined443/p/17976363

相关文章

  • Linked list reversal using stack【1月19日学习笔记】
    点击查看代码//Linkedlistreversalusingstack#include<iostream>#include<stack>//stackfromstandardtemplatelibrary(STL)usingnamespacestd;structnode{ chardata; node*next;};node*A;//全局头指针voidreverse(){ if(A==NULL)return;//空......
  • nacos 动态刷新 数组对象 List/数组类型、复杂类对象配置
    @Value环境依赖版本SpringCloud是个大前提,不然还是考虑上面方式或者原生接入方案;@NacosPropertySource(dataId="mydata",autoRefreshed=true)同时@RefreshScope方能接收到nacos的push数据。@NacosValue依赖springbootNacos动态刷新基本数据类型很简单,只需要在字段......
  • Java里ArrayList中的toArray()用法
    深入理解List的toArray()方法和toArray(T[]a)方法这两个方法都是将列表List中的元素转导出为数组,不同的是,toArray()方法导出的是Object类型数组,而toArray[T[]a]方法导出的是指定类型的数组。下面是两个方法的申明及说明,摘自Java8的API文档。toArray()方法的分析Object[]toA......
  • [论文阅读] Anomaly detection with domain adaptation
    Anomalydetectionwithdomainadaptation3.MethodologyProblemStatement我们研究了在领域适应设置中的半监督异常检测问题。在训练阶段,学习算法可以访问\(n\)个数据点\(\left\{\left(\boldsymbol{x}_{src}^{(i)},y_{src}^{(i)}\right)\right\}_{i=1}^n\in(X\time......
  • C# .net中PropertyDescriptor的使用和BindingList的ApplySort排序
    找了好多资料都是java中PropertyDescriptor的使用,至于C#中的都抄袭别人的,又讲不清楚怎么用。官方文档也没不会手把手教你怎么用,经过一下午的研究,结果如下1、找到PropertyDescriptor同一dll下的,使用TypeDescriptor反射出属性的PropertyDescriptorCollection,从这里拿出对应属性的P......
  • Debian换apt源
    要将Debian的apt源设置为国内镜像,可以按照以下步骤进行操作:1备份原始的apt源配置文件:cp/etc/apt/sources.list/etc/apt/sources.list.bak2编辑apt源配置文件,将原有的源地址替换为国内镜像源地址。以下是一些常见的国内镜像源地址:阿里云镜像:https://mirrors.aliyun.com/清......
  • ubuntu设置apt源
    要设置apt国内镜像,可以按照以下步骤进行操作:1备份原始的apt源配置文件:sudocp/etc/apt/sources.list/etc/apt/sources.list.bak2清空原始的apt源配置文件:sudosh-c'echo"">/etc/apt/sources.list'3添加国内镜像源,这里以阿里云镜像为例:echo"debhttp://mirrors.ali......
  • 智能合约安全保障checklist
    一、设计阶段 要根据业务,区分出角色、活动阶段。 明确各种角色在各种活动阶段,有什么样的执行权限 活动的特点,容易在什么阶段、受到什么样的攻击兜底策略应该有哪些二、开发阶段注重实施访问权限控制,按照最小特权原则尽量使用现有、社区审核的库多使用modifier修饰符......
  • Javascript中addEventListener的3个参数
    //例document.addEventListener('click',()=>{//dosomething...},false) 1.addEventListener,接收3个参数第一个参数event:监听的事件名称第二个参数是函数:需要执行的事件第三个参数是useCapture(变量):用来判断是捕获还是冒泡 2.第三个参数为userCapyu......
  • Doubly linked list【1月17日学习笔记】
    点击查看代码//Doublylinkedlist#include<iostream>usingnamespacestd;structnode{ intdata; node*next; node*prev;};//定义双向链表结构体node*A;node*getnewnode(intx){ node*temp=newnode; temp->data=x; temp->prev=NULL; temp->nex......