我不会想到实现这个结果会如此困难,这正是我想要从我的设置中获得的输出。
我使用 LUKS(所以我的系统是加密的)和 LVM。
我不想显示 sda,因为那是我的根文件系统所在的地方,也是我的根设备。该解决方案也适用于没有 LUKS 或 LVM 的系统,这意味着它必须处理所有场景。
我在 Debian 12.x 上,如果可能的话,我想在一行命令中显示所有主要设备,除了我的根设备,无论它是否是 LVM、LUKS 等。
命令应该灵活,如果可能的话,我不想使用固定的规格*--vg-root
等。
@bertieb 评论: 从添加的输出来看,似乎根挂载点位于设备上加密卷的卷组中,并显示为 sda - OP 希望省略整个设备和所有相关块“设备”?即删除根卷组和交换、crypt、包含分区(sda3)以及其他分区,最后是设备(sda)
这应该是我的结果,因此所有主要设备均不需要, sda
因为这是我的根设备,我的根文件系统位于其中/
,并且不需要我指定详细信息,所以我也可以在其他设备/系统上使用它,无论是 LVM、LUKS 等,而不需要知道根叫什么,或者 UUID 是什么,等等。
我不想看到分区,只想看到没有根设备的主设备,就像在这个命令中lsblk -d -o NAME,SIZE --sort SIZE
这是我需要的输出:
没有 sda(因为它是包含我的根文件系统 / 的根设备)
仅显示主要设备(无论有多少个)
不包含来自其他设备的分区
我不知道该如何更好地解释它。
我需要的结果:
NAME SIZE
nvme0n1 238.5G
我的设置:
$ 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
我不想要那个,例如/dev/mapper/desktop--vg-root
,,不sdb3_crypt
。sda3
sda
但是从这个例子来看sda
,这是根设备,我不需要输出中的这个设备。
不幸的是,这两个答案都未能解决我的问题。
我的设备,我的设置:
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
我需要的结果:
NAME SIZE
nvme0n1 238.5G
系统设置Debian、lsblk和其他信息:
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)
来自@terdon结果:
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 /
来自Chris Davies 的结果:
Root partition: mapper/desktop--vg-root
Root device:
NAME SIZE
sda 57.3G
nvme0n1 238.5G
来自@muru:
lsblk -d $(findmnt -no source /)
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
desktop--vg-root 254:1 0 55,3G 0 lvm /