Я пытаюсь установить ros-desktop
на Ubuntu16 .04, АРМ. Однако я планирую сначала загрузить пакеты .deb рекурсивно с помощью apt-get download
и apt-rdepends
, как показано здесь , а затем установить с помощью dpkg
игнорируя некоторые нежелательные зависимости. ( apt-get install
не позволяет мне игнорировать эти зависимости, поэтому я прибег к этому методу). Но я сталкиваюсь с ошибками при загрузке пакета
E: Can't select candidate version from package xxx as it has no candidate
и многих других подобных строк. Не могли бы вы предложить способ решения этой проблемы.
Важное примечание: Если предлагается apt-get update
, я не могу его выполнить, так как некоторые из обновленных пакетов несовместимы и приведут к сбою моих установленных драйверов. Кроме того, есть ли способ успешно загрузить и установить вручную?
К вашему сведению: зависимости, которые я игнорирую, являются mesa, потому что у меня уже есть собственные библиотеки для реализации opengl, и я не хочу, чтобы эти дополнительные пакеты mesa мешали. Заранее спасибо.
Эта ссылка здесь работает, так как я столкнулся с теми же проблемами, что и вы:
www.ostechnix.com/download-packages-dependencies-locally-ubuntu/
Примерно это работает так (замените ключевое слово python на имя вашей зависимости, для меня это было network-manager, и это сработало хорошо):
$ sudo apt-cache depend python
выведет список всех зависимостей pythonВывод:
python
PreDepends: python-минимальный
Зависит: python2.7
Зависит: libpython-stdlib
Конфликты:
Создайте каталог где-нибудь в рабочей области:
mkdir python
Перейдите в этот каталог:
cd python
Запустите цикл foreach для каждой зависимости для всех рекомендуемых, предложенных и зависящих пакетов и направьте ошибки в файл errors.txt:
$ for i in $(apt-cache depend python | grep -E 'Зависит|Рекомендует|Предлагает' | cut -d ':' -f 2,3 | sed -es/'<'/''/ -es/'>'/''/); выполните sudo apt-get download $i 2>>errors.txt; done
В файле errors.txt должны быть какие-то предупреждения "W:" о не сброшенных
привилегии, которые вы можете игнорировать, так как это не влияет на
загруженные результаты, которые вы можете подтвердить, набрав $ls -la
, когда вы
можете убедиться сами, что каждый файл на месте, о котором предупреждали
for (и поскольку вам, вероятно, не нужны привилегии для этого шага).
После принесения файлов i.E. с USB-накопителем к целевому устройству, вы можете продолжить с
$ sudo dpkg -i *
в соответствующем (зависимом) каталоге (в данном случае python
и вы сможете установить файлы.