나는 보았다Debian Jessie - dpkg/apt 설치, 업데이트 및 제거가 깨졌습니다.대조적으로, Python은 여기서 매우 잘 작동합니다.
[$] ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Jun 3 20:09 /usr/bin/python -> python2.7
시스템 업데이트/업그레이드를 거의 불가능하게 만드는 소프트웨어 패키지가 3~4개 있습니다.
[$] sudo dpkg --audit cme libconfig-model-perl libconfig-model-dpkg-perl fonts-arphic-uming
The following packages are in a mess due to serious problems during
installation. They must be reinstalled for them (and any packages
that depend on them) to function properly:
cme Check or edit configuration data with Config::Model
fonts-arphic-uming (no description available)
libconfig-model-dpkg-perl editor for Dpkg source files with validation
libconfig-model-perl module for describing and editing configuration data
The following packages are missing the list control file in the
database, they need to be reinstalled:
fonts-arphic-uming (no description available)
The following packages are missing the md5sums control file in the
database, they need to be reinstalled:
fonts-arphic-uming (no description available)
적성을 통해 패키지를 다시 설치하려고 시도했는데 다음과 같은 결과를 얻었습니다.
[$] sudo aptitude reinstall cme libconfig-model-perl libconfig-model-dpkg-perl fonts-arphic-uming
The following packages will be REINSTALLED:
cme fonts-arphic-uming libconfig-model-dpkg-perl libconfig-model-perl
0 packages upgraded, 0 newly installed, 4 reinstalled, 0 to remove and 29 not upgraded.
E: Can't find a source to download version '2.092-1' of 'libconfig-model-perl:amd64'
After unpacking 0 B will be used.
E: Can't find a source to download version '2.092-1' of 'libconfig-model-perl:amd64'
E: Internal error: couldn't generate list of packages to download
libconfig-model-perl
공유하는 것을 잊어버렸습니다 . 바이너리 패키지를 다운로드하여 snapshots.debian.org
설치하려고 했는데 다음 메시지가 나타납니다.
[$] sudo dpkg -i libconfig-model-perl_2.092-1_all.deb
[sudo] password for shirish:
D000001: ensure_diversions: new, (re)loading
D000001: ensure_statoverrides: new, (re)loading
(Reading database ... 1205324 files and directories currently installed.)
Preparing to unpack libconfig-model-perl_2.092-1_all.deb ...
D000001: process_archive oldversionstatus=broken due to postinst failure
dpkg-maintscript-helper: error: version '2.075-2~' is not valid
dpkg: warning: subprocess old pre-removal script returned error exit status 1
dpkg: trying script from the new package instead ...
dpkg-maintscript-helper: error: version '2.075-2~' is not valid
dpkg: error processing archive libconfig-model-perl_2.092-1_all.deb (--install):
subprocess new pre-removal script returned error exit status 1
D000001: ensure_diversions: same, skipping
dpkg-maintscript-helper: error: version '2.070-1~' is not valid
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 1
D000001: ensure_diversions: same, skipping
D000001: cmpversions a='0:2016.03.30' b='0:2016.05.24' r=-2
D000001: cmpversions a='0:1.18.14' b='0:1.16' r=2
D000001: cmpversions a='0:1.18.14' b='0:1.16' r=2
D000001: cmpversions a='0:1.18.14' b='0:1.16' r=2
Errors were encountered while processing:
libconfig-model-perl_2.092-1_all.deb
혼란스러워요. 누가 도와줄 수 있나요?
mysources.list -
[$] cat /etc/apt/sources.list
#### testing #########
deb http://httpredir.debian.org/debian/ testing main contrib non-free
deb-src http://httpredir.debian.org/debian testing main contrib non-free
#### unstable #########
deb http://httpredir.debian.org/debian unstable main contrib non-free
deb-src http://httpredir.debian.org/debian unstable main contrib
#### experimental #########
deb http://httpredir.debian.org/debian experimental main contrib
deb-src http://httpredir.debian.org/debian experimental main contrib
##### Debug packages #######
deb http://debug.mirrors.debian.org/debian-debug/ testing-debug main
deb http://debug.mirrors.debian.org/debian-debug/ unstable-debug main
deb http://debug.mirrors.debian.org/debian-debug/ experimental-debug main
DPkG 버전 -
[$] apt-cache policy dpkg
dpkg:
Installed: 1.18.14
Candidate: 1.18.14
Version table:
1.18.15 1
1 http://httpredir.debian.org/debian unstable/main amd64 Packages
*** 1.18.14 600
600 http://httpredir.debian.org/debian testing/main amd64 Packages
100 /var/lib/dpkg/status
Stephen의 제안에 따라 다음과 같은 작업이 수행되었습니다.
[$] sudo rm /var/lib/dpkg/info/libconfig-model-perl.prerm
이전 패키지를 설치해보십시오 -
┌─[shirish@debian] - [~] - [5108]
└─[$] sudo dpkg -i libconfig-model-perl_2.092-1_all.deb
D000001: ensure_diversions: new, (re)loading
D000001: ensure_statoverrides: new, (re)loading
(Reading database ... 1205324 files and directories currently installed.)
Preparing to unpack libconfig-model-perl_2.092-1_all.deb ...
D000001: process_archive oldversionstatus=broken due to postinst failure
dpkg-maintscript-helper: error: version '2.070-1~' is not valid
dpkg: error processing archive libconfig-model-perl_2.092-1_all.deb (--install):
subprocess new pre-installation script returned error exit status 1
D000001: ensure_diversions: same, skipping
dpkg-maintscript-helper: error: version '2.075-2~' is not valid
dpkg: error while cleaning up:
subprocess new post-removal script returned error exit status 1
D000001: ensure_diversions: same, skipping
D000001: cmpversions a='0:2016.03.30' b='0:2016.05.24' r=-2
D000001: cmpversions a='0:1.18.14' b='0:1.16' r=2
D000001: cmpversions a='0:1.18.14' b='0:1.16' r=2
D000001: cmpversions a='0:1.18.14' b='0:1.16' r=2
Errors were encountered while processing:
libconfig-model-perl_2.092-1_all.deb
더 이상 아이디어가 있는 사람이 있나요?
손상된 패키지를 검색해도 결과가 없습니다.
[$] alias aptb
aptb='aptitude search '\''~b'\'
그리고 검색해 보세요——
┌─[shirish@debian] - [~] - [5109]
└─[$] aptb
┌─[shirish@debian] - [~] - [5110]
이런 일은 일어나면 안 되지, 그렇지?
보시다시피 dpkg-debug를 켰습니다.
┌─[shirish@debian] - [~] - [4998]
└─[$] cat /etc/dpkg/dpkg.cfg
# dpkg configuration file
#
# This file can contain default options for dpkg. All command-line
# options are allowed. Values can be specified by putting them after
# the option, separated by whitespace and/or an `=' sign.
#
debug=1
# Do not enable debsig-verify by default; since the distribution is not using
# embedded signatures, debsig-verify would reject all packages.
no-debsig
# Log status changes and actions to a file.
log /var/log/dpkg.log
하지만 여전히 스티븐이 요청한 대로 했습니다.
┌─[shirish@debian] - [~] - [5126]
└─[$] su -
Password:
root@debian:~# DPKG_DEBUG=1 dpkg -i libconfig-model-perl_2.092-1_all.deb
dpkg: error: cannot access archive 'libconfig-model-perl_2.092-1_all.deb': No such file or directory
root@debian:~# pwd
/root
root@debian:~# cd /home/shirish
root@debian:/home/shirish# DPKG_DEBUG=1 dpkg -i libconfig-model-perl_2.092-1_all.deb
D000001: ensure_diversions: new, (re)loading
D000001: ensure_statoverrides: new, (re)loading
(Reading database ... 1205324 files and directories currently installed.)
Preparing to unpack libconfig-model-perl_2.092-1_all.deb ...
D000001: process_archive oldversionstatus=broken due to failed removal or installation
dpkg-maintscript-helper: error: version '2.070-1~' is not valid
dpkg: error processing archive libconfig-model-perl_2.092-1_all.deb (--install):
subprocess new pre-installation script returned error exit status 1
D000001: ensure_diversions: same, skipping
dpkg-maintscript-helper: error: version '2.075-2~' is not valid
dpkg: error while cleaning up:
subprocess new post-removal script returned error exit status 1
D000001: ensure_diversions: same, skipping
D000001: cmpversions a='0:2016.03.30' b='0:2016.05.24' r=-2
D000001: cmpversions a='0:1.18.14' b='0:1.16' r=2
D000001: cmpversions a='0:1.18.14' b='0:1.16' r=2
D000001: cmpversions a='0:1.18.14' b='0:1.16' r=2
Errors were encountered while processing:
libconfig-model-perl_2.092-1_all.deb
이전 버전의 dpkg를 사용하면 패키지를 설치할 수 있었고 문제가 나타나지 않았습니다.
┌─[shirish@debian] - [~] - [5168]
└─[$] sudo dpkg --audit cme libconfig-model-perl libconfig-model-dpkg-perl fonts-arphic-uming
┌─[shirish@debian] - [~] - [5169]
혹시라도 예상치 못한 일이 생길까봐 하루 동안 열어두겠습니다. 그동안 모든 것을 업그레이드할 예정 dpkg
이지만 마지막에는 이 작업을 수행합니다.
답변1
다음에서 다시 설치해 볼 수 있습니다.스냅 사진;적절한 버전을 찾을 수 있습니다libconfig-model-perl
거기:
wget http://snapshot.debian.org/archive/debian/20160924T233848Z/pool/main/libc/libconfig-model-perl/libconfig-model-perl_2.092-1_all.deb
sudo dpkg -i libconfig-model-perl_2.092-1_all.deb
dpkg-maintscript-helper
현재 버전에서 겪고 있는 버그를 고려하면 dpkg
심각하게 혼란스러운 또 다른 문제가 있을 수 있습니다. 다시 설치 하려면 스크립트를 libconfig-model-perl
제거 하고 패키지를 다시 설치하세요.prerm
sudo rm /var/lib/dpkg/info/libconfig-model-perl.prerm
sudo dpkg -i libconfig-model-perl_2.092-1_all.deb
그래도 작동하지 않으면 dpkg
다음으로 다운그레이드 해 보세요.버전 1.18.10, 이는 실패한 버전 확인이 도입되기 전에 출시된 마지막 버전이었습니다. 이 작업을 완료한 후 libconfig-model-perl
다시 설치해 보세요. 버전 확인은 실패하지 않으며 유지관리자 스크립트는 더 이상 어려움 없이 완료됩니다.
완료되면 aptitude reinstall ...
다시 시도하고 필요한 경우 스냅샷에서 누락된 다른 패키지를 다시 설치하세요.