Ubuntu 软件仓库源

Ubuntu 软件仓库源准备工作:备份初始仓库源sudocp/etc/apt/sources.list/etc/apt/sources-bak.list一、添加仓库源:sudoadd-apt-repositoryppa:kirillshkrogalev/ffmpeg-next更新仓库源:sudoapt-getupdate//访问源列表中每个网址,并拉取可更新的软件列表;但并…

一、概述:

window下我们下载软件习惯性地搜索软件的官网,然后到官网对应的下载入口下载到本地,然后再执行安装。

在ubuntu系统下,我们往往只需要运行apt-get install <package_name> ,一句话即可完成对应软件的安装。其中,apt为debian包管理工具。那么,在ubuntu系统下,当我们使用apt-get install时,系统是去哪里下载软件的呐?

答案是:/etc/apt/sources.list 和 /etc/apt/sources.list.d/路径下*.list的列表中记录的URL。

列表中的内容格式:

deb(or deb-src) URLs Distribution_name Package_type_list:

例如:

deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted

其中:

deb/deb-src分别表示预编译好的dbian文件和debian源文件,

http://cn.archive.ubuntu.com/ubuntu/ 为仓库源存储的URL,

xenial 表示仓库源的版本名

main和restrickted表示的是软件的属性(main:完全的自由软件,restricted:不完全的自由软件,universe:ubuntu官方不提供支持与补丁,全靠社区支持,muitiverse:非自由软件,完全不提供支持和补丁)

 

二、更换源

系统默认使用的是国外的源,经常出现下载缓慢导致超时等问题,可以更换为国内的源,这些国内的源会定期更新软件保证和国外的源同步。常用的国内源包括阿里、清华、中科大等源。

首先,备份系统原始的仓库源:

sudo cp /etc/apt/sources.list /etc/apt/sources-bak.list

(1)编辑/etc/apt/sources.list文件

sudo gedit /etc/apt/sources.list 

(2)将其中的内容替换为(以阿里源为例):

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

再拉取可安装和更新的软件列表:

sudo apt-get update

随后,就可使用sudo apt-get install安装软件,或者sudo apt-get upgrade更新软件了。

三、添加第三方仓库源:

有的时候会需要下载/etc/apt/sources.list中的URL源上找不到的软件,需要手动添加软件仓储源:

sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next

会发现在/etc/apt/sources.list.d/路径下产生了一个kirillshkrogalev-ubuntu-ffmpeg-next-xenial.list的文件,里面记录了该软件的源。

随后,更新仓库源:

sudo apt-get update //访问源列表中每个网址,并拉取可更新的软件列表;但并不更新

然后即可安装仓库源内的软件 

sudo apt-get install ffmpeg

或者更新软件:

sudo apt-get upgrade //将本地软件与源列表上拉去的列表对比,并更新软件

四、删除错误仓库源文件:

有的时候仓储源会出错,或者添加了太多的仓储源导致sudo apt-get update时间过长。在安装完软件后可以移除对应的第三方源,方法:在仓库目录 /etc/apt/sources.list.d ,删除错误仓库源文件:

例如,上面添加的源deb http://ppa.launchpad.net/kirillshkrogalev/ffmpeg-next/ubuntu xenial main导致update报错遇到以下问题,无法update:

Reading package lists... Done
W: The repository 'http://ppa.launchpad.net/kirillshkrogalev/ffmpeg-next/ubuntu xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://ppa.launchpad.net/kirillshkrogalev/ffmpeg-next/ubuntu/dists/xenial/main/binary-amd64/Packages  404  Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.

解决方法:

cd /etc/apt/sources.list.d
sudo rm 对应仓库

 

再比如update时报错:

Segmentation fault (core dumped)
Reading package lists... Error!
W: Failed to fetch http://archive.ubuntukylin.com:10006/ubuntukylin/dists/xenial/InRelease  Could not resolve 'archive.ubuntukylin.com'
E: Failed to fetch store:/var/lib/apt/lists/partial/security.ubuntu.com_ubuntu_dists_xenial-security_restricted_dep11_Components-amd64.yml.gz  Hash Sum mismatch
E: Failed to fetch store:/var/lib/apt/lists/partial/cn.archive.ubuntu.com_ubuntu_dists_xenial_main_dep11_Components-amd64.yml.gz  Hash Sum mismatch
E: Failed to fetch store:/var/lib/apt/lists/partial/cn.archive.ubuntu.com_ubuntu_dists_xenial-updates_restricted_dep11_Components-amd64.yml.gz  Hash Sum mismatch
E: Failed to fetch store:/var/lib/apt/lists/partial/cn.archive.ubuntu.com_ubuntu_dists_xenial-backports_main_dep11_icons-64x64.tar.gz  Hash Sum mismatch
W: Some index files failed to download. They have been ignored, or old ones used instead.
E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi'
E: Sub-process returned an error code

排查发现该问题源为sogoupinyin.list添加的,移除该list或者注释掉该list中的内容# deb http://archive.ubuntukylin.com:10006/ubuntukylin xenial main,再update恢复正常。

今天的文章Ubuntu 软件仓库源分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27186.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注