Это случалось со мной много раз за последние 5 лет: обновление сломало мою систему. Каждый раз, когда я сталкиваюсь с такой ситуацией, мне приходится переустанавливать всю систему, что действительно раздражает.
Есть ли способ откатить самое последнее обновление, чтобы иметь работоспособную систему без переустановки? Если нет, то как лучше всего предложить эту идею в качестве приоритетной?
Я читал, что эта идея была описана в brainstorm.ubuntu.com, но кажется, что она мертва ... и форумы полны примеров обновлений, ломающих вещи, поэтому я чувствую, что с этой темой нужно что-то делать. Спасибо!
Ответы:
В synaptics вы можете по крайней мере контролировать, какие были последние обновления: File-menu, history.
(если синаптик запускается, с нарушенной системой). Так что с помощью команды apt -...-, чтобы отменить их обновление, это не должно быть слишком сложно.
Я думаю, что есть командная история для командной строки тоже.
Возможно, вам придется удалить весь пакет и установить конкретную версию. Афаик, можно установить конкретную версию, но мне никогда не нужно было это делать.
обновление: посмотрел, как это сделать с apt:
Найти пакеты, установленные за последние 3x24 часа:
С политикой apt-cache вы видите доступные версии программы:
здесь 3.6.7 и 3.6.3. Теперь вы знаете, какая более ранняя версия может быть установлена (часто не непосредственный предшественник):
Затем вам нужно сделать apt-pinning, чтобы предотвратить будущие обновления:
Создайте новый файл в /etc/apt/preferences.d/ (если> = 10.4) с именем вашей программы,
источник
1.0.2g-1ubuntu4.12
соответствует apt? Он отказывается принять это как номер версии. Я хочу понизить форму1.0.2g-1ubuntu4.13
до1.0.2g-1ubuntu4.12
find /var/lib/dpkg/info/ -name \*.list -mtime -3 | sed 's#.list$##;s#.*/##'
на данный момент перечислено ровно 80 пакетов, и это не составит труда переустановить всю мою системуВ основном вы можете проконсультироваться
/var/log/apt/history.log
об изменениях, сделанных apt / synaptic. Это просто немного судебно-медицинской экспертизы и много вырезать / вставить, чтобы сделать.Вернитесь к дате, когда ваша система все еще работала нормально.
Сначала возьмите все пакеты, которые были установлены с тех пор, и соедините их в сценарий удаления. Когда сценарий завершится, начните заново добавлять все удаленные пакеты.
Пример случая:
logfile:
ты можешь видеть,
был установлен Synaptic. как будто
libfglrx:amd64
был удален Synaptic.Мы пошли в обратном порядке, поэтому сначала мы удаляем вновь установленные пакеты и повторно добавляем удаленные пакеты.
Рабочая команда для этого случая может выглядеть так:
Возможно, было бы не самой лучшей идеей обходиться без
-y
переключателя - иметь больший контроль над процессом (чтобы избежать нарушенных зависимостей). Большинство из вас не сломало бы свой палец, пока делали несколько проверок "у"В большинстве случаев откат возможен таким образом, но если зависимости уже нарушены - вы можете столкнуться с еще большей проблемой.
источник
В большинстве случаев, если ваша система сломана, это проблема ядра .
Просто загрузите старое ядро и переустановите самые последние пакеты (особенно пакеты ядра), которые, вероятно, не обновились правильно. Несколько заметок:
ваш друг, чтобы проверить, что является списком недавно обновленных / установленных пакетов
может большую часть времени исправить наполовину установленные пакеты
источник
К сожалению, пока нет способа сделать это. Снимок / откат на уровне файловой системы является одной из функций будущих btrfs, но у него есть способы еще стать полноценными и достаточно стабильными для использования в качестве файловой системы по умолчанию.
источник
При выполнении серьезной модернизации, я клонировать жесткий диск с помощью Clonezilla . Запишите его на компакт-диск, подготовьте запасной (внешний) жесткий диск и следуйте инструкциям на Clonezilla LiveCD. Выберите
partition-image
режим, это занимает меньше всего места.Если вы считаете, что сломали свою систему (или хотите отменить любые изменения), просто загрузитесь с Clonezilla LiveCD, выберите образ на своем (внешнем) жестком диске и восстановите его. Поскольку эти образы являются буквальной копией каждого бита на вашем диске, это может занять несколько часов в зависимости от скорости вашего диска и скорости соединения (соединение между данными, обычно внешним USB HDD, и компьютером).
Кстати, это называется методом резервного копирования.
источник
Вы можете легко установить более старую версию данного пакета (downgrade) с помощью apt или dpkg . Найти более старую версию пакета - проблема, поскольку они часто исчезают из пула и отражаются при обновлении.
Если вы устанавливаете пакет с установочного компакт-диска или устаревшего зеркала или из кэша, вам также нужно будет прикрепить его к старой версии, чтобы он не обновлялся до тех пор, пока вы это не допустите. Это означает, что вы должны следить за обновлениями и проверять их, пока ваша проблема не будет устранена. Это, конечно, проблема, поскольку между тем (возможно, навсегда) у вас останется нефиксированный, возможно, небезопасный пакет. Это означает, что каждый пользователь с какой-либо системной проблемой будет оставаться в случайном состоянии до тех пор, пока он не сможет ее решить.
Все программное обеспечение также не совместимо с предыдущими версиями, поэтому более старая версия чего-либо может не работать должным образом при загрузке с более новой конфигурацией или файлами данных. Очевидно, что это невозможно решить, если вы не откатите все пользовательские данные до состояния до того, как будет выполнено обновление.
Было бы здорово, если бы был способ сделать это, но это очень проблематично. Любой, кто считает, что есть согласованное решение, должен написать предложение и предложить комментарии или, что еще лучше, сделать решение концепции (код, сценарий, документ). Троллинг и нытье не конструктивны.
Поскольку не существует чистого технического решения, большая часть программного обеспечения разрабатывается (и интегрируется) с менталитетом «единственный путь - вперед». Попытка управлять устаревшими версиями - пустая трата времени каждого. Найденные проблемы исправлены в более новых версиях как можно скорее. В качестве незначительного решения я хотел бы видеть архив предыдущих версий пакетов, которые хранятся где-то для временного временного решения.
Между тем вы можете сообщать об ошибках и не ожидать, что передовые программы никогда не выйдут из строя. Исправление, найденное, должно быть в следующем обновлении. Разработчики - люди (в основном), и поэтому подвержены ошибкам. Компьютеры полны безумного разнообразия и деталей. Системы с защитным обслуживанием, использующие хорошо поддерживаемые компоненты и стабильное интегрированное распространение программного обеспечения, могут быть очень стабильными, не становясь небезопасными или не обновляемыми, несмотря на это.
источник