Author Topic: Для чего нужен файл fstab в Enigma2  (Read 5579 times)

0 Members and 1 Guest are viewing this topic.

Offline dillinger

  • Администратор
  • *
  • Posts: 1629
  • Karma: 1081
Для чего нужен файл fstab в Enigma2
« on: November 21, 2008, 11:27:59 AM »
fstab это конфигурационный файл в Linux-ситемах и отвечает за монтирование устройств и файловых систем. Находится он в директории /etc и полный путь к нему будет /etc/fstab

Вот пример этого файла из моего Дримбокса:

Quote
rootfs               /                    auto       defaults              1 1
proc                 /proc                proc       defaults              0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
usbdevfs             /proc/bus/usb        usbfs      defaults              0 0
/dev/mtdblock/2      /boot                jffs2      ro                    0 0
tmpfs                /var                 tmpfs      defaults              0 0
tmpfs                /tmp                 tmpfs      defaults              0 0
/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults              0 0
/dev/scsi/host0/bus0/target0/lun0/part1 /media/usb auto  defaults 0 0
192.168.1.3:/Dreambox          /media/net      nfs   rw,nolock       1 0

Теперь разберемся, что к чему.


Первая строка.


Quote
rootfs               /                    auto       defaults              1 1

Монтирование корневого раздела. В роли устройства здесь файловая система rootfs. В обычных Linux-системах корневой раздел находится на жестком диске и запись выглядит примерно так:

Quote
/dev/hda1               /                    ext3       defaults              1 1

В зависимости от того куда установлена система, имя устройства может быть другим, например /dev/hda2 (если система находится на втором разделе) или /dev/hdb1 (если система находится на первом разделе второго жесткого диска)


Вторая строка:


Quote
proc                 /proc                proc       defaults              0 0

Монтирование файловой системы proc. Это pseudo-система, которая передает ядру информацию о процессах и обеспечивает взаимодействие с внутренними структурами данных ядра.
Например, что бы узнать список файловых систем поддерживаемых ядром, выполним команду cat /proc/filesystems

Quote
root@dm800:~# cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   sockfs
nodev   usbfs
nodev   pipefs
nodev   futexfs
nodev   tmpfs
nodev   eventpollfs
nodev   devpts
        ext3
        squashfs
nodev   ramfs
nodev   devfs
nodev   nfs
nodev   nfs4
nodev   jffs2
nodev   rpc_pipefs
        vfat
nodev   autofs
nodev   cifs
nodev   nfsd


Третья строка.


Quote
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

Монтируется файловая система devpts. Это тоже виртуальная файловая система и обеспечивает доступ к терминалам pseudo (PTY)


Четвертая строка.


Quote
usbdevfs             /proc/bus/usb        usbfs      defaults              0 0

Монтируется файловая система usbdevfs для обеспечения работы USB-устройств. Это динамически генерируемая виртуальная файловая система, являющаяся частью файловой системы /proc, располагающаяся в каталоге /proc/bus/usb.
Результат этого монтирования можно увидеть выполнив команду ls /proc/bus/usb

Quote
root@dm800:~# ls /proc/bus/usb
001      002      003      devices

Мы видим 3 каталога 001, 002, 003. Это означает, что в Дриме есть 3 USB-контроллера. Ради интереса можно дать команду cat /proc/bus/usb/devices и глянуть что у нас с девайсами творится :)

Quote
root@dm800:~# cat /proc/bus/usb/devices

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.12-5.1-brcmstb-dm800 ohci_hcd
S:  Product=BRCM OHCI
S:  SerialNumber=ohci-brcm
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.12-5.1-brcmstb-dm800 ohci_hcd
S:  Product=BRCM OHCI
S:  SerialNumber=ohci-brcm
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 2
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.12-5.1-brcmstb-dm800 ehci_hcd
S:  Product=BRCM EHCI
S:  SerialNumber=ehci-brcm
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0951 ProdID=1607 Rev= 2.00
S:  Manufacturer=Kingston
S:  Product=DataTraveler 2.0

S:  SerialNumber=2008012500000000000001A7
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Мы видим, что есть 3 USB-шины и к первой из них подключена флешка Kingston.


Пятая строка.


Quote
/dev/mtdblock/2      /boot                jffs2      ro                    0 0

Монтирование раздела mtd2 в каталог /boot


Шестая и седьмая строки.


Quote
tmpfs                /var                 tmpfs      defaults              0 0
tmpfs                /tmp                 tmpfs      defaults              0 0

Монтируется временная файловая система в каталоги /var и /tmp Это RAM-based файловая система использующая оперативную память. Многие пользователи 800-го Дрима жалуются, что в описании ресивера заявлено 256Мб, а у них используется только 128Мб ;D Остальные 128Мб как раз отводятся под  tmpfs. Самый большой плюс этой системы в том, что операции записи - чтения происходят почти мгновенно и размер ее динамически изменяется.


Восьмая строка.


Quote
/dev/ide/host0/bus0/target0/lun0/part1 /media/hdd auto defaults              0 0

Монтирование HDD в каталог /media/hdd


Девятая строка.


Quote
/dev/scsi/host0/bus0/target0/lun0/part1 /media/usb auto  defaults 0 0

Монтирование USB-флешки в каталог /media/usb


Десятая строка.


Quote
192.168.1.3:/Dreambox          /media/net      nfs   rw,nolock       1 0

Эта строка монтирует расшаренную по NFS папку компьютера в каталог /media/net Дримбокса.


Формат строки


Теперь разберемся более детально с форматом самой строки. Формат записи следующий

Quote
устройство   точка монтирования    тип файловой системы    опции монтирования    резервное копирование   проверка

Для примера возьмем строку монтирования USB-флешки.

Quote
/dev/scsi/host0/bus0/target0/lun0/part1 /media/usb auto  defaults 0 0


устройство - /dev/scsi/host0/bus0/target0/lun0/part1
точка монтирования - /media/usb
тип файловой системы - auto
опции монтирования - defaults
резервное копирование - 0
проверка - 0

Это означает, что USB-флешка при запуске системы автоматически по умолчанию будет монтироваться в /media/usb и тип файловой системы будет определятся также автоматически. Резервное копирование и проверка выполняться не будут.
0,9m - 5E+13E+19Е+4W