以下の最小限のファイルがありますsources.list
。
root@c:~# cat /etc/apt/sources.list
deb http://ftp.fi.debian.org/debian/ wheezy main
root@c:~# apt-get update
Hit http://ftp.fi.debian.org wheezy Release.gpg
Hit http://ftp.fi.debian.org wheezy Release
Hit http://ftp.fi.debian.org wheezy/main i386 Packages
Hit http://ftp.fi.debian.org wheezy/main Translation-en
Reading package lists... Done
root@c:~#
パッケージをインストールしようとすると分割エラーが発生します。たとえば、
root@c:~# apt-get install tcpdump
Reading package lists... Done
Building dependency tree
Reading state information... Done
Segmentation fault
root@c:~#
次の/var/log/messages
項目が記録されました。
Mar 29 05:46:25 c kernel: [ 4677.384747] apt-get[5607]: segfault at b8647e30 ip b8647e30 sp bfaaa9c8 error 14
最後の(sp)数は常に変更されます。つまり、3回実行すると、apt-get install nmap
次が記録されます。
Mar 29 05:46:59 c kernel: [ 4711.046400] apt-get[5612]: segfault at b86cbe30 ip b86cbe30 sp bfb36ea8 error 14
Mar 29 05:47:02 c kernel: [ 4714.229648] apt-get[5616]: segfault at b8609e30 ip b8609e30 sp bfcecec8 error 14
Mar 29 05:47:03 c kernel: [ 4715.505656] apt-get[5620]: segfault at b86dae30 ip b86dae30 sp bfb4b588 error 14
別のリポジトリを試して、検索されたパッケージファイルのローカルリポジトリをクリーンアップしました。パッケージのインストール時にセグフォルトが発生するのはなぜですか?私のものがapt-get
故障しましたか?
ベストアンサー1
使ってみましたか?ストレス問題を診断しますか?
google-earthパッケージに関連すると思われる同様の問題がありました。パッケージのメタデータの内容により、apt-get(またはaptシステムの一部のコンポーネント)がsegfaultを生成しました。
私はこれを使ってこれを見つけました:
sudo strace -f apt-get update >log.strace-aptget 2>&1
ログファイルを見ると、ファイルを読んだ後に/var/lib/apt/lists/dl.google.com_linux_earth_deb_dists_stable_Release
apt-getがmremap()
segfaultを引き起こすことをすることがわかります。 resources.list(実際には)のgoogle-earthエントリをコメントアウトし、/etc/apt/sources.list.d/google-earth.list
apt-getが正しく機能するようになりました。 (もちろん今はgoogle-earthを更新できませんが、少なくともapt-getは機能します。)