Linux(Ubuntuなど)にプログラムをインストールする方法についての多くの記事をインターネットで読みましたが、まだ混乱しています!
私が今まで理解したのは次のとおりです。
まず、必要なパッケージを含むリポジトリを追加する必要があります。 Ubuntuでは、
/etc/apt/sources.list
ファイルから関連行のコメントを削除してこれを行います。次に、を実行してリポジトリのパッケージリストを更新する必要があります
apt-get update
。最後に
apt install
。
…しかし、まだ理解していません!
リポジトリのコメントを解除すると、オペレーティング
sources.list
システムに「このリポジトリを自分のコンピュータにダウンロードしてください」と伝えますか?リポジトリをダウンロードする必要がありますか?それ以外の場合は、source.listから1行のコメントを削除するとどうなりますか?正確に何をしますか
apt-get update
?私が読んだように:apt-get update downloads the package lists from the repositories and "updates" them to get information on the newest versions of packages and their dependencies.
これは正確に何を意味しますか?いくつかのパッケージを含むリポジトリがあります。これは、いくつかのリポジトリが古い可能性があることを意味しますか?それでは、なぜ彼らは常に最新の状態で、誰もそうする必要がないサーバーのリポジトリを更新しないのでしょうか apt-get update
?
ベストアンサー1
リポジトリのコメントを解除すると、オペレーティング
sources.list
システムに「このリポジトリを自分のコンピュータにダウンロードしてください」と伝えますか?
いいえ。
リポジトリをダウンロードする必要がありますか?
一般的にそうではありません。潜在的に数百ギガバイトのデータをダウンロードしたい場合以外。
それ以外の場合は、source.listから1行のコメントを削除するとどうなりますか?
何もない、しかし、。
いくつかのパッケージを含むリポジトリがあります。これは、いくつかのリポジトリが古い可能性があることを意味しますか?
はい、リポジトリは時代遅れになる可能性がありますが、ここではこれについては説明しません。
それでは、常に最新の状態で誰もがapt-getアップデートを実行する必要がないサーバーのリポジトリを更新しないのはなぜですか?
しかしそれは真実ではない。何が起こるのか?
- リポジトリにパッケージが含まれているのは事実ですが、パッケージ名、バージョン、パッケージの依存関係、パッケージに含まれるファイルのリスト、パッケージハッシュなど、そのパッケージに関する情報(メタデータ)も含まれています。
apt-get update
このメタデータをダウンロードしてください。apt-get install
その後、upgrade
パッケージをインストールするように指示したら、このメタデータを使用します。利用可能なバージョンを確認し、他のパッケージを依存関係でインストールする必要があるかどうかを確認します。- リポジトリが更新されると、メタデータは次のように更新されます。ただし、以前にダウンロードしたローカルコピーは。これは自然なことです。メタデータのコピーが古いかどうかを確認するために、PCがサーバーを継続的にチェックすることを望まないでしょう。
- これで、次回パッケージをインストールする必要があると、システムのメタデータが古くなって正しい動作を特定できないため、問題が発生する可能性があります。
apt-get update
その後、このメタデータを更新するには実行する必要があります。- 私が言ったように、ソース行のコメントを外すと何も起こりません。次回実行すると、
apt-get update
このソースからメタデータもダウンロードされます。次にパッケージをインストール、アップグレード、またはアンインストールするとき、aptは問題を解決するときに追加のメタデータを考慮します。
これがaptがどのように機能するかです。一方、Yumは更新されたメタデータを確認し、パッケージの追加、削除、またはアップグレード時にダウンロードします。どちらの方法にも長所と短所があります。