Downgrade: различия между версиями
Sb (обсуждение | вклад) м (→Откат ядра: typo-) |
м (s/p8/p9/g; кратенько по предложению slava@ из #38399 (всё уже было, на самом деле)) |
||
Строка 1: | Строка 1: | ||
Для отката при помощи [[APT]], например, с [[Sisyphus]] на [[branches/ | Для отката при помощи [[APT]], например, с [[Sisyphus]] на [[branches/p9|p9/branch]] может пригодиться следующее: | ||
# '''убрать''' из файлов {{path|/etc/apt/sources.list}} и {{path|/etc/apt/sources.list.d/*.list}} все раскомментированные строчки про Sisyphus; | # '''убрать''' из файлов {{path|/etc/apt/sources.list}} и {{path|/etc/apt/sources.list.d/*.list}} все раскомментированные строчки про Sisyphus; | ||
# прописать репозитории | # прописать репозитории p9/branch (две строчки — для своей архитектуры ''и'' <tt>noarch</tt>); | ||
# создать файл {{path|/etc/apt/preferences}} следующего вида: | # создать файл {{path|/etc/apt/preferences}} следующего вида: | ||
Package: * | Package: * | ||
Строка 9: | Строка 9: | ||
Теперь можно пробовать {{cmd|apt-get update; apt-get dist-upgrade}} — но стоит помнить, что откат версий не является обычно тестируемой майнтейнерами операцией. | Теперь можно пробовать {{cmd|apt-get update; apt-get dist-upgrade}} — но стоит помнить, что откат версий не является обычно тестируемой майнтейнерами операцией. | ||
При необходимости откатить один пакет (или только связанную с ним группу), соответственно, {{cmd|apt-get install нужное}}; см. далее. | |||
'''Внимание:''' обновлённые вручную из недоступных в sources.list источников пакеты при очередном dist-upgrade будут также DOWNGRADED; если переезд свершился, может иметь смысл отодвинуть <tt>/etc/apt/preferences</tt> в сторону (комментированию с использованием <tt>#</tt> либо <tt>/* ... */</tt> не подлежит). | '''Внимание:''' обновлённые вручную из недоступных в sources.list источников пакеты при очередном dist-upgrade будут также DOWNGRADED; если переезд свершился, может иметь смысл отодвинуть <tt>/etc/apt/preferences</tt> в сторону (комментированию с использованием <tt>#</tt> либо <tt>/* ... */</tt> не подлежит). |
Версия от 20:58, 28 апреля 2020
Для отката при помощи APT, например, с Sisyphus на p9/branch может пригодиться следующее:
- убрать из файлов /etc/apt/sources.list и /etc/apt/sources.list.d/*.list все раскомментированные строчки про Sisyphus;
- прописать репозитории p9/branch (две строчки — для своей архитектуры и noarch);
- создать файл /etc/apt/preferences следующего вида:
Package: * Pin: release c=classic Pin-Priority: 1001
Теперь можно пробовать apt-get update; apt-get dist-upgrade — но стоит помнить, что откат версий не является обычно тестируемой майнтейнерами операцией.
При необходимости откатить один пакет (или только связанную с ним группу), соответственно, apt-get install нужное; см. далее.
Внимание: обновлённые вручную из недоступных в 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[2] в /etc/apt/apt.conf, после чего в списке репозиториев возвращаемся на основную ветку бранча.
Откат пакета в системе на Сизифе
Иногда при очередном обновлении из Сизифа выясняется, что нужно откатить обратно какой-то пакет или всё, до определённой даты.
1. Оставляем в /etc/apt/sources.list только архив Сизифа на определённую дату [3][4] :
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.
Откат ядра
Ядра в ALT обновляются отдельно, поэтому и для отката ядра используется отдельная процедура. Процесс описан в FAQ.
Решение проблем
Если конкретно при возвращении на 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-
Применение EPM
Следующая команда откатит (указанный пакет) до его версии из текущего репозитория:
epm downgrade [пакет(ы)]
Реализовано это через изменение /etc/apt/preferences (как описано в начале статьи). Если epm downgrade вызвать без параметров, все пакеты в системе будут приведены к версиям из репозитория.
- ↑ Для архитектуры x86_64, возможно, потребуется ещё и x86_64-i586
- ↑ Как «поставить пакеты на холд»
- ↑ Дату определяем по индексу архива: например, fpc -- http://ftp.altlinux.org/pub/distributions/archive/sisyphus/index/src/f/fpc/
- ↑ Для архитектуры x86_64, возможно, потребуется ещё и x86_64-i586