Читаем Ubuntu 10. Краткое руководство пользователя полностью

Пакет, как правило, содержит программу и вспомогательные файлы. Но не всегда в пакете находится все необходимое для запуска программы. Пакет может не содержать библиотеку, которую использует программа, а также другие программы, которые нужны для работы устанавливаемой программы. Почему так происходит? Представим, что у нас есть графическая библиотека размером 10 Мбайт. Размер устанавливаемой программы — 500 Кбайт. Да, можно было бы включить библиотеку в состав пакета, но тогда размер пакета был бы не 500 Кбайт, а 10,5 Мбайт. При этом есть и другие программы, которые также используют данную библиотеку. Выходит, что каждый пакет с такой программой «весил» бы на 10 Мбайт больше только потому, что библиотека содержится в пакете. Это нерационально — логичнее вынести библиотеку в отдельный пакет.

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

Зависимости могут быть и обратного характера, т. е. требовать не установить, а удалить определенный пакет. Это случается, когда одна программа конфликтует с другой, и пользователю нужно выбрать, какую программу использовать. Например, в системе может быть установлен только один почтовый сервер. Но в Интернете можно найти несколько почтовых серверов, а вот установить только один — поскольку если установить оба, то они будут мешать друг другу работать.

Но пакет пакету рознь. Сейчас в мире Linux существуют два основных формата пакетов: RPM и DEB. RPM-пакеты устанавливаются в системах, совместимых с дистрибутивами типа Red Hat. Ubuntu к числу таких систем не относится. Поэтому нас интересует только второй формат пакетов. Впрочем, если вы не можете найти DEB-пакет с нужной вам программой, имеется возможность преобразовать RPM-пакет в DEB-пакет и попытаться его установить (см. разд. 9.6).

<p>9.1.2. Архивы</p>

В архиве программы распространяются редко, но иногда такое случается. Может быть, разработчикам программы было лень собирать пакет, может, была и какая-нибудь другая причина. Но в большинстве случаев в архивах распространяется исходный код программы, следовательно, после распаковки архива программу требуется откомпилировать. У вас, как у начинающего пользователя Ubuntu, такой необходимости не будет — практически все программное обеспечение для Ubuntu распространяется в виде DEB-пакетов, т. е. не нуждается в компиляции.

<p>9.2. Программа <emphasis>dpkg: </emphasis>управление DEB-пакетами</p>

Программа dpkg используется для установки, удаления и управления пакетами Debian/Ubuntu. Программа dpkg вызывается из командной строки. Формат вызова ее следующий:

dpkg [ключи] действие

Примечание

Для запуска dpkg нужно обладать полномочиями root, получить которые можно с помощью команды sudo.

Предположим, у нас есть пакет package.deb. Для его установки откройте терминал (Приложения | Стандартные | Терминал) и введите команду:

sudo dpkg — i /путь/package.deb

Как видите, ничего сложного тут нет. Интересующимся поясню, что процесс установки пакета состоит из следующих шагов:

1. Извлечение управляющих файлов из пакета.

2. Если уже была установлена старая версия этого пакета, тогда из старого пакета запускается сценарий prerm, который подготавливает систему к удалению старой версии пакета. Другими словами, если нужно, то обновление пакета выполняется автоматически.

3. Выполняется сценарий preinst, если он есть в данном пакете.

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

5. Если была установлена старая версия пакета, то выполняется сценарий postrm (действия после удаления) из старого пакета. Данный сценарий запускается сразу после выполнения сценария preinst нового пакета, поскольку старые файлы удаляются во время записи новых файлов.

6. Выполняется настройка пакета:

• распаковываются новые конфигурационные файлы, а старые сохраняются, если нужно будет их восстановить в случае ошибки во время установки нового пакета;

• запускается сценарий postinst, если он есть в данном пакете.

Удалить пакет тоже просто:

sudo dpkg — r package

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных