LINUX.ORG.RU

Fedora 18: большинство обновлений потребует перезагрузку

 , ,


0

1

На днях FESCo одобрил для внедрения в следующий, восемнадцатый, релиз Fedora очередную революционную новинку от продюсера pulseaudio, systemd и journal. Речь идет об оффлайновых обновлениях системы.

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

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

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

Ссылки:
Перевод критической статьи в IT world.
Страница новой технологии в Fedora wiki.

P.S. Новый механизм обновлений завязан на systemd, PackageKit и Gnome-shell. Пользователей командной строки и других DE просят не беспокоиться.

>>> Перевод страницы новой технологии из Fedora wiki

★★★★★

Проверено: post-factum ()
Последнее исправление: JB (всего исправлений: 13)
Ответ на: комментарий от Reset

в линухе и так куча программ падает при обновлении, особенно это касается монстров типа kde

че, правда само обновление не проходит? И перезагрузка не помогает?

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

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

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

но работающий софт в процессе обновления становится нерабочим

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

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

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

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

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

работающий софт в процессе обновления становится нерабочим

проблемы софта, нормальный софт без проблем обновляется и работает

Ну, и объясни, что кривого в многопроцессной архитектуре.

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

Из емакса или лисы вон вообще хрен выйдешь после мажорного обновления

А во время обновления по новой схеме ты сможешь в емаксе или лисе работать? При старой схеме у меня всегда файрфокс запущен...

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

Ну, и объясни, что кривого в многопроцессной архитектуре.

ты слишком широко берешь

Вовсе нет. Приложение, состоящее из нескольких процесов (и нескольких бинарей), вполне может быть обновлено наполовину. Если оно в этот момент работает, могут быть проблемы.

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

Если оно в этот момент работает, могут быть проблемы.

взять классический пример - СУБД, там эти проблемы решаются просто - версии протоколов, никто не делает необоснованных допущений, что версия сервера и клиента совпадают, даже если они работают оба локально

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

узнаем, что из этого широкого списка работает (смотрим ps -A и что из этого в какие пакеты входит?

Внезапно да, каждый пакет содержит список файлов.

Во первых, не всегда. Три варианта, когда такое срвнение не сработает:

а) файл-обертка формируется скриптом при установке. типа echo /opt/xxx > /usr/bin/programm

б) Исполняемый файл на интерпретируемом языке - lua,python, иногда bash etc. В списке процессов будет интерпретатор, а сам скрипт будет у него в параметрах.

в) скриптом при установке формируется симлинк в /usr/bin на реальную программу.

Да хоть прибиваем kill -TERM. И, естественно, для служб прописана команда рестарта.

да ты совсем укуреный? А порядок рестарта? А повторная инициализация? И так, на всякий случай сообщаю, что файрфокс - не служба.

Для пункта 3, получения списка запущенных программ, выход - это перезагрузка? Okay.

Это решение сразу обоих пунктов.

Ты под веществами? Я не говорил о снэпшотах LVM2, я процитировал Федора Вики по поводу снэпшотов BtrFS.

Больше доверяешь BtrFS? в добрый путь. Что это меняет?

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

Если оно в этот момент работает, могут быть проблемы.

взять классический пример - СУБД, там эти проблемы решаются просто - версии протоколов

Речь не о клиенте и сервере, а о двух частях одной программы. Там нет смысла версионировать протоколы.

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

о двух частях одной программы

пример в студию реальной такой программы - именно одной, а не системы

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

Внезапно да, каждый пакет содержит список файлов.

Во первых, не всегда. Три варианта, когда такое срвнение не сработает:

а) файл-обертка формируется скриптом при установке. типа echo /opt/xxx > /usr/bin/programm

Нормальные пакеты указывают такие файлы в своих списках. ЕМНИП, в RPM это называется ghost.

Исполняемый файл на интерпретируемом языке - lua,python, иногда bash etc. В списке процессов будет интерпретатор, а сам скрипт будет у него в параметрах.

Решаемо.

скриптом при установке формируется симлинк в /usr/bin на реальную программу.

Решаемо еще проще.

Да хоть прибиваем kill -TERM. И, естественно, для служб прописана команда рестарта.

да ты совсем укуреный?

Я нет, а ты?

А порядок рестарта? А повторная инициализация?

Если для пакета важен порядок рестарта, он должен быть службой.

И так, на всякий случай сообщаю, что файрфокс - не служба.

Хорошо, что ты это знаешь.

Я не говорил о снэпшотах LVM2, я процитировал Федора Вики по поводу снэпшотов BtrFS.

Больше доверяешь BtrFS?

Напоминаю, про LVM2 - это твое воображение, про BtrFS - мнение федорастов. Я даже не стану предполагать, что заставило тебя приписать мне сначала одно мнение, потом другое.

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

Если для пакета важен порядок рестарта, он должен быть службой.

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

Напоминаю, про LVM2 - это твое воображение, про BtrFS - мнение федорастов. Я даже не стану предполагать, что заставило тебя приписать мне сначала одно мнение, потом другое.

«Как тебя понять, когда ты ничего не говоришь!» (с)

Зачем приводить чужое мнение, если ты с ним не согласен и вообще никак не признаешь в качестве источника информации?

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

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

«Как тебя понять, когда ты ничего не говоришь!» (с)

Не понимаешь - спрашивай. Если бы ты спросил, я бы ответил, что считаю новую систему обновления «complex non-solution for simple non-problems». То, что она в принципе ненадежна, понимают даже ее создатели. Так в чем смысл менять (и даже не менять, а дополнять!) одну в принципе ненадежную систему другой? Я бы понял, если бы обновляемую систему полностью останавливали и обновляли со спасательного раздела (было такое предложение), но предложенная фигня - зачем? Чтобы systemd использовать? Если бы они дорабатывали ПМ - тоже понятно. Если бы они четко написали, почему предложенный способ - самый лучший, тоже было бы неплохо, но ничего этого нет. Зато есть поцеринг в авторах.

Зачем приводить чужое мнение, если ты с ним не согласен и вообще никак не признаешь в качестве источника информации?

Блин, да под какими ты веществами? Я привожу чужое мнение, которому вполне доверяю (иначе не приводил бы). Привожу для того, чтобы был виден уровень предложенного решения.

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

Не понимаешь - спрашивай. Если бы ты спросил, я бы ответил, что считаю новую систему обновления «complex non-solution for simple non-problems».

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

Если бы они четко написали, почему предложенный способ - самый лучший, тоже было бы неплохо, но ничего этого нет.

Вообще говоря, даже сама проблема четко не описана.

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

так откуда гномодевам знать то?

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

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

Стоп-стоп-стоп... А что, systemd не решает проблему рестарта списка служб в соотвтествии с их зависимостями без перезагрузки??? А нахрена он тогда вообще нужен???

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

это не решает исходную проблему нередсказуемости обновления работающих пакетов. не смотря на то что статистика указывает на отсутствие критичных проблем в 70% случаев.

Thero ★★★★★
()
Ответ на: комментарий от no-dashi

Стоп-стоп-стоп... А что, systemd не решает проблему рестарта списка служб в соотвтествии с их зависимостями без перезагрузки??? А нахрена он тогда вообще нужен???

Ну имхо проблема реинициализации устройств и сервисов без полного сброса пока что в принципе нерешаемая задача.

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

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

Хотя по идее, можно их рестртовать в цикле, пока все не скажут ок, запустились. Наверное, это может сыграть. но опять таки, службы бывают разные и никто не обязывал их корректно отрабатывать рестарт.

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