Terminal pogryzł człowieka: lsblk
Dziesiątki dysków, setki partycji – życie nie rozpieszcza typowego użytkownika który podjął się ambitnego zadania wykonania kopii zapasowej internetu. Pół biedy z zapamiętaniem gdzie i co się zapisało, ale jak ogarnąć punkty montowania przypisane partycjom, ich pojemność (partycji), czy wręcz użytego zarządcę I/O, informacje o typie dysku, modelu, itp. To często wyczerpujące zajęcie z dopasowywaniem partycji do miejsca ich zamontowania możemy przeprowadzać chałupniczym sposobem analizując /etc/fstab, ale możemy również poradzić się polecenia df -h – jednak ono wskaże nam tylko informacje o partycjach zamontowanych. A co z resztą? Skracając męki oczekiwania, bez zbędnego filozofowania – najwygodniej użyć niepozornego polecenia lsblk.
Wspomniane narzędzie możemy znaleźć w pakiecie util-linux w każdej niemal dystrybucji. Jak anonsuje manual – lsblk to polecenie listujące urządzenia blokowe. Ale jak listujące…
$ lsblk -h Usage: lsblk [options] [<device> ...] Options: -a, --all print all devices -b, --bytes print SIZE in bytes rather than in human readable format -d, --nodeps don't print slaves or holders -D, --discard print discard capabilities -e, --exclude <list> exclude devices by major number (default: RAM disks) -f, --fs output info about filesystems -h, --help usage information (this) -i, --ascii use ascii characters only -m, --perms output info about permissions -l, --list use list format ouput -n, --noheadings don't print headings -o, --output <list> output columns -P, --pairs use key="value" output format -r, --raw use raw output format -t, --topology output info about topology Available columns: NAME device name KNAME internal kernel device name MAJ:MIN major:minor device number FSTYPE filesystem type MOUNTPOINT where the device is mounted LABEL filesystem LABEL UUID filesystem UUID RO read-only device RM removable device MODEL device identifier SIZE size of the device STATE state of the device OWNER user name GROUP group name MODE device node permissions ALIGNMENT alignment offset MIN-IO minimum I/O size OPT-IO optimal I/O size PHY-SEC physical sector size LOG-SEC logical sector size ROTA rotational device SCHED I/O scheduler name RQ-SIZE request queue size TYPE device type DISC-ALN discard alignment offset DISC-GRAN discard granularity DISC-MAX discard max bytes DISC-ZERO discard zeroes data
Ta z początku enigmatycznie wyglądająca lista parametrów napędza może i nieco strachu, ale lsblk poinformuje nas o czym trzeba bez podawania jakichkolwiek opcji:
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 119,2G 0 disk ├─sda1 8:1 0 39,1G 0 part ├─sda2 8:2 0 39,1G 0 part / └─sda3 8:3 0 41,1G 0 part sdb 8:16 0 931,5G 0 disk ├─sdb1 8:17 0 146,5G 0 part /home └─sdb2 8:18 0 785G 0 part /home/magazyn sr0 11:0 1 1024M 0 rom
Tu widzimy podstawową różnicę pomiędzy informacjami o systemie plików jakie generuje df -h, a lsblk które w ładnym porządku wyświetla wszystkie urządzenia blokowe, ich rozmiar, typ (czy dysk, czy partycja), oraz gdzie aktualnie dany zasób jest zamontowany w systemie. To oczywiście nie koniec.
Korzystając z powyższych parametrów będziemy w stanie wygenerować swoją własną tabelkę z właściwościami naszych dysków, wystarczy użyć gotowca lub opcji ‘-o’ i podać oddzielne przecinkiem kolumny, które nas interesują (niektóre będą wymagały praw roota, dlatego warto pamiętać o sudo):
$ sudo lsblk -o NAME,MODEL,UUID,FSTYPE,MOUNTPOINT NAME MODEL UUID FSTYPE MOUNTPOINT sda OCZ-VERTEX4 ├─sda1 988605c4-a184-4187-a854-4588ccda6e06 ext4 ├─sda2 87805d99-dfc0-428a-9fd2-0d5c34327605 ext4 / └─sda3 69c56bec-ddea-4e03-988c-6c8e89578817 ext4 sdb WDC WD10EFRX-68P ├─sdb1 cff9d825-98b4-4fde-a5d1-2235dcbbbdb0 ext4 /home └─sdb2 dbb59055-54f5-467e-897c-2c6413ddd6c8 ext4 /home/magazyn
W ten oto sposób uzyskamy ciekawe informacje – łatwo, szybko i czytelnie. I żadna partycja nie umknie naszej uwadze.