Linux基礎:http://www.javashuo.com/article/p-dojeygnv-gw.htmljavascript
以前看到朋友還動不動 apt-get update upgrade,就很納悶,後來發現原來他只是知道這個更新命令殊不知其意,因此每次安裝個包就把全部apt-get的經常使用清除+更新命令打一遍html
後來~就有了這篇文章了,算給小白普及下吧:(後面有實戰案例)java
Ubuntu不得不說的就是這個apt出問題的處理 :(換源就不說了`/etc/apt/sources.list`)
# 通常刪除這幾個鎖文件,而後再從新配置下就能夠了
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
# 簡寫(千萬注意空格,否則你就是rm -rf / + 跑路了)
# sudo rm /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock sudo rm /var/lib/dpkg/lock-frontendpython# 從新配置下
sudo dpkg --configure -alinux
簡單講:你不修改添加源,不須要updae,若是你想升級下軟件upgrade,若是你想大升級dist-upgradeweb
包相關命令:chrome
清除無用包:apt-get clean && apt-get autoclean #通常用apt-get autoclean就夠了ubuntu
更新源:apt-get update #同步 /etc/apt/sources.list 源的索引,這樣才知道是否是有最新的包app
更新包:apt-get upgrade #更新全部已安裝的軟件(upgrade只是簡單的更新包,無論這些依賴,它不添不刪。)frontend
更新包2:apt-get dist-upgrade #包與包之間存在各類依賴關係。而dist-upgrade能夠根據依賴關係的變化添刪包。(依賴有時會出錯,建議新手謹慎使用)
補充:在執行 upgrade or dist-upgrade 以前必定要執行 update, 這樣才能獲取最新
安裝軟件:apt-get install XXX [--reinstall] #--reinstall 是從新安裝包,通常都是用 apt-get install XXX
修復依賴:apt-get -f install #修復依賴,相似於win裏面的缺乏dll,-f以後他幫你修復安裝一些依賴(安裝搜狗拼音實例有用到)
刪除軟件:apt-get remove XXX [--purge] #--purge 卸載的時候把配置文件也刪了,徹底刪除包能夠用這個選項:apt-get remove XXX --purge
---------------------------------------------------------------------------------------------------------------------------------------------------------
其餘命令:(特殊環境下使用)
搜索軟件:apt-get search xxx
檢查是否有損壞的依賴:apt-get check (偶爾想起來或者軟件打不開的時候使用【有時候被清理了】)
獲取包信息:apt-cache show xxx
有哪些依賴:apt-cache depends xxx (好比安裝一個包,修復依賴也失敗,那就看看有哪些依賴,本身手動安裝)
被哪些包依賴:apt-cache rdepends xxx (好比卸載一個包的時候,查一下被哪些包依賴)
下載該包源代碼:apt-get source xxx
安裝相關編譯環境:apt-get build-dep xxx
實戰案例:
簡單說下,先清一下無用包,再update更新下源的索引,接着升級。以前一直覺得dist-upgrade以後系統就滾動升級了,好比原來16.04.1後來可能變成16.04.2。
reboot重啓一下,update-manager -d 運行更新管理,點下升級,一路下一步就行了(逆天是懶人一個,系統大版本跨越的命令基本上不多用,因此就懶得記了,附錄有命令安裝)
dnt@MZY-PC:~$ sudo apt-get clean dnt@MZY-PC:~$ sudo apt-get autoclean 正在讀取軟件包列表... 完成 正在分析軟件包的依賴關係樹 正在讀取狀態信息... 完成 dnt@MZY-PC:~$ sudo apt-get update 忽略:1 http://dl.google.com/linux/chrome/deb stable InRelease 命中:2 http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease 命中:3 http://dl.google.com/linux/chrome/deb stable Release 命中:4 http://mirrors.ustc.edu.cn/ubuntu xenial InRelease 命中:6 http://mirrors.ustc.edu.cn/ubuntu xenial-updates InRelease 命中:7 http://mirrors.ustc.edu.cn/ubuntu xenial-security InRelease 命中:8 http://packages.microsoft.com/repos/vscode stable InRelease 正在讀取軟件包列表... 完成 dnt@MZY-PC:~$ sudo apt-get upgrade 正在讀取軟件包列表... 完成 正在分析軟件包的依賴關係樹 正在讀取狀態信息... 完成 正在計算更新... 完成 下列軟件包的版本將保持不變: cups-filters cups-filters-core-drivers gir1.2-javascriptcoregtk-4.0 gir1.2-webkit2-4.0 google-chrome-stable libjavascriptcoregtk-4.0-18 libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04 linux-signed-generic-hwe-16.04 linux-signed-image-generic-hwe-16.04 qpdf 升級了 0 個軟件包,新安裝了 0 個軟件包,要卸載 0 個軟件包,有 14 個軟件包未被升級。 dnt@MZY-PC:~$ cat /etc/issue Ubuntu 16.04.4 LTS \n \l dnt@MZY-PC:~$ sudo apt-get dist-upgrade 正在讀取軟件包列表... 完成 正在分析軟件包的依賴關係樹 正在讀取狀態信息... 完成 正在計算更新... 完成 下列軟件包是自動安裝的而且如今不須要了: libappindicator1 libindicator7 使用'sudo apt autoremove'來卸載它(它們)。 下列【新】軟件包將被安裝: amd64-microcode intel-microcode iucode-tool libqpdf21 libwebpdemux1 linux-headers-4.13.0-43 linux-headers-4.13.0-43-generic linux-image-4.13.0-43-generic linux-image-extra-4.13.0-43-generic linux-signed-image-4.13.0-43-generic 下列軟件包將被升級: cups-filters cups-filters-core-drivers gir1.2-javascriptcoregtk-4.0 gir1.2-webkit2-4.0 google-chrome-stable libjavascriptcoregtk-4.0-18 libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2 linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04 linux-signed-generic-hwe-16.04 linux-signed-image-generic-hwe-16.04 qpdf 升級了 14 個軟件包,新安裝了 10 個軟件包,要卸載 0 個軟件包,有 0 個軟件包未被升級。 須要下載 143 MB 的歸檔。 解壓縮後會消耗 300 MB 的額外空間。 您但願繼續執行嗎? [Y/n] y 獲取:1 http://mirrors.ustc.edu.cn/ubuntu xenial-updates/main amd64 libqpdf21 amd64 8.0.2-3~16.04.1 [315 kB] 獲取:2 http://dl.google.com/linux/chrome/deb stable/main amd64 google-chrome-stable amd64 66.0.3359.181-1 [52.3 MB] 獲取:3 http://mirrors.ustc.edu.cn/ubuntu xenial-updates/main amd64 cups-filters-core-drivers amd64 1.8.3-2ubuntu3.4 [128 kB] 獲取:4 http://mirrors.ustc.edu.cn/ubuntu xenial-updates/main amd64 cups-filters amd64 1.8.3-2ubuntu3.4 [448 kB] dnt@MZY-PC:~$ reboot dnt@MZY-PC:~$ cat /etc/issue Ubuntu 16.04.4 LTS \n \l dnt@MZY-PC:~$ sudo update-manager -d [sudo] dnt 的密碼: /usr/bin/update-manager:28: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. from gi.repository import Gtk /usr/lib/python3/dist-packages/UpdateManager/UnitySupport.py:29: PyGIWarning: Dbusmenu was imported without specifying a version first. Use gi.require_version('Dbusmenu', '0.4') before import to ensure that the right version gets loaded. from gi.repository import Dbusmenu, Unity /usr/lib/python3/dist-packages/UpdateManager/UnitySupport.py:29: PyGIWarning: Unity was imported without specifying a version first. Use gi.require_version('Unity', '7.0') before import to ensure that the right version gets loaded. from gi.repository import Dbusmenu, Unity
附錄:(原文地址)
更新Ubuntu 16.04
在升級以前, 您應該先更新當前的16.04. 建議升級以前更新/升級全部已安裝的軟件包.
運行如下命令:
sudo apt update && sudo apt dist-upgrade && sudo apt autoremove
更新完 系統後,運行如下命令安裝update-manager-core(若是您沒有安裝).
sudo apt-get isntall update-manager-core
sudo nano /etc/update-manager/release-upgrades
執行升級命令:
sudo do-release-upgrade -d
當屏幕出現升級提示是 選擇y
等待全部的軟件包下載...安裝...到重啓... 當安裝完成後,你的系統就升級到最新的Ubuntu開發版本