Canek Peláez Valdés <can...@gmail.com> wrote: > On Tue, Aug 27, 2013 at 2:46 AM, <cov...@ccs.covici.com> wrote: > > Canek Peláez Valdés <can...@gmail.com> wrote: > > > >> On Tue, Aug 27, 2013 at 1:10 AM, <cov...@ccs.covici.com> wrote: > >> > Canek Peláez Valdés <can...@gmail.com> wrote: > >> > > >> >> On Mon, Aug 26, 2013 at 11:06 PM, Canek Peláez Valdés > >> >> <can...@gmail.com> wrote: > >> >> > On Mon, Aug 26, 2013 at 10:52 PM, <cov...@ccs.covici.com> wrote: > >> >> >> Hi. I am looking for a couple of systemd units which I have not been > >> >> >> able to find -- one for mailman and one for innd which is a shell > >> >> >> script > >> >> >> by itself. > >> >> >> > >> >> >> Thanks in advance for any suggestions. > >> >> > > >> >> > I use this one in production for mailman with Gentoo: > >> >> > > >> >> > ---------------------------------------------------------------- > >> >> > [Unit] > >> >> > Description=Mailman mailing list service > >> >> > After=network.target > >> >> > > >> >> > [Service] > >> >> > Type=forking > >> >> > ExecStart=/usr/lib/mailman/bin/mailmanctl -s start > >> >> > ExecStop=/usr/lib/mailman/bin/mailmanctl stop > >> >> > User=mailman > >> >> > Group=mailman > >> >> > > >> >> > [Install] > >> >> > WantedBy=multi-user.target > >> >> > ---------------------------------------------------------------- > >> >> > > >> >> > I don't have any for innd. > >> >> > >> >> If innd is the one from net-nntp/inn, then the following should work: > >> >> > >> >> ---------------------------------------------------------------- > >> >> [Unit] > >> >> Description=The Internet News daemon > >> >> Documentation=man:innd(8) > >> >> ConditionPathExists=/var/run/news > >> >> > >> >> [Service] > >> >> Type=simple > >> >> ExecStart=/usr/lib/news/bin/rc.news > >> >> ExecStop=/usr/lib/news/bin/rc.news stop > >> >> User=news > >> >> Group=news > >> >> > >> >> [Install] > >> >> WantedBy=multi-user.target > >> >> ---------------------------------------------------------------- > >> >> > >> >> If the binary rc.news forks itself (and there is no option to force it > >> >> to run in the foreground), use Type=forking. The former is preferred > >> >> over the latter. Also, to guarantee that the directory /var/run/news > >> >> always is present, add the following to a new file > >> >> /etc/tmpfiles.d/innd.conf: > >> >> > >> >> ---------------------------------------------------------------- > >> >> d /var/run/news 0755 news news 10d - > >> >> ---------------------------------------------------------------- > >> >> > >> >> You can replace 10d with - (hypen), so the directory is never cleaned > >> >> automatically. If you try this unit and it works as expected, please > >> >> let us know. > >> >> > >> > > >> > OK, thanks again. I have one question which this brings up -- and this > >> > applies to openrc as well -- I never have let it migrate /var/run to > >> > /run and /var/lock likewise because I have directories in those which > >> > are owned by various users, etc. and the packages themselves almost > >> > never create such -- is putting things in /etc/tmpfiles.d the correct > >> > way to fix this? > >> > >> tmpfiles.d is from systemd: > >> > >> http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html > >> > >> However, I think OpenRC developers were thinking about supporting it. > >> I don't know if that actually happened. > >> > >> With systemd in Gentoo, /var/run is bind mounted from /run, and it's a > >> tmpfs dir, so everything there goes away after a reboot. The config > >> files in tmpfiles.d allows the creation (and automatic removal) of > >> directories and files there. > >> > >> I don't know if it's the "correct" way to fix anything; but it works. > >> > > Can I use the d action to change the permissions of an existing > > directory and if not, how can I do this? > > I don't think so. The contents of /run (and /var/run before it) are, > by definition, used only at run time. They are not intended to be > preserved, and they actually should be cleaned from time to time > (hence the age field in tmpfiles.d). Therefore tmpfiles.d only deals > with creation (and cleaning up) of files/directories, not "updating" > them, since they should not be even present when the system boots up. > > The files in /etc/tmpfiles.d are used by the systemd-tmpfiles-* units, > and (AFAIU) they only create files/directories at boot time, and then > only clean afterwards. > > My /run directory is really empty. When my systems boot up, systemd > mounts a tmpfs on it: > > # mount | grep "on /run" > tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755) > > Then the var-run.mount unit binds mount /run into /var/run. So no > file/directory there is actually written into any physical disk ever.
But I need to change the permissions of /var/lock to 777, if I can't use tmpfiles.d how can I do this? -- Your life is like a penny. You're going to lose it. The question is: How do you spend it? John Covici cov...@ccs.covici.com