エラー:: sources.listに「ソース」URIをいくつか追加する必要があります


107

私はubuntuにPIL Pythonモジュールをインストールしようとしています

最初に、次のコマンドを使用してpython-imagingというパッケージをインストールする必要があります

sudo apt-get build-dep python-imaging

私がこれをしようとすると、エラーが発生します

E: You must put some 'source' URIs in your sources.list

GUIで修正する方法を示すこの質問を見ましたが、コマンドラインを使用しています。誰も私がこのエラーを修正する方法を知っていますか?

更新:以下の回答に基づいて、パッケージリストを更新しましたが、このエラーが発生しました。それが関連しているかどうかはわかりませんが、そうでなければ、エラーへの参照がどこにも見つからないため、新しい質問を始めます。

E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements  

最初のエラーメッセージは非常にわかりにくいものです。ファイルにいくつかのソースがありますが、メッセージはソースがまったくないことを示していますが、表示されます。メッセージが言おうとしているのは、情報を含むソースを追加する必要があるということです。
ソーレン

回答:


100

software-properties-gtk オプション「ソースコード」

デスクトップにこれをお勧めします:

software-properties-gtk

次に、「Ubuntu Software」タブで「Source code」をクリックします。

ここに画像の説明を入力してください

これにより、deb-src/etc/apt/sources.listにいくつかの行が追加されましたsudo apt-get build-dep <package>

クリーンなCLIメソッドが見つからなかったため、このバグレポートを作成します:https : //bugs.launchpad.net/ubuntu/+source/apt/+bug/1802718

Ubuntu 16.04〜18.04でテスト済み。

CLIメソッド

Dockerイメージにはこれをお勧めします。

sudo cp /etc/apt/sources.list /etc/apt/sources.list~
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo apt-get update

Ubuntu 18.04 Dockerイメージでテスト済み。この変更の後、たとえば次のことを成功させることができます。

sudo apt-get build-dep hello

そして、変更前にエラーで失敗しました:

E: You must put some 'source' URIs in your sources.list

以前に言及された:https : //askubuntu.com/a/1011675/52975その答えに行き、賛成してください

ただし、/etc/apt/sources.listファイルには次のような行が含まれていることに注意してください。

# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

つまり、上記sedによりソースが有効になりますが、一部のタイプのリポジトリでは非ソースは有効になりません。私はそれが大したことだとは思わない。


5
これはちょうどubuntu 16.04
またはデュアン

2
また、Ubuntu 18.04
kramer65

2
@kilgoretrout「どのように受け入れられた答えなのか」Googleの検索ヒットは正確な質問のセマンティクスに勝るからです。
Ciro Santilli新疆改造中心法轮功六四事件

1
とてもかっこいい!よろしくお願いします!
エスベンアイクハート

1
19.04での作業
ハリス

50

ソースリスト(/etc/apt/sources.list)を直接編集できます。これらの行を追加/コメント解除する必要があると思います:

deb-src http://archive.ubuntu.com/ubuntu trusty main restricted #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse #Added by software-properties
deb-src http://security.ubuntu.com/ubuntu trusty-security restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-proposed restricted main universe multiverse #Added by software-properties

ソースコードオプションを無効にし、sources.listファイルのコピーを1つ保存してから、ソースコードオプションを有効にし、別のコピーを保存してdiff、両方で実行することでこれを解決しました。

プレフィックスhttp://gb.をリスト内の他のソースのプレフィックスに変更することもできます(そのため、最も近いリポジトリミラーが使用されます)#Added by software-properties。また、を無視することもできます。

編集後sources.listsudo apt-get update再度インストールする前に実行してください。

完全版diffこちらにあります


別の方法は、新しいものを生成することです。完全なsources.listを取得する1つの方法は、次のサイトを使用することです:https : //repogen.simplylinux.ch/


7
「sources.listを編集した後、sudo apt-get updateを実行してからインストールを再試行してください。」-それが鍵でした、ありがとう!
カウシャルモディ

9
sudo sed -i -e 's /#deb-src / deb-src /' /etc/apt/sources.list
ヴィンセント

1
おかげで私のことを覚えているため、PAL$ sudo apt update
christianbueno.1


27

編集 /etc/apt/sources.list

sudo nano /etc/apt/sources.list

次に、で#行を削除または追加deb-src $urlします。例:

deb http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted
deb-src http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted

または、たとえば、既存の行からコピーします

deb blah blah
deb-src exact same blah blah

次に実行します:

sudo apt-get update

詳細については、https://help.ubuntu.com/community/Repositories/CommandLineを参照してください


17
ファイルのsudo apt-get update編集後のexecsources.list
abidibo

4

これがコマンドラインソリューションです

cat /etc/apt/sources.list | grep deb-src  #  see what will get changed

上記のcmdの典型的な出力

# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://archive.canonical.com/ubuntu bionic partner
# deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
# deb-src http://archive.ubuntu.com/ubuntu bionic main universe restricted multiverse
# deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse

上記の行を変更する場合は、ubuntuの新規インストールでは常にそうです。

sudo sed -i~orig -e 's/# deb-src/deb-src/' /etc/apt/sources.list   

入力ファイルのバックアップを行い、コメントアウトされたdeb-srcを検索し、コメントを削除してそれらの行をアクティブにします...ローカルメタデータの更新に続いて、ubuntuパッケージの新しいカテゴリをマシンに認識させます

sudo apt-get update

次のコマンドで失敗した元のコマンドをもう一度発行します。

E: You must put some 'source' URIs in your sources.list

1
cpをスキップして、-i~origsedを使用してsedでバックアップを作成できます。
ムル

3

Ubuntu 16.04では、sources.listにこれらの更新を正常に行いました。

$ sudo diff /etc/apt/sources.list /etc/apt/sources.list.bkp 

6c6
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial main restricted
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial main restricted

19c19
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial universe
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial universe

39c9
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse

53c53
< deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
---
> # deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse

2

Linux Mint(私はバージョン18です)では、Software Sourcesに移動できます(スタートメニューで検索するか、でターミナルから開きますsoftware-sources)。そこの最初のタブには、ソースコードリポジトリを有効にするチェックボックスがあります。これを有効にすると、プログラムは正しい行を/etc/apt/sources.list.d/official-source-repositories.listファイルに入れます。忘れないでくださいsudo apt-get update(または、ソフトウェアソースのキャッシュ更新する)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.