Linux基礎:https://www.cnblogs.com/dunitian/p/4822808.html#linux
之前看到朋友還動不動 apt-get update upgrade,就很納悶,后來發現原來他只是知道這個更新命令卻不知其意,所以每次安裝個包就把所有apt-get的常用清除+更新命令打一遍
后來~就有了這篇文章了,算給小白普及下吧:(后面有實戰案例)
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-frontend# 重新配置下
sudo dpkg --configure -a
簡單講:你不修改添加源,不需要updae,如果你想升級下軟件upgrade,如果你想大升級dist-upgrade
包相關命令:
清除無用包:apt-get clean && apt-get autoclean #一般用apt-get autoclean就夠了
更新源:apt-get update #同步 /etc/apt/sources.list 源的索引,這樣才知道是不是有最新的包
更新包:apt-get upgrade #更新所有已安裝的軟件(upgrade只是簡單的更新包,不管這些依賴,它不添不刪。)
更新包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開發版本