<HTML ><HEAD ><TITLE >Appendix: Updating from YellowDog 2.3 (Dayton) to 3.0 (Sirius)</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="Installing GNU/Linux on the IBM RS/6000 43P model 7248 HOWTO" HREF="index.html"><LINK REL="PREVIOUS" TITLE="Frequently Asked Questions" HREF="faq.html"><LINK REL="NEXT" TITLE="Appendix: Using cfdisk to partition your harddisk" HREF="cfdisk.html"></HEAD ><BODY CLASS="SECT1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Installing GNU/Linux on the IBM RS/6000 43P model 7248 HOWTO</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="faq.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="cfdisk.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="SIRIUS" ></A >14. Appendix: Updating from YellowDog 2.3 (Dayton) to 3.0 (Sirius)</H1 ><P > Here's how to update Yellow Dog Linux from 2.3 (Dayton) to 3.0 (Sirius). This assumes being done just after finishing the base install (ie: very few packages installed)</P ><P > If we are running X (the following is based on the "base" install, so we probably aren't), switch to text mode (/sbin/init 3). We assume we have some network access, the fatter the better. We are going to download some packages manually, so check that you're able to do that. Some console-based download tool like ncftp (ftp) or lynx (http) might come handy. </P ><P > Note for the following: If you get errors from rpm that are not noted here, you can always do an <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rm -f /var/lib/rpm/__* ; rpm --rebuilddb</PRE ></FONT ></TD ></TR ></TABLE > This repairs the rpm database in most cases.</P ><P > First, ensure that we are running latest versions of all software. This may not be necessary, but whatever. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >apt-get update; apt-get dist-upgrade </PRE ></FONT ></TD ></TR ></TABLE > Now we change /etc/apt/sources.list to include repositories for 3.0 Note that there are only three repositories for 3.0: base, main, update. Fire up your favourite editor (at least vi should be installed) and update the file. A working sources.list may look like like this: <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rpm ftp://ftp.uninett.no/linux/yellowdog/apt 3.0 base main update rpm-src ftp://ftp.uninett.no/linux/yellowdog/apt 3.0 base main update</PRE ></FONT ></TD ></TR ></TABLE > Now let's update the package list and check how far-fetched a complete dist-upgrade is: <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >apt-get update apt-get -s dist-upgrade </PRE ></FONT ></TD ></TR ></TABLE > Woha! Lots of errors there. Let's resolve the worst of them. Start with removing lots of packages. Note that after this, we can't read man pages. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rpm -e kudzu kernel-pcmcia-cs rpm-python yup yi pspell aspell groff man</PRE ></FONT ></TD ></TR ></TABLE > What's status now? <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >apt-get -s dist-upgrade again</PRE ></FONT ></TD ></TR ></TABLE > Still errors, and quite unresolvable. We have to take some more low-level action. The really pain is to get a new version of rpm installed, so let's start with that. Manually download the following packages: <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" > glibc-2.3.1-51a.ppc.rpm glibc-common-2.3.1-51a.ppc.rpm libelf-0.8.2-2.ppc.rpm popt-1.7-9d.ppc.rpm rpm-4.1-9d.ppc.rpm librpm404-4.0.4-8x.27.ppc.rpm apt-0.5.5cnc4.1-1b.ppc.rpm libgcc-3.2.2-2a.ppc.rpm libstdc++-3.2.2-2a.ppc.rpm expat-1.95.4-1.ppc.rpm fontconfig-2.1-3.ppc.rpm freetype-2.1.3-4.ppc.rpm XFree86-libs-4.3.0-2.1c.ppc.rpm XFree86-libs-data-4.3.0-2.1c.ppc.rpm XFree86-Mesa-libGL-4.3.0-2.1c.ppc.rpm</PRE ></FONT ></TD ></TR ></TABLE > We don't have use for apt for a while, so let's just remove it: <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rpm -e apt</PRE ></FONT ></TD ></TR ></TABLE > So far, so good. Now, let's upgrade glibc and rpm. This is the most critical part. If we succeed in this, the rest is simple. If we get this wrong, a reinstall may be the only solution. rpm has some dependencies, so we have to include them now. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rpm -Uvh glibc-common-2.3.1-51a.ppc.rpm \ glibc-2.3.1-51a.ppc.rpm \ libelf-0.8.2-2.ppc.rpm \ popt-1.7-9d.ppc.rpm \ rpm-4.1-9d.ppc.rpm \ librpm404-4.0.4-8x.27.ppc.rpm </PRE ></FONT ></TD ></TR ></TABLE > If your setup is like mine, we're stuck with the following unresolvable error: <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rpmlib(PartialHardlinkSets) <= 4.0.4-1 is needed by glibc-common-2.3.1-51a</PRE ></FONT ></TD ></TR ></TABLE > This seems to be a problem overseen by the packagers of YellowDog (and to be honest, I think they inherited this error from RedHat), so we just ignore it, use some force, and hope this won't bite us later. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rpm -Uvh --nodeps --force glibc-2.3.1-51a.ppc.rpm \ glibc-common-2.3.1-51a.ppc.rpm \ libelf-0.8.2-2.ppc.rpm \ popt-1.7-9d.ppc.rpm \ rpm-4.1-9d.ppc.rpm \ librpm404-4.0.4-8x.27.ppc.rpm </PRE ></FONT ></TD ></TR ></TABLE > Uh-oh. Ugly errors from rpm. Let's check if the rpm database still works. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rpm -qa</PRE ></FONT ></TD ></TR ></TABLE > Well, looks like we've really done it. Now what? Sorry to say, but I've tricked you into ruining your computer installation. Get out and get a life instead of looking on these old dust-collectors. Just kidding. Luckily, rpm is able to rebuild it's databases, so we just remove the old one and build a new. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rm -f /var/lib/rpm/__* rpm --rebuilddb</PRE ></FONT ></TD ></TR ></TABLE > Now the database should work again, right? <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rpm -qa</PRE ></FONT ></TD ></TR ></TABLE > If this works, we collect 250 bonus points and two silver stars, and can continue our quest for 3.0. Find the dagger and throw it at the dragon.</P ><P > If we don't have any special parameters for nsswitch and gconv-modules, we'll use the new ones (if existing): <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >mv -f /etc/nsswitch.conf.rpmnew /etc/nsswitch.conf mv -f /usr/lib/gconv/gconv-modules.rpmnew /usr/lib/gconv/gconv-modules</PRE ></FONT ></TD ></TR ></TABLE > Now let's reinstall apt. Is also have a lot of dependencies that have to be fixed: <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >rpm -Uvh apt-0.5.5cnc4.1-1b.ppc.rpm \ expat-1.95.4-1.ppc.rpm \ freetype-2.1.3-4.ppc.rpm \ fontconfig-2.1-3.ppc.rpm \ libgcc-3.2.2-2a.ppc.rpm \ libstdc++-3.2.2-2a.ppc.rpm \ XFree86-libs-4.3.0-2.1c.ppc.rpm \ XFree86-libs-data-4.3.0-2.1c.ppc.rpm \ XFree86-Mesa-libGL-4.3.0-2.1c.ppc.rpm \</PRE ></FONT ></TD ></TR ></TABLE > I've sometimes got rpm to hang at this place. It's a known bug in rpm and can hit you anytime. If you experience this, get another terminal (Alt+F2 if you're on the main console) , kill rpm, and remove and rebuild the database. Then do the wanted rpm command again. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >killall -9 rpm rm -f /var/lib/rpm/__* rpm --rebuilddb</PRE ></FONT ></TD ></TR ></TABLE > Now; the installation of apt may have changed our sources.list, so check it out, and copy back the original if you want to. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >mv /etc/apt/sources.list /etc/apt/sources.list.3.0.orig mv -f /etc/apt/sources.list.rpmsave /etc/apt/sources.list</PRE ></FONT ></TD ></TR ></TABLE > We should now probably resync the local apt database and check the status <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >apt-get update && apt-get -s dist-upgrade</PRE ></FONT ></TD ></TR ></TABLE > Still some unresolved dependencies, but we're getting there. With apt installed, the rest is like chewing boiled fish. Nothing to care about. Ouch! a bone. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >apt-get install pam</PRE ></FONT ></TD ></TR ></TABLE > Drags in the following packages: chkconfig cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain db4 hesiod openldap openssh openssh-clients openssh-server openssl perl perl-Filter python sendmail</P ><P > Unless you have done some special pam configuration, use the new values for system authetication. Then go on updating. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >mv -f /etc/pam.d/system-auth.rpmnew /etc/pam.d/system-auth apt-get install passwd</PRE ></FONT ></TD ></TR ></TABLE > Drags in the following packages: glib2 libuser <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >apt-get install kbd</PRE ></FONT ></TD ></TR ></TABLE > Drags in the following packages: initscripts util-linux <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >apt-get install compat-db compat-pwdb</PRE ></FONT ></TD ></TR ></TABLE > Drags in the following packages: compat-libstdc++ <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >apt-get -s dist-upgrade</PRE ></FONT ></TD ></TR ></TABLE > If no errors, we're with all the difficult parts. Good! Now the final hurdle: A full dist-upgrade. Do an <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >apt-get -y dist-upgrade</PRE ></FONT ></TD ></TR ></TABLE > and enjoy getting to the end of this quest. You get all the points. Just kiss the frog and you'll get the princess too. You may want to reboot, just to check that everything comes up like you wish.</P ><P > You may want to reinstall some packages again. For example "man" may become handy. <TABLE BORDER="1" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="SCREEN" >apt-get install kudzu rpm-python pspell aspell groff man </PRE ></FONT ></TD ></TR ></TABLE > That's all there is to it. It wasn't that difficult, was it?</P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="faq.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="cfdisk.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Frequently Asked Questions</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Appendix: Using cfdisk to partition your harddisk</TD ></TR ></TABLE ></DIV ></BODY ></HTML >