1. Общие вопросы по дистрибутиву
Что такое Debian?
Debian это один из дистрибутивов Linux (UNIX подобной сетевой операционной системы).
Чем отличается Debian от других дистрибутивов Linux?
Форматом пакетов и программой которая обслуживает данные пакеты, процедурой инсталляции. Кроме того есть отличия и в структуре каталогов, и в месте расположения конфигурационных файлов. Кроме того в Debian'е сделана попытка подогнать все под UNIX'овый стандарт System V. Можно также заметить, что Debian является рекордсменом по количеству пакетов, которые идут в составе дистрибутива.
Самое мощное отличие - это конечно пакеты. Теперь в них включается контрольная информация зависимости одних пакетов от других, комментарии к пакету, информация о сервисе, который предоставляет пакет. Кроме того в пакете имеются сценарии, что позволяют произвести настройку пакета сразу после установки и кроме того произвести обновление старой версии пакета на новую при сохранении конфигурационных файлов.
Не лишне также отметить, что Debian на данный момент является рекордсменом по количеству пакетов, идущих в дистрибутиве.
Можно даже снять уже поставленный пакет. Это значит, что вы можете из установленных файлов пакета снова сделать .deb пакет.
Какими способами можно установить Debian?
Несколькими способами
- с загрузочного CD ROM
- с CD ROM с помощью дискет
- с одного из разделов жесткого диска
- по FTP
- по HTTP
- через NFS
Какая версия Debian'а на сегодня самая свежая?
В начале марта был официально выпущен Debian 2.1, который имеет название Slink. Хотя версия считается стабильной, дальнейшая работа по выявлению и устранению ошибок продолжается.
Летом 1999 обещали Debian 2.2 (potato), но судя по состоянию дел на данный момент, едва ли мы его получим раньше осени, а то и зимы.
Свежие новости от самих разработчиков можно узнать на родном сайте Debian'а www.debian.org
По моим впечатлениям дистрибуция Debian 2.1 продумана хуже, чем у Debian 1.3.1: многие нужные пакеты убраны из main в секцию non-free. Есть некоторые негативные (на мой взгляд) изменения в концепции пакетов XFree. Однако с русским языком проблем стало несколько меньше.
Не особенно радует возросшее количество дисков, на которых распостраняется дистрибутив. Slink занимает 4-ре диска: два диска binary (main+contrib) и два диска sources.
Как мне сделать собственный .deb пакет?
Я рассмотрю здесь простой способ, основанный на ручной сборке пакета, без использования специфических утилит типа deb-make и других.
Для начала, вы должны иметь, то что вам нужно установить с помощью собираемого вами пакета. Путь это будет какая-либо утилита, расширяющие возможности системы. (С тем же успехом - это могут быть дополнительные файлы шрифтов или еще что-нибудь). Пусть эта утилита называется probe. Положим, что к этой утилите вы написали страничку руководства man с названием probe.1 и кроме того положим, что есть какой-либо файл, где разобран пример работы с данной утилитой с именем example. Путь файл с примером и страничка руководства называются сопровождающими файлами.
Важно, чтобы вы представляли, где должна быть размещена эта утилита и сопровождающие ее файлы. Обычно исполняемые файлы размещают в /usr/bin. Странички руководства man размещают в /usr/man/man.1, а всякие примеры в /usr/lib/<имя утилиты>. Пусть так будет и в нашем случае.
Итак, выполняем следующие шаги:
- Создаем временный каталог с именем DEB
- Создаем в этом каталоге подкаталоги, в которые нужно поместить утилиту и сопровождающие файлы. При этом каталоги создаются так, как будто DEB является корневым каталогом. Таким образом, в нашем случае, файлы должны быть размещены следующим образом:
DEB/usr/bin/probe
DEB/usr/man/man1/probe.1
DEB/usr/lib/probe/example
- Создаем в каталоге DEB служебный каталог с именем DEBIAN
- В этом каталоге создаем обязательный файл control и по вашему желанию также могут быть добавлены файлы preinst, postinst, prerm, postrm и conffiles. Вот для чего они нужны:
control | Служебная информация о пакете |
conffiles | Список конфигурационных файлов |
preinst | Скрипт, выполняемый перед началом установки пакета |
postinst | Скрипт, выполняемый после установки пакета |
prerm | Скрипт, выполняемый перед удалением пакета |
postrm | Скрипт, выполняемый после удаления пакета |
Нелишним будет напомнить, что скрипты должны иметь права на выполнение, иначе ничего выполняется у вас не будет.
- Теперь заполняем файл control служебной информацией. Эту информацию впоследствии будет использовать менеджер пакетов dpkg и программа dselect. Информацию можно занести в любом текстовом редакторе. Для нашего случая я привожу уже готовый файл:
Package: probe
Version: 1.0
Architecture: i386
Maintainer: Ivan Ivanov <ivan@perm.ru>
Description: My probe utility
This is my utility
Теперь поясним, что к чему. Слова с двоеточиями являются служебными и выполняют закрепленные за ними функции. Здесь даны далеко не все возможные слова - остальные найдете на страничке руководства man с названием deb-control(5). За словом Package: должно идти имя пакета. В этом имени не должно быть заглавных букв или небуквенных символов типа "!", "?" и т.д. За словом Version: должен идти номер версии. За словом Architecture: архитектура машины для которой собирается пакет. Для платформы Intel это i386. За словом Maintainer: должно следовать имя автора пакета, с необязательным адресом электронной почты (в нашем случае ivan@perm.ru). За словом Description: должно следовать краткое, или полное описание пакета (можно использовать русские буквы, но тогда в dselect'е вы будете иметь проблемы). Краткое описание следует непосредственно за словом. Полное описание начинается со следующей строки. Обратите внимание: перед фразой This is my utility стоит пробел. Он указывает, что данная фраза является продолжением описания. Если его не поставить, то при сборке пакета вы получите сообщение об ошибке.
- Создайте и заполните остальные файлы, указанные в таблице, если ВАШЕМУ пакету это нужно (в данном случае они не нужны).
- Выйдите из каталога DEB
- Для генерации .deb пакета наберите команду dpkg -b <имя каталога> <имя пакета .deb>. В нашем случае эта команда будет выглядеть так:
dpkg -b DEB probe-1.0.deb
Если вы правильно выполнили все описанные выше инструкции, то вы получите файл probe-1.0.deb, который вы можете теперь установить через команду dpkg -i probe-1.0.deb.
Не правда ли, все это довольно просто? Вы можете пойти дальше, создав свое собственное дополнение к стандартному дистрибутиву в стиле Debian и подключать его через каталог local в программе dselect. Однако создание такого дополнения, с генерацией файла Packages будет посложнее. По этому я настоятельно рекомендую вам почитать страницы руководства man с названиями: dpkg(8), dpkg-deb(1), deb-control(5) и dpkg-scanpackages(8).
Содержание |
Вперед