我在一台系统驱动器有限的机器上使用 Ubuntu 20.04。
我遇到了一个检查可用大小的构建脚本/tmp
,如果它没有看到 12 GB 可用,它会拒绝运行,我在系统驱动器上没有。
但是,我在这台机器上有另一个 NTFS 驱动器;因为它是 NTFS,所以我不能直接使用它,但我可以创建一个磁盘映像。
所以,我想在 NTFS 分区上创建一个 16 GB 的 ext3 映像,然后将其挂载为 /tmp。
所以,我试过:
dd if=/dev/zero of=tmp16.img bs=16M count=0 seek=1024
mkfs.ext3 ./tmp16.img
fdisk -l ./tmp16.img
e2label ./tmp16.img tmp16
到目前为止,一切顺利——所有这些都奏效了;但后来我尝试安装:
$ sudo mount -o remount /path/to/ntfs/tmp16.img /tmp
mount: /tmp: mount point not mounted or bad option.
Ups,一定是我从某个地方留下的旧记忆,那/tmp
是一个单独的挂载 - 事实证明,在这台机器上,/tmp
不是一个单独的挂载:
$ mount | grep tmp
udev on /dev type devtmpfs (rw,nosuid,noexec,relatime,size=3970256k,nr_inodes=992564,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=802768k,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
tmpfs on /run/snapd/ns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=802768k,mode=755)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=802764k,mode=700,uid=1000,gid=1000)
tmpfs on /run/netns type tmpfs (rw,nosuid,nodev,noexec,relatime,size=802768k,mode=755)
好吧...有什么方法可以让我像/tmp
在这台机器上一样使用这个磁盘映像 - 有没有办法做到这一点,而不必重新启动机器(我认为,如果必须做某事,这是需要的整数/etc/fstab
?)
如果没有,有没有其他方法可以利用可用的 NTFS 空间并将其用作/tmp
- 最好是无需重新启动机器?
应该管用。不知道你为什么要使用
remount
.TBO
sudo mount -o bind /path/to/ntfs/empty_dir /tmp
也可以工作。NTFS 具有存储 Linux 文件所需的所有功能https://linux.die.net/man/8/ntfs-3g:“它可以处理符号链接、设备和 FIFO 等特殊文件;此外,它还提供文件的标准管理所有权和权限,包括 POSIX ACL”。NTFS-3g 在处理数以千计的小文件时可能会很慢,但除此之外没关系。