LINUX.ORG.RU
ФорумAdmin

Вот ещё загадочка (опять про mtab и df)


0

0

Например, df -m даёт такой результат.
Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/hdb6                10825      6199      4076  61% /
/dev/hdb1                  193        14       169   8% /boot
none                       188         0       187   0% /dev/shm
/dev/hdb6                10825      6199      4076  61% /
/dev/hdb1                10825      6199      4076  61% /mnt/hdb/hdb_1
/dev/hdb1                10825      6199      4076  61% /
Не удивляётесь. Это возможно. Сразу вопрос --- ЧТО и КУДА здесь смонтировано на самом деле. Можно ли извлечь отсуда эту инфу?

Ну, и сразу, остальные данные
1. cat /etc/mtab
/dev/hdb6 / ext3 rw 0 0
none /proc proc rw 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
/dev/hdb1 /boot ext3 rw 0 0
none /dev/pts devpts rw,gid=5,mode=620 0 0
none /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
/dev/hdb6 / ext3 rw 0 0
/dev/hdb1 /mnt/hdb/hdb_1 ext3 rw 0 0
/dev/hdb1 / ext3 rw 0 0

2. результат работы umount /dev/hdb1
umount: /: device is busy 
umount: /dev/hdb1: not mounted
umount: /boot: device is busy

3. результат работы umount /dev/hdb6
umount: /: device is busy 
umount: /: device is busy 

#------------------------------

Забавно. Вот с двух моих машинок инфа. На первой 1 винт, на второй пока что только два.

[jackill@vampiress-pc ~]$ df -m
Файловая система     1M-блоков      Исп  Доступно  Исп% смонтирована на
/dev/hde3                  388       311        57  85% /
/dev/hde2                   97        10        82  11% /boot
none                       316         0       316   0% /dev/shm
/dev/hde6                 1969      1099       771  59% /home
/dev/hde7                  485        10       451   2% /tmp
/dev/hde5                 6890      4073      2468  63% /usr
/dev/hde1                27489     26027      1462  95% /mnt/dos

[jackill@homeserver-pc ~]$ df -m
Файловая система     1M-блоков      Исп  Доступно  Исп% смонтирована на
/dev/hda2                  487        88       374  20% /
/dev/hda1                  145         9       129   7% /boot
none                       158         0       158   0% /dev/shm
/dev/hda3                 9026      5789      2780  68% /home
/dev/hda7                  981       226       705  25% /opt
/dev/hda8                  688        17       636   3% /tmp
/dev/hda5                 5907      2737      2870  49% /usr
/dev/hda6                 1475        89      1312   7% /var
/dev/hdd1                  485         9       451   2% /mnt/hdd1
/dev/hdd2                14591     14070       521  97% /mnt/hdd2

Теперь давай взглянем на команду mount -l (это твой cat, только информативнее):

[jackill@vampiress-pc ~]$ mount -l
/dev/hde3 on / type ext3 (rw) [/]
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
/dev/hde2 on /boot type ext3 (rw) [/boot]
none on /dev/shm type tmpfs (rw)
/dev/hde6 on /home type ext3 (rw) [/home]
none on /proc/bus/usb type usbfs (rw)
/dev/hde7 on /tmp type ext3 (rw) [/tmp]
/dev/hde5 on /usr type ext3 (rw) [/usr]
/dev/hde1 on /mnt/dos type vfat (rw,iocharset=koi8-r,codepage=866,umask=0,showexec,quiet)

[jackill@homeserver-pc ~]$ mount -l
/dev/hda2 on / type ext3 (rw) [/]
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
/dev/hda1 on /boot type ext3 (rw) [/boot]
none on /dev/shm type tmpfs (rw)
/dev/hda3 on /home type ext3 (rw) [/home]
/dev/hda7 on /opt type ext3 (rw) [/opt]
/dev/hda8 on /tmp type ext3 (rw) [/tmp]
/dev/hda5 on /usr type ext3 (rw) [/usr]
/dev/hda6 on /var type ext3 (rw) [/var]
/dev/hdd1 on /mnt/hdd1 type ext3 (rw,errors=remount-ro) [/tmp]
/dev/hdd2 on /mnt/hdd2 type ntfs (ro,nls=koi8-r,umask=022)

Ну и наконец fstab:

[jackill@vampiress-pc ~]$ cat /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=/home             /home                   ext3    defaults        1 2
none                    /proc                   proc    defaults        0 0
none                    /sys                    sysfs   defaults        0 0
none                    /proc/bus/usb           usbfs   defaults        0 0
LABEL=/tmp              /tmp                    ext3    defaults        1 2
LABEL=/usr              /usr                    ext3    defaults        1 2
/dev/hde8               swap                    swap    defaults        0 0
/dev/cdrom              /mnt/cdrom              iso9660 user,unhide,noauto,owner,ro,users,iocharset=koi8-r 0 0
/dev/fd0                /mnt/floppy             vfat   user,noauto,rw,showexec 0 0
/dev/hde1               /mnt/dos                vfat iocharset=koi8-r,codepage=866,nouser,suid,rw,umask=0,showexec,quiet 0 0
/dev/sda1               /mnt/flash              auto noauto,rw,iocharset=koi8-r 0 0


