Bug 39677 - cron: NUMBER OF HARD LINKS > 1
cron: NUMBER OF HARD LINKS > 1
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Docker
UCS 4.1
Other Linux
: P5 normal (vote)
: UCS 4.1-2-errata
Assigned To: Arvid Requate
Dirk Wiesenthal
https://github.com/phusion/baseimage-...
:
Depends on:
Blocks: 41286 41875
  Show dependency treegraph
 
Reported: 2015-10-30 08:16 CET by Stefan Gohmann
Modified: 2016-08-03 15:56 CEST (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2015-10-30 08:16:25 CET
I see the following log messages in a Docker App:

root@dudle-docker-1446164292151882:/# tail -n 20 /var/log/syslog 
Oct 30 00:39:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-updater) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-updater)
Oct 30 00:39:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-pam) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-pam)
Oct 30 00:40:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*) NUMBER OF HARD LINKS > 1 (/etc/crontab)
Oct 30 00:40:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-mail-postfix) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-mail-postfix)
Oct 30 00:40:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-ucr-cronjobs) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-ucr-cronjobs)
Oct 30 00:40:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-config-registry-backup) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-config-registry-backup)
Oct 30 00:40:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-ssl) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-ssl)
Oct 30 00:40:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-server-member) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-server-member)
Oct 30 00:40:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-updater-check) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-updater-check)
Oct 30 00:40:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-updater) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-updater)
Oct 30 00:40:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-pam) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-pam)
Oct 30 00:41:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*) NUMBER OF HARD LINKS > 1 (/etc/crontab)
Oct 30 00:41:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-mail-postfix) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-mail-postfix)
Oct 30 00:41:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-ucr-cronjobs) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-ucr-cronjobs)
Oct 30 00:41:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-config-registry-backup) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-config-registry-backup)
Oct 30 00:41:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-ssl) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-ssl)
Oct 30 00:41:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-server-member) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-server-member)
Oct 30 00:41:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-updater-check) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-updater-check)
Oct 30 00:41:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-updater) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-updater)
Oct 30 00:41:01 dudle-docker-1446164292151882 /usr/sbin/cron[1614]: (*system*univention-pam) NUMBER OF HARD LINKS > 1 (/etc/cron.d/univention-pam)
root@dudle-docker-1446164292151882:/#
Comment 1 Arvid Requate univentionstaff 2015-11-18 21:33:12 CET
Looks like a conflict of ISC cron with overlayfs
Comment 2 Stefan Gohmann univentionstaff 2016-05-12 11:03:52 CEST
This blocks the auto upgrade of the packages in the docker container. During the upgrade the existing docker container must be fixed as well.

My workaround was running the following command in the docker container:
 touch /etc/crontab /etc/cron.d/*
Comment 3 Arvid Requate univentionstaff 2016-07-27 17:42:18 CEST
I've added preinit.d/fix-cron-hardlinks to the package which gets installed as /etc/univention/docker/preinit.d/fix-cron-hardlinks into the container. It's run from during package update via postinst. It's also run from /sbin/init during boot to fix this also in newly created containers.

Just for the record, I could also have checked

hardlinked_cron_d_files=$(find /etc/cron.daily/ \               
                        -type f -not -name ".*" -links +1 2>/dev/null)

to decide if a touch is necessary at all, but I didn't do it.
Comment 4 Dirk Wiesenthal univentionstaff 2016-07-29 09:33:32 CEST
When installed, cron works. Container gets updated around 1AM. YAML OK

VERIFIED
Comment 5 Janek Walkenhorst univentionstaff 2016-08-03 15:56:32 CEST
<http://errata.software-univention.de/ucs/4.1/227.html>