Beiträge von letsfindaway

    Super! Das mit dem Abschneiden der Ziffer hatte ich übersehen. Aber du hast's ja rausgekriegt.


    Ich könnte mir denken dass der Start über KRunner mit Alt-Space schon klappt. Da das Skript dann aber keine Konsole hat, gibt es keine Stelle zum Eingeben des Passwortes.

    vor allem aber die Erklärung!

    Ja, ich will auch immer wissen, warum und finde es gut, wenn ich im Forum nicht nur eine Anleitung kriege, sondern ein klein wenig Erläuterung, warum die Anleitung so funktioniert!


    Wenn das Thema damit gelöst ist, mache noch einen Doppelklick auf das rote Kästchen rechts neben der Überschrift. Dann wird daraus ein grüner Haken!

    Also, heute ist nicht mein Tag. Sorry. Weiterer Fehler von mir: muss ein d vorne sein statt eines R und ohne /*:


    Code: /etc/tmpfiles.d/cleantmp.conf
    d /tmp - - - 30d

    Dann führt das System den Dienst wohl nicht bei jedem Booten aus, sondern nur einmal täglich. Siehe /usr/lib/systemd/system/systemd-tmpfiles-clean.timer. Wenn ich den Dienst aber manuell über die YaST Dienst-Verwaltung starte, dann läufter auch. Und diesmal kann ich versichern, er hat aufgeräumt. Wo ich vorher hingeschaut habe weiß der Henker.

    sorry, mein Fehler. Ich sollte doch die von mir selber angegebene Doku genauer lesen. Also:


    Code: /etc/tmpfiles.d/cleantmp.conf
    R /tmp/* - - - 30d

    Da haben die drei Bindestriche gefehlt.
    Hab's probiert, nach Neustart ist aufgeräumt!

    Und um es noch mal kurz zusammenzufassen:


    Eine Datei, z.B. cleartmp.conf in /etc/tmpfiles.d erstellen mit folgender Zeile:

    Code: /etc/tmpfiles.d/cleartmp.conf
    R /tmp/* 30d

    sorgt dafür, dass alle Dateien und Verzeichnise älter als 30 Tage in /tmp automatisch gelöscht werden.


    Lesenswert ist auch man tmpfiles.d. Dort stehen eigentlich alle relevanten Informationen.

    Hallo,


    Zum Zeile-1-Fehler: Hat die Datei womöglich Windows Zeilenenden, also CRLF statt nur LF? Das führt zu genau diesem Fehler! Abhilfe: Umwandeln mit dos2unix lei.sh. Prüfe sonst auch auf andere Sonderzeichen oder überflüssige Leerzeichen am Zeilenende.


    Zum Rest des Skriptes: Das Problem ist noch deine erste su-Zeile mit fdisk. Die Variable geraetlang würde so innerhalb der root-Shell gesetzt und ist dann außerhalb nicht mehr verfügbar. Deine beiden su-Kommandos führen außerdem dazu, dass du das Passwort zweimal eingeben musst. Außerdem hast du ein Problem mit den Anführungszeichen. Meine Version wäre:

    Bash
    #!/bin/bash
    # Leica mounten
    su - -c 'mount -r $(fdisk -l | grep Novell | cut -d " " -f 1) /mnt/leica'
    konqueror /mnt/leica &

    Also alles, was root braucht, in einer einzigen Zeile machen. cut bevorzuge ich da auch vor dem Substring, weil es bei beliebigen Stringlängen funktionieren würde.


    Zur Erklärung: ein weiteres Problem bei dir waren die Anführungszeichen. Bei "" werden Variablen und $-Ausdrücke im String zuerst ersetzt, bevor der String an das umgebende Kommando weitergereicht wird. Damit wurde als fdisk noch als User aufgerufen. Erst das Ergebnis davon würde an su weitergegeben werden.


    '' (also die einfachen Anführungszeichen) jedoch macht das nicht. Der Inhalt wird direkt übergeben. Damit wird fdisk nun erst von su ausgeführt und damit im root-Modus.

    Aber wenn du openSUSE bootest, kriegst du den GRUB2 Screen schon? Mit Timeout und so? Etwa wie hier File:Grub2_boot_menu_15.0.png? Nur dass der dir kein Windows anbietet? Wenn ja, dann:

    • Starte YaST
    • Wähle dort "Boot Loader" (hab hier gerade die engliche Variante, ich denke deutsch heißt es ähnlich)
    • Dort den dritten Tab "Bootloader Optionen"
    • Und da den Haken bei "Probe Foreign OS" (deutsch irgendwas mit "Auf fremdes OS prüfen" oder so) setzen, falls nicht schon geschehen

    Wenn der Haken da schon stand, dann hilft es manchmal in wegzunehmen, OK zu klicken und ihn dann wieder einzuschalten.

    Es gubt hier im Forum einen Ordner Tutorials/Howtos. Da werden solche immer wiederkehrenden Probleme behandelt. Ein Blick dort hinein lohnt mitunter.
    opensuse-forum.de/thread/10627…-ordner-tmp-l%C3%B6schen/


    Den Beitrag würde ich gerne etwas überarbeiten. Mir gefällt dort nicht

    • Dass das Löschen von /var/tmp schon nach 1 Tag empfohlen wird. /var/tmp ist explizit für Dateien, die einen Reboot überleben sollen. Dort sollte man mindestens längere Zeit warten!
    • Dass empfohlen wird, die tmp.conf zu kopieren und zu ändern. Diese Datei soll unter Kontrolle der Distribution bleiben! Besser eine eigene, neue Datei erstellen.
    • Auch die vorgeschlagene Änderung des Modes von d auf D ist aus meiner Sicht problematisch. Damit könnte das entsprechende Verzeichnis ggf. gelöscht werden. Das könnte unerwartete Folgen haben.

    Eine Idee hätte ich noch: Um herauszufinden, auf welche Pfade opensc-tool zugreift, um den Leser zu finden, kannst du als root folgendes Kommando benutzen:

    Code
    ls -l `strace opensc-tool -l 2>&1 | grep open | cut -d '"' -f 2`

    Was macht das?

    • Es lässt opensc-tool unter strace laufen, um die Systemcalls mitzutracen
    • Aus der Ausgabe filtert es die open calls heraus
    • Dort wiederum extrahiert es die in Anführungszeichen stehenden Dateinamen
    • und gibt dann diese Liste an ls -l, um Namen, Owner usw. anzuzeigen

    Daraus kannst du evtl ermitteln welcher Pfad geöffnet werden muss, den du als User nicht öffnen darfst.
    Achtung, du wirst auch Meldungen über Dateien erhalten, die nicht existieren. Das ist kein Problem. Das heißt lediglich, dass das Programm mal versucht hat eine Datei zu finden und nicht, dass es sie unbedingt benötigen würde. Also nicht auf diese Fehlermeldungen konzentieren!