Ubuntu 下disk清理保护

本文介绍了解决Ubuntu系统中磁盘空间不足的问题,特别是针对.xsession-errors.old文件占用大量空间的情况,并介绍了chattr命令的使用方法,以提高系统的安全性。

         用久了ubuntu的人,很多人会忽然出个提示:磁盘空间不足1G! 然后分析半天。。最近也碰到类似问题,记录如下:


一:.xsession-errors.old

可以在终端看到主用户目录下有这么一个隐藏文件,我看到的时候 大小有22G左右!网上查了,说这个文件是因为我们本机与server之间通信错误的记录集合,会不断的增加记录。
有人提议可以写个脚本定期删除这个文件,这样太麻烦了,可以使用如下命令解决这一问题:

rm .xsession-errors.old

touch .xsession-errors.old

sudo chattr +i .xsession-errors.old

删除掉,然后再新建一个同名文件,修改此文件为不可写入!

二:chattr命令学习

之前都没怎么用过这个chattr命令,后来才发现这个命令这么有用!
系统中有的时候即使使用root权限也无法修改某个文件,很有可能是被用chattr命令锁定了,这个命令的一些功能是由linux内核提供支持。使用这个命令可以锁死系统的一些特殊文件,
提高安全性。
chattr命令不能保护/、/dev、/tmp、/var目录。 lsattr命令是显示属性, chattr命令设置的文件属性。

一般的操作基本都是 chmod chown 这个两个命令来修改读写权限,拥有者,chattr算是更加底层的属性控制命令了!

chattr命令的用法: chattr [ -RVf ] [ -v version ] [ mode ] files…

最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的属性,如下:

+ :在原有参数设定基础上,追加参数。

- :在原有参数设定基础上,移除参数。

= :更新为指定参数设定。

A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。

S:硬盘I/O同步选项,功能类似sync。

a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。

c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。

d:即no dump,设定文件不能成为dump程序的备份目标。

i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。

j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。

s:保密性地删除文件或目录,即硬盘空间被全部收回。

u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。

各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

以上面的.xsession-errors.old为例:

sudo chattr +i .xsession-errors.old

然后lsattr:

jscese@jscese-H61M-S2P:~$ lsattr .xsession-errors.old 
----i--------e-- .xsession-errors.old


撰写不易,转载请注明出处: http://blog.youkuaiyun.com/jscese/article/details/24792271




<think>我们正在回答用户关于Ubuntu系统垃圾清理的问题。根据用户提供的引用内容,我们可以总结出以下清理方法: 1. 清理APT缓存(旧安装包、下载的归档文件等) 2. 清理不再需要的依赖包(autoremove) 3. 清理日志文件(journalctl和/var/log下的日志) 4. 清理浏览器缓存(Firefox和Chromium) 5. 清理snap旧版本 6. 使用图形化工具(Stacer, BleachBit, Baobab) 注意:清理日志文件需要谨慎,特别是/var/log下的日志,因为有些日志可能被系统或服务使用。建议使用journalctl的vacuum命令来清理系统日志,并手动清理/var/log下以.old.gz结尾的旧日志。 另外,用户还提到删除多余的内核文件,但通常系统会自动保留当前和上一个内核版本,所以一般不需要手动删除。不过,如果有多个旧内核,可以手动删除。 我们将按照以下结构组织回答: 1. 基本清理(命令行) 2. 进阶工具(图形化) 3. 命令行高级清理(包括查找大文件、清理snap等) 4. 注意事项 注意:在回答中,我们会引用用户提供的引用[1]、[2]、[3]、[4]。</think>### Ubuntu 系统垃圾清理方法指南 以下为安全高效的清理方案,按操作风险从低到高排序: #### 一、安全清理(推荐新手) ```bash # 清理旧版软件包和依赖 sudo apt autoclean # 清理旧版软件包缓存 sudo apt autoremove # 删除无用依赖包[^2] sudo apt autoremove --purge # 连带删除配置文件[^2] # 清理缩略图缓存 rm -rf ~/.cache/thumbnails/* # 清理软件包下载缓存(保留最新版本) sudo apt clean ``` #### 二、日志文件清理 ```bash # 清理journal系统日志(保留30天) sudo journalctl --vacuum-time=30d [^1] # 清理/var/log旧日志(谨慎操作) sudo rm /var/log/*.old /var/log/*.gz [^1] ``` #### 三、图形化工具 1. **Stacer**(一站式清理) ```bash sudo apt install stacer ``` - 功能:清理APT缓存/缩略图/崩溃报告[^1] - 注意:首次运行建议勾选"安全清理"选项 2. **Baobab**(磁盘分析) ```bash sudo apt install baobab ``` - 可视化定位大文件[^1],扫描后右键删除 3. **BleachBit**(深度清理) ```bash sudo apt install bleachbit ``` - 支持浏览器缓存/系统临时文件清理[^1] - 建议勾选"Firefox缓存"和"系统缓存" #### 四、高级清理 ```bash # 清理snap旧版本(保留2个) sudo snap set system refresh.retain=2 sudo snap list --all | awk '/disabled/{print $1, $3}' | xargs -r snap remove --revision [^4] # 查找大文件(>1GB) sudo find / -type f -size +1G 2>/dev/null [^2] # 清理浏览器缓存 rm -rf ~/.mozilla/firefox/* ~/.cache/chromium/* [^2] ``` #### 五、内核清理(谨慎操作) ```bash # 查看已安装内核 dpkg --list 'linux-image*' | grep ^ii # 删除旧内核(保留当前和上一个) sudo apt purge linux-image-5.4.0-XX-generic # 替换为具体版本号 ``` > **注意**:必须保留至少2个可用内核[^3],删除后需`sudo update-grub` ### 清理前后验证 ```bash # 清理前查看磁盘空间 df -h / # 清理后检查释放空间 sudo du -sh /var/cache/apt # 检查APT缓存大小 journalctl --disk-usage # 检查日志大小 ``` > **重要提示**: > 1. 操作前备份重要数据 > 2. 避免使用`sudo rm -rf /`等危险命令 > 3. 系统日志清理需重启服务生效 > 4. 每月执行基础清理即可保持系统清洁 清理后可使用`sudo apt update && sudo apt upgrade`更新系统[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值