Quero montar uma unidade USB, duas delas e preciso de dois pontos de montagem diferentes. Infelizmente, o kernel do Linux passou por uma mudança de nome e não consigo descobrir qual /dev
local é o correto. Existe uma maneira de procurar por dmesg
ou em /proc
algum outro lugar para descobrir qual nó do dispositivo é uma unidade USB.
(Estou usando o ArchLinux, se isso ajudar alguém ... /dev/sda
é o primeiro disco rígido, /dev/sr0
é uma unidade de DVD, etc.)
editar: a unidade USB está conectada a um hub USB. Eu olhei através dmesg
e diz que o hub estava conectado e procurou os 3 dispositivos conectados a ele. Ainda não consigo ver onde está minha unidade USB.
df
comando mostra onde foi montadoRespostas:
Maneira mais fácil: observe a saída
dmesg
após conectar o dispositivo USB. Ele deve mostrar qual/dev
nó foi atribuído a ele.fonte
dmesg
funciona muito bem, mas tenho um caso emdmesg
que não mostra o/dev
nó: o[421963.864281] usb 3-6: new high-speed USB device number 32 using xhci_hcd
que isso significa? Como posso montar este dispositivo? O dispositivo aparece emlsusb
...Desde que você esteja executando o udev , você pode fazer isso facilmente referenciando / dev / disk / by-id / usb- manufacturername _ serialnumber . Eles aparecem como links simbólicos que você pode referenciar diretamente no seu fstab ou que pode ser desreferenciado usando o readlink -e para determinar o dispositivo de bloco associado.
Aqui está um exemplo do mundo real. Na minha máquina, tenho 3 discos rígidos USB conectados. Cada um deles aparece em / dev / disk / by-id com números de série exclusivos (embora compartilhem uma sequência de caracteres comum do fabricante). Criei links simbólicos para cada uma dessas três entradas exclusivas e agora posso determinar rapidamente qual unidade é qual (e qual dispositivo está associado a cada unidade) executando o readlink -e linkname . Por exemplo, a execução do readlink -e / root / disk2 na minha máquina atualmente exibe " / dev / sde ", enquanto o readlink -e / root / disk3 não produz nenhuma saída.
fonte
for devlink in /dev/disk/by-id/usb*; do readlink -f ${devlink}; done
Todas essas são boas sugestões, mas o método mais rápido e menos detalhado é digitar apenas o seguinte no terminal:
que fornecerá uma lista de todos os dispositivos montados (isso pressupõe que a unidade USB esteja montada, o que geralmente acontece com as distribuições modernas do Linux).
fonte
mount /dev/id /mount/point
, para que não funcione.df
também, suponho.Experimente o comando
udevinfo -q all -n /dev/sda
, onde/dev/sda
está o caminho para o seu disco. Isso fornece uma grande quantidade de informações sobre o disco que você está vendo - há uma entrada que informa sobre o barramento ao qual está conectado.Obviamente, isso evita que você precise grep através do dmesg e / ou logs.
Atualizar
Desde pelo menos julho de 2010 [ 1 ]
udevinfo
foi substituído no Debian (e derivado) porudevadm info
um pouco transitório, com o qual havia links simbólicos que foram descontinuados e removidos (você ainda pode encontrá-los em máquinas antigas e não atualizadas). Sempre de [ 1 ] podemos ler:fonte
udevinfo
é renomeadoudevadm
.udevadm info --query=all -n /dev/ttyUSB1
udevadm info --query=all -n /dev/ttyUSB
no Fedora também.o método mais simples de ver o que está acontecendo é apenas digitar (como raiz, é claro):
Isso fornece uma visão geral completa de todos os dispositivos de bloco, mesmo que não estejam montados
fonte
/dev/disk/by-*
é a maneira mais fácil nesse caso, se por algum motivo você quiser tornar a vida mais interessante, pode usar o HAL.Para listar todos os dispositivos que você usa:
Para obter uma propriedade específica que você usa (isso retornará
/dev/sd*
em um dispositivo de armazenamento USB):Há também:
Se você quiser torná-lo ainda mais complicado, pode escrever com facilidade um montador automático baseado em HAL , o que pode ser bastante útil se você quiser automatizar as coisas completamente.
E apenas para completar, também existem:
O que fornece algumas informações gerais sobre USB e seu hardware em geral.
fonte
E apenas analise o resultado.
fonte
Usar
Sob as regras padrão do udev, isso mostrará a maioria dos dispositivos USB e mostrará o link simbólico para o nome do dispositivo de bloco no sistema.
Se isso não funcionar, olhe
/dev/disk/by-id/
diretamente.fonte
Para dispositivos USB, você pode simplesmente fazer
fonte
Dê uma olhada na árvore embaixo
/dev/disk
. Ele lista os discos e suas partições (sistemas de arquivos) por vários esquemas.fonte
/ var / log / message se o dmesg não tiver mais as informações.
fonte
Se você desconectar a unidade USB e conectá-la novamente, deverá vê-la inicializada no kernel (dmesg)
fonte
Com base na excelente resposta do stormlash e com a dependência do udev para preencher a árvore de dispositivos "/ dev / disk / by-id / usb", você pode definir um predicado (Bash) da seguinte maneira:
E então use-o:
fonte