Как откатить обновления линукс

Downgrade

Для отката при помощи APT, например, с Sisyphus на p9/branch может пригодиться следующее:

  1. убрать из файлов /etc/apt/sources.list и /etc/apt/sources.list.d/*.list все раскомментированные строчки про Sisyphus
    • при установленном пакете apt-repo это сделает команда apt-repo rm all
  2. прописать репозитории p9/branch (две строчки — для своей архитектуры иnoarch)
    • apt-repo add p9
  3. создать файл /etc/apt/preferences следующего вида:

Теперь можно пробовать apt-get update; apt-get dist-upgrade — но стоит помнить, что откат версий не является обычно тестируемой майнтейнерами операцией.

При необходимости откатить один пакет (или только связанную с ним группу), соответственно, apt-get install нужное ; см. далее.

Внимание: обновлённые вручную из недоступных в sources.list источников пакеты при очередном dist-upgrade будут также DOWNGRADED; если переезд свершился, может иметь смысл отодвинуть /etc/apt/preferences в сторону (комментированию с использованием # либо /* . */ не подлежит).

Полная информация о предпочтениях (preferences) APT — в man-странице apt_preferences(5)

Содержание

Откат пакета в системе на примере бранча p7 [ править ]

1. Оставляем в /etc/apt/sources.list только архив p7 на определённую дату [1]

2. Далее, как описано выше — создаём файл /etc/apt/preferences и выполняем dist-upgrade, либо для конкретного пакета(ов) apt-get install package (package2. )

3. Пакет, который был «откачен» на старую версию, запрещаем обновлять, прописав его в HOLD [2] в /etc/apt/apt.conf, после чего в списке репозиториев возвращаемся на основную ветку бранча.

Откат пакета в системе на Сизифе [ править ]

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

1. Оставляем в /etc/apt/sources.list только архив Сизифа на определённую дату [3] [4] :

2. Далее, как описано выше — создаём файл /etc/apt/preferences и выполняем dist-upgrade, либо конкретный apt-get install package.

Откат ядра [ править ]

Ядра в ALT обновляются отдельно, поэтому и для отката ядра используется отдельная процедура. Процесс описан в FAQ.

Решение проблем [ править ]

Если конкретно при возвращении на M51 увидите подобную ошибку:

то перед apt-get dist-upgrade придётся вручную провести замену этого пакета:

Применение EPM [ править ]

Следующая команда откатит (указанный пакет) до его версии из текущего репозитория:

Реализовано это через изменение /etc/apt/preferences (как описано в начале статьи). Если epm downgrade вызвать без параметров, все пакеты в системе будут приведены к версиям из репозитория.

Источник

Не было печали, апдейтов накачали

У меня дома используется Debian Sid. Большей частью он весьма и весьма хорош, но местами он слишком Bleeding слишком Edge. Например, когда отгружает пакеты, ломающие работоспособность системы. Вчера приехал wpasupplicant, который сломал мне wifi. Я его откатил, но в процессе я подумал, что многие пользователи не умеют этого делать. Рассказ «как откатить плохой apt-get install/upgrade» — в этом посте.

Ситуация

Мы сделали apt-get install что-то, или apt-get upgrade, или даже apt-get dist-upgrade, и после перезагрузки (или даже сразу же) обнаружили, что так нельзя. Сервис не стартует, убрана важная нам фича, кто-то падает и т.д. Мы хотим откатиться. Но вот, незадача — куда именно мы не знаем, потому что какая была версия до обновления мы не знаем.

Где выяснять что случилось?

apt ведёт очень подробные логи в /var/log/apt . Там есть, в частности, history.log — там будут строчки вида:

Там же будет написано кто это сделал и какой командой.

Чтобы понять, какая версия была предыдущей, придётся посмотреть на лог установки. Он рядом — /var/log/apt/terminal.log . К сожалению, с esc-последовательностями.
Там мы увидим строчку вида:

Как чинить

Чтобы поставить обратно пакет по версии, мы указываем её в явном виде:

Читайте также:  Windows media player нет изображения есть только звук

К сожалению, 90% это не сработает. Почему? Потому что пакета такой версии в репозитории нет.

В этом случае нам надо найти файл для установки. Он может быть в двух местах.

  1. /var/cache/apt/archives. Например, /var/cache/apt/archives/wpasupplicant_2%3a2.6-11_amd64.deb .
  2. snapshots.debian.org (о нём чуть ниже).

Когда мы имеем файл на диске, установка тривиальная:

… и у меня снова есть интернет. Есть вероятность, что придётся разбираться с зависимостями, но хорошая новость состоит в том, что если пакеты не конфликтовали до обновления, то их можно откатить в тот же набор версий. И какие именно это версии видно в выводе terminal.log.

Если же архива нет (потому что кто-то сделал upgrade, а потом тут же apt-get autoclean), то надо искать версию в интернетах. Для этого есть архив миррора дебиана. http://snapshot.debian.org/

Как его подключать — написано там, хотя чаще проще просто скачать нужный пакет. Важно: когда ищите снапшот, проверяйте по версиям в логах. Если зависимости противные и сложные, то имеет смысл автоматизировать парсинг terminal.log .

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

Как с этим жить дальше?

Дальше мы не хотим апдейтиться до исправления проблемы. Чтобы проблему исправили, её надо зарепортить. https://bugs.debian.org — и там, возможно, оно есть. Если нет — надо репортить. reportbug имя_утилиты.

Чтобы случайно снова не проапдейтиться, пакет можно поставить на hold (запретить апдейты):

(unhold снимает hold).

Best practices

Я давно для себя выработал привычку делать «dpkg -l >/var/log/dpkg_ date » перед апдейтом. В таком виде его легче парсить, если нужно делать большое количество даунгрейдов.

Источник

Переход на более раннюю версию: возврат к предыдущей версии программного пакета.

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

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

Поскольку не существует общего метода для всех дистрибутивов, я покажу, как это можно сделать с помощью самые популярные менеджеры пакетов. Кстати, если вы используете другие методы, такие как YaST, Synaptic и т. Д., Процедуры также возможны, но графически и намного более интуитивно понятны. Здесь я объясню методы через консоль, которые вызывают наибольшую путаницу .

apt-get: Debian / Ubuntu и производные

Для всех дистрибутивы на основе пакетов DEB а с помощью диспетчера пакетов apt-get вы можете легко перейти с более современной версии на более старую. Например, мы возьмем пакет firefox в качестве эталона, представив, что мы хотим вернуться от текущей версии к предыдущей. В этом случае вы можете выполнить следующие команды:

  • Вы можете получить информация о пакете firefox (или что-то еще, вам просто нужно изменить имя на соответствующее в вашем случае), например, предыдущие установленные версии и т. д., вы можете использовать следующую команду:
  • Как только вы хорошо знаете предыдущая версия, которую вы хотите установить, вы можете использовать следующую команду для установки нужного пакета. В нашем случае в предыдущей команде мы получили пакет с именем firefox = 57.3-build1-0ubuntu1, который мы хотим установить:
  • После этого у вас уже будет установлена ​​предыдущая версия этой программы. Вы знаете, что если нет указать версию Используя APT, вы устанавливаете последнюю версию, доступную в репозитории этого пакета. В данном случае мы указали конкретную версию.
Читайте также:  Контекстное меню windows по умолчанию

Помните, что возможно, что сосуществуют два разных пакета версий на GNU / Linux без проблем. Итак, если вы хотите иметь две разные версии одного и того же пакета, вы можете это сделать .

pacman: Arch Linux и производные

Если у вас есть Arch Linux, то вам придется иметь дело с pacman как с менеджером пакетов. Этот инструмент также позволяет вам вернуться к предыдущей версии, если хотите. Способ сделать это немного другой, но такой же простой:

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

zypper: SUSE / openSUSE и производные

В мире SUSE, вы можете использовать менеджер пакетов zypper. Это также простой способ получить пакет в предыдущей версии. В нашем случае с Mozilla Firefox это будет примерно так:

  • Первым делом нужно обратиться к кешу пакетов аналогично тому, как мы это делали для Arch, с помощью следующей команды, чтобы узнать предыдущие версии пакета в наличии:
  • Как только предыдущая версия будет найдена, вы сможете установить эту версию используя zypper следующим образом:

dnf: Red Hat / CentOS / Fedora и производные

Наконец, в дистрибутивах на основе Fedora yum или dnf будут использоваться. Чтобы отменить обновление пакета и вернуться к предыдущей версии с пониженной версией, вы можете использовать следующие команды:

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

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

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

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Любители Linux » Общие » Программное обеспечение Linux » Переход на более раннюю версию: возврат к предыдущей версии программного пакета.

Источник

Откат системы Ubuntu

