Erzeugung von Device-Knoten erzwingen

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Erzeugung von Device-Knoten erzwingen

Christoph Pleger-2
Hallo,

mit Hilfe eines Programms lasse ich aus einer Konfigurationsdatei
automatisch eine Partitionierung für eine Festplatte erstellen. Nach
Fertigstellung der Partitionierung möchte ich aus der
Konfigurationsdatei eine passende fstab erzeugen, in der die in der
Konfigurationsdatei enthaltenen Devicenamen, z.B. /dev/sda1, in Einträge
der Form UUID= umgewandelt werden sollen. Dazu benutze ich den Befehl

udevadm info --query=symlink --name="$device"

$device ist dabei die jeweilige Partition. Dabei tritt leider das
Problem, dass oft - obwohl die Partitionierung abgeschlossen wurde und
Dateisysteme erzeugt wurden - die Links in /dev/disk/by-uuid bei der
Ausführung von udevadm noch gar nicht existieren und udevadm dann auch
einen leeren Rückgabewert liefert. Daher meine Frage: Ist es möglich, zu
erzwingen, dass die Links zum Zeitpunkt des Aufrufs von udevadm erzeugt
wurden? Ohne irgendwelche langen Sleeps oder Sleep-Schleifen?

Viele Grüße
   Christoph

Reply | Threaded
Open this post in threaded view
|

Re: Erzeugung von Device-Knoten erzwingen

Hans-Georg Bork
Moin,

On 2/6/20 4:23 PM, Christoph Pleger wrote:

> Hallo,
>
> mit Hilfe eines Programms lasse ich aus einer Konfigurationsdatei
> automatisch eine Partitionierung für eine Festplatte erstellen. Nach
> Fertigstellung der Partitionierung möchte ich aus der
> Konfigurationsdatei eine passende fstab erzeugen, in der die in der
> Konfigurationsdatei enthaltenen Devicenamen, z.B. /dev/sda1, in Einträge
> der Form UUID= umgewandelt werden sollen. Dazu benutze ich den Befehl
>
> udevadm info --query=symlink --name="$device"
>
> $device ist dabei die jeweilige Partition. Dabei tritt leider das
> Problem, dass oft - obwohl die Partitionierung abgeschlossen wurde und
> Dateisysteme erzeugt wurden - die Links in /dev/disk/by-uuid bei der
> Ausführung von udevadm noch gar nicht existieren und udevadm dann auch
> einen leeren Rückgabewert liefert. Daher meine Frage: Ist es möglich, zu
> erzwingen, dass die Links zum Zeitpunkt des Aufrufs von udevadm erzeugt
> wurden? Ohne irgendwelche langen Sleeps oder Sleep-Schleifen?

startest Du vor udevadm auch partprobe?
Liefert blkid auch nichts?

Gruss
        -- hgb

Reply | Threaded
Open this post in threaded view
|

Re: Erzeugung von Device-Knoten erzwingen

Uwe Kleine-König-7
In reply to this post by Christoph Pleger-2
Hallo Christoph,

On 2/6/20 4:23 PM, Christoph Pleger wrote:

> mit Hilfe eines Programms lasse ich aus einer Konfigurationsdatei
> automatisch eine Partitionierung für eine Festplatte erstellen. Nach
> Fertigstellung der Partitionierung möchte ich aus der
> Konfigurationsdatei eine passende fstab erzeugen, in der die in der
> Konfigurationsdatei enthaltenen Devicenamen, z.B. /dev/sda1, in Einträge
> der Form UUID= umgewandelt werden sollen. Dazu benutze ich den Befehl
>
> udevadm info --query=symlink --name="$device"
>
> $device ist dabei die jeweilige Partition. Dabei tritt leider das
> Problem, dass oft - obwohl die Partitionierung abgeschlossen wurde und
> Dateisysteme erzeugt wurden - die Links in /dev/disk/by-uuid bei der
> Ausführung von udevadm noch gar nicht existieren und udevadm dann auch
> einen leeren Rückgabewert liefert. Daher meine Frage: Ist es möglich, zu
> erzwingen, dass die Links zum Zeitpunkt des Aufrufs von udevadm erzeugt
> wurden? Ohne irgendwelche langen Sleeps oder Sleep-Schleifen?
Vielleicht brauchst Du nur

        udevadm settle

?

Liebe Grüße
Uwe


signature.asc (499 bytes) Download Attachment