Создание временной папки в GNU/Linux

В системе GNU/Linux есть возможность создавать временные папки (точнее, делать обычную папку временной). Это используется для нужд системы, но это может быть сделано и пользователем. Технически это выглядит как монтирование в директорию специальной файловой системы tmpfs.

Чтобы сделать обычный каталог временным, нужно ввести в терминале с правами суперользователя:
mount -t tmpfs tmpfs ~/temp/
(вместо ~/temp/ подставить каталог, который хотите сделать временным)
Учтите, что tmpfs находится в оперативной памяти. При перезагрузке, выключении или размонтировании временной файловой системы все файлы, хранившиеся в ней, уничтожаются без возможности восстановления.

Автоматическое создание временного каталога

tmpfs может монтироваться при загрузке так же, как и обычная файловая система. Для этого в /etc/fstab пропишите:
tmpfs   /home/user/temp/        tmpfs   auto,rw 0       0
где /home/user/temp/ замените на нужный путь.

Размер временной директории

Размер директории устанавливается опцией монтирования size. Если она не указывается, размер смонтированной tmpfs будет равен половине размера оперативной памяти.

Ваша оценка: Нет Средняя оценка: 3.8 (5 votes)
pomodor

Только хочу добавить, что папки только в Вантузе, а в нормальных ОС — директории.

Хранить некоторые файлы в ОЗУ — идея хорошая. Только мне не кажется удобной работа через tmpfs. Обычный RAM-диск с проецированием в файл на жестком диске гораздо удобнее. Его можно отключить, упаковать, перенести или архивировать. Я, например, на RAM-диске храню образы виртуальных машин.

И еще для некоторых задач я стал использовать Redis. Чрезвычайно полезная и удобная штука. Грубо говоря, это СУБД, которая располагает данные целиком в ОЗУ, но при желании юзера может синхронизировать содержимое с данными на диске, чтобы пережить перезагрузку. Так вот, для некоторых операций удобнее запихнуть временные данные в ассоциативный массив в Redis, чем сохранять во временной директории. Например, можно промежуточный результат вычислений в R сохранить в Redis, а потом использовать в любой другой программе. Даже если это гигабайты, импорт-экспорт происходит за доли секунды.

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
Sunrise

Только хочу добавить, что папки только в Вантузе, а в нормальных ОС — директории.

На английской локализации (на которой я сижу) в некоторых программах встречается слово «folder», которое я привык переводить как «папка» («директория» по-английски будет «directory»).

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

Да, "папка" глаза режет.
Зачем tmpfs от суперпользователя, если есть, например, fuse-ramfs, или ramfs из p9p?

Ваша оценка: Нет
comrade

Вообще-то, современные линуксы, обычно, уже используют tmpfs по-умолчанию, так сказать в служебных целях:-)

Чем могут пользоваться и мирные люди:
безо всяких рутов, фстабов и фусей, можно каталоги создавать и писать-читать файлы в /dev/shm (/run/shm), расположенный в оперативке.

Я сам пользуюсь tmpfs через fstab – удобно, быстрее, и ресурс SSD экономится.
в /etc/fstab добавлены:

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/spool/postfix tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/cache/apt/archives tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/spool/postfix tmpfs defaults 0 0
tmpfs /home/MY_USER/.cache tmpfs defaults,noatime,mode=1777 0 0
tmpfs /home/MY_USER/.thumbnails tmpfs defaults,noatime,mode=1777 0 0
tmpfs /home/MY_USER/.local/share/gvfs-metadata tmpfs defaults,noatime,mode=1777 0 0
tmpfs /home/MY_USER/.config/libreoffice/4/user/extensions/tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /home/MY_USER/.TrueCrypt tmpfs defaults,noatime,mode=1777 0 0
tmpfs /home/MY_USER/.local/share/.ACEStream tmpfs defaults,noatime,mode=1777 0 0
tmpfs /home/MY_USER/Anki/addons/awesometts/.cache tmpfs defaults,noatime,mode=1777 0 0

А за то, что я на рам-диск логи отправляю, меня уже тут пинали:-)
Тема tmpfs уже на этом сайте не раз "всплывала".

Ваша оценка: Нет
pomodor

А за то, что я на рам-диск логи отправляю, меня уже тут пинали

А зачем вообще вести журналы, если они затрутся после выключения компа? Вот если, не дай бог, каккеры опорочат ваш компьютер, то как после ресета проводить расследование?

Ваша оценка: Нет
pomodor

Кстати, в ОЗУ полезно перенести кэш Хромиума/Хрома. Особенно тем юзерам, у которых SSD. По умолчанию Хром какает в ~/.cache/что-то-там и довольно интенсивно. В результате получаем ускорение web-серфинга и спасаем диск от преждевременного износа.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
comrade

...Т.е., примерно так (команду запуска хромиума надо изменить):

/usr/bin/chromium-browser --disk-cache-dir=/run/shm/ChromiumCache --password-store=basic
Ваша оценка: Нет
pomodor

Я пользовался символической ссылкой, но можно и так.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
comrade

Firefox Cache – на RAM-disk:
• запускаем FF, в адресной строке вводим about:config
• кликаем в любом месте правой кнопкой, выбираем New -> String
• в качестве имени параметра задаем browser.cache.disk.parent_directory, в качестве значения — путь к папке где будет храниться кэш.
Например, /run/shm/ffcache
Т.е., на рам-диске tmpfs

Ваша оценка: Нет

Или устанавливаем browser.cache.disk.enable в значение false

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
pomodor

Я как-то ставил Debian полностью в ОЗУ. Выделил 10 Гб и через VirtualBox поставил. Плюсы: а) все открывается довольно быстро; б) нулевой износ SSD. :)

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

Автор, считаю что неверно будет в статье про временные папки рассказать про tmpfs и не рассказать про ramfs с rsync. Ведь в связке они дают возможность перекинуть свой браузер целиком вместе с кешем и профилем в оперативную память, параллельно настроив синхронизацию в жесткий диск.
Тот же Хромиум при запуске из ОЗУ летает просто на первой космической. Единственное, желательно размещать его там целиком — не только кеш с профилем, но и бинарники из которых он запускается.
Насчет памяти, у меня ее 8Гб, так что мне плевать на траты оперативы, все равно больше пары ГБ не съест. Тем у кого 4Гб, в приницпе, тоже должно быть все равно, а если все же не хватает, можно использовать замечательную технологию zRam, позволяющую виртуально расширить выделенную в ОЗУ память до девяти и более раз, при условии, что сжатое блочное устройство в ОЗУ забивается только вашим веб-браузером.

Ваша оценка: Нет
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Яндекс.Метрика