autoup.sh and README
I had a message from a user today pointing out that the list of
files needed for the upgrade is incomplete in both the script comments
and in the README.
I have updated the README, including the file list, and have
fixed the file list and made some minor changes in the text that is
echoed to the user in the script. The new README and diffs for
autoup.sh v0.27 are attached.
I was pleasantly surprised to see that www.debian.org has updated
to v0.27 since yesterday. Now we need to get the README and the
tarball added to the website.
|_) _ |_ Robert D. Hilliard <email@example.com>
|_) (_) |_) Palm City, FL USA PGP Key ID: A8E40EB9
< # $Id: autoup.sh,v 0.27 1998/05/29 01:50:24 root Exp root $
> # $Id: autoup.sh,v 0.27.1.1 1998/05/31 01:14:50 bob Exp bob $
< You need to either have a local or remote mirror mounted, or have the
< latest versions of the following packages from hamm available in the
< current directory:
> You need to either have a local or remote mirror mounted, have an
> internet connection for ftp, or have the latest versions of the
> following packages from hamm available in the current directory:
< libreadline2, libreadlineg2, bash, libg++272, dpkg, dpkg-dev,
< dpkg-ftp, dpkg-mountable, libgdbm1, libgdbmg1, perl-base, and perl.
> libreadline2, libreadlineg2, bash, libg++27, libg++272, libstdc++2.8,
> dpkg, dpkg-dev, slang0.99.34, slang0.99.38, libgdbm1, libgdbmg1,
> perl-base, perl, data-dumper, libnet-perl, dpkg-ftp, dpkg-mountable
> netbase, netstd.
< If you are installing manually using dpkg, remember that all libc6 (g)
< libraries conflict with all the versions of their libc5 (non-g)
< counterparts prior to a certain version which placed libc5 libs in
< /usr/lib/libc5-compat. This means that they conflict with your bo
< versions of libc5-linked libraries, but not the hamm versions. For
< example, if you are installing xlib6g, you should install xlib6 from
< hamm first before installing xlib6g unless you have nothing that depend
< on xlib6 in which case you can safely remove it.
> After Debian2.0 is released, `frozen' in the above distributions
> will change to `stable'.
Robert D. Hilliard <firstname.lastname@example.org> 30 March 1998
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. Scott Ellis' "Debian libc5 to libc6
Mini-HOWTO" (available from the Developer's Corner on www.debian.org)
describes this process, and the user is urged to read and understand
this document, and to read the text of the script before starting an
upgrade. FAILURE TO FOLLOW THESE INSTRUCTIONS CAREFULLY MAY LEAVE
YOUR SYSTEM IN AN UNSTABLE STATE! YOU HAVE BEEN WARNED!
The latest versions of the following packages from hamm are
required for the upgrade:
ldso, libc5, libc6, timezones, locales, ncurses3.0, ncurses3.4,
libreadline2, libreadlineg2, bash, libg++27, libg++272, libstdc++2.8,
dpkg, dpkg-dev, slang0.99.34, slang0.99.38, libgdbm1, libgdbmg1,
perl-base, perl, data-dumper, libnet-perl, dpkg-ftp, dpkg-mountable
You must 1) have these packages available in the current
directory, 2) have a local or remote mirror mounted, or 3) have an
internet connection to get them by ftp from a mirror.
If you don't have a mountable local or remote mirror available,
the easiest way to get the get the packages is to get the file
autoup.tar.gz from http://debian.vicnet.net.au/autoup (or wherever you
got this file). Place this file in a convenient working directory, cd
to this directory and run tar xzf autoup.tar.gz. This will unpack all
the necessary .debs, and you are ready to run autoup.sh.
If you are upgrading from a buzz (1.1.x) system, the packages in
the current directory (for option 1) must include dpkg, version 1.4
or higher, from a bo mirror or CD. For options 2) and 3) the mirror
selected must include bo as well as hamm, or (recommended) you must
upgrade dpkg manually (dpkg -i dpkg*.deb) to at least version 1.4
(from a bo mirror or CD) before running autoup.sh.
If you plan to use a mounted mirror, you must be prepared to
enter the full path to your debian mirror when asked.
If you choose the ftp option, you will be asked to select a US
mirror (ftp.debian.org), a European mirror (ftp.infodrom.north.de), or
to enter an alternate site. If you select an alternate site, you must
be prepared to enter the path to be used (debian/hamm/hamm/binary-i386
for many sites; pub/debian/hamm/hamm/binary-i386 for many others).
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
current directory listing all files that were removed. This file may
be used as a guide in selecting packages to be installed with
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 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'.
The script must be run with superuser privileges, so either login
as root or use su or sudo to gain superuser privileges. Then cd to
the directory containing the package files (if you are using option
1), make sure your network connection (ppp or ethernet) is up (if you
are using optiom 3), enter script `<filename>', then
Then answer the questions when asked (certain of the newly
installed programs have interactive configuration scripts). If the
required packages are on your local file system it will take about 5
minutes to run; if they must be obtained by ftp it may take much
longer, depending on the speed of your network connection.
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. When that's done, reboot with "shutdown -r now" for the
utmp/wtmp wrapper functions in the upgraded libc5 to take effect.
BTW, if you aren't using it already, check out dselect's "mountable"
access method. It's much faster than the standard "mounted" method, and
it logs everything that happens in /var/log/dpkg-mountable. You'll want
to set "Allow overwriting repeated files?" to yes, and for extra speed
set "Enable MD5 checksumming?" to no.
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 file "removed-<today's date>" in this
directory. You will have to re-install any of these packages you
Finally, remember to fix up wtmp and utmp, otherwise last and
who and sac, etc. won't work. Here's what Miquel van Smoorenburg
<email@example.com> had to say about this recently in debian-user
> 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
 Note the following from the libc5-libc6-Mini-HOWTO:
4.5. Upgrading to unstable by FTP
The directory structure of the ftp site has been slightly modified,
placing the contrib and non-free sections of the archive alongside the
main section, to avoid contrib and non-free getting out of sync with
earlier portions of the archives. You must have dpkg-ftp_1.4.9 or
greater to update your machine using dpkg-ftp. If you are updating
your machine via ftp, the proper information to give dpkg-ftp is:
o Enter debian directory: /debian
o Enter space separated list of distributions to get:
dists/frozen/main dists/frozen/non-free dists/frozen/contrib
After Debian2.0 is released, `frozen' in the above distributions
will change to `stable'.
$Id: autoup-README,v 0.8 1998/05/31 01:46:20 bob Exp bob $
To UNSUBSCRIBE, email to firstname.lastname@example.org
with a subject of "unsubscribe". Trouble? Contact email@example.com