Проблема при попытке заменить Ubuntu на Mint

Проблема при попытке заменить Ubuntu на Mint

Я пробовал заменить Ubuntu на Linux Mint. Я создал файл (installed.list) с помощью apt list --installed > installed.list. Он создал файл с установленными пакетами. После этого я установил linux Mint вместе с Ubuntu. Затем я скопировал/домпапку (включая dotfiles) в Mint. Я попробовал установить пакеты снова из installed.listфайла с помощью sudo apt install $(cut -d'/' -f1 installed.list). Я получаю эту ошибку E: Unable to locate packageи ее имя для каждого пакета, который я пытаюсь установить.

Выход:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package snapd is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package libgc1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  libgc1c2:i386 libgc1c2

Package virtualbox-6.1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Unable to locate package Listing...
E: Unable to locate package 4kvideodownloader
E: Unable to locate package bsdextrautils
E: Unable to locate package code
E: Unable to locate package jdk-16
E: Unable to locate package libcdio19
E: Unable to locate package libdav1d4
E: Unable to locate package libdav1d4
E: Unable to locate package libdns-export1110
E: Unable to locate package libdvdread8
E: Unable to locate package libebml5
E: Unable to locate package libedataserver-1.2-25
E: Unable to locate package libffi8ubuntu1
E: Unable to locate package libffi8ubuntu1
E: Unable to locate package libfm-qt7
E: Package 'libgc1' has no installation candidate
E: Unable to locate package libgnustep-base1.27
E: Unable to locate package libgpaste13
E: Unable to locate package libhandy-1-0
E: Unable to locate package libhfstospell11
E: Unable to locate package libhogweed6
E: Unable to locate package libhogweed6
E: Unable to locate package libicu67
E: Unable to locate package libicu67
E: Unable to locate package libilmbase25
E: Unable to locate package libjson-c5
E: Unable to locate package liblibreoffice-java
E: Unable to locate package libmatroska7
E: Unable to locate package libmetacity3
E: Unable to locate package libmetrics-any-perl
E: Unable to locate package libmutter-7-0
E: Unable to locate package libnettle8
E: Unable to locate package libnettle8
E: Unable to locate package libnma-common
E: Unable to locate package libnsl-dev
E: Unable to locate package libnsl2
E: Unable to locate package libnsl2
E: Unable to locate package libnss-nis
E: Unable to locate package libnss-nis
E: Unable to locate package libnss-nisplus
E: Unable to locate package libnss-nisplus
E: Unable to locate package libopenexr25
E: Unable to locate package liborcus-parser-0.15-0
E: Unable to locate package libplacebo72
E: Unable to locate package libpoppler102
E: Unable to locate package libpoppler102
E: Unable to locate package libprotobuf-lite23
E: Unable to locate package libprotobuf23
E: Unable to locate package libqpdf28
E: Unable to locate package libqt5qmlmodels5
E: Unable to locate package libqt5qmlworkerscript5
E: Unable to locate package libreoffice-style-yaru
E: Unable to locate package libsrt1-gnutls
E: Unable to locate package libtepl-5-0
E: Unable to locate package libtest-metrics-any-perl
E: Unable to locate package libx264-160
E: Unable to locate package libx264-160
E: Unable to locate package libx265-192
E: Unable to locate package libx265-192
E: Unable to locate package libx86emu3
E: Unable to locate package linux-headers-5.8.0-50
E: Unable to locate package linux-headers-5.8.0-53
E: Unable to locate package microsoft-edge-beta
E: Unable to locate package rpcsvc-proto
E: Package 'snapd' has no installation candidate
E: Unable to locate package ubuntu-wallpapers-groovy
E: Package 'virtualbox-6.1' has no installation candidate
E: Unable to locate package vivaldi-stable
E: Unable to locate package wps-office
E: Unable to locate package zoom

установленный.список:

