We have a lot of virtualized (OpenVZ) Fedora servers. Until now I have avoided running cron inside each server; log rotation is done from the host.
This has worked rather well until lately. Unfortunately rpm has acquired a dependency on crontabs, because it adds a file to /etc/cron.daily. In turn, crontabs depends on /etc/cron.d, which is provided by cronie. cronie explicitly depends on anacron. And thus, anacron and cronie are required for all Fedora installations.
The really nasty thing is that cronie turns itself on when installed! I suddenly had an extra logrotate running which rotated logs in a way not consistent with our policy.
I'm not sure where it's easiest to cut this chain. I'd be tempted to make crontabs provide /etc/cron.d and make cronie depend on crontabs. That way rpm would pull in crontabs but nothing more.
/Benny
On Fri, 2009-11-06 at 14:40 +0100, Benny Amorsen wrote:
We have a lot of virtualized (OpenVZ) Fedora servers. Until now I have avoided running cron inside each server; log rotation is done from the host.
This has worked rather well until lately. Unfortunately rpm has acquired a dependency on crontabs, because it adds a file to /etc/cron.daily. In turn, crontabs depends on /etc/cron.d, which is provided by cronie. cronie explicitly depends on anacron. And thus, anacron and cronie are required for all Fedora installations.
The really nasty thing is that cronie turns itself on when installed! I suddenly had an extra logrotate running which rotated logs in a way not consistent with our policy.
I'm not sure where it's easiest to cut this chain. I'd be tempted to make crontabs provide /etc/cron.d and make cronie depend on crontabs. That way rpm would pull in crontabs but nothing more.
Why don't you create a custom package for your site which would provide /etc/cron.d but nothing else? The dependencies were added because people were reporting bugs that if they do not install cronie (+anacron) the jobs are not getting run but rpm dependencies do not tell them that cronie is required to run them.
I mean there is no way everyone can be satisfied with the dependencies at least as far as the soft dependencies are not supported.
Tomas Mraz tmraz@redhat.com writes:
Why don't you create a custom package for your site which would provide /etc/cron.d but nothing else?
I guess I will have to do that.
The dependencies were added because people were reporting bugs that if they do not install cronie (+anacron) the jobs are not getting run but rpm dependencies do not tell them that cronie is required to run them.
It seems rather surprising that people would miss /var/log/rpmpkgs that much.
I mean there is no way everyone can be satisfied with the dependencies at least as far as the soft dependencies are not supported.
In this case it seems that just installing cronie by default in anaconda would suffice.
A similar bug, #474219, was apparently fixed earlier this year, with Jeremy Katz saying:
"Having crontabs requiring /etc/cron.d means that you can't do a minimal install without cron, sendmail, etc anymore.
There's nothing about crontabs that requires /etc/cron.d, so requiring it really is kind of overkill.
Yes, you don't get working cron unless you have a cron daemon installed, but if I have it chkconfig'd off, they don't run either."
/Benny
Am 2009-11-06 14:40, schrieb Benny Amorsen:
We have a lot of virtualized (OpenVZ) Fedora servers. Until now I have avoided running cron inside each server; log rotation is done from the host.
This has worked rather well until lately. Unfortunately rpm has acquired a dependency on crontabs, because it adds a file to /etc/cron.daily. In turn, crontabs depends on /etc/cron.d, which is provided by cronie. cronie explicitly depends on anacron. And thus, anacron and cronie are required for all Fedora installations.
The really nasty thing is that cronie turns itself on when installed!
Can't you turn it off?
I suddenly had an extra logrotate running which rotated logs in a way not consistent with our policy.
I'm not sure where it's easiest to cut this chain. I'd be tempted to make crontabs provide /etc/cron.d and make cronie depend on crontabs. That way rpm would pull in crontabs but nothing more.
/Benny
On Fri, 6 Nov 2009, Benny Amorsen wrote:
We have a lot of virtualized (OpenVZ) Fedora servers. Until now I have avoided running cron inside each server; log rotation is done from the host.
This has worked rather well until lately. Unfortunately rpm has acquired a dependency on crontabs, because it adds a file to /etc/cron.daily. In turn, crontabs depends on /etc/cron.d, which is provided by cronie. cronie explicitly depends on anacron. And thus, anacron and cronie are required for all Fedora installations.
The really nasty thing is that cronie turns itself on when installed! I suddenly had an extra logrotate running which rotated logs in a way not consistent with our policy.
I'm not sure where it's easiest to cut this chain. I'd be tempted to make crontabs provide /etc/cron.d and make cronie depend on crontabs. That way rpm would pull in crontabs but nothing more.
In Fedra >= 12 the cronjob was split to a separate subpackage to avoid this dependency chain on minimal installs: https://bugzilla.redhat.com/show_bug.cgi?id=500722
Doing that as F11 update is not really an option though.
- Panu -