Cara, onde está minha raiz?
Primeiro de tudo, precisamos saber em qual disco seu sistema de arquivos raiz está localizado (em outras palavras, qual dispositivo hospeda seu Ubuntu. Uma maneira é com df
.
$ df / -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 110G 58G 48G 55% /
Ótimo! Agora sei que meu Ubuntu é colocado no disco /dev/sda
, que tem 110 GB de tamanho (e os outros 10 GB são usados para outra coisa). Não tem informação suficiente? OK, que tal isso:
$ sudo lshw -short -C disk
[sudo] password for xieerqi:
H/W path Device Class Description
======================================================
/0/1/0.0.0 /dev/sda disk 120GB Radeon R7
/0/2/0.0.0 /dev/sdb disk 500GB TOSHIBA MQ01ABF0
Oh, Radeon R7! esse é meu SSD! Mas espere . . .
E se você tiver dois discos do mesmo tamanho e do mesmo fabricante?
Bem, os discos têm essa informação muito interessante: a rapidez com que eles rodam e, como sabemos, os discos SSD não giram .
$ sudo smartctl -a /dev/sda | grep 'Rotation Rate'
[sudo] password for xieerqi:
Rotation Rate: Solid State Device
Parece certo?
Nota: o smartmontools
pode precisar ser instalado para usar o comando smartctl
.
Para mais informações, leia esta postagem no site do Unix e Linux stackexchange
Atualização adicional:
Existe mais um método, conforme descrito aqui . Cada unidade tem o diretório correspondente no diretório /sys/class/block/
e fazendo
cat /sys/class/block/DEVICE_NAME/queue/rotational
você receberá 1 para o disco rígido ou 0 para o ssd. Essa abordagem é muito conveniente para uso em scripts
Na verdade, essa é aparentemente a mesma abordagem que lsblk
usa:
$ lsblk -o NAME,ROTA
NAME ROTA
sda 0
└─sda1 0
sdb 1
├─sdb1 1
├─sdb2 1
├─sdb3 1
├─sdb4 1
├─sdb5 1
└─sdb6 1