LINUX.ORG.RU

Перегружайся, если не хочешь проблем!

 , , ,


1

1

Интересная статья вышла в Fedora Magazine, рекомендую.

https://fedoramagazine.org/offline-updates-and-fedora-35/

Для Ъ

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

Автономные обновления

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

Почему существуют автономные обновления

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

Да, ядро Linux умеет изменять файлы без перезагрузки, но службы и приложения, использующие эти файлы, так делать не умеют. Если файл изменяется во время работы программы, то программа ничего об этом не знает, что может стать причиной некорректной работы программы. Так что утверждение типа «Linux не надо перезагружать, чтобы обновиться» больше не работает, все дистрибутивы Linux надо перезагружать!

Как работают автономные обновления

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

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

[полагаю, под ПМ автор имеет здесь в виду PackageKit]

Откуда ноги растут

Проблему впервые осознали в 2009 году (об этом можно почитать здесь). Как только возможное решение проблемы было спроектировано, его сразу же запустили в разработку.

Однако требовалось несколько компонентов заставить работать вместе. Надо было внести изменения в systemd для поддержки особого способа загрузки системы, а также заставить пакетные менеджеры «понимать» этот процесс. Кроме того было важно, чтобы у пользователей появился соответствующий графический интерфейс, который и был включён в GNOME Software Center в 2012 году, а в KDE Discover в 2021.

Наконец, эта новая функция была реализована в Fedora 18, что сделало Fedora первым дистрибутивом, который делает всё возможное, чтобы ваша система была надёжна и стабильна. Да, это был долгий путь, но вот мы здесь, и эта технология с нами уже почти 10 лет!

Если обновить систему по старинке через DNF

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

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

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

Firefox — хороший пример

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

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

Аварийные ситуации

Дело в том, что Firefox скорее приятное исключение из правила, ведь остальные программы просто тихо падают, если их обновить во время работы. Например в случае X Window Server или GNOME Shell вы можете получить чёрный экран. Однако это ещё не значит, что процесс обновления системы прервался, но чтобы наверняка понять что же происходит, придется переключиться в виртуальную консоль и проверить закончил ли свою работу пакетный менеджер.

Нажмите <Ctrl + Alt + F3>, чтобы перейти в консоль, залогиньтесь, запустите программу top, в ней нажмите O и напишите COMMAND=dnf. Дождитесь, когда пакетный менеджер закончит обновление системы и перезагрузите компьютер.

Выключили электричество во время обновления системы

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

$ dnf history list
$ dnf history info {номер последнего события}
$ dnf history redo {номер последнего события}

Дополнительную информацию можно найти здесь. К сожалению, невозможно гарантировать, что повторная попытка обновления всё исправит, но это лучшее, что можно сделать в такой ситуации. Кстати, не помешает удалить сторонние драйверы типа Nvidia, они также могут создавать проблемы при обновлении системы.

Всё сломалось

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

Не существует однозначного ответа, что делать в таких обстоятельствах. Прежде всего у вас должна быть флешка с Fedora Linux! Вы могли бы попробовать восстановить систему с помощью systemd-nspawn, но это слишком сложно. Для обычных пользователей будет проще систему переустановить.

Помните, пока ещё вы не потеряли ваши персональные данные. Загрузка с флешки их никак не повредит и вам всего лишь надо проследить, чтобы существующий раздел /home не был отформатирован во время переустановки системы.

Заключительное слово

Обновление работающей системы — настоящая лотерея. Мы верим в удачу и склонны переоценивать свои шансы. Многие из нас никогда не сталкивались с выходом системы из строя из-за обновлений, но такие истории далеко не редкость на просторах интернета. Поэтому очень важно распространять информацию о том, как следует безопасно обновлять Linux. Призывайте пользователей использовать автономные обновления, а сами будьте крайне осторожны, когда обновляете работающую систему!

В будущем подобные проблему исчезнут совершенно, благодаря таким технологиям как Flatpak и Fedora Silverblue. Десктопный Linux постепенно движется в этом направлении, а пока нам приходится иметь дело со всякими индикаторами прогресса обновления системы, как в других операционных системах.

★★★★★

Последнее исправление: papin-aziat (всего исправлений: 2)

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

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

Ну вот это и есть дефолт, и это само делается.

Но ты осваивай там

🌰

anonymous
()
Ответ на: комментарий от papin-aziat

Дорабатывается PkgBase + Boot Environments (нужно ZFS, да, но куда сейчас без него на FreeBSD :). Может уже и готово, отстал от жизни так как по работе только illumos, где это эти самые оффлайн-обновления давно.

dsdqmhsx
()

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

Ну такая себе формулировка. «в которой могут содержаться ошибки» было бы лучше.

$ dnf history list
$ dnf history info {номер последнего события}
$ dnf history redo {номер последнего события}

А что-то типа apt install -f там нет? Пакет же по идее проходит стадии загрузки, распаковки, настройки и очистки. Самая жопа может случиться, если внезапная остановка случится во время замены старых файлов новыми. До этого момента пакет находится в консистентном состоянии.

Flatpak и Fedora Silverblue

Собирать систему из залитых клеем сборок костылей и подпорок, как из кубиков.

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

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

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

Венда откатывает и переустанавливает не удачные обновления сама автоматически и без системы двойных образов типа rpm-ostree или других лясепедов.

Теоретически. На практике все не так однозначно.

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

Дефолтом Fedora показывает всплывающее сообщение, о а я тут обновления нашла.

Не скачивает что ли сама? Что-то я сомневаюсь.

ЗЫ: что у тебя там напердоленно не интересно, я про дефолт

🌰

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

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

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

А слетающей активации и лицензий стороннего софта тоже не было? :) Вообще, при обновлениях может произойти все что угодно и так вот пускать это на самотек можно только если на компе нет ничего важного и на нем только все через броузер и пара игрулек. Если комп важный, то и обновления автоматические как правило выключены нафиг и устанавливаются периодически руками после соответствующей подготовки, на любой ОС; и тут вопрос ответственности - гораздо проще ведь заботу о благополучии переложить на дядю который знает как надо и когда надо, а то, что ты делаешь ничтожно по важности по сравнению с обновлениями ОС, потому что они священны а ты ничтожен… а если вдруг комп ребутнулся для обновлений без сохранения данных и унес твою работу за несколько часов, это не страшно, ведь виноват не ты а дядя, на него можно бугуртить спокойно, ты то ведь не при делах… потому все довольны и дяди и пользователи.

slapin ★★★★★
()
Ответ на: комментарий от papin-aziat

Обновляю FreeBSD удалённо по ssh - и установленные пакеты, и установленное ПО. Проблема за ~10 лет была лишь однажды, когда человек на том конце прервал обновление системы, завершив работу на этапе обновления системного ПО, когда случился разбег по версиям между ядром и базовой системой. При обновлении установленных пакетов никаких казусов не случалось - пользователю приходилось лишь мириться с временным отвалом некоторых особо чувствительных десктопных программ, после перезапуска которых работа восстанавливалась. В основном всё происходит незаметно для пользователя - никаких чёрных экранов после обновления Xorg и видеодрайверов во FreeBSD не случается.

iZEN ★★★★★
()

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

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

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

Многие вещи написаны верно, но их подача вызывает только негатив, как будто перед тобой стоит торгаш и что-то втюхивает.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от slapin

слетающей активации

ОЕМ ключ на материнке не слетал. Хотя винда пишет активированно через аккаунт

лицензий стороннего софта

Попенсурс(либра, влц) или учебные версии(Компас)

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

А вот активация через кмс слетала. И не через полгода

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

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

Polugnom ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Дык новая политика в OpenSource, началось не сегодня.

slapin ★★★★★
()

В интернете часто встречается вопрос, почему Fedora Linux необходимо перезагружать, чтобы обновить систему

Серьёзно что ли? Серверный редхат тоже нужно перезагружать?

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

Бла-бла-бла, реклама редхата, бла-бла-бла, возьмите меня в корпорасты :)))

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

Сказки. Обновлялись «на лету» и многозадачность ТОЧНО не была проблемой в этом деле (ну, кроме гентушников). А в начале двухтысячных в проекте КДЕ было экспериментально реализовано «бесшовное» обновление. Когда кеды обнаруживали изменения, они «на лету» обновляли РАБОТАЮЩИЕ программы. И не надо было никакого системдэ и ретхата с серебряными пулями. Но как только это реализовали тут же представился Эппл со своим патентом и попросил не нарушать. Так в очередной раз технологическая революциа прошла мимо линукса. За последние двадцать лет появился системд и всё настолько переусложнил, что даже многозадачность, работа с памятью, разграничение прав, всё стало проблемой в линуксе. Прогресс здесь не при чём. Пользователям надо перезагружаться при/после обновления как и двадцать лет назад. Очень красивая речь о топтании на месте.

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

R_He_Po6oT ★★★★★
()
Последнее исправление: R_He_Po6oT (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Многие вещи написаны верно, но их подача вызывает только негатив, как будто перед тобой стоит торгаш и что-то втюхивает.

Не читал, но одобряю. А что вы хотите от коммерсов, это их нормальный режим функционирования.

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

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

Это свобода выбора, чем растворять себе моск!

papin-aziat ★★★★★
() автор топика

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

Вот где ты таких журнализмов нахватался? Лукавство, ложь, сектантство... Проблемы обновления линукса НИКАК не связаны с тем, что обновление проходит «наживую». Оно пройдёт, или не пройдёт. И ровно также пользователь огребёт проблем при попытке последующей перезагрузки, если проблемы объявились. Просто до перезагрузки пользователь не подозревает об этом.

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

Когда кеды обнаруживали изменения, они «на лету» обновляли РАБОТАЮЩИЕ программы

Так вот почему там всё время что-то валилось с сегфолтами «на лету». Хотя у меня и без интернета валилось, приходилось каждую минуту сохраняться в kate, например. Былинное качество древнего линупса!

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

GoboLinux уже 20 лет как сделали.

Не пробовал. Там тоже можно после установки загрузиться в обновленную систему или выбрать текущую?

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

Небось железо было из былинных времен, высохшие конденсаторы, память с палеными чипами, да и коты ссали в PCI-разъемы? Сегфолты конено были и в те времена но чета серьезного повышения качества софта с тех времен я не наблюдаю…

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

Проблем самого софта это не отменяет никак. Были тогда проблемы, есть сейчас, ничего нового. А, нет, тогда Катя, все кеды, иксы и ядро с дровами весили столько, сколько сейчас любая IDE на старте.

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

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

С этим не спорю. КДЕ так особенно хранит традиции.

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

Дефолтом Fedora показывает всплывающее сообщение, о а я тут обновления нашла.

У меня не показывает.

Не скачивает что ли сама? Что-то я сомневаюсь.

Ну это твои проблемы.

ЗЫ: что у тебя там напердоленно не интересно, я про дефолт

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

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

Я тоже не пробовал, но концепция там похожа на Nix (точнее, как я полагаю, Nix похож на GoboLinux, просто он больше на слуху).

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

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

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от R_He_Po6oT

Как раз наоборот, я переводил с серьезным лицом, глубоко понимая важность текста, а то у нас ведь как: поломают Федору, а потом кричат, что она гомно, а всего-то надо было нажать кнопку «ребут».

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

Аааа... вспомнил. Убило это:

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

Только что проверил - всё работает идеально, никаких настроек не требовало такое поведение вообще. Значит в Федоре кеды «оно». Ясно. Зря образ скачал, не буду ставить. Или попробовать?

И ещё такое - весь музыкальный софт, он тоже должен будет быть из флатпаков?

R_He_Po6oT ★★★★★
()
Ответ на: комментарий от papin-aziat

Где ты таких нытиков видел, чтобы именно редхатопродукты за это ругали? Ты продолжаешь играть в политика? :))

R_He_Po6oT ★★★★★
()

Выводы:

  • В федоре не умеют готовить иксы
  • В федоре и гноме нет рестарта сессии
  • Если не хотите по 100500 раз перезагружаться - используйте NixOS, там новые версии программ устанавливаются параллельно текущим
SR_team ★★★★★
()
Ответ на: комментарий от SR_team

В федоре не умеют готовить иксы

2022

🌰

anonymous
()

Перегружайся, если не хочешь проблем!

Делать что? Может, перезагружаться?

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

Значит в Федоре кеды «оно». Ясно. Зря образ скачал, не буду ставить. Или попробовать?

Конечно пробовать! Я запросто мог чего-то перемудрить, кеды пока никак не идут.

Только что проверил - всё работает идеально

Мы, взрослые люди, ведь не будем спорить о сортах гомна, верно? :-D

И ещё такое - весь музыкальный софт, он тоже должен будет быть из флатпаков?

rpm-ы тоже можно, rpm-ostree умеет. Кто-то не брезгует и toolbox-ом.

Хотя, у меня была проблема с проприетарным ocenaudio, но это не проблема Федоры, они просто тогда ещё не запилили поддержку pipeware, впрочем не уверен, что и сейчас она есть.

А, да, я тогда просто распаковал rpm и раскидал файлы в хомяке — заработало :-)

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

Фу-у-у-у-фу-фу-фу-фу-фу!!!! Какое пердолево!!! Раскидывать программы по хомяку, чтобы молиться на непонятные слова и прославлять ретхат... Кто тебя покусал? Когда? Беги прививку делай пока не поздно!

Мы, взрослые люди, ведь не будем спорить о сортах гомна, верно? :-D

А ЧЕМ взрослым людям ещё заниматься?

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

Какое пердолево!!! Раскидывать программы по хомяку

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

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от R_He_Po6oT

А ЧЕМ взрослым людям ещё заниматься?

Играть! Я за красных, ты за белых, и кидаться какахами людям на потеху :-D

papin-aziat ★★★★★
() автор топика
Ответ на: комментарий от bread

С этим не спорю. КДЕ так особенно хранит традиции

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

Такую же картину наблюдаю в панде.

С - стабильность, так вроде.

utanho ★★★★★
()

Обновление работающей системы — настоящая лотерея.

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

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

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

Да, а потом опять откатывает и переустанавливает. И ещё, и в бесконечном цикле. Приходится обновления отключать.

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

перед глазами много примеров закрытой кода или спецификации, и заслуженного наказания

Давайте примеры, а то мои все обратные.

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

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

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