Answers:
如果安装了存储设备上的任何分区,则无法收缩/编辑分区。因此,为了卸载和编辑根文件系统,需要关闭操作系统。然后启动到实时系统并按照其他答案中的说明编辑分区。
作为创建整个分区的替代方法,交换文件提供了即时更改其大小的功能,并且更容易完全删除。交换文件可以热插拔。即可以添加和删除,而无需卸载/关闭操作系统。
创建一个名为的512 MB文件/swapfile
。这将是我们的交换文件。
fallocate -l 512M /swapfile
要么
dd if=/dev/zero of=/swapfile bs=1M count=512
设置正确的权限(因为世界可读的交换文件是一个巨大的本地漏洞):
chmod 600 /swapfile
创建正确大小的文件后,将其格式化以交换:
mkswap /swapfile
激活交换文件:
swapon /swapfile
编辑/etc/fstab
并添加交换文件条目:
/swapfile none swap defaults 0 0
更多详细信息,请参见arch linux Wiki。
首先,重要的是要知道,如果您正在使用根分区,则无法调整其大小来缩小根分区(这称为联机收缩)。您只能在线上种植它。该resize2fs
命令受此命令支持。我将假设以下内容:
自创建银河以来,LVM分区或Logical Volume Manager分区支持您调整大小的两种分区,自从创建银河和我们大多数人使用的标准分区以来。目前,btrfs文件系统(仍在开发中)是唯一可以完全在线调整大小(收缩/增长)的100%的文件系统。我将解释如何对我们大多数人在ext4文件系统中使用的普通分区进行处理。
要扩展分区,可以在安装了根目录的情况下进行。为此,只需执行以下操作:
sudo resize2fs /dev/sda1
如果您已经准备好合并空白空间。之后,我建议重新启动以使更改正确生效。上面的命令将调整为最大允许大小。如果您希望将大小调整为特定大小,则只需在末尾添加大小即可:
sudo resize2fs /dev/sda1 25G
请注意,如果要指定25.4 GB,则不能使用“。”。您将需要降低一个计量单位。在这种情况下,从GB到MB,所以看起来像这样:
sudo resize2fs /dev/sda1 25400M
这样您将拥有25.4G的分区
缩小分区是一个分为两个步骤的过程,其中包括:
在减少文件系统的容量之前,您需要减小块设备的大小(可以是分区或逻辑卷)。由于此功能不适用于任何ext *文件系统,因此无法将其从20 GB缩小到19.5 GB,以创建500 MB交换分区。
甚至Ext4也不支持在线收缩。如果您尝试这样做,则会得到以下信息:
据我所知,您唯一的选择是:
在同一服务器上(在另一个分区上)安装另一个Ubuntu版本,然后可以使用该版本收缩原始Ubuntu Server的根分区。
从头开始安装所需大小的Ubuntu服务器
使用Ubuntu Server Live Image调整分区大小。对于这种情况,您需要进入以下屏幕:
然后选择“调整大小”选项,如上图所示。从那里您将选择新的尺寸,因为从这里您可以卸下该单元并根据需要收缩它。
作为附加帮助,这里提供了gparted文件系统支持http://gparted.org/features.php,其中提供了非常详细的受支持列表,并包括了它们是否具有完整的在线调整大小。Btrfs就是其中之一。
The resize2fs program does not manipulate the size of partitions.
答案取决于您是否可以卸载分区以缩小。在您的情况下,您可能无法卸载分区。在Linux(UNIX / MAC OS)中,挂载分区是指使用文件系统并将其映射到挂载点(在您的情况下/
)。卸载意味着您停止使用文件系统,并删除到安装点的映射。您不能卸载包含正在运行的操作系统的文件系统。
如果可以卸载该分区
假设您要缩小/dev/sda4
安装到的200GB ext4分区/data
。它当前包含音乐和电影或类似内容,因此您可以暂时将其卸载。您要创建一个4GB的交换空间。
sudo umount /dev/sda4
卸载分区。
sudo resize2fs /dev/sda4 196G
在有足够空间的情况下将ext4文件系统的大小调整为196 GB。现在,您必须缩小分区。我目前认为您需要使用它cfdisk
来删除现有分区,并在其位置重新创建一个较小的分区。然后,您还可以为交换创建一个新分区。
sudo cfdisk /dev/sda
将为您提供基于文本的GUI,以检查您的分区表。我建议您此时print
将分区表保存到文件或屏幕,并记下当前配置作为备份。然后可以选择/dev/sda4
和delete
分区。free space
将显示在其位置上。使用new
在其处创建一个196 GB一个新的分区,并设置类型到ext4。然后,移至尾随的可用空间并创建类型为的4GB交换分区swap
。注意:我没有测试这些命令,因为我目前无法使用这些命令/
。
如果无法卸载分区
您不能收缩已安装的ext3 / 4分区(请参阅参考资料resize2fs
)。从中运行OS时/
,无法卸载/
。这意味着您必须启动另一个操作系统(例如从USB密钥)来进行更改。
在您的情况下,它是一台远程服务器(最有可能在KVM上),因此您可能无法从USB /实时OS映像启动。可能还有其他方法可以通过管理GUI从vServer提供程序更改分区。我相信这是您目前最好的选择。