Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 18. Nov 2018 8:39

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Label von Festplatten auslesen
BeitragVerfasst: 22. Jan 2007 14:51 
Hallo,

wenn ich einer Partition ein label zuweise, z.B mit: mke2fs -L VOLUME1 /dev/sda1, kann ich das später irgendwie auslesen?

Anders formuliert, kann ich mir irgendwie eine Liste aller Labels anzeigen lassen, die gerade im System vorhanden, aber nicht unbedingt eingebunden sind? Quasi so etwas wie /cat/proc/partitions, halt nur für Labels

Es geht darum, Wechselplatten anhand des Labels zu erkennen. Je nach eingelegter Platte soll ein script laufen, sprich:

Platte einlegen, dbus/hal/ivman(?) (damit muß ich mich noch beschäftigen) erkennt ein neues Ereignis, ließt daraufhin das Label aus und übergibt dieses Label dann an ein Skript, welches die Platte einbindet, nfs reexportiert usw. usf.

Da recht viel gewechselt wird, ist eine Festlegung anhand von Gerätenamen (/dev/sdx) nicht möglich, diese Option fällt also aus, und udev ist nicht in der Lage, Festplatten gleichen typs zu unterscheiden. Seriennummern o.ä. werden nicht ausgelesen


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22. Jan 2007 15:27 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 14. Jan 2000 15:37
Beiträge: 699
Wohnort: Jülich
Hi,

die gewünschte Information liefert Dir im Falle von ext2/3 das tune2fs-Kommando:
Code:
[root@rechner ~]# file -s /dev/hda1
/dev/hda1: Linux rev 1.0 ext3 filesystem data (needs journal recovery) (large files)
[root@rechner ~]# tune2fs -l /dev/hda1
tune2fs 1.35 (28-Feb-2004)
Filesystem volume name:   /
Last mounted on&#58;          <not available>
Filesystem UUID&#58;          b43c990c-9eba-4b77-9a05-3aab174f653b
Filesystem magic number&#58;  0xEF53
Filesystem revision #&#58;    1 &#40;dynamic&#41;
Filesystem features&#58;      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options&#58;    &#40;none&#41;
Filesystem state&#58;         clean
Errors behavior&#58;          Continue
Filesystem OS type&#58;       Linux
Inode count&#58;              1026144
Block count&#58;              2048279
Reserved block count&#58;     102413
Free blocks&#58;              591408
Free inodes&#58;              781304
First block&#58;              0
Block size&#58;               4096
Fragment size&#58;            4096
Reserved GDT blocks&#58;      500
Blocks per group&#58;         32768
Fragments per group&#58;      32768
Inodes per group&#58;         16288
Inode blocks per group&#58;   509
Filesystem created&#58;       Mon Jun 27 16&#58;43&#58;48 2005
Last mount time&#58;          Thu Dec 14 07&#58;48&#58;33 2006
Last write time&#58;          Thu Dec 14 07&#58;48&#58;33 2006
Mount count&#58;              25
Maximum mount count&#58;      -1
Last checked&#58;             Mon Jun 27 16&#58;43&#58;48 2005
Check interval&#58;           0 &#40;<none>&#41;
Reserved blocks uid&#58;      0 &#40;user root&#41;
Reserved blocks gid&#58;      0 &#40;group root&#41;
First inode&#58;              11
Inode size&#58;               128
Journal inode&#58;            8
First orphan inode&#58;       863316
Default directory hash&#58;   tea
Directory Hash Seed&#58;      9dd4caa8-3e28-431c-b139-dd3926844fd2
Journal backup&#58;           inode blocks
Gegebenenfalls ist ein Identifizieren der Platten per UUID dann der sicherere Weg - Volume Labels hat man schnell schon mal doppelt vergeben, aber die UUID soll immer eindeutig sein. In der bash ist das schnell gebastelt:
Code:
FS_UUID=$&#40;tune2fs -l $FS_DEVICE | awk -F '&#58; +' '$1 == "Filesystem UUID" &#123;print $NF &#125;'&#41;
Wenn Du doch lieber das Label verwenden möchtest, ersetze "Filesystem UUID" einfach durch "Filesystem volume name".

Disclaimer: So funktioniert's mit ext2/3, bei anderen Dateisystemarten sollte es zumindest ähnliche Tools geben - wenn ein Volume Label überhaupt gesetzt werden kann (reiserfs3.6 kann es m.E. nicht, aber da könnte ich mich irren).

Viel Spass beim Basteln,
Jochen

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


Nach oben
   
 Betreff des Beitrags: udev
BeitragVerfasst: 23. Jan 2007 18:12 
Hallo,

eleganter, hat man sich einmal in die Theamtik eingearbeitet, geht das mit der seit Kernel 2.6.x verfügbarer udev-Methode.
Damit kann man so gut wie alle Eigenschaften (irgend) eines Devices verwerten.

http://de.gentoo-wiki.com/Udev
http://de.gentoo-wiki.com/Udev_Rules

lg. sumsi


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 24. Jan 2007 1:12 
Offline

Registriert: 03. Mär 2006 23:16
Beiträge: 430
Zitat:
(reiserfs3.6 kann es m.E. nicht, aber da könnte ich mich irren).
reiserfs hat LABEL, jedoch behandeln die Tools es nicht wie bei anderen FS mit dem Schalter '-L', sondern '-l'.
Das Log muss zudem Standard-Werte haben, zBsp darf es keine selbstgewählte logsize haben oder extern sein.

Ich persönlich ziehe LABEL den UUID vor. Bei den vielen Zahlen in der fstab wurde ich ziemlich fusselig.

Frage:
cfdisk zeigt diese LABEL an jedoch nur "pro block-device".
Gibt es etwas, das ähnlich 'fdisk -l' auch eine cfdisk-artige Übersicht über alle Platten bietet? Also mit den LABEL!





--------------------------------------------------------------------
EDIT 2007-03-21
Doch, da gibt es etwas:
Code:
blkid -c/dev/null -sLABEL -sTYPE
bzw. die /etc/blkid.tab, in der die Informationen LABEL und UUID vorliegen.

_________________
mfg komsomolze


Zuletzt geändert von komsomolze am 24. Mär 2007 11:27, insgesamt 2-mal geändert.

Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 24. Jan 2007 9:36 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 14. Jan 2000 15:37
Beiträge: 699
Wohnort: Jülich
Zitat:
reiserfs hat LABEL, jedoch ...
Ah? Wieder was gelernt - danke.

In der fstab würde ich ebenfalls nur ungerne UUIDs verwenden. Für die festen Partitionen kann man dann ja Devicenamen/Labels nehmen und nur für die Wechselmedien die UUIDs.

Ein Tool für ein "fdisk -l à la cfdisk" kenne ich leider nicht.

Jochen

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


Nach oben
   
 Betreff des Beitrags: smart
BeitragVerfasst: 24. Jan 2007 10:20 
OK. habe mich überzeugt, mit udev gleiche IDE-Plattten am gleichen Steckplatz geht nicht ...

Aber vielleicht damit:
http://www.linux-user.de/ausgabe/2004/1 ... tmontools/

bye an.max.


Nach oben
   
 Betreff des Beitrags: serial
BeitragVerfasst: 24. Jan 2007 10:35 
seiennr. bekommt man auch mit
Code:
hdparm -i
angezeigt


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 24. Jan 2007 22:21 
@jochen: Vielen Dank. Zur Info: Die UUIDs für xfs gibt es mit xfs_admin -u /dev/sdx und für reiserfs mit reiserfstune /dev/sdx. Letzeres bei mir ohne irgend einen Schalter, da die nur zum setzen, nicht aber zum auslesen dienen.

@sumsi: udev kann keine Platten gleichen Typs unterscheiden, daß ist mein großes Dilemma und hat mich von der Sinnlosigkeit eines software RAID5 überzeugt, da es absolut nicht möglich ist, die defekte Platte ausfindig zu machen. Außer man legt eine extra Partition an, anhand derer die Platten identifiziert werden können.

@2. hdparm geht bei mir nicht:
Code:
# hdparm -i /dev/sda
/dev/sda1&#58;
 HDIO_GET_IDENTITY failed&#58; Inappropriate ioctl for device
fstab soll in meinem Fall nicht verwedet werden, sondern das wird dereinst über ein Skript geregelt, welches von einem noch herauszufindenden hotplug Ereignis/Dienst aufgerufen wird.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 24. Jan 2007 22:32 
Ups, da ist mir ein Fehler unterlaufen. Keine Ahnung, wo die "1" hinter sda bei hdparm herkommt.

Nachtrag: smartctl klappt auch hervorragend:
Code:
# smartctl -i -d ata /dev/sda
smartctl version 5.36 &#91;x86_64-pc-linux-gnu&#93; Copyright &#40;C&#41; 2002-6 Bruce Allen
Home page is http&#58;//smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model&#58;     SAMSUNG HD160JJ
Serial Number&#58;    S08HJ1MYC04503
Firmware Version&#58; WU100-33
User Capacity&#58;    160,041,885,696 bytes
Device is&#58;        In smartctl database &#91;for details use&#58; -P show&#93;
ATA Version is&#58;   7
ATA Standard is&#58;  ATA/ATAPI-7 T13 1532D revision 4a
Local Time is&#58;    Wed Jan 24 22&#58;27&#58;29 2007 CET
SMART support is&#58; Available - device has SMART capability.
SMART support is&#58; Enabled
Schade, das udev die Seriennummer nicht ausliest.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 25. Jan 2007 16:53 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Udev ist ein Haufen Skripte. Es ist prinzipiell kein Problem, die Funktion nachzurüsten. Mein Gefühl sagt mir, dass du nicht der einzige mit diesem Problem bist.

Ich habe mit udev noch nicht soooo viel gemacht, aber vielleicht kriegen wir ja zusammen was hin.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags: es gibt noch ...
BeitragVerfasst: 27. Jan 2007 13:24 
Hallo,
es gibt noch speziell für LABEL

ext2/3 : e2label /dev/partition
xfs: xfs_admin -l /dev/label

bye sumsi


Nach oben
   
 Betreff des Beitrags: vol_id
BeitragVerfasst: 29. Mär 2007 16:47 
Schon mal vol_id versucht (Benutzt udev auf Debian, um z.B. Links in /dev/disk/by-label/ zu erzeugen)?

# /lib/udev/vol_id --export /dev/sda1
ID_FS_USAGE=filesystem
ID_FS_TYPE=ext2
ID_FS_VERSION=1.0
ID_FS_UUID=038361dc-ce14-463c-8874-e13b5e01fc39
ID_FS_LABEL=boot
ID_FS_LABEL_SAFE=boot


Nach oben
   
 Betreff des Beitrags: genial
BeitragVerfasst: 31. Mär 2007 9:28 
Hallo allerseits,

einfach genial - CSa hat 's gefunden - ich glaub bei Linux lernt man nieee aus ;-)

Dann bringt uns einfach
Code:
vol_id /dev/hda11|grep LABEL|grep -v SAFE|cut -f2 -d=
das Ergebnis.

Schönes WE
sumsi


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 13 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de