[Ubuntu] apt install 중 E: Sub-process /usr/bin/dpkg returned an error code (1) 에러 해결 사례
-
본 포스팅에서는 E: Sub-process /usr/bin/dpkg returned an error code (1) 에러가 발생했을 때의 해결 사례를 보여줍니다. 기존에 설치되어 있는 Node.js의 버전 업을 시키는 과정에서 에러가 발생하였고, 에러를 해결하는 과정을 공유해보겠습니다.
스크립트를 실행시킨 후 다시 nodejs를 설치하는 과정에서 다음과 같은 에러가 발생하였습니다.
$ sudo apt install -y nodejs
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
nodejs
0 upgraded, 1 newly installed, 0 to remove and 60 not upgraded.
Need to get 0 B/27.2 MB of archives.
After this operation, 128 MB of additional disk space will be used.
(Reading database ... 66829 files and directories currently installed.)
Preparing to unpack .../nodejs_16.20.0-deb-1nodesource1_amd64.deb ...
Unpacking nodejs (16.20.0-deb-1nodesource1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_16.20.0-deb-1nodesource1_amd64.deb (--unpack):
trying to overwrite '/usr/share/systemtap/tapset/node.stp', which is also in package libnode72:amd64 12.22.9~dfsg-1ubuntu3
Errors were encountered while processing:
/var/cache/apt/archives/nodejs_16.20.0-deb-1nodesource1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
에러 해결
해당 에러는 /var/cache/apt/archives/nodejs_16.20.0-deb-1nodesource1_amd64.deb 패키지를 설치하려고 할 때 충돌로 인해 발생한 것으로 보입니다. 충돌의 원인은 libnode-dev 패키지와의 파일 중복입니다.
에러를 해결하기 위해서는 libnode-dev 패키지를 강제로 제거하고, 에러가 발생한 패키지를 다시 설치합니다.
$ sudo apt install -y nodejs
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
nodejs
0 upgraded, 1 newly installed, 0 to remove and 60 not upgraded.
Need to get 0 B/27.2 MB of archives.
After this operation, 128 MB of additional disk space will be used.
(Reading database ... 66824 files and directories currently installed.)
Preparing to unpack .../nodejs_16.20.0-deb-1nodesource1_amd64.deb ...
Unpacking nodejs (16.20.0-deb-1nodesource1) ...
Setting up nodejs (16.20.0-deb-1nodesource1) ...
Processing triggers for man-db (2.10.2-1) ...
$ node -v
v16.20.0
충돌난 패키지들을 강제로 제거하고, 패키지 업데이트하여 다시 설치하여 문제를 해결하였습니다.