Linux服务器磁盘满了,找出可删的大文件,删除log、Snap以及Ubuntu 18不再使用的旧内核,释放空间

找出大文件

Linux服务器磁盘满了,在Xshell里通过命令

cd /

切换到根目录,在通过命令

du -sh *

查看所有文件夹的大小,找出大文件。

结果如截图:

可以看出,大文件(夹)有snap,usr,var。

查了一下资料,Snap是Canonical推出的一种新的软件打包格式,彻底解决linux依赖性的问题,Snap
软件包拥有更加稳定和安全的特性。snap也就是安装snap软件包的命令。

额,那就是说,snap不是系统必要的,为了节省空间,可删除。

cd usr 切换到usr目录,在此目录输入命令

du -sh *

得到

可看出,src目录是大文件夹。

切换到src,在此目录输入命令 du -sh * 得到

可以看到,都是linux-headers的文件。有些是没用的,可以删除。

var目录也找了一下,发现log日志目录也有部分可以删除。

再通过du -sh *

找出最大的文件夹是journal,再进去查看,发现里面保留了大概半年的日志文件,近几天的是百来K以内,大部分是8M,有些是几十M。

 

删除大文件

通过命令

sudo apt autoremove --purge snapd

来删除snap,结果报错

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

按照提示,输入‘sudo dpkg --configure -a’命令:

得到空间不足无法运行以上命令来删除snap。

怎么办呢?

可以先删除log下journal的文件,通过命令

journalctl --vacuum-size=10M

来删除journal的文件,journal最后只剩下几十M了。

cd / 切换到根目录,通过“df -h” 命令,得到

终于腾出差不多1G的空间了。

再次运行命令

sudo apt autoremove --purge snapd

还是报错

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

不用慌,按提示运行“sudo dpkg --configure -a”,得到

然后再次运行“sudo apt autoremove --purge snapd”,就正常了。出现“Do you want to continue? [Y/n]”的时候,输入“Y”就可以删除snap了。

截图如下:

从运行的日志可以看出在卸载snap的过程中也把相应的linux-headers文件删除掉了。这样就不用单独去删除了。

运行“df -h”,发现腾出了3G多的空间。

到此,删除大文件释放空间的目的就达到了。

 

<think>好的,我现在需要帮助用户在Ubuntu系统中清理磁盘空间释放无用内存。首先,我要回忆一下相关的知识,并结合提供的引用内容来组织回答。用户提到的引用有三个,分别是关于查看磁盘使用情况、释放VMware虚拟磁盘空间以及Ubuntu空间清理的九种方法。我需要确保回答中涵盖这些引用中的关键点,并正确标注引用标识。 首先,用户的问题分为两部分:清理磁盘空间释放无用内存。虽然“释放无用内存”可能指的是释放RAM,但通常内存管理在Linux中会自动处理,不过有时候用户可能想清除缓存。所以需要分清楚这两个部分。 对于清理磁盘空间,引用1提到查看磁盘使用情况的命令,比如df和du。引用3详细列出了九种方法,包括清理日志、缓存、无用包、多余内核等。引用2讨论了在VMware环境中释放虚拟磁盘空间的方法,可能需要使用vmware-toolbox命令。因此,我需要将这些方法整合到回答中,并正确引用。 关于释放内存,通常Linux会自动管理内存,缓存和缓冲区会被自动释放当有需要时。但用户可能想手动释放,可以使用sync和echo 3 > /proc/sys/vm/drop_caches命令,不过需要谨慎使用,并说明可能的影响。 接下来,我需要按照用户的要求,结构清晰,分步骤说明。使用命令和代码块来展示具体操作,同时标注引用来源。同时,生成相关问题,可能涉及工具使用、自动清理、检查大文件、虚拟机空间释放等。 需要注意使用中文回答,所有行内数学表达式用$...$,但在这个问题中可能用不到数学公式。不过要确保LaTeX语法正确,如果有的话。独立公式用$$...$$,但同样可能不适用。 现在开始组织回答: 1. 查看磁盘空间使用情况:使用df -h和du -sh命令,引用[^1]。 2. 清理日志文件:/var/log/目录,引用[^3]方法1。 3. 清理缓存:~/.cache和apt缓存,使用apt clean等,引用[^3]方法2、3。 4. 移除无用软件包:apt autoremove,引用[^3]方法3。 5. Conda缓存清理:如果用户使用conda,引用方法4。 6. 删除多余内核:引用[^3]方法6。 7. 清理Snap包:引用[^3]方法5。 8. 清理Docker资源:引用[^3]方法9。 9. VMware虚拟磁盘清理:使用vmware-toolbox-cmd,引用[^2]。 10. 释放内存:sync和drop_caches,说明注意事项。 然后生成相关问题,比如如何自动清理、检查大文件、虚拟机空间释放等,确保每个问题与内容相关。 需要确保所有步骤正确,命令准确,同时引用标注正确。例如,在提到清理VMware虚拟磁盘时引用[^2],清理日志时引用[^3]的方法1等。 最后,检查是否符合用户的所有要求,包括结构清晰、命令正确、引用正确、问题相关。</think>### 如何在Ubuntu中清理磁盘空间释放内存 #### 一、清理磁盘空间 1. **查看磁盘使用情况** 使用以下命令快速查看磁盘占用: ```bash df -h # 查看各分区剩余空间[^1] du -sh /* 2>/dev/null | sort -rh | head -n 10 # 查找占用最大的目录 ``` 2. **清理日志文件** Ubuntu系统日志存储在`/var/log/`目录,可删除日志或限制日志服务: ```bash sudo journalctl --vacuum-time=7d # 保留7天内日志[^3] sudo rm /var/log/*.log.* # 删除轮转后的日志 ``` 3. **清理APT缓存与无用包** APT包管理工具会缓存下载的安装包,清理方法: ```bash sudo apt clean # 清理所有缓存 sudo apt autoremove # 删除无用依赖包[^3] ``` 4. **清理用户缓存** 用户级缓存(如浏览器、应用缓存)位于`~/.cache`: ```bash rm -rf ~/.cache/* # 谨慎操作,可能影响部分应用 ``` 5. **删除多余内核** 使用以下命令移除内核(保留当前使用内核): ```bash sudo apt purge $(dpkg -l | grep 'linux-image-.*-generic' | awk '{print $3}' | grep -v $(uname -r))[^3] ``` 6. **清理VMware虚拟磁盘空间(若适用)** 在虚拟机中执行以下命令释放使用空间: ```bash sudo vmware-toolbox-cmd disk shrink / # 需安装VMware Tools[^2] ``` --- #### 二、释放内存(RAM) 1. **手动释放缓存** Linux会自动管理内存,但可通过以下命令强制释放缓存(需root权限): ```bash sync # 同步数据到磁盘 echo 3 | sudo tee /proc/sys/vm/drop_caches # 释放PageCache/Slab等[^3] ``` **注意**:此操作可能导致短暂性能波动,仅建议临时应急使用。 2. **监控内存使用** 实时查看内存占用: ```bash free -h # 显示内存与Swap使用情况 top # 动态查看进程内存占用 ``` --- #### 三、进阶清理(按需选择) - **删除Snap冗余版本**: ```bash snap list --all | awk '/disabled/{print $1, $3}' | xargs -rn2 snap remove ``` - **清理Docker资源**: ```bash docker system prune -a --volumes # 删除使用的镜像、容器等[^3] ``` - **查找大文件**: ```bash find / -type f -size +500M -exec ls -lh {} \; 2>/dev/null ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值