Установка программ в Debian и дистрибутивах, основанных на нем. Управление пакетами в 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), то она отслеживает автоматически устанавливаемые пакеты и удаляет их, когда в системе не остаётся пакетов, от них зависящих.

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

Установка пакетов Debian выполняется, как и в Ubuntu, с помощью пакетного менеджера apt и утилиты dpkg. Мы рассматривали их подробно в статье про . В этой же статье мы более детально остановимся на особенностях Debian.

Перед тем как говорить непосредственно про Debian, нужно рассмотреть apt. Этот пакетный менеджер был специально разработан для Debian и потом стал использоваться в других основанных на нем дистрибутивах. Синтаксис для работы с утилитой такой:

$ sudo apt опции команда имя_пакета

Вот основные команды apt, которые вы можете использовать для управления пакетами:

  • download - скачать пакет, но не устанавливать;
  • update - используется для обновления информации о списках пакетов в репозиториях;
  • upgrade - обновление системы без удаления пакетов;
  • full-upgrade - полное обновление системы с удалением конфликтующих зависимостей;
  • install - установка пакета;
  • remove - удаление пакета без удаления конфигурационных файлов;
  • purge - полное удаление пакета;
  • autoremove - автоматическое ненужных удаление пакетов;
  • search - поиск пакета в локальной базе данных;
  • show - посмотреть информацию о пакете.

Кроме того, утилите можно передать некоторые опции, основные:

  • -c - сторонний конфигурационный файл;
  • -o - строка конфигурации;
  • -t - версия релиза для которой устанавливать пакет;
  • -f - выполнить операцию принудительно.

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

sudo apt install имя_пакета
$ sudo apt install vlc

А для удаления пакета наберите:

sudo apt purge vlc

Вы можете искать пакеты с помощью команды search:

sudo apt search vlc

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

С помощью политик вы можете настроить из каких репозиториев будет выполняться установка deb пакетов в debian в первую очередь. Мы рассматривали репозитории Debian и как их добавлять в отдельной статье. Допустим, вы добавили backports, testing и unstable. Теперь, чтобы настроить для них приоритеты откройте конфигурационный файл /etc/apt/preferences и добавьте в него строки:

sudo vi /etc/apt/preferences

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

Package: *
Pin: release a=stretch-backports
Pin-Priority: 650

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

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

Чем выше значение Priority, тем выше приоритет. Сначала мы указываем с помощью инструкции Package имя пакета, а затем репозиторий и его приоритет. В нашем примере самый высокий приоритет имеет репозиторий stable, если там пакета нет, он будет установлен из backports, и только потом из testing и из unstable. Теперь добавление нестабильных репозиториев не будет ломать систему. А если вы захотите установить пакет из нестабильного репозитория, то просто укажите его с помощью опции -t. Например, для testing:

sudo apt -t testing install firefox

Очень удобно и не ломает систему.

Установка программ с помощью tasksel

Инструмент tasksel разработан специально для Debian. Он позволяет устанавливать пакеты группами. Разработчики сгруппировали пакеты в зависимости от их предназначения и вы можете установить одну из нужных групп. Именно эта утилита используется в установщике Debian.

Чтобы посмотреть список доступных групп наберите:

tasksel --list-tasks

Также вы можете посмотреть какие пакеты находятся в группе:

tasksel --task-packages web-server

Или описание группы пакетов:

tasksel --task-desc web-server

Чтобы установить группу пакетов, например, веб-сервера, выполните:

tasksel install web-server

А для удаления группы:

tasksel remove web-server

Установка программ Debian таким способом достаточно проста, но здесь есть не так много пакетов.

Установка пакетов Aptitude

Aptitude - это более продвинутая программа для управления пакетами. Она поддерживает больше функций чем apt. Но для использования ее нужно установить:

sudo apt install aptitude

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

Пакеты разделены на удобные категории чтобы их можно было просто найти:

Чтобы посмотреть информацию о пакете нажмите "Enter" , чтобы отметить пакет для установки, нажмите "+" , а для удаления пакета - "-" :

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

  • install - установить пакет, поддерживает регулярные выражения;
  • remove - удалить пакет;
  • purge - удалить пакет вместе с его конфигурацией;
  • reinstall - переустановить пакет;
  • build-depens - отобразить зависимости пакета;
  • markauto - пометить пакет, как установленный автоматически в виде зависимости;
  • hold - не обновлять этот пакет;
  • keep - если для пакета намечено какое-либо действие - отменяет его;
  • forget-new - удаляет всю информацию о пакете;
  • update - обновление системы;
  • safe-update - обновление системы без удаления конфликтующих пакетов, такие пакеты не будут обновлены;
  • full-update - полное обновление системы;
  • search - поиск пакетов;
  • show - посмотреть информацию о пакете;
  • source - скачать исходный код пакета;
  • vesrsions - отобразить доступные версии пакета;
  • why - отображает причину, почему пакет не может быть установлен;
  • clean - удаляет лишние deb файлы;
  • autoclean - удаляет все пакеты из кэша;
  • download - скачать пакет, но не устанавливать.

