Менеджеры пакетов Windows: почему пора перестать их бояться и начать использовать

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

Менеджеры пакетов, что это

На мобильных системах мы давно привыкли к магазинам приложений: исчерпывающий каталог, безопасность и автоматизированные обновления — все просто и понятно. Конечно, для Windows предусмотрен Microsoft Store, но у него хватает своих недостатков, так что универсальным для всех он так и не стал.
Менеджеры пакетов стали таким себе компромиссом для тех, кто хочет автоматизировать процесс установки и обновления софта, но при этом полностью контролировать его.

Три преимущества пакетных менеджеров

Автоматизация

Главная причина, по которой менеджеры пакетов вообще существуют — автоматизация. Мы привыкли ставить программы по одной, скачивая их из десятка разных источников. Пакетный менеджер делает то же самое, но вместо беготни по сайтам работает единая команда. Просим систему установить приложение — оно появляется. Хотим обновления? Они прилетают централизованно, как патчи для игр. Это экономит время, а что еще более важно, избавляет пользователя от рутинных действий.

Безопасность

Ещё один важный момент — безопасность. Скачивая exe-файлы из разнообразных сайтов, мы всегда берем на себя ответственность за сохранность системы: что это подходящая сборка, без подвохов и вредоносных компонентов. Пакетные менеджеры работают иначе: каждый пакет проходит модерацию, версии сверяются, а самое главное — система сверяет хэш. Каждый манифест пакета содержит уникальный криптографический отпечаток (обычно хэш SHA-256) легитимного установщика. Перед тем как менеджер пакетов запускает любой установочный файл, он локально вычисляет хэш файла и сравнивает его с доверенным манифестом. Малейшее несовпадение будет означать повреждение или атаку типа man-in-the-middle. Только если установщик чистый и безопасный, он будет запущен.

Чистота системы

Тут пакетные менеджеры выигрывают без обсуждений. Они не дают программам тащить с собой дополнительный софт, не позволяют ей писать что угодно куда угодно, не плодят дубликаты библиотек. Вишенка на торте, возможность удалять приложения так, чтобы за ними не оставалось хвостов.

…и один недостаток (плюс решение)

Когда доходит до использования пакетных менеджеров, многих останавливает необходимость использования командной строки. Она кажется чуждой, а найти нужное приложение порой проще, чем запоминать команды. Если вы из числа тех, кого это останавливает, обратите внимание на графическую надстройку UniGetUI. Она собирает все менеджеры пакетов в одном окне и позволяет ставить, обновлять и удалять программы так же легко, как в обычном магазине приложений. Получается современная панель управления с интуитивно понятным интерфейсом.

Что выбрать

Есть три ключевых игрока среди пакетных менеджеров, один из них вам точно подойдет. Winget — официальное встроенное решение, которое уже активно на всех актуальных версиях системы. Если хотите проверить собственную систему, достаточно запустить PowerShell и ввести команду

winget -v

Если модуль активен, ответом будет его версия. В ином случае вам потребуется запустить PowerShell и использовать команду

Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe

Его аналоги от сторонних разработчиков — Scoop и Chocolatey — оба со своей армией преданных поклонников.

Как это работает

Собственной оболочки менеджеры пакетов не имеют, а для взаимодействия с ними используется командная строка. Например, чтобы установить браузер Firefox при помощи Winget вам потребуется команда

winget install firefox

Аналогичным образом указываем названия необходимых программ и даем команду на установку.
Если вы выбрали Chocolatey, команда будет выглядеть иначе:

choco install firefox -y

флаг -y в данном случае означает автоматическое подтверждение установки. Чтобы проверить и установить обновления с Winget используем команду

winget upgrade --all

Менеджеры пакетов удобно использовать со скриптами для быстрой загрузки избранного софта. Например, если вы хотите быстро установить все необходимые программы на “чистую” Windows можно использовать скрипт следующего вида:

# install_apps.ps1
# Скрипт для автоматической установки программ через Winget

# 1. Полный список программ для установки
$apps = @(
    "Firefox.Firefox",
    "Google.Chrome",
    "Microsoft.Edge",
    "VideoLAN.VLC",
    "Spotify.Spotify",
    "Discord.Discord",
    "SlackTechnologies.Slack",
    "Zoom.Zoom",
    "Microsoft.VisualStudioCode",
    "Notepad++.Notepad++",
    "7zip.7zip",
    "WinRAR.WinRAR",
    "dotPDN.Paint.NET",
    "OBSProject.OBSStudio",
    "Git.Git",
    "Python.Python.3",
    "OpenJS.NodeJS",
    "Valve.Steam"
)

# 2. Цикл установки программ
foreach ($app in $apps) {
    Write-Host "Устанавливаем $app..." -ForegroundColor Cyan
    # Все параметры установки теперь находятся внутри цикла
    winget install --id=$app --silent --accept-package-agreements --accept-source-agreements
}

# 3. Обновление всех уже установленных программ
Write-Host "Обновляем все программы до последних версий..." -ForegroundColor Cyan
winget upgrade --all --silent --accept-package-agreements --accept-source-agreements

Write-Host "Установка и обновление успешно завершены!" -ForegroundColor Green

В зависимости от ваших задач сюда достаточно вписать необходимые вам приложения. Не забывайте, что запускаться скрипт должен с правами администратора.
Было полезно?
Ищите больше полезных материалов о технологиях и устройствах в нашем Telegram-канале.

Комментарии

Чтобы оставлять комментарии,

пожалуйста авторизуйтесь.

Функционал в разработке!

Функционал в разработке!

Пока эти кнопки заработают, пройдут года, может даже века, но вы не отчаивайтесь, ждите и вам воздастся! Хочешь ускорить процесс разработки? Делай репосты страниц сайта в соцсети и рассказывай о нас друзьям!
Регистрация прошла успешно