docker ros-pcl 的 apt-get 中的未确定错误 (109)
Undetermined error (109) in docker apt-get for ros-pcl
我正在尝试在 docker 中获取一些 ros 包。我有这样的命令:
RUN apt-get update && cat /srv/hm_ros.system | xargs apt-get install -y --no-install-recommends && \
rm -rf /var/lib/apt/lists/* && 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: Failed to fetch http://packages.ros.org/ros/ubuntu/po... Undetermined Error [IP: 64.50.236.52 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
其他包好像都找到了。请注意,在此之前我有:
RUN apt-get clean && apt-get update && apt-get install -y --no-install-recommends lsb-release gnupg2 && \
DEBIAN_FRONTEND="noninteractive" apt-get -y --no-install-recommends install tzdata \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN add-apt-repository universe && 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 && \
apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
更有趣的是,如果我单独安装它,即:
RUN apt-get update && apt-get install -y --no-install-recommends ros-noetic-pcl-ros && \
rm -rf /var/lib/apt/lists/* && apt-get clean
然后就不会出现这个问题了,虽然有将近1gb的依赖。
知道为什么会发生这种情况吗?
虽然我还不知道是什么原因,但是可以使用下面的安装命令解决:
sudo apt-get \
-o Acquire::BrokenProxy="true" \
-o Acquire::http::No-Cache="true" \
-o Acquire::http::Pipeline-Depth="0" \
install -y \
package ...
我正在尝试在 docker 中获取一些 ros 包。我有这样的命令:
RUN apt-get update && cat /srv/hm_ros.system | xargs apt-get install -y --no-install-recommends && \
rm -rf /var/lib/apt/lists/* && 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: Failed to fetch http://packages.ros.org/ros/ubuntu/po... Undetermined Error [IP: 64.50.236.52 80] E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
其他包好像都找到了。请注意,在此之前我有:
RUN apt-get clean && apt-get update && apt-get install -y --no-install-recommends lsb-release gnupg2 && \
DEBIAN_FRONTEND="noninteractive" apt-get -y --no-install-recommends install tzdata \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN add-apt-repository universe && 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 && \
apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
更有趣的是,如果我单独安装它,即:
RUN apt-get update && apt-get install -y --no-install-recommends ros-noetic-pcl-ros && \
rm -rf /var/lib/apt/lists/* && apt-get clean
然后就不会出现这个问题了,虽然有将近1gb的依赖。 知道为什么会发生这种情况吗?
虽然我还不知道是什么原因,但是可以使用下面的安装命令解决:
sudo apt-get \
-o Acquire::BrokenProxy="true" \
-o Acquire::http::No-Cache="true" \
-o Acquire::http::Pipeline-Depth="0" \
install -y \
package ...