diff options
Diffstat (limited to 'en/tutorials/newuser/newuser.docb')
-rw-r--r-- | en/tutorials/newuser/newuser.docb | 943 |
1 files changed, 0 insertions, 943 deletions
diff --git a/en/tutorials/newuser/newuser.docb b/en/tutorials/newuser/newuser.docb deleted file mode 100644 index c8ab990405..0000000000 --- a/en/tutorials/newuser/newuser.docb +++ /dev/null @@ -1,943 +0,0 @@ -<!-- $Id: newuser.docb,v 1.5 1998-08-09 22:53:56 wosch Exp $ --> -<!-- The FreeBSD Documentation Project --> - -<!DOCTYPE BOOK PUBLIC "-//Davenport//DTD DocBook V3.0//EN"> -<book> - -<bookinfo> -<bookbiblio> -<title>For People New to Both FreeBSD and Unix</title> - -<authorgroup> -<author> -<firstname>Annelise</firstname> -<surname>Anderson</surname> -<affiliation> -<address><email>andrsn@andrsn.stanford.edu</email></address> -</affiliation> -</author> -</authorgroup> - -<pubdate>August 15, 1997</pubdate> - -<abstract><para>Congratulations on installing FreeBSD! This -introduction is for people new to both FreeBSD -<emphasis>and</emphasis> Un*x—so it starts with basics. It -assumes you're using version 2.0.5 or later of FreeBSD as distributed -by Walnut Creek or FreeBSD.ORG, your system (for now) has a single -user (you)—and you're probably pretty good with DOS/Windows or -OS/2.</para></abstract> - -</bookbiblio> -</bookinfo> - -<chapter> -<title>Logging in and Getting Out</title> - -<para>Log in (when you see <systemitem -class=prompt>login:</systemitem>) as a user you created during -installation or as <firstterm>root</firstterm>. (Your FreeBSD -installation will already have an account for root; root can go -anywhere and do anything, including deleting essential files, so be -careful!) The symbols % and # in the following stand for the prompt -(yours may be different), with % indicating an ordinary user and -# indicating root. </para> - -<para>To log out (and get a new <systemitem class=prompt>login:</systemitem> prompt) type -<informalexample> -<screen># <userinput>exit</userinput></screen> -</informalexample> -as often as necessary. Yes, press <keysym>enter</keysym> after -commands, and remember that Unix is -case-sensitive—<command>exit</command>, not -<command>EXIT</command>.</para> - -<para>To shut down the machine type: -<informalexample> -<screen># <userinput>/sbin/shutdown -h now</userinput></screen> -</informalexample> -Or to reboot type -<informalexample> -<screen># <userinput>/sbin/shutdown -r now</userinput></screen> -</informalexample> -or -<informalexample> -<screen># <userinput>/sbin/reboot</userinput></screen> -</informalexample> -</para> - -<para>You can also reboot with -<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Delete</keycap></keycombo>. -Give it a little time to do its work. This is equivalent to -<command>/sbin/reboot</command> in recent releases of FreeBSD, and is -much, much better than hitting the reset button. You don't want to -have to reinstall this thing, do you?</para> - -</chapter> - -<chapter> -<title>Adding A User with Root Privileges</title> - -<para>If you didn't create any users when you installed the system and -are thus logged in as root, you should probably create a user now with -<informalexample> -<screen># <userinput>adduser</userinput></screen> -</informalexample> -The first time you use adduser, it might ask for some defaults to save. You -might want to make the default shell csh instead of sh, if it suggests -sh as the default. Otherwise just press enter to accept each default. -These defaults are saved in <filename>/etc/adduser.conf</filename>, -an editable file.</para> - -<para>Suppose you create a user <emphasis>jack</emphasis> with -full name <emphasis>Jack Benimble</emphasis>. Give jack a password -if security (even kids around who might pound on the keyboard) is an -issue. When it asks you if you want to invite jack into other -groups, type <userinput>wheel</userinput> -<informalexample> -<screen>Login group is ``jack''. Invite jack into other groups: <userinput>wheel</userinput></screen> -</informalexample> -This will make it possible to log in as <emphasis>jack</emphasis> and -use the <command>su</command> command to become root. Then you won't -get scolded any more for logging in as root.</para> - -<para>You can quit <command>adduser</command> any time by typing -<keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>, and at -the end you'll have a chance to approve your new user or simply type -<keycap>n</keycap> for no. You might want to create a -second new user (jill?) so that when you edit jack's login files, -you'll have a hot spare in case something goes wrong.</para> - -<para>Once you've done this, use <command>exit</command> -to get back to a login prompt and log in as -<emphasis>jack</emphasis>. In general, it's a good idea to do as -much work as possible as an ordinary user who doesn't have the -power—and risk—of root.</para> - -<para>If you already created a user and you want the user to be able -to <command>su</command> to root, you can log in as root -and edit the file <filename>/etc/group</filename>, adding jack to the -first line (the group wheel). But first you need to practice -<command>vi</command>, the text editor--or use the simpler text -editor, <command>ee</command>, installed on recent version of -FreeBSD.</para> - -<para>To delete a user, use the <command>rmuser</command> command.</para> - -</chapter> - -<chapter> -<title>Looking Around</title> - -<para>Logged in as an ordinary user, look around and try out some -commands that will access the sources of help and information within -FreeBSD.</para> - -<para>Here are some commands and what they do: -<variablelist> -<varlistentry><term><command>id</command></term> -<listitem> -<para>Tells you who you are!</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>pwd</command></term> - -<listitem> -<para>Shows you where you are—the current -working directory.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>ls</command></term> - -<listitem> -<para>Lists the files in the current directory.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>ls <option>-F</option></command></term> - -<listitem> -<para>Lists the files in the current directory with a -<literal>*</literal> after executables, a <literal>/</literal> after -directories, and an <literal>@</literal> after symbolic links.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>ls <option>-l</option></command></term> - -<listitem> -<para>Lists the files in long format—size, -date, permissions.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>ls <option>-a</option></command></term> - -<listitem> -<para>Lists hidden <quote>dot</quote> -files with the others. If you're root, the<quote>dot</quote> files -show up without the <option>-a</option> switch.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>cd</command></term> - -<listitem> -<para>Changes directories. <command>cd -<parameter>..</parameter></command> backs up one level; note the -space after <command>cd</command>. <command>cd -<parameter>/usr/local</parameter></command> goes there. <command>cd -<parameter>~</parameter></command> goes to the home directory of the -person logged in—e.g., <filename>/usr/home/jack</filename>. -Try <command>cd <parameter>/cdrom</parameter></command>, and then -<command>ls</command>, to find out if your CDROM is mounted and -working.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>view <replaceable>filename</replaceable></command></term> - -<listitem> -<para>Lets you look at a file (named -<replaceable>filename</replaceable> without changing it. Try -<command>view <parameter>/etc/fstab</parameter></command>. -<command>:q</command> to quit.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>cat <replaceable>filename</replaceable></command></term> - -<listitem> - -<para>Displays <replaceable>filename</replaceable> on screen. If -it's too long and you can see only the end of it, press -<keycap>ScrollLock</keycap> and use the <keycap>up-arrow</keycap> to -move backward; you can use <keycap>ScrollLock</keycap> with man pages -too. Press <keycap>ScrollLock</keycap> again to quit scrolling. You -might want to try <command>cat</command> on some of the dot files in -your home directory—<command>cat -<parameter>.cshrc</parameter></command>, <command>cat -<parameter>.login</parameter></command>, <command>cat -<parameter>.profile</parameter></command>.</para> - -</listitem> -</varlistentry> -</variablelist> - -You'll notice aliases in <filename>.cshrc</filename> for some of the -<command>ls</command> commands (they're very convenient). -You can create other aliases by editing <filename>.cshrc</filename>. -You can make these aliases available to all users on the system by -putting them in the system-wide csh configuration file, -<filename>/etc/csh.cshrc</filename>.</para> - -</chapter> - -<chapter> -<title>Getting Help and Information</title> - -<para>Here are some useful sources of help. -<replaceable>Text</replaceable> stands for something of your choice -that you type in—usually a command or filename.</para> - -<variablelist> -<varlistentry><term><command>apropos <replaceable>text</replaceable></command></term> - -<listitem> -<para>Everything containing string <replaceable>text</replaceable> -in the <database>whatis database</database>.</para> -</listitem> -</varlistentry> - -<varlistentry><term><command>man <replaceable>text</replaceable></command></term> - -<listitem> -<para>The man page for <replaceable>text</replaceable>. The major -source of documentation for Un*x systems. <command>man -<parameter>ls</parameter></command> will tell you all the ways to use -the <command>ls</command> command. Press <keycap>Enter</keycap> to -move through text, -<keycombo><keycap>Ctrl</keycap><keycap>b</keycap></keycombo> to go -back a page, <keycombo><keycap>Ctrl</keycap><keycap>f</keycap></keycombo> to -go forward, <keycap>q</keycap> or -<keycombo><keycap>Ctrl</keycap><keycap>c</keycap></keycombo> to -quit.</para> -</listitem> -</varlistentry> - -<varlistentry><term><command>which <replaceable>text</replaceable></command></term> - -<listitem> -<para>Tells you where in the user's path the command -<replaceable>text</replaceable> is found.</para> -</listitem> -</varlistentry> - -<varlistentry><term><command>locate <replaceable>text</replaceable></command></term> - -<listitem> -<para>All the paths where the string <replaceable>text</replaceable> -is found.</para> -</listitem> -</varlistentry> - -<varlistentry><term><command>whatis <replaceable>text</replaceable></command></term> - -<listitem> -<para>Tells you what the command <replaceable>text</replaceable> -does and its man page. Typing <command>whatis *</command> will tell -you about all the binaries in the current directory.</para> -</listitem> -</varlistentry> - -<varlistentry><term><command>whereis <replaceable>text</replaceable></command></term> - -<listitem> -<para>Finds the file <replaceable>text</replaceable>, giving its full -path.</para> -</listitem> -</varlistentry> -</variablelist> - -<para>You might want to try using <command>whatis</command> on some -common useful commands like <command>cat</command>, -<command>more</command>, <command>grep</command>, -<command>mv</command>, <command>find</command>, -<command>tar</command>, <command>chmod</command>, -<command>chown</command>, <command>date</command>, and -<command>script</command>. <command>more</command> lets you read a -page at a time as it does in DOS, e.g., <command>ls -l | -more</command> or <command>more -<replaceable>filename</replaceable></command>. The -<literal>*</literal> works as a wildcard—e.g., <command>ls -w*</command> will show you files beginning with -<literal>w</literal>.</para> - -<para>Are some of these not working very well? Both -<command>locate</command> and <command>whatis</command> -depend on a database that's rebuilt weekly. If your machine isn't -going to be left on over the weekend (and running FreeBSD), you might -want to run the commands for daily, weekly, and monthly maintenance -now and then. Run them as root and give each one time to finish -before you start the next one, for now. -<informalexample> -<screen># <userinput>/etc/daily</userinput> -<lineannotation>output omitted</lineannotation> -# <userinput>/etc/weekly</userinput> -<lineannotation>output omitted</lineannotation> -# <userinput>/etc/monthly</userinput> -<lineannotation>output omitted</lineannotation></screen> -</informalexample></para> - -<para>If you get tired waiting, press -<keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo> to get -another <firstterm>virtual console</firstterm>, and log in again. -After all, it's a multi-user, multi-tasking system. Nevertheless -these commands will probably flash messages on your screen while -they're running; you can type <command>clear</command> at the prompt -to clear the screen. Once they've run, you might want to look at -<filename>/var/mail/root</filename> and -<filename>/var/log/messages</filename>.</para> - -<para>Basically running such commands is part of system -administration—and as a single user of a Unix system, you're -your own system administrator. Virtually everything you need to be -root to do is system administration. Such responsibilities aren't -covered very well even in those big fat books on Unix, which seem to -devote a lot of space to pulling down menus in windows managers. You -might want to get one of the two leading books on systems -administration, either Evi Nemeth et.al.'s <citetitle>UNIX System -Administration Handbook</citetitle> (Prentice-Hall, 1995, ISBN -0-13-15051-7)—the second edition with the red cover; or -Æleen Frisch's <citetitle>Essential System -Administration</citetitle> (O'Reilly & Associates, 1993, ISBN -0-937175-80-3). I used Nemeth.</para> - -</chapter> - -<chapter> -<title>Editing Text</title> - -<para>To configure your system, you need to edit text files. Most of -them will be in the <filename>/etc</filename> directory; and you'll -need to <command>su</command> to root to be able to change them. You -can use the easy <command>ee</command>, but in the long run the -text editor <command>vi</command> is worth learning. There's an -excellent tutorial on vi in -<filename>/usr/src/contrib/nvi/docs/tutorial</filename> if you have -that installed; otherwise you can get it by ftp to -ftp.cdrom.com in the directory -FreeBSD/FreeBSD-current/src/contrib/nvi/docs/tutorial.</para> - -<para>Before you edit a -file, you should probably back it up. Suppose you want to edit -<filename>/etc/rc.conf</filename>. You could just use <command>cd -/etc</command> to get to the <filename>/etc</filename> directory and -do: -<informalexample> -<screen># <userinput>cp rc.conf rc.conf.orig</userinput></screen> -</informalexample> - -This would copy <filename>rc.conf</filename> to -<filename>rc.conf.orig</filename>, and you could later copy -<filename>rc.conf.orig</filename> to <emphasis -remap=tt>rc.conf</emphasis> to recover the original. But even -better would be moving (renaming) and then copying back: -<informalexample> -<screen># <userinput>mv rc.conf rc.conf.orig</userinput> -# <userinput>cp rc.conf.orig rc.conf</userinput></screen> -</informalexample> - -because the <command>mv</command> command preserves the original date -and owner of the file. You can now edit -<filename>rc.conf</filename>. If you want the original back, you'd -then <userinput>mv rc.conf rc.conf.myedit</userinput> -(assuming you want to preserve your edited version) and then -<informalexample> -<screen># <userinput>mv rc.conf.orig rc.conf</userinput></screen> -</informalexample> -to put things back the way they were.</para> - -<para>To edit a file, type -<informalexample> -<screen># <userinput>vi <replaceable>filename</replaceable></userinput></screen> -</informalexample> -Move through the text with the arrow keys. <keycap>Esc</keycap> (the -escape key) puts <command>vi</command> in command mode. Here are some -commands: -<variablelist> -<varlistentry><term><command>x</command></term> -<listitem> -<para>delete letter the cursor is on</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>dd</command></term> - -<listitem> -<para>delete the entire line (even if it wraps on the screen)</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>i</command></term> - -<listitem> -<para>insert text at the cursor</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>a</command></term> - -<listitem> -<para>insert text after the cursor</para> - -</listitem> -</varlistentry> -</variablelist> -Once you type <command>i</command> or <command>a</command>, you can enter text. -<command>Esc</command> puts you back in command mode where you can type -<variablelist> -<varlistentry><term><command>:w</command></term> -<listitem> -<para>to write your changes to disk and continue editing</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>:wq</command></term> - -<listitem> -<para>to write and quit</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>:q!</command></term> - -<listitem> -<para>to quit without saving changes</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>/<replaceable>text</replaceable></command></term> - -<listitem> -<para>to move the cursor to <replaceable>text</replaceable>; -<command>/<keycap>Enter</keycap></command> (the enter key) to find -the next instance of <replaceable>text</replaceable>.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>G</command></term> - -<listitem> -<para>to go to the end of the file</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command><replaceable>n</replaceable>G</command></term> - -<listitem> -<para>to go to line <replaceable>n</replaceable> in -the file, where <replaceable>n</replaceable> is a number</para> - -</listitem> -</varlistentry> - -<varlistentry><term><keycombo><keycap>Ctrl</><keycap>L</></keycombo></term> - -<listitem> -<para>to redraw the screen</para> - -</listitem> -</varlistentry> - -<varlistentry><term><keycombo><keycap>Ctrl</><keycap>b</></> and <keycombo><keycap>Ctrl</><keycap>f</></></term> - -<listitem> -<para>go back -and forward a screen, as they -do with <command>more</> and <command>view</>.</para> - -</listitem> -</varlistentry> -</variablelist> -</para> - -<para>Practice with <command>vi</> in your home directory by creating -a new file with <command>vi <replaceable>filename</></> and adding -and deleting text, saving the file, and calling it up again. -<command>vi</> delivers some surprises because it's really quite -complex, and sometimes you'll inadvertently issue a command that will -do something you don't expect. (Some people actually like -<command>vi</>—it's more powerful than DOS EDIT—find out -about the <command>:r</> command.) Use <keycap>Esc</> one or -more times to be sure you're in command mode and proceed from there -when it gives you trouble, save often with <command>:w</>, and -use <command>:q!</> to get out and start over (from -your last <command>:w</>) when you need to.</para> - -<para>Now you can <command>cd</> to <filename>/etc</filename>, -<command>su</> to root, use <command>vi</> to edit the file -<filename>/etc/group</filename>, and add a user to wheel so the user -has root privileges. Just add a comma and the user's login name to -the end of the first line in the file, press <keycap>Esc</>, and use -<command>:wq</> to write the file to disk and quit. Instantly -effective. (You didn't put a space after the comma, did you?)</para> - -</chapter> - -<chapter> -<title>Printing Files from DOS</title> - -<para>At this point you probably don't have the printer working, so here's a -way to create a file from a man page, move it to a floppy, and then -print it from DOS. Suppose you want to read carefully about changing -permissions on files (pretty important). You can use the command -man chmod to read about it. The command -<informalexample> -<screen># <userinput>man chmod | col -b > chmod.txt</></screen> -</informalexample> -will remove formatting codes and send the man page to -the <filename>chmod.txt</filename> file -instead of showing it on your screen. Now put a dos-formatted -diskette in your floppy drive a, <command>su</> to -root, and type -<informalexample> -<screen># <userinput>/sbin/mount -t msdos /dev/fd0 /mnt</></screen> -</informalexample> -to mount the floppy drive on <filename>/mnt</filename>.</para> - -<para>Now (you no longer need to be root, and you can type -<command>exit</> to get back to being user jack) you can go to the -directory where you created chmod.txt and copy the file to the floppy -with: -<informalexample> -<screen>% <userinput>cp chmod.txt /mnt</></screen> -</informalexample> -and use <command>ls /mnt</command> to get a directory listing of -<filename>/mnt</filename>, which should show the file -<filename>chmod.txt</filename>.</para> - -<para>You might especially want to make a file from -<filename>/sbin/dmesg</filename> by typing -<informalexample> -<screen>% <userinput>/sbin/dmesg > dmesg.txt</></screen> -</informalexample> -and copying <filename>dmesg.txt</filename> to the floppy. -<command>/sbin/dmesg</command> is the boot log record, and it's -useful to understand it because it shows what FreeBSD found when it -booted up. If you ask questions on -<email>freebsd-questions@FreeBSD.ORG</> or on a USENET -group—like <quote>FreeBSD isn't finding my tape drive, what do -I do?</quote>—people will want to know what <command>dmesg</> -has to say.</para> - -<para>You can now dismount the floppy drive (as root) to get the disk -out with -<informalexample> -<screen># <userinput>/sbin/umount /mnt</></screen> -</informalexample> -and reboot to go to DOS. Copy these files to a DOS directory, call -them up with DOS EDIT, Windows Notepad or Wordpad, or a word processor, make a -minor change so the file has to be saved, and print as you normally -would from DOS or Windows. Hope it works! man pages come out best if -printed with the dos <command>print</> command. (Copying files from -FreeBSD to a mounted dos partition is in some cases still a little -risky.)</para> - -<para>Getting the printer printing from FreeBSD involves creating an -appropriate entry in <filename>/etc/printcap</filename> and creating -a matching spool directory in -<filename>/var/spool/output</filename>. If your printer is on -<hardware>lpt0</> (what dos calls <hardware>LPT1</>), you may only -need to go to <filename>/var/spool/output</filename> and (as root) -create the directory <filename>lpd</> by typing: -<command> -mkdir lpd</command>, if it doesn't already -exist. -Then the printer should respond if it's turned on when the system is -booted, and lp or lpr should send a file to the printer. Whether or -not the file actually prints depends on configuring it, which is -covered in the <ulink -URL="../../handbook/handbook.html">FreeBSD -handbook.</></para> - -</chapter> - -<chapter> -<title>Other Useful Commands</title> - -<para> -<variablelist> -<varlistentry><term><command>df</></term> -<listitem> -<para>shows file space and mounted systems.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>ps aux</></term> - -<listitem> -<para>shows processes running. <command>ps ax</> is a narrower form.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>rm <replaceable>filename</></></term> - -<listitem> -<para>remove <replaceable>filename</>.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>rm -R <replaceable>dir</></></term> - -<listitem> -<para>removes a directory <replaceable>dir</> and all -subdirectories—careful!</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>ls -R</command></term> - -<listitem> -<para>lists files in the current -directory and all subdirectories; -I used a variant, <command>ls -AFR > where.txt</command>, -to get a list of all -the files in <filename>/</filename> and (separately) -<filename>/usr</filename> before I found better -ways to find files.</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>passwd</></term> - -<listitem> -<para>to change user's password (or root's password)</para> - -</listitem> -</varlistentry> - -<varlistentry><term><command>man hier</></term> - -<listitem> -<para>man page on the Unix file system</para> - -</listitem> -</varlistentry> -</variablelist></para> - -<para>Use <command>find</> to locate filename in <filename>/usr</filename> -or any of its subdirectories with -<informalexample> -<screen>% <userinput>find /usr -name "<replaceable>filename</>"</></screen> -</informalexample> -You can use <literal>*</literal> as a wildcard in -<parameter>"<replaceable>filename</>"</> (which should be in -quotes). If you tell find to search in <filename>/</filename> -instead of <filename>/usr</filename> it will look for the file(s) on -all mounted file systems, including the CDROM and the dos -partition.</para> - -<para>An excellent book that explains Unix commands and utilities is -Abrahams & Larson, <citetitle>Unix for the Impatient</citetitle> -(2nd ed., Addison-Wesley, 1996). There's also a lot of Unix -information on the Internet. Try the <ulink -URL="http://www.eecs.nwu.edu/unix.html">Unix Reference -Desk</ulink>.</para> - -</chapter> - -<chapter> -<title>Next Steps</title> - -<para>You should now have the tools you need to get around and edit -files, so you can get everything up and running. There is a great -deal of information in the FreeBSD handbook (which is probably on -your hard drive) and <ulink URL="http://www.freebsd.org/">FreeBSD's -web site</ulink>. A wide variety of packages and ports are on the -<ulink URL="http://www.cdrom.com/">Walnut Creek</ulink> CDROM as well -as the web site. The handbook tells you more about how to use them -(get the package if it exists, with <command>pkg_add -/cdrom/packages/All/<replaceable>packagename</></>, -where <replaceable>packagename</replaceable> is the filename of the -package). The cdrom has lists of the packages and ports with brief -descriptions in <filename>cdrom/packages/index</filename>, -<filename>cdrom/packages/index.txt</filename>, and -<filename>cdrom/ports/index</filename>, with fuller descriptions in -<filename>/cdrom/ports/*/*/pkg/DESCR</filename>, where the -<literal>*</literal>s represent subdirectories of kinds of programs -and program names respectively.</para> - -<para>If you find the handbook too sophisticated (what with -<command>lndir</> and all) on installing ports from the cdrom, -here's what usually works:</para> - -<para>Find the port you want, say <command>kermit</>. There will be -a directory for it on the cdrom. Copy the subdirectory to -<filename>/usr/local</filename> (a good place for software you add -that should be available to all users) with: -<informalexample> -<screen># <userinput>cp -R /cdrom/ports/comm/kermit /usr/local</></screen> -</informalexample> - -This should result in a <filename>/usr/local/kermit</filename> -subdirectory that has all the files that the -<command>kermit</command> subdirectory on the CDROM has.</para> - -<para>Next, create the directory <filename>/usr/ports/distfiles</filename> -if it doesn't already exist using <command>mkdir</>. Now check -check <filename>/cdrom/ports/distfiles</filename> for a -file with a name that indicates it's the port you want. Copy that -file to <filename>/usr/ports/distfiles</filename>; in recent versions -you can skip this step, as FreeBSD will do it for you. -In the case of <command>kermit</>, there is no -distfile.</para> - -<para>Then <command>cd</> to the subdirectory of -<filename>/usr/local/kermit</filename> that has the file -<filename>Makefile</>. Type -<informalexample> -<screen># <userinput>make all install</></screen> -</informalexample> -</para> - -<para>During this process the port will ftp to get any compressed -files it needs that it didn't find on the cdrom or in -<filename>/usr/ports/distfiles</filename>. If you don't have your -network running yet and there was no file for the port in -<filename>/cdrom/ports/distfiles</filename>, you will have to get -the distfile using another machine and copy it to -<filename>/usr/ports/distfiles</filename> from a floppy or your dos -partition. Read <filename>Makefile</> (with <command>cat</> or -<command>more</> or <command>view</>) to find out where to go (the -master distribution site) to get the file and what its name is. Its -name will be truncated when downloaded to DOS, and after you get it -into <filename>/usr/ports/distfiles</filename> you'll have to rename -it (with the <command>mv</> command) to its original name so it can -be found. (Use binary file transfers!) Then go back to -<filename>/usr/local/kermit</filename>, find the directory with -<filename>Makefile</>, and type <command>make all install</>.</para> - -<para>The other thing that happens when installing ports or packages -is that some other program is needed. If the installation stops with -a message <errorname>can't find unzip</errorname> or whatever, you -might need to install the package or port for unzip before you -continue.</para> - -<para>Once it's installed type <command>rehash</> to make FreeBSD -reread the files in the path so it knows what's there. (If you get a -lot of <errorname>path not found</> messages when you use -<command>whereis</> or which, you might want to make additions to the -list of directories in the path statement in -<filename>.cshrc</filename> in your home directory. The path -statement in Unix does the same kind of work it does in DOS, except -the current directory is not (by default) in the path for security -reasons; if the command you want is in the directory you're in, you -need to type <filename>./</filename> before the command to make it -work; no space after the slash.)</para> - -<para>You might want to get the most recent version of Netscape from -their <ulink URL="ftp://ftp.netscape.com">ftp site</ulink>. (Netscape -requires the X Window System.) There's now a FreeBSD version, so look -around carefully. Just use <command>gunzip -<replaceable>filename</></> and <command>tar xvf -<replaceable>filename</></> on it, move the binary to -<filename>/usr/local/bin</filename> or some other place binaries are -kept, <command>rehash</>, and then put the following lines in -<filename>.cshrc</filename> in each user's home directory or (easier) -in <filename>/etc/csh.cshrc</filename>, the system-wide csh start-up -file: -<informalexample> -<programlisting>setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB -setenv XNLSPATH /usr/X11R6/lib/X11/nls</> -</informalexample> -This assumes that the file <filename>XKeysymDB</> and the directory -<filename>nls</> are in <filename>/usr/X11R6/lib/X11</filename>; if -they're not, find them and put them there.</para> - -<para>If you originally got Netscape as a port using the CDROM (or -ftp), don't replace <filename>/usr/local/bin/netscape</filename> with -the new netscape binary; this is just a shell script that sets up the -environmental variables for you. Instead rename the new binary to -<filename>netscape.bin</filename> and replace the old binary, which -is <filename>/usr/local/lib/netscape/netscape.bin</filename>.</para> - -</chapter> - -<chapter> - -<title>Your Working Environment</title> - -<para>Your shell is the most important part of your working environment. -In DOS, the usual shell is command.com. The shell is what interprets -the commands you type on the command line, and thus communicates with -the rest of the operating system. You can also write shell -scripts, which are like DOS batch files: a series of commands to be -run without your intervention.</para> - -<para>Two shells come installed with FreeBSD: csh and sh. csh is good for -command-line work, but scripts should be written with sh (or bash). You can -find out what shell you have by typing <command>echo $SHELL</command>.</para> - -<para>The csh shell is okay, but tcsh does everything csh does and more. It -It allows you to recall commands with the arrow keys and edit them. -It has tab-key completion -of filenames (csh uses the escape key), and it lets you switch to the -directory you were last in with <command>cd -</command>. It's also much -easier to alter your prompt with tcsh. It makes life a lot easier.</para> - -<para>Here are the three steps for installing a new shell:</para> - -<para> 1. Install the shell as a port or a package, just as you -would any other port or package. Use <command>rehash</command> and -<command>which tcsh</command> (assuming you're installing tcsh) to -make sure it got installed.</para> - -<para> 2. As root, edit <filename>/etc/shells</filename>, adding -a line in the file for the new shell, in this case /usr/local/bin/tcsh, -and save the file. (Some ports may do this for you.)</para> - -<para> 3. Use the <command>chsh</command> command to change your shell to -tcsh permanently, or type <command>tcsh</command> at the prompt to -change your shell without logging in again.</para> - -<para><emphasis>Note: It can be dangerous to change root's shell</emphasis> -to something other than sh or csh on early versions of FreeBSD and many -other versions of Unix; you may not have a working shell when the system -puts you into single user mode. The solution is to use <command>su -m</command> -to become root, which will give you the tcsh as root, because the shell is part -of the environment. You can make this permanent by adding it to your -<filename>.tcshrc</filename> file as an alias with <programlisting>alias su su -m.</></para> - -<para>When tcsh starts up, it will read the -<filename>/etc/csh.cshrc</filename> and <filename>/etc/csh.login</filename> -files, as does csh. It will also read the -<filename>.login</filename> file in your home directory and the -<filename>.cshrc</filename> -file as well, unless you provide a <filename>.tcshrc</filename> -file. This you can do by simply copying <filename>.cshrc</filename> -to <filename>.tcshrc</filename>.</para> - -<para>Now that you've installed tcsh, you can adjust your prompt. You can -find the details in the manual page for tcsh, but here is a line to -put in your <filename>.tcshrc</filename> that will tell you how many -commands you have typed, what time it is, and what directory you are in. -It also produces a <literal>></literal> if you're an ordinary user and -a <literal>#</literal> if you're root, but tsch will do that in any -case:</para> -<para> - set prompt = "%h %t %~ %# "</para> - -<para>This should go in the same place as the existing set prompt line -if there is one, or under "if($?prompt) then" if not. -Comment out the old line; you can always switch back to it if you prefer -it. Don't forget the spaces and quotes. You can get the <filename>.tcshrc</filename> reread by typing <command>source .tcshrc</command>.</para> - -<para>You can get a listing of other environmental variables that -have been set by typing <command>env</command> at the prompt. The -result will show you your default editor, pager, and terminal type, -among possibly many others. A useful command if you log in from a -remote location and can't run a program because the terminal isn't -capable is -<command>setenv TERM vt100</command>.</para> -</chapter> - - -<chapter> -<title>Other</title> - -<para>As root, you can dismount the CDROM with <command>/sbin/umount -/cdrom</>, take it out of the drive, insert another one, and mount it -with <command>/sbin/mount_cd9660 /dev/cd0a /cdrom</> assuming -<hardware>cd0a</> is the device name for your CDROM drive. The -most recent versions of FreeBSD let you mount the cdrom with just -<command>/sbin/mount /cdrom</command>.</para> - -<para>Using the live file system—the second of FreeBSD's CDROM -disks—is useful if you've got limited space. What is on the -live file system varies from release to release. You might try -playing games from the cdrom. This -involves using <command>lndir</>, which gets installed with the X -Window System, to tell the program(s) where to find the necessary -files, because they're in the <filename>/cdrom</filename> file system -instead of in <filename>/usr</filename> and its subdirectories, which -is where they're expected to be. Read <command>man lndir</>.</para> - -</chapter> - -<chapter> -<title>Comments Welcome</title> - -<para>If you use this guide I'd be interested in knowing where it was -unclear and what was left out that you think should be included, and -if it was helpful. My thanks to Eugene W. Stark, professor of -computer science at SUNY-Stony Brook, and John Fieber for helpful -comments.</para> - -<para>Annelise Anderson, <email>andrsn@andrsn.stanford.edu</></para> - -</chapter> -</book> |