Вольф Александр Владимирович 9 ноября 2010 г



Скачать 61.47 Kb.

Дата17.11.2016
Размер61.47 Kb.
Просмотров94
Скачиваний0

Пакеты программного обеспечения
Вольф Александр Владимирович
9 ноября 2010 г.

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

Пакеты программного обеспечения
Sources-based операционные системы:
FreeBSD, Linux (LFS, Slackware, Gentoo...)

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

Пакеты программного обеспечения
Главный конфигурационный файл системы
Portage — /etc/make.conf
Основной пользовательский интерфейс
Portage — консольная программа emerge
Дерево портежей обычно располагается в каталоге /usr/portage/

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

Пакеты программного обеспечения
Пример работы программы emerge:
# emerge -pv postfix
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] mail-mta/postfix-2.3.6 USE="hardened mysql pam ssl -cdb
-dovecot-sasl -ipv6 -ldap -mailwrapper -mbox -nis -postgres
-sasl (-selinux) -vda" 2,719 kB
[blocks B ] mail-mta/ssmtp (is blocking mail-mta/postfix-2.3.6)
Total: 1 package (1 new, 1 block), Size of downloads: 2,719 kB

Пакеты программного обеспечения
“Бинарные” операционные системы:
PC-BSD, Linux (AltLinux, Fedora, Debian,
Ubuntu, OpenSUSE...), OpenSolaris,
Windows, Mac OS X

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

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

Пакеты программного обеспечения
RPM — система управления пакетами, изначально разрабатываемая компанией Red
Hat для операционной системы Red Hat Linux.
Ныне RPM применяется во множестве дистрибутивов операционной системы Linux, например, Fedora, RHEL, ASP Linux, ALT Linux,
Mandriva, openSUSE.

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

Название программы

Версия программы

Номер релиза (количество раз пересборки программы одной и той же версии). Также часто используется для обозначения дистрибутива, под который собран этот пакет, например mdv
(Mandriva Linux) или fc4 (Fedora Core 4).

Архитектура, под которую собран пакет (i386, ppc и т. д.)

Пакеты программного обеспечения
Собранный пакет обычно имеет такой формат названия:
<название>-<версия>-<релиз>.<архитектура>.rpm nano-0.98-2.i386.rpm libgnomeuimm2.0-2.0.0-3.src.rpm

Пакеты программного обеспечения
Преимущества RPM над другими средствами управления и
установкой программного обеспечения

Лёгкость удаления и обновления программ

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

«Неинтерактивная установка»: легко автоматизировать процесс установки/обновления/удаления

Проверка целостности пакетов с помощью контрольных сумм и
GPG-подписей

DeltaRPM, аналог патча, позволяющий обновить установленное программное обеспечение с минимальной затратой трафика

Возможность аккумуляции опыта сборщиков в spec-файле

Относительная компактность spec-файлов за счёт использования макросов

Пакеты программного обеспечения
Основные недостатки

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

Раздробленность и несовместимость различных версий. Так, существуют проекты по разработке RPM 4 (rpm.org), RPM5
(rpm5.org), а также большое количество патчей на RPM в дистрибутивах. В частности, это приводит к:

Несовместимости spec-файлов между дистрибутивами (spec- файл ALT Linux чаще всего невозможно собрать на Red Hat или SuSE без значительных исправлений)

Несовместимости названий пакетных зависимостей при попытке установить пакет от другого дистрибутива (например, зависимости в RPM сборки Connectiva создаются по другим правилам, нежели в Mandriva).

Пакеты программного обеспечения
Создание пакета
Для создания пакета нужен spec-файл. Это обычный текстовой файл, имеет суффикс .spec и содержит в себе название пакета, версию, номер релиза, инструкции по сборке и установке пакета и список изменений. При наличии spec-файла пакет создаётся командой rpmbuild

Пакеты программного обеспечения

rpm -Uhv package.rpm — При наличии пакета package произойдёт его обновление, при отсутствии — установка.

rpm -qa --queryformat '%010{SIZE}\t%{NAME}-%{VERSION}-%
{RELEASE}\n' — вывод списка всех установленных пакетов и их размеров

rpm -q --queryformat %{DISTRIBUTION} package.rpm — название дистрибутива, в котором установлен пакет. (опция -q для установленного в систему пакета, опция -qp для неустановленного)

rpm -qa | grep xx — список пакетов, где встречается сочетание «xx»

rpm -q --whatprovides fullpathtofile — название пакета которому принадлежит файл fullpathfofile

Пакеты программного обеспечения
Где найти информацию о RPM

Официальный сайт - http://www.rpm.org/

Руководство на русском - http://fedoraproject.org.ru/rpm

Влад Горелецкий. Русский перевод книги Эрика Фостер-
Джонсона Red Hat RPM Guide - http://www.lexpr.ru/node/11

Сборка пакетов простым пользователем - http://users.tkk.fi/tkarvine/rpm-build-as-user.html

Цикл статей по сборке RPM - http://tigro.info/wp/?p=375

Пакеты программного обеспечения
dpkg — это программное обеспечение, являющееся основой системы управления пакетами в Debian. dpkg используется для установки, удаления, и получения информации о .deb пакетах.
dpkg изначально был создан Мэттом Уэлшом, Карлом Стритером и
Яном Мердоком. Изначально dpkg был написан на Perl, но позже основная часть была переписана на C Яном Джексоном в 1993.
Название «dpkg» — это сокращение от «Debian package».

Пакеты программного обеспечения
Примеры использования
Чтобы установить пакет .deb: dpkg -i Имя_deb_Пакета
Где Имя_deb_Пакета — это имя файла пакета (он имеет расширение .deb). Вы должны запускать dpkg как root.
Вывод списка установленных пакетов: dpkg -l [маска]
Для удаления установленного пакета: dpkg -r имя_пакета

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

Пакеты программного обеспечения
Примеры использования

apt-get install имя_пакета – установка пакета

apt-get remove имя_пакета – удаление пакета

apt-get remove --purge имя пакета – удаление пакета

apt-get update – обновление информации о пакетах

apt-get upgrade – обновление пакетов

apt-cache search XX – поиск пакета XX
Gustavo Noronha Silva APT HOWTO - http://www.ru.debian.org/doc/manuals/apt-howto/

Пакеты программного обеспечения
Примеры использования

apt-get install имя_пакета – установка пакета

apt-get remove имя_пакета – удаление пакета

apt-get remove --purge имя пакета – удаление пакета

apt-get update – обновление информации о пакетах

apt-get upgrade – обновление пакетов

apt-cache search XX – поиск пакета XX
Gustavo Noronha Silva APT HOWTO - http://www.ru.debian.org/doc/manuals/apt-howto/

Пакеты программного обеспечения
Aptitude - оболочка для Advanced Packaging Tool, части системы управления пакетами в операционной системе
Debian и её производных.
Примеры использования

aptitude install имя_пакета – установка пакета

aptitude remove имя_пакета – удаление пакета

aptitude remove --purge имя пакета – удаление пакета

aptitude update – обновление информации о пакетах

aptitude safe-upgrade – обновление пакетов

aptitude search XX – поиск пакета XX

Пакеты программного обеспечения
YUM - открытый консольный менеджер RPM-пакетов.
Примеры использования

yum install имя_пакета – установка пакета

yum remove имя_пакета – удаление пакета

yum update – обновление пакетов

yum list | grep XX – поиск пакета XX

Пакеты программного обеспечения
Графические интерфейсы для системы
управления пакетами:
Synaptic, PackageKit, KPackage,
Центр приложений Ubuntu (Ubuntu
Software Center)...

Пакеты программного обеспечения
Synaptic

Пакеты программного обеспечения
PackageKit

Пакеты программного обеспечения
KPackage

Пакеты программного обеспечения
Центр приложений Ubuntu (Ubuntu Software Center)

Document Outline

  • Страница 1
  • Страница 2
  • Страница 3
  • Страница 4
  • Страница 5
  • Страница 6
  • Страница 7
  • Страница 8
  • Страница 9
  • Страница 10
  • Страница 11
  • Страница 12
  • Страница 13
  • Страница 14
  • Страница 15
  • Страница 16
  • Страница 17
  • Страница 18
  • Страница 19
  • Страница 20
  • Страница 21
  • Страница 22
  • Страница 23
  • Страница 24
  • Страница 25
  • Страница 26
  • Страница 27
  • Страница 28
  • Страница 29
  • Страница 30


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал