Ubuntu를 Mint로 교체하는 중에 문제가 발생했습니다.

Ubuntu를 Mint로 교체하는 중에 문제가 발생했습니다.

Ubuntu를 Linux Mint로 교체해 보았습니다. 을 사용하여 파일(installed.list)을 만들었습니다 apt list --installed > installed.list. 설치된 패키지로 파일을 생성했습니다. 그 후 Ubuntu와 함께 Linux Mint를 설치했습니다. 그런 다음/집폴더(점 파일 포함)를 Mint로 복사합니다. installed.list.dll을 사용하여 파일 에서 패키지를 다시 설치해 보았습니다 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. e,g: 저장소 jdk-16에서 사용 가능 :universe

sudo apt-add-repository universe
sudo apt update

많은 패키지는 Ubuntu Groovy 이상에서만 사용할 수 있고 Linux Mint 릴리스는 Ubuntu Focal을 기반으로 하기 때문에 Linux Mint에 설치할 수 없습니다.

답변2

너무 많은 단계를 건너뛰고 있습니다. 먼저 몇 가지 예외를 제외하고 모든 lib 파일을 필터링합니다. 이러한 파일은 다른 패키지의 종속성이므로 기본 패키지가 설치될 때 적절한 버전이 가져옵니다.

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

이 명령은 dpkg -l [list packages]를 사용한 다음 두 번째 열에 있고 lib로 시작하지 않거나 Zoom 또는 microsoft를 포함하지 않는 모든 항목을 가져와서 인쇄합니다.

그런 다음 해당 목록을 수동으로 스캔하고 우분투 배경화면과 같이 명확하게 우분투 특정 패키지를 제거할 수 있습니다.

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 키를 누르면 목록을 살펴보는 데 그리 오랜 시간이 걸리지 않습니다.

--no-install-recommends를 사용하여 설치 권장을 비활성화하고 싶거나 끔찍한 혼란에 빠지게 됩니다. /etc/apt 구성에서는 항상 비활성화하지만 이는 귀하의 질문 범위를 벗어납니다.

또한 apt는 다른 패키지를 설치할 때 종속성으로 가져온 패키지를 자체적으로 추적하며 최신 버전으로 업그레이드하는 동안 해당 패키지가 교체되면 이제 사용되지 않는 패키지는 apt-get 제거가 시스템을 정리하기 위해 제거됩니다. . apt-get install을 사용하여 특정 번호의 라이브러리 버전을 직접 설치하는 경우 해당 라이브러리 버전이 풀에 있더라도 apt는 최신 버전으로 교체될 때 이를 제거하지 않을 수 있습니다. 이로 인해 시스템이 복잡해질 수 있습니다.

Mint는 일반적으로 오래된 패키지를 가지고 있으므로 두 패키지 풀이 실제로 일치할 것이라고 기대할 수는 없지만 최신 버전은 1~2년 후만큼 오래되지는 않습니다.

다음을 통해 이것이 얼마나 나쁜지 대략적으로 알 수 있습니다.

inxi -r

현재 리포지토리를 나열합니다. PPA가 많을수록 상황은 더 나빠질 것입니다. PPA가 0인 것이 이상적인 숫자이지만 많으면 지저분해질 뿐이지만 루프 설치 명령을 사용하면 최악의 부분은 대부분 피할 수 있습니다.

저는 Mint를 실제로 사용하지 않아서 PPA를 어떻게 수행하는지 기억이 나지 않지만 우분투와 mint는 호환되지 않기 때문에 실패할 것이 거의 확실합니다. 그들은 Mint를 가져온 Ubuntu 버전과 설치 중인 Mint 간에 많은 패키지를 공유합니다. , 그러나 루프 패키지 설치를 수행할 때까지 계속 오류가 발생합니다.

관련 정보