Between Tue May 17 16:27:00 2005 UTC and Thu May 19 22:51:19 2005 UTC (maybe a bit more due to lag time for cleaning the feeds), a bad ipkg package (named 'ipkg_0.99.148-number_armeb.ipk' where number can be from 1 to 4) has been made available in the Unslung optware feeds.
If you have installed this package (using
ipkg install ipkg)or did an
ipkg upgrade during this period, you may have catch this non fully-qualified package, resulting in an unworking or unstable 'ipkg' sub-system.
Symptoms are :
- You're unable to install new packages
- /usr/bin/ipkg symlinks to a non existent /usr/bin/ipkg-cl
- /opt/bin/ipkg doesn't work as expected (
ipkg list_installed and
ipkg list return empty)
- /opt/etc/ipkg.conf only contains 'dest root /'
Here is a procedure to retrieve you original ipkg sub-system as it was before upgrading
1. Telnet or SSH into your slug (for telnet, don't forget to activate telnet using http://<you_slug_address>/Management/telnet.cgi(approve sites))
2. Check that the following directories, which came with the original Unslung ipkg system, are still present and populated:
3. Check that the JFFS2 partition is mounted on /initrd. Issuing
mount | grep jffs2 should normally return:
- /dev/sda1 on /initrd type jffs2 (rw)
- /dev/sda2 on /initrd type jffs2 (rw)
4. Delete the malfunctioning ipkg files:
rm -r /opt/lib/ipkg
rm -r /opt/etc/ipkg
5. We will now reinstall ipkg from the flash copy:
cp -p /initrd/usr/bin/ipkg* /usr/bin
cp -p /initrd/usr/bin/update-alternatives /usr/bin
cp -p /initrd/lib/libipkg* /lib
6. The original ipkg should now be fully operational. You can test it by issuing the following:
ipkg update => This should produce some lines saying "Downloading... Inflating... Downloading... Inflating... Successfully terminated."
ipkg list => This should list all optware availables in the feeds
ipkg list_installed => This should list all your installed packaged
7. That's it.