ubuntuusers.de

lsdisk: Listen Festplatte/Wechseldatenträger OHNE root

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

RapaNui

Avatar von RapaNui

Anmeldungsdatum:
16. Juli 2007

Beiträge: 1925

Wohnort: Penco / Chile

Hallo Zusammen,

Hinweis:

Das Projekt wurde mit os-prober-efi zusammengelegt, da es ebenfalls Grundlage der dortigen Auswertungen ist. Siehe auch den Artikel in der Baustelle os-prober-efi dazu.

lsdisk ist ein Shellskript, bei dem ich auf spezielle Bash-Build-Ins verzichtet habe und dadurch auch unter anderen Shells ablauffähig ist (getestet: bash,dash,zsh,ksh,csh).
Es listet defaultmäßig die Informationen zu Festplatten/Wechseldatenträgern auf, ohne dabei Rootrechte zu benötigen (ähnlich einem fdisk -lu). Voraussetzung ist ein Kernel ab 2.6.32 mit dem virt. Filesystem sysfs, also ab Lucid. Ausgewertet werden dabei die Informationen, wie das System die Platten erkannt hat. Es können alle (lt. /proc/partitions) oder auch selektive Datenträger ausgewertet werden.

  • Es erstellt 3 Listarten. Die Listüberschrift beinhaltet u.a. die Ubuntu-Version (sofern lsb-release vorhanden), den Namen des OS (uname -o) sowie den Maschinentyp (uname -r) und zusätzlich das Bootimage mit den Bootoptionen (/proc/cmdline).

    1. Liste der Platten und Partitionen mit Start-/Ende-Sektoren, Größe in Sektoren und Bytes (nach SI- und IEC-Norm), Label, UUID und sofern "gemounted" das Filesystem und der Mountpunkt. Wird diese Listform mit root angefordert, so werden noch der Name der Patitionstabelle gelistet sowie bei erweiterten Partitionseinträgen die eindeutige ID 05 angezeigt.

    2. Unter root kann auch parted bzw. fdisk/gdisk (ja nach Tabelle) zur Auflistung aufgerufen werden.

    3. Unter root können die Inhalte der Partitionstabellen (MPT oder GPT) in lesbarer Form auflistet werden.

In der Hoffnung, dass das Teil hilfreich sein kann habe ich es seit gestern bei sourceforge gehostet.

Das Skript ist sicherlich nicht perfekt, aber es erfüllt z.Zt. seine Aufgabe und darum übergeb ich den Kommentarbereich mal an Euch 😉

Muster:

lsdisk 
lsdisk - 0.15  System: Ubuntu 10.04.4 LTS GNU/Linux x86_64    Options: -l sda sdb sdc sdd sde         
BIOS-loaded    BOOT_IMAGE=/boot/vmlinuz-2.6.32-41-generic root=UUID=1847456f-c740-48ac-bff9-198f2591c90c ro quiet splash

Disk: /dev/sda    (4)   Model: ATA__WDC_WD1600AABB-0  Disk size: 312581808 sectors  (149.0GiB/160.0GB)  Logical/physical sector size: 512 B/512 B 
Device             Start          End         Size                            FS Mount                Label              UUID
/dev/sda1:            63      8385929      8385867 (    3.9GiB/    4.2GB)   swap partition                               28ab1d88-b05b-40ab-8352-3c21e78465c7
/dev/sda4:       8385930      8385931            2 (     1024B/    1024B)                                                
/dev/sda5:     112583583    312576704    199993122 (   95.3GiB/  102.3GB)   ext3 /media/CargoBay      CargoBay           5339e963-71a9-4e60-aee5-63f1122f9f9a
/dev/sda6:      11004588    112583519    101578932 (   48.4GiB/   52.0GB)   ext3 /media/ShuttleBay    ShuttleBay         6ae8cc9e-27fa-4e39-831a-973fc02819c0

Disk: /dev/sdb    (3)   Model: ATA__WDC_WD3200AAKS-2  Disk size: 625142448 sectors  (298.0GiB/320.0GB)  Logical/physical sector size: 512 B/512 B 
Device             Start          End         Size                            FS Mount                Label              UUID
/dev/sdb1:            63           64            2 (     1024B/    1024B)                                                
/dev/sdb5:      60806088    625137344    564331257 (  269.0GiB/  288.9GB)   ext3 /media/MessHall      MessHall           0f8ad5b2-381d-4a79-9c47-d3cefb83bf32
/dev/sdb6:           126     60806024     60805899 (   28.9GiB/   31.1GB)   ext4 /media/Cargo14       Cargo14            4e7beaec-1991-446d-86b7-25433c0237d8

Disk: /dev/sdc    (3)   Model: ATA__MAXTOR_STM380215  Disk size: 156301488 sectors  (74.5GiB/80.0GB)  Logical/physical sector size: 512 B/512 B 
Device             Start          End         Size                            FS Mount                Label              UUID
/dev/sdc1:            63     20964824     20964762 (    9.9GiB/   10.7GB)   ext4 /                                       1847456f-c740-48ac-bff9-198f2591c90c
/dev/sdc2:      20964825     63890504     42925680 (   20.4GiB/   21.9GB)   ext4 /home                Home               69979c60-4739-4a50-aac2-f74654478544
/dev/sdc3:      72404955    156296384     83891430 (   40.0GiB/   42.9GB)   ext4 /media/Cargo40       Cargo40            dd3f1c8b-45b7-4c48-ac10-155321b95b7f

Disk: /dev/sdd    (1)   Model: SanDisk__U3_Cruzer_Micro_  Disk size: 7913471 sectors  (3.7GiB/4.0GB)  Logical/physical sector size: 512 B/512 B 
Device             Start          End         Size                            FS Mount                Label              UUID
/dev/sdd1:            34      7913437      7913404 (    3.7GiB/    4.0GB)                             SANDISK            96E0-1B97

Disk: /dev/sde    (1)   Model: __________________  Disk size: 7613559 sectors  (3.6GiB/3.8GB)  Logical/physical sector size: 512 B/512 B 
Device             Start          End         Size                            FS Mount                Label              UUID
/dev/sde1:            63      7598744      7598682 (    3.6GiB/    3.8GB)                             PARADIES           EB42-CE35

Anmerkung zu den Titelzeilen:

  1. System: Ubuntu 10.04.4 LTS GNU/Linux x86_64

    • Werte aus lsb_release und uname

  2. BIOS-loaded

    • Anzeige wie das System gestarted wurde: BIOS-loaded oder EFI-loaded

    • Die Ergänzung (EFI), z.B. bei BIOS-loaded(EFI) ist der Hinweis auf ein EFI-fähiges Board (dmidecode) und erscheint nur mit Rootrechten.

  3. BOOT_IMAGE=/boot/vmlinuz-2.6.32-41-generic root=UUID=1847456f-c740-48ac-bff9-198f2591c90c ro quiet splash

    • Der Startaufruf lt. /proc/cmdline

Anmerkung zu den Partitionszeilen:

  • Ein Hinweis auf die genutzte Partitionstabelle erscheint nur mit Rootrechten (partprobe).

  • Der eindeutige Hinweis auf erweiterte Partitionen, hier sda4, (ID=05: extended) nur mit Rootrechten (hexdump).

lsdisk sde 
lsdisk - 0.15  System: Ubuntu 10.04.4 LTS GNU/Linux x86_64    Options: -l sde   
BIOS-loaded    BOOT_IMAGE=/boot/vmlinuz-2.6.32-41-generic root=UUID=1847456f-c740-48ac-bff9-198f2591c90c ro quiet splash

Disk: /dev/sde    (1)   Model: __________________  Disk size: 7613559 sectors  (3.6GiB/3.8GB)  Logical/physical sector size: 512 B/512 B 
Device             Start          End         Size                            FS Mount                Label              UUID
/dev/sde1:            63      7598744      7598682 (    3.6GiB/    3.8GB)                             PARADIES           EB42-CE35

Partitionstabellen:

sudo lsdisk -A 
lsdisk - 0.15  System: Ubuntu 10.04.4 LTS GNU/Linux x86_64    Options: -A 
BIOS-loaded(EFI) BOOT_IMAGE=/boot/vmlinuz-2.6.32-41-generic root=UUID=1847456f-c740-48ac-bff9-198f2591c90c ro quiet splash

 *                              Boot ID    Start-CHS   ID       End-CHS               LBA1                          LBA2
 *     /dev/sda     msdos       7c3c 00    1   1   0   82   254 191   9                 63                       8385867
 *                                   00    0   0   0   00     0   0   0                  0                             0
 *                                   00    0   0   0   00     0   0   0                  0                             0                                              
 *                                   80    0 129  10   05   254 255 255            8385930                     304190775                                              
 *     /dev/sda1    msdos       0000 00  254 255 255   83   254 255 255          112583520                     199993122                                              
 *                                   00    0 129 173   05   254 255 255           11004462                     101578995
 *     /dev/sda4    msdos       12cf 00  254 255 255   83   254 255 255          104197653                     199993122
 *                                   00    0 129 173   05   254 255 255            2618595                     101578995
 *     /dev/sda5    msdos       0000 00    0   0   0   00     0   0   0                  0                             0
 *                                   00    0   0   0   00     0   0   0                  0                             0
 *     /dev/sda6    msdos       0000 00    0   0   0   00     0   0   0                  0                             0
 *                                   00    0   0   0   00     0   0   0                  0                             0

 * Disk: /dev/sde     Size: 7913471  P-Table: gpt/ee  first/last usable: 34/7913437   Entries max./size: 128/128  GUID: 1155189E-BCE5-4F31-84D9-C37168EA4434
 *                           Signature     Size    Position Current/Backup    Entries-Start   Header-CRC    Part.-CRC     Revision  Reserve          
 *               primary  :   EFI PART       92             1      7913470                2     c73d392d     acce2e37     00000100  00000000
 *               secondary:   EFI PART       92       7913470            1          7913438     79dd7c81     acce2e37     00000100  00000000

 *                           GUID                                      Start-LBA      End-LBA   Attribute values 
 *                             unique GUID                              Partition name          (16)  (32)  (48)  (64)
 *     /dev/sde1    gpt/ee   EBD0A0A2-B9E5-4433-87C0-68B6B72699C7             34      7913437   8003  000f  0000  1000 
 *                             89A43D96-E72A-4C69-A308-BE4AC3652754     Microsoft basic data

Testen:

Zum testen das aktuelle Archiv von sourceforge ⮷ nach /tmp herunterladen und entpacken - hier die Version 0.15.tar.gz

cd /tmp
tar -xzf lsdisk-0.15.tar.gz 

Ins Unterverzeichnis der enstp. Version wechseln - hier Version 0.15

cd lsdisk-0.15 

Das Skript aufrufen

sh ./lsdisk 

Um z.B. eine Partitionstabellen-Analyse zu erstellen mit Rootrechtenn

sudo sh ./lsdisk -A 

Installieren:

Soll das Skript ins System installiert werden, dann kann man dies mit einem:

sudo ./install.sh 

Ab sofort ist das Programm dann über lsdisk oder sudo lsdisk aufrufbar.

Saludos de Chile
RapaNui

Antworten |