Ramdisk / tmpfs, который не удаляет подпапки и символические ссылки при перезагрузке
Я создал временный жесткий диск, который использует системную память (ramdisk) с этими командами:
sudo mkdir -p /media/ramdisk
sudo mount -t tmpfs -o size=2048M tmpfs /media/ramdisk
После этого я создал подпапку (поток) на виртуальном диске
Мне удалось сохранить ramdisk при перезагрузке, добавив эту строку:
grep /media/ramdisk /etc/mtab | sudo tee -a /etc/fstab
И я создал символическую ссылку из моей папки /home/ubuntumaster/stream на мою папку /media/ramdisk/stream с помощью следующей команды:
ln -s /media/ramdisk/stream /home/ubuntumaster/streamer/stream
Но при перезагрузке символическая ссылка и подпапка в рамдиске удаляются. Как я могу сделать эту символическую ссылку постоянной? То же самое для подпапки на виртуальном диске.
В противном случае мне нужно будет создать подпапку на виртуальном диске и символическую ссылку при каждой перезагрузке.
1 ответ
Перезагрузка не требуется для очистки tmpfs
крепление. если ты mount
tmpfs
mount, затем заполните его (например, создайте подкаталог под mount), затем umount
это, ваш подкаталог исчез (если вы переделываете монтирование, оно начинается пустым). Если вы хотите сохранить постоянство на всех монтировках (не говоря уже о перезагрузках) tmpfs
само по себе не хватит.
Один из способов использования tmpfs
таким образом, что монтирование изначально непусто, это использовать OverlayFS с непустым нижним каталогом и tmpfs
смонтировать как верхний каталог.
Ваш вопрос говорит, что символическая ссылка исчезает в результате перезагрузки, но я не верю, что так и происходит. Символическая ссылка в постоянном каталоге указывает на (возможно, несуществующий) каталог в tmpfs
крепление.
Более простой подход, который может удовлетворить ваши цели, состоит в замене символической ссылки на tmpfs
точка монтирования, используя что-то вроде этого:
rm /home/ubuntumaster/streamer/stream
mkdir /home/ubuntumaster/streamer/stream
sudo mount -t tmpfs -o size=2048M tmpfs /home/ubuntumaster/streamer/stream
Если вы решили использовать /home/ubuntumaster/streamer/stream
в качестве точки монтирования, а не символической ссылки, /etc/fstab
ибо это может выглядеть так:
tmpfs /home/ubuntumaster/streamer/stream tmpfs rw,size=2048M 0 0
Если вы предпочитаете использовать символическую ссылку, целью символической ссылки может быть tmpfs
точка крепления; это может выглядеть примерно так:
sudo mkdir -p /media/stream
sudo mount -t tmpfs -o size=2048M tmpfs /media/stream
ln -s /media/stream /home/ubuntumaster/streamer/stream
Вы можете избежать проблем во время перезагрузки, протестировав изменения в /etc/fstab
используя команду монтирования перед перезагрузкой. В случае, когда /home/ubuntumaster/streamer/stream
это не символическая ссылка, это может быть так (после редактирования /etc/fstab
):
sudo mount /home/ubuntumaster/streamer/stream
Если, скажем, вы по ошибке пропустите mkdir
, mount
будет жаловаться на отсутствующую точку монтирования.