Ubuntu を Mint に置き換えようとすると問題が発生する

Ubuntu を Mint に置き換えようとすると問題が発生する

UbuntuをLinux Mintに置き換えてみました。 を使用してファイル(installed.list)を作成しました apt list --installed > installed.list。インストールされたパッケージを含むファイルが作成されました。その後、Ubuntuと一緒にLinux Mintをインストールしました。次に、/家installed.listフォルダー (ドットファイルを含む) を Mint にコピーしました。を使用して、ファイル からパッケージを再度インストールしようとしました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

多くのパッケージは Ubuntu Groovy 以降でのみ利用可能であり、Linux Mint リリースは Ubuntu Focal に基づいているため、Linux Mint にインストールできません。

答え2

スキップする手順が多すぎます。まず、いくつかの例外を除いてすべての lib ファイルを除外します。これらは別のパッケージの依存関係であり、メイン パッケージがインストールされると適切なバージョンが取り込まれます。

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

このコマンドは、dpkg -l [パッケージの一覧表示] を使用して、2 番目の列にあり、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 キーを押すだけで、リストを確認するのにそれほど時間はかかりません。

--no-install-recommends を使用してインストールの推奨を無効にする必要があることに注意してください。そうしないと、ひどい混乱に陥ります。私は /etc/apt 構成では常にこれを無効にしていますが、これは質問の範囲外です。

また、apt は別のパッケージをインストールするときに依存関係として取り込んだパッケージをそれ自体で追跡し、アップグレード中にそれらのパッケージが新しいバージョンに置き換えられると、それらの廃止されたパッケージは apt-get remove によってアンインストールされ、システムがクリーンアップされることに注意してください。apt-get install を使用して特定の番号付きライブラリ バージョンを直接インストールすると、それらがプールに存在していても、apt はそれらが新しいバージョンに置き換えられたときにそれらを削除することを提案しない場合があります。これにより、システムが乱雑になる可能性があります。

Mint には一般に古いパッケージがあるため、2 つのパッケージ プールが実際に一致することは期待できませんが、最新バージョンは 1 年か 2 年後ほど古くはありません。

これがどれほど悪い結果をもたらすかは、次の方法で大まかに判断できます。

inxi -r

現在のリポジトリを一覧表示すると、存在する PPA の数が多いほど、状況は悪化します。PPA が 0 個であることが理想的な数ですが、たくさんある場合は混乱が生じますが、loop install コマンドを使用すると、最悪の部分のほとんどを回避できます。

私は Mint をあまり使用していないので、PPA がどのように行われるかは覚えていませんが、Ubuntu と Mint には互換性がないため、失敗することはほぼ確実です。Mint が取得された Ubuntu バージョンと、インストールする Mint の間では多くのパッケージが共有されていますが、ループ パッケージ インストールを実行するまで失敗し続けます。

関連情報