Скачать шоколадные пакеты для автономной установки

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

Да, я мог бы просто загрузить установщики один за другим, а затем установить их последовательно. Но существует довольно много пакетов (около 20), и мне действительно очень нравится UNIX-способ работы.

Так есть ли способ сделать такой трюк с шоколадом?

UPD: Вероятно, есть способ добиться этого с помощью пользовательского Packages.config, где я явно меняю источник. Тем не менее, он ожидает URL, а не локальный путь. Запуск сервера для одноразового использования является излишним для этой задачи.

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="chocolateytestpackage" version="0.1" source="somelocation" />
</packages>

Мой опыт работы с Homebrew подсказывает мне, что если Chocolatey хранит загруженные пакеты, я мог бы просто вручную извлечь их из пути хранения на одном ПК и поместить на этот путь на другом. Будем исследовать это дальше.

1 ответ

Решение

Сначала давайте обратимся к заблуждению.

Источник не требует URL

Источники могут быть в одном из следующих форматов:

  • HTTP / HTTPS OData Feed
  • Локальный каталог
  • Доля CIFS / доля UNC

См. https://github.com/chocolatey/choco/wiki/How-To-Host-Feed для получения дополнительной информации.

Автономный кеш

Мы обновили этот вопрос на основе содержания по адресу https://stackoverflow.com/a/18596173/18475

Мы называем этот процесс интернализацией. Вы можете сделать это вручную или посмотреть на Chocolatey for Business, чтобы сделать это.

Обычно сопровождающие пакетов в репозитории пакетов сообщества не имеют прав на распространение для реальных двоичных файлов программного обеспечения, поэтому пакету необходимы инструкции для загрузки этих ресурсов и действий с ними. Это не является ограничением при использовании шоколада внутри страны.

Кэширование загрузок - не детерминированное

Хотя есть способы установить оригинальный nupkg (с версией на нем, а не в каталоге пакетов - используйте загрузку с левой стороны страницы пакетов в репозитории пакетов сообщества Chocolatey) и предварительно загрузить загруженные двоичные файлы в папку кеша, это не всегда детерминировано, что это будет работать. Вы также можете переопределить расположение кэша, чтобы папка находилась где-то вне TEMP. Увидеть choco config, choco config -h а также choco config set cacheLocation c:\some\location сделать это.

ПРИМЕЧАНИЕ. Кэш будет поддерживать только ту же архитектуру, поскольку вы не сможете получить результаты с компьютера с архитектурой x64 и ожидать, что в кэш также будут загружены 32-разрядные установщики.

Создайте свои собственные пакеты - лучше

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

Создание и работа с вашими собственными пакетами очень безопасны, но обычно занимают много времени. Если вы делаете это для себя, то это может отменить любую экономию времени, которую вы получаете как потребитель, используя Chocolatey и репозиторий сообщества.

Для организаций мы разработали Package Builder, который создает полные развертывания программного обеспечения (пакеты) за 5-10 секунд. Он также может создавать пакеты прямо из существующего установленного программного обеспечения (Программы и компоненты) менее чем за 60 секунд! Узнайте больше о Package Builder.

Интернализованные пакеты - лучшие

Лучшее, что вы можете здесь сделать, это процесс, называемый интернализация, где вы загружаете и извлекаете пакет, загружаете все ресурсы и встраиваете их в пакет (или размещаете их где-то локально), редактируете сценарии для использования этих встроенных / локальных ресурсов. и перекомпилируйте пакет.

Это позволяет вам использовать преимущества существующей логики пакета без проблем с Интернетом.

For more details see Manually Internalizing Packages and Package Internalizer - Automatically Internalize Packages.

Organization Use of Chocolatey

Большинство организаций, использующих Chocolatey, делают некоторую комбинацию создания пакетов и интернализации пакетов, потому что им нужно абсолютное доверие и контроль над этими пакетами при использовании в производственных сценариях.

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