Chocolate что за программа

Сегодня я расскажу Вам о волшебстве. И это волшебство способно изменить жизнь системного администратора Windows раз и навсегда.

В наше время становится все меньше и меньше людей, которые хоть раз не устанавливали софт в среде Linux. Это невероятно просто: для установки midnight commander (mc), в среде RH (RedHat Enterprise, CentOS, Fedora, и т.д) нам всего лишь нужна пара «волшебных» команд:

# yum install mc

Менеджер пакетов yum позаботится о том, чтобы установилась самая свежая версия mc, а также о зависимостях пакета, если таковые имеются. Но что же делать, если в нашем распоряжении находится Windows, а мы хотим что-то подобное? Правильно, перейти на Linux или читать дальше!

Под моей «опекой» находится гетерогенная сеть из Windows и Linux машин (проще сказать — зоопарк), и вот уже около двух лет для установки софта под Win* я пользуюсь, где это возможно, Chocolatey. Chocolatey (chocolatey.org, github.com/chocolatey) — система управления пакетами, во многом схожая с apt-get или yum, но только для Windows.

Догадались, что за коробка в конце? #шоколад #шоколадручнойработы #shorts #unboxing

На хабре уже касались темы Chocolatey в контексте разработчика, сегодня я хочу взглянуть на этот замечательный инструмент с точки зрения системного администратора. Chocolatey работает на основе технологии NuGet (активно используется разработчиками софта под Windows), и основная черта Chocolatey — пакеты чаще всего не содержат установочных файлов (setup.msi, setup.exe, и т.д. ). Работает это следующим образом: в пакете находится скрипт-установщик на powershell, который скачивает и устанавливает нужную версию установочного файла из нужного места в интернете, а Вам остается только наслаждаться легкостью установки.

Установка Chocolatey

Прежде чем получить возможность использовать магию Chocolatey нам нужно установить ее ядро. Для этого запускаем в командной строке:

Эта команда скачает и запустит основной скрипт установки chocolatey.org/install.ps1, а также настроит требуемые переменные окружения. Теперь, когда у нас есть все необходимое давайте испытаем систему управления пакетами и установим Nodepad++. Достаточно выполнить следующую команду:

cinst notepadplusplus

Какие еще есть пакеты и откуда они берутся?

Как и NuGet, Chocolatey обладает внушительным списком пакетов, который располагается в репозитории, он же библиотека пакетов. Вот только некоторые из них:

Топ 10 самых популярных пакетов на chocolatey.org

  • Git — 51191 скачиваний
  • Notepad++ — 37533 скачиваний
  • 7Zip — 37802 скачиваний
  • Google Chrome — 25960 скачиваний
  • Java Runtime — 25699 скачиваний
  • NodeJS — 25542 скачиваний
  • Mozilla Firefox — 20747 скачиваний
  • Adobe Flash Player — 20660 скачиваний
  • VLC Player — 20419 скачиваний
  • Ruby 2.0 — 19587 скачиваний

Пакеты добавляются каждый день, ведь любой желающий может добавить свой пакет на chocolatey.org, главное чтобы он отвечал требованиям.

Правильная установка программ в WINDOWS 10, 11 | chocolatey

Требования к публикации пакетов

  • Не публикуйте незаконные программы. Программы, которые незаконны в большинстве стран мира также запрещены к размещению на Chocolatey.org. Это также применимо к программам, которые нарушает авторские права, пиратские программы и «кряки». Помните, что это также касается программ которые используются для пиратства.
  • Не пакуйте программы в chocolatey на которые у Вас нет прав на распространение. Пожалуйста, уточняйте правила распространения программного обеспечения и не нарушайте их.
  • Не публикуйте вирусы либо любые другие программы наносящие вред.
  • Публикуйте только те программы, которые будут полезны для других. Если Ваш пакет не относится к этой категории — не публикуйте его.
  • Не публикуйте spyware или adware. Программы, которые поставляются с встроенными adware или spyware или любыми другими нерелевантными программами не разрешены для публикации. Обычно все нерелевантные программы можно исключить из установки используя ключи установщика. Примерами таких программ являются PDFCreator и CCleaner.
  • Не публикуйте программы, которые уже опубликованы. Используйте поиск по Chocolatey.org. Если Вы хотите улучшить уже существующий пакет — свяжитесь с человеком, который поддерживает пакет или отправьте pull-request в его репозиторий.
  • Не включайте другие программы в Ваш пакет, если для них уже есть свой пакет. Если Вашему пакету требуется те или иные программы, существующий пакет должен быть включен Вами в качестве зависимости.
  • Разделяйте зависимости на несколько пакетов. Старайтесь разделить пакет на как можно больше пакетов. Например программа поставляется с опциональными модулями. Создайте дополнительные пакеты для модулей, вместо того, чтобы включать их в общий пакет. Эта идея уже давно применяется в пакетах под Linux по той причине, что это позволяет создавать легковесные пакеты и минимизирует шанс конфликта.
Читайте также:
Cm container что это за программа
Как это работает?

logstash tools chocolateyInstall.ps1 logstash.nuspec

Здесь видно, что в пакете всего 2 файла: logstash.nuspec и chocolateyInstall.ps1.

logstash.nuspec — файл, в котором описывается мета-информация пакета

logstash 1.2.1.2013101701 logstash kireevco http://chocolatey.org/profiles/kireevco https://github.com/kireevco/chocolatey-packages http://logstash.net http://logstash.net/images/logstash.png false Logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching).

Speaking of searching, logstash comes with a web interface for searching and drilling into all of your logs. This package installs logstash flat jar as an agent service via nssm. All you need to do — is to configure your logstash.conf and start logstash service. Service is installed with these parameters: «java.exe -Xmx512M -jar logstash.jar agent —config logstash.conf —log logstash.log » Logstash Agent package logstash, logging

В этом файле будет интересно разобрать секцию dependencies, в которой мы указываем что нашему пакету необходимо наличие 3х других пакетов определенных версий, а именно javaruntime, NSSM (позволяет установить наш .jar файл в качестве службы Windows), а также Chocolatey определенной версии. Если какой-либо из необходимых пакетов отсутствует, либо его версия не соответствует требуемой — система зависимостей разрешит ситуацию и приведет все к требуемому виду. Стоит отметить, что для указания версий используется нотация nuget.

Powershell скрипт chocolateyInstall.ps1

Применение:

Многие админы, вероятно, побежали тестировать функционал — оно и правильно, ведь ничего сложного в использовании Chocolatey нет — в этом-то и есть сладость Chocolatey. Тем не менее, хотелось бы предложить несколько сценариев использования этого менеджера пакетов для Windows.

Cmd и Powershell скрипты

Все мы используем простейшие скрипты в нашей работе, и chocolatey как нельзя лучше интегрируется в этот процесс. Простейший скрипт для обычной клиентской машины может выглядеть так:

cinst flashplayerplugin cinst flashplayeractivex cinst notepadplusplus cinst sublimetext2 cinst 7zip cinst GoogleChrome cinst javaruntime cinst Firefox cinst flashplayerplugin cinst adobereader cinst ccleaner cinst sysinternals cinst putty cinst filezilla cinst dropbox cinst skype cinst paint.net cinst virtualbox cinst DotNet4.5 cinst Wget cinst ConEmu cinst libreoffice cinst PDFCreator cinst teamviewer cinst wuinstall.run

Представьте сколько времени это экономит Вам?

Puppet

Я использую Puppet для управления конфигурацией своей инфраструктуры, что экономит мне массу времени и нервов. В Puppet есть замечательная концепция ресурсов, а также декларативный стиль, которые в купе помогают мыслить абстрактно, на уровне «Какая программа должна стоять на том или ином сервере», а не на уровне «Какие комманды я должен запустить на Windows, а какие на Linux». Для Puppet существует провайдер Chocolatey, который позволяет нам сделать следующее:

package < «7zip» : ensure =>installed, >
package < «notepadplusplus» : ensure =>1.0, >

Обо всем остальном позаботятся Puppet и Chocolatey. Поверьте, это намного удобнее чем производить установку из msi файла, который нужно еще где-то захостить, а также удостовериться что при обновлении версии (которое еще нужно сделать) старые версии тоже сохраняться и ничего при этом не сломается.

Chocolatey и Desktop

Предлагаю рассмотреть два способа использования Chocolatey для администрировании рабочих станций.

Chocolatey GUI

ChocolateyGUI — это графический интерфейс для системы управления пакетов Chocolatey. Удобный способ для обзора текущего состояния репозитория, а также состояния локально-установленных пакетов. Мне почему-то очень сильно напомнило раннюю версию synaptic или даже aptitude. Работает достаточно сносно. Установить его, кстати, можно из коммандной строки:

cinst ChocolateyGUI

Windows Post Install (WPI)

