Установка программ в Debian при помощи tasksel. Установка программ в Linux (.tar,.gz,.bz, RPM и DEB)

Для установки и распространения Debian-основанные дистрибутивы используют файлы с расширением *.deb. Но, как правило, программы распространяются не в виде отдельных пакетов, а в виде репозиториев - хранилищ большого числа файлов. Для поиска и установки пакетов существуют различные менеджеры. Польза такого подхода обусловлена тем, что очень редко программы могут работать сами по себе, без дополнительных библиотек, и для корректной работы системы менеджеры отслеживают зависимости и автоматически добавляют их в список установки.


Synaptic

Определенно это лучший графический менеджер пакетов в Debian.

Тут можно делать практически всё, что может понадобиться: как устанавливать, так и удалять пакеты, добавлять различные репозитории, включая диски.

Правда, он не является самостоятельной программой, так как для своей работы использует apt.


APT

Набор консольных утилит для работы с репозиториями. Вообще, консоль частенько бывает удобнее, чем оконный режим. Особенно если ты знаешь, что конкретно тебе требуется. Проще сразу написать что-то вроде apt-get install vlc, чем запускать синаптик, в поиск вбивать тот же vlc, потом его отмечать и жать "применить". А вообще вот самые используемые случаи apt:

# apt-get update - получить обновлённые списки пакетов с сервера;

# apt-cdrom add - добавить диск в список репозиториев;

# apt-get install package_name - установить/обновить пакет;

# apt-get upgrade - обновить пакеты, установленные в систему;

# apt-get remove package_name - удалить пакет, установленный в систему (файлы конфигурации остаются!);

# apt-get purge package_name - удалить пакет, установленный в систему, с удалением файлов конфигурации;

$ apt-cache search package_name - поиск пакета. Выдаёт довольно большой список (так как ищет в имени и описании), если надо искать более строго, то можно поступать следующим образом (на примере mplayer);

$ apt-cache search mplayer | grep mplayer - в список попадают только те пакеты, где в имени или кратком описании встречается "mplayer".


Aptitude

Имеет даже псевдографический интерфейс, который можно увидеть, если запускать без параметров.

Наиболее часто используемые клавиши в таком режиме:

"/" - поиск по имени пакета;

"n" - перейти к следующему пакету, удовлетворяющему условиям поиска;

"+" - установить пакет;

"-" - удалить пакет, оставив конфиги;

"_" - удалить пакет вместе с конфигами (purge);

"g" - перейти к следующему шагу работы с пакетами (установка/удаление);

"q" - возврат или выход.

Кроме того, aptitude можно использовать прямо из консоли подобно apt. Вот некоторые его параметры:

download - просто скачать нужный пакет;

install, remove, search, upgrade, update, purge - аналогично apt;

markauto/unmarkauto - поставить/снять отметку "установлено автоматически";

reinstall - переустановить пакет.

Небольшое замечание по использованию aptitude. Aptitude рекомендуется к использованию (и в инсталляторе используется именно он) - у него более интеллектуальный механизм решения проблем с зависимостями (в крайнем случае, он позволяет разобраться с ними вручную). Особенно это заметно при крупных обновлениях системы. В таких случаях apt даже может разрушить систему.


Классический способ установки (сборка из тарболов)

Исходные файлы представляют собой архивированные исходные тексты и имеют следующий вид:

name.tar.gz (иногда.tgz)

Сначала необходимо распаковать эти архивы. Это можно сделать при помощи какого-либо графического приложения, а можно и из консоли:

$ tar -xzf name.tar.gz

$ tar -xjf name.tar.bz2

После этого переходим в каталог с распакованными файлами:

Этот скрипт проверяет все зависимости и настраивает компилятор (и создает Makefile). При ошибке выдаётся сообщение об отсутствующих пакетах, которые надо поставить (обычно необходимо установить пакеты, название которых заканчивается на -dev).

Примечание. По умолчанию обычно не ставятся пакеты, необходимые для компиляции. Для того, чтобы всё работало, надо установить пакет build-essential:

# aptitude install build-essential

Если у вас всё сконфигурировалось нормально, то можно запускать компилятор:

Ждём. Процесс сборки может быть долгим (для некоторых приложений - несколько часов, особенно, если у вас слабый процессор). По окончанию, если не появилось каких-нибудь сообщений об ошибке, можно устанавливать то, что у нас получилось. Обычно это делается следующей командой:

Но в таком случае ваш пакет не будет отображаться в менеджерах. Для решения этой задачи нужно самостоятельно собрать deb-файл. Конечно, можно сделать это вручную, но можно и воспользоваться утилитой checkinstall, которая сделает всё сама - она и соберёт, и установит пакет (в этом случае не надо запускать make install).

# checkinstall -y

Ключ -y мы задали для того, чтобы нам не задавали никаких вопросов.

Примечание. Если вы ставите свежую версию пакета, установленного в системе, то стоит его предварительно удалить, иначе checkinstall выдаст ошибку при установке пакета.


Другие варианты установки

Если вам нужно поставить отдельный пакет не из репозитория (что не рекомендуется), то можно воспользоваться следующей командой.

# dpkg -i package.deb

Осторожнее с такой установкой! dpkg проверяет все зависимости после того, как скопируются все файлы. В случае ошибки корректность работы не гарантируется.

Иногда приходится устанавливать файлы формата rpm. Это не родные дебиановские файлы, поэтому гарантий корректной работы ещё меньше, чем в предыдущем случае (и не думайте ставить что-то системное таким образом!). Но можно поставить программу alien, которая пересоберёт deb-пакет, после чего его можно устанавливать как показано выше.

# aptitude install alien

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

Ну вот и всё. Теперь можно и поэкспериментировать с системой, посмотреть, что же у нас есть в дистрибутиве. Всё-таки Debian - огромное поле для экспериментов, и из него можно сделать всё, что угодно.

В Debian есть программа tasksel. Ее задача — дать пользователю возможность выбрать программное обеспечение для определенной функциональности, например, поставить все необходимое для веб-сервера, без необходимости знать названия пакетов. Вы просто выбираете конфигурацию по ее названию, например, «web сервер» или «сервер печати», а всё остальное программа делает самостоятельно. В итоге вы получаете установленное программное обеспечение для выполнения задачи. И, естественно, вы можете создавать собственные конфигурации для выполнения определенных задач.

Установка tasksel

По умолчанию tasksel обычно установлен, но если это не так, то вы можете установить tasksel командой

Apt-get install tasksel

По зависимостям установится также пакет tasksel-data, включающий официальные задачи для установки. Дополнительно можно установить следующие пакеты:

education-tasks — Задачи для Debian Edu, включающие серверную часть и часть для тонких клиентов или рабочих станций

games-tasks — Задачи Debian Games, включающие большое количество игр, разделенных по жанрам, а также задачи для установки эмуляторов, лучших игр и разработки игр

gis-tasks — Задачи Debian GIS, включающие программы для работы с OpenStreetMap, GPS и другие программы, связанные с географической информацией

junior-tasks — Задачи Debian Jr. и Doudou Linux, включающие игры и обучающие программы, программы для видео, обучения печати и другие

Apt-cache search tasksel

Использование tasksel

Программа tasksel может работать как в режиме командной строки, так и в интерактивном режиме. Если никакие параметры командной строки не указаны, программа будет работать в интерактивном режиме, будет показано меню с конфигурациями, вам только надо будет проставить флажки и затем нажать кнопку «OK».

В командном режиме программа будет работать только тогда, когда указаны параметры командной строки. Их немного:

—list-tasks Вывести список всех существующих задач
install задача Установить пакеты, определенные в задаче
remove задача Удалить пакеты, определенные в задаче
-t, —test Тестовый режим. Не удалять и не устанавливать пакеты на самом деле
—task-packages задача Вывести список пакетов, которые относятся к задаче и доступны в данный момент
—task-desc задача Вывести описание задачи
—new-install Автоматически выбрать задачи без отображения их пользователю. Используется при новой инсталляции Debian
—debconf-apt-progress опции Передать указанные опции команде debconf-apt-progress, которую запускает tasksel

Создание desc-файла для задачи tasksel

Tasksel позволяет достаточно быстро создавать собственные задачи. Для этого создается файл c расширением.desc, который размещается в директории /usr/share/tasksel/descs. Каждый файл.desc может включать одну и более задач, а каждая задача должна иметь определенную структуру, состоящую из полей с названием и значением. Вот эти поля:

Task Название задачи. Например. «Task: web-server» без кавычек
Section Секция, в которую входит задача. Например, «Section: httpd» или «Section: debian-games»
Description Описание задачи. Описание может занимать несколько строчек. Первая строчка — краткое описание задачи, а последующие, начинающиеся с пробела, — более подробное описание.
Relevance Релевантность. Обычно значение в этом поле выставляют равным 10. Пример: «Relevance: 10»
Enhances Задача, которую расширяет данная задача. Например, «Enhances: desktop»
Key Ключевое слово задачи. Часто совпадает с названием задачи
Packages Список пакетов, входящих в задачу. Если пакетов несколько, то после заголовка пишется слово «list», а сами пакеты перечисляются на следующих строках, каждый пакет с новой строки, перед названием пакета пробел

Это не все поля, которые могут быть использованы, но для большинства задач их обычно достаточно.

Пример задачи tasksel

Как пример давайте рассмотрим задачу для установки файлового менеджера Midnight Commander:

Task: mc-file-manager Section: utils Description: Midnight Commander - многофункциональный диспетчер файлов GNU Midnight Commander – полноэкранный текстовый файловый менеджер. В нём используется двухпанельный интерфейс и встроенная командная оболочка. Также имеется встроенный редактор с подсветкой синтаксиса и просмотрщик, поддерживающий двоичные файлы. Программа поддерживает виртуальную файловую систему (VFS), что позволяет работать с файлами на удалённых машинах (например, на серверах FTP, SSH) и с файлами внутри архивов, как с обычными файлами. Relevance: 10 Key: mc Packages: list e2fslibs libc6 libglib2.0-0 libgpm2 libslang2 libssh2-1 mc-data

Каждому пользователю ОС Linux, да и любых других операционных систем приходится сталкиваться с установкой дополнительных программ на свой компьютер. Если в Windows для этого существует специальный файл (setup.exe), который пошагово проведет вас по всем этапам и установит программу, то в Linux дела с этим обстоят немного по другому, но все равно с небольшим опытом это делается очень просто. Довольно часто пользователи (особенно новички) спрашивают: Как устанавливать программы в Linux? Постараюсь ответить на этот вопрос.

В мире Linux существует несколько типов установочных пакетов, и каждый дистрибутив имеет свой собственный, предпочтительный формат пакетов. Стандартной системой установки для Linux, является RPM, разработанной компанией Red Hat и используется в основной в дистрибутивах Fedora, Mandriva, Red Hat и Suse. Файл пакета RPM обычно имеет название имя_программы-версия.rpm .

Еще одним очень популярным форматом пакетов является DEB. Который, как не сложно догадаться используется в системах Debian GNU/Linux, и на ее основе, в том числе Ubuntu, Knoppix и Mepis. Файл пакета DEB обычно имеет название имя_программы-версия.deb .

Ну и наконец архивы, так называемые тарболы (Tar Balls). Как правило имеют расширение.tar , .tar.gz , .tgz. Которые сначала необходимо распаковать, а уже потом устанавливать или компилировать.

Все действия по установке программ необходимо выполнять под суперпользователем!

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

Установка программ на Debian, Ubuntu

Для работы с DEB пакетами существует множество инструментов, но пожалуй самый простой и часто используемый, это apt-get , входящий в стандартный набор инструментов. apt-get позволяет не только с легкостью устанавливать новые пакеты в систему, но и показывать какие пакеты доступны для установки и скачивать их с интернета в случае необходимости. Для установки приложения , введите в командную строку:

Apt-get install имя_пакета

Для удаления:

Apt-get remove имя_пакета

Несмотря на то, что содержимое пакетов может хранится на сервере в интернете или где нибудь на диске, APT хранит локальную базу данных со списком всех доступных для установки пакетов и ссылок где их брать. Эту базу необходимо периодически обновлять. Для обновления базы APT используется команда:

Apt-get update

