Linux-Praxisbuch/ Linux und Windows auf einem Rechner
Oft werden Linux und Windows parallel auf einem Rechner genutzt. Wie funktioniert der Datenaustausch zwischen den beiden Systemen?
Von Linux auf Windows zugreifen
[Bearbeiten]Windows nutzt das Dateisystem NTFS, was für „New Technology File System“ steht (abgeleitet von Windows NT, also „Windows New Technology“). So gut wie alle Linux-Distributionen bieten die Möglichkeit, NTFS-Partitionen einzubinden. Dafür stehen prinzipiell zwei unterschiedliche Ansätze bereit: das ältere NTFS-3G, das sehr ausgereift ist und sogar das Zuweisen von Benutzerrechten, die aus Windows übernommen werden können, erlaubt, und das neuere NTFS3, das als Kernel-Dateisystemtreiber sehr performant ist, jedoch weniger ausgereift. Welchen Treiber die jeweilige Distribution verwendet hat kann durch die Eingabe von mount
auf einer Unix-Shell ermittelt werden.
USB-Sticks
[Bearbeiten]USB-Sticks werden üblicherweise mit dem FAT32- oder exFAT-Dateisystem formatiert und lassen sich damit sowohl unter Linux als auch Windows lesen und schreiben.
Probleme ergeben sich allerdings durch diverse Einschränkungen von FAT32, die der geschichtlichen Entwicklung von FAT im Allgemeinen geschuldet sind. So kann keine Datei größer als 4 GB sein – werden größere Dateien von einem moderneren Dateisystem (ext2/3/4, Btrfs, XFS, aber auch NTFS oder exFAT) auf ein FAT32-Dateisystem kopiert, dann bricht der Vorgang nach 4 GB mit einem Fehler ab.
Eine weitere problematische Einschränkung von FAT ist die Nicht-Unterscheidung von Groß- und Kleinschreibung der Einträge im Dateisystem, im Englischen mit Case sensitivity bezeichnet. Bei den meisten Verzeichnis- und Dateinamen gelingt es zwar durch die seit Windows 95 verfügbare VFAT-Erweiterung (die für alle FAT-Dateisysteme verfügbar ist, also neben FAT32 auch FAT16 und FAT12) trotzdem, die korrekte Schreibweise beizubehalten, besonders bei kurzen Namen gibt es aber immer wieder Probleme. Unix ist traditionell „case-sensitiv“ – unterscheidet also zwischen Groß- und Kleinschreibung. Dadurch ist z. B. Datei
mit großem Anfangsbuchstaben ein anderer Dateiname als datei
(alles in Kleinschreibung). Unter Windows hingegen ist dies auf allen FAT-Dateisystemen ein und dieselbe Datei, weil die Dateinamen „case-insensitiv“ behandelt werden, was dem MS-DOS-Erbe geschuldet ist. Dadurch blieben bestehende Programme kompatibel. Diese Einschränkung trifft teils auch auf NTFS zu, jedoch nicht bei der Verwendung unter Linux.
Bei VFAT hat sich Linux der Konvention von Windows angepasst und bindet VFAT (also FAT12, FAT16 und FAT32 mit der VFAT-Erweiterung, die zusätzlich zur Groß-/Kleinschreibung auch „lange Dateinamen“ ermöglicht) ebenfalls „case-insensitiv“ ein. Da Unix jedoch traditionell „case-sensitiv“ ist, gibt es damit Probleme, wenn nur in Groß- und Kleinschreibung unterscheidbare Namen auf FAT32 geschrieben werden sollen, etwa Verzeichnis
und verzeichnis
oder Datei
und datei
, denn dabei wird zumeist der ältere Inhalt vom neueren überschrieben, aber mit vertauschten Dateinamen. Ein konkretes Beispiel: wird Datei
von einem Linux-Dateisystem, das zwischen Groß- und Kleinschreibung unterscheidet, auf einen FAT32-Einhängepunkt kopiert, so bleibt die Schreibweise erhalten. Wird nun zusätzlich datei
auch noch kopiert, so kommt es zu einem Konflikt: da unter FAT32 mit VFAT nun nicht zwischen Groß- und Kleinschreibung unterschieden wird, existiert die Datei scheinbar bereits, und es wird (je nach Art und Weise, wie die Datei kopiert wird) etwa zur Bestätigung aufgefordert, die existierende Datei Datei
zu überschreiben, obwohl man datei
(mit kleinem Anfangsbuchstaben) kopieren will. Dabei wird der Inhalt der ersten Datei, Datei
, durch den Inhalte der zweiten Datei, datei
, überschrieben, wobei jedoch die Schreibweise der bestehenden Datei, also Datei
(mit großem Anfangsbuchstaben) erhalten bleibt. Im Resultat erhält man die Situation, dass der Inhalt von datei
auf dem FAT32-Dateisystem in der Datei mit dem Namen Datei
zu finden ist, wobei dessen ursprünglicher Inhalte überschrieben wurde. Bei Verzeichnissen wird hingegen in den meisten Fällen der Inhalt von Verzeichnis
und von verzeichnis
„zusammengeführt“, wobei nur die zuerst kopierte Schreibweise auf dem VFAT-Dateisystem zu finden ist. Ist dabei eine Datei desselben Namens in beiden Verzeichnissen, so wird der Inhalt ebenfalls wieder überschrieben, zusätzlich mit demselben Problem, dass auch Dateien überschrieben werden, die sich unter Linux grundsätzlich durch ihre Groß-/Kleinschreibung unterscheiden.
Von daher ist eine persönliche Kontrolle von Namen von Verzeichnissen und Dateinamen immer dringend zu empfehlen, wenn Daten von Linux auf FAT32 und umgekehrt geschrieben werden, wobei man am besten auf FAT32 nur in leere Verzeichnisse schreibt und Inhalte von FAT32 im Dateisystem von Linux nur in leere Verzeichnisse schreibt, um Fehler zu vermeiden.
Es ergeben sich auch Unterschiede hinsichtlich der Überprüfung des Dateisystems und der Metainformationen über Verzeichnisse und Dateien. Während die gängigen Dateisysteme unter Linux sogenannte Journaling-Dateisysteme sind, bietet FAT32 dieses nicht. Auch zur Konservierung von Nutzerzuordnungen und Dateirechten eignet sich FAT32 nicht.
CDs brennen
[Bearbeiten]CDs haben ein Standard-ISO-Format. CDs, die unter Linux gebrannt wurden, sind auch unter Windows lesbar und umgekehrt.
Samba
[Bearbeiten]Samba ist ein Dateiserver, der unter Linux läuft und Linux-Verzeichnisse wie Windows-Freigaben im Netzwerk bereitstellt. Auf diese Weise können Windows-Rechner (aber auch Macs) auf die Dateien unter Linux zugreifen.
Für nähere Informationen, siehe: Samba
Weblinks
[Bearbeiten]- http://www.knoppix.net/wiki/Deutsch_Samba_Quick_FAQ
- http://samba.sernet.de/samba.html
- http://us1.samba.org/
MTools
[Bearbeiten]Mtools ist eine Sammlung von Werkzeugen zur Bearbeitung von MS-DOS Dateisystemen auf Diskette oder Festplatte.
Die Diskette muß nicht in das Dateisystem eingebunden werden, es muß also kein mount-Kommando ausgeführt werden.
Mtools funktionieren nur mit Root-Rechten.
Beispiel
[Bearbeiten]- In die Linuxkonsole gehen
- Umschalten auf Rootrechte mit su
- mtools Starten
- mdir a: Zeigt den Inhalt einer Dosdiskette
- mcopy welt2.zip a:\welt2.zi
- Kopiert eine Datei welt2.zip aus dem aktuellen Linuxverzeichnis auf die Diskette
- mren a:\welt1.jpg a:\welt2.jpg Benennt eine Datei auf der Dosdiskette um
Beschreibung:
[Bearbeiten]Unter der Sammelbezeichnung mtools verbergen sich dreizehn verschiedene Programme (Tools), von denen jedes ein MS-DOS Vorbild hat.
Dateinamen und Pfade auf MS-DOS Dateisystemen müssen mit einer Laufwerksbezeichnung beginnen. Diese ,,Laufwerke`` müssen mit den entsprechenden Gerätedateien in der Datei /etc/mtools' verknüpft werden.
Im Unterschied zu den Originalkommandos kann bei den mtools als Trenner von DOS-Verzeichnisnamen sowohl `\' als auch `/' verwendet werden. Die mtools akzeptieren auch Wildcards. Dabei gelten die Unix-Regeln. Das heißt, z. B. `*' ersetzt alle Dateien eines Verzeichnisses wie `*.*' bei MS-DOS.
Bei der Benutzung von `\' oder Wildcards muß der Pfad durch einfache Quotes eingeschlossen werden, um ihn vor der Interpretation durch die Shell zu schützen.
Die Optionen werden im Unix-Stil von einem `-' eingeleitet, nicht von einem `/' wie bei MS-DOS.
In der Datei `~/.mcwd' im Heimatverzeichnis des Benutzers ist das aktuelle MS-DOS Verzeichnis für alle mtools festgelegt. Dieses Verzeichnis kann mit dem mcd-Kommando gewechselt werden.
Autor der Mtools ist Emmet P. Gray
Links
[Bearbeiten]Linux unter Windows nutzen
[Bearbeiten]Cygwin
[Bearbeiten]Mit Cygwin kann man Programme, die ursprünglich für Linux geschrieben wurden, unter Windows laufen lassen. Grundlegende Programme kann man direkt über die integrierte Paketverwaltung installieren, bei vielen anderen ist aber eine Kompilierung aus dem Quellcode erforderlich.
Für nähere Informationen siehe Cygwin.
Cooperative Linux
[Bearbeiten]Cooperative Linux ist eine Alternative zu Cygwin. Der Unterschied zwischen Cygwin und Cooperative Linux ist, dass für Cygwin die Programme für Linux portiert wurden, während bei Cooperative Linux der Linux kernel als Anwendung für Windows portiert wurde, aber die Anwendungsprogramme unveränderte Linux Programme sind. Cooperative Linux ist also tatsächlich ein vollständiges Linux, dass anstatt die Hardware direkt anzusprechen das Windows Betriebssystem verwendet um auf Geräte zuzugreifen. Eine Linux Distribution für Cooperative Linux ist beispielsweise andLinux.[1]
Für nähere Informationen siehe Cooperative Linux.
LTOOLS
[Bearbeiten]Lesen und Schreiben von Linux-Dateien als Windowsnutzer (Windows 9x/ME und Windows NT/2000/XP/Vista)
Links
[Bearbeiten]Windows-Subsystem für Linux
[Bearbeiten]Eine Subsystem von Microsoft: https://learn.microsoft.com/de-de/windows/wsl/
Weitere Windowsprogramme für den Zugriff auf Linuxdateisysteme
[Bearbeiten]- Explore2fs, schnell und unkompliziert
- Ext2fsnt, EXT2IFS oder Ext2fsd
- rfstool für den Zugriff auf ReiserFS-Partitionen