Как установить deb пакет в debian

Обновлено: 02.07.2024

Оригинал: 3 Command Line Tools to Install Local Debian (.DEB) Packages
Автор: Aaron Kili
Дата публикации: 23 апреля 2018 года
Перевод: А. Кривошей
Дата перевода: декабрь 2018 г.

Из этого руководства мы узнаем, как устанавливать локальные пакеты программ (.DEB) в Debian и его производных, таких как Ubuntu и Linux Mint, используя три различных утилиты командной строки: dpkg, apt и gdebi.

Это будет полезно для тех пользователей, которые недавно перешли с Windows на Ubuntu или Linux Mint. Основная проблема, с которой они сталкиваются, заключается в локальной установке программного обеспечения в системе.

Ubuntu и Linux Mint имеет свой собственный графический центр программного обеспечения для простой установки программ, но мы будем рассматривать установку пакетов в терминале.

1. Установка программ с помощью команды Dpkg

Dpkg - это менеджер пакетов для Debian и его производных, таких как Ubuntu и Linux Mint. Он используется для установки, сборки, удаления и управления пакетами .deb, но в отличие от других систем управления пакетами Linux, он не может автоматически загружать и устанавливать пакеты вместе со своими зависимостями.

Чтобы установить локальный пакет, используйте команду dpkg с флагом -i вместе с именем пакета, как показано ниже.

Установка локального пакета в Ubuntu

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

Удаление локального пакета в Ubuntu

2. Установка программ с помощью команды Apt

Команда apt - это расширенный инструмент командной строки, который позволяет произвести новую установку пакета, обновление существующего пакета, обновление индекса списка пакетов и даже обновление всей системы Ubuntu или Linux Mint.

Он также предлагает инструменты командной строки apt-get и apt-cache для более эффективного управления пакетами в Debian и его производных.

По сути, apt-get или apt не понимают файлы .deb, они предназначены для обработки имен пакетов (например, teamviewer, apache2, mariadb и т. д.). Они распаковывают и устанавливают архивы .deb, связанные с именем пакета, из источников, указанных в файле /etc/apt/sources.list.

Единственно возможный трюк для установки локального пакета Debian с помощью apt-get или apt - это указать локальный относительный или абсолютный путь (./ для текущего каталога), в противном случае он попытается скачать пакет из удаленных источников и выполнить операцию не удастся.

Установка локального пакета в Ubuntu с помощью apt

Установка локального пакета в Ubuntu с помощью apt-get

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

3. Установка программ с помощью команды Gdebi

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

Установка локального пакета в Ubuntu с помощью Gdebi

Чтобы удалить пакет, установленный с помощью gdebi, вы можете использовать команды apt, apt-get или dpkg, используя параметр purge, как показано ниже.

Это все! В этом руководстве мы рассмотрели три различных утилиты командной строки для установки или удаления локальных пакетов Debian в Ubuntu и Linux Mint.

В этой статье мы расскажем, как проходит установка deb-пакета Ubuntu и Debian, установка приложений, и какие для этого нужны инструменты.

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

Для установочных пакетов Debian (и производных дистрибутивов — Linux Mint, Kali Linux, Ubuntu) было разработано расширение .deb. Где можно найти debian-пакеты? Создать deb-пакет может любой разработчик, поэтому найти этот формат можно на любом сайте или в официальных репозиториях Debian и Ubuntu.

Для поиска, установки, обновления и удаления пакетов программ в Debian (и других основанных на нём ОС, в частности, Ubuntu) используется APT.

Утилита APT

APT (Advanced Packaging Tool) ― это инструмент командной строки, который помогает взаимодействовать с программами. Этот пакетный менеджер был разработан для Debian, однако позже стал использоваться и в других дистрибутивах, основанных на нём.

Обратите внимание! Раньше использовалась команда apt-get. В последних версиях Debian произошло обновление и есть возможность использовать просто apt. Инструмент apt совмещает функциональность apt-get и apt-cache. Старый вариант команды работает в современных системах. Для использования сложных сценариев всё ещё предпочтительнее использовать apt-get. Однако в своей инструкции мы будем использовать новый вариант, так как в этом случае он подходит лучше.

Синтаксис для работы с утилитой:

Команды apt для управления пакетами:

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

Как установить deb-пакет на Ubuntu и Debian из официального репозитория

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

Обновите список пакетов:

Проверьте, есть ли пакеты для установки в наших репозиториях. Для этого введите команду:

Вместо gimp вставьте название вашей программы.

Если вы видите, что программа есть в репозитории, её можно установить. Также в списке вы увидите название пакета для установки:

