OVDB_INIT(8)
π ovdb_init β the manual page (InterNetNews docs, bestie edition) π
okay so real talk, ovdb_init is the "prepare the ovdb database for use" girlie β¨ β that's the whole NAME situation, and honestly? iconic job description.
β¨ SYNOPSIS β¨
ovdb_init [-r|-u]
that's it. two little flags. lowkey nothing but they do SO much π
πΈ DESCRIPTION πΈ
bestie, listen β this command must be run before any other process can touch the overview database. like, no cap, it's the bouncer at the club π
. good news though: ovdb_init is normally invoked automatically by rc.news when the news system starts, so you usually don't have to do anything. she just shows up and slays on her own π«Ά
here's the step-by-step of what she actually does:
- creates the database environment, if necessary. (only if needed, she's not doing extra work for fun π)
- if the database is idle (and if the
-uoption is not specified), she performs a normal recovery. this recovery will:- remove stale locks
- recreate the memory pool cache
- repair any damage caused by a system crash or improper shutdown
honestly? a whole glow-up for your database π₯
- if the
-uoption is specified, she performs any necessary upgrades to the database. peep the UPGRADING section below, iykyk π - starts the database housekeeping processes (
ovdb_monitor) if they aren't already running. (she skips this if-ris specified π«) - starts the
ovdbreadserver processes (ovdb_server) ifreadserverinovdb.confistrue, and if they aren't already running. (also skipped if-ris specified π«)
she returns exit status of 0 if all the steps completed successfully β periodt π. but if something goes wrong, messages get written to syslog and/or stderr, so keep an eye out π
β οΈ real talk: if a recovery was attempted but failed, the database may be damaged beyond repair, requiring a rebuild with makehistory. like, actual damage. not cute. π
good news β this command can be run multiple times. she's reusable, she's resilient, she's main character energy π
π OPTIONS π
-rβ perform recovery only.ovdb_monitoris not started. that's the whole vibe. π-uβ perform any needed upgrades. recovery is not attempted.ovdb_monitoris started if the upgrade succeeded. and yes, you can use this option even if no upgrades are needed β she's chill like that β¨
π¦ UPGRADING π¦
okay so there are exactly two situations where the database needs to be upgraded, and you need to know both:
- you upgrade the Berkeley DB library to a newer version β for example from
2.7.7to3.1.17. in this case, the Berkeley DBdb->upgrade()method is used. π - you upgrade
ovdbto a newer major version; i.e.,ovdb-1.0(shipped with INN 2.3.0 up to INN 2.3.5) toovdb-2.0(since INN 2.4.0). π
in both of these cases, the database is upgraded in-place, and the upgrade cannot be undone. π
π do not interrupt the upgrade process once it has started, because there is a risk of irreparable corruption. i'm so serious. the upgrade may take several minutes to complete. if an upgrade does get interrupted, try running the upgrade again β that's your move. π
here's an example procedure to upgrade a database created with Berkeley DB 2.7.7 to use Berkeley DB 3.1.17 β follow it in order bestie, don't freestyle:
- build and install the Berkeley DB
3.1.17version; - run
configurein the INN source tree and make sure it picks up the right Berkeley DB directory (e.g.,/usr/local/BerkeleyDB.3.1); - do a
make; - shut down INN (e.g., with
rc.news stop) and be sure to kill all instances ofnnrpdas well; - do a
make updateto install the new binaries; - run
ovdb_init -uas the news user; - start INN with the
rc.newscommand.
slay, you did it πβ¨
π HISTORY π
written by Heath Kehoe <hakehoe@avalon.net> for InterNetNews. we stan a legend π«Ά
π SEE ALSO π
ovdb(5), makehistory(8), rc.news(8) β go read those too, bestie, they're part of the lore π
and that's the whole page, mwah π β this cutie right here is from INN 2.7.4, dated 2023-03-07. go forth and init responsibly, bestie π§ββοΈπΈ
π¦ where this page comes from
- arch rolling: inn 2.7.4-4 Β· ISC
- epel 10: inn 2.7.4-5.el10_3 Β· ISC AND BSD-3-Clause AND BSD-4-Clause AND FSFAP AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-3.0-or-later WITH Bison-exception-2.2 AND LicenseRef-Fedora-Public-Domain AND MIT AND NTP
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms