Вторник, 26.11.2024, 21:24 Вы вошли как Гость | Группа "Гость" | RSS
 

 
Главная | Форум | Чат | Информация для пользователей
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Средства управления пакетами ПО в LINUX.
slackbuild Дата: Суббота, 18.02.2012, 21:38 | Сообщение # 1
Свой человек
Группа: Пользователь
Сообщений: 11
Репутация: 0 []
Статус: Offline
.: Дополнительные данные :.
Бог форума
Дистрибутивы состоят из отдельных пакетов, каждый из которых содержит какое-то приложение, утилиту или сервис. Отдельный пакет может содержать, например, веб-браузер, библиотеку для работы с графическими файлами в формате PNG, набор шрифтов и так далее.

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

в виде бинарных файлов, которые предназначены для непосредственой установки в вашу систему, без какой-либо дополнительной обработки (например, компиляции).
в виде исходных текстов, которые обычно содержат текст на каком-то языке программирования, заархивированный в формате tar и упакованный программой gzip, а также вспомогательные файлы, необходимые для компиляции приложения из файлов пакета.
Существуют также пакеты, которые можно при желании отнести как к первому, так и ко второму виду. Это пакеты, которые содержат скрипты и конфигурационные файлы, страницы руководств в формате man/info, информацию о копирайтах и другую документацию. С одной стороны, они представляют собой такие же "исходные тексты", с другой - устанавливаются в систему без всякой дополнительной обработки, как и исполняемые файлы. Но этот тип пакетов играет вспомогательную роль и для нас какого-либо интереса не представляет. А вот количество и состав пакетов первых двух типов играет в классификации дистрибутивов самую существенную роль.

Вспомним, во-первых, что все программное обеспечение в Linux является открытым, то есть поставляется вместе с исходными кодами. И поэтому для каждого бинарного пакета на дистрибутивных дисках найдется соответствующий ему пакет с исходными кодами. А вот обратное утверждение уже не имеет места, так как существуют дистрибутивы, в которых число бинарных пакетов сильно ограничено. Это так называемые "Source-based" дистрибутивы, то есть дистрибутивы, основанные на исходных кодах. Их создатели предполагают, что пользователь такого дистрибутива может самостоятельно скомпилировать и установить в систему любое нужное ему приложение. Но ведь для того, чтобы запустить процесс компиляции, система в какой-то минимальной конфигурации уже должна работать. Должны быть установлены загрузчик, ядро, архиваторы tar и gzip (чтобы развернуть пакет с исходниками), компилятор со всем сопутствующим инструментарием (линкером, ассемблером и т.д.), библиотеки функций языка Си, утилиты для работы с файлами и текстами (find, grep, awk, sed), без которых сборка и установка программ просто невозможна. Эта проблема решается двумя способами: либо компиляция проходит на какой-то другой системе, либо необходимый минимум прекомпилированных пакетов устанавливается из дистрибутива, а остальные компилируются уже в полученной таким образом среде. Самый яркий пример реализации подхода, основанного на компиляции всей системы из исходных кодов - проект Linux From Scratch, который не является дистрибутивом в прямом смысле этого слова, а представляет собой набор инструкций по созданию системы из набора пакетов с исходными кодами.

Что же касается пакетов с прекомпилированным программным обеспечением, то для установки как в поцессе инсталляции, так и в уже установленой системе требуются специальные средства управления пакетами. Дело в том, что установка программного обеспечения из пакетов обычно связана с разрешением так называемых "зависимостей". Например, пакет, содержащий компилятор GNU C (gcc) "зависит" от пакета binutils, который включает в себя компоновщик и транслятор. Если пользователь попытается установить gcc без предварительной установки binutils, процесс установки пакета с GCC скорее всего завершится сообщением об ошибке. Поэтому в состав пакета обычно включается не только бинарный код исполняемой программы, но еще и некая служебная или мета-информация: название программы, данные о разработчике, информация о других пакетах, которые необходимы для того, чтобы данное ПО корректно работало (чаще всего это необходимые данному приложению библиотеки), контрольные суммы, информация о том, как правильно сконфигурировать пакет, и как его корректно удалить, если необходимость в его использовании отпала.

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

Система управления пакетами - это набор инструментов, предназначенных для автоматизации процессов установки, обновления, конфигурирования и удаления пакетов программного обеспечения определенного формата.

Наиболее известными (или распространенными) системами управления пакетами являются:

RPM/YUM — менеджер пакетов Red Hat. Сейчас аббревиатура RPM расшифровывается обычно рекурсивно (RPM = RPM Package Manager), но первоначально ее расшифровывали как менеджер пакетов Red Hat (Red Hat Package Manager), поскольку разработана она была для дистрибутива Red Hat. В настоящее время она используется и во многих других дистрибутивах.
dpkg/APT — система управления пакетами *.deb дистрибутива Debian, тоже портированная в настоящее время в другие дистрибутивы. Пакеты .deb представляют собой просто два tar-архива, сжатых с помощью gzip: в одном архиве содержится управляющая информация, в другом - данные. Стандартным средством управления такими пакетами является консольная программа dpkg, дополненная оболочкой APT (Advanced Packaging Tool).
tgz или tar.gz — стандартный набор из двух программ tar + gzip, иногда дополненный некоторыми дополнительными управляющими файлами. Используется в дистрибутиве Slackware и некоторых других, не обеспечивает разрешения зависимостей. От Source-based дистрибутивов эта система отличается тем, что внутри tar.gz-архивов находятся заранее скомпилированные программы.
система портежей дистрибутива Gentoo, которая представляет собой набор файлов ebuild, содержащих информацию о том, как получить (из любых доуступных источников - сети, локального диска и т.д.), скомпилировать и установить пакет в системе Gentoo, используя консольную команду emerge. Обычно пакет ПО в этом случае содержит исходные коды программ, и приложение компилируется прямо в процессе инсталляции, за счет чего оптимизируется для конкретной машины. Хотя этим способом могут устанавливаться и заранее откомпилированные программы, но такой вариант используется только в исключительных случаях, например, при инсталляции системы на очень медленные машины.
YaST - утилита, разработанная Novell и используемая в дистрибутиве SuSE.
Компиляцию пакетов из исходных кодов тоже можно рассматривать как один из вариантов системы управления пакетами. От перечисленных выше систем он отличается только тем, что пакеты ПО в source-based дистрибутивах почти не содержат в своем составе заранее скомпилированных программ (кроме тех, которые абсолютно необходимы, типа ядра и компилятора), так что единственный способ установки нового пакета заключается в непосредственой компиляции его из исходных кодов.
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
  • Я был ТУТ! (24)
  • Наши кнопки (0)
  • Общие правила на сайте (0)
  • Описание различных видео форматов (0)
  • Шаблоны оформления новостей (2)
  • Как вы нашли наш сайт? (8)
  • Сектор Газа, все только о них... (1)
  • Какие хорошие комедии вы видели? (5)
  • Вакансии по разделам на www.7x.net.ua (0)
  • Приглашаем! Журналистов, Риперов... (0)
  • Я был ТУТ! (24)
  • Как вы относитесь к сериалу Звёздные врата: SG-1 (17)
  • Фото приколы. (16)
  • Конкурс на лучший баннер (11)
  • Красивый шаблон для системы uCoz (10)
  • Досчитаем до 100 (9)
  • Анимированное меню (9)
  • Как вы нашли наш сайт? (8)
  • Видео приколы. (8)
  • Увеличь количество посещений своего сайта (7)
  • Grinya
  • A1rBoRnE
  • Chibcha
  • DarkSpirit
  • Змей
  • Fantom
  • Borman
  • Worlak
  • Mister_Coob
  • Anatoliy
  • ZoYOping
  • LeoFreskos
  • Avalancheflu
  • Candyktg
  • Portableddx
  • olemit
  • Valeron83Oping
  • AviorT
  • Blendermog
  • Holographictkx
  • ()


    Copyright MyCorp © 2024 Хостинг от uCoz