LINUX.ORG.RU
ФорумTalks

Успей обновить систему за 15 минут

 , ,


1

2

Минутка субботнего юмора в Толксах.

https://www.happyassassin.net/2014/10/31/psa-dont-fedup-to-fedora-21-right-now/

Currently Fedora 21 has a build of systemd that includes a new feature that was added upstream after the release of 216, which is intended to time out system startup if it’s not complete after 15 minutes – the idea being to avoid things like your laptop melting / starting a fire in your bag if it gets accidentally powered on, stuff like that.

Unfortunately, turns out that having a timeout that hard powers down the system if boot hasn’t completed after 15 minutes doesn’t work very well with fedup, because while fedup’s actual ‘install the updated packages’ step is running, systemd considers that boot has not ‘completed’. So if you try and fedup to Fedora 21 using a fedup environment that has the affected systemd build (like the one in the Beta tree, and also in the current 21 ‘stable’ tree), and your ‘install updated packages’ boot takes more than 15 minutes, it’ll just suddenly cut off and shut down. Obviously, there’s quite a high chance that’ll leave the system in a broken state.

So: don’t do it. Really, don’t.

Это альфа-версия, да.

★★★★

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

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

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

ВООБЩЕ ВСЕ?

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

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

Если бы вместо systemd был upstart или sysv init или openrc, который был бы так же настроен ребутить через 15 минут - темы бы не получилось? :)

дело как раз в том, что в sysv init, openrc, или upstart не такие долбанутые на голову люди, чтобы принимать такие тупые решения, как shutdown-ить систему в любом случае, если systemd показалось, что она слишком долго стартует

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

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

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

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

Понятия не имею, ни разу fedup не использовал. Но раз тут обсуждают баг самостоятельного выключения в тот момент, когда система обновляется, но не считается загруженной, то он, видимо, как-то так и работает. Пусть меня поправят федорасты, я дальше виртуалки её не держу.

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

я так понимаю ты по собственному опыту знаешь всю силу бронелиста А4 «Снегурочка»))))

...Сын ошибок трудных.

om-nom-nimouse ★★
()
Ответ на: комментарий от der_looser

так он не меняет рабочий софт на велик из спичек просто потому, что тому исполнилось 5 лет.

На самом деле, именно так я обычно и делаю. :-) Но не для всего появляются велики.

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

кривое обновление федоры это исключительно баг systemd.

Знакомая история. Что-то раньше отлично работало, но тут приходят д'артаньяны из systemd, всё меняют, а если что-то ломается, то это объявляется кривым.

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

У Федоры релизы раз в полгода-год. Больше пары лет вообще мало у кого релизы. Перефразируем на «И даже софт, который по полгода не обновляется?».

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

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

Потому что это не школорач и можно включить автоматические апдейты.

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

софт, который по пять лет не обновляется

Может быть пересобран с новыми версиями библиотек

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

Федора при каждом обновлении тулчейна пересобирает мир.

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

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

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

Два ящика коньяка этому господину!
Читая багтрекер дебиана временами поражаешься, насколько всё раньше на соплях висело.

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

И ещё два лично от меня, потому что ППКС.

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

Только при чём тут systemd, если речь идёт о том как он настроен в каком-то одном конкретном случае в alpha(хе-хе)-версии rhel.

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

Что значит «systemd показалось»? Его так настроили маинтайнеры федоры, посчитав, что делают фичу...

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

Который по полгода не обновляется в федоре не пересобирают. Но его мало, и это именно что обычно хлам:

$ yum list installed | grep fc19
a52dec.i686                 0.7.4-18.fc19           @rpmfusion-free             
a52dec.x86_64               0.7.4-18.fc19           @rpmfusion-free             
cl-asdf.noarch              20101028-5.fc19         @fedora                     
                            0.4.0-2.fc19            @koji-override-0/$releasever
invokebinder.noarch         1.1-4.fc19              @fedora                     
lame-libs.i686              3.99.5-2.fc19           @rpmfusion-free             
lame-libs.x86_64            3.99.5-2.fc19           @rpmfusion-free             
libdca.i686                 0.0.5-7.fc19            @rpmfusion-free             
libdca.x86_64               0.0.5-7.fc19            @rpmfusion-free             
libmad.i686                 0.15.1b-16.fc19         @rpmfusion-free             
libmad.x86_64               0.15.1b-16.fc19         @rpmfusion-free             
libmimic.i686               1.0.4-6.fc19            @rpmfusion-free             
libmimic.x86_64             1.0.4-6.fc19            @rpmfusion-free             
libmpeg2.i686               0.5.1-10.fc19           @rpmfusion-free             
libmpeg2.x86_64             0.5.1-10.fc19           @rpmfusion-free             
libtxc_dxtn.i686            1:1.0.0-3.fc19          @rpmfusion-free             
libtxc_dxtn.x86_64          1:1.0.0-3.fc19          @rpmfusion-free             
opencore-amr.i686           0.1.3-3.fc19            @rpmfusion-free             
opencore-amr.x86_64         0.1.3-3.fc19            @rpmfusion-free             
twolame-libs.i686           0.3.13-3.fc19           @rpmfusion-free             
twolame-libs.x86_64         0.3.13-3.fc19           @rpmfusion-free             
vo-amrwbenc.i686            0.1.2-1.fc19            @rpmfusion-free             
vo-amrwbenc.x86_64          0.1.2-1.fc19            @rpmfusion-free        
alpha ★★★★★
()
Ответ на: комментарий от invy

То есть ты представления о systemd не имеешь, но считаешь что проблемя в нём :)

Я прочитал новость в заголовке, там написано так. Все вопросы - к написавшему английский текст.

om-nom-nimouse ★★
()
Ответ на: комментарий от vurdalak

Нифига. Никаких костылей здесь не вижу. Здесь (и в других случаях) systemd меняет поведение системы непредсказуемым образом.

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

Какие мэнтейнеры? Эта фича по дефолту в systemd. Ты хоть почитай, что там написано:

systemd that includes a new feature that was added upstream after the release of 216

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

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

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

Решили отключить в F21 и вернуть в F22.

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

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

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

Если в эти 15 минут учтено скорость закачки обновлений, то очень даже может быть на медленном интернете

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

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

Йос! Нахрена все? Если версия совпадает - значит не трогаем

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

В этом и дело, что systemd тебе сегодня одну такую фичу (сначала пальцы написали «фигу» :) подсовывает, завтра другую, послезавтра третью.

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

Никаких костылей здесь не вижу.

Т.е. обновление системы в момент перед её запуском ты считаешь нормальным поведением? Работал себе, работал, решил перезагрузиться, ушёл в это время попить чайку. Возвращаешься, а у тебя систему устанавливает 9000 пакетов, и неизвестно, когда всё это закончится. Посреди рабочего дня.

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

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

В данном случае мейнтейнеры федоры должны были (должны будут) либо выпилить таймаут из systemd (к чести последних надо отметить, что это всё настраивается в конфигах), либо подружить fedup с означенным таймаутом (т. е. вынести из-под basic.target).

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

Ну и зачем ты вот это насочинял сейчас?

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

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

Этот провесс называется разработкой программного обеспечения.

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

Но зачем перегружаться для апдейта? Это же не шиндошс, где куча файлов просто физически не может быть переписана. Убунта отлично обновляется «онлайн».

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

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

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

Никогда не обновлял Xorg сидя в нем же? Пару лет назад иксы при этом падали, и те, кто запускал апгрейд иксового из терминала ругались много и долго.

Обновляться в оффлан-режиме в общем случае более безопасно — стопятся все лишние процессы, ты грузишься в самый безопасный режим из возможных и выполняешь всё, что требуется, и ничего больше.

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

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

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

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

Более того, его абсолютно нормально проводить загрузившись в LiveDVD, монтируя базовую систему в /mnt/ и выполняя все необходимые действия утилитами с Live-образа.

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

Никогда не обновлял Xorg сидя в нем же?

Раз в пол года на двух компьютерах делаю do-release-upgrade, прямо сидя в иксах, параллельно читая лор. Уже 4й год идёт - ничего не умерло. И я считаю что так и должно продолжаться - это просто удобно.

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

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

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

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

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

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

Я там выше писала же. В Fedora ты тоже можешь так делать: yum distro-sync на новые репозитории и перезагрузка потребуется только для нового ядра.

Но бывают случаи когда это не срабатывает. То что ты в такие случаи не попадал, скорее всего означает, что ты о них благополучно забыл.

Пример

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

Проблема в том, что система может оказаться и полностью дохлой (привет, glibc), и иметь более надёжный резерв стоило бы. У меня роль такового выполняет initramfs со средством поднятия сети, mkfs/fsck, pacman и bup.

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

Пример

По ссылке героическое преодалевание проблем, которые разработчики федоры сами и создали.

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