Было бы неплохо иметь возможность спокойно обновлять систему или попробовать новую версию дистрибутива не боясь проблем и ошибок, зная что вы всегда можете откатить Ubuntu назад к прежнему состоянию. В этой статье мы рассмотрим инструмент, который позволяет сделать снимок состояния системы Ubuntu в любое время. TimeShift очень похож на функцию восстановления системы в Windows, программа позволяет восстановить состояние ubuntu. Сначала вы создаете снимок, можете запланировать автоматическое создание снимков через заданные промежутки времени, а затем просто восстанавливаете систему.

TimeShift защищает только системные файлы и настройки, но не восстанавливает пользовательские данные, такие как фото, музыка, документы. Если вам нужно делать резервную копию именно таких файлов, придется использовать другие инструменты.

Установка TimeShift

В современных версиях Ubuntu программа Timeshift уже есть в официальных репозиториях, поэтому для установки достаточно выполнить:

sudo apt install timeshift

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

Читайте также:  С windows kms exe что это

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

Откат системы Ubuntu

Для работы программы нужны права root, поэтому после запуска появится окно с запросом пароля. Введите его и нажмите Ok.

При первом запуске утилиту надо настроить. Сначала мастер настройки спросит вас каким способом создавать снимки файловой системы. Доступно два варианта: с помощью утилиты rsync или встроенными средствами Btrfs. Если вы используете не файловую систему ext4, то вариант с Btrfs не подойдёт. Снимки rsync будут инкрементные, сначала программа скопирует все системные файлы, затем в каждом новом снимке будут копироваться только измененные:

Затем надо выбрать устройство, на котором надо сохранять снимки. Поддерживаются только разделы, отформатированные в файловые системы Linux, такие файловые системы как FAT и NTFS не поддерживаются:

Далее надо настроить автоматическое создание снимков. Если вы хотите его отключить просто снимите все галочки. Я указал создавать снимок файловой системы каждый месяц. Ещё здесь можно настроить сколько таких снимков надо сохранять. По умолчанию сохраняется пять последних снимков:

На следующем шаге надо выбрать добавлять ли домашние каталоги пользователей в снимок. Можно их вовсе не добавлять, добавлять только скрытые файлы или все файлы. Для экономии места на диске домашние каталоги лучше оставить исключёнными (Exclude all files):

Только теперь перед вами откроется главное окно программы:

Здесь отображается свободное место, доступное для создания снимков, а также все снимки, созданные на данный момент. Для создания первого снимка нажмите кнопку Создать:

После завершения создания снимка он появится в списке:

Вы можете посмотреть его содержимое нажав кнопку Обзор:

Физически в файловой системе все снимки находятся в директории /timeshift. Здесь есть каталоги, как с уже созданными снимками, так и пустые, для запланированных. Подкаталог snapshots содержит снимки, созданные вручную. Лучше скопировать снимок на USB флешку, другой диск или загрузить на один из облачных сервисов, на случай если диск будет поврежден, и вам нужно будет откатить обновления Ubuntu.

Все настройки, которые мы задавали с помощью мастера при первом запуске программы можно найти кликнув по кнопке Настройки:

Для того чтобы выполнить откат системы Ubuntu просто выберите нужный снимок и нажмите кнопку Восстановить:

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

Выберите устройство для восстановления корневой файловой системы Если вы считаете, что загрузчик тоже был повреждён, то нажмите кнопку Дополнительные параметры загрузчика, и выберите устройство для его восстановления:

После завершения настроек нажмите кнопку Далее чтобы отменить изменения Ubuntu. Программа покажет файлы, которые были изменены, подтвердите, что надо откатить изменения:

Затем система перезагрузится:

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

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

sudo timeshift —list

Далее вы можете восстановить нужный вам снимок такой командой:

sudo timeshift —restore —snapshot —target /dev/sda

После этого утилита спросит нужно ли устанавливать загрузчик, и если да, то на какой диск:

Затем попросит подтверждения восстановления и после этого компьютер перезагрузится.

Выводы

TimeShift это очень полезный инструмент, если вы любите экспериментировать с обновлениями системы. Он очень пригодится если что-то пойдет не так. Также, как и в Windows, вы можете просто выполнить откат системы Ubuntu к предыдущему состоянию и дальше экспериментировать не переустанавливая систему. Вы даже можете откатить ubuntu до первоначального состояния, просто создав снимок сразу после установки.

Источник

Оцените статью