Beiträge von lx2

    Hier eine kurze Rückmeldung, ich hab es aus der Ferne doch gewagt und es hat wie Jürgen beschrieben hat funktioniert.

    Dass das eine zusätzliche Optimierung ist und nichts mit dem Skript zu tun hat war mir schon klar.

    Ps. Das mit dem Eintrag "RAMTMP=yes" hat doch nicht so zuverlässig funktioniert, warum auch immer! Ich habe jetzt den Eintrag "tmpfs /tmp tmpfs nodev,nosuid,relatime,size=100M 0 0" in der fstab gewählt, damit funktioniert es.

    Gesendet von meinem GEM-703L mit Tapatalk

    Hallo zusammen,

    da ich in letzter Zeit geschäftlich ausser Haus war, bin ich erst jetzt dazu gekommen meinen RPI3 (Jessie) mit dem Skript von meigrafd zu optimieren.
    Es hat soweit alles funktioniert, ausser die zusätzliche Optimierung

    Zitat

    Eine weitere Optimierung wäre auch /etc/fstab um folgende Optionen zu erweitern: noatime,nodiratime,commit=120
    /dev/mmcblk0p1 /boot vfat defaults,noatime,nodiratime,commit=120 0 2
    /dev/mmcblk0p2 / ext4 defaults,noatime,nodiratime,commit=120 0 1


    führt dazu das mein RPI3 danach nicht mehr bootet / ansprechbar ist.
    Ich hab das mehr mehrmals ausprobiert, sobald ich das eingetragen habe und einen reboot durchgeführt habe war es aus! RAMTMP=yes in /etc/default/tmpfs hat wiederum problemlos funktioniert. Vielleicht kann jemand was dazu sagen.

    Hallo meigrafd,
    danke für deine schnelle Antwort, wie du siehst bin ich ganz neu in der Materie und möchte mehr dazu lernen, dadurch bin ich einfach verunsichert und denke evtl. zu kompliziert! Jetzt ist mir aber einiges klar geworden.


    Hallo und Danke fürs erstellen eines extra Threads. Ist es Oke wenn ich deinen Link allgemein als "Frage & Anregungen" verlinke?


    natürlich nicht.


    RAMRUN und RAMLOCK hat erstmal nicht direkt etwas mit dem Script varlog zu tun sondern ist eine erweiterte Optimierung das Systemlaufwerk zu entlasten. varlog funktioniert auch ohne diese Optimierung.
    Mittlerweile ist das aber nicht mehr in /etc/default/rcS sondern glaub ich /etc/default/tmpfs


    Ich hab die Änderung einmal eingearbeitet / vermerkt und werde das demnächst probieren.


    Ist das "RAMTMP=yes" in [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]/etc/default/tmpfs nicht dass gleiche [/font]wie "tmpfs /tmp tmpfs nodev,nosuid,relatime,size=100M 0 0" in /etc/fstab?
    Edit: oder sind das 2 unterschiedliche Dinge?

    Hallo meigrafd,

    danke für deine Hilfe, da ich aber noch eine Frage habe und ich dein Tutorials nicht zumüllen möchte hab ich hier

    lx2
    6. Oktober 2016 um 18:58

    einen neuen Thread aufgemacht.

    Hallo zusammen und Hallo meigrafd, [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"] [/font]

    als erstes danke für das tolle [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Tutorial [/font][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]v[/font][/font][font="Arial"]ar/log/ in eine Art RAMdisk auslagern & weitere Optimierungen bezgl. Logs[/font]
    [font="Arial"]Da ich deinen Tutorial nicht zumüllen möchte und ich noch Fragen zur installation unter Jessie habe, mache ich hier einen neuen Thread auf, ich hoffe das ist für Dich i.O!?[/font]
    [font="Arial"] [/font]
    Laut deinen Aussagen installiere / führe ich als erstes das hier aus:

    • [font="Tahoma, sans-serif"]Script erstellen:
      nano /etc/init.d/varlog[/font]

    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"]#!/bin/bash
    ### BEGIN INIT INFO
    # Provides: varlog
    # Required-Start: $local_fs
    # Required-Stop: $local_fs
    # X-Start-Before: $syslog
    # X-Stop-After: $syslog
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: Start/stop logfile saving
    ### END INIT INFO
    #
    # varlog This init.d script is used to start logfile saving and restore.
    #

    varlogSave=/var/save.log/
    [ ! -d $varlogSave ] && mkdir -p $varlogSave

    PATH=/sbin:/usr/sbin:/bin:/usr/bin

    case $1 in
    start)
    echo "*** Starting tmpfs file restore: varlog."
    if [ -z "$(grep /var/log /proc/mounts)" ]; then
    echo "*** mounting /var/log"
    cp -Rpu /var/log/* $varlogSave
    varlogsize=$(grep /var/log /etc/fstab|awk {'print $4'}|cut -d"=" -f2)
    [ -z "$varlogsize" ] && varlogsize="70M"
    mount -t tmpfs tmpfs /var/log -o defaults,size=$varlogsize
    chmod 755 /var/log
    fi
    cp -Rpu ${varlogSave}* /var/log/
    ;;
    stop)
    echo "*** Stopping tmpfs file saving: varlog."
    #[ -n $varlogSave ] && rm -rf ${varlogSave}*
    #[ ! -d $varlogSave ] && mkdir -p $varlogSave
    cp -Rpu /var/log/* $varlogSave >/dev/null 2>&1
    sync
    umount -f /var/log/
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    ;;
    esac

    exit 0[/font]

    • [font="Tahoma, sans-serif"]Script ausführbar machen:[/font]

    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"]chmod +x /etc/init.d/varlog[/font]

    • [font="Tahoma, sans-serif"]Script in den Runlevel eintragen sodass es bei starten und herunterfahren des Systems ausgeführt wird:[/font]

    [font="Tahoma, sans-serif"] [/font]
    [font="Tahoma, sans-serif"]Das entfällt bei Jessie[/font]
    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"]update-rc.d varlog start 01 2 3 4 5 . stop 99 0 1 6 .[/font]
    [font="Courier New"] [/font]

    [font="Tahoma, sans-serif"]Nun müssen wir eine neue Service Datei für systemd erstellen:[/font]
    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"]sudo nano /etc/systemd/system/varlog.service[/font]
    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"][Unit]
    Description=Start/stop tmpfs logfile saving
    DefaultDependencies=no
    After=local-fs.target
    Before=Basic.target

    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/etc/init.d/varlog start
    ExecStop=/etc/init.d/varlog stop

    [Install]
    WantedBy=local-fs.target[/font]

    [font="Tahoma, sans-serif"]Und nun noch diesen Dienst einschalten:[/font]


    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"]sudo systemctl enable varlog[/font]
    [font="Tahoma, sans-serif"]
    Nach einem Reboot kann man sich anzeigen lassen ob ein Dienst gestartet wurde:[/font]
    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"]sudo systemctl status varlog[/font]
    [font="Courier New"] [/font]
    [font="Courier New"] [/font]
    [font="Arial"]Aber was ist mit dem allem hier, sprich stopp, RamRun, RamLock und start?[/font]

    • [font="Tahoma, sans-serif"]Nun sorgen wir dafür das /var/log/ erstmalig gesichert wird:[/font]

    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"]/etc/init.d/varlog stop[/font]

    • [font="Tahoma, sans-serif"]Bevor wir nun "start" ausführen eine kurze Erklärung was /etc/init.d/varlog macht:

      Durch den " stop " Parameter werden alle Dateien und Verzeichnisse inkl. deren Datei-Rechte/Besitzer von /var/log/ nach /var/save.log/ kopiert.

      Durch den " start " Parameter wird erst geprüft ob tmpfs bereits für /var/log gemounted wurde und falls nicht wird /var/log/* nach /var/save.log/ kopiert und /var/log/ als tmpfs mit 70M (Megabyte) eingehängt (über das vorhandene)..
      Anschliesend werden alle Dateien und Verzeichnisse inkl. deren Datei-Rechte/Besitzer von /var/save.log/ nach /var/log/ kopiert.

      Man kann auch in /etc/fstab eine Zeile einfügen worüber die maximale Grösse fürs tmpfs von /var/log festgelegt wird, das würde das Script dann auch auslesen:[/font]

    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"]tmpfs /var/log tmpfs size=70M 0 0[/font]
    [font="Tahoma, sans-serif"]
    Dann müssen wir noch RamRun und RamLock aktivieren:[/font]
    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"]sed -i /etc/default/rcS -e "s/RAMRUN=no/RAMRUN=yes/"
    sed -i /etc/default/rcS -e "s/RAMLOCK=no/RAMLOCK=yes/"[/font]
    [font="Tahoma, sans-serif"]RAMRUN bewirkt dass beim Bootvorgang alles in /var/run/ belassen wird und nicht aufgeräumt, und /var/run wird dadurch auch in tmpfs abgelegt[/font][font="Tahoma, sans-serif"]
    Das gleiche gilt auch für RAMLOCK bezüglich /var/lock/

    [/font]
    [font="Tahoma, sans-serif"]
    Nun starten wir das Script damit tmpfs für /var/log eigehängt wird:[/font]
    [font="Tahoma, sans-serif"]Code: [/font][font="Tahoma, sans-serif"]Alles markieren[/font]
    [font="Courier New"]/etc/init.d/varlog start[/font]


    muss ich das alles auch noch ausführen oder ist das unter dem neuen script unnötig?

    So, hab es versucht und hab es leider abgeschossen, hab die Skripte wie auf der Seite 1 ausgeführt und hab den gleiche Fehlermeldung gehabt wie 'Zappelmann', ich hab dann trotzdem alles weitere nach der Anleitung zu Ende gemacht.

    Code
    update-rc.d varlog start 01 2 3 4 5 . stop 99 0 1 6 .


    wenn ich den runlevel hinzufügen will dann bekomm ich eine Error meldung:
    siehe hier:

    Code
    pi@Raspobot:/etc $ sudo update-rc.d varlog start 01 2 3 4 5 . stop 99 0 1 6 .
    update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults

    Danach hab ich es die Anweisung wie in Post 49 ausgeführt und das RPI neu gestartet.
    Leider ging dabei was schief und das RPI fährt nicht mehr hoch! Jetzt werde ich die SD Karte formatieren und neu einrichten... Es wäre super wenn jemand sagen könnte wie man bei Jessie genau vorgehen muss, also wie weit darf man in Post 1 gehen und ab wann kommt Post 49 zum Tragen.

    Gesendet von meinem GEM-703L mit Tapatalk