using sysinstall upgrade as a repair solution

Jerry McAllister jerrymc at msu.edu
Tue Mar 6 18:42:48 UTC 2007


On Tue, Mar 06, 2007 at 11:58:24AM -0600, Kevin Kinsey wrote:

> Disclaimer:  IANAE.
> 
> Joshua Kordani wrote:
> >Hello all!
>
> ..<libedit.so stuff deleted>..
> 
> > 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 ;-)

The long ago origins of making things in many partitions was when
disks were much much smaller.  So were backup media.   It was common
to have each piece on a separate disk.   Then disks got big enough
to put more than one part on and so on.

Now, there are a couple of good reasons to still divide a disk in to
partitions.  One is mentioned, sort of, above.  You want to isolate
areas that may grow unexpectedly from critical disk space.  So, /var
which contains logs and database stuff and spools gets its own partition
to keep it from over-filling root.   /tmp and user home directory space
are also such disk areas whose growth might not be predictable.

Another reason is for convenience with backups.   You may want to
reduce the size of partitions that are being backed up, either to
fit media or to be more convenient.  If only stuff in the partition
with users' home directories changes, then you only have to make
regular backups of that.  The other parts you only backup when you
make a new install or whatever.  Some things like /tmp you don't bother
to ever back up.    It also can be less to have to restore if one 
partition goes belly up, though that is less true nowdays when the users' 
space (not necessarily /usr - that is an old convention.  Now it is 
common to use /home for users' home directories, since /usr really contains 
installed software) may be by far the largest space on a system, depending 
on how the system is used.  

Another reason to break things up is to have to load the least amount
possible when there are problems.   You have to have / to boot in to
single user mode to work on things.  But you don't have to have the
rest of the stuff.   The smaller you make root the less likely some
disk problem will show up in the root partition, making it more likely
you can get at least some of the system up to work on the problem.

The fourth reason to have separate partitions is to make it easier
to isolate things.   You may want to make a certain amount of space
available for users to write in, but want to keep them out of other
space.   There are various ways to do it.   Having things grouped
conveniently in some defined area makes it a little easier.

> 
> >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 /.

If you divide out /var and /usr and /tmp and /home, then 150 MB is
plenty for root.   I am currently using about 120 MB on this machine
which is due a good cleanup.  

Use du(1) to track down where disk is being used unexpectedly.
CD to a directory and do  du -sk *   and look at the list.
Go in to whichever directory that shows up in the list as surprisingly
large and do another du, etc, etc until you isolate where the junk
is.   rm the stuff and find out how it is getting there and 
close that hole off.   You can use other flags such as -h or -m on
the du command.  I like the -k because it makes a consistent display
down the list that makes it easy to visually scan and see differences
in those cases where I don't care so much about the actual size as
about seeing those that stick out.

Note, by the way, that upgrading can use up a chunk of space on
a temporary basis.   

////jerry 

> ..<other stuff deleted>..

> recommend the standard procedure instead of the sysinstall binary 
> upgrade; however, that could be just a user pref, I guess.
> 
> KDK
> -- 
> Envy, n:
> 	Wishing you'd been born with an unfair advantage,
> 	instead of having to try and acquire one.
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"


More information about the freebsd-questions mailing list