Программы для debian 8. Полезные ссылки Debian

Для установки ПО в Debian чаще всего используются двоичные (binary) пакеты — файлы с расширением deb . DEB пакет обычно содержит исполняемые файлы, файлы настроек, справочные страницы в форматах man и информацию о необходимых для его работы зависимостях. Для распаковки deb пакетов можно использовать утилиту dpkg .

При установке программного обеспечения система управления пакетами проверяет и при необходимости устанавливает «зависимости» (dependencies), которые подобраны создателями пакета. Эти зависимости указаны в файле control, имеющемся в каждом пакете.

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

Важно понимать, что высокоуровневые инструменты управления пакетами, такие как aptitude или dselect , для управления пакетами используют apt , который, в свою очередь, использует dpkg .

Подробнее об инструментах управления пакетами Debian написано в Chapter 2. Debian package management справочнике Debian .

8.1.1 dpkg

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

  • Показать список всех параметров:
    dpkg —help
  • Показать управляющий файл (и другую информацию) для указанного пакета:
    dpkg —info foo_VVV-RRR.deb
  • Установить пакет на жёсткий диск (т. е. распаковать и настроить):
    dpkg —install foo_VVV-RRR.deb
  • Распаковать архив Debian на жёсткий диск (но не настраивать):
    dpkg —unpack foo_VVV-RRR.deb . Учтите, что в результате данной операции пакет не обязан быть в рабочем состоянии; для правильной работы может потребоваться внесение изменений в некоторые файлы. Данная команда удаляет любую ранее установленную версию программы и запускает сценарий preinst указанного пакета (см. ).
  • Настроить пакет, который был распакован ранее:
    dpkg —configure foo . Кроме всего прочего, эта команда запускает сценарий postinst указанного пакета (см. Зачем нужны сценарии preinst, postinst, prerm и postrm?, раздел 7.6). Она также обновляет файлы, перечисленные в

    conffiles . Обратите внимание, что в качестве аргумента для параметра configure указывается имя пакета (т. е. foo), а не имя файла-архива Debian (т. е. foo_VVV-RRR.deb).

  • Извлечь единственный файл с именем «blurf» (или группу файлов с именами по шаблону «blurf*») из архива Debian:
    dpkg —fsys-tarfile foo_VVV-RRR.deb | tar -xf — blurf*
  • Удалить пакет (но не его файлы настроек):
    dpkg —remove foo
  • Удалить пакет (вместе с файлами настроек):
    dpkg —purge foo
  • Вывести состояние установки пакетов, содержащих в имени строку (или регулярное выражение) «foo*»:
    dpkg —list ‘foo*’

8.1.2 APT

APT (Advanced Package Tool ) - расшифровывается как усовершенствованный инструмент управления пакетами , в него входит программа apt-get . Эта программа позволяет легко получать и устанавливать из командной строки пакеты из разных источников. В отличие от dpkg , программа apt-get не понимает файлы.deb, она работает с именами пакетов, и может устанавливать архивы.deb только из источников, указанных в файле /etc/apt/sources.list . После скачивания архивов.deb команда apt-get запускает dpkg ..

Часто используемые команды apt-get:

  • Обновить список пакетов, имеющихся в источниках: apt-get update

    (вы должны регулярно запускать эту команду для обновления списка пакетов)

  • Обновить все пакеты в системе (без установки дополнительных пакетов или удаления пакетов): apt-get upgrade
  • Установить пакет foo и все его зависимости: apt-get install foo
  • Удалить пакет из системы: apt-get remove foo
  • Удалить из системы пакет и все его файлы настроек: apt-get --purge remove foo
  • Обновить все установленные в системе пакеты с установкой или удалением дополнительных пакетов, если это потребуется для обновления какого-то пакета: apt-get dist-upgrade

    upgrade оставит старую установленную версию пакета, если для разрешения новых зависимостей при обновлении потребуется установка дополнительных пакетов. Команда

    dist-upgrade менее консервативна.)

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

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

В комплект инструментов apt входит также программа для обработки запросов по списку пакетов apt-cache . Её можно использовать для поиска пакетов, имеющих определённую функциональность, с помощью простых текстовых запросов или регулярных выражений, а также для получения списка зависимостей из системы управления пакетами. Часто используемые команды apt-cache:

  • Найти пакеты, содержащие в своём описании слово: apt-cache search слово
  • Показать подробную информацию о пакете: apt-cache show пакет
  • Показать зависимости пакета: apt-cache depends пакет
  • Показать подробную информацию о доступных версиях пакета и о пакетах, от него зависящих (об обратных зависимостях пакета): apt-cache showpkg пакет

Дополнительную информацию можно найти в справочных страницах apt-get(8) , sources.list(5) из пакета apt и в файле /usr/share/doc/apt-doc/guide.html/index.html из пакета apt-doc .

8.1.3 aptitude

aptitude - это пакетный менеджер для систем Debian GNU/Linux, предоставляющий пользовательский интерфейс для инфраструктуры управления пакетами apt. aptitude имеет текстовый интерфейс, написанный с использованием библиотеки curses, позволяет удобно и быстро выполнять задачи управления пакетами.

Помимо функциональности dselect и apt-get , aptitude реализует много других дополнительных возможностей, которых нет ни в одной из этих программ:

  • позволяет легко отслеживать устаревшее ПО, занося его в «список устаревших пакетов и пакетов, созданных локально»;
  • включает достаточно мощную систему поиска и ограничения отображаемых пакетов. Пользователи, знакомые с mutt , освоятся быстро, так как синтаксис регулярных выражений был навеян этой программой;
  • можно использовать для установки заранее сформированных наборов для определённых задач. Подробности см. вtasksel, раздел 8.1.5 ;
  • в полноэкранном режиме имеет встроенную функциональность команды su и может запускаться от обычного пользователя. Когда действительно понадобятся права администратора, вызовет su (и, если нужно, запросит пароль суперпользователя).

С aptitude можно работать, используя визуальный интерфейс (просто запустить

aptitude), или непосредственно из командной строки. Используемый синтаксис командной строки очень похож на синтаксис apt-get . Например, для установки пакета foo , можно выполнить

aptitude install foo .

Заметим, что aptitude является предпочтительной программой для ежедневного управления пакетами из консоли.

Более подробную информацию можно найти в справочной странице aptitude(8) и в пакете aptitude-doc .

8.1.4 synaptic

8.1.5 tasksel

Иногда бывает трудно найти подходящий комплект пакетов для выполнения определённой задачи. Разработчики Debian определили

задачи, представляющие собой наборы из нескольких пакетов Debian, предназначенных для определённой деятельности. Задачи можно устанавливать с помощью программы tasksel или aptitude .

Обычно программа установки Debian автоматически устанавливает задачу создания стандартной системы и окружения рабочего стола. Тип устанавливаемого окружения рабочего стола зависит от используемого носителя CD/DVD, как правило это рабочий стол GNOME (задача

gnome-desktop). Также, в зависимости от ваших ответов во время установки, могут быть автоматически установлены другие задачи. Например, если вы выбрали какой-то язык, то также автоматически будет установлена задача, связанная с ним, и если программа установки обнаружит, что установка происходит на переносном компьютере, то также автоматически будет установлена задача

для ноутбука.

8.1.6 Другие инструменты управления пакетами

8.1.6.1 dselect

Основные возможности dselect:

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

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

Метод (Access) или

Выбрать (Select) , то dselect просто продолжит выполнение указанного действия. Например, если пользователь выбрал действие

Удалить (Remove) , то dselect выполнит удаление всех файлов, помеченных для удаления пользователем, которые он выбрал в меню

Выбрать (Select) ранее.

Пункты меню

Метод (Access) и

Выбрать (Select) позволяют войти в дополнительные меню. В обоих случаях, меню представляют собой экран, разделённый надвое; в верхней части представлен список выбираемых пунктов, в нижней части выводится описание («справка») по каждому пункту.

Доступна подробная справка; к ней можно обратиться в любой момент, нажав клавишу «?».

