После использования dpkg, выполнение следующей команды помогло мне установить необходимые зависимости:
sudo apt-get -f install
В целом, ваш терминал должен выглядеть следующим образом:
$ sudo dpkg -i package_with_unsatisfied_dependencies.debdpkg: dependency problems prevent ... [additional messages]$ sudo apt-get -f install[apt messages]Setting up [dependency]...Setting up package_with_unsatisfied_dependencies...
Уведомление строка о Setting up package_with_unsatisfied_dependencies. Это исправления (и завершает) установку package_with_unsatisfied_dependencies.deb.
Вы можете установить gdebi-core, который является версией командной строки установщика пакета GDebi от 10.04 и более ранних версий. В более новых версиях Ubuntu Центр программного обеспечения используется для установки debs, который не имеет эквивалента командной строки.
Чтобы установить пакет deb с помощью gdebi, просто запустите:
gdebi устанавливает пакет deb и его зависимости. Чтобы использовать его, запустите:
sudo gdebi package.deb
В более новых версиях Ubuntu это не установлено по умолчанию, поэтому вам нужно будет установить его из репозиториев.
Видеть man gdebi для получения полного списка опций.
gdebi является ли командная строка эквивалентом одноименного графического инструмента, который раньше включался по умолчанию в Ubuntu. Команда для графического инструмента - это gdebi-gtk и имеет аналогичную функциональность:
после установки пакета с dpkg могут быть устранены неисправные зависимости (по крайней мере, man apt-get так говорит ...). Я сообщу, когда я это проверю.
Если вам нужно выполнить команду, которая автоматически разрешает все a .зависимостей файла deb и устанавливает файл .deb и его отсутствующие зависимости с помощью той же команды, вам нужно будет обновить установленное программное обеспечение с помощью sudo apt update. Затем откройте терминал, измените каталоги с помощью cd в каталог, содержащий package-name.deb, и введите:
подходящая установка - имитация ./имя пакета.deb # Эта команда не требует sudo.
где имя пакета.deb должно быть заменено именем a .файл deb, расположенный в текущем каталоге, который вы пытаетесь установить.
Приведенная выше команда ничего не установит, но выведет сообщение со списком любых зависимостей package-name.deb, которых нет в репозиториях Ubuntu по умолчанию. Вам нужно будет вручную загрузить и установить файлы .deb этих отсутствующих пакетов зависимостей, чтобы установить package-name.deb. Бежать apt install --simulate ./загруженный вручную package.deb перед установкой любого из этих загруженных вручную пакетов зависимостей, чтобы проверить, есть ли у этих пакетов какие-либо неудовлетворенные зависимости.
Если имитируемая команда завершится успешно, выполните следующую команду для установки package-name.deb.
потеть подходящая установка ./имя пакета.deb
В одной и той же команде может быть несколько файлов .deb, если все файлы .deb расположены в текущем каталоге.
dpkg не имеет поддержки зависимостей. Есть способ обойти это, но для этого потребуется создать локальную базу данных (и, следовательно, вы уже будете знать зависимости), и она считается устаревшей (...).
Обязательно ли это должна быть командная строка? (установка сервера?) Если это так, также взгляните на apt-get -f но будьте осторожны: устранение зависимостей после установки может привести к сбою системы.
гдеби (интерфейс gui) раньше мог это делать, но был заменен на USC.
Как вы загрузили файл .deb. Некоторые из новых функций 11.04 - это обработка файла .deb, загруженного с веб-сайта: он открывается в USC, поэтому зависимости будут устранены установщиком.
РЕДАКТИРОВАТЬ на основе комментария Эндрю:sudo gdebi foo-1.2.3.deb сделал бы свое дело!!
Я предполагаю, что вы создали файл в своей домашней папке. Сделайте его исполняемым с помощью chmod +x dpkg-dep-inst и переместите его в /usr/local/bin с sudo cp dpkg-dep-inst /usr/local/bin.
Теперь вы можете автоматически установить пакет debian с зависимостями с помощью:
Я только что столкнулся с этой проблемой. Зовущий apt-get install -f будет нет устанавливать рекомендуемый зависимости, однако! Единственным обходным путем для этого было бы создать локальный репозиторий и добавить в /etc/apt/sources.list, то есть:
@Melebius Результат выглядит как обычно. Он просит меня ввести пароль, когда я его выполняю. После ввода пароля все команды "sudo apt install` в скрипте будут выполнены без каких-либо ошибок.
_ “Это потому, что я пишу ”sudo apt install pkg" в скрипт bash и не выполнил скрипт с помощью “sudo”?"_ Это зависит от того, ввели ли вы пароль или настроили свою ОС так, чтобы пароль для скрипта не требовался. В любом случае, вы записали выходные данные скрипта?