On Wed, Oct 18, 2006 at 01:46:55AM +0400, Yar Tikhiy wrote: > On Tue, Oct 17, 2006 at 10:05:28PM +0100, Ceri Davies wrote: > > On Tue, Oct 17, 2006 at 09:31:33PM +0400, Yar Tikhiy wrote: > > > On Mon, Oct 16, 2006 at 01:01:45PM +0000, Yar Tikhiy wrote: > > > > yar 2006-10-16 13:01:45 UTC > > > > > > > > FreeBSD src repository > > > > > > > > Modified files: > > > > etc/rc.d cleartmp > > > > Log: > > > > Improve cleartmp in a number of aspects: > > > > > > > > + Use rc.subr(8) features properly. > > > > + Do the whole job of obliterating /tmp contents in find(1). > > > > + Leave lost+found and quota.{user,group} in /tmp only if root-owned. > > > > + Make the overall structure clearer by first removing the X dirs > > > > (perhaps along with the rest of /tmp) and then re-creating them. > > > > + Use "find -exec rm -rf {} +" for efficiency: each rm instance gets > > > > a chance to kill as much files in /tmp as ARG_MAX permits. > > > > > > I was asked a few times why "-prune -exec rm -rf" had been chosen > > > over "-delete". My initial reason was that -delete would keep > > > bogus lost+found and quota.{user,group} entries found in subdirs > > > of /tmp. Well, on second thought, the find command line can be > > > tweaked so that -delete works as wanted. E.g.: > > > > > > cd /tmp && find -x . ! -name . \ > > > ! \( -path ./lost+found -type d -user root \) \ > > > ! \( \( -path ./quota.user -or -path ./quota.group \) > > > \ > > > -type f -user root \) \ > > > -delete
<snip> > > Given that we're deleting everything anyway, wouldn't it be possible to > > remove quota.{group,user} regardless and let quotacheck recreate them if > > required? This shouldn't take too long since there won't be much there. > > I haven't used quotas for quite a while, but I used to believe that > administrative limits were stored in those files, too, not only > current usage values. Therefore quotas on /tmp usage would be > effectively cancelled after a reboot if we just removed the files. Sorry, of course you're right. > > Also, if X requires certain directories, wouldn't it be better to blow > > them away here and have them created from a boot time script? Otherwise > > I don't understand how they ever get created. <snip> > Oh, perhaps it isn't clear that this script is controlled by two > partially independent rc.conf vars, clear_tmp_enable and clear_tmp_X. > Their defaults are NO and YES, respectively. In this mode, cleartmp > removes only the X dirs from /tmp and then creates them. If the > settings are YES and YES, it removes all from /tmp (except a few) > and then creates the X dirs. For YES and NO, it just purges all > junk from /tmp and creates nothing. Ah hah. Ceri -- That must be wonderful! I don't understand it at all. -- Moliere
pgpOuVxuCQdsC.pgp
Description: PGP signature