Очень часто программы изменяются (выходят обновления, патчи, системы безопасности и т.д.), можно также использовать APT для обновления устаревший пакетов (программ) в системе. Для обновления нужно сначала обновить список пакетов, а потом уже установить все обновления. Для этого выполняется следующая команда, которая сразу сделает все необходимое:

Apt-get update; apt-get upgrade

Установка программ на Fedora, Red Hat

Для пакетов RPM есть замечательная утилита yum , которая делает примерно тоже самое, что и apt-get делает для пакетов Debian. Как и apt-get, yum позволяет загрузить и установить пакет из настроенного хранилища (репозитория):

Yum install имя_пакета

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

Yum remove имя_пакета

yum не сохраняет локальную базу данных списка пакетов, поэтому нет необходимости постоянно ее обновлять. Для установки всех доступных обновлений и патчей достаточно прописать команду:

Yum update

или же выбрать определенную программу для обновления:

Yum update имя_пакета

Установка программ в Mandriva

Mandriva Linux (бывший Mandrake и Connectiva) имеет свой набор инструментов для работы с пакетами установки, называется он urpmi . Для установки программ необходимо ввести:

Urpmi имя_пакета

Для удаления:

Urpme имя_пакета

Для обновления локальной базы данных списка пакетов:

Urpmi.update -a

Для установки обновлений:

Urpmi --auto-select

Установка программ из архивов (тарболов)

Дистрибутив с программой, представляет из себя архив с кучей файлов и обычно имеет расширение.tar , .tar.gz , .bz, .tgz ну или что то похожее.

Для архивов сжатых с помощью GZIP (gz, gz2 и т.д.) выполняем:

Tar -xvzf имя_файла

Для архивов сжатых с помощью BZIP (bz, bz2 и т.д.) выполняем:

Tar -xvjf имя_файла

Команды Tar:

  • x — извлечь файлы из архива;
  • v — подробный вывод информации на экран;
  • f — Обязательная опция. Если не указать, Tar будет пытаться использовать магнитную ленту вместо файла;
  • z — обработать архив сжатый gzip’ом;
  • j — обработать архив сжатый bzip’ом.

После выполнения, будет создана папка с именем, идентичным названию пакета.

Cd имя_папки

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

Если программа собрана в виде исполняемого файла, то в папке будет находиться файл, с расширением.sh, обычно он так и называется install.sh. Его достаточно просто запустить на исполнение:

./install.sh

Если же программа представлено в исходном коде, выполняем следующие команды:

./configure make make install

После установки делаем:

Make clean

Все, как ведите ничего сложного в установке программ в Linux нет.

Если вы пользуетесь Debian , то наверняка знаете, что порой может понадобиться самая свежая версия какого-либо компонента. Или та, которой нет в стабильном выпуске, но её добавили в тестируемый. Ставить ради этого другой дистрибутив, в котором свежее ПО доступно всегда, вы наверняка не станете, если уже настроили себе систему и привыкли к ней. Можно собрать нужную вам программу из исходного кода. Но это тоже не всегда может получиться. Программа может не собраться, долго собираться или вообще иметь закрытый исходный код. В таких случаях, можно установить эту программу из тестовой или нестабильной ветки Debian. Делать это нужно правильно. И о том как правильно это сделать и пойдёт речь в статье.

Как известно, Debian существует в 4 ветках (есть ещё 5, но это полуветка для разработчиков): oldstable (предыдущий стабильный выпуск), stable (текущий стабильный выпуск), testing (тестируемый, будущий стабильный) и unstable (также известный как sid, нестабильная ветка, в которой идёт постоянный поток обновлений компонентов). На данный момент, oldstable - это Wheezy , или Debian 7 , stable - Debian 8 Jessie , testing - Debian 9 Stretch , ну и unstable - вечный sid . Также существует репозиторий Backports , в который переносятся свежие версии и некоторые программы, которые достаточно стабильны для stable, но не успели попасть в релиз (или просто могут быть установленны не нарушая работу системы). Но в Backports никогда не прилетят, скажем, новые версии графических окружений. И тут можно прибегнуть к установке оного из тестируемой или нестабильной ветке. Хочу обратить ваше внимание на то, что несмотря на то что это возможно, и есть способ настройки репозиториев, разработчики Debian этого не поощряют. Будьте очень внимательны устанавливая ПО из testing и unstable.

Для того чтобы при установке или обновлении программы из testing/unstable, вся система не превратилась в не пойми что, необходимо настроить приоритеты для пакетов. Более высокий приоритет означает, что пакет не заменится пакетом с низким приоритетом, если это не указать явно. Базовая система должна остаться stable. Для настройки приоритетов, существует файл под названием preferences . Давайте создадим его и впишем туда нужные настройки:

sudo nano /etc/apt/preferences

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650

Package: *
Pin: release a=unstable
Pin-Priority: 600

Package - на какие пакеты распространяется приоритет. Звёздочка говорит что на все без исключения.
Pin - название ветки дистрибутива.
Pin-priority - собственно, приоритет. Чем он выше - тем жёстче будет закреплена ветка. Приоритет выше 1000 позволит произвести даунгрейд пакетов до той ветки, в которой он установлен. Потому если вы переборщили с экспериментами - выставляйте на stable приоритет 1001 , обновляйте список пакетов и делайте dist-upgrade .

Как мы видим, репозиторий unstable у нас имеет наименьший приоритет. Возможно он вам не понадобится, но включить его нужно по той причине, что бывает программу переместили в testing, а часть её зависимостей осталась в unstable. И программа, естественно, не установится. Ок, приоритеты мы настроили. Теперь нужно подключить эти репозитории:

sudo nano /etc/apt/sources.list

Добавляем в конец следующие строки:

#Testing
deb http://mirror.yandex.ru/debian testing main contrib non-free
deb-src http://mirror.yandex.ru/debian testing main contrib non-free

#Unstable
deb http://mirror.yandex.ru/debian unstable main contrib non-free
deb-src http://mirror.yandex.ru/debian unstable main contrib non-free

sudo apt-get update

Установка программ идёт двумя способами:

sudo apt install -t testing имяпрограммы
sudo apt install имяпрограммы/testing

При первом способе установки, пакетный менеджер попытается обновить все те компоненты, которые нужны для программы. И установит её (разумеется после вашего согласия). При втором способе, пакетный менеджер попытается использовать существующие версии зависимостей. И если они не подойдут - то программу он не установит. Поэтому для более безопасной установки, рекомендуется второй способ. Ещё раз напоминаю, что этим лучше не увлекаться. Но при правильном использовании вы не только сохраните общую стабильность системы, но и получить свежие версии программ. Для более подробной информации по настройкам, наберите в терминале.

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

Инструменты сопровождающего Debian предназначены для облегчения работы разработчиком и освобождения их времени для решения критических задач. Как говорит Ларри Уолл, существует более одного способа сделать это.

Some people prefer to use high-level package maintenance tools and some do not. Debian is officially agnostic on this issue; any tool that gets the job done is fine. Therefore, this section is not meant to stipulate to anyone which tools they should use or how they should go about their duties of maintainership. Nor is it meant to endorse any particular tool to the exclusion of a competing tool.

Большинство описаний этих пакетов берётся из самих фактических описаний пакетов. Дополнительная информация может быть найдена в самой документации по пакету. Также вы можете получить дополнительную информацию при помощи команды apt-cache show имя-пакета .

Следующие инструменты весьма нужны любому сопровождающими.

dpkg-dev содержит инструменты (включая dpkg-source ), необходимые для распаковки, сборки и загрузки пакетов Debian с исходным кодом. Эти утилиты предоставляют базовую, низкоуровневую функциональность, необходимую для создания пакетов и для манипуляции ими; как таковые, эти утилиты являются необходимыми любому сопровождающему Debian.

debconf предоставляет единообразный интерфейс для интерактивной настройки пакетов. Его пользовательских интерфейс независим, что позволяет конечным пользователям настраивать пакеты при помощи текстового интерфейса, интерфейса HTML, либо диалогового интерфейса. Новые варианты интерфейса могут быть добавлены в виде модулей.

Документацию для этого пакета вы можете найти в пакете debconf-doc .

Many feel that this system should be used for all packages that require interactive configuration; see Раздел 6.5, «Управление настройкой с помощью debconf » . debconf is not currently required by Debian Policy, but that may change in the future.

fakeroot имитирует привилегии суперпользователя. Это позволяет вам собирать пакеты без привилегий суперпользователя (обычно пакеты хотят установить файлы, владельцем которых является суперпользователь). Если у вас установлен fakeroot , dpkg-buildpackage будет автоматически использовать его.

According to the Free On-line Dictionary of Computing (FOLDOC), `lint" is: "A Unix C language processor which carries out more thorough checks on the code than is usual with C compilers." Package lint tools help package maintainers by automatically finding common problems and policy violations in their packages.

lintian анализирует пакеты Debian и выдаёт информацию об ошибках и нарушениях Политики. Он содержит автоматические проверки множества аспектов Политики Debian, а также некоторые проверки на наличие распространённых ошибок.

Периодически вам следует получить наиболее свежую версию lintian из нестабильного выпуска и проверять все ваши пакеты. Заметьте, что опция -i предоставляет подробное объяснение того, что означает каждая ошибка или предупреждение, на каком пункте Политики они основываются, а иногда и то, как вы можете исправить проблему.

Для получения дополнительной информации о том, как и когда использовать Lintian, обратитесь к разделу 5.3, «Тестирование пакета» .

Также вы можете посмотреть обзор всех проблем, о которых было сообщено Lintian для ваших пакетов, по адресу . Эти отчёты содержат наиболее свежий вывод lintian для всего разрабатываемого выпуска (нестабильного выпуска).

debdiff (из пакета devscripts , раздел A.6.1, « devscripts ») сравнивает списки файлов и управляющие файлы двух пакетов. Это простая проверка на наличие регрессий, поскольку она позволяет вам заметить, что число двоичных пакетов изменилось с момента последней загрузки, либо если что-то было изменено в управляющем файле. Конечно, некоторые изменения, о которых сообщает эта утилита, не являются чем-то плохим, но она может помочь вам предотвратить различные случайные проблемы.

Вы можете запустить её, указав два двоичных пакета:

Debdiff package_1-1_arch.deb package_2-1_arch.deb

Или даже два файла changes:

Debdiff package_1-1_arch.changes package_2-1_arch.changes

debdiff (1) .

Инструменты сборки пакетов делают написание файла debian/rules значительно проще. Дополнительную информацию о том, почему желательно или не желательно использовать их, см. в разделе 6.1.1, «Сценарии-помощники» .

debhelper is a collection of programs that can be used in debian/rules to automate common tasks related to building binary Debian packages. debhelper includes programs to install various files into your package, compress files, fix file permissions, and integrate your package with the Debian menu system.

Unlike some approaches, debhelper is broken into several small, simple commands, which act in a consistent manner. As such, it allows more fine-grained control than some of the other debian/rules tools.

Имеется ряд небольших дополнительных пакетов debhelper , которые слишком мелки, чтобы описывать их здесь. Вы можете посмотреть список этих программ, выполнив apt-cache search ^dh- .

The dh-make package contains dh_make , a program that creates a skeleton of files necessary to build a Debian package out of a source tree. As the name suggests, dh_make is a rewrite of debmake , and its template files use dh_* programs from debhelper .

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

equivs представляет собой ещё один пакет для создания пакетов. Часто он предлагается для локального использования, если вам нужно сделать пакет просто для удовлетворения зависимостей. Также он иногда используется при создании „метапакетов“, это пакеты, чья цель состоит лишь в том, чтобы зависеть от других пакетов.

The following packages help with the package building process, general driving of dpkg-buildpackage , as well as handling supporting tasks.

git-buildpackage предоставляет возможность введения или импорта пакетов Debian с исходным кодом в репозиторий Git, сборки пакета Debian из репозитория Git, а также помогает в интеграции изменений из основной ветки разработки в этот репозиторий.

Эти утилиты предоставляют инфраструктуру для облегчения использования Git сопровождающими Debian. Это позволяет хранить отдельные ветки Git пакета для стабильного, нестабильного и возможно экспериментального выпусков, а также иметь все другие преимущества системы контроля версий.

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

Иметь подобную систему весьма полезно. Например, вы можете сделать chroot в эту систему и проверить ваши сборочные зависимости. Либо вы можете проверить то, как ведут себя ваши пакеты при установке на базовую систему. Сборщики chroot используют этот пакет; см. об этом ниже.

pbuilder constructs a chrooted system, and builds a package inside the chroot. It is very useful to check that a package"s build dependencies are correct, and to be sure that unnecessary and wrong build dependencies will not exist in the resulting package.

A related package is cowbuilder , which speeds up the build process using a COW filesystem on any standard Linux filesystem.

Следующие пакеты помогут автоматизировать или упростить процесс загрузки пакетов в официальный архив.

dupload представляет собой пакет и сценарий для автоматической загрузки пакетов Debian в архив Debian, для записи журнала загрузки, а также отправки сообщений электронной почты о загрузке пакета. Вы можете настроить его на использование новых мест или методов загрузки.

The dput package and script do much the same thing as dupload , but in a different way. It has some features over dupload , such as the ability to check the GnuPG signature and checksums before uploading, and the possibility of running dinstall in dry-run mode after the upload.

Следующие инструменты помогают автоматизировать различные задачи по сопровождению пакетов от добавления записей в журнал изменений или строк подписи и поиска ошибок в Emacs до использования наиболее свежего и исключительно официального файла config.sub .

devscripts is a package containing wrappers and tools that are very helpful for maintaining your Debian packages. Example scripts include debchange (or its alias, dch ), which manipulates your debian/changelog file from the command-line, and debuild , which is a wrapper around dpkg-buildpackage . The bts utility is also very helpful to update the state of bug reports on the command line. uscan can be used to watch for new upstream versions of your packages.

Полный список доступных сценариев см. в руководстве devscripts (1) .

dpkg-repack creates a Debian package file out of a package that has already been installed. If any changes have been made to the package while it was unpacked (e.g., files in /etc were modified), the new package will inherit the changes.

This utility can make it easy to copy packages from one computer to another, or to recreate packages that are installed on your system but no longer available elsewhere, or to save the current state of a package before you upgrade it.

dpkg-dev-el is an Emacs lisp package that provides assistance when editing some of the files in the debian directory of your package. For instance, there are handy functions for listing a package"s current bugs, and for finalizing the latest entry in a debian/changelog file.

dpkg-depcheck (из пакета devscripts , раздел A.6.1, « devscripts ») запускает команду в окружении strace для определения всех пакетов, которые используются вызванной командой.

Для пакетов Debian это весьма полезно, если вам необходимо сформировать строку Build-Depends для вашего нового пакета: запуск процесса сборки через dpkg-depcheck предоставит вам приблизительный список сборочных зависимостей. Например:

Dpkg-depcheck -b debian/rules build

dpkg-depcheck также может использоваться для проверки зависимостей времени исполнения, особенно в том случае, если ваш пакет использует exec (2) для запуска других программ.

Дополнительную информацию см. в dpkg-depcheck (1) .

Следующие инструменты полезны для занимающихся переносом и кросс-компиляцией.

dpkg-cross является инструментом для установки библиотек и заголовочных файлов для перекрёстной компиляции схожим с dpkg способом. Более того, функциональность dpkg-buildpackage и dpkg-shlibdeps была улучшена в плане поддержки перекрёстной компиляции.

Следующие пакеты предоставляют информацию для сопровождающих, либо помогают им в сборке документации.

docbook-xml предоставляет DocBook XML DTD, который обычно используется для подготовки документации по Debian (как более старая документация debiandoc SGML DTD). Например, данное руководство написано в DocBook XML.

Пакет docbook-xsl предоставляет файлы XSL для сборки и форматирования стиля исходных файлов в различные форматы вывода. Для того, чтобы использовать стили XSL, вам потребуется процессор XSLT, такой как xsltproc . Документация для стилей может быть найдена в пакетах docbook-xsl-doc-* .

Чтобы создать PDF из FO, вам потребуется процессор FO, такой как xmlroff или fop . Другим инструментом для создания PDF из DocBook XML является dblatex .

debiandoc-sgml предоставляет DebianDoc SGML DTD, который широко используется для подготовки документации по Debian, но в настоящее время устарел (следует использовать пакет docbook-xml). Кроме того, он предоставляет сценарии для сборки и изменения стиля оформления исходного файла в других форматах вывода.

Документация для DTD может быть найдена в пакете debiandoc-sgml-doc .