Менеджер пакетов Chocolatey: по следам Synaptic.
Всем привет!
В разных обсуждениях то и дело всплывает тема менеджера пакетов в Windows. Сегодня я не буду говорить конкретно про Windows 10. Я расскажу про менеджер пакетов, подходящий для WIndows 7,8,10.
@int0x80 это ответ на твой вопрос.
Для начала откроем командную строку с повышенными привилегиями и скомандуем:
@PowerShell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
В Powershell разрешим выполнение удаленных подписанных сценариев:
Set-ExecutionPolicy RemoteSigned
Далее ставим Chocolatey. В Powershell командуем:
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
Всё готово! Теперь мы можем из консоли Powershell, запущенной с повышенными привилегиями управлять приложениями. Самые главные команды перечислены на снимке ниже.
У команды есть более краткие названия:
choco install = cinst
choco uninstall = cuninst
Но давайте я вас порадую графическим интерфейсом менеджера пакетов: даешь аналог Synaptic!
choco install ChocolateyGUI
В графическом интерфейсе доступен полноценный функционал управления пакетами. Кто использовал Synaptic, тот узнает. Доступен большой выбор приложений с описанием.
Поиск приложений осуществляется командой choco find. Например поищем paint:
choco find paint
Можно установить сразу несколько приложений - перечислите их через пробел.
cinst vlc 7zip
Choco сразу проверяет зависимости программ и скачает недостающие пакеты:
Удалять приложения так-же просто, достаточно перечислить их:
Плюсы данного метода:
- Вы можете использовать Chocolatey в сценариях.
- Вы получаете приложение без дополнительных рекламных программ
- Вы получаете официальное ПО
На этом, пожалуй всё. В следующий раз поговорим о пакетном менеджере Windows 10 OneGet.
Choco - удобно, да и работа с Choco похожа на работу с линуксовыми пакетными менеджерами. Удобно для автоматизации.
Но есть, как обычно, довольно серьезный "но".
Choco не рекомендует ставить пакеты из публичного community репозитория из соображений безопасности, поскольку бОльшая часть пакетов написана так, чтобы забрать софтину с
сайта разработчикапроизвольного адреса из интернета и установить вам ее на комп.Да, Choco гарантирует что данные опубликованные в коммунити репозитории будут проверены на вирусы и малварь, но не гарантирует что внешние ресуры, используемые пакетами не будут заражены\подменены.
Так, любимый многими Classic Shell и Total Commander из реп Chocolatey содержали малварь за последние два года.
Единственный безопасный способ использовать chocolatey - держать свою приватную репу.
Это linux-way и справедливо и для реп, используемых пакетными менеджерами в линукс, однако Windows машины - более лакомая цель для заражения, поэтому здесь вероятность просто выше.
Второй минус Chocolatey так же идет из мира linux: коммунити репозиторий поддерживается мейнтейнерами. Если человек забил обновлять софт в пакете на более свежую версию - вся ваша автоматизация накрылась медным тазом.
Самое полезное применение choco по моему мнению, это скоммуниздить установочные скрипты, поскольку добросовестные мейнтенеры обрабатывают в установщиках разные пограничные случаи, до которых вы никогда не догадаетесь, затем переписать их под себя и использовать без choco
Ну и для @SandRiver, можно то конечно можно, но если вы регулярно этим занимаетесь - будете регулярно сталкиваться что что-то не ставится. Проходили, задолбались, переписывали скрипты под себя и используем без пакетного менеджера.
К слову, Homebrew с недавних пор вроде как поддерживает Windows 10 с WSL.
а я все пакеты просто в пакет складываю :-)