LINUX.ORG.RU
ФорумTalks

Похоже, у systemd 256 появилась новая функция: rm -rf /home

 ,


0

6

Ото кака фигня, малята: https://mathstodon.xyz/@bremner/112615591101488528

systemd-tmpfiles, deleting /home

TIL (thankfully second hand) that running «systemd-tmpfiles --purge» will delete /home in systemd 256 [1]. Apparently if you think linux is mainly for running cloud services, this seems reasonable to you. Or something.

[1] tested with systemd-tmpfiles --dry-run --purge on debian. I guess it _could_ be a Debian addition, but I'm guessing not.

★★★★★

Раз уж такая пьянка, то подскажите другое для дебила, а то не вьехал.

Т.е. эта фигня удаляет все в /tmp старше определенного возраста.

Т.е. если я находясь под user1 создам в /tmp линку на /home/user2/Downloads к примеру, то оно удалит это, еще и под рутом?

windows10 ★★★★★
()
Ответ на: комментарий от t184256
--purge

    If this option is passed, all files and directories created by a tmpfiles.d/ entry will be deleted. 

Судя по всему, смысл этой опции в том, чтобы делать этакий factory reset.

Ждём увлекательных открытий, что выполнение rm -r /usr от root удалит /usr.

Rootlexx ★★★★★
()
Ответ на: комментарий от sergej

ну и так то в арче например (и наверное в других нормальных дистрибутивах)

$ pacman -Qo /home
/home/ is owned by filesystem 2024.04.07-1

он всё равно удалит, даже если не создавал, просто потому что прописан в конфиге?

sergej ★★★★★
()
Ответ на: комментарий от sergej

Я так понял, это чтобы systemd во время загрузки их создал, если не существуют. Аля загрузиться с единственным /usr.

UPD. https://github.com/systemd/systemd/issues/33349, хотя бы с WONTFIX NOTABUG не закрыли.

whbex ★★
()
Последнее исправление: whbex (всего исправлений: 1)
Ответ на: комментарий от whbex

если не существуют

это понятно, непонятно зачем поручать эту функцию tmpfiles.d.

корневые папки можно же включить в пакет типа filesystem как в арче.

sergej ★★★★★
()
Ответ на: комментарий от sergej

непонятно зачем поручать эту функцию tmpfiles.d

Ну потому что systemd не только для арча. Он ещё и для всяких stateless-систем, где это актуально.

В любом случае, --purge откатят и переделают: https://github.com/systemd/systemd/pull/33353

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

для всяких stateless-систем, где это актуально

почему в стейтлесс системе нельзя засунуть пару пустых каталогов в прошивку?

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

sergej ★★★★★
()
Ответ на: комментарий от sergej

почему в стейтлесс системе нельзя засунуть пару пустых каталогов в прошивку?

На ЛОРе, как обычно, спорят о том, о чём вообще не имеют ни малейшего понятия.

Ну потому что например один из современных способов построения stateless-системы — это / на tmpfs и RO /usr, монтируемый, скажем, из сквоша или по сети.

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

Mechanism, not policy. Как различать постоянное и непостоянное хранилище будешь?

Что если в примере выше будет не tmpfs, а любая обычная ФС на zram? Или на проброшенном NVMe, который очищается гипервизором «за кадром» при каждом ребуте ВМки?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

один из современных способов построения stateless-системы

именно это мне не понятно и печалит.

зачем разводить помойку от корня и держать нетронутым /usr, когда можно разводить помойку в выделенном каталоге и рут сделать ридонли

sergej ★★★★★
()
Ответ на: комментарий от sergej

и опять же, ну сделай в сквошфсе рут + оверлей

зачем городить структуру от корня при помощи tmpfiles.d?

sergej ★★★★★
()
Ответ на: комментарий от sergej

зачем разводить помойку от корня и держать нетронутым /usr, когда можно разводить помойку в выделенном каталоге и рут сделать ридонли

Потому что это тупо удобнее и прозрачнее и налагает меньше требований на софт.

и опять же, ну сделай в сквошфсе рут + оверлей

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

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

налагает меньше требований на софт

