| |
Это направления работы над Debian .
Раньше была ротация кодовых имен: например, Woody сперва был unstable, затем testing и теперь stable. Теперь эта ротация имеет место только в стабильном и тестируемом дистрибутивах. Принято решение нестабильный дистрибутив всегда называть Sid.
Debian поддерживает предыдущий и текущий стабильный дистрибутивы. Более старые дистрибутивы попадают в архив. Над ними не осуществляется работа по исправлению ошибок.
Это часть архива Debian , не входящая в официальный дистрибутив. В experimental находятся кандидаты на вхождение в Sid, которые не проходят по критериям качества или имеют серьезные конфликты зависимостей с другими пакетами.
Debian это проект по созданию дистрибутива GNU/Linux, состоящего из свободного программного обеспечения. Требования к лицензии, по которым тот или иной продукт может считаться свободным, описаны в документе Debian Free Software Guides (DFSG).
Программное обеспечение, которое не является свободным, не может входить в официальную поставку Debian , и не является частью дистрибутива.
Тем не менее, проект Debian с целью избежания конфликта интересов с пользователями (которые не всегда ценят свою свободу), предоставляет свои ресурсы: файл-серверы, зеркала, система отслеживания ошибок, списки рассылки некоторым пакетам с несвободным ПО. Данные пакеты размещаются в части дистрибутива, имеющей название non-free. При сборке дистрибутива на CD принято non-free выделять в отдельный диск или не включать в дистрибутив вовсе.
Также существет свободное программное обеспечение, которое требует для своей работы несвободные библиотеки или программы. Это программное обеспечение считается частью дистрибутива, и размещается в разделе contrib.
Раньше архив дистрибутива представлял из себя дерево каталогов, где пакеты были отсортированы по назначанию. Затем было принято решение для нестабильного и тестируемого дистрибутива использовать структуру типа pool/main/буква или libбуква/пакет.deb . Эта система оказалась очень удобной и гибкой. Поэтому теперь Debian будет иметь структуру этого класса для всех дистрибутивов.
Существуют два способа указания пути к архиву пакетов Debian .
В случае если вам нужно указать путь к архиву пакетов Debian , построенному в виде стандартной структуры (например, официальное зеркало), надо в файл /etc/apt/sources.list добавить строку вида:
deb protocol://host branch sections
deb-src protocol://host branch sections
где:
deb http://debian.psu.ru stable main contrib non-free
deb-src http://debian.psu.ru stable main contrib non-free
Если же вам нужно указать путь к каталогу с пакетами (например программа, не являющаяся частью Debian ), то следует внести в файл /etc/apt/sources.list следующие строки:
deb protocol://host/path path-to-archive/ deb-src protocol://host/path path-to-archive/
где:
deb ftp://people.debian.org/~schoepf/kde3/woody ./
deb-src ftp://people.debian.org/~schoepf/kde3/woody ./
Строка deb-src не обязательна, и нужна только в случае, если вы собираетесь самостоятельно перекомпилировать какой либо пакет.
Более подробную информацию вы можете найти в документации на apt и в списках рассылки Debian , посвященных созданию ``вспомогательных'' депозитариев Debian .
Вы наверное забыли после этого выполнить команду apt-get update. Если эта команда выдает сообщения об ошибках, читайте документацию на apt(8), и проверяйте.
Если компакт диск создан стандартными средствами и имеет стандартную структуру каталогов Debian (например, любой из дисков созданных debian-cd или jigdo), достаточно ввести команду
apt-cdrom add
и ``познакомить'' apt с новым диском.
Можно скачать ISO9660 образы дисков на любом из зеркал, которое вы найдете на сайте Debian, но готовы ли вы к тому, что после скачивания образа в 650 мегабайт, его md5 сумма будет неправильной? :)
Существуют два более приятных способа заполучить образы дисков Debian :
Если же вы решили скачать образы Debian , настоятельно рекомендую воспользоваться программой jigdo. Она есть как под практически любой *NIX, так и под Windows. Ее принцип работы заключается в том, что вы должны скачать ``заготовку'' диска в ~50 мегабайт, и указать зеркало с которого скачать файлы дистрибутива. jigdo самостоятельно скачает файлы, сложит их определенном месте для дальнейшего использования, а затем соберет из них диск идентичный тому, с которого делалась заготовка, что и подтвердит затем, проверив md5 сумму.
Используя jigdo и имея поблизости хорошее зеркало Debian вы сможете иметь всегда диски со свежим testing или диски с той или иной альтернативной комплектацией.
Если вы правильно указали источники пакетов в /etc/sources.list и выполнили команду apt-get update , достаточно выполнить команду apt-get dist-upgrade.
Выполните команду
apt-get install имя_пакета
При установке пакета всегда проверяются зависимости, и если становка пакета требует установки или удаления других пакетов, вам будет предложено ознакомиться с возможными последствиями.
В случае, если вы имеете просто файл пакета, и уверены, что все зависимости удовлетворены, можно установить пакет командой
dpkg -i имя_пакета.deb
Выполните команду
apt-get remove имя_пакета
если вы хотите оставить файлы настроек, или
apt-get remove -purge имя_пакета
если вы хотите удалить пакет так, будто он у вас и не был установлен.
При удалении пакета всегда проверяются зависимости, и если удаление пакета требует установки или удаления других пакетов, вам будет предложено ознакомиться с возможными последствиями. Пример:
root@moria:~# apt-get remove tetex* Reading Package Lists... Done Building Dependency Tree... Done Note, selecting tetex-extra instead of tetex-nonfree Note, selecting libkpathsea3 instead of tetex-lib The following packages will be REMOVED: dvi2dvi dvi2ps latex2rtf libkpathsea3 tetex-base tetex-bin tetex-extra texmacs 0 packages upgraded, 0 newly installed, 8 to remove and 0 not upgraded. Need to get 0B of archives. After unpacking 98.2MB will be freed. Do you want to continue? [Y/n]
Я рассмотрю здесь простой способ, основанный на ручной сборке пакета, без использования специфических утилит типа deb-make и других.
Для начала, вы должны иметь, то что вам нужно установить с помощью собираемого вами пакета. Путь это будет какая-либо утилита, расширяющие возможности системы. (С тем же успехом - это могут быть дополнительные файлы шрифтов или еще что-нибудь). Пусть эта утилита называется probe. Положим, что к этой утилите вы написали страничку руководства man с названием probe.1 и кроме того положим, что есть какой-либо файл, где разобран пример работы с данной утилитой с именем example. Путь файл с примером и страничка руководства называются сопровождающими файлами.
Важно, чтобы вы представляли, где должна быть размещена эта утилита и сопровождающие ее файлы. Обычно исполняемые файлы размещают в /usr/bin. Странички руководства man размещают в /usr/man/man.1, а всякие примеры в /usr/lib/имя_утилиты. Пусть так будет и в нашем случае.
Итак, выполняем следующие шаги:
Создаем в этом каталоге подкаталоги, в которые нужно поместить утилиту и сопровождающие файлы. При этом каталоги создаются так, как будто DEB является корневым каталогом. Таким образом, в нашем случае, файлы должны быть размещены следующим образом:
DEB/usr/bin/probe
DEB/usr/man/man1/probe.1
DEB/usr/lib/probe/example
Вот для чего они нужны:
control | Служебная |
---|---|
conffiles | Список конфигурационных файлов |
preinst | Скрипт, выполняемый перед началом установки пакета |
postinst | Скрипт, выполняемый после установки пакета |
prerm | Скрипт, выполняемый перед удалением пакета |
postrm | Скрипт, выполняемый после удаления пакета |
Нелишним будет напомнить, что скрипты должны иметь права на выполнение, иначе ничего выполняется у вас не будет.
Я рассмотрю здесь простой способ, основанный на ручной сборке пакета, без использования специфических утилит типа deb-make и других.
Эту информацию впоследствии будет использовать менеджер пакетов dpkg и программа dselect. Информацию можно занести в любом текстовом редакторе. Для нашего случая я привожу уже готовый файл:
Package: probe Version: 1.0 Architecture: i386 Maintainer: Ivan Ivanov <[email protected]> Description: My probe utility This is my utility
Обратите внимание: перед фразой This is my utility пробел. Он указывает, что данная фраза является продолжением описания.
Если его не поставить, то при сборке пакета вы получите сообщение об ошибке.
dpkg -b имя_каталога имя_пакета.deb
В нашем случае эта команда будет выглядеть так:
dpkg -b DEB probe-1.0.deb
Если вы правильно выполнили все описанные выше инструкции, то вы получите файл probe-1.0.deb, который вы можете теперь установить через команду
dpkg -i probe-1.0.deb.
Если эта программа не входит в Debian , обратитесь к списку рассылки и сайту ее разработчиков.
Если же программу еще никто не собрал (или не разместил в собранном виде в Internet), попробуйте сами! Если у вас получится - разместите готовые пакеты, исходные тексты и патчи в виде депозитария Debian , и сообщите с соответствующий список рассылки об этом.
В случае, если программа является не входит в Debian , ее лицензия не противоречит DFSG, и у вас есть желание, возможность и время поддерживать ее для всех платформ, поддерживаемых Debian , попробуйте стать2 Debian Developer - войдите в сообщество разработчиков Debian !
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |