參考文章:
修改軟件源
點擊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 了倉庫信息。
