當前位置:
首頁 > 最新 > Linux包系列的知識(附:Ubuntu16.04升級到18.04的案例)

Linux包系列的知識(附:Ubuntu16.04升級到18.04的案例)

Linux基礎:https://www.cnblogs.com/dunitian/p/4822808.html#linux

之前看到朋友還動不動 apt-get update upgrade,就很納悶,後來發現原來他只是知道這個更新命令卻不知其意,所以每次安裝個包就把所有apt-get的常用清除+更新命令打一遍

後來~就有了這篇文章了,算給小白普及下吧:(後面有實戰案例)

包相關命令:

清除無用包: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可以根據依賴關係的變化,添刪包。(依賴有時會出錯,建議新手謹慎使用

補充:在執行upgradeordist-upgrade之前一定要執行update, 這樣才能獲取最新

安裝軟體:apt-get install XXX [--reinstall] #--reinstall是重新安裝包,一般都是用apt-get install XXX

修復依賴:apt-get-finstall       #修復依賴,類似於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

命中:3 http://dl.google.com/linux/chrome/deb stable Release

命中: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
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
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

附錄見原文地址


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 我為Net狂 的精彩文章:

TAG:我為Net狂 |