[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Upgrade_release_notes



     Attached is my first draft of Upgrade_release_notes.  I would
appreciate criticisms, comments, flames, etc. 

     Since I intend to make the cd_autoup.sh script non-interactive
(except as demanded by dpkg), I am running the script from the UPGRADE
directory on the CD to avoid asking the user where his CD is mounted,
and possibly getting a wrong answer that would prevent the script from
finding the necessary files.

     I am preparing the README and the abbreviated autoup script using
the following assumptions:

     There will be an UPGRADE directory in the top level of the CD,
that contains the autoup script itself, the README, dpkg_1.4.0.8.deb,
and apt_0.0.17-1bo0_i386.

     The directory structure on the CD will include:

             UPGRADE                            hamm
                |                      ___________|_____________             
        cd_autoup.sh                   |                       |    
     Upgrade_release_notes           hamm                    contrib         
       dpkg_1.4.0.8.deb          ______|______            _______|_____      
     apt_0.0.17-1bo0_i386       |             |           |           |      
                             binary-all  binary-i386  binary-all  binary-i386

     There will, of course, be many other directories in the top level.

     If the hierarchy is different than this, such as dists hamm hamm
or dists hamm main, I will have to modify the script and the
Upgrade_release_notes correspondingly.

     This draft says "Two means of accomplishing this (upgrading) have
been provided - the cd_autoup.sh script and 'apt-get dist-upgrade'.  I
believe we should offer the user some guidance as to which method to
use, or, at least, give some pros and cons for the two methods.  There
was some discussion of this on the devel list a couple of weeks ago,
and the consensus was that both methods should be presented, which is
why I have included the section on apt-get.

     Personally, I would prefer to make autoup the recommended upgrade
path, since it seems stable now.  The only problems that have been
reported recently have been due to packages moved to different
directories.  On the other hand, apt is still evolving - a new version
was just released last week.

     However, I am probably biased because I am intimately familiar
with autoup, but have only tested apt-get once, and that test failed.
At any rate, I don't have a great deal of confidence in my
instructions for the apt method.

     I expect to be able to send an initial (possibly untested)
version of cd_autoup.sh tomorrow.

Bob     
-- 
   _
  |_)  _  |_       Robert D. Hilliard    <hilliard@flinet.com>
  |_) (_) |_)      Palm City, FL  USA    PGP Key ID: A8E40EB9
__

          Upgrade_release_notes for Debian Gnu/Linux v. 2.0

                Upgrading using the Official Debian CD

     One of Debian's key features is its upgrade mechanism, which
permits one to upgrade an older Debian system without reinstalling
everything. 

     Debian 2.0 is based on the Gnu libc6 library, while earlier
Debian versions were based on the libc5 library.  Programs compiled
to dynamically link with the libc5 libraries will not run with the the
libc6 libraries, and vice versa.  Debian has developed a method to
permit binaries compiled for both libraries to coexist on a system,
and to permit development under either library to be done.

     Because certain libc6 packages are incompatible with some libc5
packages, it is necessary to remove some libc5 packages and to install
some libc6 packages before starting the upgrade.  These removals and
installations must be done in the correct order or the system may be
left in an unstable state.  Two means of accomplishing this have been
provided - the cd_autoup.sh script and 'apt-get dist-upgrade'.


               Upgrading using the cd_autoup.sh script

     The script cd-autoup.sh in this directory is designed to remove
the incompatible libc5 packages and install the necessary libc6
packages.  It may be used to upgrade buzz (1.1.x), rex (1.2.x), or bo
(1.3.x) systems to hamm (2.0).

     If you are not familiar with using dselect read install.html or
install.txt in the hamm/hamm/disks-i386/current directory of this CD
before beginning the upgrade. 

     It is strongly recommended that you use /usr/bin/script to record
a transcript of the session - in fact, it is a good idea to use script
to record any dselect session (and anything else you do that it is
desirable to record).  Then if any problems develop, you can see what
happened.  script will write this transcript to the file specified as
an argument - `script -myfilename', or to the default filename
`typescript'.

     Any package installation operation, including the autoup script,
must be run with superuser privileges, so either login as root or use
su or sudo to gain these privileges.  Then enter `script -<filename>'
and cd to the directory on the CD containing these Release_Notes.  (If
your working directory is on the CD when you start script, include a
path to a writable directory in <filename>.)  If you wish to use the
apt access method from dselect later, install apt manually (dpkg -i
apt*) at this time.  If you are upgrading from a buzz (1.1.x) system,
you must upgrade dpkg manually (dpkg -i dpkg*) from this directory
before running cd_autoup.sh.  Then enter `cd_autoup.sh'.

     Before starting the actual upgrade, this script removes a number