Установка deb пакетов в debian с помощью aptitude будет выглядеть аналогично apt:

sudo aptitude install vlc

Опция -t здесь тоже актуальна:

sudo aptitude -t unstable install vlc

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

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

Для поиска нужного пакета нажмите кнопку поиск, потом введите его имя:

Кликните по нужному пакету правой кнопкой и выберите "Отметить для установки" :

Утилита покажет какие еще пакеты будут установлены как зависимости:

Дебиан. Сегодня продолжим. Займемся установкой программ в 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 сообщит об этом и предложит установить.

В 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

Система

ntfs-3g - это свободный драйвер файловой системы NTFS. Проект стабилен при работе с любыми NTFS разделами (включая запись), имеет большое и активное сообщество разработчиков и лицензируется под GNU General Public License.
scalpel - это средство быстрого восстановления файлов, которое читая из базы данных начало и конец файлов известных форматов, пытается найти их на диске.
sshfs - это файловая система для Linux, используемая для удаленного управления файлами по протоколу SSH таким образом, как будто они находятся на локальном компьютере.
davfs2 - Утилита для монтирования сетевых облачных хранилищ (дисков) по протоколу «WebDAV»
smbfs - Пакет предоставляет утилиты-обёртки для совместимости со старыми инструментами smbfs: smbmount, smbumount и mount.smbfs.
vlan - Управление виаланами
gpm - поддержка мыши в виртуальных консолях Linux.

msttcorefonts — MS Windows шрифты для Debian
xrdp - сервер для Unix-систем, реализованный поверх VNC, и предоставляющий доступ к рабочему столу терминального сервера по протоколу RDP.
rdesktop - открытый клиент для сервера терминалов Windows(RDP)
volti - альтернативный регулятор громкости

smbc или python-smbc - сетевой браузер для самбы
gadmin-samba - лёгкий в использовании инструмент на основе GTK+ для настройки SAMBA и сервера печати.
checkInstall - компьютерная программа для Unix-подобных операционных систем, созданная с целью облегчить установку и удаление программного обеспечения

molly-guard - устанавливает скрипт, который перекрывает существующие команды / reboot / halt / poweroff / coldreboot / pm-hibernate / pm-suspend и первым запускает набор сценариев, которые должны успешно пройти molly-guard, прежде чем запускается настоящая команда.

Графические примочки

compiz mdash; композитный менеджер окон для X Window System, использующий для ускорения 3D графики OpenGL. Он предоставляет множество новых графических эффектов, доступных в любых графических средах X Window, в том числе GNOME и KDE.
conky mdash; программа для системного мониторинга под X Window System.
tilda — всплывающие, наподобе как в играх, окно консоли.
dockbarx awn-applet-dockbarx - интересная графическа тулза


GUI программы

qutim — кроссплатформенный клиент мгновенного обмена сообщениями с открытым исходным кодом, распространяемый по лицензии GNU GPL. Поддержка Jabber, Mail.ru Агент, IRC. Всегда рассматривал его как ближайший аналог QIP
google-chrome-stable — браузер, разрабатываемый компанией Google на основе свободного браузера Chromium . Работает просто, быстро и надежно.
icedove icedove-l10n-ru - версия почтового клиента Thunderbird . Поддерживает различные типы почтовых ящиков (POP, IMAP, Gmail), Предлагает простую организацию писем с помощью меток и виртуальных папок. Дополнительные возможности реализуются установкой расширений.
libreoffice libreoffice-l10n-ru libreoffice-help-ru — свободный независимый офисный пакет с открытым исходным кодом, разрабатываемый как ответвление от разработки OpenOffice.org.
playonlinux mdash; надстройка над Wine, которая позволяет легко устанавливать и использовать в Linux большое количество игр, разработанных для Windows. PlayOnLinux предоставляет возможность использования скриптов для установки Windows-приложений, а также иметь под рукой несколько версий вайна.
doublecmd - это интересный, кроссплатформенный файловый менеджер, похожий на известный многим Total Commander (а так же он поддерживает плагины Total Commander). Из всех извесных мне файловых менеджеров он наиболее близок по к любимому мной и многоуважаемому Total Commander.
sublime-text-dev или sublime-text — кроссплатформенный, написанный с использованием python текстовый редактор и редактор исходных текстов программ. Программа изначально разработана как многофункциональное расширение Vim.
FoxitReader — бесплатное прикладное программное обеспечение, для просмотра электронных документов в стандарте PDF (в репозитории его пакетов нет, поэтому придется найти отдельный deb пакет)
meld — очень полезная программа для наглядного сравнения файлов и катологов в Linux.
gparted — это программа для создания, изменения и форматирования дисковых разделов. GParted позволяет изменять организацию разделов на дисковых устройствах без потери данных.
geany — свободная среда разработки программного обеспечения.
parcellite — многообещаюший менеджер буфера обмена на GTK
terminator — это небольшой проект, представляющий рациональный способ заполнения площади экрана терминалами. Всегда предпочитал его обычным терминалам.
keepassx — отличная программка для хранения паролей и их генерации.
gnome-mplayer или mplayer — это свободный медиаплеер. Программа работает на большинстве современных операционных систем. Простой, функциональный, удобный.
vlc — свободный, кроссплатформенный медиаплеер.
SMplaer — свободный, кроссплатформенный медиаплеер на Qt очень неплох в стабильности и функционале.
avidemux — приложение, предоставляющее возможности для быстрого (и несложного) редактирования видеофайлов. Аналог VirtualDub.

Консоль

debian-keyring debian-archive-keyring GnuPG и ключи разработчиков
arno-iptables-firewall — это скрипт для настройки сетевого экрана (брандмауэра) как для одной так и для нескольких подсетей с поддержкой DSL/ADSL. В отличие от других оболочек к Iptables Arno-iptables-firewall создает и устанавливает параметры безопасности брандмауэра, изменяет таблицы маршрутизации задавая несколько простых вопросов во время настройки.
sshpass — это утилита, очень полезна для выполнения команд на удаленном сервере и применяется в скриптах.
htop — продвинутый монитор процессов, написанный для Linux. Он был задуман заменить стандартную программу top.
iftop mdash; утилита предназначена для мониторинга загрузки канала в реальном времени. По умолчанию программа отображает конечные точки сетевых соединений.
minicom — программа для использования последовательного порта в UNIX-подобных операционных системах
mc mdash; один из файловых менеджеров с текстовым интерфейсом типа Norton Commander для UNIX-подобных операционных систем, а также Microsoft Windows и Windows NT, OS/2, Mac OS X (но не Mac OS 9).
concalc — консольный калькулятор
unrar unzip p7zip — утилиты для разархивирования rar, zip b 7z.
lftp — консольный FTP-клиент. Кроме FTP программа также поддерживает протоколы FTPS, HTTP, HTTPS, HFTP, FISH и SFTP, используемый протокол автоматически определяется из URL-ссылки.
rsync — программа для UNIX-подобных систем, которая выполняет синхронизацию файлов и каталогов в двух местах с минимизированием трафика, используя кодирование данных при необходимости.
xclip выводит содержимое буфера обмена

snmp — простой протокол сетевого управления) — стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур UDP/TCP

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

expect — инструмент для автоматизации и тестирования в ОС Unix, написанный Don Libes как расширение к скрипт-языку Tcl, для интерактивных приложений таких, как telnet, ftp, passwd, fsck, rlogin, tip, ssh, и других.

zenity — вывод MesageBox из консоли
ipcalc — калькулятор для расчета адресов в подсети и сетевых масок

libnotify-bin — полезно тем кто пользуется notify-send (всплывающие системные уведомления)
dialog — одна из немногих, помогающих создавать дружелюбные скрипты и программы в консоли
moc — консольный двухпанельный клиент-серверный проигрыватель музыки
git - распределённая система управления версиями файлов.
uni2ascii - Утилита для преобразования URL из формата %-encoded (RFC 2396)
curl — свободная, кроссплатформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
xmlstarlet - парсер XML
bootlogd - Эта программа ведет лог загрузки, записывая в /var/log/boot то, что мы видим на начальном экране
Iperf — кроссплатформенная консольная клиент-серверная программа — генератор TCP и UDP трафика для тестирования пропускной способности сети.

Разное

xneur - программа для автоматического переключения между раскладками клавиатуры. Очень пригодится тем кто был рабом Punto switcher.