gulli: Linux - Freies Betriebssystem auf dem Vormarsch

Linux-FAQ


22. Wie kann ich auf Windows-Partitionen (CD-ROM-, DVD-Laufwerke, USB-Sticks) zugreifen?

Benutzt man FAT32 Partitionen, ist dies kein Problem. Dagegen wurden die Dateisystemspezifikationen zu NTFS bislang nicht öffentlich zugänglich gemacht, so dass ein Dateisystemtreiber nur mittels Reverse Engineering geschrieben werden konnte. Er unterstützt den lesenden Zugriff auf NTFS-Partitionen mittlerweile sehr sicher und sehr schnell, das Schreiben ist jedoch nach wie vor sehr gefährlich und standardmäßig deaktiviert, es kann zu Datenverlusten kommen! RedHat bzw. Fedora-Benutzer haben auf Grund der Firmenpolitik von RedHat keinen NTFS-Treiber, es lässt sich jedoch beim Linux NTFS Projekt heruntergeladen werden. Laufwerke werden unter Linux fortlaufend durchnummeriert, beginnend mit Null. Beispielsweise trägt das Laufwerk, welches den Master am ersten IDE-Kanal darstellt, als Gerätebezeichnung /dev/hda, die erste Partition darauf /dev/hda1. Wenn am Secondary Slave ein CD-ROM Laufwerk hängt, ist dieses demnach unter /dev/hdd zu finden (wobei CD-ROM- bzw. DVD-Medien keine Partitionen haben, daher keine Nummer). Damit auf dieses Laufwerk zugegriffen werden kann, muss zuerst ein Einhängepunkt im Dateisystem erstellt werden. Windows-Benutzern sei gesagt, dass Linux keine Laufwerksbezeichnung nach dem Schema A:, B:, C: usw. kennt. Sämtliche Laufwerke werden in ein beliebiges Verzeichnis unterhalb der Dateisystemwurzel / eingehängt (etwa /mnt/cdrom oder /mnt/windows). Beim Einhängen (mounten) werden eventuell vorhandene Dateien auf dem Mountpunkt zwar nicht gelöscht, jedoch überlagert und somit unsichtbar. Beim Einhängen von Laufwerken muss außerdem zumeist der Dateisystemtyp der Partition angegeben werden. Folgende Liste benennt den voun mount verwendeten Namen für verbreitete Dateisysteme:

  • iso9660 (CD-ROMs, DVD)
  • vfat (FAT32-Paritionen, auch USB-Sticks)
  • ntfs (NTFS-Partitionen)
  • msdos (FAT bzw. FAT12 Laufwerke (Disketten))

Gemountet werden diese nun wie folgt:

# mkdir /mnt/windows
# mount -t vfat /dev/hdXY /mnt/windows

X bzw. Y sind hier natürlich durch die vorhin beschriebenen Namen bzw. Nummern zu ersetzen. USB-Sticks funktionieren äquivalent, jedoch muss hier eventuell das Kernel Modul usb-storage geladen werden. USB-Sticks werden unter Linux als SCSI-Geräte angesprochen, daher tragen sie auch eine andere Gerätebezeichnung (sda statt hda):

# modprobe usb-storage
# mkdir /mnt/usbstick
# mount -t vfat /dev/sda1 /mnt/usbstick -o sync

Normalerweise schreibt Linux Daten auf Wechselmedien erst beim umounten (aushängen), das verhindert die Option sync. Um Laufwerke wieder auswerfen zu können, muss man diese erst mit umount aushängen, dies geht einfach mit:

# umount /einhaengepunkt

Natürlich muss man dies nicht immer tippen, man kann Laufwerke in /etc/fstab eintragen, nähere Informationen dazu gibt das Handbuch zu fstab(5).

23. Wie greife ich auf Disketten zu?

Disketten werden einfach mit

# mount /dev/fd0 /floppy

Sollte das Mounten mit einem Hinweis auf einen nicht erkannten Superblock fehlschlagen, kann der Typ manuell angegeben werden. Normale Disketten sind zumeist mit FAT formatiert. Daher gibt man als Parameter -t msods an. Um die Arbeitsgeschwindigkeit zu vergößern, schreibt der Kernel Daten jedoch gepuffert auf die Diskette. Dies führt dazu, das gerade bei Disketten (oder USB-Sticks) das Aushängen der Medien relativ lange dauert. Dies kann man verhindern, indem mit mount das Argument "sync" übergibt: mount -t msdos /dev/fd0 /floppy -o sync.

in das Dateisystem eingebunden (mounten). Sofern der etsprechende Mountpoint in der fstab eingetragen wurde, reicht ein einfaches

$ mount /floppy

um den Datenträger zu mounten. Dies kann übrigens zumeist auch von normalen (nicht-root) Benutzern ausgeführt werden. Es ist wichtig Datenträger vor dem Herausnehmen wieder zu unmounten, was mit folgendem Befehl als Benutzer, welcher den Datenrtäger zuvor gemountet hat, gemacht wird:

# umount /floppy

24. Welche Dateisysteme unterstützt Linux?

Linux unterstützt eine breite Palette an Dateisystemen, darunter NTFS, FAT/12/16/32, HPFS, AFFS, UFS, SMBFS, HFS und NFS, einige davon allerdings nur lesend zuverlässig. Linux lässt sich auch in Zusammenhang mit Journaling Dateisystemen wie ext3, dem SuSE-Benutzern bekannten ReiserFS, IBM's JFS und SGI's XFS benutzen.

Boot- und Installationsfähig ist Linux aber nur auf wenigen davon. Linux bootet vorzugsweise von einem ext2/3 Dateisystem. Neuere lilo Versionen und Grub können auch von ReiserFS booten. Schon lange möglich, aber heute wenig verwendet ist ein Boot von UMSDOS. Das ist ein unverändertes FAT Dateisystem, bei dem in einer Datei Zugriffsrechte abgelegt werden. Damit ist es möglich Linux/DOS (Windows 9.x) von der selben Platte zu booten.

Möglich ist es auch Linux direkt aus dem Netzwerk zu booten (und das Rootdateisystem auf NFS abzulegen), aber das ist ein anderes Thema.

25. Wie greife ich auf NTFS Partitionen zu?

Dies ist ein leidiges Thema unter Linux. Das Problem bei der Sache ist, das der Konzern aus Redmond die Spezifikationen für NTFS nicht offen legt. Jede Entwicklung eines NTFS Treibers kann also nur durch sogenanntes Reverse Engineering geschehen. Dabei wird versucht jede Eigenschaft des Protokolls nachzuvollziehen und nachzuprogrammieren. So geschehen bei NTFS. Im Ergebnis gibt es mittlerweile sehr gute Ergebnisse beim Lesen von NTFS Partitionen. Vor dem Schreiben von Daten auf NTFS Partitionen warnen die Programmierer aber nach wie vor, weil Datenverluste nicht gänzlich ausgeschlossen werden können (wenngleich sie mittlerweile auch sehr unwahrscheinlich sind). Ein wichtiger Schritt zur Stabilität des NTFS Treibers wurde mit Linux 2.6 gemacht; nach wie vor, fürchten sich die Programmierer aber Schreibzugriff als stabil zu bezeichnen - wobei er dies eigentlich schon lange ist. Lesezugriff dürfte bei allen Distributoren möglich sein, Schreibzugriff hingegen haben die meisten deaktiviert (RedHat liefert RH Enterprise und Fedora aus Lizengründen ganz ohne NTFS Treiber und MP3 Codec). Für RedHat/Fedora Benutzer gibt es hier RPM Pakete.

Um den deaktivierten Schreibzugriff zu aktivieren, muss der Kernel zumeist neu kompiliert werden (zumindest aber das NTFS Modul). Flag: CONFIG_NTFS_FS.

Das Mounten geschieht dann wie üblich, das Modul nennt sich "ntfs".

# mount -t ntfs /dev/hdx /mnt/irgendwo

Ein weiterer Ansatz ist das Konzept, das Captive benutzt. Dieses implementiert den NTFS Treiber nicht selbst, sondern benutzt den nativen Windows Treiber ntfs.sys. Damit ist stabiler Schreib- und Lesezugriff möglich. Voraussetzung ist dazu aber Wine.

26. Wie kann man die Grösse seiner bestehenden FAT/ext2/ext3-Partition ändern?

Dies ist mit Programmen wie FIPS oder parted möglich. Beide sollten jeder aktuellen Distribution beiliegen und im Handbuch dokumentiert sein. Achtung! Wie jede andere Operation am Dateisystem, kann eine Änderung der Größe den Verlust der kompletten Daten bedeuten und sollte daher nicht ohne vorher angelegtes Backup durchgeführt werden.

Grundsätzlich ist das ganze aber nicht kompliziert, wenn folgende Schritt für Schritt Anleitung befolgt wird (wir nennen hier ausdrücklich nicht die fertigen Befehle!)

  • Die zu vergrößernde Partition aushängen (umount) oder zumindest nur lesend (read only, ro) mounten.
  • Partition vergrößern. Mittels fdisk kann eine bestehende Partition vergrößert werden. Dazu muss natürlich hinter der zu vergrößernden Partition freier Platz sein. Dies führt keine Änderungen am Dateisystem durch, ändert jedoch die Partitionstabelle
  • Das Dateisystem vergrößern. Das verwendete Dateisystem sollte die dazu nötigen Programme mitliefern (für ext2/3 etwa resize2fs, äquivalente Programme sind auch für ReiserFS vorhanden)
  • Das vergrößerte Dateisystem mittels e2fsck überprüfen, Fehler automatisch beheben lassen.
  • Die vergrößerte Partition kann nun wieder eingehängt werden.

27. Kann ich die Festplatte ohne Datenverlust wechseln?

Irgendwann kommt der Tag, da ist selbst die größte Festplatte voll. Aufgrund der Langlebigkeit einer Linuxdistribution (mehrere Jahre sind keine Seltenheit), ist dies sehr ärgerlich. Hat man sich nun eine neue Platte zugelegt, kann man das installierte Betriebssystem problemlos auf die neue Platte kopieren, damit es dort weitere Jahre treu läuft. Eine Neuinstallation ist nicht notwendig. Idealerweise bootet man dazu von einer sog. Linux Live CD (z.b. Knoppix), da man den Vorgang tunlichst auf einem nicht gemounteten, oder nur lesbarem Dateisystem durchführen sollte. Wenn man einige Dinge beachtet, ist das ganze auch ohne größeres Risiko für aktuelle Datenbestände.

  • Zunächst unbedingt DMA einschalten. Der Vorgang dauert auch so schon lange genug: hdparm -d1 /dev/hdx
  • Die gesamte Platte (Byte für Byte) auf die neue kopieren: dd if=/dev/kleineplatte of=/dev/grosseplatte

Vorsicht, dieser Befehl ist sehr zeitaufwändig, plant für große Platten einige Stunden ein. if=/dev/hdx ist das Input File, also das Quelllaufwerk. Werden if und of vertauscht, vernichtet ihr zuverlässig all eure Daten!

Wer will, kann das Image an dieser Stelle auch in eine Datei sichern. Unter of gibt man dazu einfach eine beliebige Datei an: dd if=/dev/kleineplatte of=/mnt/vielplatz/festplattenimage.img. Dieses kann jederzeit mit einem Loopback mount gemountet werden (mount -t ext3 -o loop /mnt/vielplatz/hdx1.img /irgendwo). Damit ist das ganze auch schon erledigt. Es empfiehlt sich nun auf der neuen Platte jede Partition zu mounten und diese zu überprüfen (e2fsck -f /dev/hdyx). Wie eine eventuell vorhandene Windows Installation auf der Platte den Umzug verkraftet, ist nicht überliefert. Datenverlust am Originaldatenträger ist jedoch nicht zu befürchten (außer man vertauscht eben if und of bei dd.)

Nach dem Umzug, sollte die neue Platte an der selben Stelle, wie die alte, im IDE-Bus eingehängt werden. Linux benennt Platten anhand ihrer Reihenfolge im IDE-Bus (hda-hdd). Ändert sich dieser, liegt das zum Booten benötigte Root Dateisystem dann plötzlich nicht mehr an der gewohnten Stelle. In dem Fall muss noch in /etc/fstab sowie im Linux Bootloader (z.b. /etc/lilo.conf) der neuen Platte das Rootdateisystem verändert werden. Nach einem Neustart können die Partitionen nun vergrößert werden (siehe vorherige Frage)

Analog funktioniert das ganze natürlich auch mit einzelnen Partitionen. Die Größe der Ziel Partition muss dabei nicht übereinstimmen, Verkleinerungen sind jedoch komplizierter als Vergrößerungen.

28. Wie kann ich von Windows aus auf meine Linux-Partitionen zugreifen?

Zum Zugriff von Windows aus auf Linux Partitionen ist die Zuhilfenahme von kleinen Programmen nötig. Schnell und unkompliziert, geht es mit Explore2fs. Etwas mehr Aufwand erfordern integrierte Dateisystemtreiber wie Ext2fsnt, EXT2IFS oder Ext2fsd. Um auf ReiserFS-Partitionen zuzugreifen kann man auf rfstool zurückgreifen.

29. Was sind virtuelle Dateisysteme (Wozu dient /proc, /sys und /dev?)

Virtuelle Dateisysteme bieten eine Abstraktionsschicht zwischen Kernel und Userspace. Sie ermöglichen den Zugriff auf die Kernelebene, wie auf normale Dateien. Der Begriff virtuell, trifft insofern zu, da diese Dateien nicht auf der Festplatte (oder im Arbeitsspeicher) liegen. Sie benötigen faktisch keinen Platz, da sie nicht als Datei existieren. Im Falle von /proc und /sys finden sich dort höchst interessante Informationen über das System und den Kernel. Was es mit welcher Datei auf sich hat, erklärt das RedHat Linux Referenzhandbuch.

Ähnlich ist dies auch mit den Dateien in /dev. Dort finden sich die Devices, also die Geräte, die Hardware des Rechners. Jedes Device bildet dort eine abstrakte Zugriffsschicht auf die Hardware. Über /dev ist der Rohzugriff auf Geräte zur Treiberprogrammierung möglich, womit sich der Benutzer aber zumeist nicht befassen muss. Manche Programme benötigen diesen Rohzugriff auch zum Lesen oder Schreiben von Daten (Audio CD Wiedergabe, CD-Brenner). Den wohl häufigsten Kontakt zu /dev stellt der Anwender wohl beim Zugriff auf Wechselmedien, Festplatten und Partitionen dar (die ganzen mount Befehle ein paar Fragen weiter oben :) ).

Die Benennung dieser Devices unterscheidet sich dabei von der auf anderen Unix Systemen. Es gibt dort eine Vielzahl an Geräten, an den meisten wird nicht wirklich ein Gerät zu finden sein. Die Benennung ist dabei aber meistens streng logisch. Das Namensschema ist dabei /dev/. Beispiel: /dev/hda1, /dev/sda1, /dev/lp0 oder /dev/input/mouse0. Wirklich wichtig ist nur die Reihenfolge, in der Festplatten und Wechsellaufwerke benannt werden, alles andere kann man bei Bedarf erfragen. Ein Standard IDE Controller kann maximal 4 Geräte verwalten. An 2 IDE-Busen hängen maximal 2 Geräte. Im Bios werden die dann Primary Master/Primary Slave bzw. Secondary Master/Secondary Slave genannt. Linux übernimmt diese Reihenfolge und gibt jeder Position einen Buchstaben. Das erste Gerät, am Primary Master ist demnach /dev/hda, der Slave am 2. IDE Controller /dev/hdd. Im Gegensatz zu Windows ist diese Benennung stur, das heißt, das Secondary Slave ist immer /dev/hdd, ganz egal, was an den anderen Controllern hängt, oder auch nicht. Festplatten sind üblicherweise in Partitionen unterteilt, diese werden an den Gerätenamen einfach angehängt, in der Reihenfolge wie sie auf der Platte abgelegt sind. Die erste Partition auf dem 2. Gerät im ersten IDE Bus ist demnach /dev/hdb1.

 

Seite 4 von 5zur ersten Seite zur vorherigen Seite 1 2 3 4 5 zur nächsten Seite zur letzten Seite

Suche

ANZEIGE

RSS

AKTION

Wir haben bezahlt!

Napping

Das Beste von gulli auch auf deiner Seite?
Newsfeed abonnieren  news feed
Suche auf deiner Seite  suchbox
Banner und Buttons  banner & buttons

Support

Rettet das Internet

Piratenpartei Österreich

Piratenpartei Deutschland

© COPYRIGHT 2007 GULLI.COM