Retrouver le disque système (même avec LUSK)
bonjour,
je dois retrouver le disque ou est installé le système pour tester ensuite si c'est un SSD ou HDD,
MAIS
problèmes avec LUSK (voire même avec LVM? non testé)
j'utilisais df :
Code:
disk=$(df --output="source,target" | grep "/$" | cut -c 6-8 )
mais avec lusk ca ne marche pas :
df --output="source,target" me retourne un /dev/mapper/....
j'ai donc essayé avec lsblk :
Citation:
#lsblk -o "name,mountpoint" -pa
/dev/sda
├─/dev/sda1 /boot
├─/dev/sda2
│ └─/dev/mapper/cryptManjaro /
├─/dev/sda3
└─/dev/sda5 [SWAP]
ce qui me donne :
Code:
1 2
| disk=$(df --output="source,target" | grep "/$" | cut -c 6-8 )
[[ "$disk" == "map" ]] && disk=$(lsblk -o "name,mountpoint" -pa | grep "/$" -B1 | head -n 1 | cut -c12-14) |
mais prendre toujours ligne -1 ne me parait vraiment pas bon (si j'ai un home crypté aussi et placé avant par exemple).
Une "bonne" solution serait de remonter de "/$" jusqu'a la ligne débutant par le caractère "/" ? il me semble que c'est facile avec sed mais la c'est hors de mes compétences.
Sinon il existe peut être une solution plus directe avec quelque chose du type :
Code:
1 2 3 4 5 6
| partition=$(df --output="source,target" |grep "/$" | cut -d / -f 3)
if [[ "$partition" == "mapper" ]]; then
partition=$(sudo cryptsetup status $(df --output="source,target" |grep "/$"|cut -d' ' -f1 |cut -d/ -f4
) | grep device | cut -d/ -f3)
fi
disk=${partition:0:3} |
mais la il faut utiliser sudo :( et reste le cas avec LVM : aucune idée si ca marche ?