как понизить версии пакетов apt до версий в архиве?

Найдите любую строку, которая не начинается с символа пробела (, используя ^в классе символов для отрицания ). Для любого совпадения замените начало строки текстом «компонент».

/^поиск с начала строки

[^.. ]это класс символов, ^отрицает содержимое класса.

[:space:]+класс символов — пробел или символ табуляции

[^[:space:]]+, но класс инвертирован, поэтому ищите с начала строки хотя бы один символ пробела, отличный от -. (+означает по крайней мере одно появление символа пробела, отличного от -).

Если в регулярном выражении /.../найдено совпадение, выполните следующую замену -в начале строки (^ означает начало строки ), добавьте текст "component...".

sed -E '/^[^[:space:]]+/ s/^/component $c set_parameter/' a.cfg
3
28.10.2020, 18:46
2 ответа

Я написал аналогичный ответ здесь

Для этого сначала удалите все строки с focal-proposedиз /etc/apt/sources.listи /etc/apt/sources.list.d/*.

Во-вторых, мы собираемся сообщить apt, чтобы разрешить понижение рейтинга. Это означает закрепление focal, focal-updatesи focal-securityс приоритетом выше 1000. Создайте /etc/apt/preferences.d/focalс этим содержимым:

Package: *
Pin: release n=focal
Pin-Priority: 1001

Package: *
Pin: release n=focal-updates
Pin-Priority: 1002

Package: *
Pin: release n=focal-security
Pin-Priority: 1003

Если вы не используете focal-updatesили focal-security, пропустите эти разделы.

В-третьих, запустите следующее:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt --fix-broken install
sudo apt autoremove

и продолжайте переключаться между этими командами, пока все не станет стабильным.

Наконец, удалите /etc/apt/preferences.d/focal.


Кроме того, вы можете просто удалить focal-proposed. Эти пакеты в конечном итоге перейдут на focal-updates, когда они пройдут проверку, и вы снова будете синхронизированы.

С вашей маленькой дельтой --fix-broken installи autoremove, вероятно, не понадобятся, но aptсообщит вам, когда вы прочитаете вывод предыдущих команд.


Всем, кто натолкнется на этот пост:Понижение версии не поддерживается . Любое понижение значительного размера, скорее всего, потерпит неудачу. Это довольно тривиальный случай, но переход от focalк bionic, вероятно, будет катастрофой и оставит вашу систему сломанной.

5
18.03.2021, 22:54

Немного короче.

cat /etc/apt/preferences.d/focal.pref 
Package: *
Pin: release n=focal
 
Pin-Priority: 1001

Запись присваивает высокий приоритет всем версиям пакетов, принадлежащим любому дистрибутиву, чье кодовое имя «focal».

Примечание работает только тогда, когда предложенное фокусное -больше не активно.

1
18.03.2021, 22:54

Теги

Похожие вопросы