Another short one. Seems like I haven't completed anything interesting lately, but I have a couple of things in the 
burner. Also, this is mostly for remembering this myself, because I always spend 30m to come up with this invocation[^1].
This is another of those you-wouldn't-need-to-read-this-post-if-you-read-manpages-from-time-to-time posts.

I have a laptop that's the web/home/media/backup server _and_ it's the AP. For many reasons, it has 4 disks[^8]. I also have 
like 10 other old disks laying around, waiting for the day I buy a not so old tower to replace the laptop (which is... 
13yo). That day, identifying disks will be a _necessity_. So far, the best tool I have found that gives me an idea what 
is what is `lsblk`, but I'm not satisfied with its default output format:

    mdione@diablo:~$ lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    sdb      8:16   0   1.8T  0 disk 
    └─sdb1   8:17   0   1.8T  0 part /mnt/trash/mdione/public_html/Pictures
                                     /home/mdione/public_html/Pictures
                                     /home/backup
                                     /mnt/data
    sdc      8:32   0 931.5G  0 disk 
    ├─sdc1   8:33   0    16G  0 part [SWAP]
    └─sdc2   8:34   0 915.5G  0 part /
    sdd      8:48   0 698.6G  0 disk 
    └─sdd1   8:49   0 686.6G  0 part /home/mdione/public_html
                                     /mnt/trash
    sde      8:64   0   1.8T  0 disk 
    ├─sde1   8:65   0  23.8M  0 part 
    ├─sde2   8:66   0   1.8T  0 part 
    └─sde3   8:67   0  48.8G  0 part 

Why? Because I don't care about `MAJ:MIN`, but also I need more info: partition table type[^2], device model[^3],
and at least available space[^4].

Now look at this[^9]:

    mdione@diablo:~$ lsblk --all --output NAME,TYPE,VENDOR,MODEL,REV,ROTA,HOTPLUG,RO,SIZE,PTTYPE,PARTTYPENAME,PARTUUID,PARTFLAGS,PARTLABEL,FSTYPE,FSSIZE,UUID,FSAVAIL,LABEL,FSROOTS,MOUNTPOINTS

[This space intentionally left blank](lsblk.txt)
    
It _is_ a lot of info, but:

* NAME: yes, and I love the tree.
* TYPE: OK, this might be extra, but to this day `nvme0n1` still feels like a partition, and not a whole device.
* VENDOR: Yeah, OK, this looks useless for internal disks (the other two are connected via USB, see HOTPLUG).
* MODEL: yes, please
* REV: OK, not that I upgrade disk firmware ever...
* ROTA: HDD vs SSD/Flash/NVME
* HOTPLUG: mostly, USB, see VENDOR[^6]
* RO: maybe useful for RO SDs?
* SIZE: of course. Unluckily I can't find how to ask for a consistent unit (see the G vs M vs T).
* PTTYPE: dos/MBR vs gpt, which is BIOS/legacy vs UEFI.
* PARTTYPENAME: might be misleading, see `sdb1`'s and the file system it hosts.
* PARTUUID: Debian refuses to allow specifying root partiition by label, and this machine detects disks in the 'wrong'
  order, rendering it unbootable if I use `/dev/sdXY` instead, so this is important[^8].
* PARTFLAGS: 0x80 is DOS bootable partition, which I need in this non-UEFI machine[^7].
* FSTYPE: of course.
* FSSIZE: ditto
* UUID: see PARTUUID.
* FSAVAIL: of course.
* LABEL: except for `/`, I mount by label. Sue me, Debian.
* FSROOTS: My disk usage is weird[^8]. To me it's imporatnt to know what is mounted where. The many entries with non `/`
  FSROOTs are bind mounts.
* MOUNTPOINTS: Ditto.

So, in all, this command replaces `mount` and even `mount -t ext4`, `df -h`, `fdisk -l`, perusing `dmesg` and maybe more.

[^1]: Yeah, OK, I made a script out of it, OK? And it's now deployed everywhere (2 machines :) via Ansible.

[^2]: For when I'm upgrading disks and the new one is not booting or something, like I did recently.

[^3]: To identify two very similar disks for said upgrades, or make _sure_ that `/dev/sda` is not the main disk on the 
      machine[^5] but a USB pen drive I want to write a rescue image on;  otherwise, I would be `/dev[astated]/sad`.

[^4]: Who doesn't want to know this, right?

[^5]: Since I have a laptop that can handle NVME devices, this has been `/dev/nvme0n1`, but almost 3y of novelty can't 
      beat more than two decades of precious `/dev/sda`.

[^6]: Yes, circular 'see', sue me.

[^7]: TBF, this machine supports it, but the hassle it means to activate that now is beyond what I'm prepared to fix.

[^8]: Rationale is like this: I have an internal SSD (not NVME, this machine is too old), this is `/`; 
      an internal HDD for trash, mainly semi throwaway map tiles
      mounted in my `public_html` directory, and it's full; an external HDD, this is for local backup but also serves my 
      pics from a subdir from my `public_html`; if I have to run and leave everything behind, this is the first/only 
      thing I pick up; and the external NVME on a USB encasing, which is soon to replace the external HDD.

[^9]: Chízus, Nikola completely fsck'd it up. Sorry for the text file. And TBH, this does not even fits my terminal on a 
      170%[^10] 3840x2160 27" monitor, but at least looks fine in my navigator.
      
[^10]: I'm old, OK?
