lldpd fails after reboot: /var/run/lldpd created in postinst, not by initscript
Bug #316335 reported by
David McBride
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lldpd (Debian) |
Invalid
|
Undecided
|
Unassigned | ||
lldpd (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Binary package hint: lldpd
Greetings,
The lldpd package creates /var/run/lldpd -- which lldpd uses as a chroot() jail -- in the postinst script.
However, /var/run on modern systems is a tmpfs which is dynamically generated at boot-time: this directory is not preserved over reboots. As a result, lldpd will fail to run after a reboot, because /var/run/lldpd does not exist.
The correct fix is to create the /var/run/lldpd directory as necessary as part of the start() branch of the init.d script, rather than creating it just once in the package postinst script.
(This seems to be a not-uncommon bug. Is there a lintian rule for catching this kind of error?)
Cheers,
David
Related branches
To post a comment you must log in.
Thanks, I can confirm this bug. I'm closing the Debian task for now, as I don't think they have /var/run on a tmpfs. Please feel free to reopen the Debian task (and report the bug to Debian) if you think that is wrong.