it-swarm-ru.tech

Как установить локальные пакеты .deb с помощью apt-get

Есть ли способ установить хранилище пакетов на вашем HD с помощью apt-get, например apt-get install ./package.deb?

Если нет, то как очень легко справиться с зависимостями?

136
Louis

обычно я делаю dpkg -i <deb file>, он не сможет сказать, что ему нужны зависимости. После этого, когда вы делаете apt-get update, в конце он говорит что-то вроде «зависимости готовы к установке». Я думаю, что тогда он советует использовать apt-get install -f.

После этого я снова использую dpkg -i.

Работал хорошо для меня последние несколько лет.

Правка: посмотрим немного дальше, очевидно, инструмент под названием gdebi может сделать это как gdebi [deb file].

116
Sirex

У Sirex это более или менее правильно, но его ответ не ясен. Я просто решил это, вот что я сделал:

Sudo dpkg -i /path/to/filename.deb

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

Sudo apt-get -f install

Это установит зависимости (при условии, что они доступны в репозиториях, о которых знает ваша система) И пакете, который вы изначально запрашивали для установки («f» - это опция «fix», а «y» - это «предположить, да»). или опция «не спрашивайте меня, все ли в порядке, просто установите ее уже» - очень полезно для автоматической установки по сценарию). В системе, в которой я был, не было необходимости снова запускать dpkg (Ubuntu lucid 10.04).

Мне показалось интересным, что если вы пропустите параметр -f при запуске Sudo apt-get install, он покажет ваш пакет как не настроенный из-за неразрешенной зависимости, а также предложит: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Правка:

Если вы хотите установить, не отвечая 'y' на все вопросы, вы можете добавить модификатор y, как я изначально включил: Sudo apt-get -fy install. Тем не менее, комментатор отметил, что apt иногда предлагает удалить всю среду рабочего стола. Я выполнял эту работу в VM и ​​у меня не было этой проблемы, но этот пост был обновлен, чтобы отразить в нем немного более осторожность.

55
Akrikos

Вы также можете установить файл .deb с помощью gdebi. Для установки gdebi выполните следующие команды:

Sudo apt-get install gdebi-core

Установить пакеты .deb с помощью gdebi,

Sudo gdebi /path/to/filename.deb

Это также исправляет зависимости.

46
Avinash Raj

Да, предложенная вами команда верна.

Sudo apt-get install ./package.deb

установит пакет, полученный из другого источника, отличного от APT, и в то же время использует возможности APT для автоматического разрешения его зависимостей. К сожалению, эта функция apt-get не задокументирована на странице man .

См. https://askubuntu.com/a/769542/250300 для получения подробной информации.

26
Melebius