UPDATE-SMART-DRIVEDB(8)

NAME
update-smart-drivedb - update smartmontools drive database

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

DESCRIPTION
update-smart-drivedb updates /usr/local/var/lib/smartmontools/drivedb.h or DESTFILE from branches/RELEASE_6_0_DRIVEDB of smartmontools SVN repository.

The tools used for downloading are either curl(1), wget(1), lynx(1), fetch(1) [FreeBSD only], ftp(1) [OpenBSD only], 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.

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/local/sbin/smartctl.

-t [DIR/]TOOL, --tool [DIR/]TOOL
    Use TOOL for download. TOOL is one of: curl wget lynx fetch ftp svn. The default is the first one found in PATH. If a DIR is also specified, the plain TOOL name must 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
    Download from URL. A valid OpenPGP/GPG signature with '.raw.asc' extension must also exist unless '--no-verify' is also specified.

--file FILE
    Copy from local FILE. A valid OpenPGP/GPG signature 'FILE.raw.asc' must also exist unless '--no-verify' is also specified.

--install
    Copy from originally installed drive database file. This is the same as:
    '--no-verify --file /usr/local/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
    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
    Suppress info messages.

-v, --verbose
    Verbose output.

-h, --help
    Print help text.

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

Revert to previous version:
# update-smart-drivedb --force \
  --file /usr/local/var/lib/smartmontools/drivedb.h.old
/usr/local/var/lib/smartmontools/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/local/sbin/update-smart-drivedb
    full path of this script.

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

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

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

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

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

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

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

/usr/local/var/lib/smartmontools/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
CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV
$Id: update-smart-drivedb.8.in 5605 2024-03-29 17:12:50Z chrfranke $