Explicação para mount -t e mkfs

3

Qual é o propósito de especificar qual tipo de sistema de arquivos será montado com o argumento [-t] se você já usou o mkfs. [o que for] para formatar seu HDD / flash drive?

Eu não tenho nenhum problema em fazê-lo, eu só quero entender a lógica por trás:     monte -t

    
por Joseph 26.12.2013 / 21:55

2 respostas

3

A opção -t indica explicitamente qual tipo de arquivo você deseja usar, o que pode ser útil para sistemas de arquivos ambíguos. Por exemplo, um pequeno disco rígido de uma máquina Windows 98 pode ser vfat ou fat32 . A opção -t informa mount para usar explicitamente um sistema de arquivos específico.

    
por 26.12.2013 / 22:00
1

O comando mount pode ser considerado como um comando de frontend para uma grande quantidade de comandos de montagem de arquivos. Existem estes que são executáveis reais que podem ser chamados para fazer o levantamento pesado de montagem para seus respectivos tipos de sistema de arquivos.

$ ls /usr/sbin/ | grep mount
mount.cifs
mount.fuse
mount.glusterfs
mount.lowntfs-3g
mount.nfs
mount.nfs4
mount.ntfs
mount.ntfs-3g
mount.ntfs-fuse

NOTA: Mas esta é apenas uma lista parcial. Existem outros tipos com os quais mount também pode lidar. Estes são construídos no kernel do Linux.

Como é estruturado dessa maneira, o conceito de montagem pode ser aplicado a vários tipos de sistema de arquivos. Você pode informar explicitamente a mount através do parâmetro -t que tipo de sistema de arquivos o destino que você está tentando montar é.

A página man do mount contém muitos outros tipos com os quais o mount é capaz de lidar.

trecho

   -t, --types vfstype
          The  argument  following the -t is used to indicate the filesystem 
          type.  The filesystem types which are currently supported include: 
          adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, 
          devpts, efs,  ext, ext2, ext3, ext4, hfs, hfsplus, hpfs, iso9660, 
          jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, 
          reiserfs, romfs, squashfs, smbfs, sysv, tmpfs, ubifs, udf,  ufs,  
          umsdos,  usbfs, vfat,  xenix,  xfs,  xiafs.   Note  that  
          coherent, sysv and xenix are equivalent and that xenix and               
          coherent will be removed at some point in the future — use sysv 
          instead. Since kernel version 2.1.21 the  types ext and xiafs do 
          not exist anymore. Earlier, usbfs was known as usbdevfs.  Note, 
          the real list of all supported filesystems depends on your kernel.

Sob o capô

Você pode usar o comando strace para ver o que está acontecendo quando diferentes tipos de sistema de arquivos são montados.

Exemplos

Os seguintes comandos foram executados como root.

CIFS

$ strace mount -t cifs -o username=sam //bart/mp3s-1 /mnt
...
stat("/sbin/mount.cifs", {st_mode=S_IFREG|0755, st_size=41024, ...}) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f2469308b50) = 21593
wait4(-1, Password for sam@//bart/mp3s-1:  *************
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 21593
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=21593, si_status=0, si_utime=0, si_stime=0} ---

NFS

$ strace mount -t nfs mulder:/export/raid1/data /mnt
...
stat("/sbin/mount.nfs", {st_mode=S_IFREG|S_ISUID|0755, st_size=110720, ...}) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fc76c957b50) = 22017
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 22017
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=22017, si_status=0, si_utime=0, si_stime=0} ---

arquivo ISO via loopback

$ strace mount -o loop /home/saml/Downloads/apps_archive/monitoring/FAN/FAN-2.3-x86_64.iso /mnt
...
mount("/dev/loop0", "/mnt", "iso9660", MS_MGC_VAL|MS_RDONLY, NULL) = 0

Portanto, com os exemplos acima, você pode ver que em alguns casos o mount está fazendo a montagem diretamente, como no ISO via loopback, enquanto nos outros exemplos ele está clonando a si mesmo e chamando o mount.<filesytem> dentro de uma pilha filha. / p>     

por 26.12.2013 / 23:00