Как сделать резервное копирование и восстановление yum? - PullRequest
3 голосов
/ 04 июня 2010

Есть ли способ сделать резервную копию пакета, который будет изменяться при обновлении yum? Например, когда я делаю yum update lighttpd, есть ли способ сделать резервную копию и восстановить lighttpd, если yum update будет неудачным или это приведет к непредвиденным ошибкам или ошибкам?

Ответы [ 3 ]

3 голосов
/ 10 июня 2010

Если вы используете RPM до 4.6.0 ( он удален в более новых версиях ), вы можете использовать механизм rpm --rollback как в этом старом уроке или в более полная статья с объяснением некоторых функций. Функция --rollback - это автоматическое решение, которое было удалено, поскольку оно ненадежно.

У вас может быть ручное решение , сохраняющее список всех пакетов до , обновление yum и переустановка необходимых старых rpms возможно с использованием --oldpackage, например rpm -Uvh --oldpackage foo-1-1.i386.rpm:

Чтобы получить список всех установленных пакетов, отсортированный по времени установки:

rpm -q -a --queryformat '%{INSTALLTIME} %{NAME}-%{VERSION}-%{RELEASE}\n' | sort -n 

( Источник )

Если вы используете Fedora, вот официальное руководство по обновлению системы с помощью установщика с примером того, как создать список текущих установленных пакетов системы и как восстановить большинство старого программного обеспечения после обновления .

Если вам нужен универсальный подход для получения списка установленного программного обеспечения (не только на основе rpm), вы также можете следовать этой статье .

1 голос
/ 24 июня 2010

Если вы используете репо. это сохраняет все старые версии, вы можете просто сделать «yum downgrade lighttpd» (и с более новым «yum history undo»). Если нет, то вы можете сохранить локальную копию старого rpm и использовать «yum downgrade lighttpd * .rpm» (хотя это сложнее). Возможно, что некоторые проблемы не будут устранены этим, но они должны быть очень редкими, и снижение рейтинга вряд ли что-либо изменит как побочный эффект.

Совсем недавно был создан плагин "yum-plugin-fs-snapshot", который автоматически сделает снимок FS (btrfs или LVM) перед обновлением ... таким образом. Затем вы можете просто вернуться к снимку. Это большое изменение, поэтому я не рекомендую его.

0 голосов
/ 14 июня 2010

Я использую etckeeper для отслеживания изменений файлов в /etc. etckeeper ставит /etc под контроль версий (он поддерживает несколько систем контроля версий, включая Git, Mercurial и Bazaar) и интегрируется с системами управления пакетами ряда дистрибутивов Linux (APT, YUM, Pacman).

Если что-то плохое случится во время обновления или около того, я могу откатить что угодно.

...