Skip to main content

Upgrade woes

I am sharing some of the notes that I've jotted down. This might be helpful to people who are upgrading from the long-term supported (LTS) Ubuntu Linux Dapper Drake (6.06.1) to Edgy Eft (6.10). My own cycle in upgrading is one step backward from the current development release. The current release is Feisty Fawn (Ubuntu 7.04). I use the command update-manager -c -d to dist-upgrade. This must be run as a privileged user.

Error 1:
Could not fetch the package liboobs. This is something related to our Internet filter in the university. So, I have to manually download the liboobs (edgy eft version) and place it in /var/cache/apt/archives/.


Error 2:
Could not install /var/cache/apt/archives/samba_3.0.22-1ubuntu4.1_i386.deb. The error log is: subprocess new pre-removal script returned error exit status 102. At first, I ignored the error but this will come up again later.

Error 3:
The upgrade aborts now. Your system could be in unusable state. A recovery was run (dpkg --configure -a). installArchive() failed.

I checked the logs at /var/log/dist-upgrade. main.log reports the samba error (see Error 2). This is the fix to it:

# cd /etc/rc2.d/
# ls -al
(At this point, you need to check for the broken samba symlink. Remove the symlink.)
# rm K09samba
(Alternatively, use the unlink command.)

To continue with the dist-upgrade: update-manager --dist-upgrade

Error 4:
Subprocess post-installation script returned error exit status 2. installArchive() failed.

This is the error log in /var/log/dist-upgrade/apt.log:
ERROR: root: got an error from dpkg for pkg: 'firestarter': subprocess post-installation script returned error exit status 2.

To get more debugging message, I enabled the following flag and rerun dpkg:
export DEBCONF_DEBUG=developer; dpkg --configure -a

The error is related to firestarter failing to start its daemon. The error occurs when running the script /etc/init.d/firestarter start. To see more debugging message, remove the redirection of the following line in the init.d script /etc/init.d/firestarter start:
(commented:)
# $FS_CONTROL start > /dev/null
(new line:)
$FS_CONTROL start

The offending line is in the script /etc/firestarter/firestarter.sh. It aborts when any network interface called in /etc/firestarter/configuration is not yet initilized. In my case, it is eth1 (wlan). I just assigned an IP address to the offending interface.

The next offending line in /etc/firestarter/firestarter.sh is related to the DHCP not starting properly. Just disable DHCP for NATs when you enabled NAT in /etc/firestarter/configuration. In /etc/firestarter/configuration, set the following lines to off:

# Enable DHCP server for NAT clients
DHCP_SERVER="off"
# Forward server's DNS settings to clients in DHCP lease
DHCP_DYNAMIC_DNS="off"

To continue with the dist-upgrade: update-manager --dist-upgrade

Error 5:
After the dist-upgrade and reboot, my X session failed to start. The log follows:

/etc/X11/Xsession.d/50xorg-common_determine-startup: 48: /usr/bin/tpaneld: not found
mkdtemp: private socket dir: Permission denied

The fix to it is to chmod the /tmp directory to a+w: chmod a+w /tmp (as privileged).

Error 6:
Firefox 2 complains when installing an addon in its error console: installLocation has no properties.

The fix to it is to rename extensions.rdf:
$ mv ~/.mozilla/firefox/{profile}/extensions.rdf extensions.rdf.orig

If you have questions, post them http://ubuntuforums.org/ and leave a comment. I will answer you from there.


Comments

Popular posts from this blog

Resetting admin password in IBM System p5 510 Express ASMI

These are the steps in resetting the admin password: 0. Re-route stored static in your body via an ESD wrist strap to a metallic element. 1. Look for the 2 toggle switches and service processor batt. The batt should be in front of the Power Supply 1 and Power Supply 2 (codes: E1 and E2, see Rear Location Codes on the cover plate). The "very tiny" toggle switches should be in the area of P1-C14 slot. I forgot the exact sequence but it should be a combination of the ff. step (2): 2. Remove the battery, toggle the switches to the opposite direction. Allows some time for the caps to discharge. 3. Move back the toggle switches and put back the batt in its place. 4. Assign your PC to Class C subnet (i.e. masked 255.255.255.0 ): IPaddr: 192.168.2.x for HMC1 or IPaddr: 192.168.3.x for HMC2 5. Ping HMC1 or HMC2. Access the web interface using the default address: http://192.168.2.147 (for HMC1) or http://192.168.3.147 (for HMC2) Note: Sometimes you have to force the https protocol:

Zenoss: monitor free VMWare ESXi version

We confirmed that the free ESXi version does not allow SNMP gets, only traps. The original script was taken from here: http://communities.vmware.com/docs/DOC-7170 Modified script: http://mirakulo.com/pub/esxi/check_esx_wbmem.py We added Fan and power supply, hinted from this page: http://www.stephenjc.com/2009/01/whatsup-vmware-esxi-monitor-these.html Use this guide to add the Data source: http://www.zenoss.com/community/docs/howtos/create-modify-nagios-templates Added as template under: /Devices /Server /VMWare /ESXi /Templates /esxi-monitor /check_esx_wbmem Name: check_esx_wbmem Source Type: Command Enable true Use SSH false Component: blank Event class: /VMWare/ESXi Severity: Error Cycle time: 60 Parser: auto Command template: /usr/local/zenoss/python/bin/python /opt/zenoss/libexec/check_esx_wbmem.py https://${dev/manageIp}:5989 root passwd To bind this template to ESXi nodes, go to the device: Example: /Devices /Server /VMWare /ESXi /esxi-01.prod.corp.org then to its temp

ld: unrecognized option '--hash-style=both'

gcc -Wl,-Map=contiki.map,-export-dynamic testv6.co obj_linux-native/socketdev_listener.o \ contiki-linux-native.a -o testv6.linux-native /usr/local/bin/ld: unrecognized option '--hash-style=both' /usr/local/bin/ld: use the --help option for usage information collect2: ld returned 1 exit status If you look closely, the error is something related to the local gcc not using the host's linker (ld). $ which gcc /usr/bin/gcc $ which ld /usr/local/bin/ld For some reason, I messed my compiler path. To synchronized gcc to use the host's dynamic linker (i.e. /usr/bin/ld ), set the environment variable COMPILER_PATH to /usr/bin . $ export COMPILER_PATH=/usr/bin $ echo $COMPILER_PATH /usr/bin $ gcc -print-prog-name=ld /usr/bin/ld