Утилиты debian. Управление пакетами в Debian

Каждому пользователю ОС 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 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

Для установки и распространения 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 - огромное поле для экспериментов, и из него можно сделать всё, что угодно.



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