Chocolatey — пакетный менеджер для Windows
Как сказал один мудрец (и по совместительству просто мой друг):
“нет плохих или хороших операционных систем, есть подходящие и не подходящие для решения конкретных пользовательских задач”.
Глубокая мысль, я с этим полностью согласен. Хотя для решения конкретно моих рабочих задач намного лучше подходят другие ОС, у Windows тоже есть своя ниша. Я уже давно привык пользоваться в повседневной деятельности Unix-подобными операционными системами, такими как Fedora Linux и macOS. Но недавно я решил совершить очередной набег в мир Windows — попробовать новые классные фичи WSL2 да в игры поиграть.
Только в этот раз я решил сразу сделать всё по-правильному, и устанавливать весь софт так, чтобы им потом было удобно управлять и обновлять. В поисках решения этой задачи я открыл для себя замечательный инструмент Chocolatey, который теперь считаю жизненно необходимым для комфортного пользования Windows.
Chocolatey — это пакетный менеджер для Windows, примерно как apt в мире Debian/Ubuntu или dnf в мире Fedora/CentOS. Пакетный менеджер занимается установкой, удалением и обновлением программ. Если вам, как и мне, надоело ставить галочки под текстом лицензии (хоть раз вообще читали?) и безразлично нажимать кнопку “далее”, то Chocolatey вам поможет. Он имеет интерфейс командной строки — то, что надо для такого гика, как я! У Chocolatey большая библиотека пакетов — больше 7500 штук, всё популярное там точно есть.
Хоть я привёл в пример apt и dnf , на самом деле, Chocolatey имеет намного больше общего с Homebrew — пакетным менеджером для macOS. В Linux пакетные менеджеры уже давно стали насущной необходимостью — там этим никого не удивить, а Chocolatey и Homebrew работают в окружениях, где изначально пакетные менеджеры не предусмотрены. При этом оба они отлично справляются со своими задачами.
Chocolatey написан на C# и PowerShell, имеет открытый исходный код. Для работы требует Windows 7 или новее.
Установка
Чтобы установить Chocolatey, нужно запустить командную строку с правами администратора. Сделать это в Windows 10 можно так:
- Нажимаем на клавиатуре кнопку Win или просто открываем меню «Пуск»;
- Набираем cmd ;
- На найденной программе нажимаем правой кнопкой мыши и выбираем пункт “Run as administrator” или, в русской локализации, “Запуск от имени администратора”.

В открывшееся окно терминала нужно вставить следующую команду:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
На всякий случай, если эта команда устареет и перестанет работать, или вы предпочитаете вставлять в администраторский терминал команды только из официальных источников (и правильно делаете), то документация по установке находится вот здесь.
После того, как команда отработает (у меня установка заняла примерно минуту), нужно перезапустить терминал. Вместо cmd можно запустить PowerShell (тоже от имени администратора) — он немного удобнее. Можно проверить установку:
choco -?
Если вы видите справку по команде, то установка прошла успешно.
Установка программ
Давайте установим через choco первые программы. Все эти программы найдены в реестре пакетов и проверены мной — работают. При установке вы можете заметить, что все программы скачиваются с официальных сайтов разработчиков. Если вы переживаете по поводу вирусов, то рекомендую почитать, какие меры предпринимают мейнтейнеры Chocolatey, чтобы обеспечить безопасность пакетов (там всё серьезно).
Во всех командах я добавил флаг -y , чтобы установщик не задавал вообще никаких вопросов. Эта команда автоматически соглашается с лицензиями и разрешает запуск скриптов установки. Ради интереса можете попробовать убрать этот флаг из команд, и посмотреть, что будет.
Допустим, что вам нужен браузер (удалите из команды ненужные названия):
choco install -y googlechrome firefox
Или текстовый редактор/IDE (удалите из команды ненужные названия):
choco install -y notepadplusplus.install vscode
Я являюсь заядлым пользователем PyCharm, который лучше всего устанавливать через JetBrains Toolbox (как и любые другие IDE от JetBrains):
choco install -y jetbrainstoolbox
Инструменты для разработки:
choco install -y git python3 microsoft-windows-terminal postman
Мессенджеры и видео-конференции:
choco install -y telegram.install slack zoom
choco install -y steam epicgameslauncher
Всякое прочее-разное полезное:
choco install -y 7zip vlc paint.net teamviewer qbittorrent thunderbird putty.install
И для установки даже не пришлось кликать мышью по кнопкам!
Тут можете почитать про удаление программ при помощи choco .
Обновление
Вот так можно обновить все установленные через choco программы до актуальных версий:
choco upgrade all -y
По-моему, это очень круто и удобно!
Заключение
choco — теперь для меня это просто маст-хэв на Windows. Самая первая программа, которую я буду устанавливать. Благодаря Chocolatey, для меня Windows стала немного дружелюбнее. Всем рекомендую попробовать!
Если понравилась статья, то подпишитесь на уведомления о новых постах в блоге, чтобы ничего не пропустить!
Дополнительное чтение
- официальный сайт Chocolatey;
- реестр пакетов;
- исходный код;
- видео про Chocolatey для тех, кто больше любит воспринимать информацию визуально.
Пакетный менеджер для Windows. Chocolatey
Мои научные интересы включают физику, администрирование Unix и сетей.
Похожие
- Пакетный менеджер для Windows. WinGet
- Перенос настроек профиля пользователя Windows
- MSYS2. Приложения Unix под Windows
- MinGW-w64. Приложения Unix под Windows
- MinGW. Приложения Unix под Windows
© 2006—2023 Dmitry S. Kulyabov. This work is licensed under CC BY 4.0
Published with Wowchemy — the free, open source website builder that empowers creators.
Использование Chocolatey для установки программ в Windows

Пользователям Linux привычна установка, удаление и обновление приложений с помощью менеджера пакетов apt-get — это безопасный и удобный способ быстро установить то, что нужно. В Windows 7, 8 и 10 можно получить аналогичные функции благодаря использованию менеджера пакетов Chocolatey и именно об этом пойдет речь в статье. Цель инструкции — познакомить обычного пользователя с тем, что такое менеджер пакетов и показать преимущества использования данного подхода.
Установка Chocolatey

Для установки Chocolatey на компьютер, вам потребуется запустить командную строку или Windows PowerShell от имени администратора, после чего использовать следующие команды:
В командной строке
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
В Windows PowerShell используйте команду Set-ExecutionPolicy RemoteSigned для разрешения выполнения удаленных подписанных сценариев, после чего установите Chocolatey с помощью команды
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
После установки через PowerShell перезапустите его. Вот и все, менеджер пакетов готов к работе.
Используем менеджер пакетов Chocolatey в Windows

Для того, чтобы скачать и установить любую программу с использованием менеджера пакетов, вы можете использовать командную строку или Windows PowerShell, запущенные от имени администратора. Для этого вам достаточно всего лишь ввести одну из команд (пример для установки Skype):
- choco install skype
- cinst skype
При этом, будет автоматически загружена и установлена последняя официальная версия программы. Более того, вы не увидите предложений согласиться на установку нежелательного ПО, расширений, изменения поиска по умолчанию и стартовой страницы браузера. Ну и последнее: если вы укажите через пробел несколько названий, то все они будут по очереди установлены на компьютер.
В настоящий момент таким образом можно установить около 3000 бесплатных и условно бесплатных программ и, естественно, вы не можете знать названия всех из них. В этом случае вам поможет команда choco search.

К примеру, если попробовать установить браузер Mozilla, то вы получите сообщение об ошибке, что такая программа не найдена (еще бы, ведь браузер называется Firefox), однако choco search mozilla позволит понять в чем ошибка и следующим шагом достаточно будет ввести cinst firefox (номер версии указывать не требуется).
Отмечу, что поиск работает не только по названиям, но и по описанию доступных приложений. Например, для поиска программы записи дисков, можно поискать по ключевому слову burn, и в результате получить список с нужными программами, включая те, в названии которых burn не фигурирует. Полный список доступных приложений вы можете посмотреть на сайте chocolatey.org.

Аналогичным образом можно удалить программу:

- choco uninstall имя_программы
- cuninst имя_программы
или обновить ее с помощью команд choco update или cup. Вместо имени программы можно использовать слово all, то есть choco update all обновит все программы, установленные с помощью Chocolatey.
Графический интерфейс менеджера пакетов
Имеется возможность использовать и графический интерфейс Chocolatey для установки, удаления, обновления и поиска программ. Для этого введите choco install ChocolateyGUI и запустите установленное приложение от имени Администратора (появится в меню пуск или списке установленных программ Windows 8). Если вы планируете часто им пользоваться, рекомендую отметить запуск от имени Администратора в свойствах ярлыка.

