LINUX.ORG.RU
ФорумTalks

systemd делает rm -rf /

 , ,


0

1

https://github.com/systemd/systemd/issues/5644

Для Ъ: в systemd есть механизм для очистки временных директорий, который, в том числе, может удалять файлы по маске. В маску «/tmp/.*» у systemd подпадает в том числе и «/tmp/..». Такие дела.

P.S. Да, я знаю, что эту проблему уже починили, но это не делает быдлокод менее эпичным.

★★★★★

Последнее исправление: hateyoufeel (всего исправлений: 1)

Ответ на: комментарий от Harald

до продакшена сквозь ынтырпрайзное тестирование

У тебя правда arch в production? Если да, то теперь ты сам понимаешь, почему его там быть не должно.

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

Случайно допустить опечатку "--no-preserve-root" как-то сложновато.

Ну важные данные не только в корне есть. Смысл в том, что программирование на шелле намного опаснее, чем даже Лёнин говнокод.

И при чём тут админ?

Да была новость на опеннете о том, что хостер всё себе удалил из-за опечатки. Только как сейчас выяснилось, это оказывается фейк. А я поверил.

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

Ванильное ядро в продакшен никогда не попадает, есть огромная толпа людей кроме Линуса, которая ежедневно пашет на его стабилизацию, и, поверь, находит в нём баги.

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

Ну а на рассылку ядра я подписан, у меня и принятый в ядро патч уже есть. Интересно вот, почему коммит Поттеринга никто не завернул, почему он дошёл до стадии тестирования :)

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

почему коммит Поттеринга никто не завернул, почему он дошёл до стадии тестирования

ну наверное потому что заговор, как же иначе-то может быть?

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

Админ может уничтожить только подконтрольные ему системы, программист - потенциально все, где установлено его поделие :)

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

Это законный способ выстрелить себе в ногу

То есть фича. Оукей.

Помню времена, когда # rm -rf / было столь же законным способом. Кстати, в каких реализациях rm(1), кроме GNU'той, есть --preserve-root?

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

Прогерам строго воспрещается знать про утилиты из набора coreutils?

Прогерам не обязательно уметь цитировать маны по всем утилитам наизусть. Если они не в курсе про какое-то не особо очевидное поведение утилиты, это минус, но не значительный.

А что в этом плохого?

Видимо не хотели лишнюю обязательную зависимость.

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

Ну блин, это фигня. Я помню эпичный баг, когда после апдейта systemd сегфолтился при загрузке. Это даже в дистрибутивы попало. И про ассерт на строку из сокета, которым можно было повесить systemd, тоже не надо забывать.

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

Админ может уничтожить только подконтрольные ему системы, программист - потенциально все, где установлено его поделие :)

А президент ядерной державы весь мир. И что из этого?

Цена ошибки потенциально выше. Поэтому прогеров тестируют много больше чем админов. Ошибаются все одинаково.

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

Про ассерт я тут постил, вот ещё раз: https://www.agwa.name/blog/post/how_to_crash_systemd_in_one_tweet. А с сегфолтом эта фигня давно была. Тогда Поттеринг выпустил 3 релиза systemd за два дня, потому что с первого раза Леннарт просто не может.

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

ты в курсе, а я как-то одному товарищу в fedora-чатике посоветовала

 rm -rf ./*

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

а потом он материл меня всякими словами долго, потому что почему-то вместо копипаста решил команду руками набрать и точку забыл

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

Я в таких случаях советую find . -depth -delete.

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

В первом случае может быть удалено не то, что нужно, либо не так, как нужно. А если для вызова rm используется system, а не exec (бред, но видел во вполне серьезном проекте, правда, внутреннем), и разработчик не был сверх-аккуратным, то туда можно пропихнуть вообще любую shell-инъекцию => выполнить произвольный код.

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

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

Deleted
()
Ответ на: комментарий от takino

Линуксоиды любят обсосать со всех сторон, как же плоха фряха и опен.

Чисто для справедливости: есть и хорошие линуксоиды. Я как-то посмотрел выступление Тео с докладом и проникся к нему большим уважением. Неважно, что OpenBSD не такая функциональная, как Linux, но Тео я уважаю наравне с Торвальдсом.

p.s.

а вот создателя системГ нет, не уважаю...

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

дистанционный по интернету не считается

Harald ★★★★★
()

Тред ещё не читал, sd-положительные уже набижали защищать свою кривую поделку или всё ещё восстанавливают данные?

h578b1bde ★☆
()

феерично, и уже не первый раз фееричный баг.

там в systemd полно говнокода (99.9 %), думаю отловить еще можно.

самое забавное что эти говнокодеры и идиоты от sd, всем навязывают (tmux например) привязать свое ПО для sd (либо добавить код для этого гавна в проект).

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

Эти говнокодеры и идиоты от sd, всем навязывают (tmux например) привязать свое ПО для sd

С этого момента - подробнее. Где в tmux такое?

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

Охренеть. Не зря я отовсюду systemd-user выпиливаю.

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

Там в комментариях хороший пример того как толпа любителей twitter-сенсаций мешает трем разработчикам обсудить проблему и способы решения.

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

Там в комментариях хороший пример того как толпа любителей twitter-сенсаций мешает трем разработчикам обсудить проблему и способы решения.

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

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

Вот именно так.

Есть open-source community, а есть толпа, которая о разработке узнает по желтым заголовкам очередной новости о new Linus rant.

Вопрос к какой группе стоит относиться.

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

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

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

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

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

Багрепортом это бы было, если бы поломка tmux обсуждалась в багтрекере system-г.

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

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

Парламент — не место для дискуссий!

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

Делать детские ошибки позволено каждому! Если бы такую ошибку допустил только что зарегистрированный лоровец — его бы обоссал и обосрал даже ты. И больше бугурта тут не столько от этой ошибки идиотской, сколько от отношения разработчика.

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

ты в курсе, а я как-то одному товарищу в fedora-чатике посоветовала


 rm -rf ./*

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

а потом он материл меня всякими словами долго, потому что почему-то вместо копипаста решил команду руками набрать и точку забыл

Лол! Жопорукие рукожопы должны страдать.

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

Автор не я, автор mandala ЕМНИП.

Не, не я, поиск говорит что на лоре 'SystemDick' впервые использовалось тут как цитата ToleranUX (комментарий)

immature and creepy SystemDick

Доставило нереально.
Meyer ★★ (20.01.2015 8:23:03)

А источник утонул.

Нагуглилось что-то, например это https://what.thedailywtf.com/topic/15145/fsf-linux

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

Есть хоть одна причина вступать в дискуссию с фекальными дурачками тем самым опускаясь до их уровня, но никак не в предметную и адекватную?

Deleted
()
Ответ на: комментарий от alpha

Проблему решили

Не решили - systemd всё ещё разрабатывают.

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

Было уже, когда говнокодеры из FreeBSD обосрались с USB-флешками - вынимание неотмонтированной флешки вешало намертво всю систему.

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

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

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

alpha> Вообще в нормальном сообществе

В нормальном обществе таким дебилам не дают писать замену инита и окружения системы. Он мог проконсультироваться со знающим человеком, мог протестировать, мог стандарты почитать, наконец. Но нет, ему же виднее, какой стандарт должен быть - стандарт Поцеринга Кровавого. И это продолжается уже несколько лет непрерывно. Такое непростительно в принципе.

Quasar ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.