linux之source.list的使用解析

 更新时间:2025年03月04日 10:19:32   投稿:jingxian  
/etc/apt/source.list文件定义了软件源的相关信息,包括档案类型、仓库地址和版本代号,仓库地址指向了软件包的索引文件和具体存放路径,修改该文件后需要更新软件包列表,才能安装新的软件

linux source.list的使用

众所周知,linux可以通过apt命令安装软件,那么apt又是从哪里获取软件包呢并安装呢?

这里就绕不开一个文件source.list,该文件定义了软件源相关的信息。

下面以实际例子,详细的介绍下这个文件。

文件作用

定义软件源的信息

文件所在路径

/etc/apt/source.list

文件解析

文件的内容如下,以本机为参考,本机环境是x86_64+银河麒麟系统,试图 如下所示:

通过上图可以看出这个可以分为3个部分:

  • 档案类型,有两种取值:deb和deb-src,deb为预编译二进制包;deb-src为源码包,源码包通常需要自己编译。
  • 仓库地址,改地址是软件源的url地址。进入该url后可以看到有两个目录,一个是dist,一个pool,其中dist目录中包含的是软件包的索引文件,该目录中存在具体的软件包,可以这么理解:dist目录中定义了各个不同的发行版本软件源的索引文件,这些索引文件中定义了软件的相关信息例如软件包的名称、依赖项、存放路径等,而pool则是软件包具体存放路径。

图示如下:

  • 版本代号,这个条目的对应前面图示的10.1,这个10.1是什么呢?答案是一个目录,那这个10.1在哪里呢?不要着急,进入dist目录就可以看到10.1这个目录。如下所示:

进入10.1目录后可以看到如下目录:

上图中的可以看到main restricted universe等目录。这些目录就有不同的含义。

含义如下所示:

  • main:官方支持的自由软件。
  • restricted:官方支持的非完全自由的软件。
  • universe:社区维护的自由软件。
  • multiverse:非自由软件。

继续进入下层目录,例如点击main目录,图示如下所示:

可以看到该目录下包含了不同平台的索引文件文件夹,例如amd64 arm64 loongarch64(龙心平台),mips平台等。

那索引文件呢呢?图示如下:

Packages.gz是一个压缩包文件,将文件解压后是一个纯文本文件,文件里面将该平台中所有支持的软件包信息列出来,打开解压后的文件,文件内容类似如下:

Package: libxcb-image0-dev
Architecture: arm64
Version: 0.4.0-1build1
Multi-Arch: same
Priority: extra
Section: libdevel
Source: xcb-util-image
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Kylin Developers <devel-discuss@kylinos.cn>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 74
Depends: libxcb-image0 (>= 0.4.0-1build1), libxcb1-dev, libxcb-shm0-dev---依赖项
Filename: pool/main/x/xcb-util-image/libxcb-image0-dev_0.4.0-1build1_arm64.deb--文件路径
Size: 15916
MD5sum: 0ebc6ff841d52c2e6a5da11fb047cb1d
SHA1: 65284ef5d55de682a72a258c49295669496ecc01
SHA256: 51e2b623826b289a9b57c5fccfcfd43a47a8563b100a16ae0de57f196542199c
SHA512: 2437b6d23beaaec3fc9fc30390cf1d616757d971c130852a3f77ba02edc1eb8e7c34b09f1be795177d0ae01554ef431b24c899b31ba9bbb911b626dcc25c644f
Homepage: http://xcb.freedesktop.org
Description: utility libraries for X C Binding -- image, development files
This package contains the header and library files needed to build software
using libxcb-image, providing port of Xlib's XImage and XShmImage functions.
.
The xcb-util module provides a number of libraries which sit on top of
libxcb, the core X protocol library, and some of the extension
libraries. These experimental libraries provide convenience functions
and interfaces which make the raw X protocol more usable. Some of the
libraries also provide client-side code which is not strictly part of
the X protocol but which have traditionally been provided by Xlib.
Second-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
X-Raw-MD5sum: 54b05e232bed763c18979eab8f3c40be
cert_subject_cn: 麒麟软件有限公司
cert_subject_o: 麒麟软件有限公司
cert_subject_ou: DS120G321040301
  • 软件包分类,跟在版本代号之后的就是软件包的分类,根据前面讲述的不同分类的作用,用户可以选择下载哪些软件包。可以有一个或者多个。
  • 前面的例子中包含了main universe multiverse restricted4个目录。

修改该文件如何生效

sudo apt-get update

至此,应该了解了这个文件的作用了吧,哈哈!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • ubuntu13.10编译安装mono环境(一)

    ubuntu13.10编译安装mono环境(一)

    Mono是一个自由开放源代码项目。该项目的目标是创建一系列符合ECMA标准的.NET工具,包括C#编译器和通用语言架构。Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些游戏平台,例如:Playstation 3,Wii或XBox 360。
    2014-07-07
  • linux的网络通信和进程间通信解读

    linux的网络通信和进程间通信解读

    Linux中进程间通信(IPC)用于同一主机的高效数据交换,网络通信支持跨主机的灵活传输,IPC适用于本地高可靠场景,网络通信适合分布式系统,选择依据为性能需求和通信范围,混合架构可结合Unix Domain Socket优化效率
    2025-09-09
  • linux应用软件编程之多任务(进程)详解

    linux应用软件编程之多任务(进程)详解

    文章介绍了进程与多任务的概念,涵盖进程定义、状态(运行、就绪、等待、僵尸等)、调度算法及资源回收机制,并列举了ps、top、kill等系统命令和fork、exit等编程方法,说明如何创建、管理及终止进程
    2025-08-08
  • Centos5给/根分区扩容

    Centos5给/根分区扩容

    今天在调整VPS的时候发现自己的/分区的空间用光了.但是还剩下一个分区hda3没动.于是乎.想调整到根下面去.但是由于本人新手一个.又不太了解linux的分区机制.
    2010-06-06
  • Linux镜像拉取失败的解决方案

    Linux镜像拉取失败的解决方案

    文章总结:本文介绍了两个Docker镜像拉取错误的原因及解决方法,第一个问题是由于镜像源速度太慢导致超时,解决方法是更换更好的镜像源,第二个问题是连接被拒绝,解决方法同样是更换镜像源,希望本文能为大家提供帮助,也欢迎在脚本之家分享更多经验
    2026-03-03
  • CentOS配置永久静态IP的流程步骤

    CentOS配置永久静态IP的流程步骤

    这篇文章主要介绍了CentOS配置永久静态IP的流程步骤,在 CentOS 6 中,配置永久 IP 地址需要修改网络配置文件,完成以上步骤后,你的静态 IP 配置就会永久生效,即使重启系统,配置也会保持不变,需要的朋友可以参考下
    2026-02-02
  • Linux与windows文件传输详解及实例

    Linux与windows文件传输详解及实例

    这篇文章主要介绍了Linux与windows文件传输详解及实例的相关资料,需要的朋友可以参考下
    2017-03-03
  • CentOS下安装Memcached和PHP Memcached扩展

    CentOS下安装Memcached和PHP Memcached扩展

    今天小编就为大家分享一篇关于CentOS下安装Memcached和PHP Memcached扩展,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Centos7 iptables开放端口实现方式

    Centos7 iptables开放端口实现方式

    排查MySQL远程连接失败:先确认安全组端口开放,再检查FirewallD是否运行,若未启用则查看iptables规则,发现3306被DROP后修改为ACCEPT,测试连接成功,总结经验供参考
    2025-08-08
  • 详解CentOS7.0安装与配置Tomcat-7

    详解CentOS7.0安装与配置Tomcat-7

    本篇文章主要介绍了CentOS7.0安装与配置Tomcat-7,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论