udev rules für /dev/disk/by-uuid ?
-
- Beiträge: 828
- Registriert: 10.08.2007 15:26:28
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: St. Georges de Didonne
udev rules für /dev/disk/by-uuid ?
Hallo,
"df -h" hatte mal eine kurze, prägnante Übersicht geliefert ... jetzt brauche ich immer ein extra breites Fenster ...
Kann man mit "udev rules" auch für
/dev/disk/by-uuid/9b39ef9c-8571-43a0-a5e0-64fd51127a6d ... /
also das rootfs, Regeln definieren, so daß mit "df -h" wieder eine übersichtliche Darstellung möglich wird?
Vielen Dank.
wckl
"df -h" hatte mal eine kurze, prägnante Übersicht geliefert ... jetzt brauche ich immer ein extra breites Fenster ...
Kann man mit "udev rules" auch für
/dev/disk/by-uuid/9b39ef9c-8571-43a0-a5e0-64fd51127a6d ... /
also das rootfs, Regeln definieren, so daß mit "df -h" wieder eine übersichtliche Darstellung möglich wird?
Vielen Dank.
wckl
Re: udev rules für /dev/disk/by-uuid ?
Ja, mich hat das auch genervt. Ich habe gelesen, dass sogar jemand df gepatcht hat, um wieder eine 'normale' Ausgabe von df zu haben.
Es gibt aber eine viel einfachere Lösung: Sorge dafür, dass in deiner grub.cfg statt
linux /boot/vmlinuz-3.2.22 root=/dev/disk/by-uuid/xxx34571yyyBBBAAA_usw.usf...
folgendes drin steht
linux /boot/vmlinuz-3.2.22 root=/dev/sda5 ...
Dafür sollte in /etc/default/grub folgender Eintrag ausreichen
GRUB_DISABLE_LINUX_UUID=true
Es gibt aber eine viel einfachere Lösung: Sorge dafür, dass in deiner grub.cfg statt
linux /boot/vmlinuz-3.2.22 root=/dev/disk/by-uuid/xxx34571yyyBBBAAA_usw.usf...
folgendes drin steht
linux /boot/vmlinuz-3.2.22 root=/dev/sda5 ...
Dafür sollte in /etc/default/grub folgender Eintrag ausreichen
GRUB_DISABLE_LINUX_UUID=true
Re: udev rules für /dev/disk/by-uuid ?
Das mit der UUID da drin hat schon seinen Grund. Bei manchen Mainboards wechselt die Reihenfolge der Laufwerke, also kann sda1 auch mal sdb1 heißen und umgekehrt. Dann wird unter Umständen das falsche System angebootet oder zusammengemountet.
Im Prinzip müsste df nur so intelligent sein, für jeden Eintrag in /proc/mounts, der mit /dev/ beginnt, readlink(2) auszuführen. Die lange Ausgabe nervt mich auch gewaltig. Gerade dazu gebastelter Workarround, zum Beispiel als Alias:Ein Effizienzproblem dabei ist, dass readlink(1) für jede Zeile in /proc/mounts aufgerufen wird. Außerdem habe ich es nicht hinbekommen, in der zweiten RegEx explizit "rootfs" herauszufiltern, das könnte andere benannte Mountpoints mit ^r.*$ auch ausfiltern.
… für / tut das natürlich nicht, zumindest nicht bei einem RAID und mdX-Devices…df ist doch einfach bl-öööö-de! Bzw. vergleicht es wahrscheinlich direkt gegen /proc/mounts, findet den Eintrag nicht und nimmt dann /dev an.
Also kann man das awk-Konstrukt von oben wieder in die Tonne kloppen. Grrrr.
Gruß Cae
Im Prinzip müsste df nur so intelligent sein, für jeden Eintrag in /proc/mounts, der mit /dev/ beginnt, readlink(2) auszuführen. Die lange Ausgabe nervt mich auch gewaltig. Gerade dazu gebastelter Workarround, zum Beispiel als Alias:
Code: Alles auswählen
awk '/^\// { system("readlink -f " $1) } /^[^/r].*$/ { print $2 }' </proc/mounts | xargs df -h
… für / tut das natürlich nicht, zumindest nicht bei einem RAID und mdX-Devices…
Code: Alles auswählen
% df -h /dev/disk/by-uuid/$UUID
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/disk/by-uuid/$UUID … … … …% /
% df -h $(readlink -f /dev/disk/by-uuid/$UUID)
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
udev 10M 0 10M 0% /dev
Also kann man das awk-Konstrukt von oben wieder in die Tonne kloppen. Grrrr.
Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: udev rules für /dev/disk/by-uuid ?
Stellt sich dann aber die Frage warum er auf einem Rechner macht und auf dem anderen nicht. Auf dem Rechner wo die Devices erscheinen war ursprünglich Lenny installiert, dann auf Squeeze aktualisiert und im nächsten Schritt sofort weiter nach Testing/Wheezy. Squeeze war nur ein Zwischenschritt der nur rund 1 bis zwei Stunden überlebt hat.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
-
- Beiträge: 828
- Registriert: 10.08.2007 15:26:28
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: St. Georges de Didonne
Re: udev rules für /dev/disk/by-uuid ?
Ich will ja nicht stören ...
aber aus all dem entnehme ich:
ich kann keine Regeln mit "udev rules" definieren, so daß mit "df -h" wieder eine übersichtliche Darstellung möglich wird?
aber aus all dem entnehme ich:
ich kann keine Regeln mit "udev rules" definieren, so daß mit "df -h" wieder eine übersichtliche Darstellung möglich wird?
Re: udev rules für /dev/disk/by-uuid ?
Ich nehme an, dass deine Folgerung falsch ist.wckl hat geschrieben: aus all dem entnehme ich:
ich kann keine Regeln mit "udev rules" definieren, so daß mit "df -h" wieder eine übersichtliche Darstellung möglich wird?
Mindestens die folgenden weiteren - sauberen - Lösungen kann ich mir vorstellen:
1. Der UUID der Root-Partition ein Label zuzuweisen. In diesem Fall wird vermutlich das Label angezeigt.
http://www.debian-administration.org/articles/522
2. Es ist vermutlich auch möglich, speziell für df eine udev-Regel zu schreiben, so dass df statt der UUID den device-Namen anzeigt. Jedenfalls wüsste ich nicht, was dagegen spricht.
Bloß - das ist meine Meinung - mit udev-Regeln spielt kaum einer so aus Spaß herum, weil das alles viel komplexer und zeitaufwändiger ist als allgemein behauptet wird.
Solange in fstab die Root-Partition mitCae hat geschrieben:Bei manchen Mainboards wechselt die Reihenfolge der Laufwerke, also kann sda1 auch mal sdb1 heißen und umgekehrt. Dann wird unter Umständen das falsche System angebootet oder zusammengemountet.
UUID=92365b0a-etc-pp / ... usw.
angegeben wird, ist die UUID der Root-Partition zugeordnet, d.h. /dev/disk/by-uui/92365b0a-etc-pp ist ein Link zu /dev/sda5.
Also sollte das nicht passieren können. Es sei denn, Root re-mounted die Partition manuell unter Mißachtung der fstab.
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: udev rules für /dev/disk/by-uuid ?
Sieht man sich bei dem aktuellen Wheezy die Datei /etc/mtab an, dann existiert sie nicht mehr , sondern ist ein Link auf /proc/mounts Diese Datei ist ein Mix aus UUIDs und echten Devices. Das Root Device wird als UUID angezeigt , alle anderen weiteren Partitonen als Devices /dev/sdd5 etc. Den Inhalt der /proc/mounts findet man in der selben Form bei Squeeze und Lenny. Abhängig von der Platten/Partitionskonfiguration.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: udev rules für /dev/disk/by-uuid ?
Mit Udev hat das nichts zu tun.
Wenn man hier sucht
dann landet man bei diesem Bug
Danach soll dieses verhalten ab Kernel 2.6.26 notwendig sein. Das hieße man hätte dieses Verhalten schon bei Lenny einführen müssen. Selbst mit Kernel 2.6.32 braucht mans wohl nicht unbedingt.
Bei Wheezy sind jetzt die
initscripts dafür Verantwortlich. Davon das Script . In dem befindet sich einen if Abfrage. Die kommentiert so da sie nicht mehr zur Ausführung kommt . Den Link entfernt und mit touch eine Dummymtab angelegt . Und die Virtuelle Maschine neu gebootet. Die vollständige mtab war dann vorhanden , und df hat dann keine UUID mehr gezeigt in seiner Ausgabe. Das war jetzt quick and dirty, kann aber sein das es noch andere und bessere Möglichkeiten gibt.
Wenn man sich alles zu dem Bug durchliest , dann wäre es höchste Eisenbahn gewesen, das zu fixen, der ist aber noch ca. 3 Jahre rumgeschleppt worden, hat sogar Squeeze noch fasst überlebt.
Wenn man hier sucht
dann landet man bei diesem Bug
Danach soll dieses verhalten ab Kernel 2.6.26 notwendig sein. Das hieße man hätte dieses Verhalten schon bei Lenny einführen müssen. Selbst mit Kernel 2.6.32 braucht mans wohl nicht unbedingt.
Bei Wheezy sind jetzt die
![Debian](/pics/debianpackage.png)
Code: Alles auswählen
checkrootfs.sh
Wenn man sich alles zu dem Bug durchliest , dann wäre es höchste Eisenbahn gewesen, das zu fixen, der ist aber noch ca. 3 Jahre rumgeschleppt worden, hat sogar Squeeze noch fasst überlebt.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Re: udev rules für /dev/disk/by-uuid ?
checkroot.sh ist relativ groß (und tut auch noch andere Sachen), und die breite Anzeige der UUID von df stört vermutlich viele.
Magst du genau angeben, was du in checkroot.sh auskommentiert hast?
Magst du genau angeben, was du in checkroot.sh auskommentiert hast?
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Re: udev rules für /dev/disk/by-uuid ?
Hier der Abschnitt von checkroot.sh der lahmgelegt werden muß.
Initscripts 2.88 dsf-28
Code: Alles auswählen
284 # If possible, migrate /etc/mtab to be a symlink to
285 # /proc/mounts. Note that not all systems e.g. Hurd currently
286 # support this.
287 if [ "$rootmode" != "ro" ]; then
288 mtab_migrate
289 fi
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.