[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: как узнать смонтирована ли файловая система по UUID ?



yuri.nefedov@gmail.com wrote:
> [-- text/plain, encoding quoted-printable, charset: KOI8-R, 49 lines --]

> On Wed, 4 Sep 2013, Andrey Melnikoff wrote:

> > Artem Chuprina <ran@ran.pp.ru> wrote:
> >> Владимир Скубриев -> Debian-russian@lists.debian.org  @ Wed, 04 Sep 2013 14:05:17 +0400:
> >
> >>  ВС> как узнать смонтирована ли файловая система по UUID ?
> >
> >>  ВС> есть UUID нужно узнать смонтирована ли она.
> >
> >>  ВС> интересует где получить список смонтированных ФС с столбцом UUID
> >
> >>  ВС> спасибо
> >
> >>  ВС> ни как не могу найти
> >
> >> Так тебе узнать, смонтирована ли она, или получить список со столбцом?
> >
> >> Первое существенно проще:
> >
> >> fsdev=$(readlink -f /dev/disk/by-uuid/$UUID)
> >> mount|sed -e 's!^\(/[^ ]*\) \(on [^ ]*\).*!echo $(readlink -f \1) \2!e'|grep $fsdev
> > Вот мне интересно - а почему не спросить то-же самое у blkid ?
> >
> > ведь grep -c "`/sbin/blkid -U $UUID`" /proc/mounts короче и понятней седов,
> > редалинков и прочих /dev/disk/by-* ?
> >

>   Опять же, в /proc/mounts может быть записано что-то типа

> /dev/disk/by-uuid/0def2daa-28ea-4a3f-a128-b355d5b716e6 on / type ext4 (rw,relatime,discard,errors=remount-ro,commit=60,data=ordered)

>   а blkid -U вернет /dev/sdчто-то
>   Вот readlink и нужен что бы знать, что это одно и то же.
покажи мне тут readlink:

#/bin/sh
uuid='12ba8334-98e0-46fd-838c-5f908d5bf8b5'
blkdev=$(/sbin/findfs UUID=${uuid} 2>/dev/null)
if [ -n "${blkdev}" ]; then
   nmount=$(egrep -ci "^(/dev/disk/by-uuid/${uuid}|${blkdev}) " /proc/mounts)
   if [ "${nmount}" != "0" ]; then
        echo mounted, $nmount times
   fi
else
   echo unknown fs, not mounted.
fi


А если так рассуждать - то мы дойдем до сравнения
типа и мажор-минор нодов, а то вдруг окажется что /dev/sda1 на самом деле не
/dev/sda1 а какой-нить /tmp/my-cool-disk и без записи в /dev/disk/by-uuid/
из-за отключенного udev'a.


Reply to: