[bilibili1]BV1FJ411V7gy[/bilibili]
一、提示系统空间不足
解决方案:【扩容】
前提条件:涉及调用root命令进行操作。需要打开UOS系统的开发者模式。
因为我们使用一键安装系统UOS,在Windows环境下对应安装目录下会生成两个*.disk文件(这两个文件若在UOS环境下不可见,请打开显示隐藏文件选项);
类似VM虚拟机磁盘文件,则root.disk里面包含了UOS系统文件。
UOS环境下,打开终端检查:
/dev/loop0:使用率为100% ,该文件就是我们的系统占用空间。因此需要对其进行扩容操作。
/dev/loop0
在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备。它使我们能像块设备一样访问一个文件。
在使用之前,一个 loop 设备必须要和一个文件进行连接,这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。
上面说的文件格式,我们经常见到的是 CD 或 DVD 的 ISO 光盘镜像文件或者是软盘(硬盘)的 *.img 镜像文件。通过这种 loop mount (回环mount)的方式,这些镜像文件就可以被 mount 到当前文件系统的一个目录下。
至此,顺便可以再理解一下 loop 之含义:对于第一层文件系统,它直接安装在我们计算机的物理设备之上;而对于这种被 mount 起来的镜像文件(它也包含有文件系统),它是建立在第一层文件系统之上,这样看来,它就像是在第一层文件系统之上再绕了一圈的文件系统,所以称为 loop。
补充:
挂载(mounting)是指依靠操作系统使一个存储设备(诸如硬盘、CD-ROM或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。
步骤:
- root.disk扩容
终端命令窗口。执行命令:dd if=/dev/zero bs=1G count=10 >> root.disk
dd - convert and copy a file dd
创建指定大小的文件,还可以用来备份,更多详细信息,可以参考man dd页面
命令格式:dd if='input_file" of="output_file" bs="block_size" count="number"
参数说明:
if:if=FILE 读取FILE替换标准输入
of:of=FILE 写入到FILE替换标准输出
bs:bs=BYTES 一次读取和写入多少字节
count:count=BLOCKS 复制多少输入块
- 完成命令后,重启UOS系统。检查root.disk是否已经增加容量,确定大小后在后面loop0扩容需要使用。
- /dev/loop0 扩容
打开终端命令窗口。执行命令:sudo resize2fs /dev/loop0 40G
resize2fs
调整ext2\ext3\ext4文件系统的大小,它可以放大或者缩小没有挂载的文件系统的大小。如果文件系统已经挂载,它可以扩大文件系统的大小,前提是内核支持在线调整大小。
size参数指定所请求的文件系统的新大小。如果没有指定任何单元,那么size参数的单位应该是文件系统的文件系统块大小。size参数可以由下列单位编号之一后缀:“s”、“K”、“M”或“G”,分别用于512字节扇区、千字节、兆字节或千兆字节。文件系统的大小可能永远不会大于分区的大小。如果未指定Size参数,则它将默认为分区的大小。
resize2fs程序不操作分区的大小。如果希望扩大文件系统,必须首先确保可以扩展基础分区的大小。如果您使用逻辑卷管理器LVM(8),可以使用fdisk(8)删除分区并以更大的大小重新创建它,或者使用lvexport(8)。在重新创建分区时,请确保使用与以前相同的启动磁盘圆柱来创建分区!否则,调整大小操作肯定无法工作,您可能会丢失整个文件系统。运行fdisk(8)后,运行resize2fs来调整ext 2文件系统的大小,以使用新扩大的分区中的所有空间。
如果希望缩小ext2分区,请首先使用resize2fs缩小文件系统的大小。然后可以使用fdisk(8)缩小分区的大小。缩小分区大小时,请确保不使其小于ext2文件系统的新大小。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
resize2fs [选项] device [size]
resize2fs [ -fFpPM ] [ -d debug-flags ] [ -S RAID-stride ] device [ size ]
文章评论