每次我看到運行說明時apt-get install
,它都會說先運行apt-get update
。對於upgrade
和 也是如此dist-upgrade
。
為什麼不自動安裝呢update
?有沒有您不希望這樣的狀況?
答案1
apt-get update
更新可用軟體包及其版本號的清單。
您正在搜尋的用例可能是:如果您想apt-get install
在短時間內運行兩次,則只需運行apt-get update
一次,因為套件清單不太可能同時發生變更。
答案2
正如另一個答案中提到的,apt-get update
更新可用軟體包的清單。因此,除非可用軟體包清單發生變化,否則這只是浪費時間和(不多)頻寬。
apt-get update
之前常看到的原因apt-get install
有二:
- 通常這是在以下背景下添加 PPA或其他一些包源;在這種情況下,您顯然需要更新可用套件列表,因為您所做的第一件事就是添加到可用套件列表中。
- 在開發期間,檔案變化相當快;一天之內,軟體包清單可能會發生數百次更改,因此
apt-get update
首先進行更改通常是有意義的,這樣您就不會嘗試下載不再可用的版本。一旦發行版發布,更改的數量就會急劇下降 - 通常每週不會超過幾個。apt-get update
在這種情況下,在安裝之前運行沒有什麼意義。
答案3
除了sudo apt-get update
最近跑步過,還有一些其他情況您可能決定在運行之前不運行它sudo apt-get install ...
:
- 您正在從以下位置安裝軟體當地的已設定的軟體來源,例如燒錄/寫入 Ubuntu ISO 的 CD/DVD 或 USB 隨身碟。
您知道您希望在本機快取安裝想要安裝的軟體包(在 中
/var/cache/apt/archives
),無論是之前安裝過的軟體包還是已經運行過的軟體包sudo apt-get --download-only install ...
,並且您希望從那裡安裝它而不是下載它。(也許您想使用該版本執行某些操作,即使它不是最新的,或者您的 Internet 連接速度很慢,或者您沒有連接到 Internet。)
您知道該軟體包沒有可用的更高版本。例如,
nano
Ubuntu 中的啟動板頁面顯示只有「發布」版本可用—「安全性」、「更新」或「建議」中沒有任何可用版本。 (相較之下,你可以看到firefox
在Ubuntu中確實有這樣的更新。您希望節省時間,即使冒著可能安裝比推薦版本更舊的軟體包的風險,甚至由於系統要安裝的軟體包不再可用或被列為具有不再存在的依賴項而導致安裝失敗的風險可用,或與系統上已有的某些較新軟體衝突。
如果您的系統配置為自動檢查更新並 24/7 連接到 Internet,則此風險可能被認為足夠低,足以放棄
sudo apt-get update
大多數時間手動運行(請參閱RAOF的回答和評論)。