728x90
수행 동작
ROS2 설치 중 아래 명령어 수행.
$ sudo apt update && sudo apt install -y \
build-essential \
cmake \
git \
libbullet-dev \
python3-colcon-common-extensions \
python3-flake8 \
python3-pip \
python3-pytest-cov \
python3-rosdep \
python3-setuptools \
python3-vcstool \
wget
에러 내용
아마도 기존에 Ubuntu에 설치해둔 다른 패키지이나 찌꺼기 파일 때문에 설치가 꼬인 것 같습니다.
콘솔에서는 sudo apt --fix-broken install 명령어를 통해 해결하라고 안내를 해주지만 해당 명령어로 해결이 안 되는 상황이었습니다.
Preparing to unpack .../python3-catkin-pkg-modules_0.4.23-1_all.deb ...
Unpacking python3-catkin-pkg-modules (0.4.23-1) ...
dpkg: error processing archive /var/cache/apt/archives/python3-catkin-pkg-modules_0.4.23-1_all.deb (--unpack):
trying to overwrite '/usr/lib/python3/dist-packages/catkin_pkg/__init__.py', which is also in package python3-catkin-pkg 0.4.16 -1
Preparing to unpack .../python3-rospkg-modules_1.2.10-1_all.deb ...
Unpacking python3-rospkg-modules (1.2.10-1) ...
dpkg: error processing archive /var/cache/apt/archives/python3-rospkg-modules_1.2.10-1_all.deb (--unpack):
trying to overwrite '/usr/lib/python3/dist-packages/rospkg/__init__.py', which is also in package python3-rospkg 1.2.3-1
Preparing to unpack .../python3-rosdistro-modules_0.8.3-1_all.deb ...
Unpacking python3-rosdistro-modules (0.8.3-1) ...
dpkg: error processing archive /var/cache/apt/archives/python3-rosdistro-modules_0.8.3-1_all.deb (--unpack):
trying to overwrite '/usr/lib/python3/dist-packages/rosdistro/__init__.py', which is also in package python3-rosdistro 0.8.0-1
Errors were encountered while processing:
/var/cache/apt/archives/python3-catkin-pkg-modules_0.4.23-1_all.deb
/var/cache/apt/archives/python3-rospkg-modules_1.2.10-1_all.deb
/var/cache/apt/archives/python3-rosdistro-modules_0.8.3-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
해결책
위에서 에러가 난 파일들에 대해 dpkg -i --force-overwrite 를 수행해준 후 해결할 수 있었습니다.
$ cd /var/cache/apt/archives
$ sudo dpkg -i --force-overwrite python3-catkin-pkg-modules_0.4.23-1_all.deb
$ sudo dpkg -i --force-overwrite python3-rosdistro-modules_0.8.3-1_all.deb
$ sudo dpkg -i --force-overwrite python3-rospkg-modules_1.2.10-1_all.deb
$ sudo apt-get -f install
스터디
dpkg 명령어는 .deb 패키지의 설치, 삭제, 정보 제공을 위해 사용됩니다.
dpkg -i <.deb file> 옵션은 .deb 파일을 설치하거나 최신 버전으로 업그레이드 합니다. 이 과정을 --force-overwrite 플래그를 통해 강제로 수행하게 한 것입니다.
apt-get -f install 명령어는 의존성이 깨진 package들을 확인하고 수정합니다.
'환경설정 > Ubuntu' 카테고리의 다른 글
Ubuntu 20.40에 GIT 설치, 정보 설정 및 Github 에서 소스 가져오기 (1) | 2021.03.14 |
---|---|
Ubuntu 20.04 사용자 추가, sudo 권한 부여 (adduser, usermod, userdel) (0) | 2021.03.13 |
Ubuntu 절전 모드 시 네트워크 끊김 문제 해결 방법 (0) | 2021.03.08 |
Ubuntu 20.04 원격 데스크탑 접속 (VNC) (2) | 2021.03.08 |
Ubuntu SSH(Secure Shell) 설정 및 접속 ~putty, mobaXterm~ (0) | 2021.02.27 |