[Sysadmins] P9, переезд с /var/{run,lock} -> /{run,run/lock}

Alex Moskalenko mav на elserv.msk.su
Чт Ноя 14 17:37:21 MSK 2019


Антон Мидюков писал 13.11.2019 13:32:
> 13.11.2019 16:53, Alex Moskalenko пишет:
>> Антон Мидюков писал 13.11.2019 11:33:
>>>> Я правильно понимаю, что нужно переместить текущее содержимое 
>>>> /var/lock в /run/lock, /var/run в /run, удалить /var/{run,lock} и 
>>>> создать симлинки /var/run->/run и /var/lock->/run/lock?
>>>> 
>>> Да. Но возможны сбои работы в системе до перезагрузки, поэтому уже
>>> установленные системы пользователи должны переводить сами, при
>>> необходимости.
>> Переместил содержимое и сделал симлинки, предварительно остановив и 
>> запустив после создания симлинков тех, кто использовал 
>> /var/{run/lock}. Сейчас так:
>> ls -l /var
>> .....
>> lrwxrwxrwx  1 root root      9 ноя 13 11:53 lock -> /run/lock
>> lrwxrwxrwx  1 root root      4 ноя 13 11:52 run -> /run
>> 
>> Из использовавших файлы в /var/run оказались fail2ban, monit, 
>> zabbix_agentd, crond, chronyd и acpid. Также в /var/lock есть 
>> каталоги, которых нет в /run/lock. То же с /var/run и /run.
>> Мучает вопрос - после перезагрузки эти каталоги с нужными правами 
>> будут созданы заново? Или это мусор, оставшийся в процессе обновлений 
>> системы? Пока перезагрузиться и проверить не могу...
> 
> В /run будут созданы каталоги, которые прописаны в конфигах:
> 
> /lib/tmpfiles.d/*.conf
> 
> /etc/tmpfiles.d/*.conf
> 
> Если какие-то пакеты всё ещё напрямую содержат каталоги в /var/run и
> не имеют конфигов tmpfiles.d, то на них нужно заводить баги и срочно
> исправлять.
Попробовал провести процедуру на другой машине (libvirt там правда нет). 
Поймал две проблемы:

1. Не стартует amavisd из-за неправильных прав на каталог 
/var/run/amavis - выставлены 755, нужны 775. Ошибка в файле 
/lib/tmpfiles.d/amavisd.conf.
2. При старте nginx ругается на невозможность создать 
/var/lock/nginx/nginx. Этот каталог файлах tmpfiles.d не указан, но 
прописан как LOCKFILE в init-скрипте nginx. Тут склоняюсь к тому. что 
неправ init-скрипт и lock-файл нужно создавать в стандартном месте - 
/var/lock/subsys.

Стоит вешать баги на amavisd-new и nginx по этому поводу (sysvinit 
все-таки...)?


Подробная информация о списке рассылки Sysadmins