да, вот именно это и печалит. Скоро будет как в винде лет 20 назад, фотошоп не запускается потому что нет доступа для создания временного файла в корне диска Ц :)

изменения относительно дефолта гораздо сложнее заметить и проанализировать

а как в этом помогает systemd-tpmfiles?

sergej ★★★★★
()
Ответ на: комментарий от sergej

Скоро будет как в винде

Я все эти причитания о том, что «скоро будет как в винде», слышу с 2010-го года.

а как в этом помогает systemd-tpmfiles

Помогает организовать стейтлесс-систему таким образом, при котором это возможно. Ваш кэп.

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

Помогает организовать стейтлесс-систему таким образом, при котором это возможно

ну нет же. программа насрала в корень, причем тут tmpfiles?

то что ты написал список файлов в конфиге, так что мешает сделать тоже самое в оверлее?

ну сделай /overlay над /rom и пропиши в tmpfiles.d /overlay/home если очень хочется.

Я все эти причитания о том, что «скоро будет как в винде», слышу с 2010-го года.

причитай не причитай, но это явный факап.

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

sergej ★★★★★
()
Ответ на: комментарий от Rootlexx

Судя по всему, смысл этой опции в том, чтобы делать этакий factory reset.

We need to rethink how –purge works. The principle of not ever destroying user data is paramount.

Тем не менее они считают что работать оно должно не так

PPP328 ★★★★★
()
Ответ на: комментарий от PPP328

Тем не менее они считают что работать оно должно не так

Товарищ Сталин Поттеринг! Произошла чудовищная ошибка!

Smacker ★★★★★
() автор топика
Ответ на: комментарий от rupert

О, а вот и «головокружение от успехов» подъехало. История повторяется, один раз в виде трагедии, второй раз в виде фарса.

Smacker ★★★★★
() автор топика
Ответ на: комментарий от sergej

ну нет же. программа насрала в корень, причем тут tmpfiles?

то что ты написал список файлов в конфиге, так что мешает сделать тоже самое в оверлее?

ну сделай /overlay над /rom и пропиши в tmpfiles.d /overlay/home если очень хочется.

Ну ты за контекстом вообще не следишь или да?

явный факап

Кто ж спорит-то? Зарепортили, откатили.

ответа на простой вопрос как хомяк стал временным файлом дать никто не может

Mu.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

откатят и переделают

А надо было с WONTFIX NOTABUG закрыть))

einhander ★★★★★
()
Ответ на: комментарий от intelfx

за контекстом вообще не следишь

Возможно. Но моё мнение, что собирать корень при помощи systemd-tmpfiles - это уже факап.

2й факап - это то, что конфиг с хомяком по умолчанию попадает из системд в нормальные дистрибутивы. Какой-нибудь ключ –stateless при сборке там есть?

а 3й факап - это уже следствие 2х предыдущих, и если с первыми двумя ничего не сделать, то ещё и не такое будет.

sergej ★★★★★
()
Ответ на: комментарий от intelfx

Не похоже по свежим комментам, что собираются откатывать.

Все еще настаивают, что это юзеры неправильно пользуются.

Belkrr
()
Ответ на: комментарий от sergej

ответа на простой вопрос как хомяк стал временным файлом дать никто не может

Хомяк не стал временным файлом. А вот systemd-tmpfiles стала сильно больше, чем тулзой для чистки временных файлов, но переименовывать ее «того не стоит», по словам Леннарта.

Belkrr
()

Придумали херню с этими временными файлами. Дурь какая то и усложнения на ровном месте, вот тебе и ошибки.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от sergej

Вопрос вообще захрена эти конфигурации нужны в принципе. Вот всё что в tmpfiles.d/* и всё что с этим связано, какая такая технически обоснованная причина всей этой карусели с временными файлами. Я искренне не понимаю. (Всякая экзотика в виде корней в tmp не считается)

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
sudo cat /etc/tmpfiles.d/home.conf 
[sudo] пароль для $USER: 

x /home/$USER
etwrq ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

в моей системе примерно половина - неосилившие runtimedirectory создают /run/… через tmpfiles

другая половина - /var/{log,lib}/… и прочие странные вещи

sergej ★★★★★
()

Даёшь systemd-disk-destroyer.service

yu-boot ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.