GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuおよびDebianベースのLinuxディストリビューションでの「ターゲットパッケージが複数回構成されている」エラーの修正

最近、コマンドラインからUbuntuを更新しているときに、ターゲットパッケージが複数回構成されているという警告が表示されました。

sudoaptupdateコマンドを実行した後の正確なメッセージは次のようになりました。

6秒で324kBを取得(50.6 kB / s)
パッケージリストを読む…完了
依存関係ツリーの構築…完了
状態情報の読み取り…完了
17個のパッケージをアップグレードできます。 「aptlist–upgradable」を実行してそれらを表示します。
W:ターゲットパッケージ(main / binary-amd64 / Packages)は、/ etc / apt / sources.list.d / microsoft-edge-dev.list:3および/etc/apt/sources.list.d/で複数回構成されています。 microsoft-edge.list:3

aptパッケージマネージャーについていくつか知っているので、すでに問題を確認できます。

つまりね。ソースのリストにリポジトリが2回追加されました。これは、同じファイルまたは別々のファイルで発生する可能性があります。

修正は、エラーメッセージ(実際には警告)を正しく読み取り、ファイルを編集して重複行を削除(またはコメントアウト)することです。ファイル名と行番号の両方が記載されていることがわかります。

したがって、ここで私の場合、ファイルの1つの3行目を削除すると、警告が表示されなくなりました。要約すると、次のことを行う必要があります。

  • エラーメッセージを読み、同じエントリを持つファイルの行番号を確認します。
  • Nanoなどのターミナルベースのテキストエディタを使用して、ファイルの1つを編集し、重複する行を削除またはコメントします。
  • このソリューションでは、基本的なLinuxコマンドに精通している(そして快適である)必要がある場合があります。

しかし、UbuntuとDebianのパッケージ管理に慣れていない場合は、説明が短すぎます。

複数回構成されたパッケージの問題を理解して修正する

問題を修正するには、問題を理解することが重要です。それをなくすための単一のコマンドがないからです。このソリューションには少しだけの努力が必要ですが、正確なコマンド/プロセスは人によって異なる場合があります。

この問題の原因は何ですか?

警告メッセージを読むと、少なくとも何かが複数回構成されていると推測できます。

APTパッケージ管理はsources.listで機能します。これは、特定のパッケージをダウンロードできるリポジトリに関する情報を含む単なるテキストファイルです。

Ubuntuが提供する公式リポジトリの詳細を含むメインの/etc/apt/sources.listファイルがあります。次に、追加の外部リポジトリ用のファイルを含む/etc/apt/sources.list.dディレクトリがあります。

通常は、メインの/etc/apt/sources.listファイルには触れないでください。追加する追加のリポジトリ用に、/ etc / apt/sources.list.dに新しいファイルを追加します。

この問題は、インターネットからさまざまなチュートリアルを読んでソフトウェアをインストールしようとしたときに発生します。外部リポジトリを追加しようとしましたが、好みに合わないのです。他のチュートリアルから他のリポジトリを追加しようとすると、気付かないうちにエントリが重複してしまいます。

明確にするために、これはエラーではありません。 ソースリストに重複するエントリがある場合でも、システムはそこからパッケージをダウンロードします。システムが通常どおり機能するのを妨げることはありません。これが、エラーではなく警告メッセージである理由です。 。リポジトリが1回だけ追加されることを期待しているだけです。

重複するリポジトリエントリの修正

この問題を解決するには、重複するエントリをすべて削除し、そのうちの1つだけをシステムに残す必要があります。

これは、特に初心者にとっては、口で言うほど簡単ではありません。それに関するいくつかのヒントと提案を共有させてください。

方法1:Ubuntuデスクトップユーザーの場合

UbuntuにはSoftware&Updatesというアプリケーションがあります。このアプリケーションを起動します。

その他のソフトウェアに移動します タブをクリックして、システムに追加された追加のリポジトリを確認します。チェックされたものはアクティブです。

チェックしたものをすべて調べて、重複するエントリを見つけることができるかどうかを確認できます。はいの場合は、そのうちの1つを選択して、削除ボタンを押します。

updateコマンドを再度実行して、問題が修正されたかどうかを確認できます。あまり便利ではないことは承知していますが、GUIツールの利便性が必要な場合は、これを行う必要があります。

重複するエントリを見つけることができない場合は、次のセクションで説明するように、探偵であり、エラーメッセージから調査する必要があります。

方法2:コマンドラインを使用して重複エントリを削除します(重複エラーが/etc/apt/sources.listファイルにない場合)

/etc/aptsources.list(システムのメインソースファイル)と/etc/apt/sources.list.d(追加のリポジトリ用にファイルを保持するフォルダ)の違いに注意してください。

エラーが/etc/apt/sources.list.dフォルダの下のファイルに繰り返されるエントリについて文句を言う場合 、この方法を使用してください。

私の例でそれをお見せします。独自のエラーメッセージに詳細を記載した方法に従ってください。

W:ターゲットパッケージ(main / binary-amd64 / Packages)は、/ etc / apt / sources.list.d / microsoft-edge-dev.list:3および/etc/apt/sources.listで複数回構成されています.d / microsoft-edge.list:3

上記のエラーメッセージでは、ファイル/etc/apt/sources.list.d/microsoft-edge-dev.listの行番号3がファイル/etc/apt/sourcesの行番号3と同じであることが示されています。 .list.d/microsoft-edge.list。

これは、MicrosoftEdgeブラウザのベータ版がインストールされていたために発生しました。安定版がリリースされたときに、debファイルからインストールし、別のエントリを追加しました。

私にとっての決定は簡単です。ファイルの1つを削除することができ、重複したエントリについて文句を言うことはありません。 Linuxコマンドラインに精通している場合は、ファイルのフルパスを取得し、sudoでrmコマンドを使用してファイルを削除できます。

しかし、Linuxターミナルについてよくわからない場合は、より安全なアプローチがあります。それは、繰り返される行をコメントアウトすることです。

ターミナルで、トラブルファイルの1つのフルパスをコピーします。私にとっては、/etc/apt/sources.list.d/microsoft-edge-dev.listです。このsudogeditコマンドを次のように使用します:

sudo gedit /etc/apt/sources.list.d/microsoft-edge-dev.list

グラフィカルテキストエディタでファイルが開き、システムが文句を言っていた行番号に移動して、行の先頭に#を追加できます:

これにより、その行がコメントとして扱われます。ファイルを保存して、エディターを閉じます。問題は今すぐ停止するはずです。

方法(またはユースケース)3:1つのファイルが/etc/apt/sources.listからのもので、もう1つのファイルが/etc/apt/sources.list.dディレクトリからのものである場合

アイデアは、メインの/etc/apt/sources.listファイルに触れないようにすることです。

したがって、このファイルと/etc/apt/sources.list.dディレクトリにある他のファイルに重複する行がある場合は、/ etc / apt/sources.list.dフォルダにあるファイルを編集する必要があります。

前の方法で見たのと同じ方法で、パスをコピーしてsudogeditで開きます。

方法(またはユースケース)4:すべての重複エントリが/etc/apt/sources.listファイル自体にある場合

メインの/etc/apt/sources.listファイルに複数のエントリを追加した可能性があります。あなたは持っているべきではありませんが、あなたは物事に精通していないので、あなたはそれをしました。同じファイル内のエントリの重複について文句を言うようになりました。

W:ターゲットパッケージ(universe / binary-amd64 / Packages)は/etc/apt/sources.list:16および/etc/apt/sources.list:53で複数回構成されています

ここで最初に行うことは、次のコマンドを使用してこのファイルのバックアップを作成することです。

sudo cp /etc/apt/sources.list /etc/apt/sources.list.back

次に、Geditテキストエディタとsudoでファイルを開きます:

sudo gedit /etc/apt/sources.list

必要に応じて、Geditの[設定]に移動して行番号を表示できます。行番号が見やすくなります。

ここで、エラーメッセージをもう一度見て、どの行について文句を言っているかを確認します。それらの行の1つに移動し、その前に#を追加するか、その行を完全に削除します。

ファイルを保存して、エディターを閉じます。それだけです。

役に立ちましたか?

もっと複雑にしたかどうかはわかりません。初心者がシステムを台無しにすることなく問題を特別に修正できるように、詳細に説明したかったのです。

それがあなたのために働いたかどうか私に知らせてください。それでも質問がある場合は、コメントセクションでお気軽にお問い合わせください。



Ubuntu
  1. UbuntuおよびDebianベースのLinuxディストリビューションでの「ターゲットパッケージが複数回構成されている」エラーの修正

  2. 「dpkgフロントエンドロックを取得できません。あなたは根っこですか?」 Ubuntuおよびその他のLinuxディストリビューションでのエラー

  3. UbuntuとDebianにインストールされているリポジトリを一覧表示する方法

  1. Debian /UbuntuLinuxシステムにインストールされているすべてまたは特定のパッケージを一覧表示する方法

  2. Ubuntu 20.04 / LinuxMint / Debian LinuxディストリビューションにPeaZipアーカイブをインストールします-ステップバイステップガイド?

  3. Ubuntu、Debian、または Linux Mint でリポジトリ内のすべてのパッケージを一覧表示する方法 [APT]

  1. Ubuntuおよびその他のLinuxディストリビューションでスナップパッケージを使用するための完全ガイド

  2. Ubuntu20.04にインストールされているパッケージを一覧表示する方法

  3. Ubuntuにインストールされているパッケージを一覧表示する方法