
Ich verwende Fedora auf meinen Amazon EC2-Entwicklungsinstanzen. Ich bin vor Kurzem von Fedora 8 auf Fedora 15 umgestiegen. Mir ist aufgefallen, dass ich auf meinem Fedora 15 Folgendes sehe, wenn ich „cat /etc/fstab“ ausführe:
LABEL=79d3d2d4 / ext4 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
Wenn ich „cat /etc/fstab“ auf meiner älteren Fedora 8-Instanz ausführe, sehe ich Folgendes:
/dev/sda1 / ext3 defaults 1 1
/dev/sda2 /mnt ext3 defaults 0 0
/dev/sda3 swap swap defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
Nach meinem Verständnis von Linux dachte ich immer, dass das Root-Laufwerk immer auf /dev/sda1 liegt. Daher ergibt die Fedora 8-fstab für mich Sinn.
Warum ist das Dateisystem von Fedora 15 anders? Warum wird /dev/sda1 nicht als Root gemountet? Und wo sind /mnt und /swap bei Fedora 15 geblieben? Ich habe keine Probleme mit meinem Fedora 15, sondern versuche nur, die Änderungen zu verstehen und mich besser zu informieren.
Antwort1
Der erste Eintrag bezieht sich wahrscheinlich auf sda1
; die Verwendung von Labels oder UUIDs ist mittlerweile die Norm, da dieselbe Festplatte nicht immer so sein muss, sda1
wie Sie annehmen. Angenommen, Sie aktualisieren Ihren Kernel und kleine Änderungen an den Treibern führen dazu, dass Ihre Festplattencontrollertreiber in einer neuen Reihenfolge geladen werden. Plötzlich sda
ist wieder alles, was einmal war sdb
, und umgekehrt. Ein weiteres Beispiel: Ein angeschlossenes USB-Gerät nimmt das nächste verfügbare Laufwerk und nicht dasselbe, das es beim letzten Einstecken verwendet hat. Durch die Verwendung von UUID- oder Label-Zuordnungen können Sie einen Einhängepunkt für ein bestimmtes USB-Laufwerk erstellen.
Über den Swap und /mnt: Sie haben keinen Swap oder /mnt-Datenträger angeschlossen. Wenn Sie Amazon EC2-Images verwenden, sollten Sie sich Folgendes ansehen:dieses Nachschlagediagramm. Es listet den temporären Speicher auf, der mit Ihrer Instanz geliefert wird (kostenlos!). Wenn der von Ihnen verwendete Instanztyp Swap- oder /mnt-Volumes anzeigt, fügen Sie diese zu Ihrer fstab hinzu.
/mnt
ist allgemeiner Speicherplatz, während Swap für die Zwischenspeicherung im Arbeitsspeicher ist. Wenn die Leistung Ihrer App ohne Swap beeinträchtigt wird, können Sie eine lokale Datei wie folgt hinzufügen:
dd if=/dev/zero of=/swapfile bs=1024 count=`echo ${NUM_MEGS}*1024|bc`
mkswap /swapfile
echo /swapfile swap swap defaults 0 0 >> /etc/fstab
Antwort2
Das Stammlaufwerk muss nicht /dev/sda1 sein, es kann alles Mögliche sein, und das ist es, was dem Unix-Dateisystem seine Flexibilität verleiht.
Das Problem bei der Vorgehensweise auf die Art und Weise, wie es Ihre F8-Instanz getan hat, besteht darin, dass die Geräte basierend auf ihrer SCSI-ID (oder BUS-Reihenfolge) benannt werden. Nehmen wir also beispielsweise an, Sie haben ein SCSI-Laufwerk mit der ID 4 und das ist das einzige Laufwerk auf Ihrem System. Es erhält /dev/sda und alles funktioniert. Jetzt möchten Sie ein neues Laufwerk hinzufügen und es erhält die SCSI-ID 3. Jetzt erhält das neue Laufwerk die ID /dev/sda und Ihr altes Laufwerk wird /dev/sdb und alle Ihre Werte in fstab sind ungültig.
Wenn Sie das Laufwerk beschriften und nach Bezeichnung mounten, haben Sie die Flexibilität, die Busreihenfolge nicht zu berücksichtigen. Es wird immer gemountet, unabhängig von der physischen Adresse. Dasselbe können Sie mit UUID tun. Sie können die Werte dafür sehen, indem Sie Folgendes tun tune2fs -l /dev/sda
. Es könnte durchaus sein, dass das beschriftete Laufwerk tatsächlich noch /dev/sda1 mountet.
Antwort3
Unter Linux gibt es verschiedene Schemata zur persistenten Benennung:
- Gerätename: /dev/sd[abc]x
- LABEL: Bezeichnung für Ihr Dateisystem
- UUID: jedes Dateisystem hat eine eindeutige Kennung
Sie können es hier überprüfen blkid
oder einen Blick darauf werfen /dev/disk
:
# blkid /dev/sda3
/dev/sda3: LABEL="/" UUID="dfe84dbf-d7fd-4038-872c-6dfc31f0be6f" TYPE="ext3" SEC_TYPE="ext2"
# ls -lF /dev/disk/by-label/
total 0
lrwxrwxrwx 1 root root 10 May 10 15:02 boot -> ../../sda1
lrwxrwxrwx 1 root root 10 May 10 15:02 SWAP-sda2 -> ../../sda2
# ls -lF /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 10 15:02 588a12e5-a032-43e7-a21c-99a1ddacd6fb -> ../../sda1
lrwxrwxrwx 1 root root 10 May 10 15:02 dfe84dbf-d7fd-4038-872c-6dfc31f0be6f -> ../../sda3
swap
Die Partition kann während der Installation vorhanden sein oder nicht.