当前位置: 首页 > article >正文

清理Ubuntu系统空间?小心误删!用apt-mark auto/manual区分‘有用’和‘无用’软件包

Ubuntu系统清理指南用apt-mark守护你的关键软件包上周五下午当我正准备用VS Code调试一个Python项目时突然发现几个关键插件莫名其妙消失了。一番排查后才发现罪魁祸首是三天前那次例行的sudo apt autoremove操作——它把我半年前安装的Python开发环境依赖包当作无用垃圾清理掉了。这种令人抓狂的经历相信不少Ubuntu用户都深有体会。1. 为什么你的有用软件包会被误删每次使用apt install安装软件时系统会默默记录这个包的安装属性——是手动安装manual还是自动安装auto。这个看似简单的标记却直接决定了软件包的命运手动安装包你明确要求安装的包如直接运行apt install nginx自动安装包作为其他包的依赖被自动引入的包如安装python3-pip时自动安装的python3-setuptoolsapt autoremove的工作原理就是清理那些被标记为auto且当前没有其他包依赖的软件包。问题在于很多我们实际需要的包比如临时工具链、开发依赖最初可能只是作为依赖被安装后来原始包被移除了但这些依赖包却变成了系统里的孤儿。2. 查看软件包标记状态的三种方法2.1 列出所有手动安装的包apt-mark showmanual | head -n 10这会显示如下的典型输出adduser apt bash coreutils dash grep gzip hostname init libc-bin2.2 列出所有自动安装的包apt-mark showauto | grep python示例输出可能包含python3-dev python3-pip python3-setuptools python3-wheel2.3 检查单个包的状态apt show python3-pip | grep APT-Manual-Installed如果输出为APT-Manual-Installed: yes表示手动安装无输出则表示自动安装。3. 关键操作保护与释放软件包3.1 保护重要自动安装包假设你想保护python3-pip不被自动清理sudo apt-mark manual python3-pip验证状态变化apt-mark showmanual | grep python3-pip3.2 释放真正无用的手动安装包如果你确定某些手动安装包不再需要比如旧版编译器sudo apt-mark auto gcc-93.3 安全清理四步法先进行模拟删除检查sudo apt autoremove --dry-run仔细检查输出中是否有重要包对有疑问的包执行保护sudo apt-mark manual 包名最后执行实际清理sudo apt autoremove4. 高级技巧与自动化方案4.1 批量保护开发依赖包# 保护所有Python相关包 apt-mark showauto | grep python | xargs sudo apt-mark manual # 保护最近一个月安装的包 apt-mark showauto | while read pkg; do install_date$(stat -c %Y /var/lib/dpkg/info/$pkg.list 2/dev/null) [ $install_date ] [ $(( $(date %s) - install_date )) -lt 2592000 ] sudo apt-mark manual $pkg done4.2 创建软件包快照定期保存包状态以便恢复# 创建快照 apt-mark showmanual manual-packages-$(date %F).list apt-mark showauto auto-packages-$(date %F).list # 恢复快照 xargs sudo apt-mark manual manual-packages-2023-08-15.list xargs sudo apt-mark auto auto-packages-2023-08-15.list5. 常见问题排查指南问题现象执行apt autoremove后图形界面无法启动解决方案进入恢复模式或TTY终端重新安装被误删的显示管理器sudo apt-mark manual gdm3 sudo apt install --reinstall gdm3问题现象开发工具链缺失导致编译失败快速恢复# 查找最近删除的包 grep remove /var/log/apt/history.log | tail -n 10 # 重新安装并保护这些包 sudo apt install 包名 sudo apt-mark manual 包名记住在Ubuntu系统中apt-mark就像给你的软件包上了保险——它不会阻止你手动删除包但能防止那些看似无用的重要依赖被自动清理。养成在重大系统变更前检查包状态的习惯能帮你省去很多不必要的麻烦。

相关文章:

清理Ubuntu系统空间?小心误删!用apt-mark auto/manual区分‘有用’和‘无用’软件包

Ubuntu系统清理指南:用apt-mark守护你的关键软件包 上周五下午,当我正准备用VS Code调试一个Python项目时,突然发现几个关键插件莫名其妙消失了。一番排查后才发现,罪魁祸首是三天前那次"例行"的sudo apt autoremove操作…...

终极指南:如何在Windows电脑上免费接收iPhone和iPad的AirPlay 2投屏

终极指南:如何在Windows电脑上免费接收iPhone和iPad的AirPlay 2投屏 【免费下载链接】airplay2-win Airplay2 for windows 项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win 你是否曾经羡慕Mac用户能够轻松将iPhone或iPad屏幕投射到电脑上&#xf…...

