Caminho mais fácil: observe a saída de dmesg
após conectar o dispositivo USB. Ele deve mostrar a você o que /dev
node foi atribuído a ele.
Eu quero montar uma unidade USB, dois deles e preciso de dois pontos de montagem diferentes. Infelizmente, o kernel Linux sofreu uma mudança de nome e não consigo descobrir qual /dev
location é a correta. Existe uma maneira de procurar por dmesg
ou /proc
ou outro lugar para descobrir qual nó de dispositivo é uma unidade USB.
(Eu estou usando o ArchLinux se isso ajudar qualquer ... /dev/sda
é o primeiro disco rígido, /dev/sr0
é um drive de dvd, etc.)
edit: a unidade USB está conectada a um hub USB. Eu olhei através de dmesg
e ele diz que o hub estava conectado e varreu os 3 dispositivos conectados a ele. Ainda não consigo ver onde está o meu drive USB.
Desde que você esteja executando o udev , você pode fazer isso facilmente referenciando / dev / disk / by -id / usb- nome_do_computador _ número_de_serial . Eles aparecem como links simbólicos que você pode referenciar diretamente em seu fstab ou que você pode excluir usando 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 eles compartilhem uma string de fabricante comum). 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 readlink -e linkname . Por exemplo, a execução readlink -e / root / disk2 na minha máquina exibe atualmente " / dev / sde ", enquanto readlink -e / root / disk3 não produz nenhum resultado.
Todas essas são boas sugestões, mas o método mais rápido e menos detalhado é simplesmente digitar o seguinte no terminal:
mount
, que fornecerá uma lista de todos os dispositivos montados (isso pressupõe que a unidade USB esteja montada, o que geralmente é o caso das distribuições Linux modernas).
Experimente o comando udevinfo -q all -n /dev/sda
, em que /dev/sda
é o caminho para o seu disco. Isso lhe dá um monte de informações sobre o disco que você está olhando - há uma entrada que informa sobre o barramento ao qual está conectado.
Isso, é claro, evita que você tenha que passar pelo dmesg e / ou logs.
Atualizar
udevadm info --query=all -n /dev/sda
Pelo menos a partir de julho de 2010 [ 1 ] udevinfo
foi substituído no Debian (e derivado) por udevadm info
com um pequeno transitório com o qual existiam links simbólicos em breve descontinuados e removidos (você ainda pode encontrá-los em máquinas antigas não atualizadas). Sempre de [ 1 ], podemos ler:
In udev 117,
udevadm
was introduced andudevinfo
and other programs turned into compatibility symlinks. The symlinks were deprecated in udev 128 and removed for good in udev 147.
o método mais simples para ver o que está acontecendo é apenas digitar (como root, é claro):
blkid -c /dev/null
isto fornece uma visão geral completa sobre todos os dispositivos de bloco, mesmo que não estejam montados
/dev/disk/by-*
é a maneira mais fácil neste caso, se por algum motivo você quiser tornar a vida mais interessante, você pode usar o HAL.
Para listar todos os dispositivos que você usa:
hal-device
Para obter uma propriedade específica que você usa (isso retornará /dev/sd*
em um dispositivo de armazenamento USB):
hal-get-property --udi $UDI --key block.device
Existe também:
hal-find-by-capability
hal-find-by-property
Se você quiser torná-lo ainda mais complicado, é relativamente fácil escrever para você um HAL com base em auto mounter , que pode ser bastante útil se você quiser automatizar as coisas completamente.
E apenas para completar, há também:
lsusb -v
lshw
O que fornece algumas informações gerais sobre o USB e seu hardware em geral.
sudo fdisk -l
E apenas analise o resultado.
Use
ls -l /dev/disk/by-id/usb*
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, veja /dev/disk/by-id/
diretamente.
Para dispositivos USB, você pode simplesmente fazer
REMOVABLE_DRIVES=""
for _device in /sys/block/*/device; do
if echo $(readlink -f "$_device")|egrep -q "usb"; then
_disk=$(echo "$_device" | cut -f4 -d/)
REMOVABLE_DRIVES="$REMOVABLE_DRIVES $_disk"
fi
done
echo Removable drives found: "$REMOVABLE_DRIVES"
Dê uma olhada na árvore sob /dev/disk
. Ele lista discos e suas partições (sistemas de arquivos) por vários esquemas.
/ var / log / message se o dmesg não tiver mais as informações.
Se você desconectar o drive USB e ligá-lo de volta, você deve vê-lo inicializar a partir do kernel (dmesg)