nat
[ikiwiki.git] / docs / newhandbook / environmentquickstart / index.mdwn
index 4dd4fe3..12c5694 100644 (file)
@@ -1,8 +1,20 @@
 # DragonFly BSD Quick Start
-This document describes the DragonFly environment one will find on a newly installed system.
+
+This QuickStart is part of the [[NewHandbook|/docs/newhandbook/]].
+
+This document describes the DragonFly environment one will find on a newly installed system.  While you are getting started, please pay careful attention to the version or level of DragonFly that the documentation was written for.  Some documentation on this site may be out of date. Watch for the marker `(obsolete)` on items that are out of date or need updating.
+
+
 [[!toc levels=3 ]]
+## Some Unix and BSD Fundamentals
+
+If you have used another Unix flavour, another BSD, or Linux before, you may need to spend some time learning the differences between DragonFly and the system you are experienced in.  If you have never used any flavor of Unix, BSD or otherwise, and have only used Windows before, please be prepared for a lengthy period of learning.
+
+If you already know your way around a Unix filesystem, and already know what the `/etc` folder is, how to use `vi` or `vim` to edit a file, how to use a shell like `tcsh` or `bash`, how to configure that shell, or change what shell you're using, how `su` and `sudo` work, and what a `root` account is, the rest of this page may be enough to orient you to your surroundings.
 
-## Disk layout
+You should understand everything in the [[Unix Basics|/docs/newhandbook/UnixBasics/]] section before you proceed with trying to use your new system.
+
+## Disk layout of a New Dragonfly BSD System using the HAMMER filesystem
 
 If you chose to install on the HAMMER file system during installation you will be left with a system with the following disk configuration:
 
@@ -25,7 +37,7 @@ In this example
 * `/dev/serno/9VMBWDM1` is the hard disk specified with serial number,
 * `/dev/serno/9VMBWDM1.s1` is the first slice on the hard disk.
 
-The disklabel looks at follows
+The disk label looks as follows:
 
     # disklabel /dev/serno/9VMBWDM1.s1
 
@@ -66,13 +78,13 @@ The slice has 3 partitions:
 * `b` - for swap
 * `d` - for `/`, a HAMMER file system labeled ROOT
 
-When you create a HAMMER file system you must give it a label, here the installer labeled it as "ROOT" and mounted it as
+When you create a HAMMER file system, you must give it a label.  Here, the installer labelled it as "ROOT" and mounted it as
 
     ROOT                      288G    12G   276G     4%    /
 
-A PFS is a Pseudo File System inside a HAMMER file system. The HAMMER file system in which the PFSes are created is referred to as the root file system. You should not confuse the "root" file system with the Label "ROOT", the label can be anything. It is just that the installer labeled it as ROOT because it is mounted as `/`.
+A PFS is a Pseudo File System inside a HAMMER file system. The HAMMER file system in which the PFSes are created is referred to as the root file system. You should not confuse the "root" file system with the label "ROOT": the label can be anything. The installer labeled it as ROOT because it is mounted at `/`.
 
-Now inside the ROOT HAMMER file system you find the installed created 7 PFSes from the `df -h` output above, let us see how they are mounted in `/etc/fstab`:
+Now inside the root HAMMER file system you find the installer created 7 PFSes from the `df -h` output above, let us see how they are mounted in `/etc/fstab`:
 
     # cat /etc/fstab
 
@@ -90,11 +102,11 @@ Now inside the ROOT HAMMER file system you find the installed created 7 PFSes fr
     proc                    /proc           procfs  rw              0       0
 
 
-The PFSes are mounted using a NULL mount because they are also HAMMER file systems. You can read more on NULL mounts here [mount_null(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount_null&section=8).
+The PFSes are mounted using a NULL mount because they are also HAMMER file systems. You can read more on NULL mounts at the [mount_null(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount_null&section=8) manpage.
 
-You don't need to specify a size for the PFSes like you do for logical volumes inside a volume group for LVM. All the free space in the root HAMMER file system is available to all the PFSs. That is the reason in the `df -h` output above you saw free space is same for all PFSes and the root HAMMER file system.
+You don't need to specify a size for the PFSes like you do for logical volumes inside a volume group for LVM. All the free space in the root HAMMER file system is available to all the PFSes; it can be seen in the `df -h` output above that the free space is the same for all PFSes and the root HAMMER file system.
 
-Now if you look in `/var`
+If you look in `/var`
 
     # cd /var/
     # ls
@@ -117,13 +129,13 @@ If you look at the status of one of the PFSes, e.g. `/usr` you will see `/var/ha
         snapshots directory defaults to /var/hammer/<pfs>
     }
 
-There is no "hammer" directory in `/var` now. That is because no snapshots are yet taken. You can verify this by checking the snapshots available for `/usr`
+At installation time, it will be seen that there is no `hammer` directory in `/var`. The reason for this is that no snapshots have yet been taken. You can verify this by checking the snapshots available for `/usr`
 
     # hammer snapls /usr
     Snapshots on /usr       PFS #3
     Transaction ID          Timestamp               Note
 
-The best way to take a snapshot of all PFSes is to run the command `hammer cleanup`. It does a lot of things but the fist thing it does during cleanup of a PFS is to take its snapshots as configured.
+Snapshots will appear automatically each night as the system performs housekeeping on the Hammer filesystem.  For a new volume, an immediate snapshot can be taken by running the command 'hammer cleanup'.  Among other activities, it will take a snapshot of the filesystem.
 
     # sudo hammer cleanup
     cleanup /                    - HAMMER UPGRADE: Creating snapshots
@@ -151,10 +163,9 @@ The best way to take a snapshot of all PFSes is to run the command `hammer clean
     cleanup /var/isos            - HAMMER UPGRADE: Creating snapshots
     [...]
 
-No snapshots were taken for `/tmp`, `/usr/obj` and `/var/tmp`. This is because the PFSes are flagged as `nohistory`. HAMMER tracks history for all files in a PFS, naturally this consumes disk space until the history is pruned. To prevent that temporary files on the mentioned PFSes (e.g., object files, crash dumps) consume disk space, the PFSes are marked as `nohistory`.
-
-In `/var` will be a new directory called *hammer* with the following sub directories
+No snapshots were taken for `/tmp`, `/usr/obj` and `/var/tmp`. This is because the PFSes are flagged as `nohistory`. HAMMER tracks history for all files in a PFS.  Naturally, this consumes disk space until  history is pruned, at which point the available disk space will stabilise. To prevent temporary files on the mentioned PFSes (e.g., object files, crash dumps) from consuming disk space, the PFSes are marked as `nohistory`.
 
+After performing nightly housekeeping, a new directory called *hammer* will be found in `/var` with the following sub directories:
 
     # cd hammer/
     # ls -l
@@ -166,8 +177,7 @@ In `/var` will be a new directory called *hammer* with the following sub directo
     drwxr-xr-x  1 root  wheel  0 Oct 13 11:54 var
 
 
-Well let us look inside `/var/hammer/usr`
-
+Looking inside `/var/hammer/usr`, one finds:
 
     # cd usr/
     # ls -l
@@ -178,213 +188,52 @@ Well let us look inside `/var/hammer/usr`
 
 We have a symlink pointing to the snapshot transaction ID shown below.
 
-
     # hammer snapls /usr
     Snapshots on /usr       PFS #3
     Transaction ID          Timestamp               Note
     0x0000000117ac6cb0      2010-10-13 11:43:04 IST -
     #
 
-
-You can read more about snapshots, prune, reblance, reblock, recopy etc from [hammer(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=hammer&section=8) especially look under the heading "cleanup [filesystem ...]"
+You can read more about snapshots, prune, reblance, reblock, recopy etc from [hammer(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=hammer&section=8).  Make especially sure to look under the heading "cleanup [filesystem ...]".
 
 You can learn more about PFS mirroring [here](http://www.dragonflybsd.org/docs/how_to_implement_hammer_pseudo_file_system__40___pfs___41___slave_mirroring_from_pfs_master/)
 
-## Configuring and Starting the SSH Server
-
-Described in detail [[here|/docs/newhandbook/sshserver/]]
-
-## Software/Programs and Configuration Files Location 
-
-DragonFly default installation contains the base software/programs from the DragonFly project itself and few other software from [pkgsrc](http://www.netbsd.org/docs/software/packages.html) which is the DragonFly official package management system. Ready to install binary software from pkgsrc is referred to as *packages*.
-
-The base programs are located in the folders 
-
-    /bin    /sbin
-    /usr/bin   /usr/sbin
-
-The configuration files for the base system can be found in `/etc`. There is also `/usr/local/etc` which is used by third-party programs. The software/programs from pkgsrc are located in `/usr/pkg/bin` and `/usr/pkg/sbin`. Their configuration files are found in `/usr/pkg/etc`.
-
-## Installing Third-party Software
-
-Have a look at the [[pkgsrc howto|docs/howtos/HowToPkgsrc/]] for an in-depth description about dealing with third-party pkgsrc packages.
-
-### Using pkgin
-
-For those who are new to the DragonFly way of doing things can also have the Debian's apt like way of installing, removing and updating packages. *pkgin* does things similar to *apt-get* or *aptitude* or *yum* for that matter.
-
-First we need to configure *pkgin* to use a repository which contains the pkgsrc binary packages.  For this example we will use the main DragonFly server. **Note**: Be sure to use a local  [[mirror|mirrors/]] for better performance and to reduce load on the main servers.
-
-    # echo "http://mirror-master.dragonflybsd.org/packages/i386/DragonFly-2.7/stable/All/" > \   
-             /usr/pkg/etc/pkgin/repositories.conf
-
-
-Now to update *pkgin* with the list of latest packages available from that repository.
-
-
-    # pkgin update
-    cleaning database from
-    http://mirror-master.dragonflybsd.org/packages/i386/DragonFly-2.7/stable/All/
-    entries...
-    downloading pkg_summary.bz2: 100%
-    processing remote summary
-    (http://mirror-master.dragonflybsd.org/packages/i386/DragonFly-2.7/stable/All/)...
-    updating database: 100%
-
-Now to upgrade packages that are already installed in the system
-
-
-    # pkgin full-upgrade
-    6 packages to be upgraded: freetype2-2.3.12 gtar-info-1.22
-    openldap-client-2.4.21 png-1.4.2 python26-2.6.5 tiff-3.9.4
-    1 packages to be removed: asciidoc-8.6.1
-    6 packages to be installed: png-1.4.3 python26-2.6.5nb1 tiff-3.9.4nb1
-    freetype2-2.4.2 gtar-info-1.23 openldap-client-2.4.23 (15M to
-    download, 59M to install)
-    proceed ? [y/N] y
-    downloading packages...
-    downloading png-1.4.3.tgz: 100%
-    downloading python26-2.6.5nb1.tgz: 100%
-    downloading tiff-3.9.4nb1.tgz: 100%
-    downloading freetype2-2.4.2.tgz: 100%
-    downloading gtar-info-1.23.tgz: 100%
-    downloading openldap-client-2.4.23.tgz: 100%
-    .....
-
-In order to search for a new package, for example *rdesktop*.
-
-
-    # pkgin search rdesktop
-    rdesktop-1.6.0 =     Open-source Remote Desktop Protocol client
-    tsclient-0.132nb25   GNOME2 Frontend for rdesktop
-    
-    =: package is installed and up-to-date
-    <: package is installed but newer version is available
-    >: installed package has a greater version than available package
-
-To search for a package and install it you can do the following. If there are different versions of the package available in the repository it will show you the list and you need to specify one from them explicitly. At the end of the installation it will show you a message if you need any further configuration for the software to work in a particular way.
-
-    # pkgin search mysql-client
-    mysql-client-4.1.22nb4  MySQL 4, a free SQL database (client)
-    mysql-client-5.0.91  MySQL 5, a free SQL database (client)
-    mysql-client-5.1.49  MySQL 5, a free SQL database (client)
-    
-    =: package is installed and up-to-date
-    <: package is installed but newer version is available
-    >: installed package has a greater version than available package
-    
-    # pkgin install mysql-client
-    there's more than one version available for this package.
-    please re-run pkgin with a package name matching one of the following:
-    mysql-client-4.1.22nb4
-    mysql-client-5.0.91
-    mysql-client-5.1.49
-    nothing to do.
-    
-    # pkgin install mysql-client-5.1.49
-    calculating dependencies for mysql-client-5.1.49...
-    nothing to upgrade. 
-    1 packages to be installed: mysql-client-5.1.49 (7620K to download, 24M to install)
-    proceed ? [y/N] y
-    downloading packages...
-    downloading mysql-client-5.1.49.tgz: 100%
-    installing packages...
-    installing mysql-client-5.1.49...
-    [...]
-    processing local summary...
-    updating database: 100%
-    marking mysql-client-5.1.49 as non auto-removable
-
-To remove a package
-
-    # pkgin remove mysql-client
-    1 packages to delete: mysql-client-5.1.49
-    proceed ? [y/N] y
-    removing mysql-client-5.1.49...
-    processing local summary...
-    updating database: 100%
-
-
-*pkgin* is very similar to *apt-get, aptitude , yum, emerge, pacman* and friends in the Linux world.
-
-All the *pkgin* commands can be seen [here](http://imil.net/pkgin/). *pkgin* comes installed with the default DragonFly install so you can skip the installation part on that page.
-
-To install a desktop you can [read the following](http://www.dragonflybsd.org/docs/newhandbook/X/)
-Other Docs can be found [here](http://www.dragonflybsd.org/docs/newhandbook/X/).
-
-## Installing flash player on firefox.
-
-The Flash plugin is distributed by Adobe in **binary form only**. Adobe does not provide a native DragonFlyBSD plugin, but there is a Linux plugin which you can use under Linux emulation. Linux emulation software is installed from **pkgsrc** and is tested to be working fine on x86 Platform. The steps are
-
-
-### Install multimedia/libflashsupport from pkgsrc. 
-
-    # cd /usr/pkgsrc/multimedia/libflashsupport
-    # bmake package
+In order to correctly map hard disk sernos to device names you can use the 'devattr' command.
 
-This will get you all packages needed for Linux Emulation. Currently the Linux Emulation package installs software from [Suse 10]( http://ftp.hosteurope.de/mirror/ftp.opensuse.org/discontinued/10.0/suse/i586/) distribution. You could see the list of packages installed using pkg_info.
+    # udevd
+    # devattr -d "ad*" -p serno
+    Device ad4:
+            serno = Z2AD9WN4
+    Device ad4s1:
+    Device ad4s1d:
 
-    # pkg_info |grep suse
-    suse_openssl-10.0nb5 Linux compatibility package for OpenSSL
-    suse_gtk2-10.0nb4   Linux compatibility package for GTK+-2.x
-    suse_gtk-10.0nb2    Linux compatibility package for GTK+-1.x
-    suse_libjpeg-10.0nb2 Linux compatibility package for JPEG
-    suse_base-10.0nb5   Linux compatibility package
-    suse_slang-10.0nb3  Linux compatibility package for S-Lang
-    suse_locale-10.0nb2 Linux compatibility package with locale files
-    suse_fontconfig-10.0nb6 Linux compatibility package for fontconfig
-    suse_libtiff-10.0nb4 Linux compatibility package for TIFF
-    suse_openmotif-10.0nb2 Linux compatibility package for OpenMotif
-    suse_libpng-10.0nb4 Linux compatibility package for PNG
-    suse_libcups-10.0nb4 Linux compatibility package for CUPS
-    suse_gdk-pixbuf-10.0nb3 Linux compatibility package for gdk-pixbuf
-    suse_expat-10.0nb2  Linux compatibility package for expat
-    suse_vmware-10.0nb2 Linux compatibility package to help run VMware
-    suse_libxml2-10.0nb2 Linux compatibility package for libxml2
-    suse_compat-10.0nb3 Linux compatibility package with old shared libraries
-    suse_x11-10.0nb4    Linux compatibility package for X11
-    suse_glx-10.0nb4    Linux compatibility package for OpenGL/Mesa
-    suse_freetype2-10.0nb5 Linux compatibility package for freetype-2.x
-    suse_aspell-10.0nb2 Linux compatibility package for aspell
-    suse-10.0nb4        SUSE-based Linux binary emulation environment
+    Device ad5:
+            serno = 9VMRFDSY
+    Device ad5s1:
+    Device ad5s1d:
 
-### Configure Linux Support
+    Device ad3:
+            serno = Z2AD9WLW
+    Device ad3s1:
+    Device ad3s1a:
+    Device ad3s1b:
+    Device ad3s1d:
 
-    # echo "linux_load=yes" >> /boot/loader.conf
-    # echo "linux_enable=yes" >> /etc/rc.conf
-    # echo "proc  /compat/linux/proc  linprocfs  rw  0  0" >> /etc/fstab
+If your disks are 'da', change as appropriate.
 
-**Reboot DragonFly** ( not necessarry but easier for new users )  so that Linux Emulation is loaded to the kernel and configured correctly.
-
-### Install www/nspluginwrapper 
-
-This will allow DragonFly to use the Linux Binary Flash Plugin
-
-    # cd /usr/pkgsrc/www/nspluginwrapper
-    # bmake package
-
-### Install multimedia/ns-flash
-
-This is the Linux Flash Plugin itself.
-
-    # cd /usr/pkgsrc/multimedia/ns-flash
-    # bmake NO_CHECKSUM=yes package
-
-You can check if the Flash plugin is installed right by.
+## Configuring and Starting the SSH Server
 
-    # /usr/pkg/bin/nspluginwrapper --list
-    /usr/pkg/lib/netscape/plugins/npwrapper.libflashplayer.so
-      Original plugin: /usr/pkg/lib/netscape/plugins/libflashplayer.so
-      Wrapper version string: 1.2.2
-    /usr/pkg/lib/netscape/plugins/npwrapper.libflashplayer.so
-      Original plugin: /usr/pkg/lib/netscape/plugins/libflashplayer.so
-      Wrapper version string: 1.2.2
+Described in detail [here](docs/newhandbook/Users/#index3h1)
 
-Don't worry if it is listed twice as above.
+## Software/Programs and Configuration Files Location 
 
-Now Start Firefox and type "**about:plugins**" in the address bar and you should find the flash plugins listed as [shown in this Picture](http://leaf.dragonflybsd.org/~sgeorge/PICs/flash-plugin-in-firefox.png).
+The DragonFly default installation contains the base software/programs from the DragonFly project itself and additional software from other sources. 
 
-You can watch Streaming Flash now.
+The base system binary software programs are located in the folders 
 
+    /bin    /sbin
+    /usr/bin   /usr/sbin
 
+The configuration files for the base system can be found in `/etc`. Third-party programs use `/usr/local/etc`.
 
+There are several different ways to install software and which version you use depends on which DragonFly BSD version you have.  You can compile things from source code, or you can use binary packages.