#docker #ros
#docker #ros
Вопрос:
Я пытаюсь получить некоторые пакеты ros в docker. У меня есть такая команда, как:
RUN apt-get update amp;amp; cat /srv/hm_ros.system | xargs apt-get install -y --no-install-recommends amp;amp;
rm -rf /var/lib/apt/lists/* amp;amp; apt-get clean
где hm_ros.system — это файл, содержащий:
python3-rosinstall
ros-noetic-fkie-multimaster
ros-noetic-mavlink
ros-noetic-pcl-ros
ros-noetic-robot-state-publisher
ros-noetic-ros-base
ros-noetic-rosbridge-suite
ros-noetic-rosserial
ros-noetic-tf
ros-noetic-unique-id
ros-noetic-urdf
ros-noetic-xacro
Но я всегда получаю ошибку:
E: Не удалось выполнить выборку http://packages.ros.org/ros/ubuntu/po … Неопределенная ошибка [IP: 64.50.236.52 80] E: не удается получить некоторые архивы, возможно, запустите apt-get update или попробуйте с —fix-missing?
Другие пакеты, похоже, были найдены успешно. Примечание, до этого у меня есть:
RUN apt-get clean amp;amp; apt-get update amp;amp; apt-get install -y --no-install-recommends lsb-release gnupg2 amp;amp;
DEBIAN_FRONTEND="noninteractive" apt-get -y --no-install-recommends install tzdata
amp;amp; apt-get clean amp;amp; rm -rf /var/lib/apt/lists/*
RUN add-apt-repository universe amp;amp; add-apt-repository multiverse
RUN echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" >> /etc/apt/sources.list.d/ros-latest.list amp;amp;
apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Еще один интерес, если я установлю его автономно, т.Е..:
RUN apt-get update amp;amp; apt-get install -y --no-install-recommends ros-noetic-pcl-ros amp;amp;
rm -rf /var/lib/apt/lists/* amp;amp; apt-get clean
Тогда эта проблема не возникает, и даже несмотря на то, что существует почти 1 ГБ зависимостей.
Есть какие-нибудь идеи, почему это может произойти?
Ответ №1:
Хотя я до сих пор не знаю причины этого, ее можно решить, используя следующую команду установки:
sudo apt-get
-o Acquire::BrokenProxy="true"
-o Acquire::http::No-Cache="true"
-o Acquire::http::Pipeline-Depth="0"
install -y
package ...