Интерфейс менеджера пакетов интуитивно понятен: две вкладки, с установленными и доступными пакетами (программами), панель с информацией о них и кнопками для обновления, удаления или установки, в зависимости от того, что именно было выбрано.
Преимущества данного способа установки программ
Подводя итог, еще раз отмечу преимущества использования менеджера пакетов Chocolatey для установки программ (для начинающего пользователя):
- Вы получаете официальные программы из надежных источников и не рискуете, пытаясь найти то же ПО в Интернете.
- При установке программы не требуется следить за тем, чтобы не установилось чего-либо ненужного, будет установлено чистое приложение.
- Это действительно быстрее, чем поиск официального сайта и страницы загрузки на нем вручную.
- Вы можете создать файл сценария (.bat, .ps1) или просто установить сразу все нужные бесплатные программы одной командой (например, после переустановки Windows), то есть для установки двух десятков программ, включая антивирусы, утилиты и проигрыватели, вам нужно лишь один раз ввести команду, после чего даже не понадобиться нажимать кнопку «Далее».
Надеюсь, кому-то из моих читателей эта информация будет полезной.
А вдруг и это будет интересно:
- Лучшие бесплатные программы для Windows
- TakeOwnershipEx — получение полного доступа к папкам и файлам и восстановление прав по умолчанию
- Ошибка 0x8007000d в Windows 11 или 10 — как исправить?
- Chrome открывает поиск вместо сайта — решение
- Недопустимая конфигурация приложения в Steam — варианты решения
- Ошибка при запуске приложения 0xc0000006 — как исправить?
- Windows 11
- Windows 10
- Android
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Установка с флешки
- Настройка роутера
- Всё про Windows
- В контакте
- Одноклассники
-
Виталий 03.11.2014 в 22:04
- Dmitry 05.11.2014 в 08:31
- Dmitry 29.12.2014 в 08:38
Chocolatey что такое

Для тех, кто никогда не видел десктопных операционных систем на ядре Linux, процесс обновления пакетов в Windows не кажется чем-то особенным. Периодически та или иная программа сообщает пользователю, что есть более свежая версия; пользователь нажимает «ОК», и в лучшем случае программа обновляется. Но чаще всего открывается браузер на странице программы, где предлагается скачать новую версию, за которой тянется куча ненужного дерьма, или платная версия бесплатной программы, если невнимательный пользователь не прочитал описание рядом со множеством галочек и не снял лишние. И так с каждой программой, установленной вручную. Централизованно обновляются лишь компоненты Windows и приложения, установленные через Microsoft Store.
В дистрибутивах Linux же есть менеджеры пакетов. Apt в Debian, Pacman в ArchLinux и так далее. Одной командой можно обновить не только компоненты ОС, но и все прикладные программы, установленные в системе. Это вызвано, в первую очередь тем, что исторически программы в Linux зависят от системных библиотек. При установке программы пакетный менеджер проверяет наличие системных зависимостей и устанавливает их отдельно, если обнаруживает, что чего-то не хватает. Поскольку операционных систем на ядре Linux великое множество, то пакет, собранный под Ubuntu, не запустится в ArchLinux в том виде, в каком он есть. И наоборот. Требуется пересборка пакета. Не считая того, что этот процесс требует определённых навыков, косорукая сборка пакета может привести к нестабильной работе как самой программы, так и операционной системы в целом. По той же причине программы в таких ОС распространяются централизованно, через специальные репозитории, от куда их и скачивает пакетный менеджер. Чем больше готовых пакетов под определённый дистрибутив, тем он популярнее. Универсальная система пакетов типа Snap или Flatpak появилась относительно недавно, но при этом пакеты по-прежнему управляются пакетным менеджером.
Но независимо от причин, пакетный менеджер – удобный инструмент, экономящий время. В Windows нет официальных пакетных менеджеров. По той простой причине, что у Windows нет форков. Все права принадлежат Microsoft, а там никогда не задумывались о каком-либо едином, удобном для пользователя инструменте управления пакетами. Есть сторонние программы, предлагающие автоматическое обновление установленных программ. Как правило такие программы платные и как правило, это не основная их функция.
Проект Chocolatey развивается с 2011-го года и сейчас достаточно удобен и функционален для повседневного использования. Инструмент может не только обновлять, но и устанавливать программы. То есть это полноценный пакетный менеджер. Это не то же самое, что пакетные менеджеры в Linux, так как здесь нет репозитория ПО из-за правового аспекта распространения большинства программ в Windows. Chocolatey больше похож на систему портов во FreeBSD, где он оперирует скриптами, в которых прописан процесс установки. То есть скрипты содержат все инструкции по скачиванию и установке той или иной программы, а пользователю нужно лишь ввести одну команду в терминале и всё остальное будет сделано автоматически.
Chocolatey имеет несколько версий, в зависимости от нужд пользователя. Для домашнего использования более чем достаточно бесплатного варианта. Сравнение можно найти на соответствующей странице проекта. В бесплатной версии нет рекламы и поп-апов с предложениями купить платную версию. Это простой и удобный инструмент командной строки. Я не буду расписывать все преимущества и аспекты работы Chocolatey, так как это займёт слишком много времени. Всю дополнительную информацию можно найти в Wiki проекта. Я лишь хочу рассказать, как установить Chocolatey на ПК и начать пользоваться.
Всё взаимодействие с Chocolatey происходит в PowerShell с правами администратора. Системные требования: PowerShell v3+ и .NET Framework 4+. Если у вас современная и поддерживаемая версия Windows (на момент написания Windows 8.1 и новее), то всё должно быть в порядке. Для начала нужно убедиться, что в вашей системе разрешено выполнение скриптов. Откройте PowerShell и введите следующую команду:
Get-ExecutionPolicy
По умолчанию в Windows 10 выполнение скриптов запрещено (Restricted). Для разрешения введите следующее:
Set-ExecutionPolicy AllSigned
Set-ExecutionPolicy Bypass -Scope Process
В первом случае разрешено выполнение скриптов. Скрипты и конфигурационные файлы подписаны доверенным издателем. Во втором случае разрешено выполнение любых скриптов. Параметр «-Scope Process» указывает на то, что правило будет действовать на протяжении текущей сессии PowerShell. То есть после перезапуска PowerShell всё вернётся в исходное состояние и разрешать выполнение скриптов придётся каждый раз при старте новой сессии. Я рекомендую первый вариант, дабы не вводить команду постоянно. Если вы не собираетесь ставить что-то самоподписанное, то этого достаточно. Но убедитесь, что ваше антивирусное ПО в актуальном и рабочем состоянии и это не Windows Defender. При разрешённом выполнении подписанных скриптов есть вероятность установить что-то правильно подписанное, но вредоносное. Вариант без проверки подписи приближает нас к временам Windows 95. Более подробную информацию можно найти здесь .
Далее запустите команду установки Chocolatey.
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'))
Если внимательно посмотреть, то в команде присутствует следующее:
Set-ExecutionPolicy Bypass -Scope Process -Force;
Необходимо для установки Chocolatey. Вы можете убрать эту часть команды, и разрешить выполнение вручную, когда процесс установки вас об этом спросит. В любом случае после установки придётся перезапустить PowerShell, что приведёт к сбросу вышеуказанного параметра.
По завершении появится предупреждение, что сессию PowerShell нужно перезапустить. Смотрите выше по поводу разрешения на выполнение скриптов.

Теперь Chocolatey работает и можно пользоваться. На скриншоте я показала установку Open Shell (классическое меню «пуск» для Windows). Это просто пример простоты использования. То есть для установки чего-либо нужно ввести команду «choco install имя_программы». Для удаления «choco uninstall имя_программы». Выполнение команды сопровождается запросом на подтверждение выполнения скрипта. На случай если вы передумали, или что-то перепутали. Для автоматического подтверждения выполнения команды используйте параметр «-y» в конце команды. То есть если я хочу установить то же самое, но без лишних вопросов, то нужно ввести следующее:
choco install open-shell -y
Для обновления всех установленных приложений используется следующая команда:
choco upgrade all
Список всех команд и их описание есть здесь . Так же команда «choco —help» покажет подробности в PowerShell. Конфигурационный файл Chocolatey по умолчанию находится по адресу C:\ProgramData\chocolatey\config. С помощью текстового редактора можно отредактировать настройки менеджера. Не нужно этого делать, если на то нет явных причин и понимания того, что за что отвечает.
Список поддерживаемых программ можно найти здесь . Там же указаны и команды для их установки. В верхней части присутствует поиск. Обратите внимание на легенду программ в виде круглого значка. Старайтесь использовать только программы, помеченные зелёным значком. Остальные могут вызвать проблемы и предназначены тестерам и разработчикам.
Что делать, если программа у вас уже установлена, но вы хотите управлять её состоянием с помощью пакетного менеджера? Проще всего удалить её и поставить с помощью Chocolatey. Но это не всегда удобно. Второй вариант в том, что нужно убедиться, что программа в актуальном состоянии и просто ввести команду установки. Chocolatey распознает наличие программы в системе и добавить её в свой список. Если попытаться сделать то же самое, но с устаревшей программой, то Chocolatey выдаст ошибку с сообщением о несовпадающих хэш-суммах. Обойти это можно с помощью параметра «—ignore-checksums». Пример на том же Open Shell:
choco install open-shell -y --ignore-checksums
Не стоит увлекаться этим параметром, так как проверка хэша – часть проверки подлинности программы и гарантия того, что устанавливается именно то, что указано в скрипте установки.
В конце хочу обратить внимание на то, что часть программ в Windows имеет вполне вменяемою систему обновлений. Например, Google Chrome по умолчанию обновляется сам без каких-либо вмешательств со стороны пользователя. Нет смысла ставить его с помощью Chocolatey. Я не знаю, что будет, если через Chocolatey установить Office 365 (такая возможность там присутствует). Microsoft Office 365 обновляется через встроенную систему обновлений Windows. Даже если у вас по каким-то причинам отключена система обновлений Windows, то всё равно мне сложно поверить, что обновление Office через Chocolatey пройдёт ровно и без каких-либо последствий.
В любом случае, склонность к ламерству, это всегда недостаток. Не существует универсальных инструментов, и работа с любым существующим требует элементарного понимания процессов, стоящих за его использованием.