- Откатить обновление
- Не было печали, апдейтов накачали
- Ситуация
- Где выяснять что случилось?
- Как чинить
- Как с этим жить дальше?
- Best practices
- Откат системы Ubuntu
- Установка TimeShift
- Откат системы Ubuntu
- Выводы
- Как откатить обновления программного обеспечения? [dубликат]
- 48 ответов
- update: посмотрел, как это сделать с apt:
Откатить обновление
Linux mint 17.3 Cinnamon Linux 3.19.0-51-generic #58
Господа, дернуло меня обновить xorg
подскажите как откатить обновления (лог апта что обновлялось, многовато всего), либо, возможно, что-где в конфигах поправить, кои я при обновлении проигнорировал и оставил все по умолчанию.
Start-Date: 2016-03-04 10:03:09 Commandline: apt-get upgrade Upgrade: libgl1-mesa-dev:amd64 (10.1.3-0ubuntu0.6, 11.0.4
trusty), xserver-xorg-video-vmware:amd64 (13.0.2-2ubuntu1, 13.0.2+git20140804.0a596fd0-0ubuntu0sarvatt
trusty), libdrm-amdgpu1:amd64 (2.4.64-1
trusty), intel-gpu-tools:amd64 (1.3-0ubuntu2.1, 1.8-1
trusty), libegl1-mesa-drivers:amd64 (10.1.3-0ubuntu0.6, 11.0.4
trusty), xserver-xorg-video-sisusb:amd64 (0.9.6-2build1, 0.9.6+git20140806.293d0902-0ubuntu0sarvatt
trusty), libdrm-intel1:amd64 (2.4.64-1
trusty), libdrm-intel1:i386 (2.4.64-1
trusty), xserver-xorg-video-glamoregl:amd64 (0.6.0-0ubuntu4, 0.6.0+git20140801.347ef4f0-0ubuntu0sarvatt
trusty), libllvm3.4:amd64 (3.4-1ubuntu3, 3.4.2-3ubuntu2
xedgers), libllvm3.4:i386 (3.4-1ubuntu3, 3.4.2-3ubuntu2
xedgers), libdrm-dev:amd64 (2.4.64-1
trusty), xserver-xorg-video-neomagic:amd64 (1.2.8-1build1, 1.2.8+git20140806.74a9a343-0ubuntu0sarvatt
trusty), libdrm-radeon1:amd64 (2.4.64-1
trusty), libdrm-radeon1:i386 (2.4.64-1
trusty), libwayland-server0:amd64 (1.4.0-1ubuntu1, 1.7.0-0ubuntu1
trusty1), libglapi-mesa:i386 (10.1.3-0ubuntu0.6, 11.0.4
trusty), libglapi-mesa:amd64 (10.1.3-0ubuntu0.6, 11.0.4
trusty), libva1:amd64 (1.3.0-2, 1.5.0-1
trusty), base-files:amd64 (7.2ubuntu5.3, 7.2ubuntu5.4), libwayland-cursor0:amd64 (1.4.0-1ubuntu1, 1.7.0-0ubuntu1
trusty1), libgles2-mesa:amd64 (10.1.3-0ubuntu0.6, 11.0.4
trusty), libgl1-mesa-glx:amd64 (10.1.3-0ubuntu0.6, 11.0.4
trusty), libgl1-mesa-glx:i386 (10.1.3-0ubuntu0.6, 11.0.4
trusty), xserver-xorg-video-intel:amd64 (2.99.910-0ubuntu1.6, 2.99.917+git20151202.da9ad388-0ubuntu0sarvatt
trusty), xserver-xorg-video-ati:amd64 (7.3.0-1ubuntu3.1, 7.4.99+git20140806.fbf575cb-0ubuntu0sarvatt
trusty), libglamor0:amd64 (0.6.0-0ubuntu4, 0.6.0+git20140801.347ef4f0-0ubuntu0sarvatt
trusty), libdrm-nouveau2:amd64 (2.4.64-1
trusty), libdrm-nouveau2:i386 (2.4.64-1
trusty), libwayland-client0:amd64 (1.4.0-1ubuntu1, 1.7.0-0ubuntu1
trusty1), xserver-xorg-video-trident:amd64 (1.3.6-0ubuntu5, 1.3.6+git20140806.562c38ca-0ubuntu0sarvatt
trusty), libva-x11-1:amd64 (1.3.0-2, 1.5.0-1
trusty), xserver-xorg-video-radeon:amd64 (7.3.0-1ubuntu3.1, 7.4.99+git20140806.fbf575cb-0ubuntu0sarvatt
trusty), mesa-common-dev:amd64 (10.1.3-0ubuntu0.6, 11.0.4
trusty), libvdpau1:amd64 (0.7-1ubuntu0.1, 1.1-0ubuntu1
xedgers14.04.1), linux-libc-dev:amd64 (3.13.0-76.120, 3.13.0-79.123), libdrm2:amd64 (2.4.64-1
trusty), libdrm2:i386 (2.4.64-1
trusty), xserver-xorg-video-nouveau:amd64 (1.0.10-1ubuntu2, 1.0.11+git20141030.3fb97d78-0ubuntu0sarvatt
Источник
Не было печали, апдейтов накачали
У меня дома используется 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-последовательностями.
Там мы увидим строчку вида:
Как чинить
Чтобы поставить обратно пакет по версии, мы указываем её в явном виде:
К сожалению, 90% это не сработает. Почему? Потому что пакета такой версии в репозитории нет.
В этом случае нам надо найти файл для установки. Он может быть в двух местах.
- /var/cache/apt/archives. Например, /var/cache/apt/archives/wpasupplicant_2%3a2.6-11_amd64.deb .
- 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 » перед апдейтом. В таком виде его легче парсить, если нужно делать большое количество даунгрейдов.
Источник
Откат системы Ubuntu
Было бы неплохо иметь возможность спокойно обновлять систему или попробовать новую версию дистрибутива не боясь проблем и ошибок, зная что вы всегда можете откатить Ubuntu назад к прежнему состоянию. В этой статье мы рассмотрим инструмент, который позволяет сделать снимок состояния системы Ubuntu в любое время. TimeShift очень похож на функцию восстановления системы в Windows, программа позволяет восстановить состояние ubuntu. Сначала вы создаете снимок, можете запланировать автоматическое создание снимков через заданные промежутки времени, а затем просто восстанавливаете систему.
TimeShift защищает только системные файлы и настройки, но не восстанавливает пользовательские данные, такие как фото, музыка, документы. Если вам нужно делать резервную копию именно таких файлов, придется использовать другие инструменты.
Установка TimeShift
В современных версиях Ubuntu программа Timeshift уже есть в официальных репозиториях, поэтому для установки достаточно выполнить:
sudo apt install timeshift
Для выполнения команды понадобятся права суперпользователя, поэтому вам нужно будет ввести пароль.
Когда установка завершится, можете закрыть окно терминала, а программа будет доступна в главном меню. Для того чтобы её найти наберите в строке поиска 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 до первоначального состояния, просто создав снимок сразу после установки.
Источник
Как откатить обновления программного обеспечения? [dубликат]
Это случилось со мной много раз за последние 5 лет: обновление сломало мою систему. Каждый раз, когда я заканчиваю эту ситуацию, мне нужно переустановить всю систему, что очень раздражает.
Есть ли способ отменить последнее обновление, чтобы иметь функциональную систему без переустановки ? Если нет, это лучший способ предложить это в качестве идеи высшего приоритета?
Я прочитал эту идею, описанную в brainstorm.ubuntu.com, но она чувствует, что она мертва . и на форумах полно примеров обновлений, нарушающих вещи, поэтому я чувствую, что что-то нужно сделать Об этой теме. Спасибо!
48 ответов
К сожалению, пока этого не сделать. Снимок / откат уровня файловой системы является одной из функций предстоящих btrfs, но у него еще есть способы стать полнофункциональными и стабильными для использования в качестве файловой системы по умолчанию.
В большинстве случаев, если ваша система повреждена, это проблема с ядром.
Просто загрузите более старое ядро и переустановите самые последние пакеты (особенно пакеты ядра), которые, вероятно, неправильно обновились. Несколько заметок:
— ваш друг, чтобы проверить, что такое список недавно обновленных / установленных пакетов
чаще всего фиксирует половину установленных пакетов
В синаптике вы можете, по крайней мере, контролировать, какие были последние обновления: File-menu, history.
(если синаптика запускается, со сломанной системой). Поэтому с помощью команды apt -. -, чтобы вернуть свое обновление, это не должно быть слишком сложно.
Я думаю, что есть и команда history для командной строки.
Возможно, вам нужно удалить весь пакет и установить определенную версию. Afaik, можно установить конкретную версию, но мне никогда не приходилось это делать.
update: посмотрел, как это сделать с apt:
Найти пакеты, установленные в последние 3x24h:
С политикой apt-cache вы видите доступные версии программы:
здесь 3.6.7 и 3.6.3. Теперь вы знаете, какая ранняя версия может быть установлена (часто не ближайший предшественник):
Тогда вы необходимо выполнить apt-pinning, чтобы предотвратить будущие обновления:
Создайте новый файл в /etc/apt/preferences.d/ (if> = 10.4), названный в честь вашей программы,
В основном вы можете обратиться к /var/log/apt/history.log за изменениями, выполненными apt / synaptic.
Вернитесь к дате, когда ваша система все еще работает нормально.
Сначала возьмите все пакеты, которые были установлены с тех пор и объединить их в сценарий удаления. Когда сценарий закончен, снова заново добавьте все удаленные пакеты.
вы можете видеть,
был установлен Synaptic, как libfglrx: amd64 был удален Synaptic.
Мы пошли в обратном порядке, поэтому сначала мы удаляем вновь установленные пакеты, и мы повторно добавляем пакеты
Рабочая команда для этого случая может выглядеть так:
Возможно, это не лучшая идея пойти без переключателя -y — чтобы иметь больше контроля над процесс (во избежание нарушения зависимостей). Большинство из вас не сломают палец, а делают несколько проверок «y»
. В большинстве случаев откат возможен таким образом, но если зависимости уже нарушены, вы можете столкнуться с еще большей проблемой.
При выполнении основного обновления я клонирую диск с помощью Clonezilla . Запишите его на компакт-диск, у вас есть запасной (внешний) жесткий диск и следуйте инструкциям на Clonezilla LiveCD. Выберите режим раздела-изображения , это использует наименьшее пространство.
Если вы считаете, что сломали свою систему (или хотите отменить любые изменения), просто загрузитесь в Clonezilla LiveCD, выберите изображение на внешнем жестком диске и восстановите его. Поскольку эти изображения являются буквальной копией каждого бита на вашем диске, это может занять несколько часов в зависимости от скорости вашего диска и скорости соединения (соединение между данными, обычно внешним USB-накопителем и компьютером).
Кстати, это называется методом резервного копирования.
Вы можете легко установить более старую версию данного пакета (с понижением) с помощью apt или dpkg . Поиск старой версии пакета — проблема, так как они часто исчезают из пула и зеркал при обновлении обновлений.
Если вы устанавливаете пакет с установочного компакт-диска или устаревшего зеркала или кеша, вы будете также необходимо держать его прикрепленным к старой версии, чтобы он не обновлялся, пока вы этого не позволите. Это означает, что вам нужно следить за обновлениями и тестировать их, пока ваша проблема не будет устранена. Это, конечно, проблема, так как между тем (возможно, навсегда) вы останетесь с незафиксированным, возможно, небезопасным пакетом. Это означает, что каждый пользователь с какой-либо системной проблемой будет оставлен в каком-то случайном состоянии, пока не сможет его решить.
Все программное обеспечение также не совместимо с первыми, поэтому более старая версия чего-то может не вести себя правильно при питании новой конфигурацией или файлами данных. Очевидно, это невозможно решить, если вы не отбросили все пользовательские данные до состояния до того, как было выполнено обновление.
Было бы здорово, если бы был способ сделать это, но это очень проблематично. Любой, кто считает, что есть последовательное решение, должен написать предложение и предложить комментарии или, еще лучше, сделать доказательство концептуального решения (код, сценарий, документ).
Поскольку нет чистого технического решения, большинство программ разработано (и интегрировано) с «единственным способом продвижения вперед». Попытка управлять устаревшими версиями — это трата времени каждого. Найденные проблемы исправлены в новых версиях ASAP. В качестве второстепенного решения я хотел бы, чтобы архив предыдущих версий пакетов сохранялся где-то для временного временного решения.
Между тем вы можете сообщить об ошибках и не ожидать, что программное обеспечение для защиты от кровотечений никогда не перестанет работать. Исправление, как только оно будет найдено, должно быть в следующем обновлении. Devs — люди (в основном), и поэтому они ошибочны. Компьютеры неудобны и полны безумного разнообразия и деталей. Защищенные системы с использованием хорошо поддерживаемых компонентов и стабильное интегрированное распространение программного обеспечения могут быть очень стабильными, несмотря на это, несмотря на отсутствие безопасности.
Источник