나는 이것이 일반적인 오류 메시지라는 것을 알고 있지만 무슨 일이 일어나고 있는지 해독할 수 없습니다. 왜 Apache가 업데이트를 원하지 않습니까?
(Reading database ... 50302 files and directories currently installed.)
Unpacking apache2-bin (from .../apache2-bin_2.4.16-4+deb.sury.org~precise+4_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/apache2-bin_2.4.16-4+deb.sury.org~precise+4_i386.deb (--unpack):
trying to overwrite '/usr/share/man/man8/apache2.8.gz', which is also in package apache2.2-common 2.2.22-1ubuntu1.8
dpkg-deb (subprocess): subprocess data was killed by signal (Broken pipe)
dpkg-deb: error: subprocess <decompress> returned error exit status 2
Preparing to replace e2fslibs 1.42-1ubuntu2.2 (using .../e2fslibs_1.42-1ubuntu2.3_i386.deb) ...
Unpacking replacement e2fslibs ...
Processing triggers for man-db ...
Errors were encountered while processing:
/var/cache/apt/archives/apache2-bin_2.4.16-4+deb.sury.org~precise+4_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
답변1
실제 오류는 다음과 같습니다.
"apache2.2-common 2.2.22-1ubuntu1.8 패키지에도 있는 '/usr/share/man/man8/apache2.8.gz'를 덮어쓰려고 합니다."
일부 타사 저장소의 패키지와 우분투 자체의 패키지 간에 파일 충돌이 있는 것 같습니다. 이것은 단지 맨페이지이므로 강제로 설치하는 것이 좋습니다.
dpkg -i --force-overwrite /var/cache/apt/archives/apache2-bin_2.4.16-4+deb.sury.org~precise+4_i386.deb
답변2
기본적으로 dpkg
다른 패키지에 속한 파일은 덮어쓰여지지 않으며, 패키지 이름이 바뀌거나 패키지 컬렉션이 재구성되면 특정 패키지에 있는 파일의 "소유권"이 변경될 수 있습니다.
apt-get
다음과 같은 옵션을 사용하여 실행 해야 합니다 -o Dpkg::Options::="--force-overwrite"
.
apt-get -o Dpkg::Options::="--force-overwrite" ...
/etc/apt/apt.conf
또는 다음과 같이 파일에 추가하여 영구적으로 만들 수 있습니다 /etc/apt/apt.conf.d/
.
DPkg { Options {"--force-overwrite";} };