Найти в Дзене
ezmax

Призываем фиксиков в Linux Mint или исправление для снижения версий сторонних пакетов при обновлении с версии 19.3 на 20.0

Захотелось мне перейти на более новую версию, но произошла затыка. Ввожу команду mintupgrade check или mintupgrade upgrade, жду. В итоге, после проверки всех условий, прилетает сообщение: - amd64-microcode: 3.20191218.1, should be 3.20191021.1+really3.20181128.1~ubuntu0.18.04.1 (from bionic-updates) - gir1.2-appindicator3-0.1: 12.10.1+18.04.20200408.1-0ubuntu1, should be 12.10.1+18.04.20180322.1-1mint2 (from tricia) - init: 1.56+nmu1~ubuntu18.04.1, should be 1.51 (from bionic) - init-system-helpers: 1.56+nmu1~ubuntu18.04.1, should be 1.51 (from bionic) - intel-microcode: 3.20210608.2, should be 3.20210608.0ubuntu0.18.04.1 (from bionic-updates) - iproute2: 5.10.0-3~bpo9+xanmod1, should be 4.15.0-2ubuntu1.3 (from bionic-updates) - libappindicator0.1-cil: 12.10.1+18.04.20200408.1-0ubuntu1, should be 12.10.1+18.04.20180322.1-1mint2 (from tricia) ------------------------------------------------
!! ERROR: The packages above have incorrect versions. They can be d

Захотелось мне перейти на более новую версию, но произошла затыка. Ввожу команду mintupgrade check или mintupgrade upgrade, жду. В итоге, после проверки всех условий, прилетает сообщение:

- amd64-microcode: 3.20191218.1, should be 3.20191021.1+really3.20181128.1~ubuntu0.18.04.1 (from bionic-updates)

- gir1.2-appindicator3-0.1: 12.10.1+18.04.20200408.1-0ubuntu1, should be 12.10.1+18.04.20180322.1-1mint2 (from tricia)

- init: 1.56+nmu1~ubuntu18.04.1, should be 1.51 (from bionic)

- init-system-helpers: 1.56+nmu1~ubuntu18.04.1, should be 1.51 (from bionic)

- intel-microcode: 3.20210608.2, should be 3.20210608.0ubuntu0.18.04.1 (from bionic-updates)

- iproute2: 5.10.0-3~bpo9+xanmod1, should be 4.15.0-2ubuntu1.3 (from bionic-updates)

- libappindicator0.1-cil: 12.10.1+18.04.20200408.1-0ubuntu1, should be 12.10.1+18.04.20180322.1-1mint2 (from tricia)

------------------------------------------------
!! ERROR: The packages above have incorrect versions. They can be downgraded using 'Software Sources -> Maintenance -> Downgrade Foreign Packages'.
!! Exiting.
------------------------------------------------

+ Restoring your backed up APT sources..

Нашел решение здесь: https://dev.to/bargeship/fixing-foreign-package-downgrading-in-linux-mint-1d2o

Далее пишу тем, кто не хочет заморачиваться с переводом и позволю себе вольность изложить своими словами.

Итак. Спаситель наш предлагает некий код на JavaScript и видимо является его автором. Как делал я:

Открыл блокнот. В верхнюю строку заношу часть кода:

"aptitude install -f " + String.raw`

Следующей строкой копирую из вывода ошибки список пакетов, который я привел выше для примера, у вас будет свой список, может даже больше или меньше. В итоге мой код стал таким:

"aptitude install -f " + String.raw`

- amd64-microcode: 3.20191218.1, should be 3.20191021.1+really3.20181128.1~ubuntu0.18.04.1 (from bionic-updates)

- gir1.2-appindicator3-0.1: 12.10.1+18.04.20200408.1-0ubuntu1, should be 12.10.1+18.04.20180322.1-1mint2 (from tricia)

- init: 1.56+nmu1~ubuntu18.04.1, should be 1.51 (from bionic)

