有些专门的网站服务器提供了Linux系统需要的软件源(仓库),这使得我们可以很方便的安装、更新我们的linux软件。这里以ubuntu系统为例进行学习:

https://packages.ubuntu.com/ 这个站点为您提供了关于Ubuntu包存档中所有可用包的信息。

alt text

1 软件源配置路径

  • 传统的deb软件源列表/etc/apt/sources.list

  • 个性化源配置目录/etc/apt/sources.list.d/,该目录中的源文件一般是各个发行版自己配置的特定软件源,或者用户自己写入的软件源。

ubuntu中,通过下载deb包安装的软件一般会生成一个该deb包的软件源,并存放在个性化源配置目录中,以便新版本发布后供用户更新。(比如:vs code)

alt text

2 传统的软件源格式

deb [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]
deb-src [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]

每行配置一般包括四个方面的内容:

  • deb和deb-sr:检索的软件包格式,deb表示检索deb安装包,deb-src表示检索deb源码包。

  • [ option1=value1 option2=value2 ]:检索选项,如[ arch=amd64,armel ]表示只检索amd64和armel。注意:如果有检索选项,则将选项内容放在[]内,选项名称与其值之间用等号(=分隔);如果有多个检索选项,则这些值用逗号彼此分隔。

  • uri:软件源存放地方,可以识别的uri包括http,https,mirror,file,ftp,cdrom,ssh等。

  • suite:suite:发行套件,可以是一个版本,也可以是某些特定意义的归档,比如stable(稳定版)、testing(测试版)、focal(主要软件或者说重要软件)、trusty(可靠版)…

  • component:组件,主要是用于区分软件版权,一般有4个组件:

    • main 官方支持,自由软件。

    • restricted 官方支持,非完全自由软件。

    • universe 非官方支持,社区维护的自由软件。

    • multiverse 非官方支持,非自由软件。

alt text

alt text

以Ubuntu镜像源为例 http://cn.archive.ubuntu.com/ubuntu/,其中,dists目录中存放的就是suite,pools中存放的就是component。

3 添加软件源