- Как мне отменить или откатить команду «apt-get upgrade» в Ubuntu?
- DPkg :: Pre-Install-Pkgs и ZFS на снимках Linux
- Сценарий
- Но работает ли это?
- Переход на более раннюю версию: возврат к предыдущей версии программного пакета.
- apt-get: Debian / Ubuntu и производные
- pacman: Arch Linux и производные
- zypper: SUSE / openSUSE и производные
- dnf: Red Hat / CentOS / Fedora и производные
- Откат системы Ubuntu
- Установка TimeShift
- Откат системы Ubuntu
- Выводы
Как мне отменить или откатить команду «apt-get upgrade» в Ubuntu?
Есть ли способ в Ubuntu откатить или отменить последнее обновление после выполнения, apt-get upgrade если вам не нравятся результаты?
aptitude дает вам доступ ко всем версиям пакета, если они доступны в соответствии с управлением пакетами Debian .
Я наткнулся на Blogstatic Blog Хартмана: Как отменить обновление в Ubuntu Lucid
Первым шагом к отмене оскорбительного обновления было выяснить, какие именно обновления были. После поиска на некоторых форумах я нашел способ просмотреть историю обновлений: Открыть менеджер пакетов synaptic («sudo synaptic» в терминале). В строке меню выберите Файл -> История, и вы увидите все ваши обновления, отсортированные по дате.
К сожалению, сегодня я установил около 20 обновлений, и я не знал, какое из них вызвало проблему. Просматривая каждый из пакетов, перечисленных в списке «Журнал», я смог понизить несколько пакетов за раз до тех пор, пока проблема не была решена, и я не обнаружил ошибочное обновление. Сделать это:
Используйте панель поиска, чтобы найти пакет, который вы хотите понизить. Когда вы найдете то, что ищете, нажмите на пакет, чтобы выбрать его. В строке меню выберите Package -> Force Version и выберите предыдущую версию пакета из выпадающего меню. Нажмите кнопку «Применить», чтобы применить понижение рейтинга.
Я должен был сделать это сегодня в моей системе Debian. Во-первых, я определил временной диапазон, когда произошло ошибочное обновление, и извлек записи журнала, в которых указаны старые и новые номера версий обновленных пакетов:
Затем я попытался найти все еще кэшированные файлы пакетов на диске (к счастью, я не запустил autoclean):
Похоже, у меня по какой-то причине нет более старого пакета ethtool. Тем не менее, давайте продолжим принудительную установку старых пакетов:
Как говорится в сообщении об ошибке, один из моих пакетов зависел от пакета -common непосредственно перед обновлением, но обновление удалило его (и apt-get больше не может его найти). К счастью, его файл пакета все еще находится в / var / cache / apt, поэтому я могу просто добавить его в список и попробовать еще раз:
Успех! На самом деле это не решило мою проблему. Но это успешно понизило пакеты, QED.
Мне также пришлось отменить обновление пакета на нескольких серверах Debian. Я успешно вернул пакеты до последней версии с помощью aptitute, тогда как следующая команда awk была очень полезна.
( В приведенной ниже команде замените строку даты датой дня, с которого вы хотите отменить обновления )
проверьте выходные данные, чтобы убедиться, что это те пакеты и версии, которые нужно отменить. Затем используйте aptitute для понижения перечисленных пакетов:
Я надеюсь, что это также поможет сэкономить время другим.
Я считаю , что нет, кроме принимая полную резервную копию соответствующих файловых систем (те , которые содержат / , /bin , /lib , /sbin , /usr , /var , /etc и /boot (что все может быть в файловой системе) и загрузочная запись) , так что вы можете катить машину назад после этого.
Я запускаю свои Linux-серверы в виртуализированной среде и запускаю shapshot непосредственно перед обновлением apt-get или любыми крупными обновлениями / обновлениями сторонних производителей.
Тогда, если что-то пойдет не так, я просто вернусь и жизнь продолжится, пока я не смогу узнать больше информации.
Это очень помогло, когда я обновил свою версию Ubuntu до 12.04, и после обновления MySQL почему-то не работал. Я откатился назад, нашел ответ позже, перезапустил обновление, исправил MySQL, и жизнь была хорошей.
Вы можете попробовать checkinstall
После вас ./configure; При создании вашей программы CheckInstall запустит make install (или как вы скажете, чтобы она запускалась) и отслеживала каждый файл, измененный этой установкой, используя отличные установочные часы .
Поэтому, возможно, вы могли бы сказать ему, чтобы он запускал aptitude safe-upgrade, и он отслеживал бы все изменения, сделанные обновлением.
Есть проект под названием Nexenta, который объединяет ядро OpenSolaris с пользовательским пространством Ubuntu. Он предоставляет инструмент для интеграции ZFS Solaris и apt Debian, чтобы обеспечить кнопку отмены обновлений. Смотрите здесь: http://www.nexenta.org/os/TransactionalZFSUpgrades
В общем, вам нужна файловая система управления версиями. Btrfs для Linux находится в разработке.
Использование Apt-Undo — возможный вариант, но он может работать, только если вы используете его для установки и удаления пакетов. Это не поможет, если вы уже удалили программное обеспечение в обычном режиме.
Я успешно делал это несколько раз, но я не буду рекомендовать это. Вот что я сделал (если я правильно помню):
1) Удалите все неофициальные программы, которые не включены в стандартные репозитории Ubuntu (это может и не потребоваться, но я предлагаю это, поскольку они могут вам помешать).
2) Измените ваш /etc/apt/sources.list (и sources.list.d / *) на предыдущую версию (прокомментируйте все неофициальные репозитории).
3) apt-get update / aptitude update
4) Используя aptitude, обновите основные пакеты (например, X11, библиотеки и т. Д.). Он начнет запускать много сломанных пакетов . так что вам нужно будет решить каждый случай (вам нужно знать, как это сделать в aptitude). Чтобы понизить его, перейдите на панель описания и установите версию (нажав +) внизу.
5) Повторяйте # 4, пока все программное обеспечение не будет принадлежать вашей целевой версии (проверьте столбец версии в aptitude).
Вот причина, почему я не рекомендую этот метод:
- Это занимает много времени (это болезненно)
- Некоторые приложения могут не работать должным образом (поскольку они могут иметь самую последнюю конфигурацию). В этом случае вам нужно будет «очистить» и переустановить.
- Существуют системные обновления, которые не будут работать после понижения
- Это очень рискованно, так как вы можете получить непригодную систему
Я настоятельно рекомендую выполнить чистую установку и постепенно перенести вашу конфигурацию. Это также требует времени, но в конце у вас есть стабильная версия.
Причина, по которой я это сделал, была в основном в качестве экспериментов и в результате отчаяния.
DPkg :: Pre-Install-Pkgs и ZFS на снимках Linux
Если вы установили свою операционную систему в файловую систему ZFS (например, ZFS в Linux ), вы можете настроить apt-get ее запуск zfs snapshot до того, как она установит или обновит что-либо, что мгновенно создаст резервную копию вашей файловой системы. Он может работать с механизмами резервного копирования, отличными от снимков ZFS, но я оставлю это тестирование другим.
Сценарий
Создайте файл как
где rpool/ROOT/debian должно быть заменено именем файловой системы ZFS, к которой подключена ваша операционная система. Вы дали ему это имя при первой установке ОС, и его можно найти в атрибуте NAME с помощью команды
Но работает ли это?
Вам лучше сделать снимок, прежде чем следовать советам по настройке случайного интернет-пользователя:
Вот оно В error: fn_borked ближайшее время вы можете вернуть свою систему в ее блаженное текущее состояние с
Теперь попробуйте установить две крошечные игры, которые, вероятно, доступны в вашем репо:
Этот снимок содержит вашу файловую систему, которая была до установки двух игр.
Веселые времена для бабушки, но ты ненавидишь судоку.
После того, как было сделано несколько снимков, вы можете вернуться к любому более раннему снимку, добавив -r флаг. В нашем случае, например, попробуйте
Однако имейте в виду, что это не только вернет вашу файловую систему в состояние, в котором она находилась на момент ее создания rpool/ROOT/debian@2018-08-01-230001_test , но и безвозвратно удалит все последующие снимки. Если вы подписались на этот пост, снимок rpool/ROOT/debian@apt-get_2018-08-02-033614 исчезнет.
Я тестировал apt-get upgrade на Debian GNU / Linux с
Оно работает. Один снимок был создан для install команды, другой для upgrade команды.
Предостережение : сегодня я впервые проверил это и очень мало знаю о внутренней работе apt. Если это что-то сломает для вас или повлечет за собой риски, которые мой заброшенный разум не учел, пожалуйста, прокомментируйте это ниже.
Источник
Переход на более раннюю версию: возврат к предыдущей версии программного пакета.
Нормально то, что всегда обновляйте программные пакеты чтобы получить более свежие версии этих. Обычно разработчики стремятся к тому, чтобы с появлением новых версий они становились все лучше и лучше. Но так бывает не всегда. Иногда предыдущие версии пакета могут быть более стабильными, работать лучше по какой-то причине или даже из-за того, что пользователю больше нравится версия до обновления, потому что в ней есть что-то, что в новой версии больше не реализуется.
Если это ваш случай, в этом урок мы покажем вам, как вы можете перейти на более раннюю версию любого пакета, то есть откатить обновление и получить предыдущую версию, установленную в вашей системе. Таким образом, у вас не будет проблем, если новые версии вас подведут. Ну что ж, приступим!
Поскольку не существует общего метода для всех дистрибутивов, я покажу, как это можно сделать с помощью самые популярные менеджеры пакетов. Кстати, если вы используете другие методы, такие как YaST, Synaptic и т. Д., Процедуры также возможны, но графически и намного более интуитивно понятны. Здесь я объясню методы через консоль, которые вызывают наибольшую путаницу .
apt-get: Debian / Ubuntu и производные
Для всех дистрибутивы на основе пакетов DEB а с помощью диспетчера пакетов apt-get вы можете легко перейти с более современной версии на более старую. Например, мы возьмем пакет firefox в качестве эталона, представив, что мы хотим вернуться от текущей версии к предыдущей. В этом случае вы можете выполнить следующие команды:
- Вы можете получить информация о пакете firefox (или что-то еще, вам просто нужно изменить имя на соответствующее в вашем случае), например, предыдущие установленные версии и т. д., вы можете использовать следующую команду:
- Как только вы хорошо знаете предыдущая версия, которую вы хотите установить, вы можете использовать следующую команду для установки нужного пакета. В нашем случае в предыдущей команде мы получили пакет с именем firefox = 57.3-build1-0ubuntu1, который мы хотим установить:
- После этого у вас уже будет установлена предыдущая версия этой программы. Вы знаете, что если нет указать версию Используя APT, вы устанавливаете последнюю версию, доступную в репозитории этого пакета. В данном случае мы указали конкретную версию.
Помните, что возможно, что сосуществуют два разных пакета версий на 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
Для выполнения команды понадобятся права суперпользователя, поэтому вам нужно будет ввести пароль.
Когда установка завершится, можете закрыть окно терминала, а программа будет доступна в главном меню. Для того чтобы её найти наберите в строке поиска 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 до первоначального состояния, просто создав снимок сразу после установки.
Источник