Mounting Paradox

Post Reply
Message
Author
Marc

Mounting Paradox

#1 Post by Marc »

Moin!

Kann mir jemand erklären warum ich eine CD mit "mount /dev/cd0" aber nicht mit "mount /dev/cd0 /cdrom" mounten kann? Ist das irgendwie im mountBefehl mit drin, dass er weiss, was er mit der /dev/cd0 machen soll? Und gibts dann sowas für TapeDrives auch? Geht bei mir nämlich weder mit "mount /dev/rmt0" noch "mount /dev/rmt0 /tapemnt" (/tapemntVerzeichnis hab ich davor schon gemkdirt). Oiso ich check des irgendwie ned.. Fürn paar Infos wär ich dankbar! :)

Gruß,
Marc

Michael

Re: Mounting Paradox

#2 Post by Michael »

Schau der mal die "/etc/fstab" an.<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">man /etc/fstab</font><hr></pre></blockquote>

Cheers

Michael

Jochen

Re: Mounting Paradox

#3 Post by Jochen »

<li>Als root sollte "mount /dev/cd0 /cdrom" funktionieren (zumindest, wenn /dev/cd0 existiert - meintest Du /dev/scd0?). Als normaler User darfst Du Medien nur dann mounten, wenn sie in der /etc/fstab eingetragen sind und in der 4. Spalte u.a. die Option "user" gesetzt haben. Dann darfst Du ausser Mountpunkt oder Device auch nichts anderes angeben; weitere Mountoptionen beispielsweise werden abgelehnt.

<li>Platten und alles, was einen sog. wahlfreien Zugriff erlaubt, sind Block Devices. Ein "ls -l /dev/hda*" zeigt Dir welche an. Man erkennt sie am "b" als erstem Zeichen in der Zeile vor den Zugriffsrechten. Tapes sind Character Devices, auf die (von Ausnahmen abgesehen) nur sequentieller Zugriff möglich ist. Man erkennt sie am "c" als erstem Zeichen vor den Zugriffsrechten (ls -l /dev/tty* /dev/rmt*). Dateisysteme kannst Du nur auf Block Devices anlegen, da ein Dateisystem auf die Speichereinheiten des Mediums wahlfrei zugreifen können muss. Wahlfrei bedeutet, dass die Speichereinheiten in beliebiger Reihenfolge angefordert werden können und ein Vor-/Zurückpositionieren des "Lesezeigers" möglich sein muss. Das ist aber bei Tapes nicht gegeben. Fazit: Dateisysteme auf Tapes gehen nicht.

Jochen

Marc

Re: Mounting Paradox

#4 Post by Marc »

Danke für die Infos!
Ich war als root angemeldet und trotzdem hat "mount /dev/cd0 /cdrom" nicht funktioniert. nur ohne mountpoint-angabe hats wunderbar geklappt.
zu den tapes: wie kann ich die dann lesen oder beschreiben, wenn ich sie nicht ans system mounten kann? muss doch irgendwie zugriff drauf kriegen, sonst bringen mir die doch nix?! :)

Gruß,
Marc

Scory

Re: Mounting Paradox

#5 Post by Scory »

"Mounten" muß man nur Devices, die ein sog. formatiertes "Filesystem" drauf haben - also beispeislweise Partitionen mit den verschiedensten Filesystemen (ext2, ext3, reiserfs, vfat, ntfs etc. pp.). Eine Daten-CD hat auch ein Filesystem (das sind i.A. die Ordner und Dateien), bei der CD heißt das Filesystem ISo9660. Eine Audio-CD hat KEIN Filesystem und wird auch nicht "gemountet", sondern man liest die Daten direkt vom sog. "special Device" (das ist die "Gerätedatei" in /dev), also beispielsweise /dev/hdc (bei IDE-Controllern; die Namensgebung der Devices hat auch eine Logik, sprengt jetzt aber den Rahmen).

Mounten muß man deswegen, weil man die Daten als Dateien vorfinden möchte und es aber keine Laufwerksbuchstaben gibt wie bei Windows (dort sprichst Du die "Devices" mit C:, D: etc. an). Unter Linux muß man dagegegen einen beliebigen (leeren!!) Ordner anlegen (egal wo), und durch das mounten wird dieser Ordner zum "root"-Ordner des gewünschten Devices und man findet die Dateien und Ordner aller unterhalb des Mount-Ordners (bzw. Ordner heißen eigenlich "Directory").

Nun zur Frage: man KANN auf einem Tape auch ein Filesystem einrichten - aber ich denke mal, daß Du das nicht getan hast. Es gibt sogar die Möglichkeit, auf Tapes Filesystem einzurichten die lesbar und schreibbar sind. Aber, wie gesagt, ich gehe davon aus, daß Du, ähnlich wie bei einer Audio-CD, einfach nur "Spuren" auf dem Band geschrieben hast (bei einem Band ist zwischen zwei Spuren ein physikalische End-Of-File Block - aber das geht jetzt auch schon zu weit). Unter Linux schreibt und liest man auf alle Geräte genauso wie auf "normale" Dateien: indem man sie "öffnet" und schließt. Wenn man nicht mit C-Programmen arbeitet (dann kann man die komplette Bibliothek der open()/read()/write() bzw. fopen()/fread()/fwrite benutzen), sondern mit "fertigen" Leseprogrammen innerhalb der Shell (meistens "bash"), dann benutzt man zumeist die Redirectoren '<' (zum Lesen) und '>' (zum Schreiben). Das "döfste" Lese- und Schreibprogramm was es gibt heiß "cat":

Du kannst vom Band (dessen Gerätename ich leider nicht kenne, müßten wir mal Googlen bzw. auch wissen, was Du benutzt) also die Daten so anzeigen lassen:

cat </dev/tape (wahrscheinlich gibt es einen sog. "symbolic Link" auf das Tapedevice mit dem Namen "tape"). So fängst Du natürlich mit den Daten nichts an, sie werden in einer Konsole angezeigt. Schlauer ist dann schon:

cat </dev/tape >/home/ich/datei
Danach stehen die Tapedaten beim User "ich" in der Datei "datei".

ABER: cat ist ggf. ungeeignet, für solche Operationen. Denn wie bei Festplatten, haben auch Tapes sog. "Blöcke", das ist die Anzahl Daten, die bei einem einfachen Read/Write-Zugriff geschrieben/gelesen werden. Bei "cat" gibt es keine Möglichkeit, diese Blocksize anzugeben, es wird mit einer Defaultgröße gearbeitet, die je nach Kernel nicht für Tapes ausgelegt ist.

Ein wesentlich schlaueres Programm heißt "dd" ( = "Device Dump"). Das macht eigentlich fast das gleiche wie cat, aber man kann viele Parameter angeben, u.a. die Blocksize für Lesen und auch eine für Schreiben (das sind die Parameter "ibs" und "obs"). Lies mal das Manual zu "dd" durch und mache Dich damit vertraut ("man dd" eingeben).

Da man aber ein Tape selten dafür benutzt um einzelne Dateien zu lesen oder zu schreiben, sondern natürlich ganze Backups von kompletten Dateistrukturen, dafür gibt es das Programm "tar" (= "Tape Archiver"). Tar kann von ganzen Directorstrukturen mit allen Unterverzeichnissen ein Abbild machen und schreibt dieses Abbild in eine einzige Riesendatei - diese Datei kann man nun seinerseits entweder auf die Festplatte sichern (das heißt dann meistens datei.tar), das wird gerne gemacht um diese dann als Download o.ä. anzubieten - oder man schreibt sie eben auf ein Tape und hat das ganze gesichert. Ein entsprechendes Kommando mit "dd" sieht dann so aus:

dd if=datei.tar of=/dev/tape obs=1024

Wenn man bei dd nicht den Parameter "if=" angibt, dann liest dd automatisch von stdin - d.h. man kann das Resultat von "tar" anstatt auf die Festplatte "zwischenzusichern" auch direkt auf das Band schreiben - mit Hilfe einer sog. "Pipe", das ist der senkrechte Strich '|' - aber wie das geht, das sollst Du mal selbst herausbekommen und dafür mußt Du schon einiges lesen vorher.

Scory

Re: Mounting Paradox

#6 Post by Scory »

@Jochen:

> Fazit: Dateisysteme auf Tapes gehen nicht.

Dieses Fazit ist nicht richtig - man kann auf Tapes tatsächlich ReadWrite Filesystems anlegen! Die sind nicht schnell, aber es geht. Hatten wir schon vor über 15 Jahren auf einer Nixdorf Targon (ein UNIX Rechner), die konnte sogar von Tape booten!

Im Grunde ist das vergleichbar mit dem UDF-Dateisystem auf CD-Rs (richtig: CD-R - nicht CD-RW!). Obwohl die CD-R nicht physikalisch löschbar ist, kann man ein ReadWrite Filesystem anlegen (UDF). Das ging auch schon vor ca. 5 Jahren mit "DirectCD" von Adaptec.

Scory

Re: Mounting Paradox

#7 Post by Scory »

Nochmal @Jochen:

Tapes sind NICHT character devices sondern natürlich block devices. Man kann NUR blockweise auf Tapes zugreifen.

Typische Characterdevices sind ttys (Monitore), video-devices etc.

Jochen

Re: Mounting Paradox

#8 Post by Jochen »

@scory: Mooomentchen mal.... <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Hast Du an Deiner (Linux-)Maschine mal ein "ls -l /dev/st0" (oder welches Device Du auch für's Tape verwendest) gemacht? "ls" sagt Dir zweifelsfrei, dass Tapes <b>c</b>haracter device files sind! Intern unterscheiden sich block/character devices vom Interface daher, dass bei block devices der lseek()-Syscall implementiert sein muss. Wahlfreier Zugriff halt... Bei character devices gibt es den Syscall nicht. Dass man nur blockweise auf Tapes schreiben kann, hat mit der Physik der Drives und Tapes zu tun, aber nicht mit der Unterscheidung von block/character devices in UNIX. Ein Vorspulen & Rückspulen geht bei Tapes natürlich auch, aber dazu musst Du auf spezielle ioctl()s zurückgreifen, die meist nur einen Zugriff auf Filemark-Ebene ernöglichen. Einige Tapes bieten auch eine Adressierung der einzelnen Blöcke an, aber das kann nicht jedes Tapedrive.

Mit Targons hatte ich ganz zu Anfang meiner Karriere mal zu tun. Meinen SysAdmin-Lehrgang habe ich auf einer Targon 31 gemacht, mit 'nem 68020er Prozessor. Hab mich direkt unbeliebt gemacht, weil das Auspacken der terminfo-Manualpage so viel CPU-Zeit gesogen hat, dass die anderen Teilnehmer dachten, die Maschine hätte sich weggehängt! <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> Ansonsten waren das schöne Arbeitspferde ohne viel Schnickschnack drum herum. Das Booten von Tape an den Maschinen kenne ich auch, allerdings kenne ich die Interna dazu nicht - tatsächlich mit Dateisystem auf dem Tape? Ich dachte bisher, dass da vom Tape ein ge-tar-tes Minimal-root ins RAM gezogen wurde.

Jochen

Jochen

Re: Mounting Paradox

#9 Post by Jochen »

@Marc:

> Ich war als root angemeldet und trotzdem hat "mount /dev/cd0 /cdrom" nicht funktioniert. nur ohne mountpoint-angabe hats wunderbar geklappt.

Dann kann eigentlich nur noch der Mountpunkt nicht existieren. Poste mal die genaue Fehlermeldung, den Eintrag aus der /etc/fstab und die Ausgabe von "ls -ld /cdrom".

90% aller zu Hause auftretenden Backup-Fälle kann man mit direkt mit tar erledigen:<pre>tar -cvf /dev/tape .</pre>Damit sichert man (-c wie <u>c</u>reate) das aktuelle Arbeitsverzeichnis (.) als Tar-archiv (Aufruf tar) in die Datei (-f wie <u>f</u>ile) /dev/tape, hinter dem sich, wie scory beschrieben hat, das Tapedrive verbirgt. Die Option -v macht tar dabei etwas mitteilsamer (-v wie <u>v</u>erbose). Zum Auspacken ersetzt man die Option -c durch -x (wie e<u>x</u>tract, also auspacken). Zum Hineinschauen in ein Archiv ohne Auspacken setzt man ein -t (wie <u>t</u>able of contents, Inhaltsverzeichnis) statt -c oder -x.

Die Manualpage zu tar zeigt Dr noch viele andere Möglichkeiten, stöber da ruhig mal durch. Auch die Manualpage zu "mt" ist für Dich interessant, da man mit diesem Tool auf einem Band vor- und zurückspulen kann, es auswerfen lassen kann und noch vieles mehr.

Jochen

Guest

Re: Mounting Paradox

#10 Post by Guest »

@Scory: Wow, danke für die ausführliche Antwort! Werd mich gleich mal da mit praktisch auseinandersetzen.

@Jochen: Dir auch danke :)

>Dann kann eigentlich nur noch der Mountpunkt nicht existieren. Poste mal die genaue Fehlermeldung, den Eintrag aus der /etc/fstab und die Ausgabe von "ls -ld /cdrom".

Der Mountpoint hat existiert. Wenn ich ihn gelöscht habe hats sowohl mit mount /dev/cd0 /cdrom als auch mount /dev/cd0 nicht funktioniert... Und wenn ich /cdrom dann wieder gemkdirt hab gings wieder nur mit mount /dev/cd0 OHNE /cdrom. das muss doch demnach irgendwo hinterlegt sein?!
Beim ls steht auch nur da, dass /cdrom vom root erstellt wurde (was logisch is, da ich ja das oben geschriebene probiert habe).
Die /etc/fstab gibts bei mir garnicht (hack hier auf einem AIX Unix rum).

Gruß,
Marc

User avatar
jochen
prolinux-forum-admin
Posts: 699
Joined: 14. Jan 2000 15:37
Location: Jülich
Contact:

Re: Mounting Paradox

#11 Post by jochen »

Anonymous wrote: Die /etc/fstab gibts bei mir garnicht (hack hier auf einem AIX Unix rum).
Na, das wäre doch mal eine Information für's erste Posting gewesen, nicht wahr? :P AIX ist (soweit ich es kennengelernt habe) in der Systemadministration schon ziemlich "anders". Was ich oben geschrieben habe, galt immer unter der Prämisse "Linux"; AIX verwaltet solche Informationen in einer eigenen kleinen Datenbank. Dort hat er sicher den Mountpunkt hinterlegt - irgendwo im smitty solltest Du den schon finden. Dass das AIX-mount dann aber nur das Device und nicht den Mountpunkt haben will... *achselzuck*

Jochen
Die grösste Lüge der EDV? "Mal eben..."

Marc Marc

#12 Post by Marc Marc »

Sorry :) Das is mir dann auch eingefallen, dass es irgendwie von Bedeutung sein könnte, das OS zu erwähnen :) Bin grad erst ganz frisch am AIXeln und hab das mit den Datenbanken und Smitty statt /etc/fstab noch gar ned gewusst... Dachte mir, wenns ne /etc gibt, dann steht da auch alles drin :-D

Gruß,
Marc

Post Reply