Что может пойти не так, как надо, если/var/tmp находится во временной файловой системе?

Наконец узнанный, что я должен был дать им конкретные имена файлов:

sudo ln -s /etc/init.d/backup_files.sh /etc/rc0.d/K10backup_files.sh
sudo ln -s /etc/init.d/backup_files.sh /etc/rc6.d/K10backup_files.sh

Сценарии в/etc/rc0.d и/etc/rc6.d выполняются во время завершения работы и перезагрузки соответственно. Сценарии с их именем, запускающимся с капитала k выполняются с аргументом stop в то время как те, которые запускаются с капитала S выполняются с аргументом start. Кроме того, выполнение файлов сделано в лексикографическом порядке.

Файлы в этих runlevels называют как:

[K | S] + nn + [string]

nn-> двузначное число
строка-> должна быть строчной строкой

Больше о Linux runlevels может быть найден здесь

8
11.08.2013, 21:37
1 ответ

Файлы в /var/tmp как ожидают, будут персистентными через перезагрузки. От FHS:

/var/tmp каталог сделан доступным для программ, которые требуют временных файлов или каталогов, которые сохраняются между системными перезагрузками. Поэтому данные, хранившие в/var/tmp, являются более персистентными, чем данные в/tmp.

Файлы в /var/tmp часто файлы кэша или временные файлы, которые не должны исчезать в случае внезапного сбоя питания. Они, как могут ожидать, не будут жить навсегда все же. Распространено очистить старые файлы от /var/tmp в расписании.

Вот некоторые примеры /var/tmpиспользование:

  • Некоторые реализации vi (например. nvi) вставьте их файлы восстановления катастрофического отказа /var/tmp. Если это - временная файловая система, Вы не получаете шанс восстановления ничего. Vim помещает его файлы восстановления катастрофического отказа в тот же каталог как отредактированный файл.
  • Я использую плагин Firefox, который позволяет мне редактировать текстовые поля в Vim. Для выполнения этого плагин создает временный файл в /var/tmp (/tmp значение по умолчанию, хотя), и передает файл Vim. Если мой компьютер потеряет питание, в то время как я использую эту функцию, моя запись будет живой и здоровой в /var/tmp.
  • Инструменты редактирования текста такой как ex и sudoedit вставьте временные файлы /var/tmp. Если /var/tmp был смонтирован как tmpfs, Вы рискнете терять данные неожиданным сбоям питания.
  • git-archive(1) страница справочника имеет следующий пример.

    архив мерзавца - format=tar - prefix=junk/НАПРАВЛЯЕТСЯ | (CD/var/tmp/&& tar xf-)
    Создайте архив tar, который содержит содержание последней фиксации на
    текущее ответвление и извлечение это в/var/tmp/junk каталоге.

    Возможно что /var/tmp каталог был выбран так, чтобы извлеченное содержание архива не было потеряно внезапному сбою питания.

  • С тех пор /var/tmp очищается периодически, но никогда неожиданно, распространено сохранить временные журналы и тестовые базы данных там. Например, в arpd страница справочника, /var/tmp используется в качестве местоположения тестовой базы данных ради некоторых примеров.

    arpd-b/var/tmp/arpd.db
    Запустите arpd для сбора бесплатного ARP, но не смешивающий с функциональностью ядра.

Таким образом, Ваша система вряд ли нанесет серьезный ущерб, если Вы смонтируетесь /var/tmp как tmpfs. Выполнение так может быть нежелательным хотя, поскольку Вы рискнули бы терять информацию сбоям питания и перезагрузкам.
11
27.01.2020, 20:11
  • 1
  • 2
    Благодарит Вас. Я считал спецификацию FHS, и я понимаю, что в принципе приложения могли бы использовать/var/tmp для хранения материала - мне было более любопытно на предмет определенных примеров того, насколько проблематичный это могло бы быть на практике. –  D.W. 11.08.2013, 04:01
  • 3
    @D.W.: Я обеспечу больше примеров. –   11.08.2013, 04:14
  • 4
    @D.W. Также /var/tmp вероятно, будет больше, чем /tmp, таким образом, некоторые приложения ожидают помещать большие временные файлы там. Если /var/tmp находится на tmpfs, Ваша система может исчерпать память или начать перегружаться. –  Gilles 'SO- stop being evil' 11.08.2013, 22:41

Теги

Похожие вопросы