Это случилось со мной много раз за последние 5 лет: обновление сломало мою систему. Каждый раз, когда я заканчиваю эту ситуацию, мне нужно переустановить всю систему, что очень раздражает.
Есть ли способ отменить последнее обновление, чтобы иметь функциональную систему без переустановки ? Если нет, это лучший способ предложить это в качестве идеи высшего приоритета?
Я прочитал эту идею, описанную в brainstorm.ubuntu.com, но она чувствует, что она мертва ... и на форумах полно примеров обновлений, нарушающих вещи, поэтому я чувствую, что что-то нужно сделать Об этой теме. Спасибо!
Вы можете установить более старую версию данного пакета (с понижением) с помощью apt или dpkg. Поиск старой версии пакета - проблема, так как они часто исчезают из пула и зеркал при обновлении обновлений.
Если вы устанавливаете пакет с установочного компакт-диска или устаревшего зеркала или кеша, вы будете также необходимо держать его прикрепленным к старой версии, чтобы он не обновлялся, пока вы этого не позволите. Это означает, что вам нужно следить за обновлениями и тестировать их, пока ваша проблема не будет устранена. Это, конечно, проблема, так как между тем (возможно, навсегда) вы останетесь с незафиксированным, возможно, небезопасным пакетом. Это означает, что каждый пользователь с какой-либо системной проблемой будет оставлен в каком-то случайном состоянии, пока не сможет его решить.
Все программное обеспечение также не совместимо с первыми, поэтому более старая версия чего-то может не вести себя правильно при питании новой конфигурацией или файлами данных. Очевидно, это невозможно решить, если вы не отбросили все пользовательские данные до состояния до того, как было выполнено обновление.
Было бы здорово, если бы был способ сделать это, но это очень проблематично. Любой, кто считает, что есть последовательное решение, должен написать предложение и предложить комментарии или, еще лучше, сделать доказательство концептуального решения (код, сценарий, документ).
Поскольку нет чистого технического решения, большинство программ разработано (и интегрировано) с «единственным способом продвижения вперед». Попытка управлять устаревшими версиями - это трата времени каждого. Найденные проблемы исправлены в новых версиях ASAP. В качестве второстепенного решения я хотел бы, чтобы архив предыдущих версий пакетов сохранялся где-то для временного временного решения.
Между тем вы можете сообщить об ошибках и не ожидать, что программное обеспечение для защиты от кровотечений никогда не перестанет работать. Исправление, как только оно будет найдено, должно быть в следующем обновлении. Devs - люди (в основном), и поэтому они ошибочны. Компьютеры неудобны и полны безумного разнообразия и деталей. Защищенные системы с использованием хорошо поддерживаемых компонентов и стабильное интегрированное распространение программного обеспечения могут быть очень стабильными, несмотря на это, несмотря на отсутствие безопасности.
При выполнении основного обновления я клонирую диск с помощью Clonezilla. Запишите его на компакт-диск, у вас есть запасной (внешний) жесткий диск и следуйте инструкциям на Clonezilla LiveCD. Выберите partition-image режим, это использует наименьшее пространство.
Если вы считаете, что сломали свою систему (или хотите отменить любые изменения), просто загрузитесь в Clonezilla LiveCD, выберите изображение на своем (внешнего) жесткого диска и восстановить его. Поскольку эти изображения являются буквальной копией каждого бита на вашем диске, это может занять несколько часов в зависимости от скорости вашего диска и скорости соединения (соединение между данными, обычно внешним USB-накопителем и компьютером).
Кстати, это называется методом резервного копирования.
В основном вы можете обратиться к /var/log/apt/history.log за изменениями, выполненными apt / synaptic.
Вернитесь к дате, когда ваша система все еще работает нормально.
Сначала возьмите все пакеты, которые были установлены с тех пор и объединить их в сценарий удаления.
Пример: logfile:
Start-Date: 2014-05-28 21:28:11
Commandline: synaptic
Install: 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$
Remove: fglrx-glx-ia32:amd64 (12-6+point-3)
End-Date: 2014-05-28 21:28:27
вы можете видеть,
libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 & libfglrx:amd64
был установлен Synaptic. как libfglrx:amd64 удалили Synaptic.
Мы пошли в обратном порядке, поэтому сначала удалим вновь установленные пакеты, и мы снова добавим удаленные пакеты.
A рабочая команда для этого случая может выглядеть так:
sudo apt-get remove -y libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 libfglrx:amd64 && sudo apt-get install -y libfglrx:amd64
Может быть, не лучше было бы пойти без переключателя -y - чтобы иметь больше контроля над процессом (чтобы избежать поломки зависимостей) , Большинство из вас не сломают палец, а проведут несколько проверок «y»
. В большинстве случаев откат возможен таким образом, но если зависимости уже нарушены, вы можете столкнуться с еще большей проблемой.
К сожалению, пока этого не сделать. Снимок / откат уровня файловой системы является одной из функций предстоящих btrfs, но у него еще есть способы стать полнофункциональными и стабильными для использования в качестве файловой системы по умолчанию.
В большинстве случаев, если ваша система повреждена, это проблема с ядром.
Просто загрузите более старое ядро и переустановите самые последние пакеты (особенно пакеты ядра), которые, вероятно, неправильно обновились. Несколько заметок:
/var/log/dpkg.log
- ваш друг, чтобы проверить, что список недавно обновленных / установленных пакетов
sudo apt-get -f install
может в большинстве случаев исправить половину установленных пакетов [ ! d4]
В синаптике вы можете контролировать хотя бы последние обновления: File-menu, history.
(если синаптическая возможность запускается с разбитой системой). Поэтому с помощью команды apt -...-, чтобы вернуть свое обновление, это не должно быть слишком сложно.
Я думаю, что есть также команда history для командной строки.
Возможно, вам нужно удалить весь пакет и установить определенную версию. Afaik, можно установить конкретную версию, но мне никогда не приходилось это делать.
Найти пакеты, установленные в последние 3x24h:
find /var/lib/dpkg/info/ -name \*.list -mtime -3 | sed 's#.list$##;s#.*/##'
С политикой apt-cache вы видите доступные версии программы:
sudo apt-cache policy PROGRAM:
*** 3.6.7+build3+nobinonly-0ubuntu0.10.04.1 0
500 http://de.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
500 http://security.ubuntu.com/ubuntu/ lucid-security/main Packages
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), названный в честь вашей программы,
Package: program
Pin: version 3.6.3*
Pin-Priority: 1000
Вы можете установить более старую версию данного пакета (с понижением) с помощью apt или dpkg. Поиск старой версии пакета - проблема, так как они часто исчезают из пула и зеркал при обновлении обновлений.
Если вы устанавливаете пакет с установочного компакт-диска или устаревшего зеркала или кеша, вы будете также необходимо держать его прикрепленным к старой версии, чтобы он не обновлялся, пока вы этого не позволите. Это означает, что вам нужно следить за обновлениями и тестировать их, пока ваша проблема не будет устранена. Это, конечно, проблема, так как между тем (возможно, навсегда) вы останетесь с незафиксированным, возможно, небезопасным пакетом. Это означает, что каждый пользователь с какой-либо системной проблемой будет оставлен в каком-то случайном состоянии, пока не сможет его решить.
Все программное обеспечение также не совместимо с первыми, поэтому более старая версия чего-то может не вести себя правильно при питании новой конфигурацией или файлами данных. Очевидно, это невозможно решить, если вы не отбросили все пользовательские данные до состояния до того, как было выполнено обновление.
Было бы здорово, если бы был способ сделать это, но это очень проблематично. Любой, кто считает, что есть последовательное решение, должен написать предложение и предложить комментарии или, еще лучше, сделать доказательство концептуального решения (код, сценарий, документ).
Поскольку нет чистого технического решения, большинство программ разработано (и интегрировано) с «единственным способом продвижения вперед». Попытка управлять устаревшими версиями - это трата времени каждого. Найденные проблемы исправлены в новых версиях ASAP. В качестве второстепенного решения я хотел бы, чтобы архив предыдущих версий пакетов сохранялся где-то для временного временного решения.
Между тем вы можете сообщить об ошибках и не ожидать, что программное обеспечение для защиты от кровотечений никогда не перестанет работать. Исправление, как только оно будет найдено, должно быть в следующем обновлении. Devs - люди (в основном), и поэтому они ошибочны. Компьютеры неудобны и полны безумного разнообразия и деталей. Защищенные системы с использованием хорошо поддерживаемых компонентов и стабильное интегрированное распространение программного обеспечения могут быть очень стабильными, несмотря на это, несмотря на отсутствие безопасности.
При выполнении основного обновления я клонирую диск с помощью Clonezilla. Запишите его на компакт-диск, у вас есть запасной (внешний) жесткий диск и следуйте инструкциям на Clonezilla LiveCD. Выберите partition-image режим, это использует наименьшее пространство.
Если вы считаете, что сломали свою систему (или хотите отменить любые изменения), просто загрузитесь в Clonezilla LiveCD, выберите изображение на своем (внешнего) жесткого диска и восстановить его. Поскольку эти изображения являются буквальной копией каждого бита на вашем диске, это может занять несколько часов в зависимости от скорости вашего диска и скорости соединения (соединение между данными, обычно внешним USB-накопителем и компьютером).
Кстати, это называется методом резервного копирования.
В основном вы можете обратиться к /var/log/apt/history.log за изменениями, выполненными apt / synaptic.
Вернитесь к дате, когда ваша система все еще работает нормально.
Сначала возьмите все пакеты, которые были установлены с тех пор и объединить их в сценарий удаления.
Пример: logfile:
Start-Date: 2014-05-28 21:28:11
Commandline: synaptic
Install: 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$
Remove: fglrx-glx-ia32:amd64 (12-6+point-3)
End-Date: 2014-05-28 21:28:27
вы можете видеть,
libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 & libfglrx:amd64
был установлен Synaptic. как libfglrx:amd64 удалили Synaptic.
Мы пошли в обратном порядке, поэтому сначала удалим вновь установленные пакеты, и мы снова добавим удаленные пакеты.
A рабочая команда для этого случая может выглядеть так:
sudo apt-get remove -y libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 libfglrx:amd64 && sudo apt-get install -y libfglrx:amd64
Может быть, не лучше было бы пойти без переключателя -y - чтобы иметь больше контроля над процессом (чтобы избежать поломки зависимостей) , Большинство из вас не сломают палец, а проведут несколько проверок «y»
. В большинстве случаев откат возможен таким образом, но если зависимости уже нарушены, вы можете столкнуться с еще большей проблемой.
К сожалению, пока этого не сделать. Снимок / откат уровня файловой системы является одной из функций предстоящих btrfs, но у него еще есть способы стать полнофункциональными и стабильными для использования в качестве файловой системы по умолчанию.
В большинстве случаев, если ваша система повреждена, это проблема с ядром.
Просто загрузите более старое ядро и переустановите самые последние пакеты (особенно пакеты ядра), которые, вероятно, неправильно обновились. Несколько заметок:
/var/log/dpkg.log
- ваш друг, чтобы проверить, что список недавно обновленных / установленных пакетов
sudo apt-get -f install
может в большинстве случаев исправить половину установленных пакетов [ ! d4]
В синаптике вы можете контролировать хотя бы последние обновления: File-menu, history.
(если синаптическая возможность запускается с разбитой системой). Поэтому с помощью команды apt -...-, чтобы вернуть свое обновление, это не должно быть слишком сложно.
Я думаю, что есть также команда history для командной строки.
Возможно, вам нужно удалить весь пакет и установить определенную версию. Afaik, можно установить конкретную версию, но мне никогда не приходилось это делать.
Найти пакеты, установленные в последние 3x24h:
find /var/lib/dpkg/info/ -name \*.list -mtime -3 | sed 's#.list$##;s#.*/##'
С политикой apt-cache вы видите доступные версии программы:
sudo apt-cache policy PROGRAM:
*** 3.6.7+build3+nobinonly-0ubuntu0.10.04.1 0
500 http://de.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
500 http://security.ubuntu.com/ubuntu/ lucid-security/main Packages
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), названный в честь вашей программы,
Package: program
Pin: version 3.6.3*
Pin-Priority: 1000
Вы можете установить более старую версию данного пакета (с понижением) с помощью apt или dpkg. Поиск старой версии пакета - проблема, так как они часто исчезают из пула и зеркал при обновлении обновлений.
Если вы устанавливаете пакет с установочного компакт-диска или устаревшего зеркала или кеша, вы будете также необходимо держать его прикрепленным к старой версии, чтобы он не обновлялся, пока вы этого не позволите. Это означает, что вам нужно следить за обновлениями и тестировать их, пока ваша проблема не будет устранена. Это, конечно, проблема, так как между тем (возможно, навсегда) вы останетесь с незафиксированным, возможно, небезопасным пакетом. Это означает, что каждый пользователь с какой-либо системной проблемой будет оставлен в каком-то случайном состоянии, пока не сможет его решить.
Все программное обеспечение также не совместимо с первыми, поэтому более старая версия чего-то может не вести себя правильно при питании новой конфигурацией или файлами данных. Очевидно, это невозможно решить, если вы не отбросили все пользовательские данные до состояния до того, как было выполнено обновление.
Было бы здорово, если бы был способ сделать это, но это очень проблематично. Любой, кто считает, что есть последовательное решение, должен написать предложение и предложить комментарии или, еще лучше, сделать доказательство концептуального решения (код, сценарий, документ).
Поскольку нет чистого технического решения, большинство программ разработано (и интегрировано) с «единственным способом продвижения вперед». Попытка управлять устаревшими версиями - это трата времени каждого. Найденные проблемы исправлены в новых версиях ASAP. В качестве второстепенного решения я хотел бы, чтобы архив предыдущих версий пакетов сохранялся где-то для временного временного решения.
Между тем вы можете сообщить об ошибках и не ожидать, что программное обеспечение для защиты от кровотечений никогда не перестанет работать. Исправление, как только оно будет найдено, должно быть в следующем обновлении. Devs - люди (в основном), и поэтому они ошибочны. Компьютеры неудобны и полны безумного разнообразия и деталей. Защищенные системы с использованием хорошо поддерживаемых компонентов и стабильное интегрированное распространение программного обеспечения могут быть очень стабильными, несмотря на это, несмотря на отсутствие безопасности.
При выполнении основного обновления я клонирую диск с помощью Clonezilla. Запишите его на компакт-диск, у вас есть запасной (внешний) жесткий диск и следуйте инструкциям на Clonezilla LiveCD. Выберите partition-image режим, это использует наименьшее пространство.
Если вы считаете, что сломали свою систему (или хотите отменить любые изменения), просто загрузитесь в Clonezilla LiveCD, выберите изображение на своем (внешнего) жесткого диска и восстановить его. Поскольку эти изображения являются буквальной копией каждого бита на вашем диске, это может занять несколько часов в зависимости от скорости вашего диска и скорости соединения (соединение между данными, обычно внешним USB-накопителем и компьютером).
Кстати, это называется методом резервного копирования.
В основном вы можете обратиться к /var/log/apt/history.log за изменениями, выполненными apt / synaptic.
Вернитесь к дате, когда ваша система все еще работает нормально.
Сначала возьмите все пакеты, которые были установлены с тех пор и объединить их в сценарий удаления.
Пример: logfile:
Start-Date: 2014-05-28 21:28:11
Commandline: synaptic
Install: 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$
Remove: fglrx-glx-ia32:amd64 (12-6+point-3)
End-Date: 2014-05-28 21:28:27
вы можете видеть,
libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 & libfglrx:amd64
был установлен Synaptic. как libfglrx:amd64 удалили Synaptic.
Мы пошли в обратном порядке, поэтому сначала удалим вновь установленные пакеты, и мы снова добавим удаленные пакеты.
A рабочая команда для этого случая может выглядеть так:
sudo apt-get remove -y libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 libfglrx:amd64 && sudo apt-get install -y libfglrx:amd64
Может быть, не лучше было бы пойти без переключателя -y - чтобы иметь больше контроля над процессом (чтобы избежать поломки зависимостей) , Большинство из вас не сломают палец, а проведут несколько проверок «y»
. В большинстве случаев откат возможен таким образом, но если зависимости уже нарушены, вы можете столкнуться с еще большей проблемой.
К сожалению, пока этого не сделать. Снимок / откат уровня файловой системы является одной из функций предстоящих btrfs, но у него еще есть способы стать полнофункциональными и стабильными для использования в качестве файловой системы по умолчанию.
В большинстве случаев, если ваша система повреждена, это проблема с ядром.
Просто загрузите более старое ядро и переустановите самые последние пакеты (особенно пакеты ядра), которые, вероятно, неправильно обновились. Несколько заметок:
/var/log/dpkg.log
- ваш друг, чтобы проверить, что список недавно обновленных / установленных пакетов
sudo apt-get -f install
может в большинстве случаев исправить половину установленных пакетов [ ! d4]
В синаптике вы можете контролировать хотя бы последние обновления: File-menu, history.
(если синаптическая возможность запускается с разбитой системой). Поэтому с помощью команды apt -...-, чтобы вернуть свое обновление, это не должно быть слишком сложно.
Я думаю, что есть также команда history для командной строки.
Возможно, вам нужно удалить весь пакет и установить определенную версию. Afaik, можно установить конкретную версию, но мне никогда не приходилось это делать.
Найти пакеты, установленные в последние 3x24h:
find /var/lib/dpkg/info/ -name \*.list -mtime -3 | sed 's#.list$##;s#.*/##'
С политикой apt-cache вы видите доступные версии программы:
sudo apt-cache policy PROGRAM:
*** 3.6.7+build3+nobinonly-0ubuntu0.10.04.1 0
500 http://de.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
500 http://security.ubuntu.com/ubuntu/ lucid-security/main Packages
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), названный в честь вашей программы,
Package: program
Pin: version 3.6.3*
Pin-Priority: 1000
Вы можете установить более старую версию данного пакета (с понижением) с помощью apt или dpkg. Поиск старой версии пакета - проблема, так как они часто исчезают из пула и зеркал при обновлении обновлений.
Если вы устанавливаете пакет с установочного компакт-диска или устаревшего зеркала или кеша, вы будете также необходимо держать его прикрепленным к старой версии, чтобы он не обновлялся, пока вы этого не позволите. Это означает, что вам нужно следить за обновлениями и тестировать их, пока ваша проблема не будет устранена. Это, конечно, проблема, так как между тем (возможно, навсегда) вы останетесь с незафиксированным, возможно, небезопасным пакетом. Это означает, что каждый пользователь с какой-либо системной проблемой будет оставлен в каком-то случайном состоянии, пока не сможет его решить.
Все программное обеспечение также не совместимо с первыми, поэтому более старая версия чего-то может не вести себя правильно при питании новой конфигурацией или файлами данных. Очевидно, это невозможно решить, если вы не отбросили все пользовательские данные до состояния до того, как было выполнено обновление.
Было бы здорово, если бы был способ сделать это, но это очень проблематично. Любой, кто считает, что есть последовательное решение, должен написать предложение и предложить комментарии или, еще лучше, сделать доказательство концептуального решения (код, сценарий, документ).
Поскольку нет чистого технического решения, большинство программ разработано (и интегрировано) с «единственным способом продвижения вперед». Попытка управлять устаревшими версиями - это трата времени каждого. Найденные проблемы исправлены в новых версиях ASAP. В качестве второстепенного решения я хотел бы, чтобы архив предыдущих версий пакетов сохранялся где-то для временного временного решения.
Между тем вы можете сообщить об ошибках и не ожидать, что программное обеспечение для защиты от кровотечений никогда не перестанет работать. Исправление, как только оно будет найдено, должно быть в следующем обновлении. Devs - люди (в основном), и поэтому они ошибочны. Компьютеры неудобны и полны безумного разнообразия и деталей. Защищенные системы с использованием хорошо поддерживаемых компонентов и стабильное интегрированное распространение программного обеспечения могут быть очень стабильными, несмотря на это, несмотря на отсутствие безопасности.
При выполнении основного обновления я клонирую диск с помощью Clonezilla. Запишите его на компакт-диск, у вас есть запасной (внешний) жесткий диск и следуйте инструкциям на Clonezilla LiveCD. Выберите partition-image режим, это использует наименьшее пространство.
Если вы считаете, что сломали свою систему (или хотите отменить любые изменения), просто загрузитесь в Clonezilla LiveCD, выберите изображение на своем (внешнего) жесткого диска и восстановить его. Поскольку эти изображения являются буквальной копией каждого бита на вашем диске, это может занять несколько часов в зависимости от скорости вашего диска и скорости соединения (соединение между данными, обычно внешним USB-накопителем и компьютером).
Кстати, это называется методом резервного копирования.
В основном вы можете обратиться к /var/log/apt/history.log за изменениями, выполненными apt / synaptic.
Вернитесь к дате, когда ваша система все еще работает нормально.
Сначала возьмите все пакеты, которые были установлены с тех пор и объединить их в сценарий удаления.
Пример: logfile:
Start-Date: 2014-05-28 21:28:11
Commandline: synaptic
Install: 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$
Remove: fglrx-glx-ia32:amd64 (12-6+point-3)
End-Date: 2014-05-28 21:28:27
вы можете видеть,
libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 & libfglrx:amd64
был установлен Synaptic. как libfglrx:amd64 удалили Synaptic.
Мы пошли в обратном порядке, поэтому сначала удалим вновь установленные пакеты, и мы снова добавим удаленные пакеты.
A рабочая команда для этого случая может выглядеть так:
sudo apt-get remove -y libfglrx-amdxvba1:amd64 libgl1-fglrx-glx:amd64 glx-alternative-fglrx:amd64 libfglrx:amd64 && sudo apt-get install -y libfglrx:amd64
Может быть, не лучше было бы пойти без переключателя -y - чтобы иметь больше контроля над процессом (чтобы избежать поломки зависимостей) , Большинство из вас не сломают палец, а проведут несколько проверок «y»
. В большинстве случаев откат возможен таким образом, но если зависимости уже нарушены, вы можете столкнуться с еще большей проблемой.
К сожалению, пока этого не сделать. Снимок / откат уровня файловой системы является одной из функций предстоящих btrfs, но у него еще есть способы стать полнофункциональными и стабильными для использования в качестве файловой системы по умолчанию.
В большинстве случаев, если ваша система повреждена, это проблема с ядром.
Просто загрузите более старое ядро и переустановите самые последние пакеты (особенно пакеты ядра), которые, вероятно, неправильно обновились. Несколько заметок:
/var/log/dpkg.log
- ваш друг, чтобы проверить, что список недавно обновленных / установленных пакетов
sudo apt-get -f install
может в большинстве случаев исправить половину установленных пакетов [ ! d4]
В синаптике вы можете контролировать хотя бы последние обновления: File-menu, history.
(если синаптическая возможность запускается с разбитой системой). Поэтому с помощью команды apt -...-, чтобы вернуть свое обновление, это не должно быть слишком сложно.
Я думаю, что есть также команда history для командной строки.
Возможно, вам нужно удалить весь пакет и установить определенную версию. Afaik, можно установить конкретную версию, но мне никогда не приходилось это делать.
Найти пакеты, установленные в последние 3x24h:
find /var/lib/dpkg/info/ -name \*.list -mtime -3 | sed 's#.list$##;s#.*/##'
С политикой apt-cache вы видите доступные версии программы:
sudo apt-cache policy PROGRAM:
*** 3.6.7+build3+nobinonly-0ubuntu0.10.04.1 0
500 http://de.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
500 http://security.ubuntu.com/ubuntu/ lucid-security/main Packages
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), названный в честь вашей программы,
Package: program
Pin: version 3.6.3*
Pin-Priority: 1000
В синаптике вы можете, по крайней мере, контролировать, какие были последние обновления: 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/dpkg.log
- ваш друг, чтобы проверить, что такое список недавно обновленных / установленных пакетов
sudo apt-get -f install
чаще всего фиксирует половину установленных пакетов
К сожалению, пока этого не сделать. Снимок / откат уровня файловой системы является одной из функций предстоящих 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 - люди (в основном), и поэтому они ошибочны. Компьютеры неудобны и полны безумного разнообразия и деталей. Защищенные системы с использованием хорошо поддерживаемых компонентов и стабильное интегрированное распространение программного обеспечения могут быть очень стабильными, несмотря на это, несмотря на отсутствие безопасности.