Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Jan 2009 12:24:29 -0500
From:      Jerry McAllister <jerrymc@msu.edu>
To:        Zbigniew Szalbot <zszalbot@gmail.com>
Cc:        User Questions <freebsd-questions@freebsd.org>
Subject:   Re: updating to 7.1 with a small root slice
Message-ID:  <20090114172429.GA28762@gizmo.acns.msu.edu>
In-Reply-To: <94136a2c0901132313ga018517idd21cf7a784aae7f@mail.gmail.com>
References:  <94136a2c0901132313ga018517idd21cf7a784aae7f@mail.gmail.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Wed, Jan 14, 2009 at 08:13:32AM +0100, Zbigniew Szalbot wrote:

> Dear all,
> 
> I am looking for your advice. Due to a very stupid design decision my
> / slice is only 256 MB. It seems too little so whenever I compile a
> new kernel, I need to move the kernel.old to a different slice to
> install the new one. Then I pray, hope for the best and reboot.
> However, I read that if I want to update to 7.1 I will need to boot a
> generic kernel at some point. What option do I have?

Probably you mean the / partition.  Probably all those partitions
are in one slice, but maybe not.

Hmmm.   256 MB should be plenty for root, depending on what is in root.
What do you leave in root?    IF some things like /tmp, /usr or /var
are living in the root partition, then they should be in their own.   
If they or some other big directory is in the way, then move it to your 
big partition (probably /home) and make a symbolic link (symlink) to
it from the root partition.    That will leave more room in root and
you can get by until the next time you do a complete reinstall (maybe
forever) that way.   Then, if you want to redo your partitions, you
can.  By then, the main reason will be because disk sizes have 
become so large that you want to carve them up differently.


> Even if I install a copy of GENERIC kernel into /boot, it most likely
> won't fit in the available file space. The problem is the machine's
> remote so I cannot take it down, replace drives, etc. as I am bound by
> a hosting contract and frankly I really do not want to do that unless
> I have no other option. Thoughts? Many thanks!

It is easy to move a too big directory to another large partition.
Just tar up the directory and untar it in the new place and then
make the link.   If everything looks to be OK - including files'
ownership and permissions, then delete the old directory.

Lets say you have a large /home that is a separate partition and 
that you left /var in root instead of making it its own partition.

  cd /var
  tar -cvf /home/var.tar *
  cd /home
  mkdir new.var
  cd new.var
  tar -xvpf /home/var.tar
  cd /
  mv var old.var
  ln -s /home/new.var var
Check out the new.var for files/ownership/permissions
  cd /
  rm -rf old.var
  voila, you have room in root now.

Do this to appropriate directories that are too big and really
should have their own partition or be in the large partition anyway.
Make sure you do not do it to directories that are needed for boot.
The main one that may not be obvious is /etc.  Don't move it.   But
also, do not move /bin, /sbin, /boot, /root, /dev, /lib or /libexec  

Really /tmp, /usr and /var or some directories within them are
your only candidates. 

You might also check to make sure you didn't stash some large junk files
in /root and forgot to get rid of them.

Anyway, 256 MB should be plenty of space for / slash unless you
are putting everything in it.

////jerry   

> 
> --
> Zbigniew Szalbot
> www.slowo.pl
> www.fairtrade.net.pl
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?20090114172429.GA28762>