でびあんの initrd (11)
scripts/init-bottom/udev の中身を見ているに nuke というコマンドを発見。なんとなく意味てきに_消す_なんでしょうが、rm を簡単に作った、という理解で良いのでしょうか。
と言いつつ晩メシの買い物中にソース見れば良いとゆー事に気づく。
とりあえず initramfs-tools 見てみるか、と言いつつソース取得して中身見てみたのですが nuke の元になるような c のソースはない。
busybox の中かな、と言いつつこれもソース持ってきてみたんですが微妙。困りつつ mkinitramfs を file してみたら
$ file mkinitramfs mkinitramfs: Bourne shell script text executable $
との事にて中身を確認したら以下なソレがあった。
# klibc ln -s /usr/lib/klibc/bin/* ${DESTDIR}/bin ln -s /lib/klibc-*.so ${DESTDIR}/lib rm -f ${DESTDIR}/bin/kinit ${DESTDIR}/bin/gzip
なんで symlink なんだろ、と言いつつ klibc なパケジを search
$ apt-cache search klibc initramfs-tools - tools for generating an initramfs klibc-utils - small statically-linked utilities built with klibc libklibc - minimal libc subset for use with initramfs libklibc-dev - kernel headers used during the build of klibc $
中身を見てみる
$ dpkg -L libklibc /. /lib /lib/klibc-rOj3PRLKBA9FcF5ZuoqKQLmOWcA.so /usr /usr/share /usr/share/doc /usr/share/doc/libklibc /usr/share/doc/libklibc/copyright /usr/share/doc/libklibc/README /usr/share/doc/libklibc/changelog.Debian.gz /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/libklibc $
違う。
$ dpkg -L klibc-utils|grep nuke /usr/lib/klibc/bin/nuke $
ありますな。ソースげとしてチェキ。usr/utils/nuke.c がそれにあたる模様。中身は略しますが非常に簡単に作ってあります。