Рейтинг:0

Используя `apt-get` или `dpkg`, установите список локальных пакетов `.deb`, который также содержит зависимости

флаг cn

Я получаю список .deb из службы (которую я не контролирую), и я хочу автоматически установить или обновить их массово с помощью скрипта/службы.

Список содержит пакеты и их зависимости, но, к сожалению, не всегда по порядку.

я пытался использовать дпкг -я плюс параметры автоконфигурации, с или без --force-зависит но это происходит сразу же, когда начинается процесс распаковки, потому что зависимости еще не установлены или не настроены, даже если они есть в списке.

Затем я попытался использовать способный получить который устанавливает часть пакетов, но для остальных возвращает 0 как существующий статус команды, но ничего не делает.

Пакеты, которые я получаю из списка, могут существовать или отсутствовать на машине (существует несколько разных машин), у меня нет этой информации, поэтому я могу установить или обновить.

Бывший:

apt-get (или apt) install /local/pkg1_amd64.deb /local/pkg2_amd64.deb /local/pkg3_amd64.deb /local/pkg4_amd64.deb ....

Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
0 обновлено, 0 установлено заново, 0 удалено и 34 не обновлено.

Кажется, такое поведение обычно происходит с пакетами, которые необходимо обновить.

Я пробовал разные аргументы (например, -f, -y, --reinstall и т. Д.), Тот же результат, добавил параметр отладки, чтобы получить более подробный результат, ничего не изменилось.

Принимая во внимание, что у меня нет контроля за порядком посылок в полученном списке, и я может запускать команды только через скрипт/сервис на машине, какие варианты у меня есть, чтобы решить эту проблему.

флаг in
Как вы получаете этот список и почему вы не можете редактировать порядок пакетов? Виртуальные машины — хороший способ определить наилучший порядок установки, и, если люди, предоставляющие список пакетов, обижаются на то, что вы перетасовываете шезлонги, возможно, они хотели бы взять на себя ответственность за обновление серверов и устранение последствий сбоя?
Joepie Es avatar
флаг eg
Вы можете попробовать использовать «aptitude» вместо «apt» и «apt-get», так как это лучше работает с зависимостями. Если у вас не установлен aptitude, установите его с помощью ```sudo apt install aptitude```.
user535733 avatar
флаг cn
Ваш вывод показывает «... 34 не обновлено». Сначала решите эту проблему, прежде чем пытаться установить новые пакеты. Как только вы вернетесь к установке, покажите нам полный ввод и вывод вместо вычищенного примера.
user3541631 avatar
флаг cn
Я не могу вручную вносить изменения на сервере и устанавливать сторонние пакеты (это автоматизированная система с несколькими компьютерами). Я получил из службы/базы данных список «.debs», и мне нужно перейти к другой службе/скрипту, который будет установлен или обновлен (если установлена ​​более старая версия). | @ user535733 - в списке также есть пакеты для обновления, информации о которых у меня нет, они могут быть разными на каждой машине; | Джопи Эс Я могу установить только то, что получено от начальной службы в списке; | matigo невозможно, это сложная система с множеством сервисов, например линия труб.
user535733 avatar
флаг cn
Хм. Я думаю, что в вашем вопросе нет информации о вашей настройке.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.