ThinkPad风扇控制终极方案:TPFanCtrl2实现精准温控与静音体验

ThinkPad风扇控制终极方案:TPFanCtrl2实现精准温控与静音体验 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 TPFanCtrl2是一款专为ThinkPad笔记本电脑设计…...

免费音乐解锁工具:一键解密主流音乐平台加密音频

免费音乐解锁工具:一键解密主流音乐平台加密音频 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://gi…...

从RNN到Mamba:选择性状态空间如何让‘老古董’技术在LLM时代重生

从RNN到Mamba:选择性状态空间如何让"老古董"技术在LLM时代重生 当Transformer架构在自然语言处理领域大放异彩时,一个有趣的现象正在发生:那些被认为"过时"的循环神经网络(RNN)技术路线,正通过选择性状态空间…...

Mali GPU Binary Asset Exporter 2.2版本技术解析与优化实践

1. Mali GPU Binary Asset Exporter 2.2版本深度解析作为ARM Mali GPU生态中的关键工具链组件,Binary Asset Exporter在移动图形开发流程中扮演着资产转换枢纽的角色。2.2版本虽然提供了基础的COLLADA到二进制资产的转换能力,但在实际工业应用中暴露出若…...

计算机使用世界模型(CUWM)在GUI自动化中的创新应用

1. 计算机使用世界模型(CUWM)的核心设计理念在桌面软件自动化领域,传统方法面临着一个根本性矛盾:虽然软件环境本质上是确定性的,但实际操作却无法承受试错成本。CUWM的创新之处在于将"预测-执行"范式引入GUI交互,其设计…...

保姆级教程:用mdadm在Linux上搭建RAID 5阵列(含热备盘与故障模拟)

保姆级教程:用mdadm在Linux上搭建RAID 5阵列(含热备盘与故障模拟) RAID 5阵列因其出色的数据冗余和存储效率平衡,成为中小型存储环境的理想选择。想象一下,当你精心收集的4TB家庭照片库因为单块硬盘故障而瞬间消失&…...

在电脑上玩Switch游戏:Ryujinx模拟器完全指南

在电脑上玩Switch游戏:Ryujinx模拟器完全指南 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 想在电脑上体验《塞尔达传说:王国之泪》的壮丽世界,或…...

RAID卡电池坏了先别慌:手把手教你排查缓存策略降级与数据安全应急处理流程

RAID卡电池故障应急指南:从性能诊断到安全恢复的全流程解析 凌晨三点,数据中心告警系统突然响起刺耳的蜂鸣声。值班工程师小李揉了揉惺忪的睡眼,发现十几台关键业务服务器的磁盘写入延迟曲线全部呈现断崖式下跌。这种性能骤降往往意味着RAID卡…...

3步搞定热键冲突:Windows热键侦探实战指南

3步搞定热键冲突:Windows热键侦探实战指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾遇到过精心设…...

手把手教你排查:云主机VNC登录root失败,原来是/etc/securetty文件在“搞鬼”

云主机VNC登录root失败的深度排查指南:揭秘/etc/securetty的权限陷阱 当你在深夜紧急处理云主机故障时,突然发现VNC无法登录root账户——这种场景对任何运维工程师来说都像一场噩梦。本文将带你深入剖析这个看似简单却暗藏玄机的问题,从日志分…...

深度解析Fusion 360 3D打印螺纹优化方案:Fusion-360-FDM-threads实战指南

深度解析Fusion 360 3D打印螺纹优化方案:Fusion-360-FDM-threads实战指南 【免费下载链接】Fusion-360-FDM-threads 项目地址: https://gitcode.com/gh_mirrors/fu/Fusion-360-FDM-threads Fusion-360-FDM-threads 是一款专为3D打印螺纹设计优化的开源工具&…...

2025届最火的六大AI辅助写作平台实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当前,人工智能技术已经深度地介入到学术写作领域之中了。针对毕业论文这个复杂的…...

终极Mac桌面歌词体验:LyricsX免费开源工具完全指南

终极Mac桌面歌词体验:LyricsX免费开源工具完全指南 【免费下载链接】Lyrics Swift-based iTunes plug-in to display lyrics on the desktop. 项目地址: https://gitcode.com/gh_mirrors/lyr/Lyrics 你是否曾梦想在Mac桌面上实时显示歌词,让音乐与…...

2026届毕业生推荐的AI写作方案推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 软件系统是基于自然语言生成技术的AI写作工具,它能帮助用户更快完成文本创作、实…...

MZmine 3 终极指南:免费开源质谱数据分析的完整解决方案

MZmine 3 终极指南:免费开源质谱数据分析的完整解决方案 【免费下载链接】mzmine3 mzmine source code repository 项目地址: https://gitcode.com/gh_mirrors/mz/mzmine3 在代谢组学、脂质组学和蛋白质组学研究中,质谱数据分析是决定科研质量的关…...

