New Upgrade notes for 1.1 beta testing
The following is the latest update of my upgrade notes for moving from R6
to 1.1 Debian. Feel free to let me know if any errors are being propogated
Some notes on installation of the Debian 1.1 Beta Release.
The test bench for the information presented here is a Debian R6
installation. This system is not complex. Aside from the base, network,
development, doc, and selected editors, mail-readers and some odd tools, this
is a very vanilla installation. No cron jobs have been added to the default
configuration provided by the original installation.
Before you begin the upgrade you must have a kernel with built-in ELF
support (NOT in a module). The test bench used the 1.2.13 kernel, custom
compiled with no modules and with ELF support. Those who wish to remain at
the 1.2.13 kernel, be assured, you can still upgrade to Debian 1.1.
The three steps to prepare the kernel for the upgrade are:
1. Build a new kernel with ELF support built-in.
2. Remove the line in /etc/modules calling for bin_elf support.
3. Reboot with the new kernel.
Once you have a kernel with built-in ELF support, you first need to upgrade
the base packages. These are the packages that were installed from the three
"base disks" during the original installation of R6. (Unless of course, you
upgraded from a previous version of Debian.)
The following list is intended to indicate the proper order of installation
and removal of the various packages needed for a clean base upgrade along with
the options dpkg needs to properly perform the operations on that package. It
is the intent to indicate the order of installation and removal for packages
needed by base. The following list is formated to drive a perl upgrade script.
This script is uuencoded at the end of this document.
-i /base/ ld.so
-i /base/ libc5
-i /base/ libdb1
-i /base/ ncurses3.0
-i /base/ mbr
-i /base/ libreadline2
--purge --force-depends ncurses-runtime
-i /base/ ncurses-base
-i /base/ ncurses-bin
-i /base/ modconf
-i --force-depends /doc/ man
-i /base/ libgdbm1
-i /base/ bdflush
-i /base/ login
-i /base/ getty
-i /base/ passwd
-i /base/ util-linux
-i /base/ debian-utils
-i /base/ mingetty
-i /base/ adduser
-i /base/ ae
-i /base/ base
-i /base/ bash
-i /base/ diff
-i /base/ e2fsprogs
-i /base/ fdflush
-i /base/ fileutils
-i /base/ findutils
-i /base/ gawk
-i /base/ grep
-i /base/ gzip
-i /base/ hostname
-i /base/ kbd
-i /base/ mount
-i /base/ sed
-i /base/ setserial
-i /base/ sh-utils
-i /base/ syslinux
-i /base/ tar
-i /base/ textutils
-i /base/ timezone
-i /base/ image
-i /base/ modules
-i /base/ procps
-i /base/ sysklogd
-i /base/ sysvinit
-i /base/ bsdutils
-i /base/ lilo
However you upgrade the base packages, either by hand with dpkg as described
above, or using dselect, you will first need to upgrade dpkg.
STEP ONE (1)
Install dpkg-1.1.5aout.deb. Whether your system is full ELF or not, this is a
good starting point. If you have already ditched your libc4 in favor of libc5
you will need the elf version of dpkg. The advantage of this version of dpkg
in this installation is that it will do the right thing as the default.
After you upgrade the base system you can move ahead to a higher level of
dpkg for the rest of the installation.
During installation the new dpkg will probably notice some problems with the
way the start/stop links are configured for certain daemons, and recommend
that you let it change them. Taking the recommendation created no problems
for the system produced. Use your own judgment on this. If you have made
functional modifications in these areas you probably want to answer no.
Once dpkg has been installed you are ready to choose between the "by hand"
method using dpkg to create an upgraded system, or the dselect method
that will manage the conflict resolution for you.
MAKE THE CHOICE
There are a number of reasons why you might choose to upgrade your system by
hand. Rather than list many of them, missing some, it is left up to you to
determine your reasons for doing the upgrade by hand. Once you have decided
what your reasons are for taking this path, refer to those reasons often
during the rest of the installation.
If you choose to go the "by hand" route, work, through the base packages
first, then work through the devel section. At this point, pick a target and
go for it...
If you choose to use dselect, be prepared to read every help screen very
very closely. The information you need is usually there, but sometimes you
may not realize it at the time. If you are an experienced dselect user you
will not find much of interest in the following material and should go ahead
and begin your upgrade.
CONFIG FILE DECISIONS
There are quite a few config files in the base packages. During installation
you will be asked about installing new ones from the new packages, over the
old ones now on your system.
Whether or not you choose the new files over the old is mostly dependent on
whether your version has been edited to some custom configuration. You have
two choices here. Either say no to these files, or, back up your versions of
these files before you allow the new package to overwrite it. Then, after
the installation, you can go compare your old file with the new one and
integrate your changes in the proper place. During one test run, I answered
yes to every configuration file question (except for the lilo stuff) and
ended up with a system having no users where root had no password. If you
accept the new group files you should probably accept the new passwd file as
well, and be prepared to repair the entries for your users and root. The
old passwd file is saved under passwd.dpkg-old.
For the following files, you will most likely not wish to overwrite these
with new ones: /etc/group, /etc/passwd, /etc/inittab, and /etc/lilo.conf.
One the other hand, if you haven't made any changes to /etc/init.d/boot, you
will most likely want to replace your old file with the new one. The rest of
these files should be judged by the above criterion before you overwrite
The primary intent of dselect is to do a full installation. For this to work
properly you MUST have a complete and clean binary archive. Several packages
in the free portion of the distribution recommend packages in non-free.
Without this portion of the tree dselect will die with a partial
installation. More important than that, this is a BETA release! There may
still be packages that break during installation from internal errors, or
because they demand unsatisfiable preconditions (example: libc5-dev-5.2.18-2
requires libc5 (=5.2.18-2). If you have libc5-5.2.18-4, which should
function properly, it will not install)
For the above reasons, I do NOT recommend upgrading via a full installation.
As it is the most crucial phase, I have focused most of my effort on
upgrading the base packages. Getting these packages installed properly is
crucial to the proper operation of your new system. For that reason I
suggest you do these by hand. However, we are using dselect in this section,
and it can do this job.
INSTALLING THE BASE PACKAGES WITH DSELECT
OK, you have installed the new dpkg. Now run dselect, choose an Access
method, update the packages list, and choose Select Packages.
After the intro help screen, you will be presented with the selection
window. The 'cursor' is over the section; All Packages. The first thing you
want to do is put all packages on hold, so press the 'H' key. We have now
informed dselect that we are not doing a full install.
Now, use the arrow keys to move the cursor down the list to "Required Base
Packages" and press the '+' (plus) key. Now you will end up at a depends
screen. Dselect will properly identify the two outdated packages (tput and
last), so you can simply press enter here, returning to the selection
screen. This completes the selection process and enter will get back to the
main menu. Select "Install selected packages" and the installation will
proceed. Refer to the previous sections for information on how to answer the
con file questions that will arise during this installation.
Once you have a successful base upgrade move on to the devel section. There
will be a list and more notes for the devel section soon (as soon as I
have them finished)
begin 775 UpGrade