Как автоматически обновлять бесплатное программное обеспечение с помощью Chocolatey

На вашем компьютере есть такие приложения, как Spotify , Adobe Reader , Chrome , Firefox , 7-Zip , VLC Media Player… список(VLC Media Player…the list) можно продолжать, и все они бесплатны. Что бы мы делали без бесплатного ПО(freeware) ? Тем не менее, эти приложения требуют частых обновлений, чтобы исправить дыры в безопасности и добавить новые полезные функции. Обновления никогда не происходят в удобное время.

Вот где в игру вступает Шоколадный . (Chocolatey)Используйте бесплатное приложение Chocolatey , чтобы поддерживать программное обеспечение в актуальном состоянии. Это легко, быстро, просто, и мы упоминали бесплатно? Кажется(Seems) слишком хорошим, чтобы быть правдой, но это так. Но что такое Шоколадный(Chocolatey) ?

Что такое Шоколадный?

Если вы ничего не делали в командной строке Windows(Windows command line) , PowerShell или Linux(Linux command line) , концепция Chocolatey может показаться немного странной. Chocolatey — это программа машинного уровня, которая помогает вам управлять программным обеспечением(manage software) .

Уровень машины означает, что нет графического пользовательского интерфейса(user interface) , который помогает вам что-то делать. Все команды должны быть введены. Не позволяйте (t let)этому(Don) отпугнуть вас! Если вы можете писать слова, вы можете освоить это.

Как установить Шоколад?

Есть пара вещей, которые нужны Шоколадке(Chocolatey) для работы. Когда программе для работы требуются другие программы функций Windows , эти необходимые программы называются зависимостями. Зависимости Chocolatey : вы должны использовать как минимум:(Chocolatey)

  • Windows 7 или новее
  • PowerShell версии 2 или новее
  • .NET Framework 4 или новее
  • Кроме того, у вас должен быть доступ администратора(administrator access) на вашем компьютере.

Если у вас Windows 7 или новее, у вас уже есть PowerShell версии 2(PowerShell version 2) или новее. Если вы не уверены, что у вас установлена ​​.NET Framework 4 , не беспокойтесь. При установке Chocolatey , если у вас нет .NET 4, Chocolatey установит его за вас.

Откройте PowerShell, введя в поле поиска меню « Пуск » (Start Menu)PowerShell . Вы должны увидеть результат с именем Приложение Windows PowerShell(Windows PowerShell App) .

Щелкните его правой кнопкой мыши и выберите « Запуск от имени администратора»(Run as Administrator) . Это называется запуском PowerShell в экземпляре с повышенными правами(elevated instance) . Он повышен до прав администратора. Откроется окно PowerShell(PowerShell window) .

В окне PowerShell (PowerShell window)введите или скопируйте(type or copy) и вставьте команду:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))

Часть Set-ExecutionPolicy Bypass -Scope Process -Force сообщает PowerShell , что вы не хотите применять политику ограниченного выполнения только для следующего шага. PowerShell по умолчанию разрешает запуск только подписанных процессов. Это самый высокий уровень безопасности(security setting) . Но нам нужно запустить этот неподписанный процесс установки Chocolatey .

Часть iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’)) указывает PowerShell перейти на веб- сайт Chocolatey(Chocolatey website) , загрузить установку .ps1 скрипт и запустите его. Это та часть, которая действительно устанавливает Chocolatey .

Вы увидите, как пролетит куча текста(text fly) . Не стесняйтесь(Feel) вернуться и прочитать его, чтобы вы знали, что только что произошло. В конце предлагает запустить команду choco /? чтобы увидеть список функций. Это хороший способ убедиться, что ваша установка работает. Идите вперед и запустите эту команду.

Мимо пролетит очередная куча текста, который тоже приятно читать и понимать. В конце, если ваша установка Chocolatey сработала, вы увидите что-то вроде следующего, где зеленая часть указывает, какую версию вы только что установили.

Установка программного обеспечения с помощью Chocolatey

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

Перейдите на страницу https://chocolatey.org/packages , чтобы просмотреть программное обеспечение, доступное через Chocolatey . Вы увидите, что они называются пакетами.

Найдите пакет, который вы хотите установить. В этом примере мы будем использовать Malwarebytes Anti-Malware . Всегда хорошо иметь Malwarebytes на своем компьютере.

В экземпляре PowerShell с повышенными привилегиями используйте команду choco installmalwarebytes . Вот и все. Установка начнется. Он остановится со следующим текстом:

Если вам удобно разрешить Chocolatey управлять вашим программным обеспечением, то, когда эта установка будет завершена, мы должны использовать команду choco feature enable -n allowGlobalConfirmation , чтобы мы могли автоматизировать установку и обновления в будущем. А пока давайте просто используем A для завершения установки.

Вы увидите, что программа Malwarebytes(Malwarebytes) загружается, а затем начинает установку.

Примерно через минуту Malwarebytes будет загружен и установлен без каких-либо дополнительных действий с вашей стороны.

Обновите программное обеспечение с помощью Chocolatey

Теперь, когда у нас установлено некоторое программное обеспечение, мы можем попробовать обновить его с помощью Chocolatey . Опять же(Again) , вам нужно открыть PowerShell от имени (PowerShell)администратора(Administrator) . Затем вы можете запустить команду choco upgrade malwarebytes .

Это заставит Chocolatey выйти и посмотреть, есть ли обновление, а затем обновить его. Мы только что установили Malwarebytes, поэтому он покажет, что были обновлены ноль пакетов. Это нормально.

Если вы установили несколько пакетов с Chocolatey , вы можете обновить их все с помощью однострочной команды: choco upgrade all -y .

Это настолько сложно, насколько это возможно. Теперь, чтобы автоматически обновлять программное обеспечение с помощью Chocolatey , мы должны каким-то образом заставить эту команду выполняться по расписанию.

Автоматическое обновление программного обеспечения(Update Software) с помощью Chocolatey

Следующий шаг вы можете сделать с помощью Блокнота(Notepad) или PowerShell ISE ( Integrated Scripting Environment ). Мы сделаем этот пример с помощью Блокнота(Notepad) , так как не во всех версиях Windows есть PowerShell ISE .

Откройте Блокнот. Скопируйте команду choco upgrade all -y в Блокнот.

Сохраните это как сценарий PowerShell(PowerShell script) , назвав его, например, upgrade-ChocoPackages.ps1 . Расширение .ps1 сообщает Windows, что это  сценарий PowerShell(PowerShell script) .

Измените тип файла с Text Documents (*.txt) на All Files (*.*).Если вы этого не сделаете, Windows заставит его обновить-ChocoPackages.ps1.txt(upgrade-ChocoPackages.ps1.txt) и подумает, что это просто файл Блокнота(Notepad file) .

Windows поставляется с отличной функцией под названием « Планировщик заданий(Task Scheduler) » . Средний домашний пользователь(home user) , вероятно, не знает об этом, но Планировщик заданий(Task Scheduler) — это функция, которая уже заставляет многие вещи запускаться на регулярной основе.

В меню «Пуск» найдите(Start Menu search) « Планировщик заданий(Task Scheduler) » . Нажмите(Click) на нее, когда она появится в результате.

Когда откроется планировщик заданий(Task Scheduler) , нажмите « Библиотека планировщика заданий(Task Scheduler Library) » в верхней левой части окна. Это покажет вам все запланированные задачи, которые в настоящее время настроены на вашем компьютере.

На панели « Действия(Actions) » в правом верхнем углу нажмите «Создать задачу…»(Create Task…) . Create Basic Task не(Create Basic Task isn) подходит для этой ситуации, так как позже мы будем использовать операторы-аргументы.

В открывшемся окне на вкладке « Общие(General) » дайте задаче имя, например Choco Upgrade All , а затем описание(Description ) , например « Обновляет все программное обеспечение, установленное Chocolatey»( Updates all software installed by Chocolatey) . Если ваша текущая учетная запись пользователя(user account) не является учетной записью администратора(administrator account) на вашем компьютере, используйте кнопку « Изменить пользователя или группу»(Change User or Group) , чтобы выбрать учетную запись администратора(Administrator account) .

Вам также необходимо знать пароль учетной записи администратора . (Administrator account)Убедитесь(Make) , что выбран параметр «Выполнить», независимо от того, вошел пользователь в систему или нет . (Run whether the user is logged on or not)Это позволит запустить скрипт, даже если вы не на своем компьютере, и у него будут все привилегии, необходимые для выполнения этой работы.

На вкладке « Триггеры(Triggers) » вы сообщаете задаче, когда хотите ее запустить. Для этого одного раза в неделю должно быть достаточно. В нашем примере он настроен на запуск каждое воскресенье(Sunday) в 1:00. Выберите время, когда вы вряд ли будете использовать компьютер, чтобы обеспечить наилучшую производительность.

Также рекомендуется установить флажок Остановить задачу, если она выполняется дольше:(Stop the task if it runs longer than:) и изменить продолжительность на 2 часа. Вы можете настроить это по своему усмотрению. Чтобы разрешить применение триггера, необходимо установить флажок « Включено(Enabled) » внизу.

Перейдите на вкладку « Действия(Actions) », и мы скажем задаче, что мы хотим, чтобы она сделала. Действие по(Action) умолчанию будет Запустить программу(Start a program) . Это то, чего мы хотим, так что просто оставьте это. В поле Program/script введите powershell.exe. Это позволяет Windows узнать, что вы собираетесь запустить сценарий PowerShell(PowerShell script) .

В поле Добавить аргументы(Add arguments) введите следующие аргументы.

-noprofile — предотвращает запуск сценариев профиля PowerShell(PowerShell profile) и указывает ему просто запустить нужный сценарий.

-ExecutionPolicy Bypass — если вы не уверены, включено ли выполнение скрипта, хорошо иметь это в аргументах. Это обеспечит запуск скрипта.

-file — это аргумент, который сообщает планировщику заданий, что все, что следует дальше, — это путь к файлу, который мы хотим запустить PowerShell . В нашем примере скрипт был сохранен в C:\Scripts\upgrade-ChocoPackages.ps1 . На вашем компьютере он может отличаться, поэтому настройте его соответствующим образом. Если в пути к вашему файлу есть имена с пробелами, вам нужно будет заключить весь путь в кавычки.

Полный аргумент будет выглядеть так: -noprofile -executionpolicy bypass -file C:\Scripts\upgrade-ChocoPackages.ps1

На вкладке « Условия(Conditions ) » есть дополнительные параметры, которые мы можем установить для запуска сценария. Посмотрите на них, чтобы увидеть, какие из них вы хотели бы применить. В этом примере установлено значение «Запускать задачу, только если компьютер подключен к сети переменного тока»(Start the task only if the computer is on AC power) , и «Остановить», если компьютер переключается на питание от батареи(Stop if the computer switches to battery power ) , чтобы гарантировать, что батарея не разрядится.

Пробуждение компьютера для запуска этой задачи(Wake the computer to run this task) выбрано для обеспечения выполнения задачи вне зависимости от того, находится ли компьютер в спящем режиме или нет.

На вкладке « Настройки » рекомендуется установить флажок « (Settings )Разрешить запуск задачи по запросу(Allow task to be run on demand) », чтобы мы могли вручную протестировать задачу, когда закончим. Выбор по умолчанию для остальных в порядке.

Нажмите OK , чтобы завершить создание запланированной задачи. Должно появиться окно с именем пользователя, которого вы выбрали на вкладке «Общие». Вы должны ввести пароль пользователя и нажать (user and click) OK . Это сообщает Windows, что у вас действительно есть полномочия для запуска задачи.

Теперь вы вернулись в главное окно планировщика заданий(Task Scheduler window) . Найдите новую задачу. Щелкните правой кнопкой мыши задачу и выберите « (task and select) Выполнить»(Run ) , чтобы проверить ее.

Вы не увидите ничего существенного, за исключением того, что статус задачи изменится на Выполняется(Running) . Примерно через минуту вы должны увидеть, что время последнего(Last Run Time ) выполнения также изменилось на отметку времени, когда вы начали выполнение задачи.

Если вы не получили никаких сообщений об ошибках, задача должна быть в порядке. Закройте окно Планировщика заданий(Task Scheduler window) и не беспокойтесь о том, что вам придется снова вручную обновлять какое-либо программное обеспечение, которое вы установили с помощью Chocolatey .

Все сделано!

Может показаться, что для его настройки требуется много работы. Подумайте об этом: вам потребовалось от 10 до 30 минут, чтобы настроить это. Если вы используете это для обновления 10 программ, и каждая программа ежемесячно проходит процесс обновления примерно по 6 минут, вы сэкономите от 30 до 50 минут.

Вы уже впереди в сохраненном времени. В течение года это может быть от 6 до 10 часов экономии времени. Это не считая времени, сэкономленного благодаря знанию того, как использовать Chocolatey для установки программ за минуту или две вместо 10 или 15 минут.



About the author

Я инженер-программист с более чем двухлетним опытом работы с мобильными и настольными приложениями. У меня есть опыт работы с обновлениями Windows, службами и Gmail. Мои навыки делают меня идеальным кандидатом для таких задач, как разработка приложений для Windows или поддержка почтовых клиентов.



Related posts