Скачать шоколадные пакеты для автономной установки
Я хотел бы загрузить кучу шоколадных пакетов, а затем установить их на другой компьютер (у которого плохое интернет-соединение, поэтому я не могу просто установить их обычным способом).
Да, я мог бы просто загрузить установщики один за другим, а затем установить их последовательно. Но существует довольно много пакетов (около 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, делают некоторую комбинацию создания пакетов и интернализации пакетов, потому что им нужно абсолютное доверие и контроль над этими пакетами при использовании в производственных сценариях.