After booting my System, /dev/null is correctly created by udev: crw-rw-rw- 1 root root 1, 3 May 30 09:54 /dev/null Some hours later 'ls -la /dev/null' shows: -rw-r--r-- 1 root root 0 May 30 11:14 /dev/null System is just setup with a base gentoo system. No crons, scripts, 3rd party software or something else is running or installed. ---------------------------------------------------------------- emerge --info: Portage 2.1_rc3-r1 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.16-inobas-jarjar-r1 i686) ================================================================= System uname: 2.6.16-inobas-jarjar-r1 i686 Intel(R) Xeon(TM) CPU 2.40GHz Gentoo Base System version 1.12.0 ccache version 2.4 [enabled] dev-lang/python: 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r1 dev-util/confcache: 0.4.2-r1 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache confcache distlocks metadata-transfer sandbox sfperms strict test" GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/ ftp://pandemonium.tiscali.de/pub/gentoo/ ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.gentoo.org/gentoo-distfiles/" LINGUAS="de en us" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="x86 7zip aalib acl acpi alsa apache2 apm avi bash-completion bcmath berkdb bidi bitmap-fonts bzip2 caps cdb cdr cli crypt cscope ctype cups dba dbx dri dvdr eds emboss encode esd expat flatfile foomaticdb fortran ftp gd gdbm geoip gif gmp gpm gstreamer gtk gtk2 hal howl idn imlib inifile innodb ipv6 isdnlog jpeg kerberos krb4 ldap libg++ libwww logrotate mad maildir memlimit mikmod mime mmap mmx motif mp3 mpeg mysql ncurses nls nocd nptl nptlonly ogg opengl oss pam pcre pdflib perl php png posix pppd profile python qt quicktime readline reflection sasl sdl session sharedext sharedmem simplexml slang snmp soap sockets spell spl sse sse2 ssl sysvipc szip tcpd threads tokenizer truetype truetype-fonts type1-fonts udev unicode usb vorbis xml xml2 xmlrpc xmms xorg xv zip zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_de linguas_en linguas_us userland_GNU video_cards_ati" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
*** Bug 134388 has been marked as a duplicate of this bug. ***
Is it possible to track access to a device node? I would try to find out why /dev/null is deleted and recreated as empty file. The machine is currently not usable.
not really unless you run a script that just keeps checking /dev/null status try running this as root: echo 'extern int i; int main(){int j = i;}' | gcc -x c -o /dev/null - your /dev/null should still be there
@#3: /dev/null is still there. I've created a small shell script which deletes and recreates /dev/null if it's not a device node. The script ist started every minute via cron. Thats just a silly workaround to make system usable till we found the bug.
historically, the only things found to eat /dev/null were binutils/gcc and that was while running `emerge` as root