Порядок представления действий в первом меню dselect соответствует тому порядку, в котором пользователь обычно выполняет действия для установки пакетов. Однако, любое действие из главного меню пользователь может выбирать как угодно часто (или совсем не выбирать - в зависимости от того, что он хочет сделать).

  • Начните с выбора метода доступа (Access Method) . Здесь выбирается способ, с помощью которого пользователь получает доступ к пакетам Debian; например, у некоторых есть компакт-диски с пакетами Debian, другие же скачивают эти пакеты по FTP. Выбранный «метод доступа» сохраняется и после выхода из dselect , поэтому, если он не изменился, то нет необходимости вызывать этот пункт меню каждый раз.
  • Затем обновите (Update) список доступных пакетов. Для этого dselect читает файл «Packages.gz», который находится в верхнем уровне дерева каталогов, в котором хранятся пакеты Debian (если его там нет, dselect предложит его создать).
  • Выберите (Select) нужные пакеты для установки в систему. После выбора данного пункта меню, пользователю будет показан экран помощи (если в командной строке не указан параметр «—expert»). После выхода из экрана помощи, будет показано разделённое меню для выбора устанавливаемых (или удаляемых) пакетов.Верхняя часть экрана представляет собой относительно узкое окно со списком 29000 пакетов Debian; нижняя часть экрана содержит описание пакета или группы пакетов, которые выделены выше.Для указания пакета или группы, над которым будет совершаться операция, следует навести подсветку на название пакета или метку группы. После этого можно выбрать требуемую операцию; Для установки: нажмите клавишу «+». Для удаления: пакеты можно удалить двумя способами.
    • Удалить (removed): эта команда удаляет большинство файлов принадлежащих пакету, но оставляет файлы, помеченные как настроечные (см. Зачем нужен файл conffile?, раздел 7.5) и информацию о настройке пакета. Выполняется нажатием клавиши «-».
    • Вычистить (purged): команда удаляет все файлы пакета. Выполняется нажатием клавиши «_».

    Заметим, что невозможно удалить «все пакеты». Если вы попытаетесь это сделать, то система будет сокращена до первоначально установленных базовых пакетов.

    Для «фиксации» Фиксация выполняется нажатием «=», и указывает dselect не выполнять обновление пакета, даже если установленная версия устарела по сравнению с той, что имеется в используемом вами хранилище пакетов Debian (указанном через метод доступа (Access Method) , и инициализируемом при выполненииобновления (Update) ).

    Если пакет зафиксирован, то вернуть его в нормальное состояние можно, нажав «:». Это указывает dselect , что пакет может быть обновлён, если доступна более новая версия. Такая настройка используется по умолчанию.

    Вы можете выбирать различный порядок показа пакетов, используя клавишу «o» для переключения между режимами сортировки. Изначально пакеты отсортированы по приоритету; в пределах каждого приоритета пакеты представлены в порядке появления в каталоге (также называемого разделом), в котором они хранятся. При задании такого порядка сортировки, сначала могут отображаться пакеты из раздела A (как пример), потом какие-то из раздела B, а за ними ещё пакеты (с меньшим приоритетом) из раздела A.

    Также можно получить описание значений меток в верхней части экрана, нажав клавишу «v». Данное действие увеличивает объём выводимого текста, и он выходит за правую границу экрана. Для прокрутки текста можно пользоваться клавишами со стрелками вправо и влево.

    Если вы выбрали пакет для установки или удаления, например, package/foo.deb , и этот пакет зависит от других пакетов (или рекомендует их), например, package/blurf.deb , то dselect выведет дополнительный экран, подобный основному экрану выбора. Там среди пакетов, относящихся к данному, вы сможете выбрать те, что следует установить. Вы можете принять предлагаемый вариант или отказаться от него. В последнем случае следует нажать Shift-D; для возврата к предлагаемому варианту нажмите Shift-U. В любом случае, свой выбор можно сохранить нажатием Shift-Q.

  • Возвратившись после выбора пакетов в главное меню, вы можете выбрать «Установить» (Install) для установки и настройки выбранных пакетов. Если вы отметили пакеты для удаления, то можете выбрать пункт «Удалить» (Remove). В любой момент времени можно выбрать пункт «Выход» (Quit) для выхода из dselect; при этом выбор пакетов, отмеченных для установки и удаления, dselect сохранит.

8.1.6.2 dpkg-deb

Данная программа позволяет манипулировать файлами-архивами Debian (

Deb файлами). Часто используемые команды:

  • Вывести список допустимых параметров:
    dpkg-deb —help
  • Определить, какие файлы содержатся в файле-архиве Debian:
    dpkg-deb —contents foo_VVV-RRR.deb)
  • Извлечь файлы из указанного архива Debian в определённый пользователем каталог:
    dpkg-deb —extract foo_VVV-RRR.deb tmp извлечёт все файлы из

    foo_VVV-RRR.deb в каталог

    tmp/ . Это удобно для просмотра содержимого пакета в отдельном каталоге без его установки в основное дерево каталогов.

  • Извлечь из пакета файлы с управляющей информацией:
    dpkg-deb —control foo_VVV-RRR.deb tmp .

Учтите, что любые пакеты, просто распакованные командой

dpkg-deb —extract , будут установлены некорректно, для установки следует использовать

dpkg —install .

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

8.1.6.3 dpkg-split

Эта программа делит большие пакеты на файлы меньшего размера (например, для записи на дискеты), а также может использоваться для объединения набора разделённых файлов обратно в один файл. Она может использоваться только в системах Debian (т. е. в системах, содержащих пакет dpkg), т. к. вызывает программу

dpkg-deb для разделения файла пакета на отдельные компоненты.

Например, для того чтобы разделить большой.deb файл на N частей, нужно:

  • Выполнить команду
    dpkg-split —split foo.deb . В результате в текущем каталоге получится N файлов, приблизительно по 460 Кбайт каждый.
  • Скопировать эти N файлов на дискеты.
  • Скопировать содержимое дискет на жёсткий диск другой машины.
  • Объединить эти части файлов вместе командой
    dpkg-split —join «foo*» .

8.2 Говорят, что Debian способен обновить работающую программу; как это делается?

Ядро (файловая система) в системах Debian GNU/Linux поддерживает замену файлов, даже когда они используются.

Мы также предоставляем программу start-stop-daemon , которая используется для запуска служб при загрузке компьютера или их останова при изменении уровня выполнения (например, при переключении из многопользовательского в однопользовательский или для выключения компьютера). Эта же программа используется сценариями установки при установке нового пакета со службой, для остановки работающей службы и её перезапуска при необходимости.

8.3 Как узнать, какие пакеты установлены в системе Debian?

Чтобы получить список всех установленных пакетов, выполните команду

Dpkg --list

Эта команда выведет для каждого пакета однострочную сводку, включающую два символа состояния (объясняемые в заголовке), имя пакета, установленную версию и краткое описание.

Чтобы узнать состояние пакетов, имена которых начинаются с «foo», выполните команду:

Dpkg --list "foo*"

Чтобы получить более подробный отчёт о состоянии определённого пакета, выполните команду:

Dpkg --status имя_пакета

8.4 Как посмотреть список файлов установленного пакета?

Чтобы вывести список файлов установленного пакета

foo , выполните команду

Dpkg --listfiles foo

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

8.5 Как определить пакет, которому принадлежит определённый файл?

Чтобы определить, в каком пакете содержится файл с именем

foo , выполните одну из следующих команд:

  • dpkg —search имя_файла Эта команда ищет

    имя_файла в установленных пакетах. (Это, в настоящий момент, эквивалентно поиску всех файлов с расширением

    List в каталоге

    /var/lib/dpkg/info/ и выводу имён всех пакетов, которые содержат заданное имя файла и отклонения (diversions).)

    Более быстрая альтернатива этому - программа dlocate .

    Dlocate -S имя_файла

  • zgrep foo Contents-ARCH.gz Эта команда ищет файлы, содержащие в своих полных именах путей подстроку

    foo . Файлы

    Contents-ARCH.gz (где ARCH представляет нужную архитектуру) расположены в основных каталогах пакетов (main, non-free, contrib) на FTP-сайте Debian (то есть, в

    /debian/dists/wheezy). Файл

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

    foo , пользователю нужно искать более чем в одном файле

    Преимущество этого метода над

    dpkg —search состоит в том, что будут найденыфайлы в тех пакетах, которые могут быть не установлены в вашей системе.

  • apt-file search foo Если вы установите пакет apt-file , то приведённая выше команда выполнит поиск файлов, содержащих в своих полных путях подстроку или регулярное выражение

    foo . Преимущество этой команды перед приведёнными ранее в том, что вам не нужно будет получать файлы

    Contents-ARCH.gz , так как это будет сделано автоматически для всех источников, описанных в /etc/apt/sources.list , при запуске (с правами суперпользователя) команды

    apt-file update .

8.6 Почему при удалении «foo» не удаляется «foo-data»? Как вычистить старые неиспользуемые пакеты библиотек?

Некоторые пакеты разделены на программы («foo») и данные («foo-data») (или на «foo» и «foo-doc»). Так в Debian сделано для многих игр, мультимедийных приложений и словарей, и объясняется это тем, что некоторым пользователям может быть нужно получить только данные без установки программ, или эти программы могут работать без данных, что делает их установку необязательной.

Подобное относится и к библиотекам: обычно они устанавливаются, так как пакеты приложений зависят от них. Когда пакет приложения вычищается, пакет библиотеки может остаться в системе. Или когда пакет приложения больше не зависит, скажем, от libdb4.2, а зависит от libdb4.3, то пакет libdb4.2 может остаться в системе при обновлении пакета приложения.

В таких случаях «foo-data» не зависит от «foo», поэтому при удалении пакета «foo» большинство инструментов управления пакетами не станет удалять его автоматически. То же самое относится и к пакетам библиотек. Это необходимо для избежания циклических зависимостей. Тем не менее, если для управления пакетами вы используете программу aptitude (см. aptitude, раздел 8.1.3), то она отслеживает автоматически устанавливаемые пакеты и удаляет их, когда в системе не остаётся пакетов, от них зависящих.

Для установки и распространения 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 предназначены для облегчения работы разработчиком и освобождения их времени для решения критических задач. Как говорит Ларри Уолл, существует более одного способа сделать это.

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 .

В 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

Дебиан. Сегодня продолжим. Займемся установкой программ в debian 8.

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

Рассмотрим два основных способа установки программ в Debian и основанных на этом дистрибутиве системах (ubuntu, linux mint и др.). Первый способ это терминал. В дебиан подобных дистрибутивах программы устанавливают с помощью специальной программы для работы с пакетами — apt (advanced packaging tool) подробнее читайте здесь . Чтобы установить программу нужно указать команду:

# apt-get install имя программы

С помощью «apt» можно не только устанавливать программы но и обновлять систему (как это делали в прошлый раз). Команды можно задавать через знак «&». Например, для обновления системы удобно использовать такую конструкцию:

$ sudo apt-get update && sudo apt-get upgrade -y

$ sudo apt - get update && sudo apt - get upgrade - y

Рассмотрим подробно, что она значит. Команда «apt-get update» обновляет список пакетов из репозиториев. Знак «&» обозначает, что после выполнения предыдущей команды следует выполнить другую указанную после «&». Если указан один знак амперсанд «&» то следующая команда будет выполнена вне зависимости от того насколько успешно прошла предыдущая.

Два знака «&&» сообщают о том, что выполнять следующую команду нужно только в том случае если предыдущая выполнена без ошибок. И наконец значение ‘-y», указывает на то, что бы на все вопросы возникающие в процессе обновление отвечать — «Да». Перед установкой программ делайте обновление пакетов командой apt-get update.

Давайте установить файловый менеджер midnight commander:

$ sudo apt-get update && sudo apt-get install mc -y

Пользоваться ей просто. Запускаете, указываете пароль пользователя или суперпользователя если не добавили себя в группу sudo. Synaptic многофункционален. Может производить разные манипуляции как с пакетами так и с репозиториями. Хотя репозитории все же удобнее добавлять с помощью терминала и текстового редактора. С помощью поиска ищите нужную программу и отмечаете её для установки или удаления.

Для примера поищем и установим программу cherrytree. Нажимаем кнопку «Поиск» или сочетание клавиш «Ctrl+f». И указываем имя программы.

Если такая программа есть то результат будет отображен в списке. Делаем правый клик по строке с названием. Выбираем «Отметить для установки».

Если потребуется для работы программы дополнительные пакеты то synaptic сообщит об этом и предложит установить.



Понравилась статья? Поделиться с друзьями: