Hi, Am 08.04.2014 11:59, schrieb Stephen Powell: > On Mon, 07 Apr 2014 12:38:15 -0400 (EDT), Brian Potkin wrote: >> ... >> 8. Observed there was a file, tmp-rules--70-persistent-net.rules, in >> /run/udev. It had entries for the machine's two interfaces. > > Yes, it seems that the temporary file is being created. It just isn't > being copied to the permanent root file system once the permanent > root file system gets mounted read-write. I have looked into this, > and I believe that I have a fix for this bug. The Debian package > maintainer may not like my version of the fix, and may elect to > write his own version. And that is his prerogative. But at least > I have something that seems to work. > > Apply the following patch: > > http://users.wowway.com/~zlinuxman/systemd/copyrules.patch > > then save your current version of > /etc/udev/rules.d/70-persistent-net.rules by moving it to another > directory, then shutdown and reboot. > /etc/udev/rules.d/70-persistent-net.rules should be re-created > during boot, which is the historical behavior. > > Thank you all for putting up with me.
You are absolutely right with the analysis. What happened when I merged the udev into the systemd package, I dropped the /etc/init.d/udev-mtab init script, which was responsible for doing some /etc/mtab mangling, which is no longer necessary nowadays, with /etc/mtab being a symlink to proc mounts. Unfortunately, this script also contained the following code (i.e., the same as yours): # copy the rules generated before / was mounted read-write for file in /dev/.udev/tmp-rules--* /run/udev/tmp-rules--*; do dest=${file##*tmp-rules--} [ "$dest" = '*' ] && continue cat $file >> /etc/udev/rules.d/$dest rm -f $file done I guess we need to re-add this code as long as we support the old persistent interface naming (it wasn't entirely clear back when I merged the packages). Ubuntu has named the upstart job /etc/init/udev-finish. I consider to use the same name for the SysV init script and systemd service file. The SysV init script and systemd service file just need to ensure that they run after $local_fs respectively local-fs.target. In case of the systemd service file we should also add a After=systemd-udev-settle.service, in case this service is pulled in dynamically. Sorry for the inconvenience. Michael -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth?
signature.asc
Description: OpenPGP digital signature