LINUX.ORG.RU
ФорумTalks

systemd делает rm -rf /

 , ,


0

1

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

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

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

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

В нормальном сообществе в продакшн не тащат подобные баги.

$ mkdir /tmp/foobar ; cd /tmp/foobar ; touch 1 2 3 4 # здесь могло бы быть cd $HOME
$ ls -1 | wc -l
4
$ touch -- -rf ; ls -1 | wc -l
5
$ rm * ; ls -1
-rf

Это бага или фича?

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

Вот пришло бы очередное плохо протестированное обновление, и всё

Учитывая, что тест - перезагрузка, сомневаюсь, что такой tmpfiles смог бы пропустить хоть кто-то. Учитывая, что о пострадавших не заявлено, таких косяков и не было, ибо первый, кто воспользовался .* сразу на баг и нарвался. О чём драма не понятно.

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

Код с гитхаба на сервера попадает не сразу за нажатием кнопочки merge если что. И процедуры тестирования не просто так выдуманы.

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

Если миллиард человек потеряет в один день по десять центов — скучная история. А если кто-то один потреяет миллиард долларов — на передовицы.

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

Откуда знаешь? В TODO ничего такого не вижу.

Жопой чую.

Не отъемлемая, так что не OK.

Это компонент systemd, который отдельно от systemd не поставляется. И я нихрена не понимаю, о чём именно ты сейчас споришь.

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

Жопой чую.

Как говорил О. Бендер, больше вопросов не имею.

И я нихрена не понимаю, о чём именно ты сейчас споришь.

Да я и не спорю, а рассказываю, как дела обстоят.

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

Добавлю, и архитектурных провалов тоже пока нету.

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

Ну, я не в теме, у меня их нет, как и systemd.

А чё есть?

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

В нормальном сообществе в продакшн не тащат подобные баги.

В твоем манямирке возможно. Программ без багов не бывает. Здесь написали issue о баге, и его исправили. В чем проблема?

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

по делу есть чего сказать, или как всегда?

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

Проблема в том, что светоч истины всея опенсорса и наш спаситель от херовых инитов нихрена вообще не знает о том, как работают кореутилс, но мнение имеет.

Кстати, а на кой ляд вообще им вообще захотелось реализовать свой rm?

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

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

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

Нормальное сообщество не состоит из волшебников, способных гарантированно не допустить проникновение таких багов в продакшн.

Deleted ()

С бамблиби гитхаб интересней был.

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

светоч истины всея опенсорса и наш спаситель от херовых инитов

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

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

а вот следовал бы он заветам юниксвея, то вызывал бы «rm -rf» вместо своего бажного велосипеда

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

Значит, некий тестер спас мир от ужасной катастрофы. Что касается Поттеринга, будь он где-нибудь в другой стране, давно бы уже сделал сеппуку от позора. Или хотя бы RedHat уволил бы его за профнепригодность

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

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

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

А не сидеть молча старательно делая умное лицо и при этом боясь, что тебя разоблачат.

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

Как это? В стабильнейшем бебиане?

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

а первоклассные программисты(tm) не делают ошибок.

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

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

светоч истины всея опенсорса и наш спаситель от херовых инитов нихрена вообще не знает

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

Кстати, а на кой ляд вообще им вообще захотелось реализовать свой rm?

Чтобы не зависеть от coreutils, видимо.

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

то есть ты абсолютно честно уверен что торвальдс ни одного бага не допустил за свою жизнь?

нельзя ж так палиться-то :)

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

в стиле принцессы не какают

по крайней мере, они не делают это публично :)

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

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

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

а вот следовал бы он заветам юниксвея, то вызывал бы «rm -rf» вместо своего бажного велосипеда

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

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

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

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

это open source, здесь всё делают публично

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

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

У openbsd есть big kernel lock. Это из провалов.

У меня openrc почти везде.

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

Именно поэтому джуниорам полезно в нем работать и видеть как реально происходит серьезная разработка.

Которая показывает, кто реально чего стоит, как разработчик :)

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

А у Линуса есть системы, которые он может уронить?

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

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

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

Чтобы не зависеть от coreutils, видимо.

А что в этом плохого? Coreutils под GPL, и systemd под GPL, можно было в крайнем случае даже код просто скопипастить

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

У него есть потенциальная возможность уронить множество линукс-систем. Т.е. на нём лежит большая ответственность.

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

А Торвальдс тут при чем? Другие дапускают. И не мене эпичные баги. Как насчет иксовых дыр с двадцатилетним стажем?

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

Дыра в иксах напрямую систему не уничтожает, дыру сначала надо успешно проэксплуатировать

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

А вот вызывать rm для удаления папки из кода на C - то ещё извращение:

  • Миллион возможностей накосячить (например, не написав отдельную обработку имён файлов, которые выглядят как флаги самого rm).
  • Этого самого rm две популярные реализации (coreutils и busybox) и есть ещё непопулярные. Под все нужно тестировать, и писать воркэраунды на их баги.
  • Обработка ошибок - сущий ад, если нужно нечто бОльшее, чем просто знать, произошла ошибка или нет.

По-человечески, нужно использовать библиотеку для C (или C++, если они на C++ пишут), которая умеет удалять папки. Если подходящей библиотеки нет - сделать. Использовать rm - это быстрый, но весьма сомнительный подход.

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

В перечисленных случаях удаление не срабатывает, что не катастрофа, в случае сабжа удаляется вся система

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

Дыра в иксах напрямую систему не уничтожает, дыру сначала надо успешно проэксплуатировать

Тебе историю про Bumblebee и лишний пробел напомнить? И это даже не иксы были, а драйвер для них.

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

разработчики такие разработчики..

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

Не веришь - открой багзиллу.

Или хотя бы рассылку почитай, где после каждого rc-кандидата идет реверт нескольких замердженных патчей, которые по факту «не взлетели».

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

Сейчас прибежит системдик intelfx и раскажет какие мы все жопоруки.

Он не приходит в баготреды если аргумент «сам дурак» не катит.

ya-betmen ★★★★★ ()
Последнее исправление: ya-betmen (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.