LINUX.ORG.RU

куча deb-пакетов, dpkg какой ключ указать для соблюдения зависимостей?

 , , ,


0

1

Есть Linux Debian NetInstall. Есть папка с множеством deb-пакетов котрые привязаны к одному, так сказать «стартовому», пакету. Нужно установить всё это хозяйство через консоль. Указываю из-под root`а: dpkg -i <имя_стартового_пакета> но dpkg мне говорит что мол нету зависимых пакетов (хотя все они лежат там же, где и исходный) и потому ставить ничего не буду. Мучил dpkg --help, но он, как истинный партизан, молчит и не признаётся. Мож методы воздействия на него, у мя не те?


Ответ на: комментарий от ergron

Если все пакеты зависимостей есть в каталоге, то команда dpkg -i *.deb установит и нужный тебе пакет и их. А если не установит, значит не все есть.

carthrbc
()
Ответ на: комментарий от carthrbc

Тока что проверил. Ставлю mc командой dpkg -i mc_3%3a4.8.3-10_i386.deb он ссылается на пакет mc-data. Этот пакет лежит в той же папке с именем mc-data_3%3a4.8.3-10_all.deb, однако dpkg мне говорит что пакет mc-data отсутствует и не установлен.

ergron
() автор топика
Ответ на: комментарий от ergron

Проблема в том, что ты меня понял немножко неправильно. Надо было дословно выполнить dpkg -i *.deb, со звёздочкой. В переводе на человеческий: дпкг, инстальни-ка мне в систему все пакеты из этой папки.

carthrbc
()
Ответ на: комментарий от QuArt3

Но кроме даты, там у мс ещё около 20ти пакетов в зависимостях. Трабл собсна в том, что лениво вводить ручками имена полтора тысяч пакетов.

ergron
() автор топика
Ответ на: комментарий от sergijoo

Это было бы совсем здорово, но разве такое возможно?

ergron
() автор топика
Ответ на: комментарий от sergijoo

Мммммм... В общем тут ситуёвина такая: есть мой бук, на котором стоит Debian NetInstall и ещё установлено много-много всего. Есть бук, на который тоже нуно установить Debian, но с меньшим набором доп. софта. Берётся флэшка, на неё копируется /var (вынесен в отдельный раздел на винте) с моего бука, переносится на другой бук, где уже установлена базовая система (не NetInstall). Копируется с заменой в /var другого бука. Есессно, что так просто система не видит что у нее в кэше уже есть все нужные ей пакеты. Поэтому используем dpkg. Не предлагайте поставить обычный дистриб.

ergron
() автор топика
Ответ на: комментарий от ergron

Не нужно копировать весь /var, достаточно /var/cache/apt. Если есть сеть на другом буке выполни

apt-get update
apt-get install нужные пакеты
Пакеты подтянутся с /var/cache/apt.

sergijoo
()
Последнее исправление: sergijoo (всего исправлений: 1)

Мож методы воздействия на него, у мя не те?

Нет там таких ключей. Варианты у меня будут такие: делать локальный репозиторий либо же установить gdebi (возможно, что хватит gdebi-core, так как в нем cli, а в gdebi морда). gdebi вроде умеет резолвить зависимости при установке не из репозитория, а пакета deb:

gdebi lets you install local deb packages resolving and installing its dependencies. apt does the same, but only for remote (http, ftp) located packages.

This package contains the libraries and command-line utility.

Zubok ★★★★★
()

Есть папка с множеством deb-пакетов

ну а кто мешает из этой мамки сделать локальный реп?

novitchok ★★★★★
()
Ответ на: комментарий от novitchok

Это уметь надо, а я пока что только-только научился собирать на базе NetInstall системы под запросы простых смертных. Которые только и умеют что нажать на кнопочку влючения компьютера и делают это достаточно долго, чтобы устать от возни с вирусами\антивирусами\кейгенами\кряками и т.д. Такие люди ко мне и приходят, потому что я им рассказал что есть система где всё просто работает. Причём так, как человек захочет. Так что, пожалста, не давите интеллектом :))

ergron
() автор топика
Ответ на: комментарий от ergron

Это уметь надо

Подписаны ли пакеты на установочном DVD Debian? (комментарий)

я им рассказал что есть система где всё просто работает

то, что при этом ещё и самому думать не мешает, а не тупо надеятся на «систему, где всё просто работает» не пробовали осознать и рассказать?

novitchok ★★★★★
()
Ответ на: комментарий от novitchok

Если это им объяснить - уйдут на винду

ergron
() автор топика
Ответ на: комментарий от novitchok

Значит так, если есть куча пакетов в одной папке, то можно указать dpkg -i имя+пакета.deb и он зависимости подтянет сам из этой же папки (если они там есть), а не полезет искать их хз куда? Всё правильно?

ergron
() автор топика

Можно установить пакет через dpkg -i. А затем написать sudo apt-get install -f это починит зависимости, установит нужные пакеты.

bhfq ★★★★★
()
Ответ на: комментарий от ergron

Трабл собсна в том, что лениво вводить ручками имена полтора тысяч пакетов.

Тебе выше правильно пишут, скопируй все deb с зависимостями в один каталог и через sudo dpkg -i *.deb

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от bedcasus

Вот спасибо камрад ВВП :) Помогло. Вопрос решён.

ergron
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.