Как установить deb-пакет 1

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

Где вместо gimp укажите название нужной программы. В процессе загрузки система попросит у вас пароль и подтверждение установки.

Готово, вы установили сам пакет и все зависимости.

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

Как установить deb-пакет в Ubuntu и Debian, если его нет в репозитории

Не все пакеты deb находятся в репозитории. Любой разработчик может создать пакет и распространять его вне репозитория.

Для установки пакета мы будем использовать dpkg. Debian установка пакетов со стороннего сайта схожа с установкой Ubuntu.

Чтобы его установить:

Скачайте deb-пакет. Например, мы будем устанавливать vivaldi.

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

Перейдите в папку с установленным пакетом. Наш пакет находится в папке «Загрузки», чаще всего при скачивании программа попадает именно туда. Для входа в папку введите команду:

Если ваш файл находится в другой папке, вместо /Загрузки/ введите нужную.

Установите пакет. Для этого введите:

Где vivaldi-stable_3.8.2259.42-1_amd64.deb ― имя скачанного файла.

Готово, пакет установлен.

Как посмотреть установленные пакеты в Debian и Ubuntu

Увидеть весь список пакетов, которые установлены в системе, можно в командной строке. Также можно сформировать его в отдельный файл.

Чтобы посмотреть в терминале, введите:

Перед вами появится список:

Как установить deb-пакет 2

Как установить deb-пакет 3

Чтобы сформировать список в текстовом файле в корне пользовательского каталога с именем package.txt, введите:

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

deb-пакет

deb — расширение имён файлов «бинарных» пакетов для распространения и установки программного обеспечения в ОС проекта Debian, и других, использующих систему управления пакетами dpkg. И сегодня мы посмотрим три инструмента командной строки, чтобы помочь вам установить локальный Debian пакет.

Если вы спрашиваете себя: “Как я могу установить Deb пакет в Ubuntu или Debian?”, То вы пришли в нужное место.

Вы можете щелкнуть правой кнопкой мыши на загруженном DEB пакете и выбрать установку из контекстного меню, но с помощью графического инсталлятора это будет очень медленно по сравнению с терминальными командами. Вот 3 различных инструмента командной строки, чтобы помочь вам установить Deb-пакеты. Они же Dpkg, Gdebi и APT.

dpkg — это программное обеспечение, являющееся основой системы управления пакетами в Debian и ряде других операционных систем, основанных на Debian, например Ubuntu. dpkg используется для установки, удаления, и получения информации о .deb пакетах.

Используйте dpkg для установки локального Debian пакета, как показано ниже.

Dpkg сам по себе не может решить проблему зависимостей, потому что он не понимает репозиториев. Но вы можете использовать следующую команду, чтобы решить эту проблему.

Установочный пакет Gdebi

Gdebi — программа для установки .deb пакетов, разработанная корпорацией Canonical специально для Ubuntu.

Gdebi не устанавливается по умолчанию в Ubuntu, так что вам нужно ее в первую очередь установить, для этого открываем терминал и пишем следующую строку.

Для установки локального deb-пакета используйте

Если есть проблема зависимостей, Gdebi автоматически установит их для вас, если конечно эти пакеты зависимостей доступны из репозитория программного обеспечения.

apt (advanced packaging tool) — программа для установки, обновления и удаления программных пакетов в операционных системах Debian и основанных на них (Ubuntu, Linux Mint и т. п.), иногда также используется в дистрибутивах, основанных на Mandrake, например Mandriva, ALTLinux и PCLinuxOS. Способна автоматически устанавливать и настраивать программы для UNIX-подобных операционных систем как из предварительно откомпилированных пакетов, так и из исходных кодов.

Обычно вы будете использовать APT для установки пакетов из интернет-хранилищ программного обеспечения, как в этом примере:

Знаете ли вы, что он также может быть использован для установки локальных Deb пакетов? Это еще одна причина, почему вы должны использовать apt вместо apt-get, который не имеет такой возможности. Вам нужно просто перейти в каталог, где хранится deb-пакет и установите его, как показано на примере ниже.

Например, чтобы установить TeamViewer 12 в Ubuntu 16.04/16.10, сначала загрузите пакет TeamViewer.deb в текущий каталог

Затем установите его с помощью:

Он автоматически устанавливает зависимости, если эти зависимости доступны из репозитория программного обеспечения.

Используя apt для установки локальных deb пакетов, вам просто нужно добавить ./, который представляет текущий рабочий каталог, перед именем пакета, так чтобы apt смог спокойно найти deb пакет.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Зачастую некоторый пакет имеется в ветках unstable и experimental, однако его нет в ветках stable/testing. Программу поставить очень хочется, а обновлять полсистемы страшновато или нежелательно.

В большинстве случаев установить пакет из unstable и experimental можно, используя пересборку пакета в своем окружении. Делается это довольно несложно, и данное руководство предназначено для того, чтобы помочь начинающему пользователю в этом вопросе. Для примера мы разберем вариант с установкой пакета fluxbox из experimental-ветки.

Установим инструменты для сборки:

Сгенерируем gpg-ключ и выполним экспорт некоторых переменных окружения, связанных с ним:

Настройка apt-get

Прежде всего, нам необходимо настроить apt-get на работу с src-репозитариями Debian. Для этого добавьте в Ваш файл /etc/apt/sources.list следующие строки:

Зеркало пакетов, разумеется, можете выбрать любое - то, которым наиболее часто пользуетесь. После изменения файла /etc/apt/sources.list сделайте традиционный

и будем считать систему настроенной для наших дальнейших действий.

Немного теории

Что представляет собой src-пакет в системе Debian?

Src-пакет для debian - это исходные тексты программы, которые любезно предоставлены автором под той или иной лицензией, дополненные несколькими скриптами (которые предоставлены сопровождающим пакета), обеспечивающими сборку пакета.

Все скрипты, файлы и т.п., относящиеся к сборке пакета в системе Debian, традиционно располагаются в подкаталоге debian/ вместе с исходными текстами.

Примечание: Некоторые включают каталог debian/ прямо в архив с исходными кодами. Это в основном касается программ разработанных специально для Debian. В таком случае вместо файлов .orig.tar.gz и .diff.gz будет один файл package-version.tar.gz.

Получение и распаковка пакета с исходными текстами

В системе, настроенной как было рекомендовано выше, данная процедура выливается в одну команду:

для нашего случая с fluxbox это будет выглядеть так:

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

В результате этого действия, как видно из приведенного выше лога, были скачаны нужные файлы с зеркала (которое мы прописали в /etc/apt/sources.list) и произведена распаковка исходников и наложение патча в .diff.gz.

Данную операцию необязательно было проделывать с помощью apt-get, можно было пойти на страничку пакета, скачать файлы по ссылке Downloads (внизу страницы) и распаковать командой

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

Немного об устройстве каталога debian/

Все действия по сборке пакетов выполняются из каталога с исходными текстами, который получился при распаковке src-архива. В этом каталоге расположен и каталог debian/.

как видим это просто список пакетов которые необходимы нам при сборке.

Зависимости для сборки

Это может оказаться как самый простой вопрос, так и самый сложный. Ситуация состоит в следующем. Сопровождающий пакета, как правило, является человеком, хорошо разбирающимся во внутреннем устройстве Debian, поэтому сопровождающие зачастую раньше других переходят на использование testing/unstable веток. Кроме того, аплоад пакетов в Debian происходит прежде всего в unstable, а потому сопровождающий часто оттестировал сборку своего пакета только под testing/unstable. Довольно редко авторы программ указывают версионные зависимости для своих детищ, поэтому не всегда удаётся проставить правильные версии, и они могут быть как завышены, так и занижены. Выяснять, с какой версией той или иной библиотеки перестанет собираться программа занимает много времени и сил, а зачастую и не очень нужно.

Установка зависимостей для сборки

Простой случай: все получилось с первого раза

Если у Вас apt-get настроен так, как было указано выше, то в большинстве случаев установка зависимостей может быть сделана одной командой:

Для рассматриваемого нами пакета fluxbox все необходимое будет установлено без проблем, и можно переходить к разделу (ниже) Сборка пакета.

Требуемые зависимости отсутствуют в моем дистрибутиве

Сборка пакета

Простая сборка

Итак, все что необходимо нам для сборки, установлено. Осталось, собственно, собрать пакет. Для этого нам понадобится утилитка fakeroot, установите ее, если она у Вас еще не установлена.

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

    Это не должна быть версия, встречающаяся в официальном репозитории (чтобы не создавать путаницы)

Если вы делаете просто бэкпорт, то версия должна быть младше той версии, на основе которой собран пакет (чтобы не возникло проблем, когда этот пакет попадет в testing, затем в stable и вы попробуете сделать dist-upgrade). Добавьте строку

Исходя из этого, правильным будет добавить к версии -какаятострока1, если вы что-то существенно дорабатывали, или

