[Eisfair] Update Base 2.8.18 online

Marcus Roeckrath marcus.roeckrath at gmx.de
Di Jul 30 17:08:45 CEST 2019


Hallo Thomas, hallo Holger,

Thomas Zweifel wrote:

> Ein LV hätte es zumindest versemmelt :-)
> 
> eis64test # tune2fs -l /dev/test/test | grep UUID
> Filesystem UUID:          dbd9a4b9-bb43-4706-ac55-478d0faae932
> 
> eis64test # tune2fs -l /dev/test/test2 | grep UUID
> Filesystem UUID:          887c9544-6208-4e4c-b7eb-7e14da5fef2a
> 
> eis64test 2.8.18 # cat /etc/fstab-2p8p18
> ....
> /dev/test/test /mnt/test ext4 defaults,noauto,errors=remount-ro 0 2
> /dev/test/test2 /usr/src ext4 defaults,errors=remount-ro 0 2
> 
> eis64test 2.8.18 # cat /etc/fstab
> ....
> UUID=dbd9a4b9-bb43-4706-ac55-478d0faae932 /mnt/test ext4
> defaults,noauto,errors=remount-ro 0 2
> UUID=dbd9a4b9-bb43-4706-ac55-478d0faae9322 /usr/src ext4
> defaults,errors=remount-ro 0 2

Das hat mit lvm nichts zu tun, sondern mit der fast Namengsgleicheheit
der /dev/test/test.

# rewrite fstab to use UUID

if [ ! -f /etc/fstab-2p8p18 ]
then
    cp /etc/fstab /etc/fstab-2p8p18
    devices=$(gawk '$2!~ /media/ && /^\/dev/ {print $1}' /etc/fstab)

    echo "${devices}" |
    while read line
    do
        uuid=$(blkid -o export ${line} | grep '^UUID')

        sed -i "s|^${line}|${uuid}|" /etc/fstab
    done
fi

Nachdem also zunächst alle "devices" ermittelt wurden, werden die in der
while-Schleife abgeklappert.

Nun kommt zunächst /dev/test/test dran, dessen UUID ermittelt und dann per
sed -i ausgetauscht wird.

Nur trifft dass Suchmuster "line" dann auch noch auf das um ein Zeichen
längere /dev/test/test2 zu und tauscht den in gleichem Rutsch mit aus.

Das Problem raucht also immer dann auf, wenn in der fstab Devices nach
diesem Schema auftauchen:

/dev/name
/dev/name1
/dev/nameX
/dev/nameABC
...

und kürzere vor längeren in der fstab stehen.

Korrekt hätte der sed wohl so heißen müssen:

sed -r "s|^${line}([[:space:]]+)|${uuid}\1|" /etc/fstab

@Holger:
Gibt es eine Möglichkeit, das update-2.8.18.tar.xz nachträglich noch zu
ändern, damit alle, die noch nicht upgedatet haben, hier nicht reinfallen?
Eine nachträgliche Korrektur in einem neuen Update ist ja sinnlos.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair