Системы управления пакетами в UNIX-подобных ОС (apt, rpm, pacman и др.)

Автор работы: Пользователь скрыл имя, 28 Января 2014 в 21:24, реферат

Описание работы

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

Содержание работы

1. Система управления пакетами.
2. UNIX и UNIX подобные ОС.
3 RPM
3.1 Преимущества RPM над другими средствами управления и
установкой программного обеспечения
3.2 Основные недостатки
4. dpkg
5. Pacman
6. Portage
6.1 Дерево портежей
6.2 Оверлеи
6.3 live-пакеты
6.4 Утилиты
7. Entropy.
8. PiSi
9. IPS(Image Packaging System)
10. apt

Файлы: 1 файл

Операционные системы реферат.doc

— 114.50 Кб (Скачать файл)

Все пакеты Pacman представляют собой сжатые tar-архивы, каждый из которых  содержит программы в откомпилированном виде. Пакеты загружаются по протоколам FTP или HTTP с определённых сайтов. Pacman дополняет Arch Linux Build System (ABS — система сборки Arch Linux), используемую для создания пакетов из исходных текстов.

Следуя философии Arch Linux, Pacman ставит перед собой цель быть мощной системой управления пакетами и при этом оставаться простой в изучении.

Системы, использующие Pacman:

    • AegeanLinux
    • Arch Linux
    • ArchBang
    • Chakra Linux
    • ConnochaetOS
    • DeLi Linux
    • Frugalware
    • Manjaro Linux
    • Parabola

 

6. Portage

Portage — основная система  управления пакетами в Gentoo Linux. Аналог системы портов FreeBSD. Представляет  собой набор утилит на Python и  Bash, призванных облегчить и упорядочить  установку программного обеспечения  из исходных кодов или бинарных  пакетов, с учётом всех зависимостей.

Основной пользовательский интерфейс Portage — консольная программа emerge, которая позволяет устанавливать  новые пакеты с учётом зависимостей и с возможностью управления вариантами установки — например с поддержкой определенных функций или без поддержки ненужных функций (управление параметрами сборки осуществляется через так называемые USE-флаги), удалять ненужные пакеты, обновлять установленные пакеты, проводить синхронизацию с деревом портежей (по протоколу rsync) и т. д. Программа ebuild служит интерфейсом низкого уровня к Portage, а emerge — высокоуровневая оболочка для неё.

Главный конфигурационный файл системы Portage — /etc/portage/make.conf. В  нем настраиваются основные параметры  компиляторов и дополнительные возможности их использования (например, применением ccache, distcc), установки USE-флагов, HTTP-прокси, FTP-прокси, SYNC, ACCEPT_KEYWORDS и других, необходимых для работы системы Portage.

Другие конфигурационные файлы системы находятся в /etc/portage/ и позволяют более тонко конфигурировать различные аспекты системы portage.

6.1 Дерево портежей

Дерево портежей обычно располагается в каталоге /usr/portage/ и представляет собой упорядоченную  систему директорий-категорий пакетов (вида app-emacs, dev-php), в каждой из которых содержатся директории отдельных пакетов. В дереве каждый пакет состоит из набора ebuild-файлов, файла Changelog данного пакета, файла metadata.xml c метаданными о пакете и, возможно, нескольких других некрупных файлов, нужных для сборки пакета (например, патчей).

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

В директорию /usr/portage/distfiles/ обычно помещаются файлы дистрибутивов  программ, скачиваемые во время установки  пакетов.

6.2 Оверлеи

Оверлеи представляют собой хранилища пакетов, не включенные в основное дерево портежей. Обычно туда включают более новые версии программ или те программы, которых еще нет в официальном дереве, live-версии, нестандартные расширения и патчи. Оверлеи могут быть локальными — присутствовать только на компьютере пользователя. Один из вариантов применения локального оверлея — установка ebuild-файлов, не включенных в какой-либо публичный оверлей, либо тестирование ebuild-файлов. Для упрощения работы с оверлеями служит утилита layman.

6.3 live-пакеты

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

В случае, если есть несколько  веток разработки программы, live-пакет  может также использовать не основную ветку. Например, для библиотеки Qt есть live-пакеты, берущие исходные коды из ветки на официальные версии 4.6, 4.7 и самую «передовую» ветку. Такие пакеты имеют версии 4.6.9999, 4.7.9999 и 4.9999 соответственно.

6.4 Утилиты

    • revdep-rebuild
    • revdep-rebuild из пакета gentoolkit — служит для проверки целостности динамического связывания. При обновлении библиотек нередка ситуация, когда программа или другая библиотека, зависящая от обновленной, продолжает ссылаться на предыдущую версию. Таким образом, нарушается работоспособность программ. Утилита revdep-rebuild позволяет автоматически найти подобные «сломанные» программы и перекомпилировать их.
    • layman
    • layman служит для упрощения работы с оверлеями, позволяя добавлять, удалять и синхронизировать оверлеи одной командой.
    • equery, eix, q

Программы equery и q, а также набор программ eix служит для ускорения и автоматизации стандартных задач вроде поиска по дереву портежей, формирования списка установленных пакетов, принадлежащих какой-либо категории, и т. д.

 

7. Entropy.

Entropy - это название  системы управления бинарными пакетами в Sabayon Linux. Также, это название целостной инфраструктуры, состоящей из текстового клиента Equo, графического клиента Sulfur, серверных приложений Reagent и Activator.

Основные особенности:

    • Совместимость с Gentoo Linux
    • Собрано все лучшее из Portage, Yum и APT
    • Отличная скорость
    • Используется SQLite (в комплекте)
    • Ориентировано на пользователя
    • Поддержка Powerful Packages: набор пакетов в одном архиве (Smart Packages)
    • Поддержка самосодержащих приложений (Smart Applications)
    • Обратносовместимые пакеты: они используются в Gentoo Linux после быстрой конверсии
    • Поддержка работы с несколькими ветками (каждая ветвь является версией релиза)
    • Предусмотрено повреждение базы данных: содержит инструменты для восстановления и поиска неисправностей в БД
    • Легкость использования в условиях работы с сетью
    • Multiple repositories aware: everyone can create one
    • Гибкий, интуитивно понятный програмный интерфейс
    • Сильнейший искусственный интеллект (да, у Entropy есть мозги)
    • Тонкий юмор, и еще много всякого...

Загруженные пакеты сохраняются  в директории /var/lib/entropy/packages/. Например, для архитектуры amd64 при использовании  ветки 5 пакеты будут лежать в /var/lib/entropy/packages/amd64/5. При необходимости можно выкачать недостающие пакеты со страницы поиска пакетов на Sabayon web-портале и "подсунуть" в соответствующую директорию. После этого можно будет установить их при помощи Entropy. Это может быть полезно, если пакеты, необходимые для настройки интернета, отсутствуют на установочном диске.

 

8. PiSi

PiSi (тур. кошечка) —  формат хранения и передачи  пакетов, используется турецким дистрибутивом Pardus.

Использует формат сжатия lzma. Система управления пакетами, скрипты конфигурации пакетов написаны на Python. Файл спецификации пакетов написаны на XML, файлы содержащие сборку на Pyhton. Поддерживается соблюдение зависимостей и конфликтов. Начиная с Pardus 2009, большие по объему пакеты передаются, как разница между установленным и новым.

 

9. IPS(Image Packaging System)

На данный момент работа над этой технологией еще не завершена и ее можно назвать работающей моделью нежели чем завершенной реализацией, но тем не менее уже сейчас виден потенциал Image Packaging System, как системы управления пакетами нового поколения. Во первых IPS тесно интегрирована с ZFS и активно использует ее функционал по созданию мгновенных снимков и копий файловых систем, позволяя выполнять откат произведенных изменений и быстрое создание альтернативных загрузочных окружений для тестирования новых версий ОС. Таким образом неудачное обновление пакетов теперь не потребует переустановки или восстановления из резервной копии – достаточно откатиться на предыдущее состояние или вернуться в прежнее загрузочное окружение. Пользоваться IPS очень просто – управление пакетами осуществляется с помощью утилиты pkg (или графического приложения Package Manager, похожего на Synaptic Package Manager для APT):

# pkg install openoffice

Создавать свои пакеты также  просто, для этого необходимо подкорректировать  и запустить локальную службу репозитория

# svccfg -s pkg/server "setprop pkg/port = 10000"# svcadm refresh pkg/server# svcadm enable pkg/server

и воспользоваться утилитой pkgsend:

# eval `pkgsend open liebe@1.0;5.11`# pkgsend add file owner=root group=bin \mode=555 path=/usr/sbin/liebe src/liebe# pkgsend add file owner=root group=bin \ mode=444 path=/usr/share/man/man1m/liebe.1m doc/liebe.man

# pkgsend add set name="description" \ value="Liebe global server"

# pkgsend close

После чего добавить локальный  репозиторий в конфигурацию IPS и  установить пакет:

# pkg set-authority -O http://localhost:10000 localrepo# pkg refresh# pkg install l iebe.

 

10. apt

apt (advanced packaging tool) — программа  для установки, обновления и  удаления программных пакетов  в операционных системах Debian и  основанных на них (Ubuntu, Edubuntu и т. п.), иногда также используется в дистрибутивах, основанных на Mandrake, например Mandriva, ALTLinux и PCLinuxOS. Способна автоматически устанавливать и настраивать программы для UNIX-подобных операционных систем как из предварительно откомпилированных пакетов, так и из исходных кодов.

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

apt (apt-get) значительно упрощает  процесс установки программ в  командном режиме. Для пользователей,  предпочитающих графический интерфейс,  более удобным может оказаться другие front-end'ы — Synaptic и Adept. Существует текстово‐графический интерактивный пакет (использующий ncurses) — aptitude.

Представляет собой  библиотеку, предоставляющую другим программам (таким как apt-get или apt-secure) возможности для работы с пакетами. Существует несколько графических оболочек для apt:

    • Adept ранее входил в дистрибутив Kubuntu (теперь заменён на KPackageKit)
    • Aptitude — в текстовом и командном режимах
    • Synaptic — простой и мощный графический менеджер, созданный на основе GTK+
    • KPackage — компонент среды рабочего стола KDE
    • Apper — утилита для обновления пакетов для среды KDE использующая D-Bus



Информация о работе Системы управления пакетами в UNIX-подобных ОС (apt, rpm, pacman и др.)