【问题解决】Linux内核编译安装后磁盘空间已满问题

2023-12-02 19:44

本文主要是介绍【问题解决】Linux内核编译安装后磁盘空间已满问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux内核编译安装后磁盘空间已满问题解决过程

【注】本文为个人遇到Linux内核经过make,make modules……乃至最后install以后VMware磁盘空间爆炸的情况后,而又不想重装虚拟机,自己找资料实现解决的,文章中很多链接是来自别的博主的(感谢这些大佬写出的高质量文章,没有他们我自己也不一定能解决这问题),如有侵权,请联系我删除。
本人运行环境:VMware + vscode + Linux Ubuntu18.04
【温馨提醒】当这一切解决以后各位朋友不要吝惜VMware的快照功能,真的很有用!之后如果不是因为存储空间不够,直接恢复到编译内核前的快照就行了!(为什么这么说?因为我差点忘了!)

文章目录

  • Linux内核编译安装后磁盘空间已满问题解决过程
    • 1、虚拟机扩容(我看的是这个链接)
    • 2、磁盘已满无法开机(no space left……)
    • 3、扩容后续(我自己未用到,我点开的是上面第1条里的链接)
    • 4、vmware磁盘当前空间依旧显示不变?点开这个链接看看吧!
    • 5、重启后如果出现找不到OS的情况怎么办
    • 5、关于VMware快照(强推!)

1、虚拟机扩容(我看的是这个链接)

这里不得不删除所有快照,因为不然vmware上无法扩展,细节请点击下面的链接。

虚拟机扩容

2、磁盘已满无法开机(no space left……)

下面内容可实现删除一堆东西的功能。

请先点开链接

磁盘已满无法开机问题

下面的代码是我自己在ubuntu里打开火狐方便我自己复制代码的,因为Try Ubuntu中vm-tools用不了(我自己安装了以后重启还是没用),具体的内容执行步骤还是要点进文章链接看看哦。

sudo -s
fdisk -l 
mount /dev/sda1 /mnt
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt

回到根目录:注意,我用的内核源码是linux-5.10.202版本,下面的代码请根据各位看官自己内核版本修改~

sudo rm -rf /lib/modules/5.10.202
sudo rm -rf /usr/src/linux-headers-5.10.202
sudo rm -rf /boot/*5.10.202*
sudo rm -rf /var/lib/dpkg/info/linux-headers-5.10.202*
sudo rm -rf /usr/src
umount /mnt

遇到mnt busy问题后的解决:
在这里插入图片描述

查看 /mnt/ 的进程状态。比如可以看到 PID 1340 进程正在运行。

fuser -mv /mnt/

杀掉访问文件的进程。

fuser -kv /mnt/

再用 fuser -mv /mnt/ 查看 /mnt/ 。PID 1340 进程已经被杀掉。

fuser -mv /mnt/

最后如果实在不行,暴力解决:

umount -l /mnt

3、扩容后续(我自己未用到,我点开的是上面第1条里的链接)

https://blog.csdn.net/m0_61549260/article/details/129751313

4、vmware磁盘当前空间依旧显示不变?点开这个链接看看吧!

记得先用sudo su切换为root模式
虚拟机删除文件后,磁盘文件所占物理空间没有变小的解决方式 - 知乎 (zhihu.com)【我用的是知乎文中的方法二,亲测有效】

5、重启后如果出现找不到OS的情况怎么办

在这里插入图片描述
选择自己Linux原来的内核版本(因为新版本在上面操作中已经被卸载了),我自己没有选择recovery mode,然后回车即可。我遇到的情况是我的linux5.10.202文件夹还在,这个文件夹大小有目共睹
在这里插入图片描述
OK!删了,反正后面装回来很快……当然像make mrproper之类的指令也可以用用,据说也有效果。

5、关于VMware快照(强推!)

VMware快照相关

这篇关于【问题解决】Linux内核编译安装后磁盘空间已满问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/446569

相关文章

jdk1.8的Jenkins安装配置实践

《jdk1.8的Jenkins安装配置实践》Jenkins是一款流行的开源持续集成工具,支持自动构建、测试和部署,通过Jenkins,开发团队可以实现代码提交后自动进行构建、测试,并将构建结果分发到测... 目录Jenkins介绍Jenkins环境搭建Jenkins安装配置Jenkins插件安装Git安装配

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

Nginx错误拦截转发 error_page的问题解决

《Nginx错误拦截转发error_page的问题解决》Nginx通过配置错误页面和请求处理机制,可以在请求失败时展示自定义错误页面,提升用户体验,下面就来介绍一下Nginx错误拦截转发error_... 目录1. 准备自定义错误页面2. 配置 Nginx 错误页面基础配置示例:3. 关键配置说明4. 生效

python版本切换工具pyenv的安装及用法

《python版本切换工具pyenv的安装及用法》Pyenv是管理Python版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,:本文主要介绍python版本切换工具pyen... 目录Pyenv 是什么?安装 Pyenv(MACOS)使用 Homebrew:配置 shell(zsh

Java调用DeepSeek API的8个高频坑与解决方法

《Java调用DeepSeekAPI的8个高频坑与解决方法》现在大模型开发特别火,DeepSeek因为中文理解好、反应快、还便宜,不少Java开发者都用它,本文整理了最常踩的8个坑,希望对... 目录引言一、坑 1:Token 过期未处理,鉴权异常引发服务中断问题本质典型错误代码解决方案:实现 Token

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时