Como montar múltiplas partições

1

Existe uma maneira de montar múltiplas partições, ou até mesmo todas as partições, de um disco com um único comando no Linux? Existe, talvez, uma opção que o comando mount aceita que facilitaria isso? Estou executando o Fedora 18; se eu tentar mount /dev/sda* /media/sda* , a operação falhará.

Como alternativa, você pode sugerir um roteiro que eu possa reunir para todos os meus usos futuros?

Eu encontrei alguns posts potencialmente úteis que mencionam escrever regras do udev; Eu não tenho certeza se isso seria útil, já que (até onde eu sei) as partições no meu disco rígido principal já têm essas configurações - o que é evidente olhando a lista da barra lateral de drives / partições acessíveis dentro do meu gerenciador de arquivos.

Para esclarecer, estou simplesmente tentando fazer algo como '/ dev / {sda1, sda2, ...}', onde cada um deles seria montado em seu próprio diretório com o mesmo nome.

    
por ILMostro_7 18.03.2013 / 03:03

4 respostas

1

Em primeiro lugar, uma partição pode ser montada em vários locais.

E para seu próprio propósito, duvido que o próprio suporte seja compatível. Mas você definitivamente poderia usar seu próprio script,

#!/bin/bash

for x in $*; do
    echo mount "$x" "/media/${x##*/}"
done

E inicie-o com (Remova o echo antes de executá-lo)

./XX.sh /dev/sda* /dev/sdb*

P.S: você deve considerar udisks , que montaria a partição em /media/label_of_drive

    
por 18.03.2013 / 03:33
3

O comando mount mapeará apenas um dispositivo por vez, então, qualquer que seja o método escolhido, você deverá chamar o mount para cada partição.

/proc/partitions fornecerá uma lista do que foi detectado:

# cat /proc/partitions
major minor  #blocks  name

   8        0 1465138584 sda
   8        1 1465134488 sda1
   8       32 1465138584 sdc
   8       33 1465134488 sdc1
   8       16 1465138584 sdb
   8       17 1465134488 sdb1
   8       48 1465138584 sdd
   8       49 1465134488 sdd1
   8       64  156290904 sde
   8       65      96358 sde1
   8       66    4000185 sde2
   8       67          1 sde3
   8       69    2000061 sde5
   8       70   14996646 sde6
   8       71  135197527 sde7

Aqui é onde fdisk -l obtém sua informação. Você poderia usar isso para fazer algo como:

awk '$4 ~ /^sda[0-9]+/{print $4}' /proc/partitions | while read dev; do
    if findmnt /dev/$dev >/dev/null; then
        echo "/dev/$dev is already mounted.  Skipping."
        continue
    elif findmnt /media/$dev >/dev/null; then
        echo "/media/$dev is already a mount point.  Skipping /dev/$dev."
        continue
    fi
    mount /dev/$dev /media/$dev
done
    
por 18.03.2013 / 04:34
1

Se você for inicializar as partições na inicialização, poderá adicioná-las a /etc/fstab . man fstab para ver quais são as diferentes opções para as linhas dentro do arquivo de configuração. As colunas devem ser organizadas da seguinte forma.

<file system>   <dir>   <fs-type>   <mount-options>   <dump> <pass>

Se você não vai montá-los, procure usar udisks ou udiskie . Você não pode montar duas partições no mesmo diretório. Você pode montar um dentro de um sub-directory de um dispositivo já montado.

    
por 18.03.2013 / 03:20
0

Backup do fstab atual:

#cp -a /etc/fstab /etc/fstab.bk

processe a saída de lsblk -f usando sed e awk e redirecione a saída para fstab:

#lsblk -f|sed 's/\[SWAP]/swap /g'|awk '/(-)/{printf"UUID=%-36s %-23s %-7s defaults 
           0 0\n", $3, ($4==""?mnt"NR:$4), $2}'>/etc/fstab
    
por 26.09.2018 / 07:03