Não é possível montar automaticamente o stick USB com o Fedora 21 + systemd-udev, poderia com o Gentoo na mesma máquina

0

No Gentoo, eu criei um pequeno script que era chamado pelo udev e permitia que eu montasse um dispositivo USB, identificado por seu número de série, em qualquer ponto de montagem que eu escolhesse.

Basicamente, /etc/udev/rules.d/00-removable.rules contém

SUBSYSTEM=="block", ACTION=="add", KERNEL=="sd[b-z]*", RUN+="/usr/local/bin/mountRemovableMedia.sh %k"

e meu script mountRemovableMedia.sh usa o parâmetro de dispositivo passado para determinar o serial do dispositivo e, em seguida, monta-o no ponto de montagem desejado.

Agora, em F21 , com systemd , não funciona. O script é chamado (eu tenho um arquivo de log gravado pelo script), o comando mount é executado (retorna 0, sem erro), mas a montagem real não acontece: se eu digitar 'mount' em um terminal, eu Não consigo ver o dispositivo, e se eu cd para o seu ponto de montagem, o diretório está vazio.

Eu tentei alterar mount para udisksctl mount --block-device ... , mas ainda não funciona.

    
por user3605616 24.12.2014 / 17:55

1 resposta

0

Eu tive o mesmo problema com um script que funcionou bem no Fedora 20 e versões anteriores. Eu acho que a razão pela qual isso não funciona mais no Fedora 21 é que o udev executa o script com um namespace de montagem privado, embora eu não tenha confirmado isso.

A solução que tenho é a seguinte: em vez de executar o script com o udev, agora o executo por meio de uma unidade systemd.

Em detalhes, criei o seguinte arquivo de unidade systemd como /etc/systemd/system/mount_device.service :

[Unit]
After=dev-[UUID].device

[Service]
ExecStart=/etc/systemd/scripts/mount_device.sh

[Install]
WantedBy=dev-[UUID].device

em que o dev-[UUID].device correto deve ser substituído pelo ID do dispositivo systemd direito, que pode ser determinado usando systemctl --all --full -t device . A unidade precisa ser ativada executando systemctl enable mount_device.service .

Se o script for executado dessa maneira, a montagem será exibida conforme o esperado. A única desvantagem é que ele só funciona se você souber o UUID, o rótulo ou algo semelhante com antecedência, o que pode não se aplicar no seu caso.

    
por 31.12.2014 / 11:02