修改LinuxMint18更新软件源
参考文章:
修改软件源
点击Menu->Administration->Software Sources
将Official repositories的Mirrors中Main和Base源修改为国内的,然后点击应用,我这里改成了ustc的镜像源。
修改security源
执行以下命令cd /etc/apt/source.list.d/
打开official-lackage-repositories.list文件,可以看到security源它并没有修改,把那一行改成deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
(备注,这里修改的地址可以根据Software Sources中的Official repositories中的Mirrors中最优的地址来修改,地区不同,网速最优的可能不同-.-,)
修改以后是这样:
然后保存
(备注:这里的文件是read only的,需要用“sudo vim 文件名”命令打开,vim可以先下载,使用时需要先按i键,进入insert模式,然后修改,保存时按Esc退出insert模式,然后按冒号,输入wq保存退出,输入q!的话退出不保存)
更新系统软件
运行sudo apt update -y
和sudo apt upgrade -y
备注:
- sudo是使用root权限进行操作
- -y是默认选择[y/n]中的y
- update是下载源里面的metadata的. 包括这个源有什么包, 每个包什么版本之类的.upgrade是根据update命令下载的metadata决定要更新什么包(同时获取每个包的位置).
安装软件之前, 可以不upgrade, 但是要update. 因为旧的信息指向了旧版本的包, 但是源的服务器更新了之后旧的包可能被新的替代了, 于是你会遇到404…
前者是更新整个仓库的版本信息,后者是升级软件包就行了。
因为 Linux 和 Windows 不一样,同一发行版(比如 Ubuntu) 的不同版本(比如 14.04, 14.10 )用的软件仓库是不一样的,所以有仓库 (repository ) 这样的概念,自然就有了要更新仓库信息的逻辑。
一般来说你不更新仓库信息, upgrade 就在本地的旧仓库转悠一圈发现并没有要更新的,但实际上本地仓库已经过时了。
这也是为什么用 apt 查找某个包的命令是 apt-cache search xxx 的原因,用的是本地 cache 了仓库信息。