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:

  1. creates the database environment, if necessary. (only if needed, she's not doing extra work for fun πŸ’€)
  2. if the database is idle (and if the -u option 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 πŸ”₯

  1. if the -u option is specified, she performs any necessary upgrades to the database. peep the UPGRADING section below, iykyk πŸ‘€
  2. starts the database housekeeping processes (ovdb_monitor) if they aren't already running. (she skips this if -r is specified 🚫)
  3. starts the ovdb readserver processes (ovdb_server) if readserver in ovdb.conf is true, and if they aren't already running. (also skipped if -r is 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_monitor is not started. that's the whole vibe. πŸ™ˆ
  • -u β€” perform any needed upgrades. recovery is not attempted. ovdb_monitor is 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.7 to 3.1.17. in this case, the Berkeley DB db->upgrade() method is used. πŸ’…
  • you upgrade ovdb to a newer major version; i.e., ovdb-1.0 (shipped with INN 2.3.0 up to INN 2.3.5) to ovdb-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:

  1. build and install the Berkeley DB 3.1.17 version;
  2. run configure in the INN source tree and make sure it picks up the right Berkeley DB directory (e.g., /usr/local/BerkeleyDB.3.1);
  3. do a make;
  4. shut down INN (e.g., with rc.news stop) and be sure to kill all instances of nnrpd as well;
  5. do a make update to install the new binaries;
  6. run ovdb_init -u as the news user;
  7. start INN with the rc.news command.

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