Это случилось со мной много раз за последние 5 лет: обновление сломало мою систему. Каждый раз, когда я заканчиваю эту ситуацию, мне нужно переустановить всю систему, что очень раздражает.
Есть ли способ отменить последнее обновление, чтобы иметь функциональную систему без переустановки ? Если нет, это лучший способ предложить это в качестве идеи высшего приоритета?
Я прочитал эту идею, описанную в brainstorm.ubuntu.com, но она чувствует, что она мертва ... и на форумах полно примеров обновлений, нарушающих вещи, поэтому я чувствую, что что-то нужно сделать Об этой теме. Спасибо!
К сожалению, пока этого не сделать. Снимок / откат уровня файловой системы является одной из функций предстоящих btrfs, но у него еще есть способы стать полнофункциональными и стабильными для использования в качестве файловой системы по умолчанию.
В большинстве случаев, если ваша система повреждена, это проблема с ядром.
Просто загрузите более старое ядро и переустановите самые последние пакеты (особенно пакеты ядра), которые, вероятно, неправильно обновились. Несколько заметок:
/var/log/dpkg.log
- ваш друг, чтобы проверить, что такое список недавно обновленных / установленных пакетов
sudo apt-get -f install
чаще всего фиксирует половину установленных пакетов
В синаптике вы можете, по крайней мере, контролировать, какие были последние обновления: File-menu, history.
(если синаптика запускается, со сломанной системой). Поэтому с помощью команды apt -...-, чтобы вернуть свое обновление, это не должно быть слишком сложно.
Я думаю, что есть и команда history для командной строки.
Возможно, вам нужно удалить весь пакет и установить определенную версию. Afaik, можно установить конкретную версию, но мне никогда не приходилось это делать.
Найти пакеты, установленные в последние 3x24h:
find / var / lib / dpkg / info / -name \ *. list -mtime -3 | sed # .list $ ##; s #. * / ## '
С политикой apt-cache вы видите доступные версии программы:
sudo apt-cache policy ПРОГРАММА: *** 3.6.7 + build3 + nobinonly-0ubuntu0.10.04.1 0 500 http://de.archive.ubuntu.com/ubuntu/ lucid-updates / main Пакеты 500 http : //security.ubuntu.com/ubuntu/ lucid-security / main Пакеты 100 / var / lib / dpkg / status 3.6.3 + nobinonly-0ubuntu4 0
здесь 3.6.7 и 3.6.3. Теперь вы знаете, какая ранняя версия может быть установлена (часто не ближайший предшественник):
sudo apt-get install PROGRAM = 3.6.3
Тогда вы необходимо выполнить apt-pinning, чтобы предотвратить будущие обновления:
Создайте новый файл в /etc/apt/preferences.d/ (if> = 10.4), названный в честь вашей программы,
Пакет: программа Pin: версия 3.6.3 * Pin-Priority: 1000
В основном вы можете обратиться к /var/log/apt/history.log
за изменениями, выполненными apt / synaptic.
Вернитесь к дате, когда ваша система все еще работает нормально.
Сначала возьмите все пакеты, которые были установлены с тех пор и объединить их в сценарий удаления. Когда сценарий закончен, снова заново добавьте все удаленные пакеты.
Пример: logfile:
Дата начала: 2014-05-28 21:28 : 11 Commandline: synaptic Установка: libfglrx-amdxvba1: amd64 (13.12-3kali1, automatic), libgl1-fglrx-glx: amd64 (13.12-3kali1), glx-alternative-fglrx: amd64 (0.4.1kali1, automatic), libfglrx: amd64 (13.12-3kali1, au $ Удалить: fglrx-glx-ia32: amd64 (12-6 + point-3) Дата окончания: 2014-05-28 21:28:27
вы можете видеть,
libfglrx-amdxvba1: amd64 libgl1-fglrx-glx: amd64 glx-alternative-fglrx: amd64 & amp; libfglrx: amd64
был установлен Synaptic, как libfglrx: amd64
был удален Synaptic.
Мы пошли в обратном порядке, поэтому сначала мы удаляем вновь установленные пакеты, и мы повторно добавляем пакеты
Рабочая команда для этого случая может выглядеть так:
sudo apt-get remove -y libfglrx-amdxvba1: amd64 libgl1-fglrx-glx: amd64 glx-alternative-fglrx: amd64 libfglrx: amd64 & Amp; & Amp; sudo apt-get install -y libfglrx: amd64
Возможно, это не лучшая идея пойти без переключателя -y
- чтобы иметь больше контроля над процесс (во избежание нарушения зависимостей). Большинство из вас не сломают палец, а делают несколько проверок «y»
. В большинстве случаев откат возможен таким образом, но если зависимости уже нарушены, вы можете столкнуться с еще большей проблемой.
При выполнении основного обновления я клонирую диск с помощью Clonezilla . Запишите его на компакт-диск, у вас есть запасной (внешний) жесткий диск и следуйте инструкциям на Clonezilla LiveCD. Выберите режим раздела-изображения
, это использует наименьшее пространство.
Если вы считаете, что сломали свою систему (или хотите отменить любые изменения), просто загрузитесь в Clonezilla LiveCD, выберите изображение на внешнем жестком диске и восстановите его. Поскольку эти изображения являются буквальной копией каждого бита на вашем диске, это может занять несколько часов в зависимости от скорости вашего диска и скорости соединения (соединение между данными, обычно внешним USB-накопителем и компьютером).
Кстати, это называется методом резервного копирования.
Вы можете легко установить более старую версию данного пакета (с понижением) с помощью apt или dpkg . Поиск старой версии пакета - проблема, так как они часто исчезают из пула и зеркал при обновлении обновлений.
Если вы устанавливаете пакет с установочного компакт-диска или устаревшего зеркала или кеша, вы будете также необходимо держать его прикрепленным к старой версии, чтобы он не обновлялся, пока вы этого не позволите. Это означает, что вам нужно следить за обновлениями и тестировать их, пока ваша проблема не будет устранена. Это, конечно, проблема, так как между тем (возможно, навсегда) вы останетесь с незафиксированным, возможно, небезопасным пакетом. Это означает, что каждый пользователь с какой-либо системной проблемой будет оставлен в каком-то случайном состоянии, пока не сможет его решить.
Все программное обеспечение также не совместимо с первыми, поэтому более старая версия чего-то может не вести себя правильно при питании новой конфигурацией или файлами данных. Очевидно, это невозможно решить, если вы не отбросили все пользовательские данные до состояния до того, как было выполнено обновление.
Было бы здорово, если бы был способ сделать это, но это очень проблематично. Любой, кто считает, что есть последовательное решение, должен написать предложение и предложить комментарии или, еще лучше, сделать доказательство концептуального решения (код, сценарий, документ).
Поскольку нет чистого технического решения, большинство программ разработано (и интегрировано) с «единственным способом продвижения вперед». Попытка управлять устаревшими версиями - это трата времени каждого. Найденные проблемы исправлены в новых версиях ASAP. В качестве второстепенного решения я хотел бы, чтобы архив предыдущих версий пакетов сохранялся где-то для временного временного решения.
Между тем вы можете сообщить об ошибках и не ожидать, что программное обеспечение для защиты от кровотечений никогда не перестанет работать. Исправление, как только оно будет найдено, должно быть в следующем обновлении. Devs - люди (в основном), и поэтому они ошибочны. Компьютеры неудобны и полны безумного разнообразия и деталей. Защищенные системы с использованием хорошо поддерживаемых компонентов и стабильное интегрированное распространение программного обеспечения могут быть очень стабильными, несмотря на это, несмотря на отсутствие безопасности.
В большинстве случаев, если ваша система повреждена, это проблема с ядром.
Просто загрузите более старое ядро и переустановите самые последние пакеты (особенно пакеты ядра), которые, вероятно, неправильно обновились. Несколько заметок:
/var/log/dpkg.log
- ваш друг, чтобы проверить, что такое список недавно обновленных / установленных пакетов
sudo apt-get -f install
чаще всего фиксирует половину установленных пакетов
В синаптике вы можете, по крайней мере, контролировать, какие были последние обновления: File-menu, history.
(если синаптика запускается, со сломанной системой). Поэтому с помощью команды apt -...-, чтобы вернуть свое обновление, это не должно быть слишком сложно.
Я думаю, что есть и команда history для командной строки.
Возможно, вам нужно удалить весь пакет и установить определенную версию. Afaik, можно установить конкретную версию, но мне никогда не приходилось это делать.
Найти пакеты, установленные в последние 3x24h:
find / var / lib / dpkg / info / -name \ *. list -mtime -3 | sed # .list $ ##; s #. * / ## '
С политикой apt-cache вы видите доступные версии программы:
sudo apt-cache policy ПРОГРАММА: *** 3.6.7 + build3 + nobinonly-0ubuntu0.10.04.1 0 500 http://de.archive.ubuntu.com/ubuntu/ lucid-updates / main Пакеты 500 http : //security.ubuntu.com/ubuntu/ lucid-security / main Пакеты 100 / var / lib / dpkg / status 3.6.3 + nobinonly-0ubuntu4 0
здесь 3.6.7 и 3.6.3. Теперь вы знаете, какая ранняя версия может быть установлена (часто не ближайший предшественник):
sudo apt-get install PROGRAM = 3.6.3
Тогда вы необходимо выполнить apt-pinning, чтобы предотвратить будущие обновления:
Создайте новый файл в /etc/apt/preferences.d/ (if> = 10.4), названный в честь вашей программы,
Пакет: программа Pin: версия 3.6.3 * Pin-Priority: 1000
К сожалению, пока этого не сделать. Снимок / откат уровня файловой системы является одной из функций предстоящих btrfs, но у него еще есть способы стать полнофункциональными и стабильными для использования в качестве файловой системы по умолчанию.
При выполнении основного обновления я клонирую диск с помощью Clonezilla . Запишите его на компакт-диск, у вас есть запасной (внешний) жесткий диск и следуйте инструкциям на Clonezilla LiveCD. Выберите режим раздела-изображения
, это использует наименьшее пространство.
Если вы считаете, что сломали свою систему (или хотите отменить любые изменения), просто загрузитесь в Clonezilla LiveCD, выберите изображение на внешнем жестком диске и восстановите его. Поскольку эти изображения являются буквальной копией каждого бита на вашем диске, это может занять несколько часов в зависимости от скорости вашего диска и скорости соединения (соединение между данными, обычно внешним USB-накопителем и компьютером).
Кстати, это называется методом резервного копирования.
В основном вы можете обратиться к /var/log/apt/history.log
за изменениями, выполненными apt / synaptic.
Вернитесь к дате, когда ваша система все еще работает нормально.
Сначала возьмите все пакеты, которые были установлены с тех пор и объединить их в сценарий удаления. Когда сценарий закончен, снова заново добавьте все удаленные пакеты.
Пример: logfile:
Дата начала: 2014-05-28 21:28 : 11 Commandline: synaptic Установка: libfglrx-amdxvba1: amd64 (13.12-3kali1, automatic), libgl1-fglrx-glx: amd64 (13.12-3kali1), glx-alternative-fglrx: amd64 (0.4.1kali1, automatic), libfglrx: amd64 (13.12-3kali1, au $ Удалить: fglrx-glx-ia32: amd64 (12-6 + point-3) Дата окончания: 2014-05-28 21:28:27
вы можете видеть,
libfglrx-amdxvba1: amd64 libgl1-fglrx-glx: amd64 glx-alternative-fglrx: amd64 & amp; libfglrx: amd64
был установлен Synaptic, как libfglrx: amd64
был удален Synaptic.
Мы пошли в обратном порядке, поэтому сначала мы удаляем вновь установленные пакеты, и мы повторно добавляем пакеты
Рабочая команда для этого случая может выглядеть так:
sudo apt-get remove -y libfglrx-amdxvba1: amd64 libgl1-fglrx-glx: amd64 glx-alternative-fglrx: amd64 libfglrx: amd64 & Amp; & Amp; sudo apt-get install -y libfglrx: amd64
Возможно, это не лучшая идея пойти без переключателя -y
- чтобы иметь больше контроля над процесс (во избежание нарушения зависимостей). Большинство из вас не сломают палец, а делают несколько проверок «y»
. В большинстве случаев откат возможен таким образом, но если зависимости уже нарушены, вы можете столкнуться с еще большей проблемой.
Вы можете легко установить более старую версию данного пакета (с понижением) с помощью apt или dpkg . Поиск старой версии пакета - проблема, так как они часто исчезают из пула и зеркал при обновлении обновлений.
Если вы устанавливаете пакет с установочного компакт-диска или устаревшего зеркала или кеша, вы будете также необходимо держать его прикрепленным к старой версии, чтобы он не обновлялся, пока вы этого не позволите. Это означает, что вам нужно следить за обновлениями и тестировать их, пока ваша проблема не будет устранена. Это, конечно, проблема, так как между тем (возможно, навсегда) вы останетесь с незафиксированным, возможно, небезопасным пакетом. Это означает, что каждый пользователь с какой-либо системной проблемой будет оставлен в каком-то случайном состоянии, пока не сможет его решить.
Все программное обеспечение также не совместимо с первыми, поэтому более старая версия чего-то может не вести себя правильно при питании новой конфигурацией или файлами данных. Очевидно, это невозможно решить, если вы не отбросили все пользовательские данные до состояния до того, как было выполнено обновление.
Было бы здорово, если бы был способ сделать это, но это очень проблематично. Любой, кто считает, что есть последовательное решение, должен написать предложение и предложить комментарии или, еще лучше, сделать доказательство концептуального решения (код, сценарий, документ).
Поскольку нет чистого технического решения, большинство программ разработано (и интегрировано) с «единственным способом продвижения вперед». Попытка управлять устаревшими версиями - это трата времени каждого. Найденные проблемы исправлены в новых версиях ASAP. В качестве второстепенного решения я хотел бы, чтобы архив предыдущих версий пакетов сохранялся где-то для временного временного решения.
Между тем вы можете сообщить об ошибках и не ожидать, что программное обеспечение для защиты от кровотечений никогда не перестанет работать. Исправление, как только оно будет найдено, должно быть в следующем обновлении. Devs - люди (в основном), и поэтому они ошибочны. Компьютеры неудобны и полны безумного разнообразия и деталей. Защищенные системы с использованием хорошо поддерживаемых компонентов и стабильное интегрированное распространение программного обеспечения могут быть очень стабильными, несмотря на это, несмотря на отсутствие безопасности.
К сожалению, пока этого не сделать. Снимок / откат уровня файловой системы является одной из функций предстоящих btrfs, но у него еще есть способы стать полнофункциональными и стабильными для использования в качестве файловой системы по умолчанию.
В большинстве случаев, если ваша система повреждена, это проблема с ядром.
Просто загрузите более старое ядро и переустановите самые последние пакеты (особенно пакеты ядра), которые, вероятно, неправильно обновились. Несколько заметок:
/var/log/dpkg.log
- ваш друг, чтобы проверить, что такое список недавно обновленных / установленных пакетов
sudo apt-get -f install
чаще всего фиксирует половину установленных пакетов
В синаптике вы можете, по крайней мере, контролировать, какие были последние обновления: File-menu, history.
(если синаптика запускается, со сломанной системой). Поэтому с помощью команды apt -...-, чтобы вернуть свое обновление, это не должно быть слишком сложно.
Я думаю, что есть и команда history для командной строки.
Возможно, вам нужно удалить весь пакет и установить определенную версию. Afaik, можно установить конкретную версию, но мне никогда не приходилось это делать.
Найти пакеты, установленные в последние 3x24h:
find / var / lib / dpkg / info / -name \ *. list -mtime -3 | sed # .list $ ##; s #. * / ## '
С политикой apt-cache вы видите доступные версии программы:
sudo apt-cache policy ПРОГРАММА: *** 3.6.7 + build3 + nobinonly-0ubuntu0.10.04.1 0 500 http://de.archive.ubuntu.com/ubuntu/ lucid-updates / main Пакеты 500 http : //security.ubuntu.com/ubuntu/ lucid-security / main Пакеты 100 / var / lib / dpkg / status 3.6.3 + nobinonly-0ubuntu4 0
здесь 3.6.7 и 3.6.3. Теперь вы знаете, какая ранняя версия может быть установлена (часто не ближайший предшественник):
sudo apt-get install PROGRAM = 3.6.3
Тогда вы необходимо выполнить apt-pinning, чтобы предотвратить будущие обновления:
Создайте новый файл в /etc/apt/preferences.d/ (if> = 10.4), названный в честь вашей программы,
Пакет: программа Pin: версия 3.6.3 * Pin-Priority: 1000
1.0.2g-1ubuntu4.12
в соответствии с apt? Однако он отказывается принять это как номер версии. Я хочу понизить форму 1.0.2g-1ubuntu4.13
до 1.0.2g-1ubuntu4.12
– Csaba Toth
28 June 2018 в 00:05
При выполнении основного обновления я клонирую диск с помощью Clonezilla . Запишите его на компакт-диск, у вас есть запасной (внешний) жесткий диск и следуйте инструкциям на Clonezilla LiveCD. Выберите режим раздела-изображения
, это использует наименьшее пространство.
Если вы считаете, что сломали свою систему (или хотите отменить любые изменения), просто загрузитесь в Clonezilla LiveCD, выберите изображение на внешнем жестком диске и восстановите его. Поскольку эти изображения являются буквальной копией каждого бита на вашем диске, это может занять несколько часов в зависимости от скорости вашего диска и скорости соединения (соединение между данными, обычно внешним USB-накопителем и компьютером).
Кстати, это называется методом резервного копирования.
В основном вы можете обратиться к /var/log/apt/history.log
за изменениями, выполненными apt / synaptic.
Вернитесь к дате, когда ваша система все еще работает нормально.
Сначала возьмите все пакеты, которые были установлены с тех пор и объединить их в сценарий удаления. Когда сценарий закончен, снова заново добавьте все удаленные пакеты.
Пример: logfile:
Дата начала: 2014-05-28 21:28 : 11 Commandline: synaptic Установка: libfglrx-amdxvba1: amd64 (13.12-3kali1, automatic), libgl1-fglrx-glx: amd64 (13.12-3kali1), glx-alternative-fglrx: amd64 (0.4.1kali1, automatic), libfglrx: amd64 (13.12-3kali1, au $ Удалить: fglrx-glx-ia32: amd64 (12-6 + point-3) Дата окончания: 2014-05-28 21:28:27
вы можете видеть,
libfglrx-amdxvba1: amd64 libgl1-fglrx-glx: amd64 glx-alternative-fglrx: amd64 & amp; libfglrx: amd64
был установлен Synaptic, как libfglrx: amd64
был удален Synaptic.
Мы пошли в обратном порядке, поэтому сначала мы удаляем вновь установленные пакеты, и мы повторно добавляем пакеты
Рабочая команда для этого случая может выглядеть так:
sudo apt-get remove -y libfglrx-amdxvba1: amd64 libgl1-fglrx-glx: amd64 glx-alternative-fglrx: amd64 libfglrx: amd64 & Amp; & Amp; sudo apt-get install -y libfglrx: amd64
Возможно, это не лучшая идея пойти без переключателя -y
- чтобы иметь больше контроля над процесс (во избежание нарушения зависимостей). Большинство из вас не сломают палец, а делают несколько проверок «y»
. В большинстве случаев откат возможен таким образом, но если зависимости уже нарушены, вы можете столкнуться с еще большей проблемой.
Вы можете легко установить более старую версию данного пакета (с понижением) с помощью apt или dpkg . Поиск старой версии пакета - проблема, так как они часто исчезают из пула и зеркал при обновлении обновлений.
Если вы устанавливаете пакет с установочного компакт-диска или устаревшего зеркала или кеша, вы будете также необходимо держать его прикрепленным к старой версии, чтобы он не обновлялся, пока вы этого не позволите. Это означает, что вам нужно следить за обновлениями и тестировать их, пока ваша проблема не будет устранена. Это, конечно, проблема, так как между тем (возможно, навсегда) вы останетесь с незафиксированным, возможно, небезопасным пакетом. Это означает, что каждый пользователь с какой-либо системной проблемой будет оставлен в каком-то случайном состоянии, пока не сможет его решить.
Все программное обеспечение также не совместимо с первыми, поэтому более старая версия чего-то может не вести себя правильно при питании новой конфигурацией или файлами данных. Очевидно, это невозможно решить, если вы не отбросили все пользовательские данные до состояния до того, как было выполнено обновление.
Было бы здорово, если бы был способ сделать это, но это очень проблематично. Любой, кто считает, что есть последовательное решение, должен написать предложение и предложить комментарии или, еще лучше, сделать доказательство концептуального решения (код, сценарий, документ).
Поскольку нет чистого технического решения, большинство программ разработано (и интегрировано) с «единственным способом продвижения вперед». Попытка управлять устаревшими версиями - это трата времени каждого. Найденные проблемы исправлены в новых версиях ASAP. В качестве второстепенного решения я хотел бы, чтобы архив предыдущих версий пакетов сохранялся где-то для временного временного решения.
Между тем вы можете сообщить об ошибках и не ожидать, что программное обеспечение для защиты от кровотечений никогда не перестанет работать. Исправление, как только оно будет найдено, должно быть в следующем обновлении. Devs - люди (в основном), и поэтому они ошибочны. Компьютеры неудобны и полны безумного разнообразия и деталей. Защищенные системы с использованием хорошо поддерживаемых компонентов и стабильное интегрированное распространение программного обеспечения могут быть очень стабильными, несмотря на это, несмотря на отсутствие безопасности.