sources.listには実際に重複したエントリがあります。
最初に、リポジトリ行またはソース行の正しい形式を見てみましょう。
リポジトリのソース行の正しい形式は
<type of repository> <location> <dist-name> <components>
たとえば、レポ行は次のようになります
deb http://archive.ubuntu.com/ubuntu precise main
ここでは、リポジトリはhttp://archive.ubuntu.com/ubuntuでホストされているバイナリパッケージ用であり、このリポジトリはUbuntu正確(12.04)用であり、このリポジトリにはメイン(公式にサポートされているソフトウェアCanonical)コンポーネント。
タイプ:タイプはdeb
およびになりdeb-src
ます。ソースリポジトリをdeb
意味するバイナリリポジトリをdeb-src
意味します
場所: http://archive.ubuntu.com/ubuntu
リポジトリの場所。
Dist-name: Ubuntuリリースのディストリビューション名。Ubuntu 12.04の場合はprecise
11.11の場合ですoneiric
。
Ubuntu Wikiにアクセスして、Ubuntuリリースとそのコード名の最新リストを表示できます。
コンポーネント:それはすることができmain
、universe
、multiverse
とrestricted
。これらの言葉は、パッケージのサポートレベルとライセンスステータスを示します。
詳細については、このページを参照してください。
行に1つ以上のコンポーネントを追加できるため、「main」、「universe」、「restricted」、および「multiverse」を1行に追加できることに注意してください。また、1行に複数のコンポーネントを追加しますが、APTシステムはそれらを1つのコンポーネントのみを含む個別の行と見なします。
だから、あなたsources.list
はこのような行を持っている場合
deb http://archive.ubuntu.com/ubuntu precise universe
次に、以下のような別の行を含めることはできません(ファイルにあります)
deb http://archive.ubuntu.com/ubuntu precise main universe
これはこれらの2行に相当します
deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe
ユニバースを 2回複製しているため、その複製にはエラーが発生するためです。見つかった重複ごとにエラーが表示されます。
解決:
sources.list
ファイルを分析した結果、デフォルトでUbuntuから提供されている基本的なファイルであることがわかりました。手順に従ってデフォルトのファイルを作成できます。
ターミナルを開き、最初に既存のsources.list
ファイルの名前をsources.list.bak
fileに変更します。(これは安全に削除できますが、注意が必要です)。
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
次に、開いsoftware-properties-gtk
て新しいものを作成します。ターミナルまたはダッシュコマンドプロンプトで次のコマンドを入力しますAlt+F2
software-properties-gtk
注、Ubuntuバージョン11.10 gksu
以前では、software-properties-gtk
コマンドの前に使用する必要があります
ウィンドウが開いたら、
- Ubuntuソフトウェアタブで4つのカテゴリすべてを選択します
- 選択し 、正確なセキュリティ、精密・アップデートおよび精密-backportsの内のカテゴリ更新 ]タブを。
- [ その他のソフトウェア ]タブから[ 標準パートナー]および[ 独立カテゴリ]を選択します。
それでおしまい。これで、sources.list
エラーのないデフォルトのファイルができました。必要に応じて、このファイルを前のファイルと比較します。
sources.list.d
dirのファイルを処理するための更新
/etc/apt/sources.list.d
APTでも使用されるディレクトリ内のファイルに重複エントリが存在する場合があります。そのため、そのディレクトリを見て、それらのファイルに重複があるかどうかを確認する必要があります。重複が同じファイルにある必要はありません。
事例:
ユーザーは、実行中にこのエラーメッセージを表示しましたsudo apt-get update
。
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main i386 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
ただしhttp://dl.google.com
、メイン/etc/apt/sources.list
ファイルにはエントリがありません。/etc/apt/sources.list.d/
ディレクトリを見ると、これらのファイルが見つかりました。
の出力ls /etc/apt/sources.list.d/
:
aims-sagemath-precise.list
aims-sagemath-precise.list.save
dropbox.list
dropbox.list.save
fossfreedom-packagefixes-precise.list
fossfreedom-packagefixes-precise.list.save
google-chrome.list
google-chrome.list.save
google.list
google.list.save
sagemath-monolithic-precise.list
sagemath-monolithic-precise.list.save
これらのファイルはgoogle-chrome.list
、google.list
重複を含めるのに適した候補でした。そのため、両方のファイルの内容を確認する必要がありました。
の出力cat /etc/apt/sources.list.d/google-chrome.list
:
deb http://dl.google.com/linux/chrome/deb/ stable main
との cat /etc/apt/sources.list.d/google.list
deb http://dl.google.com/linux/chrome/deb/ stable main
そのため、Aptのソースに重複したエントリがありました。以来google-chrome.list
、単一のaptラインを含み、それはまたにリストされたgoogle.list
ファイルを、私たちは安全にコマンドを使用して、このファイルを削除することができます
sudo rm /etc/apt/sources.list.d/google-chrome.list
その後、問題は解決しました。