LINUX.ORG.RU
ФорумTalks

systemd делает rm -rf /

 , ,


0

1

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

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

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

★★★★★

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

Ответ на: комментарий от 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

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

А чё есть?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это сторонняя разработка. Как и eudev.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

alpha ★★★★★
()

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

systemd выключает компьютер при выполнении fsck

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

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

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

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