4

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

Да, я мог бы просто загрузить установщики один за другим, а затем установить их последовательно. Но есть довольно много пакетов (около 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 ответ1

4

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

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

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

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

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

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

Мы обновили этот вопрос на основе содержания по адресу 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.

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

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

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

Дополнительные сведения см. В разделах «Интернализация пакетов вручную» и «Интернализатор пакетов - автоматическая интернализация пакетов».

Организация использования шоколада

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .