[gelöst] ntfs-3g mountet nicht: FATAL: Module fuse not found

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
cardillac
Beiträge: 24
Registriert: 08.07.2007 16:09:04

[gelöst] ntfs-3g mountet nicht: FATAL: Module fuse not found

Beitrag von cardillac » 12.12.2007 12:42:03

Hallo,

habe debian stable(kernel 2.6.8...) mit samba laufen und wollte nun per externem USB/eSATA-Gehäuse div. SATA-Festplatten (NTFS) anschliessen. Die Festplatten müssen NTFS behalten, da sie abwechselnd am Samba-Server und XP-Arbeitsstationen angeschlossen werden.
Dazu habe ich ntfs-3g installiert und die entsprechenden abhängigen Pakete. Alles über Backports, wie ich es in diesem Beitrag

http://www.debianforum.de/forum/viewtop ... bc6+update

gelesen habe.

Beim Ausführen von

Code: Alles auswählen

mount -t ntfs-3g /dev/sda1 /home/daten/texture -o force

kommt nun das

Code: Alles auswählen

FATAL: Module fuse not found.
fusermount: fuse device not found, try 'modprobe fuse' first
FUSE mount point creation failed
Unmounting /dev/sda1 (Textures)
Fuse funzt so noch nicht...

Code: Alles auswählen

s3:~# modprobe fuse
FATAL: Module fuse not found.

Code: Alles auswählen

s3:~# /etc/init.d/fuse restart
Restarting filesystem in userspace: fuse failed!
Manuelles Starten geht, zumindest lt. Meldung

Code: Alles auswählen

s3:~# /etc/init.d/fuse start
Starting filesystem in userspace: fuse.
s3:~# /etc/init.d/fuse stop
Stopping filesystem in userspace: fuse.

Muss ich fuse als Modul in den Kernel kompilieren (trotz aptitude Inst.)?
Davon habe ich absolut keinen Plan (Windows-Admin)!
Könnt ihr mir da bitte einen sicheren Weg aufzeigen, mit dem ich nicht den ganzen Server zerschiesse?
In /etc/modules habe ich 'fuse' auch schon eingetragen.

Kann es evtl. noch an der libc6(>= 2.3.6-6) liegen?

Meine Installation sah so aus:

Code: Alles auswählen

