У меня есть неполное хранилище, как я могу его завершить

Вот проблема:

Я скопировал хранилище от друга, но хранилище не было завершено. Также устарел. Так,

  1. Как я могу обновить этот репо?
  2. Как я могу скачать только те пакеты, которые отсутствуют?

Я читал о apt-mirror, и я думаю, что мог бы смонтировать (связать) папку, в которой находится старый / неполный репозиторий, в папку, используемую apt-mirror для размещения загруженных файлов / пакетов, но... я не знаю знаю, это сломает полностью старый репо.

Есть правильный способ сделать это?

3 ответа

Решение

Вы правы, apt-mirror - правильный инструмент для этой работы

здесь есть руководство https://www.packtpub.com/books/content/create-local-ubuntu-repository-using-apt-mirror-and-apt-cacher

Вы должны иметь возможность просто указать apt-mirror на существующую копию, и она продолжит работу и получит все остальное.

Файл конфигурации для apt-mirror должен быть /etc/apt/mirror.list

Вам необходимо настроить либо 'set base_path', либо 'set mirror_path', чтобы он указывал на каталог, в котором находится неполное зеркало.

Если вы установите base_path, вам нужно будет убедиться, что другие переменные конфигурации, которые используют его в качестве базы, все еще будут иметь смысл.

Если вы установите mirror_path, вы можете просто указать его на папку, не изменяя другие аспекты конфигурации.

Как только вы установили конфигурацию, запустите apt-mirror, чтобы завершить зеркалирование.

Используйте rsync, как описано здесь. Самое замечательное в rsync заключается в том, что он будет захватывать КАЖДЫЙ файл в тех архивах, которые не соответствуют тому, что у вас уже есть, и вы специально не исключили. Проблема в том, что, поскольку это не делает для вас дискриминации, вам придется исключить то, что вы сами не хотите. Я рекомендую выделять терабайт хранилища для обеспечения безопасности, поскольку чем больше версий доступно, тем больше места вам потребуется. Вам также потребуется высокоскоростное соединение для передачи данных из-за возможного большого количества данных, которые необходимо будет передать. Я не знаю, сколько у вас уже есть в вашем неполном хранилище. Если это в основном завершено, это значительно сократит время передачи.

Вы можете подумать, почему ваш друг предоставил вам частичное хранилище. Возможно, для полного зеркала требуется больше места, чем доступно вашему другу (или вам?). Это можно было бы сделать довольно легко с использованием ключа rsync --exclude, как описано здесь. В связи с большими и постоянно растущими потребностями в хранилище вы можете решить, действительно ли вам нужно полное зеркало. Например, вы можете захотеть исключить определенные выпуски, архитектуры или разделы, если вы их не используете (точный в настоящее время все еще поддерживается, но если вы его не используете, он вам не нужен).

1. Есть каталог, /etc/apt/sources.list.d который содержит отдельные записи для каждого PPA, который вы добавили add-apt-repository, Это те файлы, которые вам нужны для резервного копирования.

2. Многим людям проще создавать резервные копии и восстанавливать один файл, чем иметь дело с каталогом файлов. Если вы такой, и вам не важно, чтобы каждый PPA хранился в своем собственном файле внутри /etc/apt/sources.list.d/, вы можете использовать следующую команду для хранения всех ваших добавленных репозиториев в одном файле sources.list, расположенном в вашем домашнем каталоге.

 cat /etc/apt/sources.list /etc/apt/sources.list.d/*.list > ~/sources.list

Затем вы можете переместить этот файл в /etc/apt/sources.list и делать

  sudo apt-get update 

повторно добавить репозитории. Если вы планируете использовать эту резервную копию на another computer, убедитесь, что версия Ubuntu на машине matches the versions in the sources.list файл, иначе у вас могут возникнуть проблемы.

Еще один способ резервного копирования репозиториев:

3.Use y-ppa-manager или вы могли бы использовать apt-clone сделать это.

Другие вопросы по тегам