Установка программ под Windows не так удобна, как хотелось бы – сперва нужно открыть браузер, найти где можно скачать требуемое приложение, скачать его и только затем установить. Не слишком удобно, но все становится еще хуже, когда речь заходит об обновлении. Если некоторые программы такие, например, как браузеры умеют обновляться автоматически, то часть приложений либо ограничиваются простым уведомлением о наличии новой версии, либо и вовсе не проверяют наличие обновлений. Сегодня мы расскажем о том, как упростить не только установку программ, но и автоматизировать их обновление.
Chocolatey — пакетный менеджер для Windows
Пакетный менеджер представляет из себя целый набор ПО, который управляет установкой, удалением и обновлением программ. Пользователи UNIX систем уже давно используют все преимущества подобных систем, но вот в Windows они не очень развиты. И здесь нам на помощь приходит сторонний пакетный менеджер Chocolatey. Благодаря ему мы сможем не только быстро устанавливать программы, но и настроить их автоматическое обновление.
Chocolatey | Как установить и использовать менеджер пакетов Windows
Установка и системные требования.
Chocolatey требует наличия Windows 7 или более поздней версии, PowerShell v2+ и .NET Framework 4+. Если вы счастливый обладатель Windows 10, то вам вряд ли есть, о чем беспокоиться. В последней версии ОС все требуемые компоненты уже встроены. Для начала работы с Chocolatey нам нужно запустить командную строку Windows от имени администратора. Затем просто скопируйте ниже приведенный текст и щелчком правой клавиши мыши вставьте его в окно команд:
При возникновении каких-либо проблем, можно попробовать выполнить установку в PowerShell. Если вы используете Windows 10, то вам нужно просто нажать на кнопке Пуск правой клавишей мыши и выбрать «Windows PowerShell (администратор)». Затем также копируете команду и вставляете ее в окно команд и щелчком правой клавиши мыши.
Источник: dzen.ru
Как установить менеджер пакетов Chocolatey на Windows Server
Эта инструкция покажет вам, как установить менеджер пакетов Chocolatey на Windows Server, который сделает установку и удаление программ в Windows таким же простым и удобным, как в операционных системах на базе Linux. Кроме того, вы сможете легко обновлять установленные приложения одним щелчком мыши или командой.
Что такое Chocolatey.
Были времена, когда ОС на базе Linux имели очень сложный механизм установки приложений, он сохранился до сих пор, и сейчас вы можете скомпилировать любое приложение из исходного кода с помощью make или magic. Из-за этого разработчики Linux представили очень удобный способ установки приложений – менеджеры пакетов.
Теперь у вас есть возможность сравнить компиляцию и современный механизм управления пакетами – apt-get, yum для ОС и pip, gem для языков программирования, где приложения с зависимостями устанавливаются простой командой и так же легко обновляются или удаляются. Windows в данном случае не сделала никаких революционных улучшений, она просто сделала свой магазин, но он по-прежнему не пользуется популярностью. В Windows по-прежнему приходится искать программы в Интернете и обновлять их вручную, что не только неудобно, но и более опасно, так как можно нарваться на программу с трояном. В данном случае Chocolatey был создан для того, чтобы сделать управление программами в Windows более удобным и похожим на то, как это делается в Linux. Он создал хранилище программ и специальный клиент для Windows, который способен загружать, устанавливать и обновлять программы из этого каталога автоматически.
Правильная установка программ в WINDOWS 10, 11 | chocolatey
Установка Chocolatey
Клиент Chocolatey представляет собой утилиту PowerShell. Чтобы установить его, откройте Windows PowerShell с правами администратора и введите следующий код:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’)))
Дождемся завершения процесса, и программа будет готова к использованию. После этого вы можете ознакомиться с основными возможностями программы. Для этого введите команду choco /?, которая покажет вам, как пользоваться программой и основными командами.
Как вы уже, наверное, поняли, все операции выполняются путем ввода специальных команд в PowerShell. Например, если вам нужно установить программу, просто введите:
choco install имя_пакета
Чтобы обновить ее:
choco update имя_пакета
Чтобы просмотреть весь список доступных программ в хранилище, введите:
choco list
или воспользуйтесь поиском в онлайн-версии каталога – https://community.chocolatey.org/packages?q=.
ChocolateyGUI
Если вам не очень нравится набирать команды вручную, вы можете получить графический интерфейс для Chocolatey. Он называется ChocolateyGUI и устанавливается путем ввода в PowerShell:
choco install chocolateygui
Процесс займет некоторое время и потребует ввести “a” для подтверждения установки.
Чтобы запустить ChocolateyGUI, просто введите ее название в Поиск Windows, и он выдаст установленную программу.
Программа имеет очень простой и интуитивно понятный интерфейс. Установка программ очень проста – просто щелкните правой кнопкой мыши на нужное приложение из списка и нажмите кнопку install.
Затем немного подождите, пока установка завершится.
После завершения установки вы можете найти программу с помощью Поиска Windows.
Чтобы удалить программу, просто щелкните ее правой кнопкой мыши и выберите удалить.
Чтобы автоматически обновить все программы, просто запустите в PowerShell:
Источник: serverspace.ru
Управление пакетами в Windows (часть 2)
Продолжаем историю об управлении пакетами в Windows, начатую в первой части статьи. В прошлый раз мы остановились на установке пакетов из репозитория Chocolatey и сегодня продолжим эту тему.
У chocolatey есть свой менеджер пакетов, гораздо более эффективный, чем встроенный в Windows. Для его установки необходимо открыть консоль PowerShell от имени администратора и выполнить следующие команды:
Set-ExecutionPolicy Bypass -Scope Process -Force;
iex (( New-Object System.Net.WebClient).DownloadString( ‘https://chocolatey.org/install.ps1’ ))
Первая команда устанавливает политику выполнения скриптов, вторая загружает скрипт установки и запускает его. Скрипт скопирует на компьютер все необходимые файлы, а также настроит переменные окружения.
Для начала выведем справку по основным командам. Синтаксис у chocolatey довольно простой и лаконичный, в стиле linux.
Поиск пакетов
Перед тем, как установить пакет, его надо найти. Приступим к поиску на примере популярного файлового менеджера TotalCommander.
Найти нужный пакет можно с помощью команды search, list или find (кому как больше нравится). Самый простой вариант поиска:
choco search totalcommander
А теперь немного усложним поиск и найдем все (all) одобренные (approoved-only) и не битые (not-broken) версии TotalCommander:
choco search totalcommander ––all ––approoved-only ––not-broken
Если точное имя пакета неизвестно, можно искать по меткам или тегам (tags). Обычно в тегах записывается информация, позволяющая более-менее точно определить принадлежность пакета. К примеру, TotalCommander относится к файл-менеджерам, соответственно его можно найти такой командой:
choco search file manager ––by-tag-only
Также при поиске можно воспользоваться функционалом PowerShell, например передать результаты поиска командлету Out-GridView:
choco list | sort Name | Out-GridView
Еще с помощью поиска можно посмотреть подробную информацию о пакете, такую как дата выпуска, функционал и т.п. В качестве примера выведем данные о TotalCommander 9.22:
choco search totalcommander ––version=9.22 ––detail
Особое внимание обратите внимание на раздел Package parameters. В нем описаны ключи установки для данного пакета, с помощью которых можно кастомизировать установку приложения.
Установка пакетов
Для простой установки TotalCommander достаточно выполнить команду:
choco install totalcommander
Но мы немного усложним задачу, к примеру установим определенную версию и произведем дополнительные настройки:
choco install totalcommander ––version=9.22 ––params ′/InstallPath:%systemdrive%totalcmd /DesktopIcon /ShellExtension′ ––yes
С помощью ключа params мы меняем директорию установки, добавляем ярлык приложения на рабочий стол и в контекстное меню проводника. Эти параметры описаны в разделе Package parameters в свойствах пакета. Ключ yes нужен для автоматического подтверждения, чтобы при установке не требовалось вмешательства пользователя.
Кстати, при установке пакета могут автоматически подтягиваться другие пакеты, необходимые для его установки. В нашем случае при установке TotalCommander дополнительно были дополнительно установлены еще 3 пакета.
Напомню о том, что успешная установка пакета вовсе не гарантирует установку приложения. Поэтому, на всякий случай, убедимся, что TotalCommander появился в меню Пуск,
на рабочем столе и в контекстном меню проводника.
На волне успеха установим еще несколько пакетов. На сей раз сделаем это одной командой, просто перечислив имена пакетов через пробел:
choco install firefox adobereader xnview ––yes
В качестве альтернативы при установке пакетов можно использовать файл конфигурации. В файл можно прописывать любое количество пакетов с любыми дополнительными параметрами. Это очень удобно, особенно если приходится часто устанавливать одинаковый набор приложений с определенными параметрами. Файл конфигурации представляет из себя самый обычный XML-файл с расширением .config, имя может быть любое.
Для примера создадим вот такой файл package.config. В него добавим три пакета, с параметрами и без.
При использовании файла конфигурации при установке вместо имени пакета указывается имя файла (либо путь к нему, если файл находится отдельно):
choco install package.config ––yes
Ну и посмотреть уже установленные пакеты можно с помощью команды searchlist:
choco list ––local-only
Обновление пакетов
Приложения постоянно обновляются, выходят новые версии, соответственно обновляются и пакеты в репозитории. Chocolatey умеет обновлять как пакеты так и приложения, установленные из этих пакетов. Это одно из больших его преимуществ, ведь встроенный в Windows менеджер пакетов такой возможности лишен.
Проверим, как работает обновление на многострадальном TotalCommander. Я нарочно установил не самую новую версию, чтобы потом ее обновить.
Для полноты эксперимента проверим текущую версию, сейчас она 9.22.
Теперь запускаем обновление командой:
choco upgrade totalcommander ––yes
После чего еще раз проверяем версию. Как видите, она изменилась на 9.22a, а значит обновление прошло успешно.
Что интересно, chocolatey позволяет ″обновиться″ и на более раннюю версию, т.е. произвести даунгрейд. Откатим TotalCommander обратно на версию 9.22 командой:
choco upgrade totalcommander ––version=9.22 ––allow-downgrade ––yes
Примечание. С учетом того, что большинство приложений не поддерживают возможность даунгрейда, сия процедура может не сработать или сработать не так, как ожидается. Поэтому я не стал бы использовать ее без особой необходимости.
Можно обновить один пакет, несколько или все сразу:
choco upgrade all ––yes
Chocolatey сам сверит версии всех установленных пакетов с пакетами в репозитории и, при наличии более новой версии, обновит их. В моем же случае все пакеты последней версии и обновления не требуется.
Еще один интересный момент.
К примеру я хочу обновить Far, которого у меня отродясь не было. Умный chocolatey не находит указанный пакет, сообщает об этом и… устанавливает его. То есть если указанного для обновления пакета нет в системе, то он будет автоматически установлен.
Удаление пакетов
Завершающим этапом жизненного цикла пакета является его удаление из системы. Для этой цели в состав каждого пакета как правило входит скрипт по деинсталляции chocolateyUninstall.ps1. Кроме того, при установке пакета choco отслеживает изменения реестра, производимые собственными установщиками приложений. При удалении пакета эта информация используется службой Auto uninstaller для корректного удаления приложения.
Для наглядности удалим один пакет, к примеру AdobeReader:
choco uninstall adobereader ––yes
Следующий пакет удалим вместе со всеми зависимостями, на всякий случай укажем номер версии:
choco uninstall firefox ––version=66.0.3 ––remove-dependencies ––yes
Кстати, choco отслеживает все зависимости и если удаляемый пакет нужен еще кому нибудь, то его удаление отменяется.
Войдя во вкус, удалим все оставшиеся пакеты одной командой:
choco uninstall all ––yes
В большинстве случаев удаление пакета происходит без проблем, но бывают исключения. В моем случае TotalCommander оказался ″живучим″ и удалить его не удалось. Я специально несколько раз устанавливал его и удаление ни разу не прошло успешно. Причина подобного поведения кроется, скорее всего, в некорректной работе штатного деинсталлятора. В такой ситуации проще удалить сам пакет и приложение вручную.
Choco GUI
Не секрет, что далеко не все пользователи Windows любят работать в командной строке На такой случай у choco есть графическая оболочка с названием Chocolatey GUI. Устанавливается она из пакета, командой:
choco install chocolateygui
Что интересно, нормально установить пакет chocolateygui мне не удалось, при его установке я все время получал ошибку. Судя по тексту ошибки, инсталлятор не мог записать лог установки, поскольку в параметрах установки указан несуществующий путь.
В принципе можно было загрузить пакет и отредактировать его, после чего корректно установить. Но я не стал возиться, а просто стянул из пакета инсталлятор, обычный MSI-файл, и установил его вручную.
Итак, что же дает нам Choco GUI? Да в принципе все то же самое, но в чуть более удобном виде. С ее помощью мы можем найти нужный пакет в репозитории,
посмотреть подробную информацию о нем, при необходимости установить.
А также можно посмотреть все установленные пакеты, обновить или удалить их.
Настройка chocolatey
Ну и напоследок немного покопаемся во внутренностях choco. Итак, само приложение choco.exe можно найти по адресу C:ProgramDatachocolatey, указанному в переменной окружения %ChocolateyInstall%. Все установленные пакеты можно найти в папке lib, в папке config находится файл конфигурации, в остальных папках лежат утилиты и модули PowerShell, используемые при установке пакетов.
Дистрибутивы программ, необходимые для установки пакетов, загружаются в кэш. По умолчанию он находится во временной директории в профиле текущего пользователя, путь к которой хранится в переменной окружения %temp%.
Глобальные настройки choco хранятся в файле конфигурации, и при необходимости их можно изменить. Файл конфигурации для этого трогать вовсе не обязательно, для этой цели у choco есть специальная команда config. К примеру, просмотреть текущую конфигурацию можно командой:
choco config list
Попробуем изменить конфигурацию, к примеру изменим место хранения кэша на более доступное. За расположение кэша отвечает параметр cachelocation. Изменим его командой:
choco config set cachelocation C:tempchoco
И проверим результат:
choco config get cachelocation
Как видите, установка программ из chocolatey — процедура достаточно простая и удобная. Конечно есть отдельные недочеты и ошибки, но в целом все работает как надо. Кроме того, в своей статье я рассмотрел лишь часть функционала, на самом деле ″шоколадка″ может гораздо больше. Для более тесного знакомства с ней на официальном сайте есть подробная документация, рекомендую ознакомиться.
Ну а в целом использование пакетов для управления ПО имеет свои преимущества. И хотя сейчас этот метод не пользуется широкой популярностью, но в дальнейшем все может измениться. Впрочем, это лишь мое мнение
Источник: windowsnotes.ru