Как организованы файлы в хранилище Ubuntu? Каковы важные файлы в хранилище? Что происходит, когда хранилище становится непоследовательным, поврежденным или синхронизируется?
источник
Как организованы файлы в хранилище Ubuntu? Каковы важные файлы в хранилище? Что происходит, когда хранилище становится непоследовательным, поврежденным или синхронизируется?
В соответствии с строкой deb вашего исходного кода apt, apt получит:
Он проверяет, является ли Release.gpg действительной подписью для файла Release, и соответствует ли содержимое Packages.gz контрольной сумме целостности, присутствующей в файле Release. В случае несоответствия сообщается о сбое целостности подписи репозитория.
Имя файла пакета для запрошенного пакета определяется из ранее извлеченного содержимого Packages.gz. Он загружен, и его контрольная сумма содержимого должна соответствовать содержимому контрольной суммы Packages.gz, или сообщается о сбое целостности.
Ваш последний вопрос не о структуре зеркала как таковой, а о синхронизации зеркала, которая зависит от процесса зеркалирования. Возможна синхронизация с использованием временного местоположения без нарушения целостности архива во время синхронизации. Я не уверен, что все зеркала Ubuntu делают это.
Хуан ответил на вторую половину моего вопроса, поэтому я исследовал первую половину самостоятельно. На корневом уровне есть четыре каталога и один файл.
(Также в моем репо в колледже были только первые две записи. Таким образом, последние 3, похоже, не являются необходимыми для функционирования репо.)
Файл
ls-lr.gz
содержит выходные данныеls -lr
команды, запущенной в корневом каталоге хранилища.dists
Каталог кажется, содержит большинство метаданных, включая весь файл Packages.gz (который содержит список пакетов) и Release.gpg / Release , который подписывает пакет. (Спасибо Жоао за информацию)pool
Каталог содержит фактические .deb файлы. Организация есть/pool/[section]/[letter]/[group]/packagename.deb
. Таким образом, фактическое местоположение пакета python-subversion таково/pool/main/s/subversion/python-subversion_1.3.2-3ubuntu2%7edapper1_amd64.deb
, потому что subversion - это группа пакета python-subversion, а s - первая буква Subversion.projects
Каталог кажется, содержит несколько файлов , детализирующих , как зеркало синхронизируются с первоначальной репо.indices
Каталог содержит большое количество файлов, большинство из них пустые. Непустые файлы предоставляют дополнительные метаданные для пакетов.источник