s3:~# aptitude
Wähle vormals abgewähltes Paket libfuse2.
(Lese Datenbank ... 32460 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke libfuse2 (aus .../libfuse2_2.6.5-1~bpo.1_i386.deb) ...
Wähle vormals abgewähltes Paket fuse-utils.
Entpacke fuse-utils (aus .../fuse-utils_2.6.5-1~bpo.1_i386.deb) ...
Wähle vormals abgewähltes Paket libntfs-3g2.
Entpacke libntfs-3g2 (aus .../libntfs-3g2_1%3a1.516-1~bpo.1_i386.deb) ...
Richte libfuse2 ein (2.6.5-1~bpo.1) ...

Richte fuse-utils ein (2.6.5-1~bpo.1) ...
creating fuse device node...
creating fuse group...
Starting filesystem in userspace: fuse.

Wähle vormals abgewähltes Paket ntfs-3g.
(Lese Datenbank ... 32491 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke ntfs-3g (aus .../ntfs-3g_1%3a1.516-1~bpo.1_i386.deb) ...
Richte libntfs-3g2 ein (1.516-1~bpo.1) ...

Richte ntfs-3g ein (1.516-1~bpo.1) ...
Setting ntfs-3g suid root with group fuse...done
Users from 'fuse' group can now mount NTFS volume.

Drücken Sie zum Fortsetzen die Eingabetaste.
meine /etc/apt/sources.list (z.Zt)

Code: Alles auswählen

#deb file:///cdrom/ sarge main
deb http://backports.org/debian/ etch-backports main contrib non-free

#deb http://ftp2.de.debian.org/debian/ stable main contrib non-free
#deb-src http://ftp2.de.debian.org/debian/ stable main contrib non-free
#deb http://security.debian.org/ stable/updates main contrib non-free
Mounten mit

Code: Alles auswählen

mount -t ntfs -o umask=000 /dev/sda1 /home/daten/texture
geht übrigens. Nur kann ich dann natürlich nicht schreiben...

Danke für eure Tips und Hilfe!
cardillac
Zuletzt geändert von cardillac am 15.12.2007 15:26:02, insgesamt 1-mal geändert.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 12.12.2007 13:38:02

der 2.6.8er Kernel dürfte das fuse Modul noch nicht beinhalten.
Am einfachsten installierst du dir daher einen aktuelleren Kernel. Alternativ könntest das "fuse-source" Paket installieren ( vielleicht gibts das auch in Backports, ansosnten aus Testing ), dann kannst du das Modul mit dem module-assistant ( gleichnamiges Paket ) selber bauen

Gruß
gms

cardillac
Beiträge: 24
Registriert: 08.07.2007 16:09:04

Beitrag von cardillac » 12.12.2007 14:24:15

gms,
Am einfachsten installierst du dir daher einen aktuelleren Kernel.
Wie geht 'am einfachsten'?
Krieg ich das hin, ohne alles zu zerschiessen?
Kann ich das ohne Backup wagen?
Wenn Backup, was gilt es beim Kernel-Upgrade zu sichern?
Ist ein neuer Kernel mit den installierten Paketen kompatibel, oder zieht das Upgrades bzw. ohne Uprgades Systemausfall nach sich?
Welcher (stabile) Kernel wird empfohlen?

Sorry, für die vielen Anfängerfragen!

Gruß
cardillac

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 12.12.2007 17:03:02

Ich habe noch nie die Backports verwendet, wenn es dort einen neueren Kernel gibt, dann versuchs mit dem einmal.
Daß du dir damit etwas zerschießt ist schon ziemlich unwahrscheinlich. Wenn du den alten Kernel behältst und etwas nicht funktionieren sollte, kannst du ja zurückwechseln. Wenn das ein System ist, wo du nicht direkt rankommst ( z.B Root Server ), dann kannst du Grub so konfigurieren, daß dieser den alten Kernel bootet, wenn der neue nicht durchstartet.
Wenn du kein halbwegs aktuelles Backup hast, dann würde ich mich eher fragen, kann ich die Nacht noch ruhig schlafen, oder muß ich mich fürchten das nach z.B einem Festplatten-Crash alles futsch ist.
Mit dem Kernel-Upgrade steht das jedoch kaum in Zusammenhang.

Gruß
gms

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 12.12.2007 17:52:28

Stable, sprich Etch hat allerdings Kernel 2.6.18. Ich denke, das Fuse-Modul sollte dann mittels module-assistant dazugebaut werden können.

Clio

Re: ntfs-3g mountet nicht: FATAL: Module fuse not found

Beitrag von Clio » 12.12.2007 17:56:01

cardillac hat geschrieben:habe debian stable(kernel 2.6.8...)
Ich würde anhand des Kernels eher vermuten, Du hast oldstable bzw. sarge.
Etch ist stable mit einem Kernel 2.6.18-5
Was steht denn in der sources.list?

bonbon2k6
Beiträge: 226
Registriert: 25.08.2007 12:37:18

Beitrag von bonbon2k6 » 12.12.2007 18:16:18

huhu,
dann kannst du Grub so konfigurieren, daß dieser den alten Kernel bootet, wenn der neue nicht durchstartet.
richtig. bei mir hat debian sogar noch den Vorgänger in grub gepackt, falls mal alle stricke reißen. ich hab ebenfalls 2.6.18-5 (-k7) und ntfs-3g installiert. Das läuft problemlos. Neuer Kernel sollte das problem lösen.

Du kannst es aber auch mal direkt über die Entwicklerseite versuchen.
http://www.ntfs-3g.org/index.html#installation So hab ich es installiert. hat 5 minuten gedauert :)

mfg

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: ntfs-3g mountet nicht: FATAL: Module fuse not found

Beitrag von cirrussc » 12.12.2007 18:18:09

Hi,
Clio hat geschrieben:
cardillac hat geschrieben:habe debian stable(kernel 2.6.8...)
Ich würde anhand des Kernels eher vermuten, Du hast oldstable bzw. sarge.
Etch ist stable mit einem Kernel 2.6.18-5
Was steht denn in der sources.list?
Nein nein er hat schon etch, libc6(>= 2.3.6-6), und in der sources.list stehts auch.
Nur der Kernel ist zu alt.

Nachdem du wie beschrieben den aktuellen 2.6.18 etch-Kernel hast sollte das fuse-Module zu bauen/laden sein und du kannst ntfs-3g nutzen.

Gruß cirrussc

cardillac
Beiträge: 24
Registriert: 08.07.2007 16:09:04

Beitrag von cardillac » 12.12.2007 18:27:27

@alle danke für die Hinweise
@Clio
die sources.list steht oben schon, ist aber von mir bereits editiert, d.h. lässt keine 100% Rückschlüsse zu.
Ich habe ursprünglich - jetzt wo Ihr es sagt - sarge von DVD installiert, die hiess glaub ich 3.1. Dann habe ich wohl ein Update gemacht, dabei sind vielleicht die obigen Einträge mit stable entstanden. Diese Einträge habe ich nach einem Hinweis im Forum um non-free erweitert.

Woran kann man denn eindeutig die Kernel-Version erkennen?

/etc/kernelversion sagt 2.6
/etc/debian_version sagt 4.0

Wenn es sarge ist, was ich installiert habe, kann man dem Kernel denn auch das fuse einhauchen?
Oder besser upgraden?

@gms
backups von Daten waren bisher nicht nötig, da er nur als Anmeldeserver diente. Also konnte ich bisher gut schlafen.:wink:

Danke für eure Geduld!

Gruß
cardillac
PS: Installation ist 5 Monate her, deswegen meine Gedächtnislücke, habe in meinem eigenen Howto nachgesehen:
Setupoption expert26
Kernel 2.6.8-3-686!

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 12.12.2007 18:37:55

cardillac hat geschrieben: Woran kann man denn eindeutig die Kernel-Version erkennen?

Code: Alles auswählen

uname -r
cardillac hat geschrieben: Wenn es sarge ist, was ich installiert habe, kann man dem Kernel denn auch das fuse einhauchen?
Oder besser upgraden?
Gegen sarge spricht die libc6. Aber für den Fall:

Code: Alles auswählen

aptitude update
aptitude dist-upgrade
aptitude install linux-image-2.6.18-4-686
Gruß cirrussc

cardillac
Beiträge: 24
Registriert: 08.07.2007 16:09:04

Beitrag von cardillac » 12.12.2007 18:41:20

@cirrussc
die Installationsanleitung bzw. das Paket verlangt aber libc6 > 2.6.1 meine ist lt. aptitude aber aktuell = 2.3.6.ds1.

verwirrt
cardillac

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 12.12.2007 18:47:43

Hast du auch die sources.list bearbeitet, also die normalen etch Einträge wieder unkommentieren?
deb http://backports.org/debian/ etch-backports main contrib non-free

deb http://ftp2.de.debian.org/debian/ stable main contrib non-free
deb-src http://ftp2.de.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
Gruß cirrussc

cardillac
Beiträge: 24
Registriert: 08.07.2007 16:09:04

Beitrag von cardillac » 13.12.2007 12:46:17

@alle
vielen Dank für eure Tips und Hinweise. Es geht alles. Habe wieder viel gelernt!

Am wichtigsten aber ist, dass ich all meine vielen SATA-Platten jetzt mounten und beschreiben kann dank eurer Hilfe!!!

Der Tip den Kernel abzudaten, war goldrichtig. Habe mich nur nicht recht rangetraut.

Doch mit den Zeilen von cirrussc lief das reibungslos (Glück gehabt!).

Code: Alles auswählen

aptitude update
aptitude dist-upgrade
aptitude install linux-image-2.6.18-4-686
Nach den letzten beiden Schritten habe ich jeweils ein Reboot gemacht, um zusehen, ob er sich starten lässt.

Das ursprüngliche Prob ist zwar gelöst, hätte aber noch 1 -2 Nacgfragen:
Das exteren USB-Gehäuse mit 2 Platten steckt immer am gleichen USB-Anschluss, die Platten hiessen gestern

Code: Alles auswählen

/dev/sda
/dev/sdb
heute

Code: Alles auswählen

/dev/sde
/dev/sdf
was das mounten in der stab nach Gerät erschwert.

Kann man die Vergabe der SCSI-Namen steuern?

Andere Idee:
Kann man nach label mounten z.B.
Platte 1 -> Label=Photo01 nach /mnt/photo01
Platte 2 -> Label=Textures03 nach /mnt/texture03

Gruß
cardillac

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 13.12.2007 12:56:44

cardillac hat geschrieben: Kann man die Vergabe der SCSI-Namen steuern?

Andere Idee:
Kann man nach label mounten z.B.
Platte 1 -> Label=Photo01 nach /mnt/photo01
Platte 2 -> Label=Textures03 nach /mnt/texture03
da gibt es mehrere Möglichkeiten, über Label oder UUID gehts am einfachsten, bezüglich UUID habe ich dir hier einen Thread herausgesucht:
http://www.debianforum.de/forum/viewtop ... light=uuid

Gruß
gms

cardillac
Beiträge: 24
Registriert: 08.07.2007 16:09:04

Beitrag von cardillac » 13.12.2007 17:18:06

OK, danke! Für diejenigen, die noch wissen wollen wie es bis hierhin ging.

Mit ntfslabel Label ändern/verbegeben (dazu muss ntfsprogs installiert sein)

Code: Alles auswählen

ntfslabel -v /dev/sdb1 Texture01
reboot

Manuell mounten geht

Code: Alles auswählen

s3:~# mount -t ntfs-3g /dev/disk/by-label/Texture01 /home/daten/texture
fstab mountet nicht beim Booten

Code: Alles auswählen

/dev/disk/by-label/Texture01   /home/daten/texture  ntfs-3g  rw,users,nosuid,nodev,auto,uhelper=hal,uid=1000 0       2
Was ist noch falsch?
Gruß
cardillac
Zuletzt geändert von cardillac am 13.12.2007 23:37:45, insgesamt 1-mal geändert.

bonbon2k6
Beiträge: 226
Registriert: 25.08.2007 12:37:18

Beitrag von bonbon2k6 » 13.12.2007 22:02:18

wozu hast du bei pass = 2 ?

ich hab als optionen defaults

mfg

cardillac
Beiträge: 24
Registriert: 08.07.2007 16:09:04

Beitrag von cardillac » 13.12.2007 23:35:08

wozu hast du bei pass = 2 ?
dachte erst, daran lag es.
ich hab als optionen defaults
mit defaults gings leider auch nicht.

Gruß
cardillac

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 14.12.2007 15:53:53

gibts keine Fehlermeldung ?
Was kommt bei:

Code: Alles auswählen

dmesg -c >/dev/null
mount /home/daten/texture
dmesg
dmesg

cardillac
Beiträge: 24
Registriert: 08.07.2007 16:09:04

Beitrag von cardillac » 15.12.2007 15:24:49

@gms
ich kann das gearde nicht checken, da die USB Platten kopieren.#

Mal abgesehen vom Mounten über die fstab ging ja bisher alles. Habe mir daher eine andere Lösung erarbeitet. Da ich rel. viele Platten habe, die ich nicht gleich nach dem Starten brauche, sondern erst später bzw. auch mehrfach hintereinander wechseln muss, habe ich mir ein Script zum Automounten geschrieben.

Ich hänge das mal hier rein (ohne Garantie, nicht steinigen, wenn's nicht geht). Vielleicht können andere Debian-Einsteiger ja etwas damit anfangen. Ausserdem finde ich ein [gelöst] Thread sinnvoller, wenn am Ende steht wie...

Bei der Lösung kam es mir darauf an, dass

- die Seriennummer, UUID o.ä. des Datenträgers NICHT fest ins Script reingecoded wird (logisch)
- ausserdem der Mount Point automatisch erzeugt wird z.B. /mnt/Texture01
- der Mount Point mit dem Inhalt der Platte assoziierbar ist
- das Dateisystem der Partition erkannt wird
- das ein normaler Anwender ein Platte einlegen+(auto)mounten kann ohne die Seriennummer oder UUID zu kennen

Also kommt nur das Label der Platte als Quelle dessen, welche Platte gerade eingelegt wurde in Frage.
Ich muss nur darauf achten, dass das LAbel eineindeutig ist, da mount sonst nur mit einer Platte/Partition geht. Auf jeder Platte ist das Label notiert. Leerzeichen im Label sind verpoten!

Alle Beispiele im Netz von udev-Regeln oder Einträgen in der fstab gehen davon aus, dass man weiss, welchen Device-Node die Platte erhalten hat (/dev/sda) oder mit die Partion anhand der UUID erkennt und darauf entsprechend reagiert (backup, USB-Stick Daten abgleichen, mount point mit sprechenden Namen).

udev reagiert ja auf das Einlegen einer Platte in das USB-Gehäuse, so dass ich mit einer udev Regel die Information bekomme, welcher Device-Node bei diesem Event vergeben wurde. Mit dem Parameter(%k) starte ich dann das Script.

Das Script holt sich dann aus einer Datei /lib/udev/vol_id die Informationen wie Label + FS-Type.
Damit kann ich dann den Mountpoint erstellen und die PArtition mounten.

Nicht wundern, Kommentare sind meist in Englisch, weil ich mir das für php-Scripte so angewöhnt habe.

udev Regel

/etc/udev/rules.d/10-xmount.rules

Code: Alles auswählen

# rule to start mount script for  SCSI devices(USB, eSATA) automatically when hotplug event occurs
ACTION!="add", GOTO="end"
SUBSYSTEM!="block", GOTO="end"
ACTION=="add" BUS=="usb", KERNEL=="sd?[0-9]",  RUN+="/bin/bash /home/daten/bat/xmount.sh %k"
LABEL="end"
Automount Script

/home/daten/bat/xmount.sh

Code: Alles auswählen


# Programm zum automatischen Mounten von externen Laufwerken USB
# eine udev-Rule startet bei Eintreten des Hotplug-Events
# dieses Script mit der Device-Node als ersten Parameter

#!/bin/bash
BY_LABEL_DIR=/dev/disk/by-label/
VOLUME_HOME=/home/daten/
DEV_LABEL=0
DEV_NODE=/dev/$1

if [ ! -e ${DEV_NODE} ] ; then
  exit 1
fi

# erst Zeilen für sdxn finden, dann vorne und hinten wegschneiden, obsolet, da vol_id --expot bessere Daten liefert
# DEV_STRING=`ls -l1 /dev/disk/by-label | grep 'sd[a-z][0-9]$' | sed 's/^[- a-z0-9]*:[0-9]* //g' | sed 's/ [- \>_./a-z0-9]*$//g'`

# Volume-Label aus /lib/udev/vol_id holen
DEV_STRING=`/lib/udev/vol_id --export ${DEV_NODE} | grep SAFE|cut -f2 -d=`
DEV_FSTYPE=`/lib/udev/vol_id --export ${DEV_NODE} | grep TYPE|cut -f2 -d=`

  # Check if valid label
  if [[ $DEV_LABEL == [-._a-zA-Z0-9]* ]] ; then
    # concat drive label link
    DEV_LINK=${BY_LABEL_DIR}${DEV_LABEL}
    # concat mount point
    VOLUME_MNT=${VOLUME_HOME}${DEV_LABEL}

    # echo ${VOLUME_MNT}

    # Create mountpoint if not exists
    if [ ! -e ${VOLUME_MNT} ] && [ -e ${DEV_LINK} ] ; then
      mkdir ${VOLUME_MNT}
    fi

    # Mount drive if not already mounted
    if ! cat /etc/mtab | grep -c ${DEV_LINK}>/dev/null 2>&1; then
        case "$DEV_FSTYPE" in
        ntfs)
          # fix drive to prevent errors
          ntfsfix ${DEV_LINK}
          mount.ntfs-3g ${DEV_LINK} ${VOLUME_MNT} -o force,user,users,gid=users,umask=0000 -v
        ;;
        vfat)
          # mount with vfat
          mount -t vfat ${DEV_LINK} ${VOLUME_MNT} -o user,users,gid=users,umask=0000 -v
        ;;
        *)
         # ToDo ext3,...
        ;;
        esac

    fi
  fi

Sowohl in der Regel als auch im Script gibt es sicherlich etwas, was man weglassen bzw. einfacher ausdrücken könnte. Mehrere Partitionen und andere Dateisysteme sind auch noch nicht berücksichtigt.

Aber entscheidend ist, dass es funktioniert. Die bereits angeschlossenen USB-Platten erkennt es auch beim Hochfahren, womit die fstab-Variante für mich vorerst nicht mehr in Betracht kommt.

Vielen Dank nochmal an euch für die Hinweise, Hilfe + Tips,
Grüße
cardillac

Antworten