Какой формат пакетов используется в astra linux

Обновлено: 08.07.2024

Ищете приложения с открытым исходным кодом? Дистрибутивы Линукс имеют давнюю традицию упаковывать программы в легко устанавливаемые пакеты. Однако поиск самих этих пакетов отнюдь не всегда интуитивно понятен, да и находятся они не всегда в желаемом виде. Эта статья о том, как выжать максимум из Линукс пакетов.

Первое место, где надо искать - это ваш дистрибутивный набор CD или DVD. Все дистрибутивы Линукс, кроме "самых маленьких", содержат гораздо больше программ, чем обычно установлено. Когда вы устанавливаете дистрибутив, вы имеете выбор типа устанавливаемой системы, который зачастую сводится к выбору между рабочей станцией и сервером. В зависимости от выбора, устанавливаются соответствующие наборы пакетов.

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

И тут на помощь приходит Интернет. Зайдите на великие сайты открытых исходников, такие как FreshMeat или Sourceforge . Просмотрите их в поисках новых интересных приложений.

Не все всегда просто, даже если вы нашли нечто подходящее: возьмите хоть MySource Classic для примера. Это мощная система позволяет оперировать содержимым вэб-сайтов и интранет содержимым, посвященным открытым исходникам - звучит очень круто. Она создана, чтобы позволить технически неподготовленным пользователям создать и поддерживать их собственные он-лайн проекты безопасно, профессионально и недорого. Это ваше классическое LAMP приложение, написанное на PHP и использующее Apache и MySQL.

Между тем, MySource Classic доступен для скачивания в двух форматах: как .zip файл, или как .tar.gz файл. Оба формата являются архивными. Почти все знают, что такое zip файл, в то время как .tar.gz (также встречающийся как .tgz) - это чисто Linux/UNIX специфичный формат, известный под именем тарбалл.

Тарбалл - удобный формат для распространения исходного кода, он весьма универсален и легко переносим (слово tar происходит от Tape ARchive - из тех времен, когда применялись устройства архивации на магнитофонной пленке) Однако он сильно отличается от формата пакетов, в которых находятся приложения в вашем дистрибутиве. Пакеты содержат исполняемые двоичные файлы, плюс конфигурационные файлы, плюс некоторые необходимые файлы, и все это разложено в определенном порядке создателем пакета безо всякого утомительного участия с вашей стороны

Запустите терминал и, с помощью команды tar, просмотрите архив; как и везде в Линукс, тут существует несколько опций.

Вы можете разархивировать тарбалл при помощи команды gunzip:

Это создаст новый файл под названием mysource-2.16.2.tar, исследуйте его содержимое при помощи:

tar -tvf mysource-2.16.2.tar | more

Содержимое теперь стало видно. Есть другой способ просмотреть содержимое тарбалла, не разархивируя его, при помощи другого варианта той же команды tar:

tar -tzvf mysource-2.16.2.tar | more

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

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

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

Итак, распакуем его. Снова применим tar:

tar -xf mysource-2.16.2.tar

Или, как раньше, минуя стадию gunzip, добавим опцию -z:

tar -xzf mysource-2.16.2.tar.gz

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

Тарбаллы - наиболее распространенный формат архива, но не единственный; иногда вы можете встретить cpio архивы, которые заканчиваются расширением (суффиксом) .cpio. Такой формат обычно применяется внутри rpm пакетов, сам по себе почти не встречается. Но, коли вы встретитесь с таким форматом, то учтите, что, хотя команда cpio и имеет схожие опции с командой tar, cpio работает на входе и выходе потоков (конвейеров), а не файлов, так что, чтобы просмотреть архив смело пишите:

cpio -tv < examplefile.cpio

а чтобы распаковать содержимое архива:

cpio -i -d < examplefile.cpio

Когда тарбалл получен и распакован, ваша задача скомпилировать и установить программу. Этот формат наиболее универсален и не зависит от типа вашего дистрибутива. Есть хорошая вероятность, что приложение установится, при условии, что вы знаете, что делаете. К счастью "знаете что делаете" обычно сводится к серии из трех команд:

