Как папки, созданные в / var / run при каждой перезагрузке

просто удалите файл apache2 под /etc/init.d/apache2 .. но сначала вам нужно будет это сделать:

sudo service apache2 stop

sudo chown user /etc/init.d/apache2
sudo chmod 755 /etc/init.d/apache2
sudo rm /etc/init.d/apache2 

это стоит для меня:)

1
задан 20 March 2014 в 10:25

5 ответов

Для тех, кто сталкивается с этим потоком, потому что вы ищете решение о том, как настроить приложение, чтобы он создавал каталог в /var/run, чтобы он мог хранить файл sock или pid или что-то еще ... вот пример , Я наткнулся на этот поток, потому что хотел сохранить файл socks MySQL в /var/run/mysqld. Итак, после того, как я наткнулся на этот поток, я начал искать в файлах /etc/init примеры. dbus был хорошим. И я придумал эту конфигурацию запуска mysql:

start on runlevel [2345] 
stop on runlevel [!2345] 
expect daemon 

pre-start script 
    mkdir -p -m0755 /var/run/mysqld 
    chown mysql:mysql /var/run/mysqld 
end script 

exec /etc/init.d/mysql start 
pre-stop exec /etc/init.d/mysql stop 

Часть скрипта перед запуском сделала трюк.

5
ответ дан 24 May 2018 в 21:31

Новая папка /run, установленная tmpfs, позволяет программам, таким как udev, lvm и mdadm, сохранять данные времени выполнения от initrd до выключения.

/var является стандартным каталогом любой системы Linux / UNIX - это означает «переменная», и это место, где много журналов, cahces, НО также программируют файлы параметров переменной и даже некоторые базы данных конфигурации системы.

Большинство вещей в /var должны быть правильно очищены и регулируется системой. Ваши файлы подкачки для виртуальной памяти также живут в /var, поэтому не связывайтесь с этим. /var/run также содержит много информации о статусе и параметрах активных рабочих процессов.

Этот каталог содержит данные системной информации, описывающие систему с момента ее загрузки. Файлы в этом каталоге должны быть очищены (удалены или усечены соответственно) в начале процесса загрузки. Программы могут иметь подкаталог /var/run; это рекомендуется для программ, которые используют более одного файла времени выполнения.

Хорошо, так как /var/run монтируется как tmpfs. Это означает, что он полностью пуст, когда ваш компьютер загружается, и он должен быть таким, чтобы не запускать такие вещи, как демоны, из-за остаточного PID-файла.

Скрипты запуска обычно создают нужные им каталоги перед их использованием. Если вы хотите сохранить PID-файл, либо поместите его в /var/run напрямую, либо создайте каталог перед созданием PID-файла. Это не место для хранения данных, которые должны оставаться там при перезагрузках.

Источники: Pathname & amp; Руководство системного администратора Linux

4
ответ дан 24 May 2018 в 21:31
Тем не менее, я вижу там несколько папок, например / var / run / mysqld и многие другие. Как эти папки создаются при каждой перезагрузке? Есть ли какая-либо папка с шаблонами, скопированная в / var / run / (и если да, какой скрипт делает это) или каждая папка mkdired отдельно или что?

Как определено в стандарте иерархии файлов, /var/run или /run используются для хранения летучих данных времени выполнения.

Все папки и файлы, созданные в нем, управляются соответствующей программой, которая создала файлы. Нет такой вещи, как скопированная папка шаблона, каждая программа может использовать эту папку для хранения изменчивой информации. Сохраненные данные теряются при перезагрузке системы.

Общей задачей для использования папки /run является сохранение pid запускаемых демонов, файлов маркеров, содержащих номер процесса процесса. Они, в основном, используются для скриптов start / stop, которые вы можете найти, например, в /etc/init.d/

. Надеюсь, это ясно дало вам понять!

br

2
ответ дан 24 May 2018 в 21:31

Ваше предположение не совсем правильно. Местоположение папки /var является предметом переговоров, то есть вы можете использовать альтернативный раздел или том, на котором можно найти папку /var. Независимо от того, где находится папка /var, папка /var/run является символической ссылкой на папку /run, и ее содержимое остается после перезагрузки, хотя многие из файлов в /run сгенерированы или изменены при загрузке службами, начиная во время загрузки. Таким образом, это службы, такие как mysqld, которые требуют загрузки файлов в каталог /var/run и настроены на создание подкаталогов, если они не существуют в настоящее время.

1
ответ дан 24 May 2018 в 21:31

douggro абсолютно прав, / var / run монтируется как tmpfs, а / var / run - символическая ссылка на / run, которая постоянно перезагружается, поэтому все, что входит в / run, также будет отображаться (и оставаться в нем) /var/run.

Таким образом, любые сервисы загрузки, такие как mysqld, который является демонами, запущенными во время загрузки, которые создают файлы в / run, также будут иметь файлы, видимые в / var / run (символическая ссылка на / run запомнить). Если вы хотите создать файл, который будет сохраняться при перезагрузке в / var / run, создайте его в / run и перезагрузите.

Надеюсь, что это ответит на ваш вопрос.

-2
ответ дан 24 May 2018 в 21:31
  • 1
    Вы ошибаетесь или используете нестандартные настройки. Проверьте себя. крепление | grep / run .... tmpfs on / run type tmpfs – Steven Kath 9 June 2013 в 00:11
  • 2
    " Если вы хотите создать файл, который будет сохраняться при перезагрузке в / var / run, создайте его в / run и затем перезагрузите. " Это НЕ правильно. tmpfs изменчиво, и изменения теряются. – ortang 11 June 2013 в 17:26

Другие вопросы по тегам:

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