Debian系发行版通用软件彻底卸载指南

1. 确定软件包名称

# 查看已安装软件列表
dpkg -l | grep 关键词
或
apt list --installed | grep 关键词# 查找二进制文件路径(用于推测包名)
which 程序名  # 查找可执行文件路径
whereis 程序名  # 查找相关文件

2. 服务检查和停止

# 检查是否有相关服务正在运行
systemctl list-unit-files | grep 软件名
ps aux | grep 软件名# 停止并禁用服务
sudo systemctl stop 软件名.service
sudo systemctl disable 软件名.service

3. 备份重要数据

# 创建备份目录
mkdir -p ~/backup/软件名_$(date +%Y%m%d)# 备份常见配置文件
cp -r ~/.config/软件名* ~/backup/软件名_$(date +%Y%m%d)/ 2>/dev/null
cp -r ~/.local/share/软件名* ~/backup/软件名_$(date +%Y%m%d)/ 2>/dev/null
cp -r /etc/软件名* ~/backup/软件名_$(date +%Y%m%d)/ 2>/dev/null# 备份特殊数据(如数据库软件)
# 例如MySQL: mysqldump -u 用户名 -p 数据库名 > ~/backup/数据库名_$(date +%Y%m%d).sql

4. 主程序卸载

# 使用APT卸载并保留配置文件
sudo apt remove 软件包名# 完全卸载并清除配置文件(推荐)
sudo apt purge 软件包名
# 或同时删除依赖
sudo apt purge --auto-remove 软件包名# 如果通过dpkg直接安装的包
sudo dpkg -r 软件包名  # 仅卸载
sudo dpkg --purge 软件包名  # 卸载并清除配置

5. 删除用户配置文件

# 常见用户配置文件位置
rm -rf ~/.config/软件名*
rm -rf ~/.cache/软件名*
rm -rf ~/.local/share/软件名*
rm -rf ~/软件名# 使用find命令查找潜在配置(先查看再删除)
find ~ -name "*软件名*" -type f -o -type d
# 确认无误后再删除(请谨慎操作)
find ~ -name "*软件名*" -type f -o -type d -exec rm -rf {} \; 2>/dev/null

6. 清理系统残留文件

# 常见系统级残留位置
sudo rm -rf /usr/share/软件名*
sudo rm -rf /opt/软件名*
sudo rm -rf /etc/软件名*
sudo rm -rf /var/lib/软件名*
sudo rm -rf /var/log/软件名*# 清理桌面菜单项
sudo rm -rf /usr/share/applications/软件名*.desktop

7. 清理依赖和残留配置

# 自动移除不再需要的依赖
sudo apt autoremove# 查找并清理遗留的配置文件
dpkg -l | grep '^rc' | awk '{print $2}'
# 确认后清理
sudo dpkg --purge $(dpkg -l | grep '^rc' | awk '{print $2}')# 谨慎操作:移除相关依赖库(需确认是否被其他程序使用)
# 可使用 apt rdepends --installed 库名 检查反向依赖
sudo apt remove 相关库名

8. 其他安装方式的处理

# 如果通过Snap安装
snap list | grep 软件名
sudo snap remove 软件名# 如果通过Flatpak安装
flatpak list | grep 软件名
flatpak uninstall 软件名# 如果通过PPA安装,需要移除PPA
sudo add-apt-repository --remove ppa:ppa名称# 如果通过源码安装
# 通常需要到源码目录执行:
cd 源码目录
sudo make uninstall
# 或检查有无卸载脚本
./uninstall.sh# 如果通过AppImage运行
rm ~/Applications/软件名.AppImage
rm ~/.local/share/applications/appimagekit-软件名.desktop

9. 系统维护和更新

# 更新桌面数据库
sudo update-desktop-database# 重建图标缓存(GNOME桌面)
sudo gtk-update-icon-cache -f /usr/share/icons/hicolor# 更新软件源缓存
sudo apt update

10. 验证卸载

# 检查软件包是否完全移除
dpkg -l | grep 软件名
apt list --installed | grep 软件名# 检查二进制文件是否存在
which 程序名
whereis 程序名# 全盘搜索残留(先查看结果,再决定是否删除)
sudo find / -name "*软件名*" 2>/dev/null

注意事项

  1. 安全操作原则

    • 在执行任何删除命令前,先使用不带删除参数的命令查看将被操作的文件
    • 对于重要数据,始终先备份再操作
    • 使用通配符(*)时要特别小心,确保匹配的是目标文件
  2. 特殊软件处理

    • 数据库软件:先导出数据,关闭服务,再卸载
    • Web服务器:备份网站文件、配置和数据库
    • 开发环境:确保不会影响其他项目
    • 浏览器:导出书签、密码等个人数据
  3. 依赖处理

    • 使用 apt-cache rdepends --installed 包名 检查是否有其他软件依赖该包
    • 先使用 apt-mark auto 包名 将自动安装的依赖标记为自动,再用 apt autoremove
  4. 服务管理

    • 使用 systemctl list-dependencies 服务名 检查服务依赖
    • 确保重启后服务不会自动启动
    • 检查 /etc/init.d//etc/systemd/system/ 中的启动脚本
  5. 特殊目录清理

    • /tmp/ 可能有临时文件
    • /usr/local/ 可能有手动安装的组件
    • /var/tmp/ 可能有缓存文件

示例工作流

以卸载Google Chrome为例:

  1. 确认包名:

    dpkg -l | grep chrome
    
  2. 检查并停止相关服务:

    ps aux | grep chrome
    
  3. 备份用户数据:

    mkdir -p ~/backup/chrome_$(date +%Y%m%d)
    cp -r ~/.config/google-chrome ~/backup/chrome_$(date +%Y%m%d)/
    
  4. 卸载软件:

    sudo apt purge google-chrome-stable
    
  5. 清理配置文件:

    rm -rf ~/.config/google-chrome
    rm -rf ~/.cache/google-chrome
    
  6. 清理系统文件:

    sudo rm -rf /usr/share/applications/google-chrome.desktop
    
  7. 清理依赖:

    sudo apt autoremove
    
  8. 验证卸载:

    which google-chrome
    dpkg -l | grep chrome
    

通过遵循这个完整流程,您可以安全、彻底地卸载大多数Linux软件,同时保持系统整洁。对于特殊软件,建议在操作前查阅其官方文档或相关社区指南获取具体卸载步骤。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18186.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5.2后 Bake Out Materials失效

这个问题出现在5.3,5.4,5.5没有测试 烘焙贴图后会找不到贴图位置, 这个是5.2的正常状态 默认是生成在模型当前目录里,包括新的材质 但是这个bug会让材质和贴图都消失,无法定位 暂时没有办法解决,等官方 …

macOS部署DeepSeek-r1

好奇,跟着网友们的操作试了一下 网上方案很多,主要参考的是这篇 DeepSeek 接入 PyCharm,轻松助力编程_pycharm deepseek-CSDN博客 方案是:PyCharm CodeGPT插件 DeepSeek-r1:1.5b 假设已经安装好了PyCharm PyCharm: the Pyth…

架构设计系列(二):CI/CD

一、概述 CI/CD 是 持续集成(Continuous Integration) 和 持续交付/持续部署(Continuous Delivery/Continuous Deployment) 的缩写,是现代软件开发中的一套核心实践和工具链,旨在提高软件交付的效率、质量…

Windows 11 搭建私有知识库(docker、dify、deepseek、ollama)

一、操作系统信息 版本 Windows 11 家庭中文版 版本号 23H2 安装日期 ‎2023/‎8/‎21 操作系统版本 22631.4460二、搭建思路 ollama拉取deepseek、bge-m3模型docker拉取dify的镜像dify链接ollama使用模型,并上传文件搭建知识库,创建应用 三、搭建步骤…

本地部署DeepSeek摆脱服务器繁忙

由于图片和格式解析问题,可前往 阅读原文 最近DeepSeek简直太火了,频频霸榜热搜打破春节的平静,大模型直接开源让全球科技圈都为之震撼!再次证明了中国AI的换道超车与崛起 DeepSeek已经成了全民ai,使用量也迅速上去了…

‌CBA认证‌(业务架构师认证)简介---适用人群、考试内容与形式、含金量与职业前景,以及‌CBA、TOGAF认证对比表格

‌CBA认证‌,即业务架构师认证(Certified Business Architect,CBA),是由业务架构师协会(Business Architecture Institute)推出的一项国际认证计划。该认证旨在评估和认证业务架构师的专业能力和…

保姆级GitHub大文件(100mb-2gb)上传教程

GLF(Git Large File Storage)安装使用 使用GitHub desktop上传大于100mb的文件时报错 The following files are over 100MB. lf you commit these files, you will no longer beable to push this repository to GitHub.com.term.rarWe recommend you a…

使用 Visual Studio Code (VS Code) 开发 Python 图形界面程序

安装Python、VS Code Documentation for Visual Studio Code Python Releases for Windows | Python.org 更新pip >python.exe -m pip install --upgrade pip Requirement already satisfied: pip in c:\users\xxx\appdata\local\programs\python\python312\lib\site-pa…

Python的那些事第二十一篇:Python Web开发的“秘密武器”Flask

基于 Flask 框架的 Python Web 开发研究 摘要 在 Web 开发的江湖里,Python 是一位武林高手,而 Flask 则是它手中那把小巧却锋利的匕首。本文以 Flask 框架为核心,深入探讨了它在 Python Web 开发中的应用。通过幽默风趣的笔触,结合实例和表格,分析了 Flask 的特性、优势以…

Qt开发①Qt的概念+发展+优点+应用+使用

目录 1. Qt的概念和发展 1.1 Qt的概念 1.2 Qt 的发展史: 1.3 Qt 的版本 2. Qt 的优点和应用 2.1 Qt 的优点: 2.2 Qt 的应用场景 2.3 Qt 的应用案例 3. 搭建 Qt 开发环境 3.1 Qt 的开发工具 3.2 Qt SDK 的下载和安装 3.3 Qt 环境变量配置和使…

【第4章:循环神经网络(RNN)与长短时记忆网络(LSTM)— 4.3 RNN与LSTM在自然语言处理中的应用案例】

咱今天来聊聊在人工智能领域里,特别重要的两个神经网络:循环神经网络(RNN)和长短时记忆网络(LSTM),主要讲讲它们在自然语言处理里的应用。你想想,平常咱们用手机和别人聊天、看新闻、听语音助手说话,背后说不定就有 RNN 和 LSTM 在帮忙呢! 二、RNN 是什么? (一)…

DeepSeek应用——与PyCharm的配套使用

目录 一、配置方法 二、使用方法 三、注意事项 1、插件市场无continue插件 2、无结果返回,且在本地模型报错 记录自己学习应用DeepSeek的过程,使用的是自己电脑本地部署的私有化蒸馏模型...... (举一反三,这个不单单是可以用…

国自然地区基金|影像组学联合病理组学预测进展期胃癌术后预后的研究|基金申请·25-02-13

小罗碎碎念 今天和大家分享一个国自然地区科学项目,执行年限为2020.01~2023.12,直接费用为34万元。 胃癌在我国发病形势严峻,现有TNM分期预后评估存在局限,难以满足精准医疗需求。本项目运用“医工结合,学科…

【Java集合一】集合概述

一、集合简介 Java 集合框架(Collection Framework)是 Java 提供的一组用于存储和操作对象的类和接口集合。这些集合类提供了不同的数据结构,使得数据的管理和操作更加方便和高效。 Java 集合框架提供了各种类型的数据结构,如列…

k8s集群搭建参考(by lqw)

文章目录 声明配置yum源安装docker安装 kubeadm,kubelet 和 kubectl部署主节点其他节点加入集群安装网络插件 声明 由于看了几个k8s的教程,都存在各种问题,自己搭建的时候,踩了不少坑,最后还是靠百度csdnchatGPT才搭建…

MySQL 插入替换语句(replace into statement)

我们日常使用 insert into 语句向表中插入数据时,一定遇到过主键或唯一索引冲突的情况,MySQL的反应是报错并停止执行后续的语句,而replace into语句可以实现强制插入。 文章目录 一、replace into 语句简介1.1 基本用法1.2 使用set语句 二、注…

日语发音的节拍

短音 每个假名(包括清音、浊音、半浊音)都占 1 拍。 长音 长音占 2 拍,发音时间比短音长 不同母音的长音形式不同(あ段あ,い段い,う段う,え段い/え,お段う/お) 促音 …

[AI]从零开始的llama.cpp部署与DeepSeek格式转换、量化、运行教程

一、前言 在上一次的DeepSeek的部署教程中,我们使用Ollama与LM Studio很轻松的部署了DeepSeek并且也完成了相关API的调用,如果还有不会的小伙伴请看下面的教程: DeepSeek本地部署:[AI]从零开始的DeepSeek本地部署及本地API调用教…

基于SSM+uniapp的数学辅导小程序+LW示例参考

1.项目介绍 系统角色:管理员、普通用户功能模块:用户管理、学习中心、知识分类管理、学习周报管理、口算练习管理、试题管理、考试管理、错题本等技术选型:SSM,Vue(后端管理web),uniapp等测试环…

解决DeepSeek服务器繁忙问题

目录 解决DeepSeek服务器繁忙问题 一、用户端即时优化方案 二、高级技术方案 三、替代方案与平替工具(最推荐简单好用) 四、系统层建议与官方动态 用加速器本地部署DeepSeek 使用加速器本地部署DeepSeek的完整指南 一、核心原理与工具选择 二、…