UPDATE-SMART-DRIVEDB(8)

NAME
update-smart-drivedb - update smartmontools drive database

SYNOPSIS
update-smart-drivedb [OPTIONS] [DESTFILE]

DESCRIPTION
[This man page is generated for the Linux version of smartmontools. It does not contain info specific to other platforms.]

update-smart-drivedb updates /var/lib/smartmontools/drivedb/drivedb.h or DESTFILE from branches/RELEASE_7_3_DRIVEDB of smartmontools SVN repository.

The tools used for downloading are either curl(1), wget(1), lynx(1), or svn(1).

The downloaded file is verified with OpenPGP/GPG key ID 721042C5. The public key block is included in the script.

The old file is kept if the downloaded file is identical (ignoring the differences in Id string) otherwise it is moved to drivedb.h.old.

[NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] The old file is also kept if the downloaded file reports an older version on the same branch. This could be overridden with the '--force' option. If the branch version differs, the file is always updated.

OPTIONS

-s SMARTCTL, --smartctl SMARTCTL
    Use the smartctl(8) executable at path SMARTCTL for drive database syntax check. The form '-s -' disables the syntax check. The default is /usr/sbin/smartctl.

-t [DIR/]TOOL, --tool [DIR/]TOOL
    Use TOOL for download. TOOL is one of: curl wget lynx svn. The default is the first one found in PATH.
    [NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] A DIR could also be specified. The plain TOOL name must then begin with any of the above names.

-u LOCATION, --url-of LOCATION
    Use URL of LOCATION for download. LOCATION is one of:
    github (GitHub mirror of SVN repository),
    sf (Sourceforge code browser),
    svn (SVN repository),
    svni (SVN repository via HTTP instead of HTTPS),
    trac (Trac code browser).
    The default is svn.

--url URL
    [NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] Download from URL. A valid OpenPGP/GPG signature with '.raw.asc' extension must also exist unless '--no-verify' is also specified.

--file FILE
    [NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] Copy from local FILE. A valid OpenPGP/GPG signature 'FILE.raw.asc' must also exist unless '--no-verify' is also specified.

--install
    [NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] Copy from originally installed drive database file. This is the same as:
    '--no-verify --file /usr/share/smartmontools/drivedb.h'

--trunk
    Download from SVN trunk. This requires '--no-verify' because the trunk versions are not signed.

--branch X.Y
    Download from branches/RELEASE_X_Y_DRIVEDB. This also selects the OpenPGP/GPG key for older branches (5.40 to 6.6: Key ID DFD22559).

--cacert FILE
    Use CA certificates from FILE to verify the peer.

--capath DIR
    Use CA certificate files from DIR to verify the peer.

--insecure
    Don't abort download if certificate verification fails. This option is also required if a HTTP URL is selected with '-u' option.

--no-verify
    Don't verify signature with GnuPG.

--force
    [NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] Allow downgrades. By default, the database is not replaced with an older version of the same branch.

--export-key
    Print the OpenPGP/GPG public key block.

--dryrun
    Print download commands only.

-q, --quiet
    [NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] Suppress info messages.

-v, --verbose
    Verbose output.

-h, --help
    Print help text.

EXAMPLES
Regular update:
# update-smart-drivedb
/var/lib/smartmontools/drivedb/drivedb.h 7.2/5225 updated to 7.2/5237

Revert to previous version:
# update-smart-drivedb --force \
  --file /var/lib/smartmontools/drivedb/drivedb.h.old
/var/lib/smartmontools/drivedb/drivedb.h 7.2/5237 downgraded to 7.2/5225

Download the database from SVN trunk to current directory:
$ update-smart-drivedb --trunk --no-verify -s - -u trac drivedb-trunk.h
drivedb-trunk.h 7.3/5254 newly installed (NOT VERIFIED)

EXIT STATUS
The exit status is 0 if the database has been successfully updated or is already up to date. If an error occurs the exit status is 1.

FILES

/usr/sbin/update-smart-drivedb
    full path of this script.

/usr/sbin/smartctl
    used to check syntax of new drive database.

/usr/share/smartmontools/drivedb.h
    originally installed drive database.

/var/lib/smartmontools/drivedb/drivedb.h
    current drive database.

/var/lib/smartmontools/drivedb/drivedb.h.raw
    current drive database with unexpanded SVN Id string.

/var/lib/smartmontools/drivedb/drivedb.h.raw.asc
    signature file.

/var/lib/smartmontools/drivedb/drivedb.h.*old*
    previous files.

/var/lib/smartmontools/drivedb/drivedb.h.*error*
    new files if rejected due to errors.

/var/lib/smartmontools/drivedb/drivedb.h.lastcheck
    empty file created if downloaded file was identical.

AUTHORS
Christian Franke.
This manual page was originally written by Hannes von Haugwitz <hannes@vonhaugwitz.com>.

REPORTING BUGS
To submit a bug report, create a ticket in smartmontools wiki:
<https://www.smartmontools.org/>.
Alternatively send the info to the smartmontools support mailing list:
<https://listi.jpberlin.de/mailman/listinfo/smartmontools-support>.

SEE ALSO
smartctl(8), smartd(8).

PACKAGE VERSION
smartmontools-7.4 2023-08-01 r5530
$Id: update-smart-drivedb.8.in 5521 2023-07-24 16:44:49Z chrfranke $