Syshelp: Datoteka /dev/null uzrokuje grešku "fatal: daemon() failed: Success"

 Ova zaista čudna greška javlja se u /var/log/auth.log prilikom pokušaja startanja SSH daemona. Sasvim je moguće da će neki drugi servis otkazati poslušnost, uz neku sličnu poruku, primjerice apache (koji će čak eksplicitno spomenuti /dev/null).

Uzrok ovoj poruci je promjena tipa datoteke /dev/null, koja je vrlo bitna za rad sustava. Datoteke /dev/null i /dev/zero su posebne (character-based, nebufferirane) datoteke, a još se zovu i "data sink".

Čitanje iz /dev/null uvijek daje EOF (End of File), dok čitanje iz /dev/zero uvijek daje ASCII NULL karakter (\0). Pisanje je u njih, naravno, moguće, ali sam naziv "data sink" sugerira da se podaci tamo mogu jedino izgubiti (i ovo ima svoju primjenu).

Ako napravimo "ls -l /dev/null /dev/zero", dobit ćemo:

crw-rw-rw-  1 root root 1, 5 Mar 27  2005 /dev/zero
crw-rw-rw- 1 root root 1, 3 Mar 27 2005 /dev/null

Ukoliko se stanje na vašem sustavu razlikuje, potrebno je napraviti slijedeće:

# rm /dev/null /dev/zero
# mknod -m 666 /dev/null c 1 3
# mknod -m 666 /dev/zero c 1 5
# chown root:root /dev/null /dev/zero

Nakon toga imate ispravno podešene te dvije datoteke, te će servisi proraditi nakon restarta (bilo problematičnih servisa, bilo cijelog sustava). Više o tim datotekama i naredbi mknod piše, a gdje drugdje, nego u manualu: "man null" i "man mknod".

Na pitanje zašto su se tako ključne datoteke "same od sebe" promijenile teško je dati odgovor, ali najvjerojatnije je riječ o lošoj instalacijskoj proceduri nekog od paketa, ili nestanku struje ili pak nekoj specifičnoj situaciji kod vas.

Vijesti: 
Kuharice: 
Kategorije: 
Vote: 
0
No votes yet