Документ взят из кэша поисковой машины. Адрес оригинального документа : http://uneex.mithril.cs.msu.su/LecturesCMC/LinuxSoft2007/08/02Package
Дата изменения: Unknown
Дата индексирования: Sun Apr 10 07:55:26 2016
Кодировка: UTF-8
LecturesCMC/LinuxSoft2007/08/02Package - UNИX

Пакет

О каталогах

Лектор не знает, говорил ли он про это, но он еще раз говорит: в Линуксе достаточно аккуратно проделано разделение прав доступа, и без ведома пользователя к ним другой пользователь не имеет доступа. Тем не менее, процессы под рутом чихать хотели на них. И установка делается под рутом. Для простого пользователя на запись открыты только ~ и /tmp, а некоторые закрыты и на чтение, и установку специфического ПО, кроме как в свой каталог, пользователь не может, а рут может.

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

Типичная структура:

И это все один программный продукт.

Пакет

Теперь сведем все это воедино и выстроим понятие пакета. Вводим понятие пакета:

Пакет --- файл, содержащий все необходимое для установки и удаления программного продукта.

Этого на самом деле недостаточно. А в случае, если эти файлы уже есть? Конфликт.

Разделяемая библиотека.

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

Кроме этого существуют непрямые зависимости. Может быть такая ситуация, что для работы вашего продукта другой программный продукт не нужен. Например, для почтового вебсервера нужен почтовый сервер --- нет, но это ситуация редкая. Поэтому установка почтового сервера требовать или нет? По-хорошему надо, но это рекомендованный пакет. <i>(vvk: веб-интерфейс может быть размещен на отдельном хосте, ovz-контейнере, etc, так что в данном случае такая зависимость скорее вредна чем полезна ;))</i> По принципу нестрогих зависимостей была устроена документация в альте.

В рамках дистрибутива все будет хорошо.

Когда вы обращаетесь к хранилищу, может случиться ситуация, что уже все поменялось. В этом случае можно попробовать следующий способ: помимо rpm есть src.rpm, в котором все необходимое для сборки программного продукта. Можно скачать src.rpm и пересобрать его в своем окружении. Все сводитя к выполнению новых команд:

Рассказ про us army lab

Важная вещь: откуда берутся пакеты. Существует хранилище (указанное в /etc/apt/sources.list), которое в сумме дает граф зависимостей, их можно как-то сравнивать и производить обновления.

Против чужих пакетов в репозитории:


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

0

1

1

1

1

ConstantinYershow, DmitryChistikov, VsevolodKrishchenko


CategoryLectures CategoryCmc CategoryUneex

LecturesCMC/LinuxSoft2007/08/02Package (последним исправлял пользователь eSyr 2008-07-24 15:13:22)