Eu não imaginaria que seria tão difícil obter esse resultado. É exatamente esse o resultado que desejo da minha configuração.
Eu uso LUKS (então meu sistema é criptografado) e LVM.
Não quero que sda seja exibido porque é onde meu sistema de arquivos raiz vive, e é meu dispositivo raiz. A solução também deve funcionar para sistemas sem LUKS ou LVM, o que significa que deve lidar com todos os cenários.
Estou usando um Debian 12.x e quero exibir todos os dispositivos principais em um comando de linha, se possível, exceto meu dispositivo raiz , independentemente de ser um LVM, LUKS ou não, etc.
O comando deve ser flexível, e não quero usar especificações fixas *--vg-root
, etc., se possível.
Comentário de @bertieb: Pela saída adicionada, parece que o ponto de montagem raiz está em um grupo de volumes em um volume criptografado no dispositivo que está se apresentando como sda -- o OP quer que todo o dispositivo e todos os 'dispositivos' de bloco associados sejam eliminados? Ou seja, remova o root vg E o swap, crypt, contendo a partição (sda3) mais outras partições e, finalmente, o dispositivo (sda)
E esse deve ser meu resultado, então todos os dispositivos principais sem, sda
porque esse é meu dispositivo raiz, onde meu sistema de arquivos raiz está /
, e sem que eu precise especificar detalhes, então posso usá-lo em outros dispositivos/sistemas também, seja LVM, LUKS, etc., sem precisar saber como o root é chamado, ou qual é o UUID, etc.
Não quero ver as partições, apenas os dispositivos principais sem dispositivo raiz, como neste comandolsblk -d -o NAME,SIZE --sort SIZE
Esta é a saída que preciso:
Sem sda (já que é o dispositivo raiz que contém meu sistema de arquivos raiz /)
Apenas os dispositivos principais são exibidos (independentemente de quantos existam)
Nenhuma partição incluída dos outros dispositivos
Não sei como explicar melhor.
RESULTADO QUE PRECISO:
NAME SIZE
nvme0n1 238.5G
Minha configuração:
$ lsblk -d -o NAME,SIZE --sort SIZE
NAME SIZE
sda 57,3G
nvme0n1 238,5G
$ lsblk -fs -o NAME
# ROOT DEVICE
sda1
`-sda
sda2
`-sda
desktop--vg-root
`-sdb3_crypt
`-sda3
`-sda
...
...
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 57,3G 0 disk
├─sda1 8:1 1 512M 0 part /boot/efi
├─sda2 8:2 1 488M 0 part /boot
└─sda3 8:3 1 56,3G 0 part
└─sdb3_crypt 254:0 0 56,3G 0 crypt
├─desktop--vg-root 254:1 0 55,3G 0 lvm /
└─desktop--vg-swap_1 254:2 0 980M 0 lvm [SWAP]
nvme0n1 259:0 0 238,5G 0 disk
└─nvme0n1p1 259:1 0 238,5G 0 part /user/backup
Eu não quero isso, por exemplo /dev/mapper/desktop--vg-root
, sdb3_crypt
, sda3
não sda
.
Mas aqui no exemplo sda
, este é o dispositivo raiz, não preciso deste dispositivo na saída.
Infelizmente, ambas as respostas não atendem à minha solução.
MEUS DISPOSITIVOS, MINHA CONFIGURAÇÃO:
NAME SIZE
sda 57.3G
|-sda1 512M
|-sda2 488M
`-sda3 56.3G
`-sdb3_crypt 56.3G
`-desktop--vg-swap_1980M
nvme0n1 238.5G
`-nvme0n1p1 238.5G
RESULTADO QUE PRECISO:
NAME SIZE
nvme0n1 238.5G
Configuração do sistema Debian, lsblk e outras informações:
Operating System: Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.1.0-22-amd64
Architecture: x86-64
lsblk from util-linux 2.38.1
$ apt-get install --only-upgrade util-linux
util-linux is already the newest version (2.38.1-5+deb12u3)
De @terdon RESULTADO:
mylsblk(){ lsblk -o NAME,SIZE,MOUNTPOINT | awk '$NF!="/"{printf "%-15s%-10s\n", $1,$2}'; }
NAME SIZE
sda 57.3G
|-sda1 512M
|-sda2 488M
`-sda3 56.3G
`-sdb3_crypt 56.3G
`-desktop--vg-swap_1980M
nvme0n1 238.5G
`-nvme0n1p1 238.5G
$ lsblk -o NAME,SIZE,MOUNTPOINT
NAME SIZE MOUNTPOINT
sda 57.3G
|-sda1 512M /boot/efi
|-sda2 488M /boot
`-sda3 56.3G
`-sdb3_crypt 56.3G
|-desktop--vg-root 55.3G /
`-desktop--vg-swap_1 980M [SWAP]
nvme0n1 238.5G
$ lsblk -o NAME,SIZE,MOUNTPOINT | awk '$NF!="/"{printf "%-15s%-10s\n", $1,$2}';
NAME SIZE
sda 57.3G
|-sda1 512M
|-sda2 488M
`-sda3 56.3G
`-sdb3_crypt 56.3G
`-desktop--vg-swap_1980M
nvme0n1 238.5G
$ lsblk -o NAME,SIZE,MOUNTPOINT | awk '$NF=="/"'
|-desktop--vg-root 55.3G /
De Chris Davies RESULTADO:
Root partition: mapper/desktop--vg-root
Root device:
NAME SIZE
sda 57.3G
nvme0n1 238.5G
De @muru:
lsblk -d $(findmnt -no source /)
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
desktop--vg-root 254:1 0 55,3G 0 lvm /