Sudo apt-get update
を実行しようとすると、常にこの警告が表示されます。
W: Duplicate sources.list entry http://archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise-updates_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
以下は、/etc/apt/sources.list
ファイルからの出力です。
deb http://archive.ubuntu.com/ubuntu precise main restricted
deb-src http://archive.ubuntu.com/ubuntu precise main restricted
deb http://archive.ubuntu.com/ubuntu precise-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted
deb http://archive.ubuntu.com/ubuntu precise universe
deb-src http://archive.ubuntu.com/ubuntu precise universe
deb http://archive.ubuntu.com/ubuntu precise-updates universe
deb-src http://archive.ubuntu.com/ubuntu precise-updates universe
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb-src http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb http://archive.ubuntu.com/ubuntu precise-security main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted
deb http://archive.ubuntu.com/ubuntu precise-security universe
deb-src http://archive.ubuntu.com/ubuntu precise-security universe
deb http://archive.ubuntu.com/ubuntu precise-security multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-security multiverse
どうすれば修正できますか?
sources.listには実際に重複したエントリがあります。
最初に、リポジトリ行またはソース行の正しい形式を見てみましょう。
リポジトリのソース行の正しい形式は
<type of repository> <location> <dist-name> <components>
たとえば、レポ行は次のようになります
deb http://archive.ubuntu.com/ubuntu precise main
ここでは、リポジトリは http://archive.ubuntu.com/ubunt でホストされているバイナリパッケージ用であり、このリポジトリはUbuntu正確(12.04)用であり、このリポジトリにはメインが含まれています(Canonicalによって公式にサポートされているソフトウェア)コンポーネント。
タイプ:タイプには、deb
およびdeb-src
を指定できます。 deb
はバイナリリポジトリを意味し、deb-src
はソースリポジトリを意味します
場所:http://archive.ubuntu.com/ubuntu
リポジトリの場所。
Dist-name: Ubuntuリリースのディストリビューション名。 Ubuntu 12.04の場合はprecise
、11.10の場合はoneiric
です。
Ubuntu Wikiにアクセスして、更新された buntuリリースとそのコード名のリスト を確認できます。
コンポーネント: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
なぜなら、universeを2回複製しているため、その複製にはエラーが発生するからです。見つかった重複ごとにエラーが表示されます。
sources.list
ファイルを分析したところ、デフォルトでUbuntuによって提供される基本的なものであることがわかりました。手順に従ってデフォルトのファイルを作成できます。
ターミナルを開き、最初に既存のsources.list
ファイルの名前をsources.list.bak
ファイルに変更します。 (これは安全に削除できますが、注意が必要です)。
Sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
次に、software-properties-gtk
を開いて新しいものを作成します。ターミナルまたはダッシュコマンドで次のコマンドを入力します Alt+F2
software-properties-gtk
Ubuntuバージョン11.10以前では、software-properties-gtk
コマンドの前にgksu
を使用する必要があります。
ウィンドウが開いたら、
それでおしまい。これで、デフォルトのsources.list
ファイルがエラーなしで作成されました。必要に応じて、このファイルを前のファイルと比較します。
sources.list.d
dirのファイルを処理するための更新APTでも使用される/etc/apt/sources.list.d
ディレクトリ内のファイルに重複エントリが存在する場合があります。そのため、そのディレクトリを見て、それらのファイルに重複があるかどうかを確認する必要があります。重複が同じファイルにある必要はありません。
ユーザーは、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
には1つのapt行しか含まれておらず、google.list
ファイルにもリストされているため、コマンドでこのファイルを安全に削除できます。
Sudo rm /etc/apt/sources.list.d/google-chrome.list
その後、問題は解決しました。
buntu 12.04の場合
グラフィカルに:
押す Alt + F2 software-properties-gtk
を貼り付けます(または[ソフトウェアセンター]を開いて[編集]> [ソフトウェアソース]に移動します)。 [その他のソフトウェア]タブに移動し、重複するエントリを選択して[削除]ボタンを押します。
コマンドラインオプションが必要な場合は、次のとおりです。
cat /etc/apt/sources.list | Perl -ne '$H{$_}++ or print' > /tmp/sources.list && Sudo mv /tmp/sources.list /etc/apt/sources.list
コマンドはこれを行います:
cat
はファイルを読み取り、その内容をPerl
に渡します。これにより、重複する行が削除されます。その後、結果は一時ファイルに>
保存され、元の/etc/apt/sources.list
ファイルを置き換えるために移動されます。
どれほど悪いのかわかりませんが、Sudo apt-get update重複したエントリを表示するのは好きではありません。
ちなみに、それほど悪くはなく、重複したエントリがあることを示しています。
Sources.listファイルは、Ubuntuインストールにアプリケーションを追加またはアップグレードする際の重要な要素です。これは、システムの更新のためにシステムでも使用されます。このファイルは、基本的にシステムがインストールまたはアップグレードのためにプログラムをダウンロードする場所を知るためのロードマップです。
まさにWindowsアップデート
Y PPA Managerを使用すると、いくつかの簡単な手順で重複したエントリを削除できます。
Sudo add-apt-repository ppa:webupd8team/y-ppa-manager -y
Sudo apt-get update
Sudo apt-get install y-ppa-manager -y
開くy-ppa-managerフォームダッシュ
管理者パスワードを入力してください
高度なダブルクリック
重複したPPAをスキャンして削除し、[OK]をクリックします
重複したPPAをスキャンして削除するには、しばらく時間がかかります(1または2分)
パートナーリポジトリは、/etc/apt/sources.list
および/etc/apt/sources.list.d/precise-partner.list
内で複製されます。
パートナーリポジトリがsources.list
に既に存在するため、これらの「正確なパートナー」ファイルを削除してください。
Sudo rm /etc/apt/sources.list.d/precise-partner.*
Sources.listのバックアップコピーを作成します。
Sudo cp /etc/apt/sources.list{,.backup}
元のファイルを削除して更新します。
Sudo rm /etc/apt/sources.list && Sudo apt-get update
私は同じ問題を抱えていました、オープンソース。 「標準パートナー」のチェックを外しました。競合は「正規のパートナー」と「ソフトウェアセンターによって追加された正規のパートナー」の間にあります
source.list
でそれを理解できなかった場合は、次を実行します。
Sudo apt-get update
と入力するキー。アプリケーション> Ubuntuソフトウェアセンター>編集>ソフトウェアソース>その他のソフトウェア
OR
システム>管理> Synaptic Packet Manager>設定>リポジトリ
重複するエントリを選択して削除します。
/etc/apt/sources.list
ファイルに2つの同じ行があるように聞こえます。
ターミナルに移動してSudo editor /etc/apt/sources.list
と入力し、そのファイルで同一の行を探し、見つかった場合は削除します。完了したら、保存して終了し、Sudo apt-get update
を実行して問題を解決します。
それでも問題が解決しない場合は、試行錯誤のアプローチを使用する必要があります。最初にsources.list
ファイルのバックアップを作成し、次に実際のファイルで各行をコメントアウトまたは削除し、各行をコメントアウトまたは削除した後にapt-get update
- ingを保存します。このファイルを1行ずつコメントアウトして、異なる行をコメントアウトすると、最終的にどの行が余分な行かがわかります。 apt-get update
が引き続き同じプロンプトを表示する場合は、コメントした行のコメントを外すことを忘れないでください。そうしないと、sources.list
ファイルにソースが残りません。
そのようなツールを検索しましたが、見つかりませんでした...
それで、私はPHP
で自分でコーディングすることになりました。
汚い未整理のソースコードでごめんなさい。
ムバラク・アラシディ(DeaDSouL)
Sudo apt-get install php5 php5-cli
と入力します。Sudo sh install.sh
。Sudo sh uninstall.sh
。ターミナルを開いてSudo chkdup
と入力するだけです。
install.shは何をしますか?
chkdup.php
を/opt/
に移動し、/usr/bin/
にシンボリックリンクを作成します。uninstall.shはどうですか?
アンインストーラーは、次のファイルを削除します。
install.sh
/opt/chkdup.php
/usr/bin/chkdup
uninstall.sh
chkdupを使用しても安全ですか?
GNU General Public License
ls /etc/apt/sources.list.d/
を確認しましたか?たぶん、あなたはそこにいくつかの「余分な」リポジトリを持っていますか?
Ubuntu-Tweakをインストールして、そこから重複したエントリを削除します。
Sudo add-apt-repository ppa:tualatrix/ppa
Sudo apt-get update
Sudo apt-get install ubuntu-Tweak
buntu Sources List Generator を使用します。
Sudo -H nautilus
を実行します/etc/apt/sources.list
を検索sources.list
にコピーして貼り付けて保存します。Googleには問題があるようですので、それを省くことをお勧めします。これをUbuntu 12.10(Ubuntuデスクトップが追加されたスタジオバージョンと別のデスクトップサインイン用のUnityバージョン)で行いました。
ターミナルを使用して他のユーザーから提供された可能性を完了しようとします。それは主にあなたが尋ねたことだからです
テキストベースのインストールを使用している場合、または押す場合はログインします Alt+F2 GUIを使用している場合はgnome-terminalと入力します
次に入力
Sudo nano /etc/apt/sources.list
(理解を深めるために:/etc
ディレクトリには(ほぼ)コンピュータのすべての構成ファイルがあり、apt
ディレクトリにはsouces.list
ファイルがあり、APTソフトウェアの更新またはインストールおよびアップグレードに使用)
ファイルを編集して、重複する行の行の先頭で#
を削除またはコメント化します。
押す Ctrl+X 終了して押す y ファイルを保存する(または n 保存せずに終了します)。
次に、更新して修正したかどうかを確認します。
Sudo apt-get update
楽しんで!
いいえ、/etc/apt/sources.list
ファイル内の重複したエントリを見つけて削除するための単一のコマンドラインはありません。
これは、はるかに単純な組み込みuniq
コマンドの機能を単に複製する推奨コマンドラインがSORTEDファイルでのみ機能し、ADJACENTラインのみを削除するためです。さらに、これらのコマンドは、同一の文字列で構成される行のみを削除します。
apt-get update
によって報告される重複エントリは、そのi386
およびAMD64
バリアントの両方に含まれるリポジトリなど、重複したfunctionエントリで構成されます。これらを削除する簡単で効果的な方法は、apt-get updateによって重複として報告されるリポジトリをメモし、Software Centerを使用して削除することです。開いて、編集-> ソフトウェアソース-> その他のソフトウェアタブを選択します。重複するエントリを探して、チェックを外してください。 (これは、パッケージをコンパイルしていない場合にsource-code
リポジトリーを削除する機会でもあります)。
ただし、apt-get update
はsources.list
を介して重複するエントリを検出するだけでなく、/var/lib/apt/lists/
にあるリポジトリファイルも含むことに注意してください。そこから重複したエントリを削除しても、ファイルが自動的に再インストールされるため、Ubuntuが必要と判断した場合にapt-get update
エラーメッセージを一時的に削除するだけです。 apt-get update
が一部のリポジトリを重複として報告し、apt-get update
自体を実行してそれらを修復することを提案するという事実は、そのエラーメッセージを心配する必要がないという手がかりです。
/etc/apt/sources.list
を手動でSudo nano /etc/apt/sources.list
経由して、重複を削除しました。 apt-get update
の後、問題は解決しました。
まあ、私は/etc/apt/sources.d
(rootとして)の名前を別の名前に変更し、Sudo apt-get update
を実行してディレクトリとその内容を再確立することで、重複エントリの問題を自分で解決しました。
私の場合、重複はprerequists-sources.list
ファイルにありました。ターミナルで次のコマンドを実行して、アップグレードを続行できました。
Sudo mv /etc/apt/sources.list.d/prerequists-sources.list /tmp
Sudo apt-get update
次に、Update Manager
に移動して、更新をインストールします。
/etc/apt/sources.list
で、重複するリポジトリエントリにコメントを付け(行の先頭に#
を追加)、変更を保存する必要があります。その後、Sudo apt-get update
を繰り返します。
ファイル/etc/apt/sources.list
を編集して(たとえば、Sudo -H gedit /etc/apt/sources.list
を使用)、重複行を削除するか、行の先頭に#
を挿入します。
重複する行を省略して一意のエントリのみを出力するuniq
に適したジョブです。したがって、uniq
の出力を取得し、古いファイルをuniq
の出力に置き換えることができます。
sort /etc/apt/sources.list | uniq > /tmp/sources && Sudo mv /tmp/sources /etc/apt/sources.list
S="/etc/apt/sources.list" ;
S2="$S ${S}.d/*.list" ;
grep -b "^deb\`cat $S2 |
grep -i "^deb[[:space:]]http" |
sort |
uniq -dc |
sed -e 's;[[:space:]]\\+[[:digit:]]\\+[[:space:]]\\+deb\\(.\\+$\\);\\1;g'\`$" $S2
*読みやすくするために改行が挿入されています。
以下を実行して重複を削除します
cat /etc/apt/sources.list | Perl -ne '$H{$_}++ or print' > /tmp/sources.list && Sudo mv /tmp/sources.list /etc/apt/sources.list
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)
の場合
開く:sources.list.d
rm google.list
google-chrome.list
のみが残ります