Re: How I fixed my trashed Debian system

1997-08-09 Thread Martin Steigerwald

> OK. If this helps just one person I think it's worth typing up. I welcome
> any suggestions of things I may have missed fixing or cleaning up.

Thank you very much. 

Hmmm, this looks rather complicated and time consuming. I which there
would be an easier way... I am always thinking wether it is enough to
get libreadline working and to try if the system might boot then
again.

Once I am in and once I can at least run dpkg from a console I might
be able to get at least that base packages to work again.

Geee... I am looking for a way to fix this broken system without
sitting ours upon it.

Richard Morin told me to look at /etc/inetd.conf and to copy the
backup of this file back and he told me that this should help me to
get into the system. But that I thought this problem is libreadline
related cause of the error messages that librealine.so.2 could not be
loaded.

Hmm at least that will teach me not to use an unstable distribution
once again on a system I need for work. (It at least should tell me
that;-)



--
|_| _ |o _  _  Martin Steigerwald
| |(/_||(_)_>  http://home.pages.de/~helios


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .


Re: How I fixed my trashed Debian system

1997-08-05 Thread Dima
>>Rick Macdonald wrote:

 >OK. If this helps just one person I think it's worth typing up. I welcome
 >any suggestions of things I may have missed fixing or cleaning up.
 >
 >My system has been up-to-date with unstable for over a year and a half
 >without problems. I stopped making updates a few weeks ago when Bruce said
 >that it wasn't in a working state due to the ongoing conversion to libc6.
...

FWIW, my box has been in sync with unstable since [never released] debian-1.0
and it still is, including libc6-dev stuff.  At the moment you need to put
3 packages on hold for this to work:
libc5-5.4.33-[>3],
locales,
libgdbm1.
I think you can't install libgdbmg1 without upgrading libgdbm1 first, so
this has to go, too.
(I was able to fix my box by manually downgrading the 2 libraries. Note
that I was upgrading only a handful of packages, so it didn't exactly look 
like all hell broke loose;  the box worked except for perl.)

As usual, this works for me, YMMV.

Hope this helps somebody.

--
Dimitri
reply to
emaziuk at curtin dot edu dot au
---
What color is a chameleon on a mirror?
( Zen koan )



--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .


How I fixed my trashed Debian system

1997-08-05 Thread Rick Macdonald
On 5 Aug 1997, Martin Steigerwald wrote:

> > > > Whats the trick to this?
> 
> > I did the same thing. Ended up with about 100 broken packages. I was able
> > to fix it without reinstalling from scratch. I could describe what I did
> > if anybody is interested. It involved having a spare partition where I
> > installed the 1.3.1 base system, plus the ability to boot DOS to download
> > the 1.3.1 install disk set which I didn't have on my machine.
> 
> Please do it. My system is broken down so serverely, that I even could
> not log in as root cause libreadline.so.2 is missing.

OK. If this helps just one person I think it's worth typing up. I welcome
any suggestions of things I may have missed fixing or cleaning up.

My system has been up-to-date with unstable for over a year and a half
without problems. I stopped making updates a few weeks ago when Bruce said
that it wasn't in a working state due to the ongoing conversion to libc6.

Then I needed to get g++ working, so I tried to do some updates and got
into a depends/conflicts mess. I tried executing the dselect "install"
option, which started out OK but then got into problems then stopped
working altogether. The clincher was when I did the dselect "remove
unwanted software" option. :-(

At that point I couldn't execute anything anymore. It would boot but 
then I couldn't login.

The first thing that I thought of was reinstalling the base 1.3.1 over top
of my old system. I was afraid to try this; I figured it would blindly
delete my old system. Somebody else asked this same question today. I
haven't seen an answer yet. I guess that I wouldn't work.

So, here's what I did:

o  Booted DOS, dialed up, and downloaded the 1.3.1 install disks.

o  Installed 1.3.1 onto an empty 200 MB partition that I had.
   (just ran the "install.bat" from the dos directory, and did the
   install from there. I didn't even have to write out any floppies)
   This was just the base install and one default go at deselect.
   I just let dselect install whatever was pre-selected as required, etc.

o  Did the following copies from the new (temporary) 1.3.1 to my
   original system, which was mounted as "/mysys" under 1.3.1:

   cp -a /usr/sbin /mysys/usr
   cp -a /usr/bin  /mysys/usr
   cp -a /sbin /mysys
   cp -a /bin  /mysys
   cp -a /usr/lib/libc5-compat /mysys/usr
   cp -a /lib  /mysys
   cp -a /usr/X11R6/lib/mysys/usr/X11R6
   cp -a /usr/lib/lib* /mysys/usr/lib

   This was the list that I came up with that I figured contained
   all the binaries and libraries installed by Debian. I may have
   missed some, but this allowed my old system to work again!

o  Then I downloaded the 1.3.1 distribution that I have mirrored
   at my office. This took 6-8 hours over ISDN.

Now, to downgrade the system to 1.3.1 and clean up:

o  I changed dselect to point to 1.3.1 instead of the unstable tree.

o  I had maybe 100 broken packages in dselect. I made a list of them,
   (dselect marks them cleary) and:

   - the ones that had installed versions but no "available" versions
 were packages that are new to unstable but not in 1.3.1.
 I purged these.

   - All the rest I manually ran "dpkg -i ".

 An easy way to get the deb-file name is to make a little
 script (that I called debfind) that looks like this:

#!/bin/sh
locate $1 | grep debian

Of course, this assumes that you have the tree locally and that
your "updatedb" includes this directory. Just grep for something
in the path of the debian tree.

   This way, I successfully fixed all the broken packages according to
   dselect.

o  Oops. I let let the 1.3.1 install some stuff that I don't normally
   have, and I copied this to my old system with the "cp" commands above.

   I ran "dpkg --get-selections" on the 1.3.1 partition, and ran "diff"
   of this with the output of the same command on the old system. This
   gave me a list of the packages that I needed to get rid of, only
   dselect on my old system didn't know about these because I just 
   copied some of the files (potentially) with those "cp" commands.
   
   To clean these up, I just installed and purged these packages with
   "dpkg -i " and "dpkg --purge ".

o  Now, the last thing to do is to reinstall every package that I have
   installed, because:

   -  some need downgrading from unstable to 1.3.1, others may be
  messed up but I don't now about it.

   Now, a lot of these I just reinstalled to fix the broken packages
   above, but I'm just reinstalling the whole anyway.

   So, I wrote a little Tcl script that I posted today but here it is
   again:

The output looks like this:

dpkg -i /usr/local/src/debian/1.3.1-fixed/binary-i386/base/adduser_3.2.deb
dpkg -i /usr/local/src/debian/1.3.1-fixed/binary-i386/base/ae_962-14.deb
dpkg -i 
/usr/local/src/debian/1.3.1-fixed/binary-i386/libs/aout-svgalib_1.2.10-4.deb
dpkg -i /usr/local/src/debian/1.3.1-fixed/binary-i386/admin/at_3.1.7-3.deb

S