[jackill@homeserver-pc ~]$ cat /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=/home             /home                   ext3    defaults        1 2
LABEL=/opt              /opt                    ext3    defaults        1 2
none                    /proc                   proc    defaults        0 0
none                    /sys                    sysfs   defaults        0 0
LABEL=/tmp              /tmp                    ext3    defaults        1 2
LABEL=/usr              /usr                    ext3    defaults        1 2
LABEL=/var              /var                    ext3    defaults        1 2
/dev/hda9               swap                    swap    defaults        0 0
#HDMOUNT_SECTION_BEGIN Don't edit. Don't remove.
/dev/hdd1 /mnt/hdd1 ext3 rw,errors=remount-ro,users 0 0
/dev/hdd2 /mnt/hdd2 ntfs ro,nls=koi8-r,umask=022,users 0 0
#HDMOUNT_SECTION_END Don't edit. Don't remove.

Я думаю вот что.

У тебя два винта. На обоих есть разделы помеченные так называемыми
лейблами. Когда ты ставишь оба винта и грузишься, загрузчики сходят
с ума. Хорошо что у тебя вообще что-то загрузилось. Я у себя когда
два винта с рабочими линухами втыкаю, то гружусь сразу со
спасательного диска, иначе эта хрень прогрузится, обматерит, что
рутовых систем две и они неверны и начнет диски проверять (если не
повиснет).

Лейблы убери со второго винта.

jackill ★★★★★
()

Кстати. Если у тебя на одну папку смонтировано сразу три раздела, то светится последний смонтированный.

jackill ★★★★★
()

Вот я смотрю на это и что-то не совсем понимаю: если у вас несколько винтов, на них одинаковые LABELs, что-то где-то глючит, неужели нельзя в fstab явно прописать какой раздел куда монтировать и дело с концом ? :-) Зачем создавать проблемы, а потом решать их ? :-) Может я чего-то не понял ?

spirit ★★★★★
()
Ответ на: комментарий от jackill

сразу скажу, что по моему посту с df -m невозможно догадаться до истины ибо
/boot это действительно /dev/hdb1, а вот
/ это на самом деле     /dev/hde6 о чём df о чём df вообще не информирует(!!!)


2jackill. Действительно Вы почти во всём правы. У меня действительно несколько винтов
и на двух из них есть партиции с одинаковыми LABEL'ами. Подробно изучил этот
вопрос с помощью tune2fs -l /dev/hdXN, X это a,b,e,f, N --- число, и составил
подробную таблицу. (Жаль только что fdisk не выдаёт информацию о LABEL'ах когда
далаешь p).
 
На самом деле у меня четыре винта
> cat /var/log/dmesg
# .... погрызено....
hda: IC35L100AVVA07-0, ATA DISK drive
hdb: IBM-DPTA-372050, ATA DISK drive
hdc: MATSHITA CR-584, ATAPI CD/DVD-ROM drive
hdd: _NEC DVD_RW ND-2510A, ATAPI CD/DVD-ROM drive
hde: ST360021A, ATA DISK drive
hdf: FUJITSU MPA3035ATU, ATA DISK drive

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide2 at 0xd000-0xd007,0xd402 on irq 11

hda: 201045600 sectors (102935 MB) w/1863KiB Cache, CHS=12514/255/63, UDMA(33)
hdb: 40088160 sectors (20525 MB) w/1961KiB Cache, CHS=39770/16/63, UDMA(33)
hde: 117231408 sectors (60022 MB) w/2048KiB Cache, CHS=116301/16/63, UDMA(100)
hdf: 6835952 sectors (3500 MB), CHS=6781/16/63, UDMA(33)

ide-floppy driver 0.97

Partition check:
 hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 hda9 >
 hdb: hdb1 hdb2 hdb3 hdb4 < hdb5 hdb6 hdb7 >
 hdb2: <bsd: hdb8 hdb9 hdb10 hdb11??? hdb12 >
 hde: [PTBL] [7297/255/63] hde1 hde2 < hde5 hde6 hde7 hde8 hde9 >
 hdf: hdf1 hdf2 < hdf5 hdf6 >
# .... погрызено....


#---------------------------------------------
Загрузчик у меня один. GRUB на /dev/hda1.
cat /boot/brub/grub.conf

default=0
timeout=11
splashimage=(hd0,0)/grub/splash.xpm.gz
title RH 9.0 (Shrike) (2.4.20-8)
	root (hd0,0)
	kernel /vmlinuz-2.4.20-8 ro root=LABEL=/12 hdd=ide-scsi
	initrd /initrd-2.4.20-8.img
title RH 9.0 (Shrike) (2.6.8.1)
	root (hd0,0)
	kernel (hd0,0)/vmlinuz-2.6.8.1 ro root=LABEL=/12 hdd=ide-scsi
#	initrd /initrd-2.4.20-8.img
title RH 7.2 (Enigma)
	root (hd2,4)
	kernel (hd2,4)/vmlinuz ro root=/dev/hde6 hdd=ide-scsi
title DOS & Windoze 
	rootnoverify (hd2,0)
	map (hd2) (hd0)
	chainloader +1
	boot
title FreeBSD 5.2 
	rootnoverify (hd1,1,a)
	chainloader +1
	boot
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Так что в явном виде указано, что root=/dev/hde6.

Дублирующие LABEL'ы указаны в след партициях, отмеченных ! ---
/dev/hda1   /boot1
/dev/hda6   /12
/dev/hda7   /usr
/dev/hda8   /var
/dev/hda9   /home

/dev/hdb1   /boot      !
/dev/hdb6   /          !
/dev/hdb7   /1

/dev/hde5   /boot      !
/dev/hde6   /          !


#-------------------------------------------------------------
Содержание /etc/fstab (того который с /dev/hde6)

LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
none                    /proc/bus/usb           usbdevfs  defaults      0 0
/dev/hdb5               swap                    swap    defaults        0 0
/dev/hde7               swap                    swap    defaults        0 0
/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0
/dev/cdrom              /mnt/cdrom              iso9660 noauto,owner,kudzu,ro 0 0
/dev/cdrom1             /mnt/dvd                iso9660 noauto,owner,kudzu,ro 0 0

на всякий случай скажу что на /dev/hdb6 нету fstab'а, там вообще нету каталога 
/etc.

#--------------------------------------------------------------

Ну, a после загрузки....
Оказывается, напрмер, mount -l даёт
/dev/hdb6 on /             type  ext3    (rw) [/]
none      on /proc         type proc     (rw)
usbdevfs  on /proc/bus/usb type usbdevfs (rw)
/dev/hdb1 on /boot         type ext3     (rw) [/boot]
none      on /dev/pts      type devpts   (rw,gid=5,mode=620)
none      on /dev/shm      type tmpfs    (rw)
none      on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

Но это-то и есть бред!!! Это не так. Не смотировано /dev/hdb6 на / 
Нет. На / смонтировано /dev/hde6. (если нитересно могу выслать ls -alt на 
/ и на то что получается после mount /dev/hdb6 /mnt/hdb/hdb_6 и
mount /dev/hde6 /mnt/hde/hde_6), да и вообще (см. выше), на 
на /dev/hdb6  вообще нету каталога /etc.

#---------------------------------------------------------------


2Spirit. Конечно же, специально проблем создавать никто не собирался.
Но, не будучи сильно искушённым в tune2fs, mount, df... можно сильно 
попасться, грохнув например партицию с данными. А ведь для этого 
не надо ничего особенного делать --- просто верить командам df, mount -l
и содержимому mtab :))).


На самом деле ситуация достаточно грустная. Ну, вот включаешь, напрмер некий
винт (2,3, или 10-й). Получается что нужно знать про все LABEL'ы на нём,
знать не конфликтуют ли они с уже имеющимися.
Вот ведь у меня всё загрузилось, заработало. Более того загрузилось-то с тех 
партиций, откуда просил. НИКAКИХ ПРЕДУПРЕЖДЕНИЙ, что у меня два / и два
/boot. Зашибись. И вот нужно что-то форматнуть или удалить --- не будет же каждый
человек смотреть что у него в загрузчике за партиция, если он 
этот загрузчик настроил два года назад. Ну и df, mount -l... 
Ладно, мне-то понятно, что пользы от этих команд не больше, чем от покраски
сетевого кабеля в зелёный цвет, но неужели нет способа посмотреть, 
что же и куда всё-таки смотнировано на самом деле?

Ладно, я-то всё исправил, таких глюков болше не будет, но почему такую 
простую вешь провратили чёрт знает во что...
Запретили бы что ли эти LABEL'ы нахрен, отсатвить бы только UUID (см. man tune2fs)

OuterSpace
() автор топика
Ответ на: комментарий от OuterSpace

Лейблы ввели не так давно.

На самом деле штука удобная - захотел винт переткнуть слейвом, например, а он и там работает (только точку монтирования swap переписать).

Но вот этот дебилизм с неопознанием чужих лейблов меня бесит - грузишься с одного винта - ищи сначала лейблы на нем. Может поправят когда-нить.

jackill ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.