web-dev-qa-db-ja.com

コマンドラインからsources.listのデフォルトのaptリポジトリを復元します

コマンドラインから/etc/apt/sources.listをデフォルトに戻す最適な方法を探しています。

このファイルなどを生成するパッケージのソースコードを参照する方法はありませんか?このファイルを復元する、バージョンに依存しない信頼できる方法が必要です。

除外されたソリューション

これを重複としてマークする前に、すでに この質問 を確認していることに注意してください。 Ubuntu GUIを使用できる場合にのみ適用されます。この質問はコマンドラインに固有のものです。

この質問 も確認しました。受け入れられた解決策は、sources.listファイルの内容を誰かが貼り付けたものです。これは、ファイルの内容を提供する人の意図を確認できず、ファイルが新しいリリースで変更される可能性があるため、ファイルを復元する適切な方法ではありません。

simplelinux.chのジェネレーター をチェックアウトしましたが、これもUbuntuのものではないため、使用する予定はありません。

17
Ryan Burnette

何が欲しいのかわかりませんが、:

  • 親リポジトリはalwayshttp://archive.ubuntu.com/ubunt -その他はすべてこれのミラーです。他のプライマリミラーはすべて<cctld>.archive.ubuntu.comという形式のドメインを持ち、2文字の短いコードは 国コードトップレベルドメイン です。 Launchpad で、ステータスが追加されたミラーを見つけることができます。
  • 配布コード名はチャネルの一部です(3番目の用語)。 lsb_release -sc を使用してそれを見つけることができます。これは小文字のリリースプリティ名の最初の単語です(たとえば、Trusty Tahrの場合はtrusty)。
  • 5つのチャネルがあります:<codename><codename>-security<codename>-updates<codename>-backports<codename>-proposed。最初はベースであるため必要であり、2番目はセキュリティ修正が含まれているため強くお勧めします。4番目は新しいリリースからバックポートされたパッケージが必要な場合のみ、5番目は開発者が可能性をテストするためにそれを有効にするように要求する場合のみ修正。
  • 4つのリポジトリセクションがあります:mainmultiverseuniverse、およびrestrictedmultiverse、universe、restricted、mainの違いは何ですか?

したがって、次のもののみを含む安全なsources.listをいつでも作成できます。

deb http://archive.ubuntu.com/ubuntu <codename> main multiverse universe restricted
deb http://archive.ubuntu.com/ubuntu <codename>-security main multiverse universe restricted

コマンドでこれを行う場合:

printf 'deb http://archive.ubuntu.com/ubuntu %s main multiverse universe restricted\n' $(lsb_release -sc){,-security} > /etc/apt/sources.list

Launchpadリストに加えて、Software Sourcesプログラムによって提供されるリストは、 /usr/share/python-apt/templates/Ubuntu.mirrors パッケージにあるpython-apt-commonからのものです。このパッケージは、 apt の間接Suggests依存関係のみであるため、デフォルトではサーバーにインストールされない場合があります。

20
muru

/etc/apt/sources.listの各行の意味がわかっている場合は、独自のリストを生成できます。たとえば、私のsources.listの行は、

deb http://archive.ubuntu.com/ubuntu/ trusty main

4つのセクションがあります。

  • セクション1:最初のセクションはdebです。つまり、すべてのバイナリパッケージのリポジトリです。他の可能な値のみがdeb-srcで、これはソースコードのリポジトリを意味します。
  • セクション2:このセクションには、リポジトリのURIが含まれます(この場合、 http://us.archive.ubuntu.com/ubuntu/ )。 URIは、ミラーによって異なる場合があります。公式のUSミラーを使用する場合、URIは http://us.archive.ubuntu.com/ubuntu/ になります。
  • セクション3:使用しているリリースのコードネーム(およびチャンネル名)が含まれています。この場合、trustyはUbuntuリリース(14.04 LTS)のコードネームです。 lsb_release -scで見つけることができます。たとえば、12.04を使用している場合、コード名は「正確」になります。次に、他のチャネルを宣言します。セキュリティチャネルを宣言するには、trusty-securityを使用する必要があります。

  • セクション4:このセクションには、リポジトリの「セクション名」が含まれます。通常、mainrestricteduniversemultiverseの4つのセクション名が使用されます。リポジトリを宣言する同じ行にすべてのセクション名を入れることも、セクションごとに異なる行を使用することもできますが、重複するエントリがあってはなりません。 /etc/apt/sources.listを読むと、これらの各セクションに含まれるパッケージの説明が表示されます。

7
heemayl