破損したパケットシステムの回復(apt-get)

破損したパケットシステムの回復(apt-get)

Debian コンピュータでシステムアップグレード (apt-get アップグレード) を実行した後、apt-get を使用しようとするたびにエラーが発生します。例:

# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up initscripts (2.88dsf-41+deb7u1) ...
insserv: Service killprocs has to be enabled to start service single
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
dpkg: error processing initscripts (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initscripts
E: Sub-process /usr/bin/dpkg returned an error code (1)

解決策を見つけようとしましたが、似たようなものが見つかりませんでした。まず、「完全にインストールまたは削除されていない」パッケージがありました。しかし、それを見つけるためのコマンドが見つかりません。試験を終えた:

dpkg -l | grep rc

しかし、約20個のパケットがリストされているので、このパケットを見つけるより良い方法があります。

パケットシステムを修正するために、次の一般的な手順を試しました。

apt-get clean && sudo apt-get autoremove 
apt-get -f install
dpkg --configure -a

cleanコマンドは問題ありませんが、上記のようにinstallコマンドは失敗します。

必死にinsservを再インストールしてみましたが(パケットが破損しているかどうかはわかりません)、まだ同じ方法で失敗しました。

# apt-get install --reinstall insserv
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 8 not upgraded.
1 not fully installed or removed.
Need to get 63.8 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://ftp.us.debian.org/debian/ wheezy/main insserv armel 1.14.0-5 [63.8 kB]
Fetched 63.8 kB in 0s (85.5 kB/s)
Setting up initscripts (2.88dsf-41+deb7u1) ...
insserv: Service killprocs has to be enabled to start service single
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
dpkg: error processing initscripts (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initscripts
E: Sub-process /usr/bin/dpkg returned an error code (1)

ベストアンサー1

/etc/rc1.d/S01killprocs -> ../init.d/killprocsなくなった、きっと中にいたinitscripts

しかし、insservそれは必要です。確認が必要です

たぶん手動でインストールし、.deb別のディレクトリに解凍して正しい場所にコピーすることもできます。

dpkg -x /var/cache/apt/archives/initscripts_2.88dsf-41_i386.deb /tmp/somedir

2.88dsf-41_i386私のバージョンです。あなたのバージョンを使用してください:-)

編集する

手動で操作した場合は、通常どおり再インストールしてください。

おすすめ記事