Ви використовуєте systemd і маєте v256, оновіть зараз, оскільки в ньому є помилка, яка усуває домашні каталоги

systemd 256 видалено /home

Кілька днів тому ми поділилися тут, у блозі, новиною про випуск systemd версії 256 , яка принесла велику кількість змін та нових функцій, серед яких була утиліта run0, яку, можна сказати, було головною родзинкою цього релізу.

Причиною згадки про systemd 256 є анонсований випуск коригувальної версії systemd 256.1 . Цю версію було випущено для вирішення критичної проблеми, що виникла у версії 256.

Ця проблема вплинула на неправильне видалення вмісту розділу /home під час виконання команди systemd-tmpfiles --purge . Спочатку цей параметр призначався для видалення файлів і каталогів, створених за допомогою налаштувань у tmpfiles.d, але його поведінка не відповідала документації та очікуванням користувача.

Конкретна проблема полягала в тому, що назва "tmpfiles" в утиліті була оманливою, оскільки опція `--purge` видаляла не лише тимчасові файли, а й впливала на каталоги та файли, автоматично створені за допомогою налаштувань у `tmpfiles.d`. Це включало автоматичне створення каталогів даних, таких як домашній каталог у `/home`.

Наприклад, файл /usr/lib/tmpfiles.d/home.conf відповідав за створення структури каталогів у /home, а випадкове використання systemd-tmpfiles --purge видалило ці каталоги та їхній вміст, замість того, щоб просто очистити тимчасові файли, як очікувалося.

Ось чому була випущена коригувальна версія systemd 256.1, щоб вирішити ці невідповідності та проблеми, про які повідомляють користувачі, а також належним чином узгодити функцію –purge з її початковим призначенням, гарантуючи, що вона видаляє лише тимчасові файли та не впливає на структуру каталогів. створений за допомогою конфігурацій у tmpfiles.d.

Варто відзначити, що інцидент із файлами systemd-tmp та некоректним видаленням каталогів у розділі /home Це була прикра ситуація, яка викликала дискусії та значні виправлення у реалізації systemd.

Почало з’являтися багато попереджень, у тому числі про маршрути в /home(не вдалося відновити час модифікації...?). Що робить інструмент тимчасового очищення в моєму домашньому каталозі? Це не добре. Моє серце почало битися швидше, і я натиснув Ctrl-C якомога швидше.

Виявляється, значну частину мого особистого каталогу було видалено. На щастя, схоже, що він почався з конфігураційних файлів, а не з фактичних даних, хоча я все ще не впевнений, чи не пропустив щось важливе. Я вимкнув машину, щоб пізніше відновити дані extundelete(До речі, не спрацювало, чомусь миттєво вилітає; у мене є резервні копії, але вони трохи застарілі, я надто швидко заповнюю диски).

Початкова реакція розробника Microsoft systemd Луки Боккассі відобразила розчарування та здивування користувачів, яких торкнулося це ненавмисне видалення. Під сумнів було поставлено реалізацію функції, яка, згідно з документацією, мала видаляти всі файли та каталоги без розбору, але на практиці впливала на важливі структури системи.

Після тривалих обговорень і перевірок його визнали що поведінка systemd-tmpfiles --purge було неправильним, і було вжито заходів щодо виправлення.

Спочатку вважалося повністю виключити цю опцію --purge, але ми вирішили обмежити його область, щоб він впливав лише на файли та каталоги, безпосередньо пов’язані з певною конфігурацією в tmpfiles.d/. Ця модифікація гарантує, що команда видаляє лише те, що вона має намір видалити, таким чином уникаючи небажаних побічних ефектів в інших областях файлової системи.

З чим у мене проблема, так це з документацією. Це пояснює, що роблять параметри, з технічної точки зору (ну, я думаю, що так, я не дуже знаю про архітектуру тут), але це не пояснює, чому вони роблять те, що вони роблять. Коли хтось просто переглядає документацію, всі три варіанти, здається, роблять те саме: очищають тимчасові файли, хоча --purgeЦе здається «більш повним», оскільки в ньому згадується, що він видаляє всі файли (включаючи дані користувача).

Крім того, оновлено посібник користувача systemd-tmpfiles щоб надати більш точний опис опції --purge та чітко попередити про можливі наслідки його неправильного використання.

Зрештою, ми рекомендуємо виконати необхідні оновлення, щоб уникнути повторення ситуації. Якщо ви хочете дізнатися більше , ви можете знайти подробиці за наступним посиланням.


Додати як пріоритетне джерело в Google