Network interfaces are not loaded by init if NetworkManager is not installed before dist-upgrade

Bug #495972 reported by Fisslefink
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
update-manager (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: update-manager

I performed a dist-upgrade from 8.10 to 9.04, then immediately to 9.10. Logs are attached.

In my configuration with 8.10, I did not use Network Manager. I had a manually configured static IP address in /etc/network/interfaces, and this was loaded normally on boot.

After the upgrade to 9.10, the init symlinks to /etc/init.d/networking were missing from the folders /etc/rc1.d, /etc/rc2.d, /etc/rc2.d, /etc/rc3.d, /etc/rc4.d, and /etc/rc5.d. Since there were no symlinks to /etc/init.d/networking in any of the startup init profiles, the network interfaces were never activated upon booting. I believe this error occurred on the transition from 9.04 to 9.10, because I did not have to do anything special to activate the network adapters when performing the dist-upgrade from 9.04.

The /etc/networking/interfaces file remained intact, and the /etc/init.d/networking script behaved properly when I executed the command "/etc/init.d/networking start". Also, manually starting the interface using "ifup eth0" also worked.

I did not want to install NetworkManager, and it should not be required. Others have suggested removing NetworkManager to use a static IP, as in this forum post: http://ubuntuforums.org/showthread.php?t=1309835

Strangely, there was a symlink to /etc/init.d/networking located in "/etc/rc6.d/S35networking" and "/etc/rc0.d/S35networking". However, these would only be run during "init 0" or "init 6", which are halt and reboot, respectively. I made a new symlink to /etc/init.d/networking in the folders /etc/rc1.d, /etc/rc2.d, /etc/rc2.d, /etc/rc3.d, /etc/rc4.d, and /etc/rc5.d, and named it "S28networking". Hopefully the system will now start networking properly at boot time.

Here is my current directory listing for these files:

$ sudo find /etc/|grep networking
/etc/rc0.d/S35networking
/etc/rc1.d/S28networking
/etc/rc2.d/S28networking
/etc/rc3.d/S28networking
/etc/rc4.d/S28networking
/etc/rc5.d/S28networking
/etc/rc6.d/S35networking
/etc/init.d/networking
/etc/init/networking.conf

ProblemType: Bug
Architecture: i386
Date: Sat Dec 12 11:07:17 2009
DistroRelease: Ubuntu 9.10
NonfreeKernelModules: nvidia
Package: update-manager 1:0.126.9
PackageArchitecture: all
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-16.52-generic
SourcePackage: update-manager
Uname: Linux 2.6.31-16-generic i686
XsessionErrors:
 (gnome-settings-daemon:2714): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (gnome-settings-daemon:2714): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (polkit-gnome-authentication-agent-1:2827): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 (nautilus:2820): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed

Revision history for this message
Fisslefink (erin-simonds) wrote :
Revision history for this message
Fisslefink (erin-simonds) wrote :
Download full text (3.6 KiB)

Update and edits:

Adding the symlinks as described above did *not* fix the problem. The interface was brought up, and was visible with "ifconfig -a" with the assigned static IP address. However, internet sites were not accessible.

Despite having an entry in /etc/network/interfaces to set my router as the nameserver ("dns-nameservers 192.168.2.1"), resolv.conf does not get updated with the nameserver's IP address:

$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

Running "/etc/init.d/networking restart" or "ifdown eth0;ifup eth0" fixed the problem:
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.2.1

...........I was forced to edit /etc/init.d/networking manually to change the "start" command to behave like the "restart" command:

#!/bin/sh -e
### BEGIN INIT INFO
# Provides: networking
# Required-Start:
# Required-Stop: $local_fs
# Default-Start:
# Default-Stop: 0 6
# Short-Description: Raise network interfaces.
### END INIT INFO

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

[ -x /sbin/ifup ] || exit 0

. /lib/lsb/init-functions

# helper function to set the usplash timeout. https://launchpad.net/bugs/21617
usplash_timeout () {
 TIMEOUT=$1
 if [ -x /sbin/usplash_write ]; then
     /sbin/usplash_write "TIMEOUT $TIMEOUT" || true
 fi
}

process_options() {
    [ -e /etc/network/options ] || return 0
    log_warning_msg "/etc/network/options still exists and it will be IGNORED! Read README.Debian of netbase."
}

check_network_file_systems() {
    [ -e /proc/mounts ] || return 0

    exec 9<&0 < /proc/mounts
    while read DEV MTPT FSTYPE REST; do
 case $DEV in
 /dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*)
     log_warning_msg "not deconfiguring network interfaces: network devices still mounted."
     exit 0
     ;;
 esac
 case $FSTYPE in
 nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs)
     log_warning_msg "not deconfiguring network interfaces: network file systems still mounted."
     exit 0
     ;;
 esac
    done
    exec 0<&9 9<&-
}

case "$1" in
start)
# /lib/init/upstart-job networking start #This line and the one following it were the only commands under the "start" case
# ;; #This line and the one following it were the only commands under the "start" case
## Lines below were added manually (copied from the "restart" case)
 process_options

 log_action_begin_msg "Reconfiguring network interfaces"
 ifdown -a --exclude=lo || true
 if ifup -a --exclude=lo; then
     log_action_end_msg $?
 else
     log_action_end_msg $?
 fi
 ;;
## All lines below this point were not changed manually

stop)
 check_network_file_systems

 log_action_begin_msg "Deconfiguring network interfaces"
 if [ "$VERBOSE" != no ]; then
     if ifdown -a --exclude=lo; then
  log_action_end_msg $?
     else
  log_action_end_msg $?
     fi
 else
     if ifdown -a --e...

Read more...

Revision history for this message
RedSingularity (redsingularity) wrote :

Cleaning out old reports. Please file a new one if this is still a problem in a current release. Thanks.
---
Ubuntu Bug Squad volunteer triager
http://wiki.ubuntu.com/BugSquad

Changed in update-manager (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.