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

Re: [Help] resc1440.bin (kernel) crash




On Thu, 20 Aug 1998, Jimen Ching wrote:

> After I upgraded to hamm (no problems encountered, good job), I noticed
> some obsolete packages, which I progressed to remove.  I did this in steps
> so I don't harm my system.  I did all of this in X, which may be my first
> mistake.  Everything went fine until the last obsolete package, 'base'.  I
> got the warning about _knowing what I was doing_ to proceed.  I made the
> assumption that since the new version is installed, there's no problem
> with uninstalling this package -- my first big mistake.  The system is
> still usable, but all of my devices in /dev just disappeared.  I don't
> know what else is missing.

This problem with base is really bad.  It has happened to other people and
true, it does screw up your system in probably one of the worst ways
imaginable (apart from slow corruption of your fs due to bad hardware
maybe.)

You could have gotten rid of base safely by removing
/var/lib/dpkg/info/base.* and all references to the base package in
/var/lib/dpkg/status .  But I won't blame you for not knowing that
beforehand.
 
> I was able to retrieve most of the devices by running '/dev/MAKEDEV
> update'.  Unfortunately, this did not recreate the pty's or the tty's.  

[snip]

I could paste in the contents of base as it came with debian 1.1, but that
would make the email 61K bigger and it wouldn't fix the libbc5/libc6
mishmash that your system has become. 

Instead, try to unpack base2_0.tgz directly onto your hosed system.  IIRC
it contains all the necessary devices and essential libs.  Just boot the
rescue floppy, switch to VC2 and mount your root filesystem on /mnt and
mount all other partitions in the proper places (ie. /usr would end up on
/mnt/usr.)  Next, mount the cd on /cdrom and find base2_0.tgz.  I think
you'll have to extract files from it using cpio, as there's no tar on the
rescue disk.  I'm not used to cpio, so what I'm about to tell you might be
all wrong :-/.  Anyway, cd to /tmp and:

  cpio -i -dbm < /path/to/base2_0.tgz

If all goes well, that ought to restore most devices and basic libs and
utilities.  You can test if your system has become slightly less unstable
by syncing and rebooting from the rescue disk, this timetyping "rescue
root=/dev/hda1" at the syslinux prompt (assmuning that your root
filesystem is actually on hda1 of course.)

If you are reasonably succesful at this point, try to mount the cdrom and
run:

   dpkg --configure --pending

I wouldn't be surprized if you got a lot of errors from that, but it
should at least get things as sane as possible.  Rerun until no errors
happen or until no errors disappear when you run dpkg successively.  Now
run:

  dpkg -iBOR /cdrom/debian/dists/stable/main/binary-i386

That should just reinstall all packages that are registered to be
installed on your system. 

> >From the above, you would think I'm no newbie.  But somehow, I've must of
> executed the F0 0F instruction and my brain halted.  ;-)  I've never
> thought I could hosed my system this bad.  :(

Time to buy a tape drive ;-)

> 1.  How does one remove all libc5 stuff off the system?  I didn't see any
> option to remove all of the libs and stuff.

Simple, just unselect package libc5 in dselect's selection screen.
Dselect will then automatically bring you to the list of all packages on
your system that depend on libc5.  From there, you can easily flag those
for removal too.  I do recommend you doublecheck the selections list
before you actually start the removal step of dselect :-]

> 2.  Why was the package 'base' from Debian 1.1 still listed as an
> installed package?  Doesn't base-files or some other package replaced it?
> If there's a new version of the 'base' package, why is it listed under the
> obsolete section?  Shouldn't it be under required/current?

I think that at some point in time, there was apackage that replaced,
provided and conflicted with base, so that by installing that package, one
would upgrade gracefully.  However, when base disappeared from the
dependency information after a couple of versions, the failsafe mechanism
disappeared and it became possible to orphan base by upgrading across
several Debian versions at once.  

All this would of course have been only a minor issue if only some package
had continued to own the critical devices and directories that were once
owned by base.

> 3.  What is the difference between the libc6 and libc6-dev?  What is
> considered a development library?  Is it needed to develop libc6 only, or
> any development at all, i.e. C++/X programming? 

You need libc6 to run programs that are linked with libc6 at build time.
To build and link programs yourself, you'll also need libc6-dev.  This
generally goes for any libfoo and libfoo-dev in Debian.

Cheers,


Joost


Reply to: