Despam
[ikiwiki.git] / docs / newhandbook / UnixBasics / index.mdwn
index 705d1f6..f15e369 100644 (file)
@@ -328,6 +328,82 @@ Or `C` could be mounted directly on to the `A` file system, under the `A1` direc
 <!-- XXX: image -->
 
 If you are familiar with MS-DOS, this is similar, although not identical, to the `join` command.
+### The fstab File 
+
+During the [boot process](boot.html), file systems listed in `/etc/fstab` are automatically mounted (unless they are listed with the `noauto` option).
+
+The `/etc/fstab` file contains a list of lines of the following format:
+  
+
+    device       mount-point   fstype     options      dumpfreq     passno
+
+These parameters have the following meaning:
+
+* `device`: A device name (which should exist), as explained [here](disks-naming.html).
+
+* `mount-point`: A directory (which should exist), on which to mount the file system.
+
+* `fstype`: The file system type to pass to [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section8). The default DragonFly file system is `ufs`.
+
+* `options`: Either `rw` for read-write file systems, or `ro` for read-only file systems, followed by any other options that may be needed. A common option is `noauto` for file systems not normally mounted during the boot sequence. Other options are listed in the [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section8) manual page.
+
+* `dumpfreq`: This is used by [dump(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=dump&section8) to determine which file systems require dumping. If the field is missing, a value of zero is assumed.
+
+* `passno`: This determines the order in which file systems should be checked. File systems that should be skipped should have their `passno` set to zero. The root file system (which needs to be checked before everything else) should have its `passno` set to one, and other file systems' `passno` should be set to values greater than one. If more than one file systems have the same `passno` then [fsck(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=fsck&section8) will attempt to check file systems in parallel if possible.
+
+Consult the [fstab(5)](http://leaf.dragonflybsd.org/cgi/web-man?command=fstab&section5) manual page for more information on the format of the `/etc/fstab` file and the options it contains.
+
+### The mount Command 
+
+The [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section8) command is what is ultimately used to mount file systems.
+
+In its most basic form, you use:
+
+    
+
+    # mount device mountpoint
+
+Or, if `mountpoint` is specified in `/etc/fstab`, just:
+
+    
+
+    # mount mountpoint
+
+There are plenty of options, as mentioned in the [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section8) manual page, but the most common are:
+
+ **Mount Options** 
+
+* `-a`: Mount all the file systems listed in `/etc/fstab`. Except those marked as `noauto`, excluded by the `-t` flag, or those that are already mounted.
+
+* `-d`: Do everything except for the actual mount system call. This option is useful in conjunction with the `-v` flag to determine what [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section8) is actually trying to do.
+
+* `-f`: Force the mount of an unclean file system (dangerous), or forces the revocation of write access when downgrading a file system's mount status from read-write to read-only.
+
+* `-r`: Mount the file system read-only. This is identical to using the `rdonly` argument to the `-o` option.
+
+* `-t` ***fstype***: Mount the given file system as the given file system type, or, if used with `-a` option, mount only file systems of the given type. `ufs` is the default file system type.
+
+* `-u`: Update mount options on the file system.
+
+* `-v`: Be verbose.
+
+* `-w`: Mount the file system read-write.
+
+The `-o` option takes a comma-separated list of the options, including the following:
+
+* `nodev:` Do not interpret special devices on the file system. This is a useful security option.
+
+* `noexec`: Do not allow execution of binaries on this file system. This is also a useful security option.
+
+* `nosuid`: Do not interpret setuid or setgid flags on the file system. This is also a useful security option.
+
+### The umount Command 
+
+The [umount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=umount&section8) command takes, as a parameter, one of a mountpoint, a device name, or the `-a` or `-A` option.
+
+All forms take `-f` to force unmounting, and `-v` for verbosity. Be warned that `-f` is not generally a good idea. Forcibly unmounting file systems might crash the computer or damage data on the file system.
+
+`-a` and `-A` are used to unmount all mounted file systems, possibly modified by the file system types listed after `-t`. `-A`, however, does not attempt to unmount the root file system.
 
 ## Choosing File System Layout 
 
@@ -347,12 +423,24 @@ It is entirely possible to have one large root file system, and not need to crea
 
 * File systems are a fixed size. If you create a file system when you install DragonFly and give it a specific size, you may later discover that you need to make the partition bigger.  The [growfs(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=growfs&amp;section8) command makes it possible to increase the size of a UFS file system on the fly.
 <!-- XXX: what about hammer? -->
+
 ## Disk Slices, Partitions and local UNIX file systems 
 *** Heavily edited by Nick Matavka***
 
-Here we describe how disks are subdivided.
+DragonFly BSD divides disks into partitions and slices; it refers to locations on a disk by means of their unique codes.  For instance, the disk code `ad1s3d` has a clear meaning: IDE hard disk one, slice three, root file system.  Meanings for other such codes will become apparent by the end of this section; first of all come the meanings for the physical drive codes.  The most common are:
+
+[[!table  data="""
+<tablestyle="width:100%"> Code | Meaning 
+<tablestyle="width:100%"> `ad` | ATAPI (IDE) disk 
+`da` | SCSI direct access disk 
+`acd` | ATAPI (IDE) CDROM 
+`cd` | SCSI CDROM 
+`vn` | Virtual disk
+`fd` | Floppy disk |
+"""]]
+
+
 
-<!-- XXX: mention serno stuff -->
 
 ### Slices 
 
@@ -389,9 +477,7 @@ Partition layout is defined in a label on the slice where the partition reside.
 <tablestyle="width:100%"> `a` | Normally contains the root file system 
  `b` | Normally contains swap space 
   `c` | Normally the same size as the enclosing slice.  This allows utilities that need to work on the entire slice (for example, a bad block scanner) to work on the `c` partition. You would not normally create a file system on this partition. This is not necessarily true; it is possible to use the 'c' partition as a normal partition.
-   `d` | Normally the same size as the entire physical disk.  This is now rare, but to this day, some tools may operate oddly if told to work on partition `d`. |
-
-   """]]
+   `d` | Normally the same size as the entire physical disk.  This is now rare, but to this day, some tools may operate oddly if told to work on partition `d`. | """]]
 
    
 
@@ -436,194 +522,28 @@ Historically, you needed to set up  [cron(8)](http://leaf.dragonflybsd.org/cgi/w
 
 ### Adding a Disk 
 
-Adding a disk is done by installing it physically, and to connect it to a disk controller that DragonFly supports.  If you are in doubt if controller is supported, manual pages for disk controllers can be consulted ('man -k disk' or 'man -k scsi' can be of help).  The easiest thing is normally to boot DargonFly with the controller installed and note if boot message contains the controller.
+Adding a disk is done by installing it physically and by connecting it to a disk controller supported by DragonFly BSD.  If you are in doubt as to whether a particular disk controller is supported, the manual pages for disk controllers can be consulted (`man -k disk` or `man -k scsi` can be of help).  Another, easier way of ascertaining support for a controller is to boot with the controller installed, and note if the boot messages contain the controller.
 
-Assuming that disk `ad6` is installed, we could set it up using [fdisk(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=fdisk&amp;section8) and  disklabel(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=disklabel&amp;section8) or  [gpt(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=gpt&amp;section8) and 
-[disklabel64(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=disklabel64&amp;section8).
+Assuming that disk `ad6` is installed, we could set it up the old-fashioned way, using [fdisk(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=fdisk&amp;section8) and  disklabel(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=disklabel&amp;section8) or the modern way, with [gpt(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=gpt&amp;section8) and [disklabel64(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=disklabel64&amp;section8), or any combination thereof.
 
-In this example we choose [gpt(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=gpt&amp;section=8) & [disklabel64(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=disklabel64&amp;section=8).
-
-<!-- XXX: mention that disklabel64 is default now -->
-    
+In this example, we chose [gpt(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=gpt&amp;section=8) and [disklabel64(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=disklabel64&amp;section=8).
 
     # gpt -v create ad6
-
-    ...
-
+    [...]
     # gpt add -s1 ad6
-
     ad6s0
-
     # gpt add ad6
-
     ad6s1
-
     # gpt show ad6
+    [...]
 
-    ...
-
-Here we first create the GPT and then add two slices.  In this example the first slice added is `ad6s0`, which is made a dummy slice of size 1 sector, this is just for not having to make further reference to it, as many users remembers that `s0` has special meaning, which really isn't true for GPT slices.  The second slice is `ad6s1` which will cover the rest of the disk.
-
-    
+In the above example, we first create the GPT and then add two slices.  The first slice added is `ad6s0`, which is made a dummy slice of size 1 sector.  The reason for this is backwards compatibility: veteran users may remember that `s0` has special meaning in MBR slice schemes, but this is not true in GPT slices.  The second slice, `ad6s1`, will cover the rest of the disk:
 
     # disklabel64 -rw ad6s1 auto
-
     # disklabel64 -e ad6s1          # edit label to add partitions as needed
 
-### disklabel 
-<!-- XXX: what is all this fuzz about dangerously dedicated? -->
-
-For [disklabel(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=disklabel&amp;section8) labels some partitions have certain conventions associated with them.
-
-[[!table  data="""
-<tablestyle="width:100%"> Partition | Convention 
-<tablestyle="width:100%"> `a` | Normally contains the root file system 
- `b` | Normally contains swap space 
- `c` | Normally the same size as the enclosing slice.  This allows utilities that need to work on the entire slice (for example, a bad block scanner) to work on the `c` partition. You would not normally create a file system on this partition. This is not necessarily true; it is possible to use the 'c' partition as a normal partition.
- `d` | Partition `d` used to have a special meaning associated with it, although that is now gone.  To this day, some tools may operate oddly if told to work on partition `d`. |
-
-"""]]
-
-Each partition-that-contains-a-file-system is stored in what DragonFly calls a ***slice***.  Slice is DragonFly's term for what the common call partitions, and again, this is because of DragonFly's UNIX background.  Slices are numbered, starting at 1.
-
-Slice numbers follow the device name, prefixed with an `s`, starting at 1. So ***da0s1*** is the first slice on the first SCSI drive. There can only be four physical slices on a disk, but you can have logical slices inside physical slices of the appropriate type.  These extended slices are numbered starting at 5, so ***ad0s5*** is the first extended slice on the first IDE disk. These devices are used by file systems that expect to occupy a slice.
+                                        
 
-<!-- XXX: gpt allows for way more than 4 partitions... let's remove this stuff above -->
-
-***Dangerously dedicated*** physical drives are accessed as slice 0.
-
-Slices, ***dangerously dedicated*** physical drives, and other drives contain ***partitions***, which are represented as letters from `a` to `p`.  This letter is appended to the device name, so ***da0s0a*** is the a partition on the first da drive, which is ***dangerously dedicated***. ***ad1s3e*** is the fifth partition in the third slice of the second IDE disk drive.
-
-Finally, each disk on the system is identified.  A disk name starts with a code that indicates the type of disk, and then a number, indicating which disk it is.  Disk numbering starts at 0. Common codes that you will see are listed in [Table 3-1](disk-organization.html#BASICS-DEV-CODES).
-
-<!-- XXX: here would probably be the right place to talk about serno -->
-
-When referring to a partition DragonFly requires that you also name the slice and disk that contains the partition, and when referring to a slice you should also refer to the disk name. Do this by listing the disk name, `s`, the slice number, and then the partition letter.  Examples are shown in [Example 3-1](disk-organization.html#BASICS-DISK-SLICE-PART).
-
-<!-- XXX: later talk also about devfs, definitely not here though. also, devfs rules -->
-
-[Example 3-2](disk-organization.html#BASICS-CONCEPT-DISK-MODEL) shows a conceptual model of the disk layout that should help make things clearer.
-
-In order to install DragonFly you must first configure the disk slices, then create partitions within the slice you will use for DragonFly, and then create a file system (or swap space) in each partition, and decide where that file system will be mounted.
-
-***'Table 3-1. Disk Device Codes***'
-
-[[!table  data="""
-<tablestyle="width:100%"> Code | Meaning 
-<tablestyle="width:100%"> `ad` | ATAPI (IDE) disk 
- `da` | SCSI direct access disk 
- `acd` | ATAPI (IDE) CDROM 
- `cd` | SCSI CDROM 
- `vn` | Virtual disk
- `fd` | Floppy disk |
-
-"""]]
-
-***'Example 3-1. Sample Disk, Slice, and Partition Names***'
-
-[[!table  data="""
-<tablestyle="width:100%"> Name | Meaning 
-<tablestyle="width:100%"> `ad0s1a` | The first partition (`a`) on the first slice (`s1`) on the first IDE disk (`ad0`). 
- `da1s2e` | The fifth partition (`e`) on the second slice (`s2`) on the second SCSI disk (`da1`). |
-
-"""]]
-
-***'Example 3-2. Conceptual Model of a Disk***'
-
-This diagram shows DragonFly's view of the first IDE disk attached to the system. Assume that the disk is 4 GB in size, and contains two 2 GB slices (MS-DOS partitions).  The first slice contains a MS-DOS disk, `C:`, and the second slice contains a DragonFly installation. This example DragonFly installation has three partitions, and a swap partition.
-
-The three partitions will each hold a file system. Partition `a` will be used for the root file system, `e` for the `/var` directory hierarchy, and `f` for the `/usr` directory hierarchy.
-
-<!-- XXX: image -->
-
-## Mounting and Unmounting File Systems 
-
-The file system is best visualized as a tree, rooted at `/`.
-
-The directories, e.g. `/dev` and `/usr`, in the root directory are branches,
-
-which may have their own branches, such as `/usr/local`, and so on.
-
-There are various reasons to house some of these directories on separate file systems. `/var` contains the directories `log/` and `spool/`, and various types of temporary files, and as such, may get filled up. Filling up the root file system is not a good idea, so splitting `/var` from `/` is often favorable.
-
-Another common reason to contain certain directory trees on other file systems is if they are to be housed on separate physical disks, e.g. CD-ROM, or are used as separate virtual disks, such as [Network File System](network-nfs.html) exports.
-
-### The fstab File 
-
-During the [boot process](boot.html), file systems listed in `/etc/fstab` are automatically mounted (unless they are listed with the `noauto` option).
-
-The `/etc/fstab` file contains a list of lines of the following format:
-  
-
-    device       mount-point   fstype     options      dumpfreq     passno
-
-These parameters have the following meaning:
-
-* `device`: A device name (which should exist), as explained [here](disks-naming.html).
-
-* `mount-point`: A directory (which should exist), on which to mount the file system.
-
-* `fstype`: The file system type to pass to [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section8). The default DragonFly file system is `ufs`.
-
-* `options`: Either `rw` for read-write file systems, or `ro` for read-only file systems, followed by any other options that may be needed. A common option is `noauto` for file systems not normally mounted during the boot sequence. Other options are listed in the [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section8) manual page.
-
-* `dumpfreq`: This is used by [dump(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=dump&section8) to determine which file systems require dumping. If the field is missing, a value of zero is assumed.
-
-* `passno`: This determines the order in which file systems should be checked. File systems that should be skipped should have their `passno` set to zero. The root file system (which needs to be checked before everything else) should have its `passno` set to one, and other file systems' `passno` should be set to values greater than one. If more than one file systems have the same `passno` then [fsck(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=fsck&section8) will attempt to check file systems in parallel if possible.
-
-Consult the [fstab(5)](http://leaf.dragonflybsd.org/cgi/web-man?command=fstab&section5) manual page for more information on the format of the `/etc/fstab` file and the options it contains.
-
-### The mount Command 
-
-The [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section8) command is what is ultimately used to mount file systems.
-
-In its most basic form, you use:
-
-    
-
-    # mount device mountpoint
-
-Or, if `mountpoint` is specified in `/etc/fstab`, just:
-
-    
-
-    # mount mountpoint
-
-There are plenty of options, as mentioned in the [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section8) manual page, but the most common are:
-
- **Mount Options** 
-
-* `-a`: Mount all the file systems listed in `/etc/fstab`. Except those marked as `noauto`, excluded by the `-t` flag, or those that are already mounted.
-
-* `-d`: Do everything except for the actual mount system call. This option is useful in conjunction with the `-v` flag to determine what [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section8) is actually trying to do.
-
-* `-f`: Force the mount of an unclean file system (dangerous), or forces the revocation of write access when downgrading a file system's mount status from read-write to read-only.
-
-* `-r`: Mount the file system read-only. This is identical to using the `rdonly` argument to the `-o` option.
-
-* `-t` ***fstype***: Mount the given file system as the given file system type, or, if used with `-a` option, mount only file systems of the given type. `ufs` is the default file system type.
-
-* `-u`: Update mount options on the file system.
-
-* `-v`: Be verbose.
-
-* `-w`: Mount the file system read-write.
-
-The `-o` option takes a comma-separated list of the options, including the following:
-
-* `nodev:` Do not interpret special devices on the file system. This is a useful security option.
-
-* `noexec`: Do not allow execution of binaries on this file system. This is also a useful security option.
-
-* `nosuid`: Do not interpret setuid or setgid flags on the file system. This is also a useful security option.
-
-### The umount Command 
-
-The [umount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=umount&section8) command takes, as a parameter, one of a mountpoint, a device name, or the `-a` or `-A` option.
-
-All forms take `-f` to force unmounting, and `-v` for verbosity. Be warned that `-f` is not generally a good idea. Forcibly unmounting file systems might crash the computer or damage data on the file system.
-
-`-a` and `-A` are used to unmount all mounted file systems, possibly modified by the file system types listed after `-t`. `-A`, however, does not attempt to unmount the root file system.
 
 ## Processes