# Recommended storage space for a new UNIX user



## Corran (Dec 26, 2011)

Hello,

I'm interested in installing FreeBSD with the proper amount of allocated storage space for my intended use. I'm basically new to UNIX and want to learn the ins and outs; I want to program in C and learn the connection between C and UNIX firsthand. I want to see why UNIX is renowned for its networking abilities. I want to learn shell scripting and how to master using the terminal. I also think I'd like to use ports since that'll allow me to play around with source code before installing an application, which I imagine I'll be doing once I'm adept enough. 

On my first attempt at installing, I allocated 3 GB of space and tried installing the "Developer" suite. I also included ports in the installation, which ultimately failed because I didn't have enough space (note: I allocated 1 GB to /usr and the rest was distributed according to a sample picture in the installation guide).

On my second attempt at installing, I again allocated 3 GB of space (I'm doing this through VMWare and I figured I'd start with a low disk size and ultimately add more space if I needed to, but apparently that requires downloading a VMWare developer's toolkit which seems like overkill for my purposes when I can just recreate the VM with more space). This time I picked the Developer suite again but with no ports. Interestingly, the last few writes (dealing with "stools" I believe) failed due to unavailable space, but the installation was still successful. Of course, I can't add to any files or create any new files, so this is still no good.

Now I'm coming here before my third attempt. I read somewhere that it might be best to just do the minimal installation, and add everything that I need later (including ports). That seems like a good idea, but I'm just curious how much space I should allocate to the disk slice for my intended use. I've read that 10GB-12GB seem like typical recommendations. But as I said, my intended use case is to learn the intricacies of basic UNIX and learn how to program in it (via C, Python, Perl, Scheme, etc.). Nothing crazy. No Firefox. Maybe X-server just to learn about it? 

Please let me know what you all think, and thanks in advance for any help!

PS: I'd prefer to create separate partitions for the necessary /usr, /tmp, /var and / mounts at the cost of less free space. I assume the default allocation provided by the installer should be fine?


----------



## wblock@ (Dec 26, 2011)

3G is not enough for a typical installation.  Come to that, 3G is not enough for most modern operating systems unless they've been trimmed down for special use.

Unless you're short on space, go with at least 12G.  20G gives more room for real work.  My suggestion for 20G or more:

```
/     2G
swap  2G (4G for larger drives)
/var  2G (4G for larger drives, or more if a database wants to store something there)
/tmp  1G (more can be handy)
/usr  all of the rest
```


----------



## Corran (Dec 26, 2011)

It's interesting, I've always had this naive view that UNIX was this bare-bones, no bells-and-whistles OS that would require little storage space because there was no bloatware, overly-restrictive kernels or graphical candy. I suppose this is true to some degree if you compare the requirements of FreeBSD to something like Windows XP. But I guess ultimately if I want to download SDKs and programming language libraries and important OS tools, it's still gonna cost in the order of gigs. 

But I wonder, how did the original UNIX programmers back in the '80s or what not have so much power at their fingertips? They weren't running 20G-machines, and yet they were still able to make complex programs and network their computers and all that other good stuff. 

Perhaps the discrepancy is because FreeBSD is still a modern OS that's constantly updated and meant to handle the new developments in software (ex. new libraries) and hardware (ex. USB 2.0 controllers, graphics cards, etc.), and thus requires a good amount of disk space for typical use? 

(Oh and thanks for editing my post DutchDaemon. I'll be sure to keep those formatting suggestions in mind from now on.)


----------



## wblock@ (Dec 26, 2011)

FreeBSD can be very small if you want; the Handbook shows 24M of RAM and 150M (meg, not gig!) for a minimal install.  But a minimal install is the opposite of a development system, which has documents, loads of tools, applications, probably X and several graphics toolkits (GTK, QT) too.  The ports tree takes some space, and the distfiles it downloads add on to that.  On a small disk, it helps to not split up the filesystems, and then you can get by with 8G or maybe 6G yet still be usable.  If you avoid ports it can be smaller than that, minimum disk space of a bit more than 1G.  But those sizes are limiting.

The old releases of FreeBSD are still available if you want to compare:http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/


----------



## UNIXgod (Dec 26, 2011)

The tuning man page is always a good read for your slicing needs. simply type:

```
man [man]tuning[/man]
```


----------



## Beastie (Dec 26, 2011)

Corran said:
			
		

> It's interesting, I've always had this naive view that UNIX was this bare-bones, no bells-and-whistles OS that would require little storage space because there was no bloatware, overly-restrictive kernels or graphical candy.


Indeed, a very big and important difference is that you can customize FreeBSD and any extension (e.g. an X graphical system) to be as big or small as you need and want.



			
				Corran said:
			
		

> I suppose this is true to some degree if you compare the requirements of FreeBSD to something like Windows XP.


Unfair comparison. Windows XP is a 10 year old OS. Even if it's ridiculous to compare two completely different OSs such as these, you probably should compare FreeBSD 8.2 and Windows 7. What are the minimum requirement for running Windows 7 again? A 1 GHz CPU, 1-2 GB of physical memory and 16-20 freaking GB of disk space!!! That's what you need to run the heaviest desktop environments on FreeBSD.
My desktop system - which includes the entire FreeBSD documentation and kernel+world source - uses ~3GB of disk space.


----------



## fnucc (Dec 26, 2011)

I gave 50GB - a free partition on my second disk - to FreeBSD. In the era of super cheap hard disks I see no point of working with a minimum storage, especially if you are learning. Give it plenty and when you learn it, you'll know what storage is for what purpose. So, let it breathe


----------



## vermaden (Dec 26, 2011)

Corran said:
			
		

> I want to see why UNIX is renowned for its networking abilities.


Get *TCP/IP Illustrated* book (Volumes 1, 2 and 3).



> I want to learn shell scripting and how to master using the terminal.


Check this one: http://developer.apple.com/library/mac/#documentation/OpenSource/Conceptual/ShellScripting/




> On my first attempt at installing, I allocated 3 GB of space and tried installing the "Developer" suite. I also included ports in the installation, which ultimately failed because I didn't have enough space (note: I allocated 1 GB to /usr and the rest was distributed according to a sample picture in the installation guide).


The best way is CUSTOM/MINIMAL: kernel + base + man pages + lib32 (only on 64bit platforms). 



> Now I'm coming here before my third attempt. I read somewhere that it might be best to just do the minimal installation, and add everything that I need later (including ports). That seems like a good idea, but I'm just curious how much space I should allocate to the disk slice for my intended use. I've read that 10GB-12GB seem like typical recommendations. But as I said, my intended use case is to learn the intricacies of basic UNIX and learn how to program in it (via C, Python, Perl, Scheme, etc.). Nothing crazy. No Firefox. Maybe X-server just to learn about it?


As usual, it depends, I have 320 MB FreeBSD installs (for the whole system, without Ports, without source etc.) on several servers but I use about 8GB on the workstation setup, most space 'takers' below:


```
4500 MB /usr/local
1500 MB /usr/src
 900 MB /usr/ports
 200 MB /usr/compat
  75 MB /usr/bin
  75 MB /usr/lib
  60 MB /usr/lib32
  45 MB /usr/share
  30.MB /usr/sbin
  20 MB /usr/libexec
  20 MB /usr/include
 200 MB /var/db
  80 MB /boot
```

This workstation is not even a whole Desktop Environment like GNOME or KDE, its Openbox along with needed applications (LibreOffice, VirtualBox, Opera, Nautilus, Thunar, Deadbeef, Transmission, Geany, Midori, Firefox, GIMP, ...).



> I assume the default allocation provided by the installer should be fine?


I haven't used installer since AGES, I always install FreeBSD 'my way' 
http://forums.freebsd.org/showthread.php?t=12082


----------



## Corran (Dec 27, 2011)

Thanks for all your help everyone, including the book/site recommendations. It's interesting to hear about the variety of setups people have. I think now I'll go ahead and run the minimum installation with documentation (kernel + base + man) but with a 20 GB disk space for conservative measure. Perhaps then I'll be able to build from the ground up and see what exactly consumes significant space and why (as much as I appreciate that sample listing of 'space takers', I'm not yet familiar enough with UNIX to understand what each of those /usr subdirectories are supposed to contain).


----------



## Beastie (Dec 27, 2011)

Corran said:
			
		

> I'm not yet familiar enough with UNIX to understand what each of those /usr subdirectories are supposed to contain).


hier(7) will help with that.


----------

