Есть ли способ установить хранилище пакетов на жесткий диск с помощью apt-get, например apt-get install ./package.deb
?
Если нет, то как можно очень-очень просто справиться с зависимостями?
решение1
обычно я делаю dpkg -i <deb file>
, он не срабатывает, говоря, что ему нужны зависимости. После этого, когда вы делаете , apt-get update
он скажет в конце что-то вроде "зависимости готовы к установке" Я думаю, что затем он советует использовать apt-get install -f
.
После этого я dpkg -i
снова использую его.
У меня все отлично работало последние несколько лет.
правка: если посмотреть немного дальше, то, по-видимому, инструмент под названием gdebi
может сделать это как gdebi [deb file]
.
решение2
Да, предложенная вами команда верна.
sudo apt-get install ./package.deb
или
sudo apt install ./package.deb
установит пакет, который вы получили из другого источника, нежели APT, и в то же время будет использовать возможности APT для автоматического разрешения его зависимостей. К сожалению, эта apt-get
функция не документирована встраница руководства. Эта возможность была добавлена в APT 1.1 (см.объявление о выпуске).
Более подробную информацию см. здесь:
решение3
У Sirex это более или менее правильно, но его ответ не ясен. Я только что решил это, так что вот что я сделал:
sudo dpkg -i /path/to/filename.deb
Если это не удается с сообщением о том, что пакет зависит от чего-то, что не установлено, вы, вероятно, можете исправить это, если запустите
sudo apt-get -f install
Это установит зависимости (предполагая, что они доступны в репозиториях, о которых знает ваша система) И пакет, который вы изначально запрашивали для установки («f» — это опция «исправить», а «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 иногда предлагает вам удалить всю среду рабочего стола. Я делал эту работу в виртуальной машине и не имел таких опасений, но этот пост был обновлен, чтобы отразить большую осторожность.
решение4
Вы также можете установить файл .deb с помощью gdebi. Выполните следующие команды, чтобы установить gdebi:
sudo apt-get install gdebi-core
Установите пакеты .deb с помощью gdebi,
sudo gdebi /path/to/filename.deb
Он также устраняет зависимости.