いつ、なぜapt-get updateを使うべきですか?

いつ、なぜapt-get updateを使うべきですか?

一般的な質問:

誰かがこのコマンドの機能apt-get updateと実際に使用する必要がある場合を説明できますか?


コメント

一つください詳細な回答。バージョンが非常に詳細でない限り、マンページのコピーだけではありません(以下のマンページに定義を追加しました)。

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


サブ質問:

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

コンテキスト

研究中ですので、この質問をします。ドッカーフレームワーク。その特徴の一つはドッカーファイル、ファイル内の特定のコマンドを実行して、特定のオペレーティングシステムイメージを構築できます。この画像の1つの属性は、コンテキスト(ビルド時間など)に関係なく、常に同じでなければならないことです。

apt-get update別の時間にコマンドを実行すると結果が変わり、画像も変わるのかと心配です。

ベストアンサー1

apt-get update利用可能なパッケージのリストをダウンロードしてください。

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

パッケージを削除して追加する理由は、主にバグ修正とセキュリティ更新によるものです。ただし、PPAなどのサードパーティ製のストレージを使用すると、すべてが起こります。

エンタープライズ環境でDockerなどのコンテナ化ツールを使用している場合は、毎回コンテナを再構築するのではなく、コンテナを一度ビルドしてから、コンテナをさまざまなリリース環境(開発、ステージング、プロダクション)に移動する必要があります。これにより、テストされていない他のコンテナを取得できなくなります。

キャッシュファイルの場所に関する質問に答えるには/var/lib/apt/lists

おすすめ記事