我在一台系统驱动器有限的机器上使用 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
- 最好是无需重新启动计算机?
答案1
sudo mount -o loop /path/to/ntfs/tmp16.img /tmp
应该管用。不知道你为什么使用remount
.
TBOsudo mount -o bind /path/to/ntfs/empty_dir /tmp
也可以发挥作用。 NTFS 具有存储 Linux 文件所需的所有功能https://linux.die.net/man/8/ntfs-3g:“它可以处理特殊文件,如符号链接、设备和 FIFO;此外,它还提供文件所有权和权限的标准管理,包括 POSIX ACL”。当处理数千个小文件时,NTFS-3g 可能会相当慢,但除此之外还不错。