패키지 관리에 문제가 있습니다.
어느 시점에서 bluez 패키지가 손상되었기 때문에 업데이트 등을 중단한 것 같습니다. 제거 및/또는 재설치를 시도했지만 오류만 발생했습니다. 이 패키지가 손상된 한 apt로는 아무것도 할 수 없습니다.
패키지의 출력을 제거해 보았습니다.
$ sudo aptitude remove bluez
The following packages will be REMOVED:
bluez
The following partially installed packages will be configured:
dictionaries-common dmsetup grub-pc ifupdown install-info rsyslog
0 packages upgraded, 0 newly installed, 1 to remove and 235 not upgraded.
Need to get 0 B of archives. After unpacking 1,737 kB will be freed.
dpkg: error processing bluez (--remove):
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.
configured to not write apport reports
Errors were encountered while processing:
bluez
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:
Setting up install-info (4.13a.dfsg.1-8) ...
/var/lib/dpkg/info/install-info.postinst: 32: /var/lib/dpkg/info/install-info.postinst: update-info-dir: not found
dpkg: error processing install-info (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up ifupdown (0.7~alpha5+really0.6.15) ...
/var/lib/dpkg/info/ifupdown.postinst: 122: /var/lib/dpkg/info/ifupdown.postinst: update-rc.d: not found
dpkg: error processing ifupdown (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up locales (2.13-18) ...
/var/lib/dpkg/info/locales.postinst: 64: /var/lib/dpkg/info/locales.postinst: locale-gen: not found
dpkg: error processing locales (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up dictionaries-common (1.11.6) ...
/var/lib/dpkg/info/dictionaries-common.postinst: 45: /var/lib/dpkg/info/dictionaries-common.postinst: update-dictcommon-aspell: not found
dpkg: error processing dictionaries-common (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up grub-pc (1.99-12) ...
/var/lib/dpkg/info/grub-pc.postinst: line 438: grub-mkdevicemap: command not found
/var/lib/dpkg/info/grub-pc.postinst: line 263: grub-probe: command not found
/var/lib/dpkg/info/grub-pc.postinst: line 263: grub-probe: command not found
/var/lib/dpkg/info/grub-pc.postinst: line 263: grub-probe: command not found
/var/lib/dpkg/info/grub-pc.postinst: line 559: grub-install: command not found
/var/lib/dpkg/info/grub-pc.postinst: line 669: update-grub: command not found
dpkg: error processing grub-pc (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up dmsetup (2:1.02.65-1) ...
/var/lib/dpkg/info/dmsetup.postinst: 8: /var/lib/dpkg/info/dmsetup.postinst: update-initramfs: not found
dpkg: error processing dmsetup (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up rsyslog (5.8.5-1) ...
/var/lib/dpkg/info/rsyslog.postinst: 45: /var/lib/dpkg/info/rsyslog.postinst: update-rc.d: not found
dpkg: error processing rsyslog (--configure):
subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
install-info
ifupdown
locales
dictionaries-common
grub-pc
dmsetup
rsyslog
데비안 테스트를 실행 중입니다. 이 문제는 실제로 이 특정 패키지의 문제입니까, 아니면 dpkg의 문제입니까? 패키지 관리자를 수정하려면 어떻게 해야 합니까?
답변1
이전에 이 메시지를 본 적이 없으므로 bluez에만 해당되는 것으로 추측됩니다. 메시지에 따라 다시 설치해 보셨나요?
apt-get install --reinstall bluez
dpkg를 사용하여 apt 캐시에서 bluez 패키지를 설치/구성해 볼 수도 있습니다. /var/cache/apt에서 bluez 패키지를 찾으세요. 다음과 같이 설치합니다(루트로).
dpkg -i <bluez debian package>
답변2
sudo dpkg-reconfigure <packages> --force
이어서
sudo dpkg --purge --force-all <packages>
답변3
/usr/sbin
우연의 일치 일 수도 있지만 모든 오류는 update-info-dir
, update-rc.d
, locale-gen
, update-dictcommon-aspell
, grub-mkdevicemap
, grub-probe
, grub-install
, update-grub
, 및 prerm의 프로그램 호출과 관련이 있습니다 .update-initramfs
update-rc.d
invoke-rc.d
bluez
/usr/sbin
가장 먼저 확인해야 할 것은 /usr/sbin
root 에 있는지 여부입니다. 그러나 그렇지 않은 경우 일반적으로 큰 소리로 불평하므로 PATH
문제가 될 가능성은 없습니다 . dpkg
실제로 squeeze부터 시작하면 dpkg가 update-rc.d
dpkg에서 찾을 수 없으면 큰 소리로 불평을 하는데 , postinst가 불평하지 않아도 실행 파일을 찾지 못하는 PATH
것이 이상합니다 .rsyslog
dpkg
이 명령을 루트로 실행하면 어떻게 되나요?
type update-rc.d
ls -l /usr/sbin/update-rc.d
file /usr/sbin/update-rc.d
update-rc.d --help
file /bin/sh
이러한 명령의 결과에 따라 수정 사항이 제안될 수 있습니다. 흥미로운 단서를 찾았지만 그 의미를 알 수 없는 경우 질문을 편집하여 이 정보를 추가하세요. 또한 시스템에 대한 "비정상적인" 사항(SELinux, chroot, 이중 아키텍처 설치...)을 보고하십시오.
답변4
bluez
여기에는 패키지와 관련된 오류뿐만 아니라 몇 가지 오류가 있는 것 같습니다 .
이를 실행하면 aptitude remove
여러 패키지 구성이 진행되며, 대부분은 기본 시스템 기능(예: grub, ifupdown)을 구현합니다. 이는 업데이트가 중단되었거나 업데이트 완료를 방해하는 일부 디스크/파일 시스템 오류가 있음을 나타냅니다. 깨끗하게.
즉, 깔끔하게 업데이트되지 않은 나머지 패키지는 더 큰 문제의 징후일 수 있습니다. 실제로 귀하가 게시한 로그에는 다음과 같은 내용이 나와 있습니다.
/var/lib/dpkg/info/install-info.postinst: 32: /var/lib/dpkg/info/install-info.postinst: update-info-dir: not found
dpkg: error processing install-info (--configure):
subprocess installed post-installation script returned error exit status 127
따라서 찾을 수 없기 때문에 구성을 install-info
완료할 수 없습니다. update-info-dir
이 맥락에서 "찾을 수 없음"은 "실행할 수 없음"을 의미할 수도 있습니다. 마찬가지로 다른 패키지도 다음 프로그램을 찾을 수 없기 때문에 실패합니다.
grub-install, grub-mkdevicemap, grub-probe, locale-gen,
update-dictcommon-aspell, update-grub, update-info-dir,
update-initramfs, update-rc.d
내 시스템에서는 누락된 파일이 다음 패키지에서 설치되었습니다.
================================== ===================
File location Package
================================== ===================
/usr/sbin/update-dictcommon-aspell dictionaries-common
/usr/sbin/grub-mkdevicemap grub-common
/usr/sbin/grub-probe grub-common
/usr/lib/grub-legacy/update-grub grub-pc
/usr/sbin/grub-install grub-pc
/usr/sbin/update-grub grub-pc
/usr/sbin/update-initramfs initramfs-tools
/usr/sbin/update-info-dir install-info
/usr/sbin/locale-gen locales
/usr/sbin/update-rc.d sysv-rc
첫 번째 디버깅 단계로 파일이 실제로 존재하는지, 읽을 수 있고 실행 가능한지 확인하겠습니다.
다음으로 다음 옵션을 각각 실행해 보십시오 --help
. 제대로 실행됩니까?
aptitude reinstall grub-pc grub-common
위의 두 테스트가 모두 성공적으로 완료되면 sysv-rc, initramfs-tools, grub-pc 및 grub-common( )부터 시작하여 이러한 패키지를 다시 설치해야 할 수 있습니다 .
부품이 작동하면 정상으로 aptitude reinstall bluez
돌아가서 bluez
제거할 수 있습니다.