LSVPD(8)

πŸ“¦ version 1.7.15, in opensuse-leap 16.0

πŸ’… LSVPD(8) β€” like, the whole manual, but make it make sense

okay so bestie, welcome to lsvpd(8) β€” yes that's the manual page name and the footer, we love a full-circle moment ✨


🌸 NAME 🌸

lsvpd β€” list Vital Product Data (VPD). that's it. that's the whole vibe. πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

lsvpd  [-l<device> | --list=<device>]
       [-m | --mark]
       [-s<serial#> | --serial=<serial#>]
       [-t<type/model#> | --type=<type/model#>]
       [-p<database-directory> | --path=<database-directory>]
       [-z<database-archive> | --zip=<database-archive>]
       [-D | --debug]

lsvpd  [-v | --version]

lsvpd  [-h | --help]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this program is part of the lsvpd package for Linux, and here's the lore: that package is a (partial) reimplementation of AIX's lsvpd and its related commands. ancestry! πŸ‘‘

lsvpd lists Vital Product Data (VPD) for the system and all its components β€” like a little receipt for your hardware, ngl. the output is in a machine-readable format that higher-level servicability tools are literally obsessed with.

but here's the part you actually need to know, bestie: this implementation is merely a pretty-printer for information that's already been stored in lsvpd's hardware inventory database β€” and that database gets filled at boot and hot-plug time. so vpdupdate(8) must have been executed prior to running lsvpd. like, before. not optional. no cap. 😭

fr fr: no vpdupdate(8) first = no data to be cute about.

✨ OPTIONS ✨

  • -l<device>, --list=<device> β€” shows you the VPD info related to a specific device you provide. you pick it, it prints it. 🫢
  • -m, --mark β€” uses the FC field in VPD to mark it as global (********) or partition-specific (========). asterisks vs equals signs, a whole aesthetic.
  • -s<serial#>, --serial=<serial#> β€” uses <serial#> in the system serial number field instead of trying to figure out a value. you supply, it trusts you. πŸ’…
  • -t<type/model#>, --type=<type/model#> β€” uses <type/model#> in the system type/model number field instead of trying to determine a value. same energy, different field.
  • -p<database-file>, --path=<database-file> β€” uses <database-file> as the hardware inventory database, rather than the default directory (/var/lib/lsvpd/vpd.db).

this one's genuinely useful for producing output for previous hardware inventory databases that have been replaced by the system. throwback content! πŸ•°οΈ

  • -z<database-archive>, --zip=<database-archive> β€” uses <database-archive> as the hardware inventory database, rather than the default directory (/var/lib/lsvpd/). the archive has been compressed using gzip(1).

useful for producing output for old hardware inventory databases that have been archived by the system. archaeology, but make it terminal. 🏺

  • -D, --debug β€” use this to print extra information about devices (sysfs locations, etc). detective mode πŸ”
  • -v, --version β€” prints the version of the command and exits. short and sweet.
  • -h, --help β€” displays a help screen and quits. the classic.

🌈 FILES 🌈

  • /var/lib/lsvpd/vpd.db β€” the database file used by lsvpd. this is the spot. πŸ‘‘

⭐ SEE ALSO ⭐

lscfg(8), lsmcode(8), lsvio(8), vpdupdate(8) β€” go read those too, iykyk 🧚


πŸ‘‘ AUTHORS πŸ‘‘

Eric Munson <ebmunson@us.ibm.com>. Brad Peters <bpeters@us.ibm.com>.

Copyright (c) 2002 - 2020 IBM.


k that's the whole page!! and for the sign-off: the footer down there is literally just LSVPD(8), and the copyright stretch is 2002 - 2020 IBM β€” so yeah, iconic manual page, iconic dates, slay πŸ’œπŸŽ€

πŸ“¦ where this page comes from