./configure
make
make install

при условии, что разработчик был столь любезен, что предоставил инструмент для конфигурации и Makefile.

Контрастируя с вышеописанным, менеджеры пакетов гораздо более умны и доброжелательны - но и гораздо менее универсальны в смысле применимости к разным дистрибутивам. Как бы то ни было, преимуществ у них очень много. Менеджер пакетов будет отслеживать, что и в какое место было установлено, и где находятся эти файлы. Менеджер пакетов без труда поможет вам найти новые доступные версии ваших приложений, и, что лучше всего, обеспечит удовлетворение зависимостей. Если вы попытаетесь установить пакет, которому для работы нужен некий компонент (например, библиотека), то менеджер пакетов проследит, чтобы правильная версия этого компонента (в нашем случае библиотеки) также была установлена.

Два наиболее обычных формата пакетов суть: Debian пакеты и RPM пакеты. Первый формат используют такие дистрибутивы как Debian, Ubuntu, Knoppix и некоторые другие; RPM формат применяется в Red Hat, Fedora, Suse и некоторых других.

Ели только вы не создаете собственный дистрибутив Линукс, выбор менеджера пакетов уже сделан за вас. Я всегда подчеркивал, что разница между дистрибутивами Линукс состоит, в основном, в том, какой менеджер пакетов используется, и какой набор пакетов устанавливается по умолчанию. В самом деле, все версии Линукса используют одинаковые ядра, практически одинаковые инструменты GNU tools - но главное различие дистрибутивов - менеджер пакетов.

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

На крайний случай, возможно извлечь все файлы из пакета, а затем вручную установить их. Как говорилось ранее, формат RPM пакетов использует внутри себя формат архива cpio. Простая команда rpm2cpio поможет разархивировать внутренний архив. Для того чтобы извлечь все файлы из пакета, не устанавливая его, применяйте команду:

rpm2cpio examplepackage.rpm | cpio -i

Подобным же образом, пакет в формате Debian содержит набор тарбаллов, заархивированных в формате, называемом ar; как можно догадаться, это родственник формата tar, только куда более фундаментальный. Одно то, что он не поддерживает каталоги, говорит о многом.

Извлекайте содержимое пакета Debian следующим образом:

ar -x examplepackage.deb

Это приведет к появлению двух тарбаллов: control.tar.gz и data.tar.gz, плюс одного текстового файла: debian-binary.

Файл debian-binary содержит одну строку - это просто название версии использованного при создании пакета упаковщика. Тарбалл control.tar.gz содержит инсталляционные скрипты и полезную информацию; тарбалл data.tar.gz содержит двоичные и конфигурационные файлы, все файлы, необходимые программе для работы. При острой необходимости вы можете открыть этот архив командой tar -xf, хотя, если приложение сложное, вы зададите большую работу инсталляционным скриптам.

Чуть выше, я уже говорил, что одно из замечательных свойств менеджера пакетов является его способность регулярно обновлять ваши приложения до новейших версий. Используемые для этого инструменты варьируют в зависимости от дистрибутива, но проверьте, нет ли у вас: Apt (Advanced Package Tool - Усовершенствованный Пакетный Инструмент), Yum (Yellowdog updater modified - модифицированный обновитель ЖелтаяСобака), Synaptic (графическое расширение Apt) и up2date.

Apt - это старая добрая программа, которая родом из Debian и родственных дистрибутивов, но теперь поддерживает и RPM. Это не столько единый инструмент, сколько набор утилит; чаще других используются apt-get, который скачивает пакеты с репозиториев, и apt-cache, который выясняет, что, собственно говоря, нужно скачать. Synaptic не предлагает новых функций, но объединяет все вместе в удобном графическом интерфейсе.

Подобно Apt'у, Yum - это утилита командной строки для RPM пакетов. Она может выяснить, что доступно, установить пакеты, и производить другие действия, типа листинга установленных пакетов и удаления старых версий пакетов.

Программа up2date также работает с RPM пакетами, но она обеспечивает доступ сразу и к Yum и Apt репозиториям, предоставляя тем самым больший выбор.

Так выходите он-лайн, устанавливайте свободный софт, используйте Свободные Операционные Системы.

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

На первый взгляд, даже непонятен смысл существования версии Astra Linux Common Edition, доступной для загрузки всем желающим. Зачем обычному пользователю, не обременённому необходимостью применять исключительно сертифицированные решения, нужна система с массой ограничений и неудобств? Тем не менее, резон в установке и изучении этого решения есть.

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

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

Разумеется, в данном случае речь идёт о обычном пользователе системы, а не администраторе, которому вряд ли стоит уповать исключительно на самообразование, а не на специальные курсы. Тем более, что даже умение работать в Linux — не гарантия «быстрого старта» с Astra Linux. Причина этому — необычный и ни на что не похожий рабочий стол Fly, разработанный специально для этого дистрибутива.

Эта особенность решения — вовсе не следствие стремление разработчиков к самовыражению, а необходимость, вызванная повышенными требованиями к безопасности системы. К сожалению, привычные рабочие окружения этим требованиям не удовлетворяют.

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

Первый — использовать систему «как есть». Что не совсем удобно из-за чрезвычайно скудного репозитория, в котором наверняка не найдётся нескольких привычных приложений. А программы не имеют никакого отношения к интерфейсу Fly.

Второй — попробовать «обустроить» систему если не до состояния удобства, то хотя бы до приемлемого с точки зрения юзабилити уровня. Наверное, именно его и следует выбрать.

Однако, к сожалению, версия Common Edition не лишена ряда ошибок и просто неудачных для обучения решений. Поэтому, сперва придётся немного поработать, чтобы «довести систему до ума».

Пользователей также наверняка смутит требуемая длина пароля — не менее восьми символов. С точки зрения ИБ это правильно и обоснованно, но для обучения это совершенно не обязательно. Поэтому нет разумных препятствий для того, чтобы сократить пароль до удобного пользователю размера.

Для этого следует открыть файл /etc/pam.d/common-password, где в строке «password [success=1 default=ignore] pam_unix.so obscure sha512» удалить слово «obscure» и дописать «minlen=N» (N — желательное число символов в пароле). Затем можно сменить пароль командой passwd.

После этой небольшой и необязательной разминки (в конце концов, к длинным паролям тоже неплохо бы привыкнуть, чтобы потом не чувствовать от этого дискомфорта) предстоит разобраться с серьёзной ошибкой локализации, в чём легко убедиться, введя команду locale -c. Или нажать на правую кнопку тачпада и увидеть «пустое» контекстное меню. Наконец, можно просто попробовать набрать русские буквы в консоли и посмотреть, что из этого получится.

Исправляется эта ошибка следующим образом. Сначала потребуется установить русскую локаль командой localedef ru_RU.UTF-8 -i ru_RU -fUTF-8. А затем записать в файл /etc/default/locale следующие строки, описывающие переменные окружения:

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

Хотя, вероятнее всего, даже при указании правильного адреса система сообщит, что все пакеты находятся в актуальном состоянии. Что вызовет у достаточно опытного пользователя вопросы. В частности, в Astra Linux Common Edition установлен браузер Firefox 44, тогда как актуальная версия приложения — Это и есть тот самый консерватизм, с которым придётся смириться.

Совет пользователям, желающим установить отсутствующие в репозитории приложения дал генеральный директор АО «НПО РусБИТех» Юрий Аношко в своём интервью: «Если кому-то недостаточно программ, входящих в дистрибутив Astra Linux, можно легко подключить огромный репозиторий Debian, совместимость с которым мы обеспечиваем для расширения функциональных возможностей».

Для этого следует указать репозитории в файле /etc/apt/source.list:

Затем необходимо обновить обновить списки пакетов командой apt-get update и установить ключи репозитория командой apt-get install debian-archive-keyring deb-multimedia-keyring. После повторного обновления списка пакетов они будут доступны для установки.

Разумеется, можно устанавливать не только пакеты из репозиториев Debian, но и любые приложения, распространяемые через deb-пакеты, предназначенные для этой системы. Например, браузер Opera.

После этих операций система становится пригодной для решения большинства пользовательских задач. В том числе и практического освоения рабочего стола Fly.


Содержание

Рассмотрим, как происходит установка deb пакетов из консоли на примере Ubuntu Linux если вы скачали пакет. Это может быть редкая программа, не представленная официально либо вы рискнули поставить более свежую версию игнорируя зависимости. Напомню, что в Ubuntu и Debian имеются тестовые ветки с более свежим, но менее стабильным софтом.

Установка deb пакетов из консоли

Откройте каталог со скачанным файлом, кликните правой кнопкой мыши и выберите «Открыть в терминале»:


Установка deb пакетов из консоли производится следующей командой:

Вероятнее всего вы увидите ошибку зависимостей. Продемонстрирую на примере пакета nmap в свежеустановленной системе Ubuntu 18.04:



Зависимости успешно добавлены в систему и установленный пакет стабильно работает:


Удаление deb пакетов из консоли

Или если хотите удалить пакет со всеми его настройками:


После удаления установленного вручную пакета остались его зависимости. Чтобы навести порядок в системе воспользуемся командой:


Используйте в консоли клавишу «Tab» один или несколько раз чтобы автоматически продолжить путь к директории или файлу. Это не только ускоряет работу в терминале, но также избавляет от лишних ошибок при наборе команд. Авто продление «Tab» работает не только при наборе пути к файлу. Его можно применять для запуска любой программы если она уже установлена в системе. Просто наберите первые буквы из названия пакета и продолжите нажатием на «Tab».

Стандартная установка пакетов из репозитория

В операционных системах Linux есть очень гибкая консоль, которая позволяет устанавливать пакеты из централизованного хранилища – репозитория. Не нужно искать подходящую программу на сомнительных ресурсах по интернету. Достаточно ввести пару команд и установить пакет со всеми его зависимостями из проверенного официального источника.

Настройка репозитория системы

Примеры с консолью будут идентичны для OS Debian с рабочим окружением Gnome на которой основана Ubuntu. Откройте консоль нажав комбинацию клавиш Ctrl + Alt + T (для Ubuntu Linux). Либо щёлкните на рабочем столе правой клавишей мыши и выберите «Открыть терминал». Наберите название текстового редактора, и путь к открываемому файлу:


Введите свой пароль и в открывшемся окне редактора вы увидите список источников для установки пакетов. Прежде всего посмотрите, что находится в вашем списке репозиториев. Сделайте доступным проприетарное (коммерческое) программное обеспечение и ПО от партнёров Canonical. Там могут находиться различные драйверы видео и множество полезных утилит с закрытым исходным кодом:


Терминал Linux сохраняет историю введённых ранее команд. Используйте стрелки вверх-вниз на клавиатуре для быстрого перебора и вывода предыдущих записей.

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


Проставьте нужные галочки на источниках ПО на первой и второй вкладках. Нажмите внизу на кнопку «Закрыть» и система сама предложит обновить список пакетов: выберите «Обновить».


Установка пакетов

Теперь можно приступать к установке программ. Вы находитесь на сайте, который посвящён этому процессу. Здесь имеется огромная база (свыше 50 000) пакетов для Ubuntu / Linux Mint и Debian дистрибутивов.

Просто откройте поиск и введите название пакета, который хотите установить из официального репозитория системы. Команду sudo apt update необходимо ввести однократно, перед каждой последующей установкой её вводить не требуется.

На главной странице сайта подобраны категории всех пакетов для более удобной навигации.

Как установить пакеты с расширением .deb в linux?

1 ответ

Ниже про установку deb, rpm и tar.gz.

Установка *.deb пакетов

sudo dpkg -i полный_путь_до_пакета.deb

Или sudo apt-get install gdebi. После чего .deb-пакеты можно будет устанавливать двойным щелчком по файлу.

Установка *.rpm пакетов

rpm -ivh полный_путь_до_пакета.rpm

Установка *.tar.gz

1. Распаковать архив. В контекстном меню выбрать "извлечь" или командой:

tar xzvpf полный_путь_до_пакета.tar.gz

После чего у вас (обычно) появляется каталог [ЧТО-ТО ТАМ]. Вам нужно в него перейти:

В этом каталоге лежат файлы (обычно Readme, Installation и т.п.), которые описывают процесс установки (чаще по-английски).

Как установить программное обеспечение в Linux: объяснение форматов пакетов

Установка программного обеспечения на Linux чувствует себя ближе к смартфону, чем Windows. В большинстве случаев вы будете запускать менеджер пакетов (похожий на магазин приложений) и искать название нужного вам приложения. Оттуда, это вопрос нажатия кнопки установки.

Но менеджеры пакетов меняются в зависимости от вашего дистрибутива. Ubuntu использует программное обеспечение Ubuntu. Это просто переименованная версия программного обеспечения GNOME, которую использует Fedora. Тем временем openSUSE делает свое дело с YaST.


Менеджеры пакетов работают с помощью поиска в репозиториях вашего дистрибутива. Но иногда того, чего вы хотите, там нет. Иногда вы загружаете файл с веб-сайта и нажимаете на него, как если бы это был файл Windows EXE. За исключением того, что есть проблема. Точно так же, как нет единой версии Linux, не существует единого универсального формата пакета Linux ( хотя некоторые люди пытаются изменить этот ).

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

DEB Пакеты

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

Поскольку Ubuntu основана на Debian, DEB легко найти. С миллионами пользователей и узнаваемым именем Ubuntu и DEB стали Windows и EXE-файлами в мире Linux.


Debian и Ubuntu оба используют формат файла DEB, но пакеты, которые работают в одном, могут не работать в другом. Пакеты иногда совместимы с обоими, например с Google Chrome. Не думайте, что это так. Убедитесь, что вы загружаете DEB, предназначенные для вашего дистрибутива.

Популярные дистрибутивы, использующие DEB:

  • Ubuntu
  • Debian
  • Linux Mint
  • SteamOS
  • Trisquel
  • gNewSense

RPM пакеты

RPM изначально обозначал Red Hat Package Manager. Теперь аббревиатура является рекурсивной и расшифровывается как RPM Package Manager. В любом случае, происхождение связано с Red Hat. Организация из Северной Каролины, которая стала первой в мире компанией с открытым исходным кодом на миллиард долларов, разработала формат для Red Hat Linux. В результате, это то, что вы найдете в экосистеме Red Hat.

Это означает, что если вы , это тип файла пакета, который вы будете использовать для установки программного обеспечения. Когда вы нажимаете на RPM, он открывается в программном обеспечении GNOME.


Несмотря на название, дистрибутивы, связанные с Red Hat, не единственные, которые используют RPM. openSUSE — еще одно известное сообщество, принявшее RPM Вы можете установить их с помощью YaST, универсального дистрибутива для управления большинством систем.

В любом случае вы можете установить пакеты с помощью команды rpm , например:

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

Популярные дистрибутивы, использующие RPM:

  • Red Hat Enterprise Linux
  • мягкая фетровая шляпа
  • OpenSUSE
  • SUSE Linux Enterprise Server
  • CentOS
  • PCLinuxOS

Пакеты TAR

Я знаю, что сказал, что нет универсального формата пакетов для Linux, но это не на 100% верно. Когда вы видите приложение, упакованное как TAR, TGZ или TAR.GZ, есть большая вероятность, что оно будет работать на вашем компьютере. Проблема в том, что установка не так проста, как наведение курсора или ввод одной команды. Установка файла TAR заслуживает отдельного руководства


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

Популярные дистрибутивы, которые используют исключительно TAR:

Больше, откуда это пришло

Три перечисленных выше типа не являются единственными форматами пакетов для Linux, но они являются наиболее распространенными. Некоторые дистрибутивы разрабатывают свои собственные типы, которые не используются в других местах. Gentoo имеет ebuild . В Pardus есть PiSi (сокращение от «Пакеты, успешно установленные по назначению»). Android, технически дистрибутив Linux, использует APK.

Почему форматы пакетов такие странные?

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

Что вы думаете об установке программного обеспечения в Linux? Как это по сравнению с другими операционными системами? Можно ли это улучшить? Поделитесь своими мыслями, и если у вас есть какие-либо вопросы, не стесняйтесь спрашивать!


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

Чтобы сделать систему дружелюбней к пользователю, были разработаны пакетные менеджеры, которые полностью автоматизировали установку программ. Инсталляция приложений в них производится из пакетов – архивов с файлами скомпилированной программы. Исключение — система Gentoo, где менеджер компилирует программы по подготовленным скриптам.

Большинство популярных дистрибутивов на базе Unix/Linux уже оснащены пакетными менеджерами, способными устанавливать любое программное обеспечение. Будь то внешнее приложение или компоненты ОС. В этом заключается основное различие между пакетным менеджером и инсталлятором. Последний нужен для установки только одной специфической программы, тогда как система управления пакетами — универсальный установщик ПО.

Все пакетные менеджеры Linux имеют свой список репозиториев – серверов с базой пакетов. Во время установки алгоритм менеджера находит необходимый пакет в базе и производит автоматическое скачивание, установку и настройку.

О типах пакетных менеджеров и наиболее популярных вариантах реализации данного ПО расскажем в этой статье.

Теоретические основы

Категории пакетных менеджеров

  • Высокоуровневые менеджеры. Применяются для поиска и скачивания пакетов из репозиториев. В процессе работы могут задействовать низкоуровневые менеджеры для инсталляции загруженных программ.
  • Низкоуровневые менеджеры. Используются для установки локальных пакетов, загруженных вручную пользователем, или высокоуровневым пакетным менеджером.

Распространенные форматы пакетов

Разрешение зависимостей

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

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

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

Популярные пакетные менеджеры


DPKG (Debian Package) – система управления пакетами в Debian и дистрибутивах на его основе, например Ubuntu.

Утилита DPKG появилась в дистрибутиве Debian в 1995 году. Низкоуровневый пакетный менеджер создан только для работы с локальными DEB пакетами и не может самостоятельно разрешать зависимости, а также скачивать пакеты из репозиториев.

Особенности

  • Поддерживает добавление архитектур из других дистрибутивов Linux.
  • DPKG выполняет работу только с локальными пакетами.
  • Под архитектуру DEB выпущено более 55000 пакетов.

Пакеты DEB – это архивы с набором установочных файлов. Для установки в систему необходимой программы из репозиториев создан высокоуровневый пакетный менеджер APT, который параллельно работает с DPKG.


APT (Advanced Packaging Tool) – консольная утилита, выполняющая роль «поисковика» и загрузчика пакетов из репозиториев. Установка скачанных пакетов производится утилитой DPKG. Благодаря эффективному разрешению зависимостей, пакетный менеджер APT используется по умолчанию в дистрибутивах с архитектурой Debian и поддерживает систему в актуальном состоянии.

Список репозиториев хранится в файле «/etc/apt/sources.list» и может быть изменён пользователем в любой момент для установки или обновления программы, не входящей в базу дистрибутива. Установка скачанных пакетов производится утилитой DPKG.

Изначально APT разрабатывался только для работы с пакетами DEB, использующихся в Debian и родственных ОС (Ubuntu, Linux Mint). Позже в него была добавлена поддержка rpm-файлов. Благодаря этому, установить софт привычным образом можно даже в дистрибутивах RED HAT и его производных (Fedora, CentOS и др.).

Оболочки APT

Для упрощения работы с APT можно использовать консольные оболочки APTITUDE или Synaptic.

APTITUDE

APTITUDE доступен в нескольких вариантах интерфейса:

  • Графический интерфейс (GUI) на базе фреймворка GTK. Привычный для пользователя оконный интерфейс с возможностью управления мышью.
  • Текстовый пользовательский интерфейс. Оболочка, открывающаяся в консоли. Интерфейс снабжается минимальным количеством графических элементов и может запускаться через протокол SSH. Управление осуществляется с помощью одиночных или групповых нажатий клавиш клавиатуры. Например, для переключения строк чаще всего используются клавиши со стрелками.
  • Интерфейс командной строки. Подразумевает управление программой с помощью команд. Вариант позволяет полноценно пользоваться функционалом утилиты и подходит для продвинутых пользователей.

Если в дистрибутиве APTITUDE отсутствует по умолчанию, то выполнить установку можно следующими командами:

Synaptic


Установить Synaptic можно следующими командами:

Открыть программу можно, найдя ярлык в меню рабочего окружения, или введя « sudo synaptic » в терминале.


RPM (Red Hat Package Manager) – формат пакетов и низкоуровневый пакетный менеджер систем RED HAT (RHEL, CentOS, Fedora и др.) Как и DPKG, способен работать только с локальными файлами.

Пакетный менеджер выпущен в 1997 году. Он работает с пакетами RPM. В отличие от DEB, пакеты RPM архивируются утилитой cpio, сжимающий пакет алгоритмом gzip.

Особенности

  • Обновление программ производится в ускоренном режиме, благодаря замене только отредактированных разработчиком элементов пакета.
  • Для скачивания, обновления пакетов, а также разрешения зависимостей придётся использовать пакетные менеджеры более высокого уровня (YUM, DNF).
  • Начиная с 2010 года, пакеты подписываются с хешем MD5. Это исключает вероятность изменения файла RPM злоумышленником для внедрения вирусного кода.


YUM (Yellowdog Updater, Modified) – высокоуровневый пакетный менеджер, написанный на языке Python для систем RED HAT (RHEL, CentOS, Fedora). Программа представляет собой своеобразную оболочку для утилиты RPM.

В задачу YUM входит скачивание и обновление пакетов из репозиториев, а также удовлетворение зависимостей во время установки программы.

DNF (Dandified YUM) – модифицированная версия пакетного менеджера YUM на языке на Python. Разработка утилиты начата в 2011 году. В 2015 году DNF стал основным менеджером пакетов для системы Fedora 22. В DNF были исправлены такие недостатки YUM, как некорректная установка зависимостей, низкая скорость работы, большое потребление оперативной памяти.

Yum Extender

Yum Extender – лёгкая графическая оболочка для менеджеров пакетов YUM и DNF.


Yum Extender устанавливается следующей командой:

Pacman


Особенности

  • В Pacman совмещены функции работы с репозиториями и установка пакетов в систему, в отличие от систем Debian или Red Hat.
  • В систему устанавливается новейшее ПО, благодаря модели обновлений «плавающий релиз» (rolling-release).
  • В репозиториях Pacman располагаются заранее собранные пакеты, что значительно ускоряет процесс инсталляции программ.
  • Поддержка работы с репозиторием AUR.

Компиляция программы производится только в том случае, если пакет взят из репозитория AUR (Arch User Repository). Он содержит более 54000 пакетов и активно поддерживается обычными пользователями и администраторами ArchLinux.

Перед тем, как попасть в официальный репозиторий дистрибутива, пакеты проходят тщательный отбор в репозиториях AUR. Репозиторий AUR, в отличие от официального репозитория, содержит скрипты PKGBUILD для самостоятельной сборки пакета в системе пользователя. Для компиляции используется скрипт MakePKG.

Оболочки Pacman

MakePKG

Скрипт, объединяющий работу компилятора, линкера и других вспомогательных приложений для сборки пакета из PKGBUILD. MakePKG установлен по умолчанию в системе с пакетным менеджером Pacman. Компонент входит в пакет base-devel и ABS (Система автоматической сборки пакетов).

Установка или обновление всех компонентов производиться командами:

Для установки программы и зависимостей согласно скрипту PKGBUILD, нужно перейти в каталог с файлом и выполнить команду:

Важно. Запуск скрипта с помощью MakePKG должен проводится без предоставления прав администратора. Это делается для защиты системы от выполнения вредоносных команд, находящихся в файле «pkgbuild».

Программа написана на языке GO и используется для поиска и установки пакета из репозитория AUR. Управления Yay производится посредством командной строки.

Для установки утилиты в дистрибутив с Pacman нужно задать следующие команды:

Утилита Yay упрощает весь алгоритм установки до ввода одной простой команды в консоль. Например, запрос к терминалу для инсталляции пакета из AUR строится следующим образом:

Примечание. Для установки пакетов через Yay не требуется предоставлять административный доступ утилите (добавлять «sudo» перед командой).

Pamac


Графический менеджер пакетов Pamac разработан специально для Manjaro, но может быть установлен в любой дистрибутив на основе Arch Linux. Программа сочетает лёгкость с большим функционалом. В качестве источников используются официальные репозитории дистрибутивов AUR и Snappy.

Установка программы Pamac выполняется командой:

Portage


Portage – система управления пакетами Gentoo или Calculate Linux. Установка программ для данного дистрибутива несколько отличается от остальных систем Linux. В Gentoo пакетный менеджер использует исключительно исходный код, а не готовые пакеты для установки программ.

Особенности

  • Программы собираются под пользовательскую систему и железо, что обеспечивает стабильную работу ОС.
  • По сравнению с распаковкой программ у других пакетных менеджеров, компиляция в Portage занимает много времени. Например, полный пакет LibreOffice компилируется от 4 часов и более.
  • Пользователь может гибко настроить параметры компиляции и полностью управлять процессом сборки. Например, поставить операцию на паузу и продолжить позже.
  • Для обновления установленного ПО используется система rolling-release, благодаря которой в репозитории дистрибутива поставляются пакеты последней версии, опубликованные разработчиком в течение 1-2 дней.

Установка программ из репозиториев чаще всего производится с помощью интерфейса Emerge. Для добавления дружелюбности системе, также можно использовать графическую оболочку Kuroo.

Интерфейсы Portage

Emerge

Консольный интерфейс Emerge предназначен для сборки и обновления программ и их зависимостей. Инструмент доступен «из коробки» и используется для работы с системой Portage по умолчанию.

Для компиляции программ используются ebuild-скрипты. Они содержатся в локальных репозиториях Gentoo (overlay), а сам исходный код программ скачивается с GitHub. Настроить список репозиториев можно самостоятельно, в файле «/etc/portage/repos.conf».

Kuroo

Графический интерфейс Kuroo по принципу работы почти не отличается от Emerge. Утилита написана на языке C++ с использованием фреймворка Qt.


Kuroo установлен по умолчанию в систему с рабочим окружением KDE. В случае отсутствия программы, инсталляция выполняется по данной инструкции.

Заключение

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

  • DPKG и RPM больше подойдут пользователям, ожидающим от системы лёгкой настройки и стабильной работы.
  • Pacman оперативно обеспечивает систему новейшим ПО, благодаря системе rolling-release.
  • Portage совмещает преимущества предыдущих пакетных менеджеров, но требует от пользователя внимательности и желания глубоко осваивать систему.

Чтобы даже самый требовательный дистрибутив Linux работал как швейцарские часы — выбирайте VDS от Eternalhost с оперативной техподдержкой 24/7 и бесплатной защитой от DDoS.

Читайте также: