ununtun學習系列1--- sudo update與upgrade區別
在windows中安裝軟體,我們只需要一個.exe的可執行檔案,直接下一步就可以安裝了。但是在每個linux的發行版,例如ubuntu中,都會維護一個軟體倉庫,我們常用的所有軟體都在裡面。這裡面的軟體絕對安全,而且保證能夠正常安裝。
在ubuntu系統中,會維護一個源列表,列表中都是一條一條的網址資訊,每一個網址標識的資訊指向的資料,對應軟體在源伺服器的位置,我們可以編輯檢視源列表。
sudo gedit /etc/apt/sources.list
在這個檔案里加入或者註釋(加#)掉一些源後,儲存。這時候,我們的源列表裡指向的軟體就會增加或減少一部分。
如果執行此命令可能會出現錯誤:The owner of /home/zn/.config/ibus/bus is not root!
sudo -i
sudo -i是Linux終端命令下改變使用者對命令使用許可權的命令,例如,在Linux命令終端中,開始為“[email protected]:~$”,當使用該命令後,會出現輸入密碼的提示,之後輸入密碼,就會變為“[email protected]:~#”,這樣就是改變了使用者對一些命令的許可權。
命令進行後,輸入exit即可登出。
然後執行:
sudo apt-get update
這個命令,會訪問源列表中的每個網址,並讀取軟體列表,儲存到本地電腦。我們在軟體包管理器上看到的軟體列表,就是通過update命令更新的。最後執行:
sudo apt-get upgrade
這個命令,會把本地已經安裝的軟體和剛下載的軟體列表對應軟體進行對比,如果發現當前安裝的軟體版本過低,就會提示你更新,如果沒有軟體需要更新,則代表安裝的軟體為最新版的。
一般在執行upgrade或dist-upgrade之前,要執行update.
apt-get upgrade和dist-upgrade的差別:
upgrade:系統將現有的Package升級,如果有相依性的問題,而此相依性需要安裝其它新的Package或影響到其它Package的相依性時,此Package就不會被升級,會保留下來.
dist-upgrade:可以聰明的解決相依性的問題,如果有相依性問題,需要安裝/移除新的Package,就會試著去安裝/移除它. (所以通常這個會被認為是有點風險的升級)
只不過,dist-upgrade 會識別出當依賴關係改變的情形並作出處理,而upgrade對此情形不處理。
例如軟體包 a 原先依賴 b c d,但是在源裡面可能已經升級了,現在是 a 依賴 b c e。這種情況下,dist-upgrade 會刪除 d 安裝 e,並把 a 軟體包升級,而 upgrade 會認為依賴關係改變而拒絕升級 a 軟體包。