1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Talk Wie USB-Stick dauerhaft in Igel einbinden?

Dieses Thema im Forum "CS Root & Vserver" wurde erstellt von rosi73, 3. Oktober 2012.

  1. rosi73
    Offline

    rosi73 Ist oft hier

    Registriert:
    15. August 2012
    Beiträge:
    107
    Zustimmungen:
    41
    Punkte für Erfolge:
    28
    Ich würde gerne meinen USB Stick dauerhaft (nach dem Reboot) ins System einbinden, um meine Logfiles dort zu speichern und dadurch die CF Karte zu entlasten.

    Mit mount /dev/sdb1 /mnt/Stick bekomme ich den Stick bis zum nächsten Reboot eingebunden. Aber mit welchem Trick kann ich den Stick dauerhaft einbinden? Hab das Forum durchsucht... halb Google durchsucht... irgendwie habe ich nicht die richtigen Suchbegriffe.

    Bestimmt gibt es eine ganz einfache Lösung. Kann mir jemand helfen???
     
    #1
  2. phantom

    Nervigen User Advertisement

  3. jensebub
    Offline

    jensebub Stamm User

    Registriert:
    8. Mai 2010
    Beiträge:
    1.059
    Zustimmungen:
    1.717
    Punkte für Erfolge:
    113
    Geschlecht:
    männlich
    Beruf:
    hab ich
    Ort:
    abvomweltlichen
    AW: Wie USB-Stick dauerhaft in Igel einbinden?

    Hallo,
    trage doch einfach deinen mount befehl in die /etc/rc.local ein.

    Aber davon ab, ein USB-Stick ist ähnlich wie eine CF-card und verträgt nur ähnlich viele Lese-Schreibzyklen.
    Wichtiger wäre da sowas wie tmp2ram und logmini.

    Gruß
    jensebub
     
    #2
    rosi73 und (gelöschter Benutzer) gefällt das.
  4. rosi73
    Offline

    rosi73 Ist oft hier

    Registriert:
    15. August 2012
    Beiträge:
    107
    Zustimmungen:
    41
    Punkte für Erfolge:
    28
    Manche DInge können so einfach sein... WENN man sie weiss :D Vielen Dank!

    Ich weiss, das die Karte auch nicht ewig hält, aber ich hab so viele kleine hier, die ich damit "verbrauchen" kann, das mir das die CF bestimmt danken wird ;)
     
    #3
  5. jensebub
    Offline

    jensebub Stamm User

    Registriert:
    8. Mai 2010
    Beiträge:
    1.059
    Zustimmungen:
    1.717
    Punkte für Erfolge:
    113
    Geschlecht:
    männlich
    Beruf:
    hab ich
    Ort:
    abvomweltlichen
    AW: Wie USB-Stick dauerhaft in Igel einbinden?

    Also wie gesagt, mit dem tmp2ram wird sie es dir noch mehr danken :ja, da die logs im ram geschrieben werden ;)

    Gruß
    jensebub
     
    #4
    rosi73 gefällt das.
  6. aragorn
    Offline

    aragorn Guest

    AW: Wie USB-Stick dauerhaft in Igel einbinden?

    ein kleiner usb stick ist vermutlich nicht mals so schnell (oder langsam?) wie die compact flash also könnte es passieren dass das system ausgebremst werden würde. eigentlich unwarscheinlich weil in ein logfile immer nur kleine stücke geschrieben werden aber es gibt auch wirlich super langsame usb sticks die genau das erreichen würden deshalb bin ich mit solchen aussagen "das kann nicht passiern" eher vorsichtig ;)

    aber wie jensebub schon sagte haben sowohl usb sticks als auch compact flash / sd / ssd eine ähnliche technik aber keine unendliche lebensdauer um so mehr sie mit lese/schreib zyklen belastet werden.. normalerweise würden dann defekte speicher zellen abgeschaltet und nicht mehr genutzt werden wodurch diese medien dann immer kleiner werden aber im schlimmsten fall betrifft das "am anfang" liegende zellen die vom dateisystem wichtige informationen enthalten und dann wär das aktuell installierte system erst mal kaputt und müsste neu installiert werden..



    um aber trotzdem auf die überschrift ein zu gehen:
    damit usb geräten immer wieder den selben "/dev/" port beziehungsweise namen kriegen nutzt man: udev
    die meisten geräte haben eine sogenannte " iSerial " über die sie (eigentlich) eindeutig zu identifizieren sind..
    bei mir sähe das zum beispiel so aus:
    Code:
    root@raspberrypi:~# lsusb -v|grep iSerial
    ...
    Bus 001 Device 006: ID 0204:6025 Chipsbank Microelectronics Co., Ltd CBM2080 Flash drive controller
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               2.00
      bDeviceClass            0 (Defined at Interface level)
      bDeviceSubClass         0 
      bDeviceProtocol         0 
      bMaxPacketSize0        64
      idVendor           0x0204 Chipsbank Microelectronics Co., Ltd
      idProduct          0x6025 CBM2080 Flash drive controller
      bcdDevice            1.00
      iManufacturer           1 USB 2.0
      iProduct                2 Flash Drive
      iSerial                 3 [COLOR=#ff0000]2315460062920201[/COLOR]
      bNumConfigurations      1
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength           32
        bNumInterfaces          1
        bConfigurationValue     1
        iConfiguration          0 
        bmAttributes         0x80
          (Bus Powered)
        MaxPower              100mA
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          bNumEndpoints           2
          bInterfaceClass         8 Mass Storage
          bInterfaceSubClass      6 SCSI
          bInterfaceProtocol     80 Bulk-Only
          iInterface              0 
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x01  EP 1 OUT
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0040  1x 64 bytes
            bInterval               0
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x81  EP 1 IN
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0040  1x 64 bytes
            bInterval               0
    es gäbe aber auch noch andere merkmale die man für udev nutzen könnte um ein angeschlossenes usb gerät eindeutig zu identifizieren zum beispiel idVendor oder idProduct was aber vorraussetzen würde das man von diesem geräte typ nicht mehrere nutzt (wie es zum beispiel bei smartcard readern der fall wäre da die alle die selbe Vendor und Product kennung haben..)

    wenn noch kein udev installiert hat muss sich das erst installieren: apt-get install udev
    danach geht man wie folgt vor:

    1) rules file erstellen: nano /etc/udev/rules.d/90-usb.rules
    2) in die datei mit den geräte spezifischen daten die folgende zeile einfügung :
    Code:
    SUBSYSTEMS=="usb", ATTRS{serial}=="[COLOR=#ff0000]2315460062920201[/COLOR]", ACTION=="add", SYMLINK+="USBstick"
    3) udev neu starten: /etc/init.d/udev restart
    4) usb stick herraus ziehen. ein paar sekunden warten und wieder einstecken und dann prüfen ob der angegebene SYMLINK auch in /dev/ auftaucht:
    Code:
    root@raspberrypi:~# ls -la /dev/USB*
    lrwxrwxrwx 1 root root 4 Okt  3 12:46 /dev/USBstick -> sda1
    root@raspberrypi:~# 
    
    (denn udev legt nur eine verknüpfung an)
    wenn das der fall ist kann das usb gerät künftig immer über diesen dev port angesprochen werden.
    ACTION=="add" sorgt dafür das die regel nur zutrifft wenn das gerät neu angeschlossen wird ansonsten würde die rule auch ausgeführt werden wenn man es herraus zieht..

    man kann das aber auch insofern erweitern das udev das gerät auch automatisch in ein bestimmtes verzeichniss mounten würde.
    dazu gibt es mehrere möglichkeiten aber ich beschreib mal hier nur die aus meiner sicht einfachste:

    dazu muss man sich ein Script file erstellen was das mounten und unmounten übernehmen würde
    also zunächst das Script erstellen:
    nano /bin/stick
    Code:
    #!/bin/bash
    FROMdevice="[COLOR=#ff0000]/dev/USBstick[/COLOR]"
    TOdir="[COLOR=#ff0000]/mnt/USBstick[/COLOR]"
    mountOPT=""
    #
    [ -z "$1" ] && echo "Usage: $0 [mount|umount]" && exit 0
    if [ $1 == "mount" ]; then
        [ ! -d $TOdir ] && mkdir -p $TOdir
        mount $mountOPT $FROMdevice $TOdir
    elif [ $1 == "umount" ]; then
        umount $TOdir
    fi
    
    exit 0
    (die rot markierten variablen kannst du nach belieben anpassen. wenn das laufwerk bestimmte mount options wie zb "-t vfat" benötigt dann kannst du das in mountOPT="" eintragen)
    script ausführbar machen: chmod 755 /bin/stick
    die udev rules datei müsste dann auch noch erweitert werden: nano /etc/udev/rules.d/90-usb.rules
    Code:
    SUBSYSTEMS=="usb", ATTRS{serial}=="[COLOR=#ff0000]2315460062920201[/COLOR]", ACTION=="add", SYMLINK+="USBstick", RUN+="/bin/stick mount"
    SUBSYSTEMS=="usb", ATTRS{serial}=="[COLOR=#ff0000]2315460062920201[/COLOR]", ACTION=="remove", RUN+="/bin/stick umount"
    wir brauchen 2 rule einträge da das laufwerk sonst nicht umounted wird und es dann jede minute haufenweise fehlermeldungen im /var/log/syslog geben würde..

    problematisch wird das allerdings wenn das laufwerk mehrere partitionen hat die alle gemounted werden sollen dann müssten die rules und die scripts anders aussehen aber da gehe ich erst drauf ein wenn das hier wirklich jemand wissen will..



    /edit: ein weiteres beispiel (funktioniert auch mit mehreren partitionen) wurde zwischenzeitlich hier beschrieben:

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

     
    Zuletzt von einem Moderator bearbeitet: 4. Dezember 2012
    #5

Diese Seite empfehlen