引子
Ubuntu系统的软件源就是指Ubuntu系统的软件更新管理器下载更新软件的来源,是一个软件仓库。Ubuntu系统对这个软件源的配置的信息是放在一个文本文件中的,这个文本文件的完整路径一般是/etc/apt/sources.list
。这个文件控制着Ubuntu更新下载软件的来源,通过修改这个文件,我们便可以修改本Ubuntu系统的软件源。
有的时候,Ubuntu官方的源可能因为网络问题访问不到,这个时候,可以把软件源配置为国内的Ubuntu软件仓库镜像站点。
方法
-
备份配置文件,由于本操作需要管理员权限,需要用
sudo
。sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
- 1
-
获取Ubuntu系统发布版本的代号,不同发布版本代号配置是不一样的。
lsb_release -c
- 1
-
将
/etc/apt/sources.list
文件的内容清除,然后加入目的软件源的配置。比如拷贝如下内容,便是使用阿里的Ubuntu软件仓库镜像站点,这儿是支持Ubuntu 18的。deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse -
使用如下命令,从新配置的目的软件源更新软件列表信息到本地,由于本操作需要管理员权限,需要用
sudo
。sudo apt-get update
- 1
-
以后用
apt-get
安装或者更新软件,便会从新配置的软件源下载。
延伸
Ubuntu系统的软件管理方式与Windows不太一样,Windows系统下面的软件,一般没什么第三方依赖(大多数时候只对操作系统的库有依赖),所以Windows下面的软件一般以安装包的方式提供,安装一般都比较顺利。
而Ubuntu系统,这种基于Linux的系统,上面的软件多是开源软件,开源软件之间的依赖比较严重,所以以安装包的方式单独提供,在给小白或者初级用户去安装时,往往会碰壁,碰一鼻子灰也还是安装不了。
所以才发展到了这种以仓库的方式来提供软件,操作系统方管理这个仓库,他们会管理这些软件的依赖,并提供相应的工具来从远程仓库下载安装更新软件。只用一个命令,便自动把软件安装上了,有依赖会自动分析依赖并把依赖的软件一并安装或者更新。这样大大方便了用户,提高了软件安装简易度。而连接远程的仓库和本地的工具的便是这个软件源配置文件。
Ubuntu系统的软件源配置文件中的条目,一般是如下格式:
deb或deb-src URL Ubuntu发行版仓库类别 软件类别1 软件类别2 ···
其中,各部分意义如下:
-
第1部分可以是deb或者deb-src,deb指这是一个二进制的仓库,deb-src指这是一个源代码的仓库。
-
第2部分是一个URL地址,这儿一般是一个http协议的地址,也可是一个ftp协议的地址或者file协议(比如从本地光盘搭建的仓库)的地址。
-
第3部分是Ubuntu系统发行版仓库类别,与仓库中的文件夹是对应的,一般是以发行版的代号组成的几种固定类别:
代号:该发行版主要的仓库。
代号-security:该发行版的重要的安全更新的仓库。
代号-updates:该发行版的推荐的更新的仓库。
代号-proposed:该发行版的提前释放出的更新的仓库,这类更新一般是带公测性质的,可能不太稳定,有点类似开发者预览版本。
代号-backports:该发行版的不支持的更新的仓库。(这儿我也不清楚是何种性质的) -
第4部分及之后的是指仓库中软件的类别,与仓库中的文件夹是对应的,一般是固定的如下几类:
main:官方支持的免费开源的软件。
universe:社区维护的免费开源的软件。
multiverse:有版权和合法性问题的软件。
restricted:设备的专有驱动。
【转自】:配置Ubuntu软件源。