Listing...
4kvideodownloader/now 4.15-1 amd64 [installed,local]
a11y-profile-manager-indicator/groovy,now 0.1.11-0ubuntu4 amd64 [installed,automatic]
accountsservice-ubuntu-schemas/groovy,groovy,now 0.0.7+17.10.20170922-0ubuntu1 all [installed,automatic]
accountsservice/groovy-updates,groovy-security,now 0.6.55-0ubuntu13.2 amd64 [installed,automatic]
acl/groovy,now 2.2.53-8 amd64 [installed,automatic]
acpi-support/groovy,now 0.143 amd64 [installed,automatic]
acpid/groovy,now 1:2.0.32-1ubuntu1 amd64 [installed,automatic]
activity-log-manager/groovy,now 0.9.7-0ubuntu27 amd64 [installed,automatic]
adcli/groovy-updates,groovy-security,now 0.9.0-1ubuntu1.2 amd64 [installed,automatic]
adduser/groovy,groovy,now 3.118ubuntu2 all [installed,automatic]
adium-theme-ubuntu/groovy,groovy,now 0.3.4-0ubuntu4 all [installed,automatic]
adwaita-icon-theme/groovy,groovy,now 3.38.0-1ubuntu1 all [installed,automatic]
aisleriot/groovy,now 1:3.22.9-1 amd64 [installed,automatic]
alsa-base/groovy,groovy,now 1.0.25+dfsg-0ubuntu5 all [installed,automatic]
alsa-topology-conf/groovy,groovy,now 1.2.3-1 all [installed,automatic]
alsa-ucm-conf/groovy-updates,groovy-updates,now 1.2.2-1ubuntu5.2 all [installed,automatic]
alsa-utils/groovy,now 1.2.3-1ubuntu1 amd64 [installed,automatic]
amd64-microcode/groovy,now 3.20191218.1ubuntu1 amd64 [installed,automatic]
anacron/groovy,now 2.3-29 amd64 [installed,automatic]
apg/groovy,now 2.2.3.dfsg.1-5 amd64 [installed,automatic]
app-install-data-partner/groovy,groovy,now 19.04 all 

ПРИМЕЧАНИЕ: их больше, но это почти 220 000 символов.

Оригинальный постздесь.

решение1

Чтобы сократить список недоступных пакетов, необходимо включить universe. например: jdk-16доступен из universeрепозитория:

sudo apt-add-repository universe
sudo apt update

Многие пакеты невозможно установить в Linux Mint, поскольку они доступны только в Ubuntu Groovy и выше, а ваш выпуск Linux Mint основан на Ubuntu Focal.

решение2

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

dpkg -l | awk '$2 !~ /^lib|zoom|microsoft/ {print $2}' > installed.txt

Эта команда использует dpkg -l [list packages], затем берет все элементы, находящиеся во втором столбце и не начинающиеся с lib или не содержащие zoom или microsoft, и выводит их.

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

Обратите внимание, что если что-то не изменилось в apt, apt install сопоставляется с apt-get install, и если вы попытаетесь установить список пакетов, где не все могут быть установлены, это не сработает и просто завершится, потому что не удалось. Сбой происходит, если что-либо в списке не присутствует в качестве пакета в пуле, который вы используете.

Раньше, когда я делал что-то подобное, я проходил по списку и устанавливал каждый пакет в списке с помощью apt-get, чтобы избежать этой проблемы.

for item in $(cat installed.txt);do apt-get --no-install-recommends install $item;done

Вы можете принудительно принять все пакеты и не спрашивать с помощью опции -y, но это плохая идея, поскольку вы хотите контролировать, что именно будет установлено. По сути, вы просто нажимаете Enter каждый раз, когда он спрашивает, хотите ли вы установить дополнительные зависимости, просмотр списка не занимает много времени.

Обратите внимание, что вы хотите отключить install recommends с помощью --no-install-recommends, иначе у вас получится ужасный беспорядок. Я всегда отключаю его в конфигурациях /etc/apt, но это выходит за рамки вашего вопроса.

Также полезно знать, что apt будет сам отслеживать пакеты, которые он вытащил как зависимости при установке другого пакета, и когда они заменяются во время обновления более новыми версиями, эти устаревшие пакеты — это то, что apt-get remove удалит для очистки системы. Если вы устанавливаете определенные пронумерованные версии библиотек напрямую с помощью apt-get install, даже если они присутствуют в пуле, apt может не предложить удалить их, когда они будут заменены более новыми версиями. Это может привести к загромождению системы.

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

Обратите внимание, что вы можете приблизительно оценить, насколько плохо это для вас обернется, по следующим показателям:

inxi -r

который выведет список ваших текущих репозиториев, чем больше у вас PPA, тем хуже будет. Ноль PPA — это идеальное число, но если у вас их много, то это будет просто беспорядок, но команда loop install позволит избежать большинства худших частей.

Я на самом деле не использую Mint, поэтому не помню, как они делают PPA, но это почти наверняка приведет к сбою, поскольку Ubuntu и Mint НЕсовместимы, они используют много общих пакетов в версии Ubuntu, из которой был извлечен Mint, и в той Mint, которую вы устанавливаете, но вы будете продолжать получать сбои, пока не выполните циклическую установку пакетов.

Связанный контент