![](https://seccdn.libravatar.org/avatar/8711803963032fdc9082e861d5c5dbcb.jpg?s=120&d=mm&r=g)
Hallo, ich möchte (minimales Linux ohne X/KDE) u.a. den /tmp-Ordner ins Ram legen. Während ich die anderen komplett kopiere, überlege ich, nur eine leere Ram-Disk zu machen: /tmp mkdir -p /rTmp mount -t ramfs rTmp /rTmp und den dann 'zu binden': mount --bind /rTmp /tmp Jetzt werden alle /tmp-Zugriffe auf die Ram-Disk umgelenkt und die Festplatte in Ruhe gelassen. Meine Fragen hierzu: 1.) Werden die nötigen Ordner innerhalb des original /tmp bei Bedarf neu angelegt oder nicht? Anders formuliert, soll ich die Ordnerstruktur von /tmp auf der Ram-Disk erzeugen oder kann ich es leer lassen? 2.) Dort sind in manchen Ordnern ( /tmp/orbit-user,/tmp/.ICE-unix ) anscheinend Sockets: werden die neu angelegt, oder sollte ich die kopieren? Allerdings nicht auf der (minimal-SuSE-Linux-) Firewall. 3.) In eine anderen Ordner /var, den ich auch ins Ram übertragen will, gibt es das, was ein Socket (?) erzeugt: =flush, =cleanup, ... Kann man die in einer funktionierenden Weise kopieren mit find . -depth -print0 | cpio -p0mdv /rVar oder werde die dadurch zerstört - oder werden die zerstört, aber wieder neu installiert? Übrigens auf dem Firewall ist die Gesamtgröße der Ordner: f:/ # du -s /tmp /var /etc /bin /sbin 520 /tmp 47.638 /var 5.969 /etc 5.865 /bin 9.340 /sbin kleiner 70 MB, eine Menge, die sich ins RAM übertragen läßt. Damit wird der PC etwas schneller und die Platte kann sich schlafen legen. (Auf meinem KDE-PC, auf dem ich normalerweise arbeite sind diese Ordner zusammen allerdings
700MB!) logrotate und cron werden natürlich auch angepassat und erweitert. Wenn jemand das kleine skript (ist noch am Werden) haben will, um so die Platte zu entlasten, soll mir schreiben.
Calli
![](https://seccdn.libravatar.org/avatar/b781ac8e7d089028b1858a503976329e.jpg?s=120&d=mm&r=g)
....
ich möchte (minimales Linux ohne X/KDE) u.a. den /tmp-Ordner ins Ram legen. .................................
Meine Fragen hierzu: 1.) Werden die nötigen Ordner innerhalb des original /tmp bei Bedarf neu angelegt oder nicht? Anders formuliert, soll ich die Ordnerstruktur von /tmp auf der Ram-Disk erzeugen oder kann ich es leer lassen?
Ich hab schon öfters mal /tmp komplett gelöscht. Du musst nichts anlegen.
2.) Dort sind in manchen Ordnern ( /tmp/orbit-user,/tmp/.ICE-unix ) anscheinend Sockets: werden die neu angelegt, oder sollte ich die kopieren? Allerdings nicht auf der (minimal-SuSE-Linux-) Firewall.
Für Sockets gilt gleiches. Evtl. mögen einige Prozesse es nicht wenn Du Ihnen die Sockets klaust, aber in init 1 dürfte es kein Problem sein.
3.) In eine anderen Ordner /var, den ich auch ins Ram übertragen will, gibt es das, was ein Socket (?) erzeugt: =flush, =cleanup, ... Kann man die in einer funktionierenden Weise kopieren mit find . -depth -print0 | cpio -p0mdv /rVar oder werde die dadurch zerstört - oder werden die zerstört, aber wieder neu installiert?
Willst /var wirklich in einen RAM-Bereich legen? U.U. hast Du ja Dateien die bei einem Problem dann weg sind, wie in /var/spool/XY z.B. /var/spool/mail aber auch die rpm-Datenbank oder evtl. Userdaten in /var/yp? Ich persönlich finde es auch wichtig bei einem evtl. Fehlerfall die letzten Einträge der Logdateien zu haben. Und die liegen halt auf /var. Ach ja, evtl. könnten auch zu grosse Druckdaten des Printspoolers den Platz knapp werden lassen. Ok, diese Dinge kann man anpassen, aber trotzdem . . . . Ansonsten gilt grob: /tmp - Dateien mit zeitlich begrenzter Gültigkeit die auch "verschwinden" dürfen. /var - Dateien die immer vorhanden sind, sich aber laufend ändern (können). Rainer -- DSL Komplett von GMX +++ Supergünstig und stressfrei einsteigen! AKTION "Kein Einrichtungspreis" nutzen: http://www.gmx.net/de/go/dsl
![](https://seccdn.libravatar.org/avatar/b781ac8e7d089028b1858a503976329e.jpg?s=120&d=mm&r=g)
....
ich möchte (minimales Linux ohne X/KDE) u.a. den /tmp-Ordner ins Ram legen. .................................
Meine Fragen hierzu: 1.) Werden die nötigen Ordner innerhalb des original /tmp bei Bedarf neu angelegt oder nicht? Anders formuliert, soll ich die Ordnerstruktur von /tmp auf der Ram-Disk erzeugen oder kann ich es leer lassen?
Ich hab schon öfters mal /tmp komplett gelöscht. Du musst nichts anlegen.
2.) Dort sind in manchen Ordnern ( /tmp/orbit-user,/tmp/.ICE-unix ) anscheinend Sockets: werden die neu angelegt, oder sollte ich die kopieren? Allerdings nicht auf der (minimal-SuSE-Linux-) Firewall.
Für Sockets gilt gleiches. Evtl. mögen einige Prozesse es nicht wenn Du Ihnen die Sockets klaust, aber in init 1 dürfte es kein Problem sein.
3.) In eine anderen Ordner /var, den ich auch ins Ram übertragen will, gibt es das, was ein Socket (?) erzeugt: =flush, =cleanup, ... Kann man die in einer funktionierenden Weise kopieren mit find . -depth -print0 | cpio -p0mdv /rVar oder werde die dadurch zerstört - oder werden die zerstört, aber wieder neu installiert?
Willst /var wirklich in einen RAM-Bereich legen? U.U. hast Du ja Dateien die bei einem Problem dann weg sind, wie in /var/spool/XY z.B. /var/spool/mail aber auch die rpm-Datenbank oder evtl. Userdaten in /var/yp? Ich persönlich finde es auch wichtig bei einem evtl. Fehlerfall die letzten Einträge der Logdateien zu haben. Und die liegen halt auf /var. Ach ja, evtl. könnten auch zu grosse Druckdaten des Printspoolers den Platz knapp werden lassen. Ok, diese Dinge kann man anpassen, aber trotzdem . . . . Ansonsten gilt grob: /tmp - Dateien mit zeitlich begrenzter Gültigkeit die auch "verschwinden" dürfen. /var - Dateien die immer vorhanden sind, sich aber laufend ändern (können). Rainer -- Lassen Sie Ihren Gedanken freien Lauf... z.B. per FreeSMS GMX bietet bis zu 100 FreeSMS/Monat: http://www.gmx.net/de/go/mail
![](https://seccdn.libravatar.org/avatar/b781ac8e7d089028b1858a503976329e.jpg?s=120&d=mm&r=g)
................
ich möchte (minimales Linux ohne X/KDE) u.a. den /tmp-Ordner ins Ram legen.
.... ich möchte (minimales Linux ohne X/KDE) u.a. den /tmp-Ordner ins Ram legen. .................................
Meine Fragen hierzu: 1.) Werden die nötigen Ordner innerhalb des original /tmp bei Bedarf neu angelegt oder nicht? Anders formuliert, soll ich die Ordnerstruktur von /tmp auf der Ram-Disk erzeugen oder kann ich es leer lassen?
Ich hab schon öfters mal /tmp komplett gelöscht. Du musst nichts anlegen.
2.) Dort sind in manchen Ordnern ( /tmp/orbit-user,/tmp/.ICE-unix ) anscheinend Sockets: werden die neu angelegt, oder sollte ich die kopieren? Allerdings nicht auf der (minimal-SuSE-Linux-) Firewall.
Für Sockets gilt gleiches. Evtl. mögen einige Prozesse es nicht wenn Du Ihnen die Sockets klaust, aber in init 1 dürfte es kein Problem sein.
3.) In eine anderen Ordner /var, den ich auch ins Ram übertragen will, gibt es das, was ein Socket (?) erzeugt: =flush, =cleanup, ...
Willst /var wirklich in einen RAM-Bereich legen? U.U. hast Du ja Dateien die bei einem Problem dann weg sind, wie in /var/spool/XY z.B. /var/spool/mail aber auch die rpm-Datenbank oder evtl. Userdaten in /var/yp? Ich persönlich finde es auch wichtig bei einem evtl. Fehlerfall die letzten Einträge der Logdateien zu haben. Und die liegen halt auf /var. Ach ja, evtl. könnten auch zu grosse Druckdaten des Printspoolers den Platz knapp werden lassen. Ok, diese Dinge kann man anpassen, aber trotzdem . . . . Ansonsten gilt grob: /tmp - Dateien mit zeitlich begrenzter Gültigkeit die auch "verschwinden" dürfen. /var - Dateien die immer vorhanden sind, sich aber laufend ändern (können). Rainer -- DSL Komplett von GMX +++ Supergünstig und stressfrei einsteigen! AKTION "Kein Einrichtungspreis" nutzen: http://www.gmx.net/de/go/dsl
![](https://seccdn.libravatar.org/avatar/8711803963032fdc9082e861d5c5dbcb.jpg?s=120&d=mm&r=g)
Hallo Siggi, unten ist der Anfang von dem Projekt. Jetzt einmal eine kurze Beschreibung mit einem kleinen Wunsch nach einem /etc/init.d Skript - im Suse-Beispiel ist zuviel womit ich mich (noch) nicht beschäftigt habe. Ich kopiere (und binde) auch den /etc-Ordner, weil ich so alle Änderungen dort nur im neuen /rEtc-Ordner mache und das Orginalsystem sofort wieder da ist, wenn ich die Bindung aufhebe und und die RamDisk lösche. Mit den beiden kommentierten Zeilen wird die alles wieder Rückgängig gemacht (der Vollständigkeit halber). Im neuen /rEtc hab ich jetzt einfach den clean-tmp vom daily-cron in den hourly-cron kopiert, um /rTmp so klein wie möglich zu halten - das ramfs beansprucht immer nur den tatsächlich benötigten Platz. Ich hab ein logrotate.conf.ram (siehe unten) im orginal-/etc erzeugt, dass ich in /rEtc einfach umbenenne und nur so lange wie die Ram-Disk geht. Jetzt muss ich noch die Files in /etc/logrotate.d/ ändern. Was noch zu tun ansteht, ist, erstens ein skrpit, dass aus /var/log die gepackten Dateien woanders sichert, entweder übers Netz oder per email oder auf einer normalen Festplatte und dann aus dem Ram löscht, also nach logrotate ausgeführt wird. In /cron.daily liegt das logrotate skript. Ich präferiere eigentlich folgende Lösung mit zwei Zeilen in diesem logrotate Skript knapp for dem exit: 1. verschicke alle .gz per email an .. 2. lösche alle .gz-Files (wie macht man das im skript, ich kenne es nur in Perl) Der Empfänger, kann nun die log.gz gezielt sichern.. Frage hierzu gibt es eine Möglichkeit für eine skript zu erkennen, wenn die Festplatte sowieso hochgefahren wurde? Zweitens ein skript, dass beim Herunterfahren des PC alles wieder rückgängig macht und vorher zubestimmender Files sichert oder (auf Platte) überschreibt. Hierzu wäre es schön wenn mir jemand ein ganz einfaches Skript schicken könnte, dass in /etc/init.d dann als letztes beim/nach'm Booten das create'n-copy-RamDisk-Skript startet und beim Herunterfahren das save'n-delete-RamDisk-Skript ausführt. Weitere Änderungen hab ich mir noch nicht überlegt, bin daher für Ideen oder so durchaus offen. Viel Erfolg, Calli ########### ram-skript ################# #!/bin/bash # what for: mkDir, mk Ram-Disk, copy orgDir, to RamDir, bind RamDir # copy dirs to /rEtc mkdir -p /rEtc mount -t ramfs rEtc /rEtc cd /etc find . -depth -print0 | cpio -p0mdv /rEtc cp /rEtc/cron.daily/suse.de-clean-tmp /rEtc/cron.hourly/suse.de-clean-tmp rename /rEtc/logrotate.conf /rEtc/logrotate.conf.org /rEtc/logrotate.conf rename /rEtc/logrotate.conf.ram /rEtc/logrotate.conf /rEtc/logrotate.conf.ram mount --bind /rEtc /etc # umount /etc # Bindung aufheben # umount /rEtc # RamDisk löschen # /var: mkdir -p /rVar mount -t ramfs rVar /rVar cd /var # ist EINE Zeile: find .. cpio -p0mdv /rVar (zusmmanekleben!!): find . -not \( -regex ".+\.gz" -o -regex ".*YaST.*" -o -regex ".*log\/cups.*" -o -regex ".*log\/boot.*" -o -regex ".*log\/lastlog.*" -o -regex ".*log\/scpm.*" \) -print0 | cpio -p0mdv /rVar mount --bind /rVar /var # umount /var # umount /rVar # /tmp mkdir -p /rTmp mount -t ramfs rTmp /rTmp mount --bind /rTmp /tmp # umount /tmp # umount /rTmp #check df /rEtc /rVar /rTmp du -sh /tmp /var /etc ############ ende skript #################### ######### neues logrotate.conf.ram ################## # see "man logrotate" for details # rotate log files daily but weekly daily # keep 4 weeks worth of backlogs # now kee 7 days of backlogs rotate 7 # create new (empty) log files after rotating old ones create # uncomment this if you want your log files compressed compress # uncomment these to switch compression to bzip2 compresscmd /usr/bin/bzip2 uncompresscmd /usr/bin/bunzip2 # RPM packages drop log rotation information into this directory include /etc/logrotate.d ################ ende #################### Am Dienstag, 1. März 2005 18:18 schrieb Siggi:
Am Dienstag, 1. März 2005 17:18 schrieb Carl A. Schreiber:
Wenn jemand das kleine skript (ist noch am Werden) haben will, um so die Platte zu entlasten, soll mir schreiben.
Hallo Calli,
also ich wäre an deinem Script interessiert ! :O)
Gruss Siggi
Calli
-- Mfg Siggi
![](https://seccdn.libravatar.org/avatar/8fd840135745a0c52f35b28b58a12305.jpg?s=120&d=mm&r=g)
Am Dienstag, 1. März 2005 17:18 schrieb Carl A. Schreiber:
Hallo,
ich möchte (minimales Linux ohne X/KDE) u.a. den /tmp-Ordner ins Ram legen. Während ich die anderen komplett kopiere, überlege ich, nur eine leere Ram-Disk zu machen: /tmp mkdir -p /rTmp mount -t ramfs rTmp /rTmp
Habe hier ein System auf einer CF-Karte, bei der / readonly gemountet ist und /var/log und /tmp auch in einer Ramdisk liegen. Das geht ohne Probleme. mfG, Jens
![](https://seccdn.libravatar.org/avatar/5885cb5265fd13b2dd5d83027a1fd8d1.jpg?s=120&d=mm&r=g)
Hi, On Tue, 01 Mar 2005, Carl A. Schreiber wrote:
Hallo,
ich möchte (minimales Linux ohne X/KDE) u.a. den /tmp-Ordner ins Ram legen. Während ich die anderen komplett kopiere, überlege ich, nur eine leere Ram-Disk zu machen:
</etc/fstab> tmpfs /tmp tmpfs rw,noexec,nosuid,nodev 0 0 </etc/fstab> Wenn du sowieso alles kopierst kannst du auch gleich ein neues / über chroot im ram erzeugen. Und /tmp darf komplett lehr sein. Muß aber die Rechte drwxrwxrwt haben. (Das t ist wichtig) Greetings Daniel -- Was einen Anfang hat muss auch ein Ende haben
participants (5)
-
Carl A. Schreiber
-
Daniel Lord
-
Jens Nixdorf
-
Rainer Kulhanek
-
Siggi