Можно пойти еще дальше, использовать интерфейс WPI для удобного выбора пакетов, в котором будут исполняться команды Chocolatey. При помощи WPI можно удобно группировать программы по категориям, а также создавать шаблоны и наборы установки.
Решение не всегда сможет стать абсолютной альтернативой использования USB-HDD в качестве источника, но заменив все возможные компоненты на аналогичные из репозитория Chocolatey Вы избавите себя от мучительного копирования образа (папки) с полным набором софта (Photoshop, Office, 3D Max с Архикадом, что там еще?) и оболочкой WPI (а все ради того, чтобы поставить «легкие» программы вроде Google Chrome, Notepad++, Avast и т.п.).

  • Бизнес
  • Бухгалтер
  • Разработчк
  • Домашний пользователь
  • Медиа-Станция
Читайте также:
Asus net4switch что это за программа и нужна ли она




Таким образом, WPI всего лишь является оболочкой для запуска команд Chocolatey, что позволяет уменьшить суммарный объем дистрибутива. Конечно, при таком подходе на клиентской машине уже должен быть рабочее интернет-подключение, что сегодня не является проблемой, за исключением отдельных случаев.
Возвращаясь к программам которые отсутствуют в репозитории Chocolatey.org, следует упомянуть, что Chocolatey поддерживает любые NuGet фиды, а не только предлагаемый по-умолчанию chocolatey.org. Заливаем важные файлы в DropBox и создаем свой пакет где-нибудь на www.myget.org — это очень просто!

Если кому интересно, могу рассказать в подробностях (в форме отдельного поста) как создать свой пакет и как загрузить его в репозиторий chocolatey.org, и о том, как я научил Windows устанавливать все обновления без моего участия (с перезагрузками и лицензиями), как я обновляю базу maxmind.dat в автоматическом режиме, как я использую logstash и многом другом, и все это не без помощи chocolatey и puppet!

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

На любые ошибки и неточности прошу указывать в комментариях, с удовольствием поправлю и дополню материал.

И под конец, небольшой опрос:

Источник: habr.com

Chocolatey – устанавливаем программы в Windows как в Linux

Windows Download Center

В операционной системе Linux помимо «классической» установки программ из deb-файла часто применяется другой способ инсталляции — из репозиториев с использованием терминала и команды sudo. Например, в Ubuntu для установки приложения достаточно выполнить команду sudo apt-get install имя_программы. Кому-то это может показаться странным, но именно этот способ предпочитают большинство пользователей Linux, считая его наиболее простым и быстрым.

Сделать установку программ столь же удобным можно и в Windows, а поможет вам в этом специальная консольная утилита Chocolatey. Этот инструмент позволяет быстро отыскивать, устанавливать и обновлять программное обеспечение в Windows точно так же, как это делается в Linux. Чтобы установить консольный клиент Chocolatey, откройте от имени администратора консоль CMD, скопируйте и вставьте в нее следующую строку, а затем нажмите «Ввод»:

24-03-2015 14-34-44

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

24-03-2015 14-36-41

Команда choco list выводит список доступных приложений. На сегодняшний день в базе Chocolatey имеется примерно 2500 программ. Как вариант, для просмотра списка можно воспользоваться онлайновой версией каталога, расположенного по адресу chocolatey.org/packages.

Команда choco install имя_программы устанавливает выбранное приложение, команда choco updаte — обновляет его. Для удаления установленного приложения используется команда choco uninstall. Все очень просто. Не забывайте только, что при работе с Chocolatey командную строку желательно запускать от имени администратора. Кстати, инсталляция выполняется в тихом режиме, что не может не радовать.

Читайте также:
Samsung group sharing что это за программа

24-03-2015 14-40-45

Примечание
При выполнении команды choco install версию устанавливаемого приложения указывать необязательно.

Заранее предвидя, что не всем пользователям Windows понравится вводить команды вручную, разработчики Chocolate создали специальную утилиту, позволяющую искать и устанавливать программы через графический интерфейс. Называется она ChocolateyGUI. Чтобы ее установить, выполните команду choco install chocolateygui, а затем перезагрузите систему.

ChocoGUI

Графическая оболочка ChocolateyGUI представлена списком доступных программ и кнопками для их установки, удаления и обновления, так что вы без труда с ней разберетесь. Как и клиент, графическую оболочку Chocolatey нужно запускать в командной строке, запущенной от имени администратора.

Источник: windowstips.ru

Chocolatey: Локальный репозиторий

В публичном (официальном репозитории) присутствуют ограничения на обращение к серверу, т.е. вы не сможете сразу на 20 машин раскидать нужное вам ПО. На локальном репозитории такие ограничения отсутствуют. Просто скачиваете или создаете сами нужный пакет, пушите его на свой сервер и устанавливаете его сколько вам угодно раз.

  • .NET Framework 4.6+.
  • You need a Windows box with at least 50GB of free space (or where ever you are going to put the packages).
  • 50GB of free space for where ever you will put packages.
  • We recommend at least 8GB RAM, but more if you can.
  • Ability to set up an IIS site and unblock website ports.
  • If you have an IIS site for WSUS administration, see Configure Simple Server alongside WSUS admin-site for instructions on how to make Chocolatey Simple Server work alongside the WSUS admin-site.
  • If you can ensure your server is up to date with all of the Windows Updates, you will move through this process quite a bit quicker.

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))

Теперь установка репозитория с помощью PowerShell:

$siteName = ‘ChocolateyServer’ $appPoolName = ‘ChocolateyServerAppPool’ $sitePath = ‘c:toolschocolatey.server’ function Add-Acl < [CmdletBinding()] Param ( [string]$Path, [System.Security.AccessControl.FileSystemAccessRule]$AceObject ) Write-Verbose «Retrieving existing ACL from $Path» $objACL = Get-ACL -Path $Path $objACL.AddAccessRule($AceObject) Write-Verbose «Setting ACL on $Path» Set-ACL -Path $Path -AclObject $objACL >function New-AclObject < [CmdletBinding()] Param ( [string]$SamAccountName, [System.Security.AccessControl.FileSystemRights]$Permission, [System.Security.AccessControl.AccessControlType]$AccessControl = ‘Allow’, [System.Security.AccessControl.InheritanceFlags]$Inheritance = ‘None’, [System.Security.AccessControl.PropagationFlags]$Propagation = ‘None’ ) New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule($SamAccountName, $Permission, $Inheritance, $Propagation, $AccessControl) >if ($null -eq (Get-Command -Name ‘choco.exe’ -ErrorAction SilentlyContinue)) < Write-Warning «Chocolatey not installed. Cannot install standard packages.» Exit 1 ># Install Chocolatey.Server prereqs choco install IIS-WebServer —source windowsfeatures choco install IIS-ASPNET45 —source windowsfeatures # Install Chocolatey.Server choco upgrade chocolatey.server -y # Step by step instructions here https://chocolatey.org/docs/how-to-set-up-chocolatey-server#setup-normally # Import the right modules Import-Module WebAdministration # Disable or remove the Default website Get-Website -Name ‘Default Web Site’ | Stop-Website Set-ItemProperty «IIS:SitesDefault Web Site» serverAutoStart False # disables website # Set up an app pool for Chocolatey.Server. Ensure 32-bit is enabled and the managed runtime version is v4.0 (or some version of 4). Ensure it is «Integrated» and not «Classic». New-WebAppPool -Name $appPoolName -Force Set-ItemProperty IIS:AppPools$appPoolName enable32BitAppOnWin64 True # Ensure 32-bit is enabled Set-ItemProperty IIS:AppPools$appPoolName managedRuntimeVersion v4.0 # managed runtime version is v4.0 Set-ItemProperty IIS:AppPools$appPoolName managedPipelineMode Integrated # Ensure it is «Integrated» and not «Classic» Restart-WebAppPool -Name $appPoolName # likely not needed . but just in case # Set up an IIS website pointed to the install location and set it to use the app pool. New-Website -Name $siteName -ApplicationPool $appPoolName -PhysicalPath $sitePath # Add permissions to c:toolschocolatey.server: ‘IIS_IUSRS’, ‘IUSR’, «IIS APPPOOL$appPoolName» | ForEach-Object < $obj = New-AclObject -SamAccountName $_ -Permission ‘ReadAndExecute’ -Inheritance ‘ContainerInherit’,’ObjectInherit’ Add-Acl -Path $sitePath -AceObject $obj ># Add the permissions to the App_Data subfolder: $appdataPath = Join-Path -Path $sitePath -ChildPath ‘App_Data’ ‘IIS_IUSRS’, «IIS APPPOOL$appPoolName» | ForEach-Object

Далее вставляем apikey в с:/tools/chocolatey.server/Web.config:

Перезагружаем веб-сервер в Диспетчере IIS.
Все сервер должен быть доступен, и можно начинать пушить в него свои пакеты используя apikey:

choco push .bareos-client.nupkg —source=»http://choco.yourdomain.ru/chocolatey» —api-key=3c7d0218-2e61-24wv-g888-6d1b00e55470 —force

Установка из своего репозитория:

choco install bareos-client —source=»http://choco.yourdomain.ru/chocolatey»

Источник: itsnotepad.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru