Что такое package manager

от admin

Новая программа от Microsoft делает процесс установки Windows‑программ таким же, как в Linux

Microsoft не стесняется переносить в Windows 10 различные фишки из других операционных систем. Очередное такое заимствование — менеджер пакетов, как в Linux. Программа называется Windows Package Manager, или winget, и она уже присутствует в новом выпуске Insider Preview. В следующих обновлениях она будет доступна для всех пользователей «Десятки».

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

Теперь Windows 10 тоже так умеет. И попробовать качать программы «как в Linux» вы можете уже сейчас. Вот как это делается.

Устанавливаем Windows Package Manager

Откройте страницу релизов Windows Package Manager и скачайте оттуда последнюю версию. Это файл в формате appxbundle.

Откройте его, нажмите «Установить», и winget будет добавлен в вашу систему.

Скачиваем программы

Теперь вы можете устанавливать программы, как в Linux, через командную строку. Откройте в меню «Пуск» PowerShell от имени администратора.

Перед вами окажутся все приложения, которые есть в библиотеке Windows Package Manager. Их уже довольно много, и в дальнейшем количество будет ещё увеличиваться.

Этот список куда более полезен, чем то, что нам предлагают в Microsoft Store.

Когда хотите установить какую-нибудь программу, например торрент-клиент Deluge, наберите команду winget install и имя пакета, которое можно увидеть во втором столбце таблицы winget show . Вот:

winget install DelugeTeam.Deluge

Пойдёт процесс загрузки, а затем и установки программы. Участия в нём принимать вам не понадобится — ввели команду, и всё.

Кстати, указывать точное имя пакета необязательно. Можно ввести:

winget install dropbox

И система поймёт, что вы хотите установить программу Dropbox.

Если хотите уточнить, есть ли программа в перечне доступных, наберите

winget search vlc

Windows Package Manager найдёт искомую программу.

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

К сожалению, в отличие от пакетных менеджеров Linux, winget пока не умеет устанавливать по нескольку программ разом. Команды вроде winget install dropbox vlc deluge , чтобы скачать сразу три приложения, пока не работают.

Обзор Windows Package Manager: Первая предварительная версия

19 мая 2020 года на онлайн-конференции Build 2020 компания Microsoft представила предварительную версию Windows Package Manager. Администраторы систем Windows могут использовать данный менеджер пакетов для установки продуктов Microsoft и сторонних приложений, таких как 7-Zip, KeePass, Arduino IDE или Discord.

Windows Package Manager

Основная задача инструмента Windows Package Manager — автоматизация процессов установки, обновления и настройки приложений под Windows.

Windows Package Manager

Windows Package Manager работает аналогичным образом, как и системы управления пакетами для Linux или сторонние менеджеры пакетов для Windows, такие как Chocolatey. Microsoft открыла исходный код данного инструмента, поэтому заинтересованные пользователи могут проинспектировать исходники проекта в репозитории GitHub. Там же можно ознакомиться с документацией и загрузить предварительную версию Windows Package Manager.

Первый взгляд на Windows Package Manager

После установки вы можете запустить Windows Terminal, PowerShell или командную строку, чтобы начать пользоваться менеджером пакетов. Запустите команду winget без параметров, чтобы посмотреть доступные команды и справку.

Обзор Windows Package Manager

На данный момент Windows Package Manager поддерживает следующие команды:

  • winget install // для установки указанного приложения
  • winget show // для отображения сведений о программе
  • winget source // для управления источниками приложений
  • winget search // для вывода списка всех или определенных приложений
  • winget hash // для хэширования файлов установщика
  • winget validate // для утверждения файла манифеста

Команда winget search отображает список программ, которые поддерживает Windows Package Manager. В настоящее время поддерживаются такие популярные программы, как vim, Whatsapp, GIMP, VLC, Steam, Sublime Text, а также многие другие приложения и инструменты для разработчиков.

Обзор Windows Package Manager

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

Команда winget install [имя программы] загружает выбранный пакет и запускает установщик. По всей видимости, программы загружаются со сторонних сайтов (сайт разработчика), а не из репозитория, поддерживаемого Microsoft.

Winget показывает расположение файла. Менеджер пакетов в настоящее время поддерживает установщики exe, msi и msix.

Обзор Windows Package Manager

Winget может работать без прав администратора устройства. Для установки некоторых программ может потребоваться повышение привилегий, в этом случае появится подсказка.

Команда winget show [имя пакета] отображает дополнительную информацию о программе, например ссылки на домашнюю страницу и лицензию, URL-адрес источника, SHA256 хэш и тип установщика.

Обзор Windows Package Manager

Разработчики ПО могут предоставить свои продукты для Windows Package Manager, подробная инструкция представлена на сайте Microsoft Docs. По сути, разработчикам необходимо создать манифест пакета с информацией о приложении. Затем они могут отправить манифест в репозиторий Windows Package Manager на GitHub.

Windows Package Manager поддерживает скрипты. Администраторы могут создавать пакетные сценарии или скрипты PowerShell, например для пакетной установки нескольких приложений.

Например, следующий скрипт устанавливает приложения Microsoft PowerToys и Windows Terminal:

Windows Package Manager может стать важным инструментом в арсенале не только системных администраторов Windows, но и домашних пользователей. Конечно, успех проекта зависит от многих факторов, например будет ли инструмент встроен в Windows и как будет развиваться экосистема пакетов и функциональность приложения.

А вам понравился Windows Package Manager? Вы будете пользоваться этим инструментом?

Обзор пакетных менеджеров Linux

Одна из первых вещей, с которой столкнуться новые пользователи при выборе своего дистрибутива Linux, это существование нескольких дистрибутивов с различными способами управления пакетами.

Управление пакетами очень важно в Linux, если вы знаете как использовать несколько менеджеров пакетов, это еще один аспект, показывающий, что вы уже опытный пользователь. Установка программного обеспечения, обновление, обработка зависимостей, удаление программ это очень важные действия для администрирования операционной системы Linux.

Чтобы стать более опытным пользователем в Linux нужно понять, каким образом основные дистрибутивы обрабатывают пакеты программного обеспечения. Поэтому тема сегодняшней статьи — обзор пакетных менеджеров Linux. Мы рассмотрим основные пакетные менеджеры Linux. Главная цель, предоставить основную информацию об этих пакетных менеджерах, но об их использовании будет сказано только несколько слов.

1. DPKG — система управления пакетами Debian

Dpkg — это базовая система управления пакетами в Debian. Может использоваться для установки, удаления, хранения и получения информации о .deb пакетах.

Это инструмент низкого уровня и есть дополнительные утилиты, которые помогают пользователям устанавливать пакеты из репозиториев, разрешать зависимости и искать пакеты по названию. Это такие программы, как:

APT (Advanced Packaging Tool)

Очень популярный, мощный инструмент командной строки с открытым исходным кодом для управления пакетами, который намного увеличивает возможности dpkg. Эта утилита используется в Debian и его производных, таких как Ubuntu, Linux Mint. Я уже писал про apt на этом сайте.

Aptitude Package Manager

Это еще одна популярная утилита командной строки для управления пакетами в Debian. Она работает аналогично Apt, но между ними есть некоторые различия. Первоначально он был разработан для Debian, но сейчас может применяться и в Red Hat дистрибутивах.

Synaptic

Synaptic — это графический менеджер пакетов linux, написанный на GTK и использующий apt в качестве бэкенда. Он отлично подходит для пользователей, которые не хотят работать в командной строке. Здесь есть все те же необходимые функции что и в apt.

Gnome Software

Это центр приложений Gnome. Там есть далеко не все программы, которые есть в репозиториях и подход к установке немного другой. Вы устанавливаете не пакеты по отдельности, а саму нужную программу. Обо всём остальном центр приложений заботиться сам, скрывая от вас подробности. Gnome Software поддерживает не только Deb пакеты, но и Rpm в системах, основанных на RHEL, а также snap и flatpack, о которых мы поговорим ниже.

Читать:
Редактирование personal xlsb запрещено при открытии как убрать

AppGrid

Простенькая альтернатива для центра приложений Ubuntu. Программе очень далеко до функциональности Synaptic. Она позволяет устанавливать приложения так же, как и центр приложений Gnome Software и выглядит очень похоже на Windows Store.

2. RPM (Red Hat Package Manager)

Это базовый формат и система управления пакетами, созданная в компании Red Hat. Так же как и dpkg, это низкоуровневый инструмент, для которого существует несколько утилит, это такие пакетные менеджеры Linux:

YUM (Yellowdog Updater, Modified)

Это популярный менеджер пакетов linux с открытым исходным кодом для командной строки. Он используется для управления пакетами в дистрибутиве Red Hat. Если сравнивать с инструментом apt, то здесь есть все те же функциональные возможности, правда, работает немного медленнее. Написан на Python 2. Немного больше об отличиях формата пакетов rpm и deb можно прочитать в отдельной статье. А про сам Yum есть такая статья.

DNF – Улучшенный Yum

Это пакетный менеджер linux, используемый в дистрибутиве Fedora начиная с версии 18. Он представляет из себя следующее поколение YUM.

Сначала он был создан только для экспериментов, но начиная с Fedora 22 он используется как пакетный менеджер по умолчанию. Он работает почти также как и YUM, для разрешения зависимостей используется библиотека libsolv и hawkey, но отличие от YUM, написан на Python 3. Здесь можно наблюдать увеличение скорости работы, а также уменьшение потребления памяти.

3. Pacman — менеджер пакетов Arch Linux

Этот менеджер пакетов linux разработан командой программистов для дистрибутива ArchLinux. Сейчас, кроме ArchLinux, он используется в Manjaro и еще нескольких малоизвестных дистрибутивах, основанных на ArchLinux.

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

Программа специально спроектирована для удобной работы с пакетами в Arch Linux. А поскольку это система с режимом выпуска в виде роллинг релизов, то этот пакетный менеджер подходит наилучшим образом. Pacman поддерживает систему в актуальном состоянии синхронизируя списки пакетов из основного сервера. Причем существует только одна версия системы — текущая.

Программа написана на Си, а в качестве пакетов используются файлы формата tar.xz, которые на самом деле являются обычными архивами, внутри которых находятся файлы программы и файл описания установки PKGBUILD. Читайте подробнее про установку пакетов в Arch Linux в отдельной статье.

4. Zypper — пакетный менеджер OpenSUSE

Это пакетный менеджер linux для командной строки в дистрибутиве OpenSUSE и SUSE Linux. Разработан специально для этого дистрибутива и использует библиотеку libzypp, в которой реализованы такие общие возможности, как доступ к репозиторию, установка пакетов, разрешение зависимостей, работа с репозториями и многое другое.

Zypper написан на Си и работает намного быстрее чем Yum. Поддерживает различные форматы репозиториев, а также расширения репозиториев. Поддерживается как обычное обновление, так и обновление патчами, во время которого только накладываются патчи на установленные пакеты для исправления проблем с безопасностью. Подробнее — здесь.

5. Portage — пакетный менеджер Gentoo

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

Интересной особенностью есть состояния Portage, а также слоты, позволяющие устанавливать несколько версий одной программы или библиотеки в вашей системе. Здесь нет как такового списка пакетов, есть только дерево портов, в котором и содержаться файлы ebuild с инструкциями для сборки всех пакетов. Сохранив дерево можно очень просто откатить систему к предыдущей версии. Подробнее тут.

6. Snap

Универсальный менеджер пакетов разработанный в Canonical, который можно использовать как в Deb, так и в Rpm дистрибутиве. Здесь используется особый формат пакетов, в котором все зависимости программы упаковываются в пакет с ней, поэтому программа оказывается самодостаточной и может запускаться в любой системе, где установлен этот пакетный менеджер. Кроме того, менеджер пакетов snap добавляет безопасности, программам не разрешено использовать те функции, что им не нужны. Более подробно про snap можно почитать в этой статье.

7. Flatpack

Пакетный менеджер Flatpack разработан для Fedora в качестве конкурента для Snap. Он может практически всё то же самое. В пакет программы упаковываются всё её зависимости и она может работать в любой системе где установлено программное обеспечение Flatpack. Безопасность здесь тоже работает. Главное отличие в том, что Flatpack более открыт, чтобы добавить пакет в Snap Store надо подписать соглашение с Canonical, а Flatpack больше похож на формат PPA. Любой человек может создать свой репозиторий и размещать там всё, что ему надо.

Выводы

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

Microsoft выпустила менеджер пакетов для Windows 10 – зачем нужен Windows Package Manager и как его установить Статьи редакции

Он позволяет устанавливать приложения одной командой из встроенного репозитория Microsoft, а не искать файл установки в интернете или устанавливать его из Windows Store.

Менеджер пакетов — инструмент, который обычно распространён среди разработчиков и пользователей Linux. C помощью него пользователи могут упростить скачивание приложений — им не нужно искать на сайте разработчика файл установки, загружать сначала его, а лишь затем устанавливать приложение.

Для Windows 10 основным источником для скачивания приложений должен был стать Windows Store. Но, как отмечает The Verge, большинство опытных пользователей и разработчиков игнорируют магазин Windows в пользу ручной загрузки инсталляторов и альтернативных менеджеров пакетов, например, Chocolatey.

На конференции Build 2020 Microsoft представила собственный менеджер пакетов Windows Package Manager — инструмент командной строки, с помощью которого приложение для Windows скачивается из репозитория Microsoft одной командой winget.

Например, в командной строке достаточно ввести команду winget install Steam, после чего в системе будет установлена последняя версия клиента Steam. При этом Steam отсутствует в Windows Store — его приходилось скачивать с сайта Valve.

Среди доступных через winget приложений — Zoom, 7Zip, Google Chrome, Spotify, Windows Terminal, PowerToys, Acrobat Reader, iTunes, Discord, Visual Studio Code, Ubuntu и другие популярные сервисы и приложения.

Скачать предварительную версию Windows Package Manager можно с GitHub. После скачивания и установки пакета (файл appxbundle) достаточно запустить командную строку Windows или PowerShell и ввести команду winget.

Если установка прошла корректно, будут отображены основные команды и краткое описание winget.

Команда winget install выведет весь список доступных приложений. Для установки конкретного приложения нужно ввести команду winget install [название приложения].

Например, winget install vlc, winget install notepad++ и так далее.

Похожие статьи