Небольшое предисловие
В конце 2014 года я готовил что-то вроде конференции одного выступающего для своих коллег в отделе разработки ПО. Для этой конференции я подготовил ряд выступлений с презентациями о различных интересных вещах, которые происходят в мире разработки ПО, о наших внутренних проблемах с проектами, а так же о различных хитростях работы Git.
Сегодня я решил поделиться этой информацией (конечно, без наших внутренних вещей) со всеми желающими. Поэтому следующие несколько постов будут основаны на моих выступлениях. И первая штука, которой я хотел бы поделиться это Chocolatey.
Что это вообще такое?
Все кто когда-либо использовали Linux-подобные системы, явно или не явно работали с пакетным менеджером в своем дистрибутиве. Debian и Ubuntu подобные дистрибутивы используют apt-get (лично я рекомендую aptitude), RHEL и OpenSuse используют yum. Если вы вообще не имеете представления, что это такое, то ознакомиться можно в wiki.
В двух словах это консольное приложение, которое позволяет автоматизировать процесс установки, обновления и удаления ПО.
Кратко для программистов =)
- Как “apt-get”, только для Windows
- Открытый исходный код https://github.com/chocolatey/choco
- Абсолютно бесплатный
- Не только менеджер, но и framework
- NuGet для библиотек, Chocolatey для программ
- Microsoft использует Choclatey в своем OneGet
Куча софта
|
Пример доступных приложени |
Вам доступно куча разного ПО (2500+ пакетов). Причем радует то, что есть не только маленькие програмки, но и большие пакеты типа Visual Studio, а так же фреймворки для разработчиков, и даже сервера.
Не надо следить
Некоторые люди любят использовать последние версии своих программ (я как раз из таких). Обычно для обновления ПО надо проделать ряд действий: узнать установленную версию, проверить на официальном сайте какая версия является последней, скачать обновленный инсталлятор и установить. Преимущество пакетного менеджера здесь на лицо – он сам сообщит о новой версии, сам скачает и сам установит.
Меньше проблем с установкой
Этот пункт почти ничего не значит для опытных пользователей ПК. Однако будет очень полезен для тех, кто не чувствует себя на 100% уверенно при работе с компьютером. Последнее время каждый второй инсталлятор, даже с официального сайта, захочет установить вам Яндекс.Бар, Яндекс.Браузер, Спутник от mail.ru, сменить домашнюю страницу и еще какую-нибудь гадость.
|
И так каждый раз... |
Конечно, если вы внимательно смотрите, что вам предлагает инсталлятор таких проблем не возникнет. Хотя порой очень хочется на автомате ткнуть Next->Next->Next…. У самого так пару раз бывало, когда приходится удалять всякий хлам и устанавливать ПО заново. И вряд ли в ближайшем будущем что—то резко изменится в этом направлении.
Пакетный менеджер установит только ту программу, которую ты действительно хочешь установить.
Проще установить группу программ
Сценарий очень простой – вы настраивайте новый компьютер или переустановили операционную систему и вам сразу необходимо установить с десяток привычных программ. Некоторым системным администраторам приходится выполнять эту операцию чуть ли не каждый день. Причем обычно у вас в голове уже есть список из необходимых программ.
С пакетным менеджером все становится очень просто – просто вбиваем одну команду (или проставляем галочки в GUI) и идем пить кофе.
Сборка Windows vs Chocolatey
Некоторые используют сборки Windows включающие в себя ряд программ. На мой взгляд это все-таки разные вещи. Приведу здесь простую табличку, которая демонстрирует различия.
Думаю тут все просто и наглядно. Если вам надо установить любимый набор ПО там, где с интернетом туго, то сборка вас выручит. Если с интернетом проблем нету, то ваш выбор Chocolatey.
Ninite vs Chocolatey
Про Ninite можно почитать на их сайте (https://ninite.com).
Если коротко, то Ninite упрощает установку некоторых программ на компьютер. Предназначена в первую очередь для установке привычного набора программ на свеже установленную операционную систему. Вы просто заходите, выбираете галочками, что хотите установить и получаете инсталлятор, который все сделает за вас. Просто. Удобно.
|
Список ПО доступного в Ninite |
Основная разница с Chocolatey в 2-х на мой взгляд критичных вещах – количество программ доступных для установки и обновление. Набор софта в Ninite крайне небольшой, да и обновлять программы таким образом нормально не получится.
Неприятные мелочи
Есть у Chocolatey и ряд недостатков, про которые нельзя не упомянуть:
- Отсутствие простого инсталлятора. Да, установка происходит в 1 команду. Но своей маме, я не могу просто сказать – “Открой консоль от имени администратора…”. Первый раз придется устанавливать самому.
- GUI далек от совершенства. А большинство все-таки предпочтет графический интерфейс.
- Пакеты поддерживаются сообществом, как и весь проект. К сожалению, пару раз попадал на падение их сервера с пакетами. Надеюсь, что ребята разовьются и смогут создать полноценный аналог linux-репозиториев, которые всегда online.
Как поставить
Запустить cmd.exe от имени Администратора и выполнить:
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
И в завершении
Буквально вчера вышла новая Windows 10, которая содержит в себе OneGet. OneGet это пакетный менеджер от самого Microsoft, который использует внутри себя Chocolatey. Надеюсь, что Microsoft со своими ресурсами поможет решить те неприятные мелочи, про которые я написал выше. И будет всем нам счастье =)