Все форматы пакетов linux

Форматы установочных файлов в Linux

Пользователям Windows или macOS очень просто установить желаемую программу. Для этого нужно скачать установочный файл и запустить его. Формат такого файла (чаще всего) это EXE для Windows, DMG для macOS. Linux-пользователи наслаждаются многообразием не только дистрибутивов, но и форматов установочных файлов. В нем-то и предстоит сегодня разобраться, чтобы в конце ответить на вопрос о том, сложно ли установить программу в Linux.

Три дистрибутива-основателя

Перед тем как говорить про форматы, нужно окунуться в прошлое. То многообразие в дистрибутивах, которые можно наблюдать сейчас, существовало не всегда. Первым дистрибутивом, который появился на свет был Slackware (известный среди опытных пользователей, как Слака). Вторым на свет «вылупился» Debian (отец, дед и прадед большинства современных дистрибутивов), третьим оказался Red Hat («красная шляпа»). От этих «основателей всего» и закрепились форматы установочных файлов в мире Linux. Ну раз основателя три, то и форматов, считайте, столько же.

TGZ ИЛИ TAR.GZ-пакеты

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

DEB-пакеты

Системы, основанные на Debian, используют DEB-формат установочных файлов. Они уже не требуют дополнительных действий над собой (в отличие от архивов TGZ), достаточно просто скачать deb-пакет и установить при помощи системного менеджера программ.

RPM-пакеты

Red Hat подарила миру Linux формат RPM-пакетов. На данный момент, самой популярным дистрибутивом на RPM-базе является Fedora. Установка программ в ней такая же простая, как и работа с DEB-пакетами: скачиваем установочный файл и дважды кликнув по нему мышкой, запускаем установку.

Читайте также:  Linux mint отключить графическую оболочку

Сложно ли устанавливать программы на Linux?

Не сложнее, чем в Windows или macOS! Неважно, на какой пакетной базе ваш дистрибутив, так как большая часть программ имеет поддержку DEB и RPM. Например, чтобы установить браузер Google Chrome нужно зайти на главный сайт и скачать предложенный установочный файл. Все определится автоматически — и дистрибутив, и его пакетная база. Скачали, установили, используете. Ничего сложного!

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

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

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

Источник

Пакеты

Система Linux состоит из множества программ и утилит. Каждый компонент системы Linux представлен в виде пакета.

Программные пакеты в Linux

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

Архив файлов

Первой задачей пакетирования является объединение всех файлов, используемых программой (набором утилит), в один файловый архив. Это позволяет не копировать при установке программы все файлы по отдельности, а потом не удалять их таким же способом, а работать со всеми данными программы как с единым целым — устанавливать и удалять один пакет.

Формат пакета

В системе Linux существует несколько форматов пакетов.

Одним из самых распространенных форматов пакетов является rpm, используемый в дистрибутивах Fedora Core, Mandriva, ALT Linux. Пакет в формате rpm представляет собой единый файл со всеми необходимыми данными. Для установки, удаления, обновления и проверки пакетов в формате rpm используется программа-установщик, называемая rpm.

Читайте также:  Linux открыть консоль горячие клавиши

В Debian используется формат deb и утилита-установщик dpkg. В Slackware Linux используется формат tgz и установщик pkgtool, а в CRUX — pkg.tar.gz с утилитой pkgadd, то есть пакеты представляют собой обычные файловые архивы tar, сжатые упаковщиком gzip.

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

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

Зависимости

Потребность пакета в ресурсах, находящихся в другом пакете, называют зависимостью этого пакета от другого. В процедуре установки rpm проверяет, все ли зависимости устанавливаемого пакета удовлетворены (т. е. все ли необходимые пакеты уже установлены в системе), и если чего-то не хватает — прекращает установку.

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

Читайте также:  Переустановить драйвер сетевой карты linux

Конфликты файлов пакетов

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

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

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

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

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

Наиболее известным и популярным менеджером пакетов является APT (Advanced Package Tool). Первоначально он был разработан в рамках дистрибутива Debian и работал только с установщиком пакетов dpkg, впоследствии для других дистрибутивов была разработана версия, работающая с rpm.

Кроме APT, есть еще несколько менеджеров пакетов. Большинство из них специфичны для определенного дистрибутива, как, например, emerge для Gentoo или YaST для SuSE. Их задачи и возможности примерно совпадают сAPT.

Источник

Оцените статью
Adblock
detector