Ubuntuリポジトリの構造は何ですか?


29

Ubuntuリポジトリ内のファイルはどのように整理されていますか?リポジトリ内の重要なファイルは何ですか?リポジトリが矛盾したり、壊れたり、同期されたりするとどうなりますか?

回答:


19

aptソースのdeb行によると、aptは以下を取得します:

Release.gpgがReleaseファイルの有効な署名であるかどうか、およびPackages.gzの内容がReleaseファイルに存在する整合性チェックサムと一致するかどうかを検証します。不一致がある場合、リポジトリ署名の整合性エラーが報告されます。

要求されたパッケージのパッケージファイル名は、以前に取得したPackages.gzの内容から決定されます。ダウンロードされ、そのコンテンツチェックサムはPackages.gzチェックサムコンテンツと一致する必要があります。一致しない場合、整合性エラーが報告されます。

最後の質問は、ミラー構造そのものではなく、ミラーリングプロセスに依存するミラー同期についてです。同期中にアーカイブの整合性を損なうことなく、一時的な場所を使用して同期することが可能です。すべてのUbuntuミラーがそれを行うかどうかはわかりません。


残念ながらリンクが壊れています
青みがかった

彼らは、彼らは単にテンプレートです、壊れていないあなたは、動的フィールドである、「リリース」「コンポーネント」、バイナリレベル」などを交換する必要があります。
ジョアン・ピント

18

ジョアンは私の質問の後半に答えたので、私は自分で前半を調査しました。ルートレベルには、4つのディレクトリと1つのファイルがあります。

root
| -- dists
| -- pool
| -- indices
| -- project
| -- ls-lr.gz

(私の大学レポでも、最初の2つのエントリのみがそこにありました。したがって、最後の3つはレポの機能にとって重要ではないようです。)

このファイルls-lr.gzにはls -lr、リポジトリのルートディレクトリで実行されたコマンドの出力が含まれています。

distsディレクトリには、(パッケージのリストが含まれている)のPackages.gzファイルとパッケージに署名しRelease.gpg /リリース全てを含む、メタデータのほとんどが含まれているようです。(情報を提供してくれたJoaoに感謝)

poolディレクトリは、実際の.debファイルが含まれています。組織は/pool/[section]/[letter]/[group]/packagename.debです。したがって、subversionはpython-subversionパッケージ/pool/main/s/subversion/python-subversion_1.3.2-3ubuntu2%7edapper1_amd64.debのグループであり、sはsubversionの最初の文字であるため、python-subversionパッケージの実際の場所はです。

projectsディレクトリには、ミラーは、元のレポに同期されたかを詳述し、いくつかのファイルが含まれているようです。

indicesディレクトリには、多くのファイルが含まれ、それらのほとんどは空にしてください。空でないファイルは、パッケージに追加のメタデータを提供しているようです。

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