PORTRESERVE(1)

πŸ“¦
version 0.0.5 Β· 2 versions
, in fedora 43, fedora 44

πŸ’– PORTRESERVE β€” the port-reservation utility, manual page 1 πŸ’–

okay bestie, gather round, because we're talking about portreserve from the TCP port reservation utility lineup, and honestly? she's the friend who holds your seat at the cafΓ© while you're still parking. iconic behaviour. πŸŽ€


✨ NAME ✨

portreserve β€” reserves ports so that portmap can't map them. that's it, that's the whole job. no cap. πŸ’…


🌸 SYNOPSIS 🌸

portreserve

no flags, no arguments, no drama. she just is. πŸ¦‹


πŸ’œ DESCRIPTION πŸ’œ

so here's the vibe. portreserve exists to help out services that have well-known ports living inside the bindresvport range. the problem? portmap (and honestly, any other program out there using bindresvport) will just... snatch that port up. rude. 😀

and portreserve is like, not on my watch. it occupies the port itself so nobody else can take it, and it holds onto it until the real service comes along and says "okay you can let go now." that release request generally happens from the service's init script. 🫢

the intended setup, fr fr: portreserve runs from an initscript all of its own, and any service that wants to talk to it should be using portrelease to do the talking. that's the group chat. that's the whole communication system. ✨

when the portreserve daemon starts up, it goes and inspects the /etc/portreserve/ directory. πŸ‘€ every file in there that does not have a . or a ~ in its name counts as a service configuration file, and each one of those has to contain either a service name (like, the kind listed in /etc/services) or a port number. want UDP? append /udp to the service name. want TCP? append /tcp. and you can list several services in one file, one per line β€” she's flexible like that. πŸ’…

for example, /etc/portreserve/cups might contain the string ipp, or, equivalently, ipp/tcp and ipp/udp on separate lines. same energy, different spelling. πŸ’–

for every single one of those service configuration files, a socket gets created and bound to the appropriate port. and any service that wants to bind to its own port has to run portrelease first β€” that's what tells portreserve to release the port tied to that service. πŸ”“

and once all the reserved ports have been released? the daemon exits. she did her job, she's going home, she's logging off. πŸ‘‘βœ¨


πŸŽ€ FILES πŸŽ€

  • /etc/portreserve/* β€” the service configuration files. this is where you drop your little service-name notes. πŸ“
  • /var/run/portreserve/socket β€” the communication socket that portrelease uses to slide into her DMs. πŸ’¬

πŸ¦‹ SEE ALSO πŸ¦‹

  • portrelease(1) β€” the bestie that actually tells her to let go. 🫢

🌈 AUTHOR 🌈

  • Tim Waugh <twaugh@redhat.com> β€” Author. the legend, the main character, the one who wrote her. πŸ‘‘

and that's the page, babes. this was portreserve, dated 1 July 2008, from the portreserve source. she's been holding ports since before some of us could walk and honestly? we stan a consistent queen. πŸ’œ

πŸ“¦ where this page comes from