ubuntu apt and apt-get 實用命令 === ###### tags: `ubuntu` ## 更新數據庫 apt實際上在可用軟件包的數據庫上工作。如果數據庫未更新,則係統將不知道是否有任何更新的軟件包。這就是為什麼在全新安裝後,更新存儲庫應該是任何Linux系統中要做的第一件事。 更新軟件包數據庫需要超級用戶權限,因此您需要使用sudo。 ```bash sudo apt update ``` ## 查詢安裝 ```bash= # 列出所有用apt安裝的程式 不包括snap $ sudo apt list --installed # 查詢apt的歷史紀錄查看,使用者曾經以命令安裝的軟體並列出 $ grep " install " /var/log/apt/history.log ``` ## Ubuntu中軟件包的卸載方法 apt remove和apt purge有什麼區別? apt remove只是刪除軟件包的二進製文件。留下殘留配置文件。 apt purge 刪除與軟件包相關的所有內容,包括配置文件。 如果您習慣apt remove擺脫特定的軟件然後重新安裝,則您的軟件將具有相同的配置文件。當然,再次安裝時,系統會要求您覆蓋現有的配置文件。 當您弄亂了程序的配置時,清除非常有用。您想從系統中完全刪除其痕跡,也許重新開始。是的,您可以apt purge在已經刪除的軟件包上使用。 通常,apt remove對於卸載軟件包來說綽綽有餘。 ```bash= #1. 移除式卸載 移除軟件包,當包尾部有+時,意為安裝 $ apt-get remove softname1 softname2 #2. 清除式卸載:apt-get --purge remove softname1 softname2...;(同時清除配置) $ apt-get purge sofname1 softname2 (同上,也清除配置文件) ``` Dpkg方式 ```bash= #1. 移除式卸載 $ dpkg -r pkg1 pkg2 #2. 清除式卸載 $ dpkg -P pkg1 pkg ``` ## 搜索包裹 不是我搜索軟件包的首選方式。但這在您尋找某些特定庫時很有用。只需對所需的搜索詞使用以下命令。它將查找包含您的搜索詞的所有軟件包。 ```bash $ apt search python3.8 out: Package: python3.8 Version: 3.8.2-1ubuntu1 Priority: important Section: python Origin: Ubuntu Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Matthias Klose <doko@debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 498 kB Depends: python3.8-minimal (= 3.8.2-1ubuntu1), libpython3.8-stdlib (= 3.8.2-1ubuntu1), mime-support Suggests: python3.8-venv, python3.8-doc, binutils Breaks: python3-all (<< 3.6.5~rc1-1), python3-dev (<< 3.6.5~rc1-1), python3-venv (<< 3.6.5-2) Task: minimal, ubuntu-core Download-Size: 364 kB APT-Sources: http://archive.ubuntu.com/ubuntu focal/main amd64 Packages Description: Interactive high-level object-oriented language (version 3.8) Python is a high-level, interactive, object-oriented language. Its 3.8 version includes an extensive class library with lots of goodies for network programming, system administration, sounds and graphics. ``` ## 列出可升級和已安裝的版本 apt命令有一個名為list的新選項。使用此命令,您可以看到所有具有較新版本準備升級的軟件包: ```bash $ apt list --upgradeable ``` ## 如何使用apt清理系統 我已經討論過清理Ubuntu系統以釋放空間的方法。與apt-get不同,您這裡沒有clean和autoclean命令。您仍然可以使用autoremove選項並釋放一些磁盤空間: ```bash sudo apt autoremove ```