Как установить файл .deb через командную строку?

Ответы:

1243

Пакеты устанавливаются вручную с помощью dpkgкоманды (Система управления пакетами Debian). dpkgявляется бэкендом для команд вроде apt-getи aptitude, которые, в свою очередь, являются бэкендом для приложений установки с графическим интерфейсом, таких как Центр программного обеспечения и Synaptic.

Что-то вроде:

dpkg-> apt-get, aptitude-> Synaptic, Центр программного обеспечения

Но, конечно, самый простой способ установки пакета будет, во- первых, графический интерфейс приложения (Synaptic, Software Center, и т.д ..), а затем с помощью терминала команды apt-getи aptitudeчто добавить очень хороший удобный подход к серверной DPKG, включая , но не ограничивается пакетными зависимостями, контролем над тем, что установлено, нуждается в обновлении, не установлено, поврежденными пакетами и т. д. Наконец, dpkgкоманда, которая является основой для всех них.

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

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

sudo dpkg -i DEB_PACKAGE

Например, если вызывается файл пакета, askubuntu_2.0.debвам следует это сделать sudo dpkg -i askubuntu_2.0.deb. Если dpkgпоявляется сообщение об ошибке из-за проблем с зависимостями, вы можете запустить, sudo apt-get install -fчтобы загрузить отсутствующие зависимости и настроить все. Если появится сообщение об ошибке, вам придется самостоятельно разобраться с зависимостями, следуя, например, примеру. Как разрешить неудовлетворенные зависимости после добавления PPA? ,

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

sudo dpkg -r PACKAGE_NAME

Например, если пакет вызывается, askubuntuвы должны сделать sudo dpkg -r askubuntu.

Переконфигурировать существующий пакет

sudo dpkg-reconfigure PACKAGE_NAME

Это полезно, когда вам нужно перенастроить что-то, связанное с указанным пакетом. Вот несколько полезных примеров, keyboard-configurationкогда вы хотите включить Ctrl+ Alt+ Backspaceдля сброса X-сервера, поэтому вы должны сделать следующее:

sudo dpkg-reconfigure keyboard-configuration

Еще один замечательный вариант - когда вам нужно установить часовой пояс для сервера или локального тестируемого компьютера, поэтому вы используете tzdataпакет:

sudo dpkg-reconfigure tzdata
Луис Альварадо
источник
4
Отличная информация, пришлось найти способ установить traceroute, чтобы помочь отладить, почему моя машина не подключается к Интернету :)
Джейсон
23
Также полезно отметить, что однажды установленные программы обычно находятся в / usr / bin, названном в честь того, что было удалено.
Крис Москини
Если я бегу sudo apt-get install texlive-latex-base, он несколько месяцев терпел неудачу с "несоответствием хэш-суммы". Я могу скачать файл .deb с http://gb.archive.ubuntu.com/ubuntu/pool/main/t/texlive-base/texlive-latex-base-doc_2015.20150625-1ubuntu1_all.deb. Если я установлю его с помощью dpkg, будет ли он впоследствии распознаваться (и обновляться) apt-get.
user643722
1
чувак, ты классный так редко я вижу ответы Linux, которые настолько подробны .. когда дело доходит до вопросов новичка, это важно !! спасибо
Elad Katz
1
Если проще и лучше установить через aptitudeили apt-get(или просто apt), почему здесь не приведены примеры для этих команд?
интуитивно
161

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

Чтобы установить загруженный пакет Debian ( Ubuntu ) (.deb): Откройте терминал и введите

sudo dpkg -i packagename.deb

Чтобы удалить пакет Debian (Ubuntu) (.deb):

sudo dpkg -r packagename

Чтобы перенастроить / восстановить установленный пакет Debian (Ubuntu) (.deb):

sudo dpkg-reconfigure packagename
Атул Маквана
источник
105

Мой фаворит - GDebi, доступный как с терминала / оболочки, так и с графического рабочего стола.

Скриншот

Я обычно ассоциирую .debфайлы с GDebi, поскольку это быстро и эффективно, особенно по сравнению с Ubuntu Software Center. Одна из главных особенностей GDebi - это разрешение зависимостей и их установка.

Для командной строки запустите sudo gdebi <package.deb>установку одного файла deb.

АОНТО
источник
5
перед установкой проверяет зависимости, спасибо !!
Водолей Сила
Может ли gdebi скачать зависимости или мы должны загрузить их вручную? @Pandya
Jasser
Вероятно, лучше для людей, переходящих из не-Linux фона.
Nisheet
+1 за «разрешает зависимости и устанавливает их», что является ключевым.
Revetahw
85

Вы ищете все команды dpkg ? нажмите на эту ссылку, чтобы прочитать.

15 команд dpkg для управления Linux-серверами на основе Debian

Команды DPKG

Есть два действия, они есть dpkg-queryи dpkg-deb.

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

# sudo dpkg -i {package_name}    
# sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb

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

# sudo dpkg -r {package_name}
# sudo dpkg -r vlc

Удалить пакет и его конфигурационные файлы

# sudo dpkg -P {package_name}
# sudo dpkg -P vlc

Список всех установленных пакетов.

Вы можете направить команду less(пейджер), чтобы вам было удобнее прокручивать содержимое:

# dpkg -l | less

Проверьте, установлен ли пакет или нет

# dpkg -l {package_name}
# dpkg -l vlc

Проверьте, установлен ли пакет или нет, и запустите его:

# dpkg -l | vlc

Посмотрите, установлен ли пакет или нет

И это покажет место, где будет установлен пакет. Здесь -S(заглавная S) искать, был ли установлен пакет или нет.

# sudo dpkg -S {package_name}
# sudo dpkg -S skype

Установите пакет * .deb из указанного места

Вот -Rрекурсивный. (Рекурсивно обрабатывать все обычные файлы, соответствующие шаблону, *.debнайденному в указанных каталогах и во всех его подкаталогах).

# sudo dpkg -R --install {package_location}
# sudo dpkg -R --install /home/sysadmin/soft

Показать детали пакета

Здесь -p(в нижнем регистре p) будет отображаться информация о пакете:

# dpkg -p {package_name}
# dpkg -p apache2

Просмотр содержимого пакета

Используйте -c(строчные буквы c), чтобы показать содержимое:

# sudo dpkg -c {package_name}
# sudo dpkg -c skype-ubuntu-precise_4.2.0.11-1_i386.deb

Извлеките *.debфайл пакета

Используйте -x(строчные буквы x) для извлечения:

# dpkg -x {package_name} {location_were_to_extract}
# dpkg -x libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

Извлеките и отобразите имена файлов, содержащиеся в пакете

Используйте -X(верхний регистр X) для отображения содержимого с извлечением.

# dpkg -X {package_name} {location_were_to_extract}
# dpkg -X libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

Показать информацию о пакете

Здесь -Iстоит информация:

# dpkg -I {package_name}
# dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb

Переконфигурируйте уже установленный пакет

dpkg-reconfigureпереконфигурирует пакеты после того, как они уже установлены. Передайте ему имя (я) пакета или пакетов для перенастройки. Он будет задавать вопросы о конфигурации, как при первой установке пакета.

# dpkg-reconfigure postfix

Это перенастроит так postfixже, как при первой установке.

Хотите узнать больше о dpkgкомандах? Взгляните на страницу руководства:

# man dpkg
Бабин Лонстон
источник
5
« Проверьте, установлен пакет или нет, и, если он есть, запустите его:# dpkg -l | vlc » - это передало бы список пакетов только в vlc, с непредсказуемыми результатами, если бы он был установлен; и не лучше, чем просто печататьvlc
Xen2050
51

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

sudo apt-get install /path/to/package.deb

Даже если вы находитесь в каталоге с пакетом, вам нужно указать путь ./в начале:

sudo apt-get install ./package.deb
Braiam
источник
13
Это, наверное, лучший ответ. aptпомешает вам сломать вашу систему, если у вас нет правильных зависимостей.
Mlainz
Кажется, эта команда выбирает все существующие пакеты.
Hibou57
@ Hibou57 в имени пакета не должно быть пробела.
Braiam
26

Полезный совет при установке такой программы, как Libreoffice, которая имеет несколько файлов .deb в папке.

sudo dpkg -i *.deb
tadcan
источник
2
Никогда не используйте эту команду. Вы должны вручную удалить все библиотеки, если хотите удалить этот пакет. sudo apt remove example, sudo apt autoremoveИ sudo dpkg -r *.debне работает.
никто не
12

Решение gdebiкомандной строки

Вот лучший способ установить файл .deb в Ubuntu из командной строки:

sudo gdebi skype.deb

Если вы еще не gdebiустановили, установите его, используя sudo apt install gdebi-core.

Почему гдеби?

gdebiбудет искать все зависимости .debфайла и установит их, прежде чем пытаться установить .debфайл. Я считаю это гораздо предпочтительнее, чем sudo dpkg -i skype.deb && sudo apt install -f. Последний слишком стремится удалить зависимости в определенных ситуациях. Например, когда я пытался установить Skype, он попытался удалить 96 (!) Пакетов, включая такие пакеты, как compizи unity! gdebiдал гораздо более четкое сообщение об ошибке:

$ sudo gdebi skype.deb
Cannot install 'libqtgui:i386'

( Кстати, вот решение этой конкретной проблемы .)

Флимм
источник
askubuntu.com/a/170557/158442 говорит, что gdebiможет использоваться из командной строки
muru
@muru Да, но это легко пропустить из-за скриншота. Кроме того, это не объясняет проблемы сdpkg -i skype.deb
Flimm
11

Создайте свой собственный установщик скриптов debInstallerследующим образом:

#!/bin/bash
dpkg -i "$@"
apt-get --yes --fix-broken install

Сделайте скрипт исполняемым с

chmod +x debInstaller

Затем переместите его в несколько каталогов в вашем PATH или добавьте текущий каталог в ваш PATH.

Я собираюсь переместить его в / usr / bin

sudo cp debInstaller /usr/bin

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

sudo debInstaller some-package.deb

Добавленная стоимость этого метода является решение проблемы зависимостей, так как в основном вы будете сталкиваться с некоторыми проблемами при установке .deb с dpkg -iиз - за ошибки зависимостей, так что вы должны использовать , apt-get install -fчтобы решить, этот сценарий будет делать работу за вас, но здесь я использовал apt-get --yes --fix-broken installдля автоматического устранения этих ошибок без вмешательства пользователя.

Maythux
источник
10

Чтобы установить файлы deb, откройте терминал и введите:

sudo dpkg -i file.deb
sudo apt-get install -f
sudo dpkg -i file.deb   

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

Другой подход заключается в использовании gdebiинструмента для установки файлов deb.

Бенни
источник
0

Существует много инструментов для установки пакета deb, я лично использую встроенный установщик пакетов dpkg.

Если вы вошли в систему как root, измените каталог на местоположение пакета deb

dpkg -i package_name.deb

если вы не вошли как root

sudo dpkg -i package_name.deb

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

sudo apt-get check

Если есть какие-либо сломанные зависимости

sudo apt-get -f install
masterpianist
источник