какаятострока1, если делали бэкпорт.

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

    Вы что-то не (так) сделали на предыдущих шагах (например, понизили зависимость, а реально этого делать было нельзя);

Вернитесь на несколько шагов назад и повторите попытку.

Если есть только архив с исходниками

Итак, у нас есть только fluxbox-0.9.15.tar.bz2. Обычно выполняюncz следующие действия: Предварительно подготавливаю рабочую директорию:

Получаем файл fluxbox-0.9.15.tar.bz2. Немного забегая вперёд, обработаем файл программой gzip.

Получим fluxbox-0.9.15.tar.gz, переименуем:

(т.е. разделили имя и версию подчёркиванием и после версии добавили слово orig: fluxbox_0.9.15.orig.tar.gz) Теперь распаковываем его (но ни в коем случае не удаляем!):

Для корректной сборки нужно, чтобы корневая директория содержала не только название, но и версию! Ниже будем считать директорию

/src/fluxbox/0.9.15/fluxbox-0.9.15 корневой директорией исходников. Далее выполняем «черновую» сборку. Т.е. делаем, как обычно

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

Если есть только deb-пакет

Распаковываем пакет в папку /tmp/program/

Чтобы распаковать информацию о пакете, нужно выполнить:

Теперь можно делать изменения. Чтобы снова собрать пакет, делаем следующее:

Дебианизация

Cмысл всей этой процедуры - создать директорию debian в корне исходников, с нужными файлами конфигурации и скриптом(ами). Для этого, в корне исходных текстов (

В таком случае советую прервать dh_make (Ctrl+C) и переименовать архив, как описано выше. Но мы с вами молодцы и всё у нас прошло без ошибок - появился каталог debian в корне исходников, посмотрев его содержимое, Вы увидите кучу файлов (расширение .ex) с примерами на все случаи жизни. Будем считать, что программа у нас простая, обычно ни один из этих файлов не нужен. Первым делом нужно добавить описание программы в файле debian/control:

без этого мы получим пустой пакет. Обычно этих настроек достаточно для сборки пакета с одной программой, которая не содержит разделяемых библиотек, т.е. только бинарник в /usr/bin и данные в /usr/share. Теперь, соберём пакет:

в директории выше, т.е. в

/src/fluxbox/0.9.15, мы получим файлы:

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

После того, как пакет собран, его осталось установить командой:

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

Сборка с созданием чистых образов систем

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

В качестве решения подойдет chroot с чистым окружением… Испугались? Все уже украдено до нас.

Сборка пакета в системе pbuilder

Довольно неплохо упрощает данный процесс интерактивная программа pbuilder. Установите пакет pbuilder, затем откройте на редактирование /etc/pbuilderrc и пропишите адрес Вашего любимого репозитория.

система готова к употреблению.

Вместо имени sarge подставьте название Вашего дистрибутива.

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

Будут автоматически проделаны все описанные выше шаги, при этом все пакеты требуемые для сборки скачиваются и устанавливаются во временный каталог, поэтому система не "замусоривается" лишними пакетами. Правда, проблему с зависимостями для сборки всё равно придется решать, однако последовательно пройти по всем зависимостям с данным инструментом не представляет особого труда. Почитайте документацию на этот замечательный пакет и узнайте об остальных его возможностях.

Сборка пакета в системе cowbuilder

сowbuilder является из пакета cowdancer – это аналог pbuilder, только образ сборочной системы он хранит не в tar.gz а в развернутом виде, а при сборке копирует этот образ с использованием техники copy-on-write, что ускоряет сборку.

Пример конфига /etc/pbuilderrc:

Создать образ системы можно и без использования конфига:

Теперь логинимся в чистую систему:

Дальше ставим утилиты для сборки и действуем как в стандартной системе (смотреть след. раздел и начало страницы):

Виход из окружения стандартен, собраные пакеты искать в /var/cache/pbuilder.

Сборка пакета в чистом окружении

Как теперь собрать пакет в нужном окружении. Вначале из нашего каталога <имя пакета>-<версия апстрим> с измененной версией и поправленными build-depends собираем сурцовый пакет новой версии:

Переходим каталогом выше, где собрался файлик <имя пакета>_<версия>.dsc (где версия, это уже наша версия с “

backport”) и говорим

Если произошла ошибка (например из-за проблем с зависимостями), то возвращаемся к шагу 1 и исправляем ошибки. Если все прошло нормально, то собранные пакеты окажутся в каталоге /var/cache/pbuilder/results. Вот собственно и все.

Для обновления образов (особенно актуально для testing) я использую команду

Читайте также: