Как установить.deb, используя dpkg. Правильная установка deb-пакетов в Ubuntu Deb не устанавливается

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

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

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

Dpkg

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

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

Sudo dpkg -i версия_пакета.deb

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

Sudo apt install -f

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

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

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

Sudo apt install gdebi

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

Sudo gdebi версия_пакета.deb

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

Apt

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

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

Sudo apt install Firefox

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

Cd/путь/к/файлу/deb-пакеты/ sudo apt install ./версия_пакета.deb

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

Wget https://downloadus1.teamviewer.com/download/version_12x/teamviewer_12.0.69753_i386.deb

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

Sudo apt install ./teamviewer_12.0.69753_i386.deb

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

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

Вот и все!

Я надеюсь, что этот пост помог вам установить локальные Debian пакеты из командной строки. Если вы нашли этот пост полезным, то пожалуйста поделитесь им в социальных сетях, а также можете подписаться на новые новости в правой части сайта.

Приемы работы в Ubuntu.
Глава 6: Управление пакетами

Оригинал: "Ubuntu Hacks: Chapter 6 - Package Management"
Авторы: Кайл Ранкин, Джонатан Оксер, Билл Чайлдерс (Kyle Rankin, Jonathan Oxer, Bill Childers)
Дата публикации: June 2006
Перевод: Н.Ромоданов
Дата перевода: сентябрь 2010 г.

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

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

Предостережение. В Ubuntu используются автоматизированные средства установки пакетов по веской причине. С их помощью реализованы специальные средства защиты, обеспечивающих совместимость пакетов и наличие библиотек, если они необходимы пакетам. Если устанавливаете отдельно взятые файлы .deb (особенно те, которые не упакованы для конкретной версии Ubuntu), вы не только теряете всю массу этих преимуществ, вы также можете из-за несовместимости библиотек вывести из строя отдельные части системы, перезаписать файлы, от которых зависят другие программы Ubuntu, или добавить уникальные версии, которые усложнят обновление вашей системы в процессе ее эксплуатации. Перед тем, как устанавливать отдельный пакет .deb , особенно если вы новичок в Ubuntu, пожалуйста, изучите все другие возможности установки, в том числе использование репозитариев universe и multiverse [Совет # 60 ]. Вы создали свое собственное ядро "в стиле Ubuntu" Если вы с помощью утилиты make-kpkg откомпилировали из исходного кода свое собственное ядро, вы в итоге должны получить пакет .deb , в котором будет находиться двоичный код ядра, и файлы .deb для любого дополнительного модуля, которые вы, возможно, соберете (конкретные шаги этой процедуры описаны в разделе "Сборка ядер в стиле Ubuntu" [Совет # 78 ]). Вы откомпилировали свой собственный пакет из исходных кодов Ubuntu Как и при компиляции ядра, вы компилировали исходный код Ubuntu при помощи утилиты dpkg , и, в конечном счете, вы получили отдельный файл .deb , который вам нужно установить вручную. Вы хотите вернуться к старой версии программы Такая ситуация может возникнуть, в частности, в случае, если вы используете релиз Ubuntu, предназначенный для разработчиков. Иногда последних версиях релизов, предназначенных для разработчиков, имеются ошибки. В этим случае вам может потребоваться вернуться к предыдущей версии пакета. Один из самых простых способов сделать это состоит в нахождении более старой версии пакета .deb (возможно, в вашем локальном кэше пакетов в /var/cache/apt/archives/ ) и установке его вручную. Программа, которую вы хотите установить, имеет расширение.deb, но ее нет в репозитариях Ubuntu Могут возникнуть обстоятельства, при которых в репозитариях Ubuntu отсутствует пакет .deb , который вы хотите установить, поскольку это более новый пакет, чем тот, что предлагает Ubuntu, поскольку вы нашли более универсальный вариант файла .deb , или третья сторона предоставила файл .deb для Ubuntu, но еще не создала свой собственный репозитарий пакетов (например, как веб браузер Opera Web в его текущем варианте пакета).

Подсказка

Если вы нашли программу, упакованную в формате.deb, то в девяти случаях из десяти есть большая вероятность, что эта программа уже есть в одном из репозитариев Ubuntu. Подробности о дополнительных репозитариях, которые предоставляются Ubuntu и третьими сторонами, смотрите в разделе "Изменение списка репозитариев пакетов" [Совет # 60 ].

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

Установка файла.deb

Всякий раз, когда вам, независимо от причины, требуется установить файл .de b, нужно обратиться к утилите dpkg . Утилита dpkg является инструментом, который в дистрибутивах, базирующихся на Debian, используется для установки файлов .deb . (Даже когда вы пользуетесь автоматическими средствами управления пакетами, на самом деле за кулисами в системе для установки пакетов используется dpkg ). Если вы знакомы с инструментальным средством rpm , используемых в дистрибутивах, базирующихся на пакетах RPM, то обнаружите, что у dpkg похожий синтаксис. Чтобы установить из командной строки обычный файл .deb , наберите следующее:

Whiprush@ubuntu:~$ sudo dpkg -i packagename.deb

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

Whiprush@ubuntu:~$ sudo dpkg -i package1.deb package2.deb package3.deb

или используйте универсальный символ [Совет # 13 ], чтобы установить все файлы.deb, которые есть в текущем каталоге:

Whiprush@ubuntu:~$ sudo dpkg -i *.deb

Утилита dpkg также имеет параметр, задающий рекурсивное исполнение (-R). Если у вас есть директорий, заполненный файлами deb, вы можете установить их следующим образом:

Whiprush@ubuntu:~$ sudo dpkg -i -R /path/to/directory

и утилита dpkg будет рекурсивно искать и устанавливать все файлы .deb , которые находятся в этом директории и во всех его поддиректориях.

Иногда, когда вы устанавливаете пакет с помощью утилиты dpkg , установка может прерваться из-за того, пакет помечен как hold , поскольку он конфликтует с другим пакетом, или он зависит от других пакетов, которые не установлены, или при установке пакета делается попытка переписать файлы, относящиеся к другому пакету, или по ряду других причин. В dpkg есть ряд параметров --force , которые вы можете использовать для того, чтобы игнорировать эти проблемы и продолжить установку пакета.

Предостережение

Параметры --force предназначены только для экспертов, которые хорошо знакомы с системой пакетов .deb и с зависимостями, имеющимися внутри системы. Как правило, установка пакетов прекращается по серьезным причинам и, если вы новичок и вы заставляете устанавливать пакет в любом случае, установка, скорее всего, закончится для вас вышедшей из строя системой. Поэтому пользуйтесь этими параметрами с осторожностью.

Чтобы посмотреть полный список параметров --force , наберите следующее:

Whiprush@ubuntu:~$ dpkg --force-help

К числу наиболее полезных параметров относятся следующие:

Установка пакета, даже если он отмечен как hold .

Force-overwrite

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

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

Force-conflicts

Даже если пакет конфликтует с другим пакетом, в любом случае продолжить установку.

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

Whiprush@ubuntu:~$ sudo dpkg -i --force-overwrite packagename.deb

Удаление пакета

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

Whiprush@ubuntu:~$ sudo dpkg -r packagename

Обратите внимание, что вы не указываете расширение .deb в имени файла, который вы, возможно, перед этим устанавливали, - только имя самого пакета. Когда указывается параметр -r , dpkg будет искать и удалять все файлы этого пакета, кроме конфигурационных файлов, которые будут оставлены на случай, если программа будет устанавливаться еще раз. Если вы хотите очистить систему от всех файлов, включая конфигурационные файлы, используйте параметр -P:

Whiprush@ubuntu:~$ sudo dpkg -P packagename

.deb — расширение имён файлов бинарных пакетов (бинарный-двоичный файл), предназначенные для распространения и установки программного обеспечения в ОС Debia n, и других, использующих систему управления пакетами dpkg , таких, например, как Ubuntu, Linux Mint .

Как правило в Ubuntu/Linux Mint все установочные .deb-пакеты приложений, загруженные пользователем, устанавливаются затем по умолчанию графическими программами, такими как Менеджер программ :


Либо GDebi :



Но в Менеджер программ не всегда можно установить бинарный пакет загруженный пользователем, потому что он не устанавливает необходимые зависимости для .deb-пакета .
А установка в GDebi не всегда срабатывает, несмотря на то, что GDebi подтягивает перед установкой пакета необходимые зависимости/библиотеки.

В этом случае .deb-пакет можно установить посредством терминала.

Давайте более подробно рассмотрим терминальный вариант установки .deb-пакета .
Это не сложно. Достаточно один раз повторить данную инструкцию, а затем вы будете выполнять установку .deb-пакетов в терминале "с закрытыми глазами".

Итак. Для примера я выбрал "безобидный" .deb-пакет для установки значков Suru , которые разрабатываются в настоящее время для Ubuntu 18.10 . А "безобидный" этот пакет потому, что даже если вы его установите в системы Ubuntu/Linux Mint и производные, то повредить он ни чему не может в системе.

1. Перейдите по следующей ссылке: https://ubuntu.pkgs.org/suru-icon-theme/all.deb.html и загрузите бинарный пакет, как показано на снимке:



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


Теперь откройте терминал (Ctrl+Alt+T) и в терминале необходимо перейти в папку Загрузки .

Выполните в терминале команду ls , которая отобразит все папки в Домашнем каталоге :


Примечание . Команда ls (dir, vdir) — делает стандартный вывод содержимого каталогов.

Далее выполняем непосредственный переход в папку Загрузки . Для этого вводим в терминал команду cd (c hange d irectory - изменить директорию/папку), через пробел копипастим название папки, в которую хотим перейти и нажимаем клавишу Ввод :



3. После того как мы перешли в папку Загрузки , нам необходимо посмотреть её содержимое. Вновь введите и выполните (выполнить - нажать клавишу Ввод) команду ls .


Как видно на снимке, в терминале отобразился наш искомый .deb-файл с значками Suru .

4. Установка .deb-файла .

Для установки загруженного .deb-файла , необходимо в этом же терминале ввести команду sudo dpkg -i , через пробел скопипастить название файла и нажать клавишу Ввод :


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


5. После нажатия клавиши Ввод , .deb-пакет будет установлен:


Примечание . Можно также устанавливать несколько пакетов за раз, передавая их все как аргументы команде sudo dpkg -i через пробел (sudo dpkg -i .deb-пакет1 .deb-пакет2 и так далее).

6. К сожалению, программа dpkg не умеет разрешать и скачивать необходимые зависимости из репозиториев. Если вы попали в такую ситуацию, когда терминал после выполнения команды sudo dpkg -i .deb-пакет сообщает о неудовлетворённых зависимостях, выполните в этом же терминале команду sudo apt install -f , которая используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями.

7. По окончании установки .deb-пакета с значками Suru , вы можете использовать их в своём дистрибутиве (Внешний вид/Тема - Значки).

В основанных на Debian системах программные файлы, библиотеки исходный код упаковывается и распространяется как.deb файлы. Установка.deb файлов может быть сделана с помощью инструмента командной строки под названием dpkg. Тем не менее, типичный.deb пакет имеет зависимости (или обязательные пакеты), которые нужно предустановить для того, чтобы была возможность установить этот.deb пакет, и dpkg не может разрешить эти зависимости.

Например, если вы пробуете установить пакет под названием webmin используя dpkg на свежую Ubuntu, dpkg потерпит неудачу или проблем с зависимостями.

$ sudo dpkg -i webmin_1.620_all.deb dpkg: dependency problems prevent configuration of webmin: webmin depends on libnet-ssleay-perl; however: Package libnet-ssleay-perl is not installed. webmin depends on libauthen-pam-perl; however: Package libauthen-pam-perl is not installed. webmin depends on apt-show-versions; however: Package apt-show-versions is not installed. dpkg: error processing webmin (--install): dependency problems - leaving unconfigured Processing triggers for ureadahead ... Errors were encountered while processing: webmin

Когда дело доходит до зависимостей.deb файлов, инструмент Linux под названием gdebi — это благословение. С gdebi вы можете установить.deb файлы с автоматическим решением неудовлетворённых зависимостей.

Утилита gdebi имеет два компонента gdebi для инструмента командной строки и gdebi-gtk с графическим интерфейсом. В зависимости от того, вы на настольном компьютере Linux или на «безголовом» сервере, вы можете установить только инструментом командной строки или полной графической версией.

Установка.deb файла с зависимостями на безголовый сервер

Для установки gdebi в консоли на Debian, Ubuntu или Linux Mint, проделайте следующее.

$ sudo apt-get install gdebi-core

Сейчас просто запустите gdebi с целевым.deb файлом для установки и обработки зависимостей. Любые обязательные пакеты будут установлены автоматически.

$ sudo gdebi webmin_1.620_all.deb

Установка.deb файла с зависимостями в среде рабочего стола

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

$ sudo apt-get install gdebi

Затем наберите эту команду для установки.deb файла.

$ sudo gdebi-gtk webmin_1.620_all.deb

Вы увидите графический интерфейс установщика пакетов, как показано на скриншоте ниже.

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

Наконец, просто нажмите «Установить пакет» для процесса установки.deb.