Как стать автором
Обновить

В systemd 256.1 исправлена проблема в systemd-tmpfiles, приводившая к удалению всех домашних каталогов раздела /home

Время на прочтение2 мин
Количество просмотров3.3K

19 июня 2024 года вышла подсистема инициализации и управления службами в Linux systemd 256.1, где исправлена проблема в systemd-tmpfiles --purge, приводившая к удалению всех домашних каталогов раздела /home при выполнении команды systemd-tmpfiles --purge, добавленной в systemd 256 для удаления всех файлов и каталогов, созданных через настройки в tmpfiles.d. Релиз стабильной версии systemd 256 состоялся 11 июня.

По информации OpenNET и Phoronix, в примечании к выпуску systemd 256 и в man-руководстве systemd-tmpfiles было указано, что опция "--purge" удаляет все файлы и каталоги, созданные через настройки tmpfiles.d, но название "tmpfiles" в названии утилиты вводило в заблуждение и создавало впечатление, что удаление касается только временных файлов. При этом настройки tmpfiles.d не ограничиваются временными файлами и также используются для автоматического создания несуществующих каталогов с данными. В частности, удаление содержимого домашних каталогов объясняется тем, что при помощи файла "/usr/lib/tmpfiles.d/home.conf" создавался раздел "/home" и, соответственно, команда "systemd-tmpfiles --purge" приводила к его удалению.

Примечательно, что первоначальное сообщение об этой ошибке не было принято Лукой Боккасси (Luca Boccassi), разработчиком systemd из Microsoft. Он заявил в ответ по этой проблеме, что «таким образом, функция, которая буквально задокументирована как "все файлы и каталоги, созданные записью tmpfiles.d/, будут удалены", о чём вы ничего не знали, звучала как "хорошая идея"? Вы хотя бы пошли и посмотрели, какие записи tmpfiles.d у вас были заранее? Может быть, не стоит просто запускать случайные команды, о которых вы ничего не знаете, игнорируя при этом то, что вам говорит документация? Просто мысль, ага».

В ответ на такую реплику Боккасси в сообществе разработчиков проекта указали на то, что в документации утилита systemd-tmpfiles до сих пор описывается как «инструмент для создания, удаления и очистки непостоянных и временных файлов и каталогов», несмотря на то, что это давно не соответствует действительности.

В конечном итоге, после долгих обсуждений в последние несколько дней, поведение systemd-tmpfiles всё таки было признано ошибочным и изменено.

В начале для исключения ошибочного удаления домашних каталогов разработчики systemd запланировали удалить опцию "--purge". Но после обсуждения ситуации они приняли изменение, ограничивающее область действия команды systemd-tmpfiles --purge. Эта команда теперь может быть выполнена только при явном указании в командной строке конкретного файла конфигурации из tmpfiles.d/ и приведёт к удалению лишь связанных с ним файлов и каталогов. Кроме того, в man-руководство systemd-tmpfiles добавлено более подробное описание опции и предупреждение о возможных последствиях.

Теги:
Хабы:
Всего голосов 4: ↑4 и ↓0+4
Комментарии8

Другие новости

Истории

Работа

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань