проблема с debian диспетчером пакетов

Из-за ограничения скорости интернет-соединения я предпочитаю устанавливать пакеты офлайн. Я обычно получаю требуемые пакеты из системы с той же установленной OS. Но когда я устанавливаю программы таким образом, я обычно заканчивал с поврежденными пакетами в моей системе, которая не является закрепляемой со следующим:

sudo apt-get update
sudo apt-get install -f 

Иногда последняя команда хочет удалить личинку или некоторые очевидно существенные пакеты от моей системы! или после выполнения последней команды я не могу установить некоторые программы, например:

The following packages have unmet dependencies:
 mysql-client : Depends: mysql-client-5.5 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

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

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

2
задан 9 February 2015 в 07:17

2 ответа

Вы не сказали, как Вы устанавливаете пакеты, которые Вы загрузили. Если Вы просто добираетесь .deb файлы от другой системы, затем я держал пари, что Вы используете dpkg --install устанавливать .deb непосредственно.

Поскольку Вы узнали к настоящему времени, dpkg не может разрешить и обработать проблемы зависимости как apt может.

Один способ "откатывать" изменения состоит в том, чтобы использовать apt-get для удаления пакетов, Вы пытались установить.

Одна вещь, которую Вы могли попробовать, dpkg-в-режиме-офлайн (правовая оговорка: Я записал это). В Вашей системе онлайн получите ISO для версии Ubuntu, которую Вы имеете в своей офлайновой системе. Выполненный dpkg-offline указание, какие пакеты Вы хотите установить. Это будет использовать apt-get загрузить пакеты и все их зависимости, и дать Вам tarball с несколькими сценариями помощника для работы офлайновой системы. Это добавит "офлайновый" репозиторий для тех пакетов, таким образом можно использовать apt-get и имейте его, разрабатывают зависимости.

2
ответ дан 2 December 2019 в 01:59

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

Теперь к вашему вопросу. Проблема с попыткой установить все необходимые пакеты из автономного состояния заключается в том, что у вас нет возможности исправить проблемы с зависимостями. Что делает apt и тому подобное - они вытягивают список всех зависимостей, определяют, какие из них нужно установить, а затем пытаются их установить. Если не удается установить зависимости, происходит сбой.

Вы привели mysql-client в качестве примера. Это метапакет , так как он относится к другим пакетам и не содержит реальных исполняемых файлов. Он также опирается на конкретные версии mysql-client и нуждается в их загрузке.

Нет реального способа избежать этого с помощью автономной коробки. Единственный реальный способ избежать этой проблемы - это подключить вашу коробку к сети с зеркалом Debian или доступом к Интернету и настроить правила брандмауэра, чтобы ограничить исходящий трафик только до доступа к серверам обновлений.

3
ответ дан 6 October 2019 в 01:58

Другие вопросы по тегам:

Похожие вопросы: