debian: minden log kiiktatasa

Fórumok

Sziasztok.

Egy hálózattól, minden egyéb külső behatástol mentes debianom van egy gépen. Azt szeretnem elérni, hogy minden bootolásnál semmi se íródjon a merevlemezre. Se napló, semmi. A tmp könyvtárak mar eleve ramdrive-on vannak (ez mondjuk egy wicd-nek halál).

Kérdésem az, hogyan kezdjek neki a "nagytakarításnak"...

Hozzászólások

kétféle szolgáltatás létezik:

1.) ami syslog szolgáltatásba loggol
2.) ami nem syslog szolgáltatásba loggol

Első körben tehát ne indítsd el a syslogd-t. A második körben tudni kéne, hogy milyen szolgáltatásokat futtatsz, amik önállóan loggolnak. Azokat egyenként, a maguk egyedi módján le kell beszélned a loggolásról.

FYI, a syslogd teljes kikapcsolasa nem jo otlet. Azert nem, mert a syslog() hivast hasznalni fogjak ettol meg a programok, es ha nincs mas a /dev/log tuloldalan, ami olvassa, akkor ott bizon olyan gyonyoru deadlock lesz, hogy csak na.

Szoval syslogd vagy valami ami a /dev/log -ot uriti, az kell. Csak ugy kell beallitani, hogy dobjon el mindent.

--
|8]

A syslog() kiirtasa sokkal nagyobb faradtsag, mint egy /dev/log => /dev/null megoldas. Persze ha a programnak meg lehet mondani hogy meg se probaljon syslogolni, az idealis, de tapasztalatom szerint ezt keves programnal lehet teljesen kikapcsolni.

Igen, egy joliranyzott LD_PRELOAD megoldja, kiveve ha a program valamit trukkozik... sokkal kenyelmesebb egy lightos /dev/log urites.

--
|8]

Hát, milyen debian? A stable már ugye systemd-s, ezt is figyelembe kéne venni.

Mi van, ha a teljes /var/log-ot ramdiskbe mountolod, és a logrotate szabályokat méretfüggőre (ramdisk mérethez igazítva) írod át?
--
Coding for fun. ;)

Igen, ezen gondolkodom eppen most. Ha ezt megtettem a ket tmp konyvtarammal, siman menne ez is.

Kerdes az, hogy alapertelmezetten a raspbian bootolas es mukodes kozben ir-e meg valahova akarmit. Mert akkor azt is ramdrajvolni kell..

---
--- A gond akkor van, ha látszólag minden működik. ---
---

majdnem: eredeti fs read only-ba, ahogy irtad, es afolott egy read/write layer rambol:

http://www.logicsupply.com/blog/2009/01/27/how-to-build-a-read-only-linux-system/

ezzel tudod nezni, hogy milyen file-okat irnak meg mindig. vagy akar hagyhatsz mindent mosoditas nelkul, es a filerendszer modositasok mennek ram-ba, aztan kovetkezo ujraindulaskor minden visszaall.

en vegul nem is matattam a programokat, minden maradt valtozatlanul (beagyazott rendszer, amit havonta 1x-2x ujra lehet inditani, ugyhogy meghagytam meg a logolast is).

(a ckkben irt aufs-nel most talan mar menobb az overlayfs, vagy lehet unionfs-t.)

Nezd meg hogy a voyage hogy csinalja: a /tmp-n es a /run-on felul me'g a /var/log es a /var/tmp is tmpfs-re van teve, ugy hogy az sd-kartyan van azert fix helye ezeknek. Az init folyamat soran atmasolja az sd-rol a tmpfs-re a /var/log-ot es a /var/tmp-t, szabalyos leallitasnal pedig visszamasolja. Igy power failure eseten az aktualis loggok elvesznek ugyan de a rendszer mindig szepen megy readonly-ra mountolt konyvtarakkal.

Ezt kimondottan a pcengines/alix ill. apu modellekre fejlesztik, de az elv vsz egyszeruen masolhato. A konkret szkript ami ezt csinalja az az /etc/init.d/voyage-sync. Illetve az /usr/local/sbin alatt is vannak specifikus szkriptek amik megkonnyitik az effele rendszerek uzemelteteset (lasd remountro, remountw, stb).

Egy valamit nem értek.

Ha van mondjuk egy /var/tmp könyvtáram, benne 1-2 file és könyvtár, de fstabban beállítom hogy ramdrive legyen, akkor ugye ramdrive lesz belőle, de hova tűnnek az eredeti fájlok, amik eleve ott voltak?

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Par referencia:
- http://wiki.voyage.hk/rw_ro.txt
- /etc/init.d/voyage-sync

gondolom az rw_ro.txt reszletesen leirja hogysmint van ez itten implementalva. igazabol annyira nem mentem bele, csak a tapasztalat az az hogy ez nagyon szepen & jol mukodik. a raspbian-ban pont ezt hianyoltam...

szerk: ha jol latom, ez a trukk: inditas:
- mkdir -p /tmp/var/tmp
- mount --bind /var/tmp /tmp/var/tmp
- mount -t tmpfs tmpfs /var/tmp
- rsync [whatever_flags] /tmp/var/tmp /var/tmp

leallitas:
- rsync [whatever_flags] /var/tmp /tmp/var/tmp
- umount /var/tmp
- umount /tmp/var/tmp
- rmdir /tmp/var/tmp

A pid és lock fájlokra is gondoltál?