Это работает сейчас. Если вы все еще используете SuperUser, можете ли вы обновить принятый ответ? Смотри ниже.
mikemaccana
Ответы:
121
как правило, я не могу dpkg -i <deb file>сказать, что ему нужны зависимости. После этого, когда вы сделаете apt-get updateэто, в конце он скажет что-то вроде «зависимости готовы к установке», я думаю, что потом советует использовать apt-get install -f.
Как только это будет сделано, я использую dpkg -iснова.
Работал хорошо для меня последние несколько лет.
изменить: глядя немного дальше, по-видимому, инструмент под названием gdebiможет сделать это как gdebi [deb file].
Спасибо, я сделал то же самое с помощью «error» dpkg, затем apt-get install -f, и это сработало.
Луи
2
gdebiработает для меня, и самое простое, что я видел до сих пор.
Ctrl-Alt-Delor
55
У 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модификатор , как я первоначально включал: sudo apt-get -fy install. Тем не менее, комментатор отметил, что apt иногда предлагает удалить всю среду рабочего стола. Я делал эту работу на виртуальной машине, и у меня не было этой проблемы, но этот пост был обновлен, чтобы отразить в нем немного более осторожность.
Если у меня все файлы пакета уже есть в каталоге, есть ли способ сообщить apt, что это новый репозиторий, поэтому мне не придется заставлять его устанавливать что-либо без зависимостей?
Ягода Цакала
2
Извините, но я не знаю. Я бы предложил задать этот вопрос как еще один вопрос высшего уровня.
Акрикос
Сумасшедший странный, что это требуется. На raspian это потребует sudo (как для dpkg, так и для apt-get): sudo dpkg -i mypackages.debи т. Д.
Brent Faust
@Rubistro root-доступ необходим во всех системах. Я предполагаю, что ответы предполагали, что эти команды выполняются пользователем root (например, из интерактивной оболочки root или скрипта, который выполняется как root).
Амос Шапира
2
Для вашего же блага, не добавляйте -yопцию. Например, apt может предложить, например, удалить всю среду рабочего стола, если вы попробуете это с неправильным пакетом в неподходящее время (по крайней мере, в Debian).
oseiskar
45
Вы также можете установить файл .deb с помощью gdebi. Для установки gdebi выполните следующие команды:
Обратите внимание, что gdebi принимает только один аргумент и молча бросает остальных на пол. Это означает, что если вы устанавливаете несколько дэбов одновременно (возможно, потому что они зависят друг от друга), вам нужно тщательно составить gdebiкоманды, которые позволяют их устанавливать. По этой причине эта половина побеждает цель Гдеби, но вы все равно можете найти ее полезной для одного файла
Энтони Соттил,
@ Энтони тогдаfind -name *.deb -exec gdebi {} \;
jjmontes
3
@jjmontes , который будет работать только в том случае , если взаимозависимости в алфавитном порядке , в котором я бы пари довольно редко
Энтони Sottile
Я следовал за этим freesoftwaremagazine.com/articles/… (ошибка локального репозитория должна была быть в / var / www / html / debs), и synaptic продолжал пытаться загрузить его с удаленного даже без интернета, поэтому gdebi прекрасно работал с локальным репо ! Кроме того, файлы .deb должны были бытьchmod +r *.deb
Водолей Power
34
Да, предложенная вами команда верна.
sudo apt-get install ./package.deb
или же
sudo apt install ./package.deb
установит пакет, полученный из другого источника, чем APT, и в то же время использует возможности APT для автоматического разрешения его зависимостей. К сожалению, эта apt-getфункция не описана в справочной странице .
Ответы:
как правило, я не могу
dpkg -i <deb file>
сказать, что ему нужны зависимости. После этого, когда вы сделаетеapt-get update
это, в конце он скажет что-то вроде «зависимости готовы к установке», я думаю, что потом советует использоватьapt-get install -f
.Как только это будет сделано, я использую
dpkg -i
снова.Работал хорошо для меня последние несколько лет.
изменить: глядя немного дальше, по-видимому, инструмент под названием
gdebi
может сделать это какgdebi [deb file]
.источник
gdebi
работает для меня, и самое простое, что я видел до сих пор.У 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
модификатор , как я первоначально включал:sudo apt-get -fy install
. Тем не менее, комментатор отметил, что apt иногда предлагает удалить всю среду рабочего стола. Я делал эту работу на виртуальной машине, и у меня не было этой проблемы, но этот пост был обновлен, чтобы отразить в нем немного более осторожность.источник
sudo dpkg -i mypackages.deb
и т. Д.-y
опцию. Например, apt может предложить, например, удалить всю среду рабочего стола, если вы попробуете это с неправильным пакетом в неподходящее время (по крайней мере, в Debian).Вы также можете установить файл .deb с помощью gdebi. Для установки gdebi выполните следующие команды:
Установить пакеты .deb с помощью gdebi,
Это также исправляет зависимости.
источник
gdebi
команды, которые позволяют их устанавливать. По этой причине эта половина побеждает цель Гдеби, но вы все равно можете найти ее полезной для одного файлаfind -name *.deb -exec gdebi {} \;
chmod +r *.deb
Да, предложенная вами команда верна.
или же
установит пакет, полученный из другого источника, чем APT, и в то же время использует возможности APT для автоматического разрешения его зависимостей. К сожалению, эта
apt-get
функция не описана в справочной странице .См. Https://askubuntu.com/a/769542/250300 и https://askubuntu.com/a/795048/250300 для получения подробной информации.
источник