using sysinstall upgrade as a repair solution

Kevin Kinsey kdk at
Tue Mar 6 17:58:32 UTC 2007

Disclaimer:  IANAE.

Joshua Kordani wrote:
> Hello all!
> I was running 5.1 release till pretty much last week when I believe the
> machine experienced an unplanned powercycle.  since then i get an error
> about being missing, and being required by sh, please input
> path to sh or hit enter.  ok, so i know about /rescue/sh, and the fixit
> option on sysinstall, but i don't know if libraries are anywhere to be 
> found on the live cd fixit toolkit (i doubt it, i looked in all the places that
> made sense to me).  

It should live in /lib.  Did you look there?  It might get by (barely) 
with or libedit.so5, also, if they are there.

Of course, the executables in /rescue are statically linked, so you

 > So i figure I might as well reinstall the OS, as
> that is why i made separate partitions for user data and system files (so i think,
> this is my first unix based system built by me) to apparently facilitate os
> reinstallation.  

It's traditional in BSD unix to have separate partitions; the logic is 
lost to me (being shrouded in the mists of time), but it's proved sane 
here a few times.  For example, when one partition gets full, there's 
still some room to move stuff and salvage things without a reinstall ;-)

> So here is my understanding of how a reinsall is supposed
> to go, with the aim of preserving my user stuff.
> I set the system up with a 150 meg partition (more than reccomended in the
> handbook at the time, and still to my knowledge) on which I put a, a b swap
> part, 256 meg d /tmp, 256 meg e /var, and 200odd gig  f /usr. the system 
> was
> oringinally intended to be an anonymous ftp repository for me and my
> friends, but due to school req's i had to change it to the sftp
> backengine(?) of sshd, and it was in /usr/share/public that i put pretty
> much everything.  when my friends added tons of crap I eventually added
> another 160 gig drive, put a swap part on that too for kicks, and moved the
> /home dir to it too. as of last week i only have 10 gigs remaining on that
> drive, and oddly enough i am at 106% capcity for the 250 gig drive 
> according
> to df, go figure.  

Not hard to figure.  The disk is full, including the space reserved for 
accidental overflow.  Take some stuff off --- log files, disk hogging 
sound or video files, etc.

Incidentally, 150MB doesn't seem very large for a root partition IMHO. 
I've not read the handbook recently, but I generally use a gig for /.

Had a situation similar to what you describe recently with a system that 
had been running Desktop BSD.  The default setup there is apparently 
128M or so for / with a separate /tmp of approximately equal size. 
Figuring that /rescue would save me in the event of problems, I moved 
/stand to another partition (one that had *space* though, mind you) and 
linked it to /.  Then my upgrade succeeded, although I was using the 
standard cvsup/make buildworld cycle.

> So now I figure id open up sysinstall off a cd and use
> the upgrade feature first, for either 5.1 or 6.2.  I set / to mount to a,
> /tmp to d, /var to e. and i leave f alone, since i dont want that modified
> at all.  well, eventually the tool tells me that the filesystem is full and
> quits.  Then I try doing a custom install and choose only the required base
> files, or a minimal install, and the same thing happens.  Then I figured
> that in the worst case i could choose to mount /usr on the 2nd harddrive on
> the partition where there are 10 gigs free in the fdisk-like utility step
> that the upgrade feature brings one too, and then i get kernel panics.  

Any indication as to why?  I'd assume that it wasn't finding things as 
it expected, filesystem wise.  Of course, a lot has changed since 5.1, 
so it could be anything.  Most recent panic I've seen that bears any 
resemblance was on a 5.3 system with a devfs statement in /etc/rc.conf 
that was no longer valid, so when it was upgraded to 6.2 (quite a bit 
more recent), devfs panicked on boot.  Removing the config statement 
from said file fixed that.  YMMV, of course.

> So i figure im not doing something right, or im not understanding something, but
> it was my intent to separate the / from /usr(or wherever id put stuff) in
> order to make the upgrading(or repairing) of the os easier.
> If this topic has already been discussed on the list then please tell me so
> I can go look in this lists archives wherever they may be stored.
> I am also not adverse to reading and note that I've looked through the
> handbooks for 5.1 and 6.2 as well as their install.txts. 5.5 disks are
> burning now, and im going to give those a try and see what happens.  
> Thanks!
> Josh

You need space on the disk.  Read up on "find" and "du" and see what's 
taking the space.  Then use rm and get rid of it.  After that you should 
be able to do an upgrade.  Although if you do like to read docs, I'd 
recommend the standard procedure instead of the sysinstall binary 
upgrade; however, that could be just a user pref, I guess.

Envy, n:
	Wishing you'd been born with an unfair advantage,
	instead of having to try and acquire one.

More information about the freebsd-questions mailing list