создать виртуальный диск в C ++ на Linux

Мне нужно сделать ramfs смонтировать его в каталог в Linux с помощью C ++. Я хочу сделать это как пользователь (нет sudo).

Мне нужно вызвать приложение на файл, который я создал, и это будет часто. Запись на жесткий диск очень медленная.

Я нашел только:

system("mkdir /mnt/ram");
system("mount -t ramfs -o size=20m ramfs /mnt/ram");

но это не хорошо Я хочу быть обычным пользователем, и команда mount можно назвать просто как root.
Что я могу сделать?

4

Решение

Для пользовательского решения ramfs вы можете использовать Python-плавких Ramfs.

0

Другие решения

Я проверяю, если /tmp это ramfs, но это не так. Он создает файлы на жестком диске. но когда я бегу df -h это выводит:

rootfs                       25G  9,4G   15G  40% /
devtmpfs                    1,9G     0  1,9G   0% /dev
tmpfs                       1,9G  1,6G  347M  83% /dev/shm
tmpfs                       1,9G  1,3M  1,9G   1% /run
/dev/mapper/vg_micro-root    25G  9,4G   15G  40% /
tmpfs                       1,9G     0  1,9G   0% /sys/fs/cgroup
tmpfs                       1,9G     0  1,9G   0% /media
/dev/mapper/vg_micro-stack  289G  191M  274G   1% /stack
/dev/mapper/vg_micro-home   322G   40G  266G  14% /home
/dev/sda2                   485M   89M  371M  20% /boot
/dev/sda1                   200M   19M  182M  10% /boot/efi

Это означает, что tmpfs (рамдиски): /dev/shm, /run, /sys/fs/cgroup а также /media, Но только один из них предназначен для временного виртуального диска для обмена данными между процессами с использованием файлов. Вот это /dev/shm описание и использование. Единственное что tmpfs не будет расти динамически, но для моих целей этого будет достаточно (20МБ — 1ГБ).

-1

По вопросам рекламы [email protected]