of packages that, for one reason or another, interfere with the
upgrade.  Some of these will be replaced with hamm packages by the
script, others must be reinstalled with dselect after the script has
run.  The script will write a file "removed-<today's date>" to the
\root directory listing all files that were removed. This file may
be used as a guide in selecting packages to be installed with
dselect.  

     Then answer the questions when asked (certain of the newly
installed programs have interactive configuration scripts).  A number
of harmless, but alarming-sounding warnings are displayed during the
upgrade process, especially when perl is removed to permit installing
perl-base. When the script finishes, it displays an informative
message, which is repeated here for ready reference:

libc6 is now installed.  Now run dselect to upgrade the rest of your
system.  It is recommended that you run the access, update, install,
and configure modules of dselect initially to just upgrade all
installed packages.  After that you may use the select and install
modules to install additional packages if necessary.  

Keep in mind that when dpkg/dselect upgrade many packages (and almost
every package on your system will be upgraded in this step), it is
usually necessary to repeat the install and configure steps several
times (perhaps four or five times) before the whole system is
configured.  The apt access method for dselect improves this
considerably.

If you have apt installed (see discussion under "Upgrading using
apt"), the apt access method should be selected in dselect's Access
module.  Apt is much faster than any of the older dselect access
methods.  When that's done, reboot with "shutdown -r now" for the
utmp/wtmp wrapper functions in the upgraded libc5 to take effect.

All development packages (-dev, -dbg, and -pic) and a number of other
incompatible packages have been removed during this upgrade procedure
due to conflicts between libc5 and libc6 versions.  A list of the
removed packages are in the file "/root/removed-<today's date>".  You
will have to install the libc6 equivalents of any of these packages
that you need.  If you will be doing any libc5 development work, you
will also want to re-install (from the old-libs directory) any of these
libc5 packages you need.

Finally, remember to fix up wtmp and utmp, otherwise last and
who and sac, etc. won't work. Here's what Miquel van Smoorenburg
<miquels@cistron.nl> had to say about this recently in debian-user
mailing list:

    > 1. You need to update ALL your packages to hamm
    > 2. Reboot if you haven't done that already
    > 3. You need to move the wtmp file and truncate the utmp file:
    >    cd /var/log
    >    mv wtmp wtmp.libc5
    >    touch wtmp
    >    cd /var/run
    >    cp /dev/null utmp
    > 4. You might want to reboot again to make sure
    >
    > This is because the "struct utmp" and thus the utmp and wtmp
    > "databases" are different between libc5 and libc6

     You now have a Debian Gnu/Linux v2.0 system.  Have fun! 


                         Upgrading using apt

     The Deity Project has developed a new and improved interface for
dpkg, known as apt.  The user interface for apt is not yet operational,
but it may be used from the command line and as an access method for
dselect. 

     If you are not familiar with using dselect read install.html or
install.txt in the hamm/hamm/disks-i386/current directory of this CD
before beginning the upgrade.

     It is strongly recommended that you use /usr/bin/script to record
a transcript of the session - in fact, it is a good idea to use script
to record any dselect session (and anything else you do that it is
desirable to record).  Then if any problems develop, you can see what
happened.  script will write this transcript to the file specified as
an argument - `script -myfilename', or to the default filename
`typescript'.     

     Any package installation operation requires superuser privileges,
so either login as root or use su or sudo to gain these privileges.
Then enter `script -<filename>', and cd to the directory containing
these Release_Notes.  (If your working directory is on the CD when you
start script, include a path to a writable directory in <filename>.)
Then install apt manually (dpkg -i apt*).  If you are upgrading from a
buzz (1.1.x) system, you must upgrade dpkg manually (dpkg -i dpkg*)
from this directory before proceeding with the rest of the upgrade.

     Before beginning the upgrade, you must set up apt's configuration
file, /etc/apt/sources.list.  Comment out the default deb http: lines,
and add the folowing line at the bottom of the file: 
     deb file:/cd/hamm hamm contrib
(This assumes that your CD is mounted on /cd - modify this as necessary.)

     Then run: apt-get update
               apt-get dist-upgrade
               apt-get install timezones locales

     At this point your system is stable, with the important packages
upgraded to libc6.  You may now run dselect, using apt as the access
method, to upgrade the remainder of your packages, and install new
ones if desired.

      Finally, remember to fix up wtmp and utmp, otherwise last and
who and sac, etc. won't work. Here's what Miquel van Smoorenburg
<miquels@cistron.nl> had to say about this recently in debian-user
mailing list:

    > 1. You need to update ALL your packages to hamm
    > 2. Reboot if you haven't done that already
    > 3. You need to move the wtmp file and truncate the utmp file:
    >    cd /var/log
    >    mv wtmp wtmp.libc5
    >    touch wtmp
    >    cd /var/run
    >    cp /dev/null utmp
    > 4. You might want to reboot again to make sure
    >
    > This is because the "struct utmp" and thus the utmp and wtmp
    > "databases" are different between libc5 and libc6

     You now have a Debian Gnu/Linux v2.0 system.  Have fun! 

$Id: Upgrade_release_notes,v 0.2 1998/06/30 00:31:48 bob Exp bob $


--  
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: