Установка программ в Debian при помощи tasksel

Установка программ в Debian при помощи taskselВ 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».

tasksel001

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

—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

Теперь можно сохранить этот файл в директории /usr/share/tasksel/descs под названием mc.desc и запустить tasksel без параметров. В появившемся меню вы увидите задачу для установки Midnight Commander.

Установка программ в Debian при помощи tasksel

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