From owner-freebsd-questions@FreeBSD.ORG Mon Dec 18 17:13:42 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EA34A16A47B for ; Mon, 18 Dec 2006 17:13:42 +0000 (UTC) (envelope-from jerrymc@gizmo.acns.msu.edu) Received: from gizmo.acns.msu.edu (gizmo.acns.msu.edu [35.8.1.43]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5B25443CA2 for ; Mon, 18 Dec 2006 17:13:42 +0000 (GMT) (envelope-from jerrymc@gizmo.acns.msu.edu) Received: from gizmo.acns.msu.edu (localhost [127.0.0.1]) by gizmo.acns.msu.edu (8.13.6/8.13.6) with ESMTP id kBIGeYJX018880; Mon, 18 Dec 2006 11:40:34 -0500 (EST) (envelope-from jerrymc@gizmo.acns.msu.edu) Received: (from jerrymc@localhost) by gizmo.acns.msu.edu (8.13.6/8.13.6/Submit) id kBIGeYuu018879; Mon, 18 Dec 2006 11:40:34 -0500 (EST) (envelope-from jerrymc) Date: Mon, 18 Dec 2006 11:40:34 -0500 From: Jerry McAllister To: Bradley Giesbrecht Message-ID: <20061218164034.GF18498@gizmo.acns.msu.edu> References: <00190780-C6FE-42DB-9AD8-5D985625545F@pixilla.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <00190780-C6FE-42DB-9AD8-5D985625545F@pixilla.com> User-Agent: Mutt/1.4.2.2i Cc: freebsd-questions@freebsd.org Subject: Re: var out of space X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Dec 2006 17:13:43 -0000 Howdy, > Hello, > > > I inherited a freebsd installation with a var slice/mount that is to > small and filling up all the time. > > What type of info should I provide to allow someone to help me with a > solution? > > I would very much prefer to not install another drive just for /var. > > /usr has plenty of space. Can I mount var off of /usr? > > Here is the output of df for starters: > > /dev/ad0s1a 128990 119970 -1298 101% / > /dev/ad0s1f 257998 185246 52114 78% /tmp > /dev/ad0s1g 112755734 4533434 99201842 4% /usr > /dev/ad0s1e 257998 206956 30404 87% /var > procfs 4 4 0 100% /proc You are right, whoever built that machine put all the spare space in to /usr (wouldn't be my choice, but...) so you can make use of that space. The first thing to do is to figure out what is using the space. use du(1) for that. probably something like: (NOTE: do this as root or single user) cd /var du -sk * The most like culprits are /var/mail, var/spool, /var/log, and /var/db Rather than moving all of /var in to /usr, just move the worst of those and make symlinks. Of course you might also want to clean up some of the stuff, for example if /var/log is taking up all the space, use newsyslog(8) to manage rotation of logs and clearing of old logs. But, really your /var is too small so even after you clean up you will have to move some things. For example, you can move /var/spool to /usr by: cd /var/spool tar cpf /usr/spool.tar * cd /usr mkdir var.spool cd var.spool tar xpf ../spool.tar cd /var mv spool old-spool ln -s /usr/var.spool spool Now check things out by doing looking around: cd /var/spool should get you to /usr/var.spool and find all the files in place. When you are convinced it is good, then: cd /var rm -rf old-spool You might just find some files it refused to rm because flags are set on them, particularly 'schg' so you will have to unset those flags to nuke the files. chflags noschg file_name for example Then remove those files by hand. See chflags(1) At this point you would have /var/spool actually living in /usr with no problem. NOTE that doing the tar to a file and then untarring and also moving /var/spool to a different file and checking things first is being a little more careful(chicken) than absolutely necessary, but I prefer being safe. Also, my naming convention (making the directory be var.spool) helps me keep track of things sort of like using mnemonic variable names. This doesn't muck with your partition layout like moving all of /var in to /usr would. But, if you really want to move all of /var to /usr and change the mounts, then use dump/restore as follows: cd /usr mkdir newvar cd newvar dump 0af - /var | restore -rf - umount /var cd /etc Edit /etc/fstab to remove or comment out the /var line cd / rmdir var ln -s /usr/newvar var Check it out - it should work just fine. Of course, you don't have to use the name 'newvar' for the directory name in /usr, but it makes it clearer what happened. Now the 260MB in the ad0s1e partition will be essentially unused for anything unless you mount it as something else. I really think the former solution is a little better, but either will work. NOTE also that a possibly better overall solution that either is to completely reinstall FreeBSD from scratch and completely reorganize your disk at the same time especially if it is below version 6.1. Of course, you would want to make complete backups before doing that so you can put what parts of your data you want to keep back on after the installation. But, if you are new to FreeBSD, just moving a couple of things to free up space in /var will easily give you time to play around and become familiar and then you can do the complete re-install later when you have a better picture of what you want and after 6.2 RELEASE comes out. ////jerry > > > and ls -la at / looks like this: > > -rw-r--r-- 2 root wheel 802 May 25 2004 .cshrc > -rw-r--r-- 2 root wheel 251 May 25 2004 .profile > -r--r--r-- 1 root wheel 6355 May 25 2004 COPYRIGHT > drwxr-xr-x 2 root wheel 1024 Nov 29 17:39 bin > drwxr-xr-x 3 root wheel 512 Nov 5 15:27 boot > drwxr-xr-x 2 root wheel 512 Jan 16 2005 cdrom > lrwxr-xr-x 1 root wheel 10 Jan 16 2005 compat -> usr/compat > drwxr-xr-x 3 root wheel 20480 Jan 16 2005 dev > drwxr-xr-x 16 root wheel 2560 Dec 1 16:11 etc > lrwxrwxrwx 1 root wheel 9 Jan 16 2005 home -> /usr/home > -r-xr-xr-x 1 root wheel 4344469 Nov 5 13:22 kernel > -r-xr-xr-x 1 root wheel 4344469 Nov 5 13:22 kernel.GENERIC > drwxr-xr-x 2 root wheel 512 May 25 2004 mnt > drwxr-xr-x 2 root wheel 4608 Nov 5 13:22 modules > dr-xr-xr-x 1 root wheel 512 Dec 17 01:10 proc > drwxr-xr-x 3 root wheel 512 Nov 5 13:36 root > drwxr-xr-x 2 root wheel 2048 Nov 5 15:27 sbin > drwxr-xr-x 4 root wheel 1024 Jan 16 2005 stand > lrwxr-xr-x 1 root wheel 11 Nov 5 15:27 sys -> usr/src/sys > drw------- 7 root wheel 2048 Dec 17 01:09 tmp > drwxr-xr-x 18 root wheel 512 Jan 16 2005 usr > drwxr-xr-x 21 root wheel 512 Nov 6 11:54 var That doesn't affect anything. It looks about normal. The only problem is that you need more space in root or something cleaned out. Do a du -sk * in root to see what is hogging all the space. Also, you might want to use the -F flag on ls as in ls -laF so it marks the directories for you. Makes it easier to see what is going on. ////jerry > > > Thanks for any help, > Brad > > _______________________________________________ > 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"