sirjofri <sirjofri+ml-9f...@sirjofri.de> writes:
> Hi, > > 05.03.2024 22:38:59 Edouard Klein <e...@rdklein.fr>: > >> Hi, >> >> Thank you for your answer. >> >> >> sirjofri <sirjofri+ml-9f...@sirjofri.de> writes: >> >>> Hello, >>> >>> I don't use /rc/bin/service anymore, but I use /cfg/machinename/service >>> instead. My contents are copies of what's in /rc/bin/service or my own >>> scripts: >> >> I assume that you then bind-mount /cfg/machinename/service to that >> machine's /rc/bin/service ? > > Nope, because bind would only change my own namespace (or I have to bind it > becore aux/listen starts). > > In fact, it's much easier. I don't know if it's a 9front feature or if it's > also > in plan 9, but if there is a /cfg/$sysname/service directory it will use that > instead of /rc/bin/service (see the cpurc file, > https://git.9front.org/plan9front/plan9front/36478171be59721dcc5252043fe2955cb37fc9b3/rc/bin/cpurc/f.html > ). > Thanks, I had missed it because there is no /cfg in the source. Do you happen to know how the /cfg dir is first populated during install ? Is it all hand-written by the user ? > > If you think about how plan 9 should run on a network, imagine a single fs > with > many cpu servers all using the same fs. All the configuration is on the fs, > and > the service directories are in the /cfg/machinename/service. The cpu servers > will run their individual configuration automatically using that mechanism. It > just makes sense. > Indeed it does. >>> >>> tcp80 - web server >>> tcp443 - web server but wrapped in tls >>> ... >>> >>> I have some cifd running, some irc server that translates to grid chat, my >>> mail >>> server (smtp and imap4), and fingerd, the files follow the usual scheme >>> tcpXXX. >>> I probably missed one service or the other, but aux/listen is simple enough >>> to >>> set up custom servers with arbitrary functionality. >>> >> >> Would you mind sharing your fingerd and irc server ? For finger my plan >> is to turn this one: >> https://github.com/michael-lazar/finger2020/blob/master/finger2020 into >> a multi-user version, but if there already is one I won't bother. > > Sure, here it is: > > https://shithub.us/sirjofri/fingerd/HEAD/info.html > > Note that I got some notice of potential .. path issues and I'm not sure if I > fixed that, but just in case, you might want to fix that (and maybe send me a > patch). Fix could be as easy as a newns or what it is in C. > I'll try to compile it on Linux and will let you know :) >>> If you have exact questions about aux/listen functionality or you don't >>> understand something, just ask :) >>> >> >> - I noticed some tcpXXX files use exec for their last line, and some >> don't. Is there a reason ? My understanding is that exec saves one call >> to fork per connection, and thus it would be best if it was always used. > > There might be some difference, maybe with log redirectors or something, but I > don't know about that. I guess someone else can tell us more about this (and > the > following topic, which is very similar) > >> - I noticed Inferno makes great use of servers that speak 9P on their >> stdstream, with its >> mount {some-program} /mnt/toto >> These programs are trivial to expose thanks to listen: >> listen -v 'tcp!*!toto' {some-program&} >> On Plan9, I ran into rc's cmd <[0=1] | echo 0 > /srv/name, then mount >> /srv/name /n/toto. >> - Is there a inferno-like shorthand for Plan 9 ? >> - Why the "echo 0" ? (I'm not familiar with rc). >> >>> Btw it's quite common to "deactivate" services by renaming the files to >>> have a >>> leading "!". In general, everything that follows the naming scheme >>> <protocol><port> and is executable will work. >>> >> why not just chmod -x them ? In a multiuser system, users may not have >> the right to rename them. > > I think that _would_ work, but I think it's about readability in this case. I > can just lc in that directory and immediately see what's relevant and what > not. > With executable flag I have to run ls -l to see what's executable, and it's > also > harder to parse it (sorting and filtering). A simple ! is easier to read, and > also probably more stable in case of copying files via different filesystem > types (like, copying the file to fat32 and back, or even having a filesystem > without executable flags, which often results in all files bein executable). > Thanks for all this info ! > > sirjofri ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tf73851503467346f-Mf9cb49da52d37653059fdaa2 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription