Downgrade: различия между версиями

Материал из ALT Linux Wiki
м (чуть подправил)
Строка 14: Строка 14:
Полная информация о предпочтениях (preferences) APT — в man-странице <tt>apt_preferences(5)</tt>
Полная информация о предпочтениях (preferences) APT — в man-странице <tt>apt_preferences(5)</tt>


=== Откат пакета в системе на примере бренча p7 ===
=== Откат пакета в системе на примере бранча p7 ===
1. Оставляем в /etc/apt/sources.list только архив p7 на определённую дату <ref>Для архитектуры x86_64, возможно, потребуется ещё и [[biarch|x86_64-i586]]</ref>
1. Оставляем в /etc/apt/sources.list только архив p7 на определённую дату <ref>Для архитектуры x86_64, возможно, потребуется ещё и [[biarch|x86_64-i586]]</ref>
<source lang=text>
<source lang=text>
Строка 21: Строка 21:
</source>
</source>


2. Далее, как описано выше — создаём файл /etc/apt/preferences и выполняем dist-upgrade, либо конкретный apt-get install package.
2. Далее, как описано выше — создаём файл /etc/apt/preferences и выполняем dist-upgrade, либо для конкретного пакета(ов) apt-get install package (package2...).


3. Пакет, который был "откачен" на старую версию, запрещаем обновлять, прописав его в HOLD в /etc/apt/apt.conf
3. Пакет, который был "откачен" на старую версию, запрещаем обновлять, прописав его в HOLD в /etc/apt/apt.conf

Версия от 18:22, 25 мая 2016

Для отката при помощи APT, например, с Sisyphus на 5.1/branch может пригодиться следующее:

  1. убрать из файлов /etc/apt/sources.list и /etc/apt/sources.list.d/*.list все раскомментированные строчки про Sisyphus;
  2. прописать репозитории 5.1/branch (две строчки — для своей архитектуры и noarch);
  3. создать файл /etc/apt/preferences следующего вида:
Package: *
Pin: release c=classic
Pin-Priority: 1001

Теперь можно пробовать apt-get update; apt-get dist-upgrade — но стоит помнить, что откат версий не является обычно тестируемой майнтейнерами операцией.

Внимание: обновлённые вручную из недоступных в sources.list источников пакеты при очередном dist-upgrade будут также DOWNGRADED; если переезд свершился, может иметь смысл отодвинуть /etc/apt/preferences в сторону (комментированию с использованием # либо /* ... */ не подлежит).

Полная информация о предпочтениях (preferences) APT — в man-странице apt_preferences(5)

Откат пакета в системе на примере бранча p7

1. Оставляем в /etc/apt/sources.list только архив p7 на определённую дату [1]

rpm http://ftp.altlinux.org/pub/distributions/archive/p7/date/2015/05/04/ ваша_архитектура classic
rpm http://ftp.altlinux.org/pub/distributions/archive/p7/date/2015/05/04/ noarch classic

2. Далее, как описано выше — создаём файл /etc/apt/preferences и выполняем dist-upgrade, либо для конкретного пакета(ов) apt-get install package (package2...).

3. Пакет, который был "откачен" на старую версию, запрещаем обновлять, прописав его в HOLD в /etc/apt/apt.conf А дальше возвращаемся на основную ветку бренча.

Откат пакета в системе на Сизифе

Иногда при очередном обновлении из Сизифа выясняется, что нужно откатить обратно какой-то пакет или всё, до определённой даты.

1. Оставляем в /etc/apt/sources.list только архив Сизифа на определённую дату [2][3] :

 rpm http://ftp.altlinux.org/pub/distributions/archive/sisyphus/date/2014/06/08 x86_64 classic
 rpm http://ftp.altlinux.org/pub/distributions/archive/sisyphus/date/2014/06/08 noarch classic

2. Далее, как описано выше — создаём файл /etc/apt/preferences и выполняем dist-upgrade, либо конкретный apt-get install package.

Решение проблем

Если конкретно при возвращении на M51 увидите подобную ошибку:

file /lib/mkinitrd/udev/lib/udev/vol_id from install
of udev-initramfs-141-alt11 conflicts with file
from package util-linux-initramfs-2.16.1-alt3
E: Error while running transaction

то перед apt-get dist-upgrade придётся вручную провести замену этого пакета:

apt-get install udev-initramfs util-linux-initramfs-
  1. Для архитектуры x86_64, возможно, потребуется ещё и x86_64-i586
  2. Дату определяем по индексу архива: например, fpc -- http://ftp.altlinux.org/pub/distributions/archive/sisyphus/index/src/f/fpc/
  3. Для архитектуры x86_64, возможно, потребуется ещё и x86_64-i586