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

いつ、なぜApt-get Updateを使用する必要がありますか?

一般的な質問:

コマンドapt-get updateについて説明してもらえますか? いつ、本当に使用する必要がありますか?

備考

詳細な回答を入力してください 。バージョンが本当に詳細でない限り、manページのコピーだけではありません(以下にmanページから1つの定義を入れます)。

apt-get update :ソースからパッケージインデックスファイルを再同期するために使用されます。使用可能なパッケージのインデックスは、/ etc / apt / sources.list(5)で指定された場所からフェッチされます。更新は、アップグレードまたはdist-upgradeの前に必ず実行する必要があります。

サブ質問:

  • パッケージインデックスはどこに保存されますか?データベース上?ファイルに?
  • apt-get installを実行するとどうなりますか キャッシュを更新せずに?リモートパッケージが存在しなくなり、リンクが切断される可能性はありますか?
  • デブリポジトリについて合意された政治はありますか?たとえば、リポジトリにはパッケージの最後のバージョンのみを含める必要がありますか、それとも逆に、特定のディストリビューションリリースで利用可能なすべてのバージョンを含める必要がありますか?

コンテキスト

Dockerフレームワークを研究しているので、質問します。その機能の1つは、 Dockerfileです。 、このファイルからいくつかの命令を実行することにより、一種のOSイメージをビルドできます。
このイメージの1つのプロパティは、コンテキスト(ビルドの時間など)に関係なく、常に同じである必要があることです。

apt-get updateを起動すると心配です 異なる時間にコマンドを実行すると、結果が異なるため、私の画像も異なります。

承認された回答:

apt-get update 利用可能なパッケージのリストをダウンロードします。

パッケージのリストは時間の経過とともに変更される可能性があります。新しいパッケージが追加され、古いパッケージが削除されます。したがって、本当に古いキャッシュがあり、apt-get installを実行しようとした場合 、存在しなくなったパッケージをダウンロードしようとする場合があります。
古いパッケージがリポジトリに保持される期間は、リポジトリのメンテナ(ディストリビューション)次第です。そのため、キャッシュが非常に古くなっている可能性があるdockerのようなものを使用している場合は、常にapt-get updateを実行する必要があります。 パッケージをインストールする前に。

パッケージを削除および追加する理由は、主にバグ修正とセキュリティ更新です。ただし、PPAなどのサードパーティのリポジトリを使用している場合は、何でもかまいません。

関連:「jobs:notfound」というエラーメッセージが表示されるのはいつですか。

企業環境でコンテナー化にdockerのようなものを使用する場合は、コンテナーを1回ビルドしてから、そのコンテナーをさまざまなリリース環境(開発、ステージング、本番)に移動し、毎回コンテナーを再構築しないようにする必要があります。これにより、テストされていない別のコンテナを取得しないようになります。

キャッシュファイルがどこにあるかという質問に答えるには、/var/lib/apt/lists


Linux
  1. キャッシュとしてのRedis:その仕組みと使用理由

  2. Linux上のアンチウイルス:実際に使用する必要がありますか?使用する場合、いつ必要ですか?

  3. Howto:GitとGithubとは何ですか?どのように使用し、なぜ気にする必要がありますか?

  1. Linux –なぜSuだけでなくSuを使用するのですか?

  2. Aptを作成-更新を取得してアップグレードを自動化して無人にしますか?

  3. 更新とアップグレードの分離が存在するのはなぜですか?

  1. TCP_NODELAY と TCP_CORK をいつ使用する必要がありますか?

  2. Bash で eval を避ける必要があるのはなぜですか? 代わりに何を使用する必要がありますか?

  3. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?