[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Moving Along with Fedora!

On Thu, 2004-10-07 at 14:24, David Mamanakis wrote:
> Greetings!
> I know most of you really might not care, but I thought I would introduce
> myself, and ask a question or two...
> I am David Mamanakis, I live in S. Ogden, UT and I worked for Microsoft for 6
> years, dealing mostly with the Operating Systems...
> Currently I have decided that I am sick of it...Longhorn, the next version of
> Microsquat Bloatware, is just too much...

I take it you would never recommend Longhorn to any enterprise client.

> Because I have limited exposure to Unix/Linux I would like to ask a question
> about the directory structure of Linux...
> When I installed, I used the "auto setup" thing, and let it have at it...
> Now I have all kinds of directories like "\" and "\root" and "\usr"...

I assume you mean "/" where you typed "\". In Linux, "\" is an escape
character only, never a folder delimiter.

> What I would like to know, and feel free to mail me directly, or point me to a
> web resource, but I would like to know the windows equivalent of the Linux
> directories...

OK, here's my best shot:

> C:\ = ??? in linux system

The best equivalent of C:\ is simply /, the root directory. Even that is
an inexact equivalence. You see, in the Linux file system, everything is
tied together in one massive tree. You do not have separate trees for
separate devices as a general rule.

In practice, many devices can have more than one name, depending on how
you "mount" them to the tree.

"Mounting" is another thing you'll have to get used to. In DOS/Windows,
devices mount automatically. In Linux, devices mount when you tell them
to mount, by and large--except that in Gnome, the usual desktop we use,
CD-ROM disks mount automatically, because Gnome has a routine to do
that. But: you cannot just eject a CD any time you please. You have to
*unmount* the CD before you may eject it. (Last time I checked, FC2's
version of Gnome automatically ejects a CD as soon as you unmount it.)

CD's aside, all the letter designations for drives have disappeared.
Therefore, the rough equivalents of various drives would be:

DOS/Windows:	Device Name:	Typical Mount Point:
A:\		/dev/fda	/mnt/floppy
B:\		/dev/fdb	/mnt/floppy1 (or anything you please)
C:\		/dev/hda	/
D:\		/dev/cda	/mnt/cdrom

And so on==assuming that you are running a system with two floppy
drives, a single-partitioned hard drive, and a CD-ROM or DVD-ROM drive.

In fact, it's more complex than that, because the proper device name for
an IDE or ATA drive is always /dev/hda through /dev/hdz, and for a SCSI
drive it is /dev/sda through /dev/sdz, and so on. And if you *partition*
a drive, the partitions have device named like /dev/hda1 or /dev/hda2,
which means "first and second partitions on the master HDD on the
primary IDE controller."

But you don't have to worry about device names. All you care about are
mount points--because mount points are how you're going to find the
files in those various drives and partitions. I'll say more about that
down below.

> C:\Windows = ??? in linux

C:\Windows is replaced largely by /etc for configuration files, by /bin
for system-wide applications, and /sbin for applications that various
system accounts need to execute.

> C:\Program Files = ??? in linux

C:\Program Files = /usr in Linux.

> etc...
> or better yet, run it backwards...
> \ = ??? in windows system

/ is the top-level or root directory. On most systems, that have only
one HDD, its best equivalent is C:\.

> \root = ??? in windows

"Administrator" in Windows = "root" in Linux. This is the superuser.

/root is probably C:\Documents and Settings\Administrator--the home area
for the superuser. WARNING: NEVER, repeat NEVER, make it a habit of
doing all your work as the superuser! Instead, create a NON-SUPER user
to do all your work as. In contrast:

/home = C:\Documents and Settings for all users *other than* the
superuser. Thus, /home/auser = C:\Documents and Settings\auser\. Here it
plays the role of "My Documents" and "Local Settings" and anything else
that a user requires. Most of these "system directories" or "application
preference directories" are *hidden*--and hiding is as easy as prefacing
the name with a dot.

> \usr = ??? in windows

/usr = C:\Program Files in Windows.

A word about partitioning: If you're running a "pure Linux" system, and
if you ever want to set up a network server where you allow all your
users to have accounts on it and maintain home directories on it, then
you probably want to partition your hard drive. (And if you have more
than one hard drive, you *definitely* want to assign mount points to
those other drives even if you *don't* partition them.) You've already
noticed a lot of other folders at the top level. Briefly, they are:

/bin	Binary executables for the operating system itself.
/boot	The kernel.
/etc	Configuration files.
/home	File spaces for individual users other than root
/proc	A special-purpose folder for some system processes
/sbin	Binaries that various system "users" execute.
/tmp	Temporary files. This is "C:\TEMP" in Windows.
/usr	Program files.
/var	Variable-content files and folders. This folder contains all
spoolers and (in a Fedora system) database files. (I know that's true
for PostgreSQL, which I use.)

Every system needs at least three partitions:

/boot	Always the first partition on the disk. Size: 100 MB.
swap	Not mounted. This is "virtual memory." Size: twice as large as your
actual RAM, or your projected RAM if you're planning to bump up your
RAM. (That's always wise--use as much RAM as your motherboard can
/	All the rest.

If you have more than 50 GB on your system, you might want to consider a
partitioning plan like this:

/boot	100 MB (or more, if you're going to be updating kernels
[swap]	Twice the size of your RAM
/	5 GB
/usr	10 GB
/tmp	1 GB
/var	1 GB
/home	All the rest.

What happens is that all the other top-level folders like /etc and /proc
and /bin and /sbin (and /opt, if you ever get something like that when
installing Sun's Java SDK or something like that) get put in the same
partition as /. This also includes /root, or the superuser's "home."
Every directory named above gets its own partition, "mounted" at the
appropriate time. This saves you issuing orders like "changing to a
drive." Instead, you just "change to a directory," and Linux will put
you in the right spot, as the mount points dictate.

If you're running a mail server, you might want to add:

/var/spool or /var/spool/mail. Size: 10 GB.

If you're running a database, add:

/var/lib or /var/lib/pgsql. Size: as large as you ever want all your
databases to get.

The advantages of such a scheme are these:

1.	If ever you need to do a clean (re)install of a new distro (like
going from FC2 to 3 or 4), you can leave user files unmolested. (Make
sure, however, that you recreate user accounts in the precise order in
which you created them in the first place.)
2.	If the spooler, the database, or whatever starts going crazy, you can
limit the damage it can do, so that it can never take over the disk.

You can even get fancier and use partitioning to restrict certain users
to defined quotas of space--though I've never talked to any
administrator who felt the need to do that.

The best way I can sum up with is this: You are now a system
administrator. That's an awesome responsibility. Manage your system
wisely, and it will almost never be subject to the kind of compromise we
hear *so much about* in the Windows world (and, to a lesser extent, in
the Mac world).


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]