Alex wrote: > 'apt-get dist-upgrade' from Lenny (up to date as of 04 Spet. 2011)
Too late now but before upgrading I think it is advisable to look at the output of apt-show-versions and clean up packages that are no longer available. Even though you were fully up to date with Lenny there were probably other packages installed that have become obsolete and should be removed. I think the problem is with these extra packages. $ apt-show-versions | grep -v -e uptodate Now that you have a mixed Lenny Squeeze system looking at this output may be more difficult. You will have to improvise. > to Squeeze crashes with the following error:- > > E: Internal Error, Could not perform immediate configuration (2) on > libtext-iconv-perl I think you have extra packages that have been installed previously but are no longer in the archive and among the set there are circular dependencies. These circular dependencies confuse APT and cause it to fail. > Procedure used during upgrade to date:- > 1) Downloaded and burned all .iso images from > http://cdimage.debian.org/debian-cd/6.0.2.1/i386/iso-dvd/ to DVD. > 2) Using Synaptic, all DVDs the added to the repository using 'Add > CDROM', and all other repositories disabled (commemnted out). Why? That seems very painful to me and uses a lot of bandwidth. Why not download just the needed packages with apt-get instead of downloading *all* available packages? It is not only easier on you but it is also easier on the archive mirrors. Any single machine and associated site will only use a small fraction of all available packages. ...good tracking history deleted... > 11) E: Internal Error, Could not perform immediate configuration (2) on > libtext-iconv-perl > 12) Search web for this error message and find that I have to reinstall > libc6 and libc6-i686 I think not when the problem is reported with libtext-iconv-perl. You probably found hits on reports of error with libc6. > 13) Reboot into "single-user" mode using root password. > 14) apt-get install --reinstall libc6 libc6-i686 Didn't hurt but I think didn't do anything helpful either. > 15) apt-get dist-upgrade > 16) E: Internal Error, Could not perform immediate configuration (2) on > libtext-iconv-perl Usually that error means a circular dependency loop. You need to find the problem and break the loop. Start by removing lint that has accumulated. If you are lucky then cleaning that up will be enough. I don't know why you are insisting to use DVDs for this upgrade. It makes no sense to me and I think just setting yourself up for a more painful upgrade. $ apt-show-versions | grep -v -e uptodate -e linux-image -e keyring Review that and remove the lint that has collected. # dpkg --remove somepackage Also using deborphan and orphaner can be useful for cleaning. # apt-get install deborphan # orphaner You can force an installation of a particular package. These packages are downloaded to /var/cache/apt/archives. This means that you can fairly easily use that cache location and use dpkg to install. # dpkg -i --force-depends /var/cache/apt/archives/somepackage.deb For example because your package with the problem is libtext-iconv-perl you could for it to be the only package installed with dpkg directly: # dpkg -i --force-depends /var/cache/apt/archives/libtext-iconv-perl_1.7-2_i386.deb # apt-get -f install Then use 'apt-get -f install' to "fix" the newly introduced dependency problems. Other cleaning I recommend before an upgrade is to purge packages that have been removed but have configuration files remaining behind. Upgrades are a great time to clean up long gone packages that have conffiles remaining behind that you will never use again. Back up anything that you wish to store long term if there is something you have configured and think you might want to refer to again. Remember that a --purge deletes conffiles from /etc that are otherwise not removed. $ dpkg -l | grep ^rc # dpkg --purge somepackage The more styling way to do 'dpkg -l | grep ^rc' is to use grep-status and have it print out only package names. This is useful for more command line and script automation. More obscure perhaps but very powerful and more precise output. $ grep-status -sPackage -n -FStatus "deinstall ok config-files" Lastly here is a complication that makes this Debian upgrade more difficult than most. Debian migrates to a dependency based boot system with Squeeze. But it can only do this if all /etc/init.d/* files have LSB headers. If you don't want this migration then any error in this will cause that part of the upgrade to stop. You will have a good Squeeze system but without dependency based booting. That is fine. Many people consider that a feature. But if you want to be like a freshly installed system then you will want it. This means cleaning /etc/init.d/ of any executable script (e.g. mode a+x) that does not have LSB headers. The insserv program needs LSB headers. $ cd /etc/init.d $ ls > /tmp/list1 $ grep -l 'BEGIN INIT INFO' * > /tmp/list2 $ comm -3 /tmp/list1 /tmp/list2 I can give you script snippets that does the above checking in more exacting form but it would be too much detail for this message which is already too long. Good luck! Bob
signature.asc
Description: Digital signature