Полезные ссылки Debian. Установка программ в Linux (.tar,.gz,.bz, RPM и DEB)

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

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

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

sudo nano /etc/apt/preferences

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

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

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

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

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

sudo nano /etc/apt/sources.list

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

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

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

sudo apt-get update

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Apt-get update

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

Apt-get update; apt-get upgrade

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

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

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

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

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

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

Yum update

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

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

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

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

Urpmi имя_пакета

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

Urpme имя_пакета

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

Urpmi.update -a

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

Urpmi --auto-select

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

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

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

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

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

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

Команды Tar:

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

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

Cd имя_папки

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

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

./install.sh

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

./configure make make install

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

Make clean

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

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




Top