终极字幕匹配神器:3种智能解决方案告别手动搜索烦恼

终极字幕匹配神器:3种智能解决方案告别手动搜索烦恼 【免费下载链接】subfinder 字幕查找器 项目地址: https://gitcode.com/gh_mirrors/subfi/subfinder 在全球化观影时代,你是否曾为找不到合适字幕而苦恼?SubFinder作为一款开源智能…...

Ouster雷达Web界面避坑全记录:从IP设置到UDP端口,新手最易踩的5个雷

Ouster雷达Web界面避坑全记录:从IP设置到UDP端口,新手最易踩的5个雷 第一次接触Ouster激光雷达的Web配置界面时,我像大多数新手一样自信满满地插上网线、输入IP,结果等待我的不是期待中的点云数据,而是一连串令人抓狂的…...

基于LSP的Claude代码智能体:架构、部署与实战指南

1. 项目概述:一个专为Claude设计的代码智能体LSP最近在折腾AI编程助手时,发现了一个挺有意思的项目——Siam-analytics/claude-code-lsps。这本质上是一个为Claude模型量身定制的语言服务器协议(LSP)实现,但它做的远不…...

docker容器内logs时间与容器操作系统时间不一致解决方法

一、系统配置 docker 版本:4.67.0 镜像:pgvector/pgvector:pg16 宿主机OS:Windows 11 家庭中文版 二、现象 1.容器OS和logs时间为UTC时间,宿主机时间为东8区,容器内时间比宿主机时间早8小时。 三、处理方法 1.修改容器…...

基于安卓的同城跑腿任务分发平台毕设源码

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于安卓系统的同城跑腿任务分发平台,以解决传统跑腿服务在任务匹配效率、用户体验优化及系统稳定性保障等方面存在的技术瓶…...

从T、U到W:手把手解读nm命令输出,搞定C/C++链接那些坑

从T、U到W:手把手解读nm命令输出,搞定C/C链接那些坑 当你盯着终端里"undefined reference to func"这样的错误信息时,是否曾感到无从下手?Linux开发者工具箱里藏着一把瑞士军刀——nm命令,它能帮你透视二进制…...

基于Transformer与PyTorch的选择题自动答题系统实践

1. 项目概述在自然语言处理领域,选择题(Multiple Choice Questions, MCQs)是一种广泛应用的评估形式,从教育考试到招聘筛选无处不在。传统方法通常依赖于规则系统或浅层机器学习模型,但这些方法往往难以捕捉题目和选项…...

【仅限首批200名工程师开放】:获取NASA JPL认证的C语言形式化验证Checklist V3.2(含17类实时系统边界条件断言模板)

更多请点击: https://intelliparadigm.com 第一章:NASA JPL认证C语言形式化验证Checklist V3.2的工程价值与适用边界 核心定位与权威性来源 NASA喷气推进实验室(JPL)发布的C语言形式化验证Checklist V3.2并非通用编码规范&#…...

MCP 2026访问日志留存新规:从30天→180天,你还在用Syslog硬扛?3种通过ISO/IEC 27001认证的日志加固方案

更多请点击: https://intelliparadigm.com 第一章:MCP 2026医疗数据访问控制框架概览 MCP 2026(Medical Control Protocol 2026)是面向下一代医疗信息系统的细粒度、策略驱动型数据访问控制框架,专为满足HIPAA、GDPR及…...

Python自动化抢票终极指南:3步搞定热门演出票务

Python自动化抢票终极指南:3步搞定热门演出票务 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 还在为抢不到心仪演唱会门票而烦恼吗?当热门演出开票瞬…...

淘宝 API 数据缓存策略:Redis 多级缓存 + 本地缓存的混合架构

一、前言在电商业务体系中,淘宝 API 是商品信息、订单数据、价格库存、用户权益等核心业务数据的主要获取来源。反向海淘、电商分销、第三方工具对接等场景下,会高频调用淘宝开放平台 API,而 API 调用存在调用频次限制、接口响应延迟、配额成…...

Rust的闭包中的生成代码

Rust闭包中的生成代码探秘 Rust的闭包是一种强大的语言特性,它允许开发者以简洁的方式捕获环境变量并生成高效的匿名函数。闭包背后的生成代码却隐藏着许多精妙的设计,从类型推断到内存管理,每一步都体现了Rust对性能与安全的极致追求。本文…...

QtScrcpy终极指南:3步实现Android投屏与键鼠映射,告别手机操作局限

QtScrcpy终极指南:3步实现Android投屏与键鼠映射,告别手机操作局限 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.…...