Ubuntu 軟件卸載與清理終極指南

Ubuntu 軟件卸載與清理指南

適用范圍:Ubuntu 及其衍生發行版(如 Linux Mint、Pop!_OS 等),Debian 系統大部分方法也適用。
目標:幫助你快速、徹底卸載軟件并清理殘余文件,保持系統整潔。
前提:建議在操作前確認軟件名稱,并確保有管理員權限(使用 sudo)。

1. 基礎知識

Ubuntu 系統中軟件的常見安裝方式:

  • APT:通過 aptapt-get 管理軟件包,適用于 .deb 包。
  • DPKG:底層包管理工具,apt 依賴它,常用于手動安裝的 .deb 包。
  • Snap:Ubuntu 推廣的容器化包管理。
  • Flatpak:跨發行版的容器化包管理。
  • 源碼安裝:通過編譯源碼安裝,通常需要手動管理。
  • AppImage:無需安裝的便攜式應用程序。

卸載時需注意:

  • 選擇正確的卸載命令(如 apt removesnap remove)。
  • 清理依賴、緩存和用戶目錄中的殘留文件。
  • 驗證卸載是否成功,防止遺漏。

2. 查找軟件包名

在卸載前,確認軟件的準確包名或ID非常重要。以下是常用方法:

  1. 通過 apt 查找

    apt search <關鍵詞>
    dpkg -l | grep <關鍵詞>
    

    示例:查找 VLC 的包名

    dpkg -l | grep vlc
    
  2. 通過 Snap 查找

    snap list
    
  3. 通過 Flatpak 查找

    flatpak list
    
  4. 檢查用戶目錄(如需清理配置):

    ls -a ~/.config | grep <關鍵詞>
    ls -a ~/.local/share | grep <關鍵詞>
    ls -a ~/.cache | grep <關鍵詞>
    

提示:如果不確定軟件的安裝方式,可嘗試以上命令逐一檢查。


3. 使用 APT 卸載軟件

APT 是 Ubuntu 默認的包管理工具,適用于通過軟件中心、命令行或 PPA 安裝的軟件。

3.1 卸載軟件(保留配置)

  • 適用場景:僅刪除軟件本體,保留配置文件以便日后復用。
  • 命令
    sudo apt remove <軟件包名>
    
  • 示例
    sudo apt remove vlc
    
  • 驗證
    which vlc
    dpkg -l | grep vlc
    
    若返回空或無相關信息,表示卸載成功。

3.2 徹底卸載(刪除配置)

  • 適用場景:刪除軟件及其系統級配置文件,推薦默認使用。
  • 命令
    sudo apt purge <軟件包名>
    
  • 示例
    sudo apt purge vlc
    
  • 驗證:同上。

注意apt purge 不清理用戶目錄(如 ~/.config/vlc)中的配置,需手動刪除(見 3.5)。

3.3 清理依賴

  • 適用場景:移除卸載后不再需要的依賴包。
  • 命令
    sudo apt autoremove
    
  • 驗證
    sudo apt autoremove --dry-run
    
    檢查是否還有可清理的依賴。

3.4 清理緩存

  • 適用場景:釋放 /var/cache/apt/archives 中下載的 .deb 包空間。
  • 命令
    1. 清理過時緩存:
      sudo apt autoclean
      
    2. 清理所有緩存:
      sudo apt clean
      
  • 驗證
    du -sh /var/cache/apt/archives
    
    確認緩存目錄已清空。

3.5 清理用戶目錄殘留

  • 適用場景:刪除軟件在用戶目錄中的配置文件和緩存。
  • 步驟
    1. 檢查常見目錄:
      ls -a ~/.config | grep <軟件名>
      ls -a ~/.local/share | grep <軟件名>
      ls -a ~/.cache | grep <軟件名>
      
    2. 刪除相關文件:
      rm -rf ~/.config/<軟件相關目錄>
      rm -rf ~/.local/share/<軟件相關目錄>
      rm -rf ~/.cache/<軟件相關目錄>
      
  • 示例
    rm -rf ~/.config/vlc
    rm -rf ~/.cache/vlc
    

注意:刪除前確認文件無重要數據,必要時備份。


4. 使用 DPKG 卸載軟件

DPKG 適用于手動安裝的 .deb 包或 APT 無法處理的情況。

  1. 查找已安裝包
    dpkg -l | grep <關鍵詞>
    
  2. 卸載軟件(保留配置)
    sudo dpkg -r <軟件包名>
    
  3. 徹底卸載(刪除配置)
    sudo dpkg -P <軟件包名>
    
  4. 修復依賴
    sudo apt -f install
    sudo apt autoremove
    
  5. 驗證
    dpkg -l | grep <軟件包名>
    
    若無輸出,表示卸載成功。

注意:優先使用 apt 卸載,DPKG 更適合特殊場景。


5. 使用 Snap 卸載軟件

Snap 是 Ubuntu 的容器化包管理方式。

  1. 查看已安裝 Snap 軟件

    snap list
    
  2. 卸載 Snap 軟件

    sudo snap remove <軟件名>
    
  3. 清理殘留(可選)

    sudo rm -rf /var/lib/snapd/snap/<軟件名>
    
  4. 驗證

    snap list | grep <軟件名>
    

    若無輸出,表示卸載成功。

  5. 卸載 Snapd(可選)

    • 如果不再使用 Snap:
      sudo apt purge snapd
      rm -rf ~/snap
      

注意:Snap 卸載通常會自動清理大部分文件,但舊版本可能殘留,需手動檢查。


6. 使用 Flatpak 卸載軟件

Flatpak 是跨發行版的容器化包管理方式。

  1. 查看已安裝 Flatpak 應用
    flatpak list
    
  2. 卸載應用
    flatpak uninstall <應用ID或軟件名>
    
  3. 清理無用運行時
    flatpak uninstall --unused
    
  4. 清理用戶目錄殘留
    rm -rf ~/.var/app/<應用ID>
    
  5. 驗證
    flatpak list | grep <軟件名>
    
    若無輸出,表示卸載成功。

注意:Flatpak 的應用ID 通常為 com.example.App,卸載時需使用完整ID。


7. 卸載源碼安裝的軟件

源碼安裝的軟件沒有包管理器管理,需手動刪除。

  1. 定位安裝目錄
    • 通常在 /usr/local/opt 或用戶指定的目錄。
    • 檢查安裝時的 make install 記錄或 README 文件。
  2. 刪除文件
    sudo rm -rf /usr/local/<軟件目錄>
    
  3. 清理用戶配置
    rm -rf ~/.config/<軟件名>
    rm -rf ~/.local/share/<軟件名>
    
  4. 驗證
    which <軟件名>
    
    若返回空,表示卸載成功。

注意:源碼安裝的軟件可能涉及系統庫,刪除前確認不會破壞依賴。


8. 卸載 AppImage 軟件

AppImage 是無需安裝的便攜式應用。

  1. 刪除 AppImage 文件
    • 找到存儲位置(如 ~/Downloads 或自定義目錄):
      find ~/ -name "*.AppImage"
      
    • 刪除:
      rm ~/path/to/<軟件名>.AppImage
      
  2. 清理殘留配置
    rm -rf ~/.config/<軟件名>
    rm -rf ~/.local/share/<軟件名>
    
  3. 驗證
    • 確認 .AppImage 文件已刪除。

注意:AppImage 不影響系統文件,卸載后無需清理依賴。


9. 清理系統級殘余

9.1 清理舊內核

  • 適用場景:釋放舊內核占用的空間。
  1. 查看當前內核:
    uname -r
    
  2. 列出已安裝內核:
    dpkg --list | grep linux-image
    
  3. 刪除舊內核:
    sudo apt remove linux-image-<版本號>
    sudo apt autoremove
    
  4. 更新引導:
    sudo update-grub
    

9.2 清理第三方源(PPA)

  1. 查看源列表:
    ls /etc/apt/sources.list.d/
    
  2. 刪除無用 PPA:
    sudo rm /etc/apt/sources.list.d/<文件名.list>
    
  3. 更新源:
    sudo apt update
    

10. 常用組合命令

10.1 APT 軟件徹底卸載

sudo apt purge <軟件包名>
sudo apt autoremove
sudo apt clean
rm -rf ~/.config/<軟件名>
rm -rf ~/.cache/<軟件名>

10.2 Snap 軟件卸載

sudo snap remove <軟件名>
rm -rf ~/snap/<軟件名>

10.3 Flatpak 軟件卸載

flatpak uninstall <應用ID>
flatpak uninstall --unused
rm -rf ~/.var/app/<應用ID>

11. 故障排查

  1. 找不到包名
    • 使用 dpkg -l | grep <關鍵詞>apt search <關鍵詞> 查找。
    • 檢查 Snap 或 Flatpak 列表。
  2. 依賴破損
    sudo apt -f install
    sudo apt autoremove
    
  3. 卸載失敗
    • 確認是否有運行中的進程:
      ps aux | grep <軟件名>
      kill -9 <進程ID>
      
    • 重新嘗試卸載。
  4. Snap/Flatpak 無法卸載
    • 確保 snapdflatpak 服務正常,或重新安裝后卸載。

12. 最佳實踐

  1. 優先使用 apt purge:減少配置文件殘留。
  2. 定期清理緩存:每月運行 apt autoremoveapt autoclean
  3. 驗證卸載:使用 which 或包管理器命令確認軟件已移除。
  4. 備份重要配置:清理用戶目錄前,備份 .config 中的關鍵文件。
  5. 謹慎操作系統文件:避免誤刪 /etc/usr 中的共享文件。

總結

通過本指南,你可以輕松卸載 Ubuntu 系統中的軟件并清理殘留。核心步驟:

  1. 確認安裝方式:APT、Snap、Flatpak、源碼或 AppImage。
  2. 執行卸載:使用對應命令(如 apt purgesnap remove)。
  3. 清理殘留:處理依賴、緩存和用戶目錄文件。
  4. 驗證結果:確保軟件和相關文件已完全移除。

按此筆記操作,即可高效完成卸載任務,保持系統干凈。祝使用愉快!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901219.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901219.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901219.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于javaweb的SpringBoot新聞視頻發布推薦評論系統(源碼+部署文檔)

技術范圍&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、小程序、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容&#xff1a;免費功能設計、開題報告、任務書、中期檢查PPT、系統功能實現、代碼編寫、論文編寫和輔導、論文…

Linux-內核驅動

open uboot.bin target-connect U-Boot&#xff08;Universal Boot Loader&#xff09;是一種廣泛使用的開源引導加載程序&#xff0c;它允許用戶從各種設備&#xff08;如硬盤、USB設備、網絡等&#xff09;加載操作系統。U-Boot提供了豐富的命令行接口&#xff08;CLI&#…

DAPP實戰篇:使用ethers.js連接以太坊智能合約

專欄:區塊鏈入門到放棄查看目錄-CSDN博客文章瀏覽閱讀344次。為了方便查看將本專欄的所有內容列出目錄,按照順序查看即可。后續也會在此規劃一下后續內容,因此如果遇到不能點擊的,代表還沒有更新。聲明:文中所出觀點大多數源于筆者多年開發經驗所總結,如果你想要知道區塊…

[原創](現代Delphi 12指南): 設置、運行和調試你的第一個macOS應用程序.

[作者] 常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 開發工具: Visual Studio、Delphi、XCode、C …

Adobe Photoshop 2025 Mac中文 Ps圖像編輯

Adobe Photoshop 2025 Mac中文 Ps圖像編輯 一、介紹 Adobe Photoshop 2025 Mac版集成了多種強大的圖像編輯、處理和創作功能。①強化了Adobe Sensei AI的應用&#xff0c;通過智能摳圖、自動修復、圖像生成等功能&#xff0c;用戶能夠快速而精確地編輯圖像。②3D編輯和動畫功…

藍橋杯備賽知識點總結

一、數論 如果想要計算整除向上取整&#xff08;xy-1&#xff09;/y 或者&#xff08;x-1&#xff09;/y 1 最大公約數&#xff1a; int gcd(int a,int b){return b0?a:gcd(b,a%b); }最小公倍數&#xff1a; int lcm(int a,int b){return a/gcd(a,b)*b; } 埃氏篩法&#…

設計模式 --- 狀態模式

狀態模式??是一種??行為型設計模式??&#xff0c;允許對象在內部狀態改變時動態改變其行為??&#xff0c;使對象的行為看起來像是改變了。該模式通過將狀態邏輯拆分為獨立類??&#xff0c;消除復雜的條件分支語句&#xff0c;提升代碼的可維護性和擴展性。 狀態模式的…

【讀者求助】如何跨行業進入招聘崗位?

文章目錄 讀者留言回信崗位細分1. 中介公司的招聘崗位2. 獵頭專員3. 公司的招聘專員選擇建議 面試建議1. 請簡單介紹你過去 3 年的招聘工作經歷&#xff0c;重點說下你負責的崗位類型和規模2. 你在招聘流程中最常用的渠道有哪些&#xff1f;如何評估渠道效果&#xff1f;3. 當你…

AI Agent入門指南

圖片來源網絡 ?一、開箱暴擊&#xff1a;你以為的"智障音箱"&#xff0c;其實是賽博世界的007? ?1.1 從人工智障到智能叛逃&#xff1a;Agent進化史堪比《甄嬛傳》? ?青銅時代&#xff08;2006-2015&#xff09;? “小娜同學&#xff0c;關燈” “抱歉&…

pnpm 中 Next.js 模塊無法找到問題解決

問題概述 項目在使用 pnpm 管理依賴時,出現了 “Cannot find module ‘next/link’ or its corresponding type declarations” 的錯誤。這是因為 pnpm 的軟鏈接機制在某些情況下可能導致模塊路徑解析問題。 問題診斷 通過命令 pnpm list next 確認項目已安裝 Next.js 15.2.…

vulnhub:sunset decoy

靶機下載地址https://www.vulnhub.com/entry/sunset-decoy,505/ 滲透過程 簡單信息收集 nmap 192.168.56.0/24 -Pn # 確定靶機ip&#xff1a;192.168.56.121 nmap 192.168.56.121 -A -T4 # 得到開放端口22,80 在80端口得到save.zip&#xff0c;需要密碼解壓。 john破解壓縮…

代碼學習總結(一)

代碼學習總結&#xff08;一&#xff09; 這個系列的博客是記錄下自己學習代碼的歷程&#xff0c;有來自平臺上的&#xff0c;有來自筆試題回憶的&#xff0c;主要基于 C 語言&#xff0c;包括題目內容&#xff0c;代碼實現&#xff0c;思路&#xff0c;并會注明題目難度&…

OSPF的接口網絡類型【復習篇】

OSPF在不同網絡環境下默認的不同工作方式 [a3]display ospf interface g 0/0/0 # 查看ospf接口的網絡類型網絡類型OSPF接口的網絡類型&#xff08;工作方式&#xff09;計時器BMA&#xff08;以太網&#xff09;broadcast &#xff0c;需要DR/BDR的選舉hello&#xff1a;10s…

PHM學習軟件|PHM預測性維護系統

使用步驟教程如下 1、登錄 用戶名&#xff1a;52phm 密碼&#xff1a;xxx &#xff08;區別在于不同用戶密鑰不一樣&#xff09; 2、上傳需要分析的數據集 支持數據集格式&#xff1a;csv、xlsx、xls、mat、json 3、主題1&#xff1a;機械參數計算 計算軸承、齒輪、皮帶的…

MySQL MVCC 機制詳解

MySQL MVCC 機制詳解 1. MVCC 基本概念 MVCC 是一種并發控制的方法&#xff0c;主要用于數據庫管理系統&#xff0c;允許多個事務同時讀取數據庫中的同一個數據項&#xff0c;而不需要加鎖&#xff0c;從而提高了數據庫的并發性能。 ┌──────────────────…

Model Context Protocol (MCP) - 嘗試創建和測試一下MCP Server

1.簡單介紹 MCP是Model Context Protocol的縮寫&#xff0c;是Anthropic開源的一個標準協議。MCP使得大語言模型可以和外部的數據源&#xff0c;工具進行集成。當前MCP在社區逐漸地流行起來了。同時official C# SDK(倉庫是csharp-sdk) 也在不斷更新中&#xff0c;目前最新版本…

(三)行為模式:12、訪問者模式(Visitor Pattern)(C++示例)

目錄 1、訪問者模式含義 2、訪問者模式的UML圖學習 3、訪問者模式的應用場景 4、訪問者模式的優缺點 5、訪問者模式C實現的實例 1、訪問者模式含義 訪問者模式&#xff08;Visitor Pattern&#xff09;是一種行為型設計模式&#xff0c;它允許將一個作用于某對象結構中的各…

windows安卓子系統wsa隱藏應用列表的安裝激活使用

Windows 11 安卓子系統應用部署全攻略 windows安卓子系統wsa隱藏應用列表的安裝激活使用|過檢測核心前端 在 Windows 11 系統中&#xff0c;安卓子系統為用戶帶來了在電腦上運行安卓應用的便利。經過一系列的操作&#xff0c;我們已經完成了 Windows 11 安卓子系統的底層和前端…

Elasticsearch 集群搭建

一、集群規劃 1.1 節點角色規劃 節點類型配置要求推薦數量Master節點低磁盤、中等CPU/內存3&#xff08;奇數防止腦裂&#xff09;Data節點高磁盤、高內存、多核CPU根據數據量擴展Coordinating節點高CPU/內存、低磁盤2&#xff08;可選&#xff09; 1.2 硬件建議 內存&…

React 響應事件

開發環境&#xff1a;Reacttsantd 使用 React 可以在 JSX 中添加 事件處理函數。其中事件處理函數為自定義函數&#xff0c;它將在響應交互&#xff08;如點擊、懸停、表單輸入框獲得焦點等&#xff09;時觸發。 學習內容 1.編寫事件處理函數的不同方法 2.如何從父組件傳遞事件…