- init-system-helpers: 1.56+nmu1~ubuntu18.04.1, should be 1.51 (from bionic)

- intel-microcode: 3.20210608.2, should be 3.20210608.0ubuntu0.18.04.1 (from bionic-updates)

- iproute2: 5.10.0-3~bpo9+xanmod1, should be 4.15.0-2ubuntu1.3 (from bionic-updates)

И последними строками добавляем остатки:

`.split(/\s+- ([^:]+(?:[:]i386|[:]amd64|[:]arm64)?)[:] .*?([^ ]+) \(from[^\n]*\n?/gi).map(function(x) {
return x ? x + "=" : " ";
}).join("").replace(/= /g, " ").trim()

в итоге весь код у меня приобрел такой вид:

"aptitude install -f " + String.raw`

- amd64-microcode: 3.20191218.1, should be 3.20191021.1+really3.20181128.1~ubuntu0.18.04.1 (from bionic-updates)

- gir1.2-appindicator3-0.1: 12.10.1+18.04.20200408.1-0ubuntu1, should be 12.10.1+18.04.20180322.1-1mint2 (from tricia)

- init: 1.56+nmu1~ubuntu18.04.1, should be 1.51 (from bionic)

- init-system-helpers: 1.56+nmu1~ubuntu18.04.1, should be 1.51 (from bionic)

- intel-microcode: 3.20210608.2, should be 3.20210608.0ubuntu0.18.04.1 (from bionic-updates)

- iproute2: 5.10.0-3~bpo9+xanmod1, should be 4.15.0-2ubuntu1.3 (from bionic-updates)

`.split(/\s+- ([^:]+(?:[:]i386|[:]amd64|[:]arm64)?)[:] .*?([^ ]+) \(from[^\n]*\n?/gi).map(function(x) {
return x ? x + "=" : " ";
}).join("").replace(/= /g, " ").trim()

Далее необходимо в браузере НА ОТКРЫТОЙ СТРАНИЦЕ ЛЮБОГО САЙТА (я в Яндекс.Браузер буду приводить пример) открыть меню, в моем случае оно в виде трех черточек в правом верхнем углу. Далее пункт меню Дополнительно -> Дополнительные инструменты -> Консоль JavaScript. Проиллюстрирую:

Наглядный пример всегда понятнее!
Наглядный пример всегда понятнее!

Откроется консоль как на картинке:

Тут я добавил мазок цифровой кистью и кривой рукой. Пояснения ниже.
Тут я добавил мазок цифровой кистью и кривой рукой. Пояснения ниже.

И необходимо взять и скопировать весь текст кода из блокнота от первого до последнего символа и вставить в консоль после синей галки приглашения. На рисунке выше я пометил жирной и корявой галкой ее местонахождение. Нажать Enter на клавиатуре и если все гладко, то на выходе получите приблизительно следующее:

'aptitude install -f amd64-microcode=3.20191021.1+really3.20181128.1~ubuntu0.18.04.1 gir1.2-appindicator3-0.1=12.10.1+18.04.20180322.1-1mint2 init=1.51 init-system-helpers=1.51 intel-microcode=3.20210608.0ubuntu0.18.04.1 iproute2=4.15.0-2ubuntu1.3'

Далее: копируем все, что межу апострофов или надстрочных запятых, (кому как удобнее воспринимать) и вставляем в терминал не забывая вписать впереди всей этой тарабарщины sudo. Жмем Enter, вводим запрашиваемый пароль администратора и ждем окончания процесса. Если все прошло гладко, как у меня, то далее вводим mintupgrade upgrade и двигаемся к светлому будущему. Но иногда, как сообщает автор, некоторые пакеты хотят нас оставить в умирающем прошлом и брыкаются. И он предлагает их удалить командой aptitude remove -f. "Ничего не поделать." - говорит. Обычно их небольшой и короткий список появляется в выводе ошибки. И тогда, наверняка, вдруг запляшут облака все можно повторить и добиться успеха. Чего всем и желаю!