在 Ubuntu 中缩小或删除 udev 分区?

Sea*_*gan 11 linux filesystems partitioning ubuntu

我今天尝试编译程序时磁盘空间不足。当我运行 df -h 时,我注意到分区不稳定。df -h 产生

Filesystem      Size  Used Avail Use% Mounted on 
/dev/sda1       4.6G  4.4G     0 100% /
udev             32G  4.0K   32G   1% /dev
tmpfs            13G  724K   13G   1% /run 
none            5.0M     0  5.0M   0% /run/lock
none             32G     0   32G   0% /run/shm
Run Code Online (Sandbox Code Playgroud)

我对这个输出有几个问题。

  1. 为什么所有的空间都分配给了 udev?这只是用户在安装过程中犯的错误还是有原因?
  2. 如果我重新分区,我是删除 udev 还是缩小它?

pab*_*ouk 16

udev不是永久硬盘驱动器上的分区。它是一个RAM 磁盘。因此,它不会消耗永久硬盘驱动器的任何容量(当系统 RAM 不足时,交换部分除外)。

Linux 中的 RAM 磁盘和 /dev

Ubuntu 与许多现代 Linux 发行版一样使用devtmpfs文件系统作为/dev目录。该目录包含特殊(设备)文件,它们只是设备驱动程序的接口。devtmpfs是 的一个特殊实例tmpfs。该/dev目录是类 Unix 目录结构的重要组成部分。如果删除它,系统将停止运行。

你可以注意到在 Ubuntutmpfs中也被挂载了/run它的子目录。在其他一些系统上,它也可以安装在/tmp.

你的问题

  1. 空间分配是默认设置。默认情况下,tmpfs文件系统限制为 RAM 容量的 50%。(您有 64 GB 的 RAM 吗?)这个数字实际上只是一个限制,因为tmpfs文件系统只占用存储文件/dev所需的空间,而目录所需的空间非常小。您(我的)案例中的占用容量只有几 KB。
  2. 您不能通过tmpfs分区来影响大小,因为它们不存储在物理驱动器上。如果不对系统进行实质性更改,则根本不可能删除它。您可以降低大小限制:sudo mount -o remount,size=1G /dev但这只会更改限制,而不会更改实际占用的 RAM 空间。

解决您的问题

您的解决方案是重新分区驱动器并/dev/sda1扩大(如果可以重新分区更容易)或添加新分区并将它们安装到适当的目录并将现有文件移动到那里以释放根 ( /) 文件系统。