Nie mehr "mount"
Automatisches Mounten von Dateisystemen bei SuSE Linux 7.1
Das Programm mc
Wenn Sie mit Programmen wie mc arbeiten sollten, werden sie beim Wechsel in das Root-Verzeichnis feststellen, dass beide Laufwerke aktiviert werden. Bei der Floppy ist diese Aktivierung akustisch wahrnehmbar aber normal, da mc versucht, seinen Verzeichnisbaum zu aktualisieren.
Solange keine Datenträger eingelegt sind, erscheinen unter mc Einträge !floppy und !cdrom in rot, um dies zu symbolisieren. Sobald (z. B.) eine Diskette eingelegt und auf den Eintrag !floppy gewechselt wird, wird das Filesystem gemountet. Der Eintrag ändert seine Farbe und Position innerhalb des Verzeichnisbaumes. Bei nochmaliger Betätigung der [Return]-Taste wird der Inhalt der Floppy angezeigt.
yast
Wenn Sie als Administrator nachträglich mit YaST 2 Pakete installieren möchten, kann sich dies etwas hinziehen: YaST 2 greift mehrfach auf das CD-Laufwerk zu, dadurch wird auch mehrfach der Automounter bemüht. YaST (1) hingegen verhält sich unangenehmer; es stürzt ab. Dies passiert, wenn Sie YaST aufrufen, in die Paketauswahl gehen und anschließend warten, bis der Automounter die CD wieder entfernt. Wenn Sie danach mit Yast weiter arbeiten wollen, erleben Sie eine Enttäuschung.
Es bieten sich zwei Lösungen an: Zum einen kann die Timeout-Zeit des Automounters geändert werden, zum anderen kann der Automounter mit rcautofs stop angehalten und die auskommentierten Zeilen für die Laufwerke in der Datei /etc/fstab wieder aktiviert werden. Nach Abschluss der Arbeiten wird die fstab wieder in den Grundzustand versetzt und der Automounter mit rcautofs start erneut aktiviert. Für diese Prozedur können Sie Listing 3 (noautofs) verwenden, etwa in der Form noautofs yast.
Bei den abgedruckten Listings sind in Klammern Vorschläge für die Programmnamen und Zugriffsrechte angegeben.
Listing 1
(makeautofs 700)
# Konfigurationsdatei bearbeiten
cp -p /etc/rc.config /tmp/rc.config
cat /tmp/rc.config | awk '{if (substr($0,1,12) == "START_AUTOFS") /
print "START_AUTOFS=\"yes\"" ; /
else print $0}' > /tmp/rc.config1
cat /tmp/rc.config1 | awk '{if (substr($0,1,14) == "AUTOFS_OPTIONS") /
print "AUTOFS_OPTIONS=\"--timeout 5\"" ; /
else print $0}' > /tmp/rc.config
cp -p /tmp/rc.config /etc/rc.config
# Dateien Automounter erstellen
echo "/mnt /etc/auto.local" > /etc/auto.master
echo "cdrom -fstype=iso9660,ro :/dev/cdrom" > /etc/auto.local
echo "floppy -fstype=auto,rw,umask=000 :/dev/fd0" >> /etc/auto.local
# fstab modifizieren
cp -p /etc/fstab /tmp/fstab
cat /tmp/fstab | awk '{if ($1 == "/dev/cdrom") print "# "$0; /
else print $0}' > /etc/fstab
cp -p /etc/fstab /tmp/fstab
cat /tmp/fstab | awk '{if ($1 == "/dev/fd0") print "# "$0; /
else print $0}' > /etc/fstab
# Verzeichnisse erstellen
rm -r /floppy
rm -r /cdrom
ln -s /mnt/floppy /floppy
ln -s /mnt/cdrom /cdrom
# Automounter straten
rcautofs start
Listing 2
(makeiconfs 755)
TMP1=$HOME/KDesktop/Floppy.desktop
TMP2=$HOME/KDesktop/CD-ROM.desktop
rm $TMP1
rm $TMP2
echo "[Desktop Entry]" > $TMP1
echo "Comment[de]=Inhalt der Floppy anzeigen" >> $TMP1
echo "Exec=konqueror file:/floppy" >> $TMP1
echo "Icon=3floppy_unmount" >> $TMP1
echo "Name[de]=Floppy" >> $TMP1
echo "[Desktop Entry]" > $TMP2
echo "Comment[de]=Inhalt der CD anzeigen" >> $TMP2
echo "Exec=konqueror file:/cdrom" >> $TMP2
echo "Icon=cdrom_unmount" >> $TMP2
echo "Name[de]=CD-ROM" >> $TMP2
for TT in $TMP1 $TMP2
do
echo "MimeType=" >> $TT
echo "Path=" >> $TT
echo "ServiceTypes=" >> $TT
echo "SwallowExec=" >> $TT
echo "SwallowTitle=" >> $TT
echo "Terminal=false" >> $TT
echo "TerminalOptions=" >> $TT
echo "Type=Application" >> $TT
echo "X-KDE-SubstituteUID=false" >> $TT
echo "X-KDE-Username=" >> $TT
done
chmod 600 $TMP1
chmod 600 $TMP2
Listing 3
(noautofs 700)
# Aufruf "noautofs yast" oder mit einem anderen Programm
# das gestartet werden soll
rcautofs stop
cp -p /etc/fstab /tmp/fstab
cat /tmp/fstab | awk '{if (substr($0,1,12) == "# /dev/cdrom")
print substr($0,3); else print $0}' > /etc/fstab
cp -p /etc/fstab /tmp/fstab
cat /tmp/fstab | awk '{if (substr($0,1,10) == "# /dev/fd0")
print substr($0,3); else print $0}' > /etc/fstab
rm -r /floppy
rm -r /cdrom
mkdir -m777 /floppy
mkdir -m777 /cdrom
command $1
cp -p /etc/fstab /tmp/fstab
cat /tmp/fstab | awk '{if ($1 == "/dev/cdrom") print "# "$0; /
else print $0}' > /etc/fstab
cp -p /etc/fstab /tmp/fstab
cat /tmp/fstab | awk '{if ($1 == "/dev/fd0") print "# "$0; /
else print $0}' > /etc/fstab
rm -r /floppy
rm -r /cdrom
ln -s /mnt/floppy /floppy
ln -s /mnt/cdrom /cdrom
rcautofs start
Glossar
gemountet
nennt man das Ein- und Aushängen eines Speichermediums (wie Disketten oder Partitionen) in den Linux-Verzeichnisbaum. Wenn kein passender Eintrag in der Konfigurationsdatei /etc/fstab vorhanden ist, kann dieses Einbinden nur durch den Systemadministrator durchgeführt werden.
Mount-Point
Ein Verzeichnis, unter dem eine Partition oder ein Gerät in den Linux-Verzeichnisbaum "eingehängt" wird.
Gerätedatei
Unter Linux wird auf Geräte (engl.: Devices) über spezielle Dateien zugegriffen, die im Verzeichnis /dev liegen.
Link
Verweis auf eine andere Datei. Dieser Eintrag enthält keine eigenen Daten. Daten enthält nur die Datei, auf die über den Link verwiesen wird.



