PKGSYNC(8)

πŸ’– PKGSYNC πŸ’– β€” like, the manual page, bestie

pkgsync(8) from the System Manager's Manual ✨ (yes it's a section 8 girlie, she runs with the big kids)


🌸 NAME 🌸

pkgsync β€” the automated package synchronization tool πŸŽ€ the one that keeps all ur machines matching and cute


✨ SYNOPSIS ✨

pkgsync

that's it. no args, no flags needed, she just goes πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so pkgsync is the tool for keeping a whole bunch of machines reasonably similar and clean β€” like, same vibes across the whole fleet, no stray packages lingering.

Here's the system, and it's actually so smart: every package lives in one of three lists β€”

  • must be installed πŸ’š
  • may be installed πŸ’›
  • must not be installed ❀️

and those lists are presumed to be distributed separately, using a tool like rdist or cfengine. So pkgsync isn't out here hand-copying ur lists, no ma'am β€” she just reads them.

Then she does the work: she meets all the demands written down in those lists, and after that she removes everything that isn't in the must or may list and isn't necessary for their operations β€” and that "necessary" call is determined by aptitude. Periodt. 🧹✨


πŸ‘‘ OPTIONS πŸ‘‘

  • -h, --help β€” prints a short help text and then dips. that's the whole thing. 🫢
  • -s, --simulate β€” does everything as usual, but puts aptitude in simulation mode, which means it will never make any changes to ur system (except update and autoclean, and honestly both of those should be harmless). This one is especially useful on a new system to make sure pkgsync behaves the way u expect before u let her actually cook. πŸ™ˆ
⚠️ lowkey important: aptitude prints out its intended actions _before_ running the conflict resolver. So if there's a conflict somewhere, chances are the results on ur actual system will be different from what aptitude printed out. not a bug, just how she rolls. πŸ’€
  • -k, --keep-unused β€” tells aptitude to not remove cruft (ie. unused packages). this is morally equivalent to having an "*" entry in mayhave. ✨
  • -d, --dpkg-glob β€” when she runs into a wildcard pattern, pkgsync tries to un-glob it. Traditionally this was done using dpkg β€” however, in later versions u can use aptitude instead. Using aptitude is a little slower, but the syntax is a lot more flexible, supporting regular expressions and various searches on fields. Giving --dpkg-glob makes pkgsync use dpkg, which is not very useful except for backwards compatibility. 🫠
  • -a, --aptitude-glob β€” uses aptitude's globbing instead of dpkg's globbing (see above πŸ‘†). This option is the default. 🌈

πŸ”₯ SEE ALSO πŸ”₯

  • /usr/share/doc/pkgsync/README.Debian β€” the complete tutorial and reference documentation πŸ“š (iykyk, go read it, it eats)

πŸ’œ AUTHOR πŸ’œ

pkgsync is Copyright 2004-2007 Steinar H. Gunderson <sgunderson@bigfoot.com>. 🫢


ok that's the whole page bestie, ur basically a sysadmin now πŸ’…βœ¨ this was pkgsync(8) from the System Manager's Manual, and yes, the version/date at the bottom is literally just PKGSYNC(8) again β€” she's consistent like that. no cap. πŸŒΈπŸŽ€πŸ¦‹