一、概述:

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 软件仓库源相关推荐

  1. Ubuntu软件仓库源类型:官方源、第三方源、本地源

    APT (Advanced Packaging Tool) 用于管理Ubuntu及其衍生版本的软件包.APT依赖于存储在Ubuntu软件仓库中的软件包.Ubuntu软件仓库源是APT用于获取软件包的位 ...

  2. ELRepo软件仓库源 提供的硬件驱动 centos

    在CentOS/RHEL上打开ELRepo软件仓库源 问题描述:在CentOS系统上安装ELRepo提供的硬件驱动,怎么使用ELRepo源? CentOS/RHEL提供了几个官方软件源(base, u ...

  3. Ubuntu/debian软件仓库源配置详解

    今天配置Ubuntu软件源,看到一篇文章讲清楚了为什么需要配置软件源,特转载过来(http://baijiahao.baidu.com/s?id=1578857355620858850&wfr ...

  4. Ubuntu软件仓库-转载

    2019独角兽企业重金招聘Python工程师标准>>> 软件仓库是收藏互联网上可用软件包(应用程序)的"图书馆".Ubuntu 仓库包含数万个可供您自由下载和安装 ...

  5. Ubuntu第三方软件仓库源(国内源)

    一般来说ubuntu官方的软件仓库由于服务器在国外,下载更新速度较慢,需要将软件仓库更换为国内镜像点. 1.修改源配置文件 ① 先备份原来的配置文件 mv /etc/apt/sources.list ...

  6. linux ubuntu 获取仓库源码并构建

    如何获取ubuntu源码包里面的源码? 1.在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项 2.使用如下命令获取xxx源码包的详细信息:  s ...

  7. ubuntu18本地镜像源_Ubuntu 18.04 搭建私有软件镜像源(支持 Ubuntu 和 CentOS)

    系统环境为 Ubuntu 18.04,搭建支持 Ubuntu 系和 CentOS 系的双私有软件仓库. Ubuntu 本地软件镜像源使用 apt-mirror 工具与远程仓库同步,CentOS 本地镜 ...

  8. Linux-什么是二进制包,源码包,RPM包,软件仓库

    博文说明[前言]: 本文将通过个人口吻介绍什么是二进制包,RPM包,源码RPM包(SRPM包),源码包,以及RPM常用命令,源码rpm的安装(*.src.rpm),源码包的安装步骤知识(./confi ...

  9. linux之认识软件包,rpm命令怎么用?怎么搭建软件仓库?怎么使用dnf下载软件?怎么搭建共享软件仓库?怎么搭建epel源软件仓库?

    软件仓库 了解软件包 软件包的类型 软件包的名称结构 rpm命令管理软件包 本地软件仓库的搭建 dnf管理软件(使用dnf命令下载软件) 下载安装包 搭建共享软件仓库 搭建epel源软件仓库为了下载第 ...

最新文章

  1. 构造函数 原型对象 对象实例 图
  2. Oracle Linux Server release 6.3 下安装JDK
  3. 今天感觉有点冷了其实。
  4. 中高德地图只显示某一城市_Excel实用知识:从零开始,一步步制作属于你自己的三维演示地图...
  5. 对编程人员我想说:多做 多实践 多写代码
  6. 如何使用JMeter 对Dubbo接口进行测试
  7. 中文编程——函语言概念
  8. sagemath_同余运算总结
  9. 解决Linux服务器时差问题
  10. .NET EF(Entity Framework)详解
  11. [第四章] 深入理解计算机系统第三版 家庭作业参考答案
  12. Docker六大优势,云中部署模式、以及视频demo
  13. 【用C语言绘制直角坐标系】
  14. 庄懂的TA笔记(六)<FakeEnvReflect 生锈,锈迹效果>
  15. CF大陆斗C战士(二)
  16. 韵达上半年营收228亿:同比增25% 丰科与韵科减持套现8亿
  17. 5G智能网联路侧设备覆盖率提升探索
  18. 人工智能教程 - 1.1.1 什么是神经网络
  19. java计算机毕业设计公交线路查询系统(附源码、数据库)
  20. linux 删除u盘痕迹,删除U盘操作痕迹的完美方案

热门文章

  1. 【运维心得】关于视频会议(POLYCOM)
  2. 【人生参悟】纸上得来终觉浅,绝知此事要躬行
  3. 苏黎世大学研发了一种算法 可让无人机像汽车一样在街道上行驶
  4. 微信小程序电商实战-入门篇
  5. matlab中Rip是什么意思,rip什么意思(rip是指安息的意思吗?)
  6. Windows10系统U盘制作
  7. VScode修改行间距
  8. 心拔凉拔凉五连追问No.58
  9. Oracle闪回恢复区(fast recovery area,FRA)
  10. 如何彻底解决顽固mysql