diff --git a/en/tutorials/Makefile b/en/tutorials/Makefile index c32c458f52..40a10bc3f1 100644 --- a/en/tutorials/Makefile +++ b/en/tutorials/Makefile @@ -1,4 +1,5 @@ DOCS= index.sgml -SUBDIR= disklessx -DOCSUBDIR= ddwg devel fonts mh multios newuser ppp +SUBDIR= disklessx newuser +DOCSUBDIR= ddwg devel fonts mh multios ppp + .include "../web.mk" diff --git a/en/tutorials/index.sgml b/en/tutorials/index.sgml index 897accc191..ebbc838f65 100644 --- a/en/tutorials/index.sgml +++ b/en/tutorials/index.sgml @@ -1,50 +1,49 @@ - + %includes; ]> &header;

Here lie assorted documents on various aspects of FreeBSD, FreeBSD software, and hardare. If you have comments or would like to contribute a document, please contact us at freebsd-doc@FreeBSD.org.

&footer; diff --git a/en/tutorials/newuser/Makefile b/en/tutorials/newuser/Makefile index d8d8509284..a0f6762443 100644 --- a/en/tutorials/newuser/Makefile +++ b/en/tutorials/newuser/Makefile @@ -1,5 +1,5 @@ -DOC= newuser -SRCS= newuser.sgml +DOCS= newuser.docb +INDEXLINK= newuser.html -.include +.include "../../web.mk" diff --git a/en/tutorials/newuser/newuser.docb b/en/tutorials/newuser/newuser.docb new file mode 100644 index 0000000000..c98403616b --- /dev/null +++ b/en/tutorials/newuser/newuser.docb @@ -0,0 +1,844 @@ + + + + + +For People New to Both FreeBSD and Unix + + + +Annelise +Anderson + +
andrsn@hoover.stanford.edu
+
+
+
+ +June 30, 1996 + +Congratulations on installing FreeBSD! This +introduction is for people new to both FreeBSD +and 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. + +
+
+ + +Logging in and Getting Out + +Log in (when you see login:) as a user you created during +installation or as root. (Your FreeBSD +installation will already have an account for root; root can go +anywhere and do anything, including deleting essential files, so be +careful!) + +To log out (and get a new login: prompt) type + +# exit + +as often as necessary. Yes, press enter after +commands, and remember that Unix is +case-sensitive—exit, not +EXIT. + +To shut down the machine type: + +# /sbin/shutdown -h now + +Or to reboot type + +# /sbin/shutdown -r now + +or + +# /sbin/reboot + + + +You can also reboot with +CtrlAltDelete. +Give it a little time to do its work. This is equivalent to +/sbin/reboot 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? + + + + +Adding A User with Root Privileges + +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 + +# adduser + +Don't use the option; the defaults are what +you want. Suppose you create a user jack with +full name Jack Benimble. 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 wheel + +Login group is ``jack''. Invite jack into other groups: wheel + +This will make it possible to log in as jack and +use the su command to become root. Then you won't +get scolded any more for logging in as root, and as root you'll have +the same environment as jack (this is good). + +You can quit adduser any time by typing +CtrlC, and at +the end you'll have a chance to approve your new user or simply type +n 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. + +Once you've done this, use exit +to get back to a login prompt and log in as +jack. 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. + +If you already created a user and you want the user to be able +to su to root, you can log in as root +and edit the file /etc/group, adding jack to the +first line (the group wheel). But first you need to practice +vi, the text editor. + + + + +Looking Around + +Logged in as an ordinary user, look around and try out some +commands that will access the sources of help and information within +FreeBSD. + +Here are some commands and what they do: + +id + +Tells you who you are! + + + + +pwd + + +Shows you where you are—the current +working directory. + + + + +ls + + +Lists the files in the current directory. + + + + +ls + + +Lists the files in the current directory with a +* after executables, a / after +directories, and an @ after symbolic links. + + + + +ls + + +Lists the files in long format—size, +date, permissions. + + + + +ls + + +Lists hidden (unless you're root) dot +files with the others. + + + + +cd + + +Changes directories. cd +.. backs up one level; note the +space after cd. cd +/usr/local goes there. cd +~ goes to the home directory of the +person logged in—e.g., /usr/home/jack. +Try cd /cdrom, and then +ls, to find out if your CDROM is mounted and +working. + + + + +view filename + + +Lets you look at a file (named +filename without changing it. Try +view /etc/fstab. +:q to quit. + + + + +cat filename + + + +Displays filename on screen. If +it's too long and you can see only the end of it, press +ScrollLock and use the up-arrow to +move backward; you can use ScrollLock with man pages +too. Press ScrollLock again to quit scrolling. You +might want to try cat on some of the dot files in +your home directory—cat +.cshrc, cat +.login, cat +.profile. + + + + + +You'll notice aliases in .cshrc for some of the +ls commands (they're very convenient). +You can create other aliases by editing .cshrc. +You can make these aliases available to all users on the system by +putting them in the system-wide csh configuration file, +/etc/csh.cshrc. + + + + +Getting Help and Information + +Here are some useful sources of help. +Text stands for something of your choice +that you type in—usually a command or filename. + + +apropos text + + +Everything containing string text +in the whatis database. + + + +man text + + +The man page for text. The major +source of documentation for Un*x systems. man +ls will tell you all the ways to use +the ls command. Press Enter to +move through text, +Ctrlb to go +back a page, Ctrlf to +go forward, q or +Ctrlc to +quit. + + + +which text + + +Tells you where in the user's path the command +text is found. + + + +locate text + + +All the paths where the string text +is found. + + + +whatis text + + +Tells you what the command text +does and its man page. + + + +whereis text + + +Finds the file text, giving its full +path. + + + + +You might want to try using whatis on some +common useful commands like cat, +more, grep, +mv, find, +tar, chmod, +chown, date, and +script. more lets you read a +page at a time as it does in DOS, e.g., ls -l | +more or more +filename. The +* works as a wildcard—e.g., ls +w* will show you files beginning with +w. + +Are some of these not working very well? Both +locate and whatis +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. + +# /etc/daily +output omitted +# /etc/weekly +output omitted +# /etc/monthly +output omitted + + +If you get tired waiting, press +AltF2 to get +another virtual console, 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 clear at the prompt +to clear the screen. Once they've run, you might want to look at +/var/mail/root and +/var/log/messages. + +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 UNIX System +Administration Handbook (Prentice-Hall, 1995, ISBN +0-13-15051-7)—the second edition with the red cover; or +Æleen Frisch's Essential System +Administration (O'Reilly & Associates, 1993, ISBN +0-937175-80-3). I used Nemeth. + + + + +Editing Text + +To configure your system, you need to edit text files. Most of +them will be in the /etc directory; and you'll +need to su to root to be able to change them. The +text editor is vi. Before you edit a file, you +should probably back it up. Suppose you want to edit +/etc/sysconfig. You could just use cd +/etc to get to the /etc directory and +do: + +# cp sysconfig sysconfig.orig + + +This would copy sysconfig to +sysconfig.orig, and you could later copy +sysconfig.orig to sysconfig to recover the original. But even +better would be moving (renaming) and then copying back: + +# mv sysconfig sysconfig.orig +# cp sysconfig.orig sysconfig + + +because the mv command preserves the original date +and owner of the file. You can now edit +sysconfig. If you want the original back, you'd +then mv sysconfig syconfig.myedit +(assuming you want to preserve your edited version) and then + +# mv sysconfig.orig sysconfig + +to put things back the way they were. + +To edit a file, type + +# vi filename + +Move through the text with the arrow keys. Esc (the +escape key) puts vi in command mode. Here are some +commands: + +x + +delete letter the cursor is on + + + + +dd + + +delete the entire line (even if it wraps on the screen) + + + + +i + + +insert text at the cursor + + + + +a + + +insert text after the cursor + + + + +Once you type i or a, you can enter text. +Esc puts you back in command mode where you can type + +:w + +to write your changes to disk and continue editing + + + + +:wq + + +to write and quit + + + + +:q! + + +to quit without saving changes + + + + +/text + + +to move the cursor to text; +/Enter (the enter key) to find +the next instance of text. + + + + +G + + +to go to the end of the file + + + + +nG + + +to go to line n in +the file, where n is a number + + + + +CtrlL + + +to redraw the screen + + + + +Ctrlb and Ctrlf + + +go back +and forward a screen, as they +do with more and view. + + + + + + +Practice with vi in your home directory by creating +a new file with vi filename and adding +and deleting text, saving the file, and calling it up again. +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 +vi—it's more powerful than DOS EDIT—find out +about the :r command.) Use 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 :w, and +use :q! to get out and start over (from +your last :w) when you need to. + +Now you can cd to /etc, +su to root, use vi to edit the file +/etc/group, 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 Esc, and use +:wq to write the file to disk and quit. Instantly +effective. (You didn't put a space after the comma, did you?) + + + + +Printing Files from DOS + +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 + +# man chmod > chmod.txt + +will send the man page to the chmod.txt file +instead of showing it on your screen. Now put a dos-formatted +diskette in your floppy drive a, su to +root, and type + +# /sbin/mount -t msdos /dev/fd0 /mnt + +to mount the floppy drive on /mnt. + +Now (you no longer need to be root, and you can type +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: + +% cp chmod.txt /mnt + +and use ls /mnt to get a directory listing of +/mnt, which should show the file +chmod.txt. + +You might especially want to make a file from +/sbin/dmesg by typing + +% /sbin/dmesg > dmesg.txt + +and copying dmesg.txt to the floppy. +/sbin/dmesg 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 +freebsd-questions@FreeBSD.ORG or on a USENET +group—like FreeBSD isn't finding my tape drive, what do +I do?—people will want to know what dmesg +has to say. + +You can now dismount the floppy drive (as root) to get the disk +out with + +# /sbin/umount /mnt + +and reboot to go to DOS. Copy these files to a DOS directory, call +them up with DOS EDIT, Windows Notepad, 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 print command. (Copying files from +FreeBSD to a mounted dos partition is in some cases still a little +risky.) + +Getting the printer printing from FreeBSD involves creating an +appropriate entry in /etc/printcap and creating +a matching spool directory in +/var/spool/output. If your printer is on +lpt0 (what dos calls LPT1), you may only +need to go to /var/spool/output and (as root) +create the directory lpd by typing: + +# mkdir lpd + +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 FreeBSD +handbook. + + + + +Other Useful Commands + + + +df + +shows file space and mounted systems. + + + + +ps aux + + +shows processes running. ps ax is a narrower form. + + + + +rm filename + + +remove filename. + + + + +rm -R dir + + +removes a directory dir and all +subdirectories—careful! + + + + +ls -R + + +lists files in the current +directory and all subdirectories; +I used a variant, ls -AFR > where.txt, +to get a list of all +the files in / and (separately) +/usr before I found better +ways to find files. + + + + +passwd + + +to change user's password (or root's password) + + + + +man hier + + +man page on the Unix file system + + + + + +Use find to locate filename in /usr +or any of its subdirectories with + +% find /usr -name "filename" + +You can use * as a wildcard in +"filename" (which should be in +quotes). If you tell find to search in / +instead of /usr it will look for the file(s) on +all mounted file systems, including the CDROM and the dos +partition. + +An excellent book that explains Unix commands and utilities is +Abrahams & Larson, Unix for the Impatient +(2nd ed., Addison-Wesley, 1996). There's also a lot of Unix +information on the Internet. Try the Unix Reference +Desk. + + + + +Next Steps + +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 FreeBSD's +web site. A wide variety of packages and ports are on the +Walnut Creek CDROM as well +as the web site. The handbook tells you more about how to use them +(get the package if it exists, with pkg_add +/cdrom/packages/All/packagename, +where packagename is the filename of the +package). The cdrom has lists of the packages and ports with brief +descriptions in cdrom/packages/index, +cdrom/packages/index.txt, and +cdrom/ports/index, with fuller descriptions in +/cdrom/ports/*/*/pkg/DESCR, where the +*s represent subdirectories of kinds of programs +and program names respectively. + +If you find the handbook too sophisticated (what with +lndir and all) on installing ports from the cdrom, +here's what usually works: + +Find the port you want, say kermit. There will be +a directory for it on the cdrom. Copy the subdirectory to +/usr/local (a good place for software you add +that should be available to all users) with: + +# cp -R /cdrom/ports/comm/kermit /usr/local + + +This should result in a /usr/local/kermit +subdirectory that has all the files that the +kermit subdirectory on the CDROM has. + +Next, check /cdrom/ports/distfiles for a +file with a name that indicates it's the port you want. Copy that +file to /usr/ports/distfiles. (Create +/usr/ports/distfiles if it doesn't exist using +mkdir.) In the case of kermit, there is no +distfile. + +Then cd to the subdirectory of +/usr/local/kermit that has the file +Makefile. Type + +# make all install + + + +During this process the port will ftp to get any compressed +files it needs that it didn't find in +/usr/ports/distfiles. If you don't have your +network running yet and there was no file for the port in +/cdrom/ports/distfiles, you will have to get +the distfile using another machine and copy it to +/usr/ports/distfiles from a floppy or your dos +partition. Read Makefile (with cat or +more or 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 /usr/ports/distfiles you'll have to rename +it (with the mv command) to its original name so it can +be found. (Use binary file transfers!) Then go back to +/usr/local/kermit, find the directory with +Makefile, and type make all install. + +The other thing that happens when installing ports or packages +is that some other program is needed. If the installation stops with +a message can't find unzip or whatever, you +might need to install the package or port for unzip before you +continue. + +Once it's installed type rehash to make FreeBSD +reread the files in the path so it knows what's there. (If you get a +lot of path not found messages when you use +whereis or which, you might want to make additions to the +list of directories in the path statement in +.cshrc 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 ./ before the command to make it +work; no space after the slash.) + +You might want to get the most recent version of Netscape from +their ftp site. (Netscape +requires the X Window System.) The version you want is the +unknown bsd version. Just use gunzip +filename and tar xvf +filename on it, move the binary to +/usr/local/bin or some other place binaries are +kept, rehash, and then put the following lines in +.cshrc in each user's home directory or (easier) +in /etc/csh.cshrc, the system-wide csh start-up +file: + +setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB +setenv XNLSPATH /usr/X11R6/lib/X11/nls + +This assumes that the file XKeysymDB and the directory +nls are in /usr/X11R6/lib/X11; if +they're not, find them and put them there. + +If you originally got Netscape as a port using the CDROM (or +ftp), don't replace /usr/local/bin/netscape 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 +netscape.bin and replace the old binary, which +is /usr/local/lib/netscape/netscape.bin. + + + + +Other + +As root, you can dismount the CDROM with /sbin/umount +/cdrom, take it out of the drive, insert another one, and mount it +with /sbin/mount_cd9660 /dev/cd0a /cdrom assuming +cd0a is the device name for your CDROM drive. + +Using the live file system—the second of FreeBSD's CDROM +disks—is useful if you've got limited space. You might try +using emacs or playing games from the cdrom. This +involves using 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 /cdrom file system +instead of in /usr and its subdirectories, which +is where they're expected to be. Read man lndir. + +You can delete a user (say, jack) by using the command +vipw to bring up the master.passwd +file (do not use vi directly on master.passwd); delete +the line for jack and save the file. Then edit +/etc/group, eliminating jack wherever it +appears. Finally, go to /usr/home and use +rm -R jack (to get rid of user jack's home +directory files). + + + + +Comments Welcome + +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. + +Annelise Anderson, andrsn@hoover.stanford.edu + + +
diff --git a/en/tutorials/newuser/newuser.sgml b/en/tutorials/newuser/newuser.sgml deleted file mode 100644 index e63d0acfb5..0000000000 --- a/en/tutorials/newuser/newuser.sgml +++ /dev/null @@ -1,538 +0,0 @@ - - - -
-For People New to Both FreeBSD and Unix -Annelise Anderson - -June 30, 1996 - -Congratulations on installing FreeBSD! -This introduction is for people new to both FreeBSD -and 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. - - - - - -Logging in and Getting Out - -

Log in (when you see login:) as a user you created during -installation or as root. (Your FreeBSD installation will already -have an account for root; root can go anywhere and do anything, -including deleting essential files, so be careful!) - -To log out (and get a new login prompt) type - -exit - -as often as necessary. Yes, press enter after commands, and remember -that Unix is case-sensitive—exit, not EXIT. - -To shut down the machine type: - -/sbin/shutdown -h now - -Or to reboot type - -/sbin/shutdown -r now - -or - -/sbin/reboot - -You can also reboot with -Ctrl-Alt-Delete. Give it a little time to do its work. This is -equivalent to /sbin/reboot 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? - - -Adding A User with Root Privileges - -

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 - -adduser - -Don't use the -verbose option; the defaults are what you -want. Suppose you create a user jack with full name -Jack Benimble. 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 - -wheel - -This will make it possible to log in as jack and use the su command to -become root. Then you won't get scolded any more for logging in as -root, and as root you'll have the same environment as jack -(this is good). - -You can quit adduser any time by typing Ctrl-C, and at the end -you'll have a chance to approve your new user or simply type n 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. - -Once you've done this, use exit to get back to a login prompt and log -in as jack. 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. - -If you already created a user and you want the user to be able to su -to root, you can log in as root and edit the file /etc/group, adding -jack to the first line (the group wheel). But first you need to -practice vi, the text editor. - - -Looking Around - -

Logged in as an ordinary user, look around and try out some commands that -will access the sources of help and information within FreeBSD. - -Here are some commands and what they do: - -id/ Tells you who you are! -pwd/ Shows you where you are—the current - working directory. -ls/ Lists the files in the current directory. -ls -F/ Lists the files in the current directory - with a * after - executables, a / after directories, and an @ after symbolic - links. -ls -l/ Lists the files in long format—size, - date, permissions. -ls -a/ Lists hidden (unless you're root) ``dot'' - files with the others. -cd/ Changes directories. cd .. backs up - one level; note the - space after cd. cd /usr/local - goes there. cd ~ goes to - the home directory of the person logged in—e.g., - /usr/home/jack. Try cd /cdrom, - and then ls, to find out - if your CDROM is mounted and working. -view filename/ - Lets you look at a file (named filename - without changing - it. Try view /etc/fstab. :q to quit. -cat filename/ - Displays filename on screen. If it's too long and you - can see only the end of it, press ScrollLock and use - the up-arrow to move backward; you can - use ScrollLock with - man pages too. Press ScrollLock again - to quit scrolling. - You might want to try cat on some of the - dot files in your - home directory—cat .cshrc, cat .login, - cat .profile. - -You'll notice aliases in .cshrc -for some of the ls commands (they're very convenient). You can create -other aliases by editing .cshrc. You can make these aliases -available to all users on the system by putting them in the system-wide -csh configuration file, /etc/csh.cshrc. - - -Getting Help and Information - -

Here are some useful sources of help. ``text'' stands for something of -your choice that you type in—usually a command or filename. - -apropos text/ - Everything containing string text - in the whatis database. -man text/ - The man page for text. - The major source of documentation - for Un*x systems. man ls will tell you - all the ways to - use the ls command. Press Enter to - move through text, Ctrl-b - to go back a page, Ctrl-f to go forward, - q or Ctrl-c to quit. -which text/ - Tells you where in the user's path the command - text is found. -locate text/ - All the paths where the string text is found. -whatis text/ - Tells you what the command text does and its man page. -whereis text/ - Finds the file text, giving its full path. - - -You might want to try using whatis on some common useful -commands like cat, more, grep, -mv, find, tar, chmod, -chown, date, and script. -more lets you read a page at a time as it does in DOS, -e.g., ls -l | more or more filename. The -* works as a wildcard—e.g., ls w* will show -you files beginning with w. - -Are some of these not working very well? Both locate -and whatis 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. - -/etc/daily -/etc/weekly -/etc/monthly - -If you get tired waiting, press Alt-F2 to get another -virtual console, 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 -clear at the prompt to clear the screen. Once they've run, you -might want to look at /var/mail/root and -/var/log/messages. - -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 UNIX System -Administration Handbook (Prentice-Hall, 1995, ISBN 0-13-15051-7)—the -second edition with the red cover; or Æleen Frisch's Essential System -Administration (O'Reilly & Associates, 1993, ISBN 0-937175-80-3). -I used Nemeth. - - -Editing Text - -

To configure your system, you need to edit text files. Most -of them will be in the /etc directory; and you'll need -to su to root to be able to change them. The text -editor is vi. Before you edit a file, you should -probably back it up. Suppose you want to edit -/etc/sysconfig. You could just use cd /etc to -get to the /etc directory and do: - -cp sysconfig sysconfig.orig - -This would copy sysconfig to sysconfig.orig, -and you could later copy sysconfig.orig to -sysconfig to recover the original. But even better -would be moving (renaming) and then copying back: - -mv sysconfig sysconfig.orig -cp sysconfig.orig sysconfig - -because the mv command preserves the original date and -owner of the file. You can now edit sysconfig. If you -want the original back, you'd then mv sysconfig syconfig.myedit -(assuming you want to preserve your edited version) and then - -mv sysconfig.orig sysconfig - -to put things back the way they were. - -To edit a file, type - -vi filename - -Move through the text with the arrow keys. Esc (the -escape key) puts vi in command mode. Here are some -commands: - - x/ delete letter the cursor is on - dd/ delete the entire line (even if - it wraps on the screen) - i/ insert text at the cursor - a/ insert text after the cursor - -Once you type i or a, you can enter text. -Esc puts you back in command mode where you can type - - :w/ to write your changes to disk and continue editing - :wq/ to write and quit - :q!/ to quit without saving changes - /text to move the cursor - to text; /Enter (the enter - key) to find the next instance of text. - G/ to go to the end of the file - nG/ to go to line n in - the file, where n is a number - Ctrl-L/ to redraw the screen - Ctrl-b and Ctrl-f/ go back - and forward a screen, as they - do with more and view. - - -Practice with vi in your home directory by creating a -new file with vi filename and adding and deleting text, -saving the file, and calling it up again. 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 vi—it's more -powerful than DOS EDIT—find out about the :r command.) -Use 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 :w, and use :q! to get out and start over -(from your last :w) when you need to. - -Now you can cd to /etc, su to root, -use vi to edit the file /etc/group, 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 Esc, and use :wq to write the file -to disk and quit. Instantly effective. (You didn't put a space -after the comma, did you?) - - -Printing Files from DOS - -

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 - -man chmod > chmod.txt - -will send the man page to the chmod.txt file instead of showing it on -your screen. Now put a dos-formatted diskette in your floppy drive a, -su to root, and type - -/sbin/mount -t msdos /dev/fd0 /mnt - -to mount the floppy drive on /mnt. - -Now (you no longer need to be root, and you can type 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: - -cp chmod.txt /mnt - -and use ls /mnt to get a directory listing of -/mnt, which should show the file chmod.txt. - -You might especially want to make a file from /sbin/dmesg by typing - -/sbin/dmesg > dmesg.txt - -and copying dmesg.txt to the floppy. /sbin/dmesg 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 freebsd-questions@FreeBSD.ORG or on -a USENET group—like ``FreeBSD isn't finding my tape drive, what do I -do?''—people will want to know what dmesg has to say. - -You can now dismount the floppy drive (as root) to get the disk out with - -/sbin/umount /mnt - -or reboot to go to DOS. Copy these files to a DOS directory, call them -up with DOS EDIT, Windows Notepad, 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 print command. (Copying files from FreeBSD to a mounted -dos partition is in some cases still a little risky.) - -Getting the printer printing from FreeBSD involves -creating an appropriate entry in /etc/printcap and creating -a matching spool directory in /var/spool/output. If your -printer is on lpt0 (what dos calls LPT1), you may only need to -go to /var/spool/output and (as root) create the directory -lpd by typing: - - -mkdir lpd - -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 FreeBSD handbook. - -Other Useful Commands - -

-df/ shows file space and mounted systems. -ps aux/ shows processes running. ps ax is a narrower form. -lsdev/ lists configured devices -devmenu/ a menu of devices—in color! -rm filename/ remove filename -rm -R dir/ removes a directory dir and all - subdirectories—careful! -ls -R/ lists files in the current - directory and all subdirectories; - I used a variant, ls -AFR > where.txt, - to get a list of all - the files in / and (separately) - /usr before I found better - ways to find files. -passwd/ to change user's password (or root's password) -man hier/ man page on the Unix file system - -Use find to locate filename in /usr or any of its subdirectories with - -find /usr -name "filename" - -You can use * as a wildcard in "filename" -(which should be in quotes). If you tell find to search in -/ instead of /usr it will look for the file(s) -on all mounted file systems, including the CDROM and the dos -partition. - -An excellent book that explains Unix commands and utilities is -Abrahams & Larson, Unix for the Impatient (2nd ed., -Addison-Wesley, 1996). There's also a lot of Unix information on -the Internet. Try the . - - -Next Steps - -

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 . A wide -variety of packages and ports are on the CDROM as well as -the web site. The handbook tells you more about how to use them -(get the package if it exists, with pkg_add -/cdrom/packages/All/packagename, where -packagename is the filename of the package). The cdrom -has lists of the packages and ports with brief descriptions in -cdrom/packages/index, cdrom/packages/index.txt, -and cdrom/ports/index, with fuller descriptions in -/cdrom/ports/*/*/pkg/DESCR, where the *s -represent subdirectories of kinds of programs and program names -respectively. - -If you find the handbook too sophisticated (what with -lndir and all) on installing ports from the cdrom, -here's what usually works: - -Find the port you want, say kermit. There will be a directory -for it on the cdrom. Copy the subdirectory to -/usr/local (a good place for software you add that -should be available to all users) with: - -cp -R /cdrom/ports/comm/kermit /usr/local - -This should result in a /usr/local/kermit subdirectory -that has all the files that the kermit subdirectory on -the CDROM has. - -Next, check /cdrom/ports/distfiles for a file with a name -that indicates it's the port you want. Copy that file to -/usr/ports/distfiles. (Create /usr/ports/distfiles -if it doesn't exist using mkdir.) In the case of kermit, -there is no distfile. - -Then cd to the subdirectory of -/usr/local/kermit that has the file Makefile. Type - -make all install - - -During this process the port will ftp to get any compressed files it -needs that it didn't find in /usr/ports/distfiles. If you -don't have your network running yet and there was no file for the -port in /cdrom/ports/distfiles, you will have to get the -distfile using another machine and copy it to -/usr/ports/distfiles from a floppy or your dos partition. -Read Makefile (with cat or more or -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 -/usr/ports/distfiles you'll have to rename it (with the -mv command) to its original name so it can be found. (Use -binary file transfers!) Then go back to /usr/local/kermit, -find the directory with Makefile, and type make all -install. - -The other thing that happens when installing ports or packages is that -some other program is needed. If the installation stops with a message -"can't find unzip" or whatever, you might need to install the package -or port for unzip before you continue. - -Once it's installed type rehash to make FreeBSD -reread the files in the path so it knows what's there. -(If you get a lot of "path not found" messages when you use -whereis or which, you might want to make additions to -the list of directories in the path statement in .cshrc -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 ./ before the command to make it work; no space after the -slash.) - -You might want to get the most recent version of Netscape from their -. (Netscape -requires the X Window System.) The version you want is the "unknown -bsd" version. Just use gunzip filename and tar -xvf filename on it, move the binary to -/usr/local/bin or some other place binaries are kept, -rehash, and then put the following lines in .cshrc -in each user's home directory or (easier) in -/etc/csh.cshrc, the system-wide csh start-up file: - -setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB -setenv XNLSPATH /usr/X11R6/lib/X11/nls - -This assumes that the file XKeysymDB and the directory -nls are in -/usr/X11R6/lib/X11; if they're not, find them and put them there. - -If you originally got Netscape as a port using the CDROM (or ftp), -don't replace /usr/local/bin/netscape 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 netscape.bin and replace the - old -binary, which is /usr/local/lib/netscape/netscape.bin. - - - -Other - -

As root, you can dismount the CDROM with /sbin/umount -/cdrom, take it out of the drive, insert another one, and -mount it with /sbin/mount_cd9660 /dev/cd0a /cdrom -assuming cd0a is the device name for your CDROM drive. - -Using the live file system—the second of FreeBSD's CDROM disks—is -useful if you've got limited space. You might try using -emacs or playing games from the cdrom. This involves using -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 -/cdrom file system instead of in /usr and its -subdirectories, which is where they're expected to be. Read man -lndir. - -You can delete a user (say, jack) by using the command vipw -to bring up the master.passwd file (do not use vi directly -on master.passwd); delete the line for jack and save the file. Then -edit /etc/group, eliminating jack wherever it appears. -Finally, go to /usr/home and use rm -R jack (to -get rid of user jack's home directory files). - - -Comments Welcome - -

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. - -Annelise Anderson - -

- - diff --git a/en_US.ISO8859-1/articles/new-users/Makefile b/en_US.ISO8859-1/articles/new-users/Makefile index d8d8509284..a0f6762443 100644 --- a/en_US.ISO8859-1/articles/new-users/Makefile +++ b/en_US.ISO8859-1/articles/new-users/Makefile @@ -1,5 +1,5 @@ -DOC= newuser -SRCS= newuser.sgml +DOCS= newuser.docb +INDEXLINK= newuser.html -.include +.include "../../web.mk" diff --git a/en_US.ISO8859-1/articles/new-users/article.sgml b/en_US.ISO8859-1/articles/new-users/article.sgml new file mode 100644 index 0000000000..c98403616b --- /dev/null +++ b/en_US.ISO8859-1/articles/new-users/article.sgml @@ -0,0 +1,844 @@ + + + + + +For People New to Both FreeBSD and Unix + + + +Annelise +Anderson + +
andrsn@hoover.stanford.edu
+
+
+
+ +June 30, 1996 + +Congratulations on installing FreeBSD! This +introduction is for people new to both FreeBSD +and 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. + +
+
+ + +Logging in and Getting Out + +Log in (when you see login:) as a user you created during +installation or as root. (Your FreeBSD +installation will already have an account for root; root can go +anywhere and do anything, including deleting essential files, so be +careful!) + +To log out (and get a new login: prompt) type + +# exit + +as often as necessary. Yes, press enter after +commands, and remember that Unix is +case-sensitive—exit, not +EXIT. + +To shut down the machine type: + +# /sbin/shutdown -h now + +Or to reboot type + +# /sbin/shutdown -r now + +or + +# /sbin/reboot + + + +You can also reboot with +CtrlAltDelete. +Give it a little time to do its work. This is equivalent to +/sbin/reboot 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? + + + + +Adding A User with Root Privileges + +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 + +# adduser + +Don't use the option; the defaults are what +you want. Suppose you create a user jack with +full name Jack Benimble. 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 wheel + +Login group is ``jack''. Invite jack into other groups: wheel + +This will make it possible to log in as jack and +use the su command to become root. Then you won't +get scolded any more for logging in as root, and as root you'll have +the same environment as jack (this is good). + +You can quit adduser any time by typing +CtrlC, and at +the end you'll have a chance to approve your new user or simply type +n 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. + +Once you've done this, use exit +to get back to a login prompt and log in as +jack. 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. + +If you already created a user and you want the user to be able +to su to root, you can log in as root +and edit the file /etc/group, adding jack to the +first line (the group wheel). But first you need to practice +vi, the text editor. + + + + +Looking Around + +Logged in as an ordinary user, look around and try out some +commands that will access the sources of help and information within +FreeBSD. + +Here are some commands and what they do: + +id + +Tells you who you are! + + + + +pwd + + +Shows you where you are—the current +working directory. + + + + +ls + + +Lists the files in the current directory. + + + + +ls + + +Lists the files in the current directory with a +* after executables, a / after +directories, and an @ after symbolic links. + + + + +ls + + +Lists the files in long format—size, +date, permissions. + + + + +ls + + +Lists hidden (unless you're root) dot +files with the others. + + + + +cd + + +Changes directories. cd +.. backs up one level; note the +space after cd. cd +/usr/local goes there. cd +~ goes to the home directory of the +person logged in—e.g., /usr/home/jack. +Try cd /cdrom, and then +ls, to find out if your CDROM is mounted and +working. + + + + +view filename + + +Lets you look at a file (named +filename without changing it. Try +view /etc/fstab. +:q to quit. + + + + +cat filename + + + +Displays filename on screen. If +it's too long and you can see only the end of it, press +ScrollLock and use the up-arrow to +move backward; you can use ScrollLock with man pages +too. Press ScrollLock again to quit scrolling. You +might want to try cat on some of the dot files in +your home directory—cat +.cshrc, cat +.login, cat +.profile. + + + + + +You'll notice aliases in .cshrc for some of the +ls commands (they're very convenient). +You can create other aliases by editing .cshrc. +You can make these aliases available to all users on the system by +putting them in the system-wide csh configuration file, +/etc/csh.cshrc. + + + + +Getting Help and Information + +Here are some useful sources of help. +Text stands for something of your choice +that you type in—usually a command or filename. + + +apropos text + + +Everything containing string text +in the whatis database. + + + +man text + + +The man page for text. The major +source of documentation for Un*x systems. man +ls will tell you all the ways to use +the ls command. Press Enter to +move through text, +Ctrlb to go +back a page, Ctrlf to +go forward, q or +Ctrlc to +quit. + + + +which text + + +Tells you where in the user's path the command +text is found. + + + +locate text + + +All the paths where the string text +is found. + + + +whatis text + + +Tells you what the command text +does and its man page. + + + +whereis text + + +Finds the file text, giving its full +path. + + + + +You might want to try using whatis on some +common useful commands like cat, +more, grep, +mv, find, +tar, chmod, +chown, date, and +script. more lets you read a +page at a time as it does in DOS, e.g., ls -l | +more or more +filename. The +* works as a wildcard—e.g., ls +w* will show you files beginning with +w. + +Are some of these not working very well? Both +locate and whatis +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. + +# /etc/daily +output omitted +# /etc/weekly +output omitted +# /etc/monthly +output omitted + + +If you get tired waiting, press +AltF2 to get +another virtual console, 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 clear at the prompt +to clear the screen. Once they've run, you might want to look at +/var/mail/root and +/var/log/messages. + +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 UNIX System +Administration Handbook (Prentice-Hall, 1995, ISBN +0-13-15051-7)—the second edition with the red cover; or +Æleen Frisch's Essential System +Administration (O'Reilly & Associates, 1993, ISBN +0-937175-80-3). I used Nemeth. + + + + +Editing Text + +To configure your system, you need to edit text files. Most of +them will be in the /etc directory; and you'll +need to su to root to be able to change them. The +text editor is vi. Before you edit a file, you +should probably back it up. Suppose you want to edit +/etc/sysconfig. You could just use cd +/etc to get to the /etc directory and +do: + +# cp sysconfig sysconfig.orig + + +This would copy sysconfig to +sysconfig.orig, and you could later copy +sysconfig.orig to sysconfig to recover the original. But even +better would be moving (renaming) and then copying back: + +# mv sysconfig sysconfig.orig +# cp sysconfig.orig sysconfig + + +because the mv command preserves the original date +and owner of the file. You can now edit +sysconfig. If you want the original back, you'd +then mv sysconfig syconfig.myedit +(assuming you want to preserve your edited version) and then + +# mv sysconfig.orig sysconfig + +to put things back the way they were. + +To edit a file, type + +# vi filename + +Move through the text with the arrow keys. Esc (the +escape key) puts vi in command mode. Here are some +commands: + +x + +delete letter the cursor is on + + + + +dd + + +delete the entire line (even if it wraps on the screen) + + + + +i + + +insert text at the cursor + + + + +a + + +insert text after the cursor + + + + +Once you type i or a, you can enter text. +Esc puts you back in command mode where you can type + +:w + +to write your changes to disk and continue editing + + + + +:wq + + +to write and quit + + + + +:q! + + +to quit without saving changes + + + + +/text + + +to move the cursor to text; +/Enter (the enter key) to find +the next instance of text. + + + + +G + + +to go to the end of the file + + + + +nG + + +to go to line n in +the file, where n is a number + + + + +CtrlL + + +to redraw the screen + + + + +Ctrlb and Ctrlf + + +go back +and forward a screen, as they +do with more and view. + + + + + + +Practice with vi in your home directory by creating +a new file with vi filename and adding +and deleting text, saving the file, and calling it up again. +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 +vi—it's more powerful than DOS EDIT—find out +about the :r command.) Use 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 :w, and +use :q! to get out and start over (from +your last :w) when you need to. + +Now you can cd to /etc, +su to root, use vi to edit the file +/etc/group, 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 Esc, and use +:wq to write the file to disk and quit. Instantly +effective. (You didn't put a space after the comma, did you?) + + + + +Printing Files from DOS + +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 + +# man chmod > chmod.txt + +will send the man page to the chmod.txt file +instead of showing it on your screen. Now put a dos-formatted +diskette in your floppy drive a, su to +root, and type + +# /sbin/mount -t msdos /dev/fd0 /mnt + +to mount the floppy drive on /mnt. + +Now (you no longer need to be root, and you can type +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: + +% cp chmod.txt /mnt + +and use ls /mnt to get a directory listing of +/mnt, which should show the file +chmod.txt. + +You might especially want to make a file from +/sbin/dmesg by typing + +% /sbin/dmesg > dmesg.txt + +and copying dmesg.txt to the floppy. +/sbin/dmesg 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 +freebsd-questions@FreeBSD.ORG or on a USENET +group—like FreeBSD isn't finding my tape drive, what do +I do?—people will want to know what dmesg +has to say. + +You can now dismount the floppy drive (as root) to get the disk +out with + +# /sbin/umount /mnt + +and reboot to go to DOS. Copy these files to a DOS directory, call +them up with DOS EDIT, Windows Notepad, 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 print command. (Copying files from +FreeBSD to a mounted dos partition is in some cases still a little +risky.) + +Getting the printer printing from FreeBSD involves creating an +appropriate entry in /etc/printcap and creating +a matching spool directory in +/var/spool/output. If your printer is on +lpt0 (what dos calls LPT1), you may only +need to go to /var/spool/output and (as root) +create the directory lpd by typing: + +# mkdir lpd + +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 FreeBSD +handbook. + + + + +Other Useful Commands + + + +df + +shows file space and mounted systems. + + + + +ps aux + + +shows processes running. ps ax is a narrower form. + + + + +rm filename + + +remove filename. + + + + +rm -R dir + + +removes a directory dir and all +subdirectories—careful! + + + + +ls -R + + +lists files in the current +directory and all subdirectories; +I used a variant, ls -AFR > where.txt, +to get a list of all +the files in / and (separately) +/usr before I found better +ways to find files. + + + + +passwd + + +to change user's password (or root's password) + + + + +man hier + + +man page on the Unix file system + + + + + +Use find to locate filename in /usr +or any of its subdirectories with + +% find /usr -name "filename" + +You can use * as a wildcard in +"filename" (which should be in +quotes). If you tell find to search in / +instead of /usr it will look for the file(s) on +all mounted file systems, including the CDROM and the dos +partition. + +An excellent book that explains Unix commands and utilities is +Abrahams & Larson, Unix for the Impatient +(2nd ed., Addison-Wesley, 1996). There's also a lot of Unix +information on the Internet. Try the Unix Reference +Desk. + + + + +Next Steps + +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 FreeBSD's +web site. A wide variety of packages and ports are on the +Walnut Creek CDROM as well +as the web site. The handbook tells you more about how to use them +(get the package if it exists, with pkg_add +/cdrom/packages/All/packagename, +where packagename is the filename of the +package). The cdrom has lists of the packages and ports with brief +descriptions in cdrom/packages/index, +cdrom/packages/index.txt, and +cdrom/ports/index, with fuller descriptions in +/cdrom/ports/*/*/pkg/DESCR, where the +*s represent subdirectories of kinds of programs +and program names respectively. + +If you find the handbook too sophisticated (what with +lndir and all) on installing ports from the cdrom, +here's what usually works: + +Find the port you want, say kermit. There will be +a directory for it on the cdrom. Copy the subdirectory to +/usr/local (a good place for software you add +that should be available to all users) with: + +# cp -R /cdrom/ports/comm/kermit /usr/local + + +This should result in a /usr/local/kermit +subdirectory that has all the files that the +kermit subdirectory on the CDROM has. + +Next, check /cdrom/ports/distfiles for a +file with a name that indicates it's the port you want. Copy that +file to /usr/ports/distfiles. (Create +/usr/ports/distfiles if it doesn't exist using +mkdir.) In the case of kermit, there is no +distfile. + +Then cd to the subdirectory of +/usr/local/kermit that has the file +Makefile. Type + +# make all install + + + +During this process the port will ftp to get any compressed +files it needs that it didn't find in +/usr/ports/distfiles. If you don't have your +network running yet and there was no file for the port in +/cdrom/ports/distfiles, you will have to get +the distfile using another machine and copy it to +/usr/ports/distfiles from a floppy or your dos +partition. Read Makefile (with cat or +more or 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 /usr/ports/distfiles you'll have to rename +it (with the mv command) to its original name so it can +be found. (Use binary file transfers!) Then go back to +/usr/local/kermit, find the directory with +Makefile, and type make all install. + +The other thing that happens when installing ports or packages +is that some other program is needed. If the installation stops with +a message can't find unzip or whatever, you +might need to install the package or port for unzip before you +continue. + +Once it's installed type rehash to make FreeBSD +reread the files in the path so it knows what's there. (If you get a +lot of path not found messages when you use +whereis or which, you might want to make additions to the +list of directories in the path statement in +.cshrc 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 ./ before the command to make it +work; no space after the slash.) + +You might want to get the most recent version of Netscape from +their ftp site. (Netscape +requires the X Window System.) The version you want is the +unknown bsd version. Just use gunzip +filename and tar xvf +filename on it, move the binary to +/usr/local/bin or some other place binaries are +kept, rehash, and then put the following lines in +.cshrc in each user's home directory or (easier) +in /etc/csh.cshrc, the system-wide csh start-up +file: + +setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB +setenv XNLSPATH /usr/X11R6/lib/X11/nls + +This assumes that the file XKeysymDB and the directory +nls are in /usr/X11R6/lib/X11; if +they're not, find them and put them there. + +If you originally got Netscape as a port using the CDROM (or +ftp), don't replace /usr/local/bin/netscape 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 +netscape.bin and replace the old binary, which +is /usr/local/lib/netscape/netscape.bin. + + + + +Other + +As root, you can dismount the CDROM with /sbin/umount +/cdrom, take it out of the drive, insert another one, and mount it +with /sbin/mount_cd9660 /dev/cd0a /cdrom assuming +cd0a is the device name for your CDROM drive. + +Using the live file system—the second of FreeBSD's CDROM +disks—is useful if you've got limited space. You might try +using emacs or playing games from the cdrom. This +involves using 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 /cdrom file system +instead of in /usr and its subdirectories, which +is where they're expected to be. Read man lndir. + +You can delete a user (say, jack) by using the command +vipw to bring up the master.passwd +file (do not use vi directly on master.passwd); delete +the line for jack and save the file. Then edit +/etc/group, eliminating jack wherever it +appears. Finally, go to /usr/home and use +rm -R jack (to get rid of user jack's home +directory files). + + + + +Comments Welcome + +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. + +Annelise Anderson, andrsn@hoover.stanford.edu + + +
diff --git a/en_US.ISO_8859-1/articles/new-users/Makefile b/en_US.ISO_8859-1/articles/new-users/Makefile index d8d8509284..a0f6762443 100644 --- a/en_US.ISO_8859-1/articles/new-users/Makefile +++ b/en_US.ISO_8859-1/articles/new-users/Makefile @@ -1,5 +1,5 @@ -DOC= newuser -SRCS= newuser.sgml +DOCS= newuser.docb +INDEXLINK= newuser.html -.include +.include "../../web.mk" diff --git a/en_US.ISO_8859-1/articles/new-users/article.sgml b/en_US.ISO_8859-1/articles/new-users/article.sgml new file mode 100644 index 0000000000..c98403616b --- /dev/null +++ b/en_US.ISO_8859-1/articles/new-users/article.sgml @@ -0,0 +1,844 @@ + + + + + +For People New to Both FreeBSD and Unix + + + +Annelise +Anderson + +
andrsn@hoover.stanford.edu
+
+
+
+ +June 30, 1996 + +Congratulations on installing FreeBSD! This +introduction is for people new to both FreeBSD +and 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. + +
+
+ + +Logging in and Getting Out + +Log in (when you see login:) as a user you created during +installation or as root. (Your FreeBSD +installation will already have an account for root; root can go +anywhere and do anything, including deleting essential files, so be +careful!) + +To log out (and get a new login: prompt) type + +# exit + +as often as necessary. Yes, press enter after +commands, and remember that Unix is +case-sensitive—exit, not +EXIT. + +To shut down the machine type: + +# /sbin/shutdown -h now + +Or to reboot type + +# /sbin/shutdown -r now + +or + +# /sbin/reboot + + + +You can also reboot with +CtrlAltDelete. +Give it a little time to do its work. This is equivalent to +/sbin/reboot 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? + + + + +Adding A User with Root Privileges + +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 + +# adduser + +Don't use the option; the defaults are what +you want. Suppose you create a user jack with +full name Jack Benimble. 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 wheel + +Login group is ``jack''. Invite jack into other groups: wheel + +This will make it possible to log in as jack and +use the su command to become root. Then you won't +get scolded any more for logging in as root, and as root you'll have +the same environment as jack (this is good). + +You can quit adduser any time by typing +CtrlC, and at +the end you'll have a chance to approve your new user or simply type +n 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. + +Once you've done this, use exit +to get back to a login prompt and log in as +jack. 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. + +If you already created a user and you want the user to be able +to su to root, you can log in as root +and edit the file /etc/group, adding jack to the +first line (the group wheel). But first you need to practice +vi, the text editor. + + + + +Looking Around + +Logged in as an ordinary user, look around and try out some +commands that will access the sources of help and information within +FreeBSD. + +Here are some commands and what they do: + +id + +Tells you who you are! + + + + +pwd + + +Shows you where you are—the current +working directory. + + + + +ls + + +Lists the files in the current directory. + + + + +ls + + +Lists the files in the current directory with a +* after executables, a / after +directories, and an @ after symbolic links. + + + + +ls + + +Lists the files in long format—size, +date, permissions. + + + + +ls + + +Lists hidden (unless you're root) dot +files with the others. + + + + +cd + + +Changes directories. cd +.. backs up one level; note the +space after cd. cd +/usr/local goes there. cd +~ goes to the home directory of the +person logged in—e.g., /usr/home/jack. +Try cd /cdrom, and then +ls, to find out if your CDROM is mounted and +working. + + + + +view filename + + +Lets you look at a file (named +filename without changing it. Try +view /etc/fstab. +:q to quit. + + + + +cat filename + + + +Displays filename on screen. If +it's too long and you can see only the end of it, press +ScrollLock and use the up-arrow to +move backward; you can use ScrollLock with man pages +too. Press ScrollLock again to quit scrolling. You +might want to try cat on some of the dot files in +your home directory—cat +.cshrc, cat +.login, cat +.profile. + + + + + +You'll notice aliases in .cshrc for some of the +ls commands (they're very convenient). +You can create other aliases by editing .cshrc. +You can make these aliases available to all users on the system by +putting them in the system-wide csh configuration file, +/etc/csh.cshrc. + + + + +Getting Help and Information + +Here are some useful sources of help. +Text stands for something of your choice +that you type in—usually a command or filename. + + +apropos text + + +Everything containing string text +in the whatis database. + + + +man text + + +The man page for text. The major +source of documentation for Un*x systems. man +ls will tell you all the ways to use +the ls command. Press Enter to +move through text, +Ctrlb to go +back a page, Ctrlf to +go forward, q or +Ctrlc to +quit. + + + +which text + + +Tells you where in the user's path the command +text is found. + + + +locate text + + +All the paths where the string text +is found. + + + +whatis text + + +Tells you what the command text +does and its man page. + + + +whereis text + + +Finds the file text, giving its full +path. + + + + +You might want to try using whatis on some +common useful commands like cat, +more, grep, +mv, find, +tar, chmod, +chown, date, and +script. more lets you read a +page at a time as it does in DOS, e.g., ls -l | +more or more +filename. The +* works as a wildcard—e.g., ls +w* will show you files beginning with +w. + +Are some of these not working very well? Both +locate and whatis +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. + +# /etc/daily +output omitted +# /etc/weekly +output omitted +# /etc/monthly +output omitted + + +If you get tired waiting, press +AltF2 to get +another virtual console, 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 clear at the prompt +to clear the screen. Once they've run, you might want to look at +/var/mail/root and +/var/log/messages. + +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 UNIX System +Administration Handbook (Prentice-Hall, 1995, ISBN +0-13-15051-7)—the second edition with the red cover; or +Æleen Frisch's Essential System +Administration (O'Reilly & Associates, 1993, ISBN +0-937175-80-3). I used Nemeth. + + + + +Editing Text + +To configure your system, you need to edit text files. Most of +them will be in the /etc directory; and you'll +need to su to root to be able to change them. The +text editor is vi. Before you edit a file, you +should probably back it up. Suppose you want to edit +/etc/sysconfig. You could just use cd +/etc to get to the /etc directory and +do: + +# cp sysconfig sysconfig.orig + + +This would copy sysconfig to +sysconfig.orig, and you could later copy +sysconfig.orig to sysconfig to recover the original. But even +better would be moving (renaming) and then copying back: + +# mv sysconfig sysconfig.orig +# cp sysconfig.orig sysconfig + + +because the mv command preserves the original date +and owner of the file. You can now edit +sysconfig. If you want the original back, you'd +then mv sysconfig syconfig.myedit +(assuming you want to preserve your edited version) and then + +# mv sysconfig.orig sysconfig + +to put things back the way they were. + +To edit a file, type + +# vi filename + +Move through the text with the arrow keys. Esc (the +escape key) puts vi in command mode. Here are some +commands: + +x + +delete letter the cursor is on + + + + +dd + + +delete the entire line (even if it wraps on the screen) + + + + +i + + +insert text at the cursor + + + + +a + + +insert text after the cursor + + + + +Once you type i or a, you can enter text. +Esc puts you back in command mode where you can type + +:w + +to write your changes to disk and continue editing + + + + +:wq + + +to write and quit + + + + +:q! + + +to quit without saving changes + + + + +/text + + +to move the cursor to text; +/Enter (the enter key) to find +the next instance of text. + + + + +G + + +to go to the end of the file + + + + +nG + + +to go to line n in +the file, where n is a number + + + + +CtrlL + + +to redraw the screen + + + + +Ctrlb and Ctrlf + + +go back +and forward a screen, as they +do with more and view. + + + + + + +Practice with vi in your home directory by creating +a new file with vi filename and adding +and deleting text, saving the file, and calling it up again. +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 +vi—it's more powerful than DOS EDIT—find out +about the :r command.) Use 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 :w, and +use :q! to get out and start over (from +your last :w) when you need to. + +Now you can cd to /etc, +su to root, use vi to edit the file +/etc/group, 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 Esc, and use +:wq to write the file to disk and quit. Instantly +effective. (You didn't put a space after the comma, did you?) + + + + +Printing Files from DOS + +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 + +# man chmod > chmod.txt + +will send the man page to the chmod.txt file +instead of showing it on your screen. Now put a dos-formatted +diskette in your floppy drive a, su to +root, and type + +# /sbin/mount -t msdos /dev/fd0 /mnt + +to mount the floppy drive on /mnt. + +Now (you no longer need to be root, and you can type +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: + +% cp chmod.txt /mnt + +and use ls /mnt to get a directory listing of +/mnt, which should show the file +chmod.txt. + +You might especially want to make a file from +/sbin/dmesg by typing + +% /sbin/dmesg > dmesg.txt + +and copying dmesg.txt to the floppy. +/sbin/dmesg 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 +freebsd-questions@FreeBSD.ORG or on a USENET +group—like FreeBSD isn't finding my tape drive, what do +I do?—people will want to know what dmesg +has to say. + +You can now dismount the floppy drive (as root) to get the disk +out with + +# /sbin/umount /mnt + +and reboot to go to DOS. Copy these files to a DOS directory, call +them up with DOS EDIT, Windows Notepad, 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 print command. (Copying files from +FreeBSD to a mounted dos partition is in some cases still a little +risky.) + +Getting the printer printing from FreeBSD involves creating an +appropriate entry in /etc/printcap and creating +a matching spool directory in +/var/spool/output. If your printer is on +lpt0 (what dos calls LPT1), you may only +need to go to /var/spool/output and (as root) +create the directory lpd by typing: + +# mkdir lpd + +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 FreeBSD +handbook. + + + + +Other Useful Commands + + + +df + +shows file space and mounted systems. + + + + +ps aux + + +shows processes running. ps ax is a narrower form. + + + + +rm filename + + +remove filename. + + + + +rm -R dir + + +removes a directory dir and all +subdirectories—careful! + + + + +ls -R + + +lists files in the current +directory and all subdirectories; +I used a variant, ls -AFR > where.txt, +to get a list of all +the files in / and (separately) +/usr before I found better +ways to find files. + + + + +passwd + + +to change user's password (or root's password) + + + + +man hier + + +man page on the Unix file system + + + + + +Use find to locate filename in /usr +or any of its subdirectories with + +% find /usr -name "filename" + +You can use * as a wildcard in +"filename" (which should be in +quotes). If you tell find to search in / +instead of /usr it will look for the file(s) on +all mounted file systems, including the CDROM and the dos +partition. + +An excellent book that explains Unix commands and utilities is +Abrahams & Larson, Unix for the Impatient +(2nd ed., Addison-Wesley, 1996). There's also a lot of Unix +information on the Internet. Try the Unix Reference +Desk. + + + + +Next Steps + +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 FreeBSD's +web site. A wide variety of packages and ports are on the +Walnut Creek CDROM as well +as the web site. The handbook tells you more about how to use them +(get the package if it exists, with pkg_add +/cdrom/packages/All/packagename, +where packagename is the filename of the +package). The cdrom has lists of the packages and ports with brief +descriptions in cdrom/packages/index, +cdrom/packages/index.txt, and +cdrom/ports/index, with fuller descriptions in +/cdrom/ports/*/*/pkg/DESCR, where the +*s represent subdirectories of kinds of programs +and program names respectively. + +If you find the handbook too sophisticated (what with +lndir and all) on installing ports from the cdrom, +here's what usually works: + +Find the port you want, say kermit. There will be +a directory for it on the cdrom. Copy the subdirectory to +/usr/local (a good place for software you add +that should be available to all users) with: + +# cp -R /cdrom/ports/comm/kermit /usr/local + + +This should result in a /usr/local/kermit +subdirectory that has all the files that the +kermit subdirectory on the CDROM has. + +Next, check /cdrom/ports/distfiles for a +file with a name that indicates it's the port you want. Copy that +file to /usr/ports/distfiles. (Create +/usr/ports/distfiles if it doesn't exist using +mkdir.) In the case of kermit, there is no +distfile. + +Then cd to the subdirectory of +/usr/local/kermit that has the file +Makefile. Type + +# make all install + + + +During this process the port will ftp to get any compressed +files it needs that it didn't find in +/usr/ports/distfiles. If you don't have your +network running yet and there was no file for the port in +/cdrom/ports/distfiles, you will have to get +the distfile using another machine and copy it to +/usr/ports/distfiles from a floppy or your dos +partition. Read Makefile (with cat or +more or 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 /usr/ports/distfiles you'll have to rename +it (with the mv command) to its original name so it can +be found. (Use binary file transfers!) Then go back to +/usr/local/kermit, find the directory with +Makefile, and type make all install. + +The other thing that happens when installing ports or packages +is that some other program is needed. If the installation stops with +a message can't find unzip or whatever, you +might need to install the package or port for unzip before you +continue. + +Once it's installed type rehash to make FreeBSD +reread the files in the path so it knows what's there. (If you get a +lot of path not found messages when you use +whereis or which, you might want to make additions to the +list of directories in the path statement in +.cshrc 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 ./ before the command to make it +work; no space after the slash.) + +You might want to get the most recent version of Netscape from +their ftp site. (Netscape +requires the X Window System.) The version you want is the +unknown bsd version. Just use gunzip +filename and tar xvf +filename on it, move the binary to +/usr/local/bin or some other place binaries are +kept, rehash, and then put the following lines in +.cshrc in each user's home directory or (easier) +in /etc/csh.cshrc, the system-wide csh start-up +file: + +setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB +setenv XNLSPATH /usr/X11R6/lib/X11/nls + +This assumes that the file XKeysymDB and the directory +nls are in /usr/X11R6/lib/X11; if +they're not, find them and put them there. + +If you originally got Netscape as a port using the CDROM (or +ftp), don't replace /usr/local/bin/netscape 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 +netscape.bin and replace the old binary, which +is /usr/local/lib/netscape/netscape.bin. + + + + +Other + +As root, you can dismount the CDROM with /sbin/umount +/cdrom, take it out of the drive, insert another one, and mount it +with /sbin/mount_cd9660 /dev/cd0a /cdrom assuming +cd0a is the device name for your CDROM drive. + +Using the live file system—the second of FreeBSD's CDROM +disks—is useful if you've got limited space. You might try +using emacs or playing games from the cdrom. This +involves using 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 /cdrom file system +instead of in /usr and its subdirectories, which +is where they're expected to be. Read man lndir. + +You can delete a user (say, jack) by using the command +vipw to bring up the master.passwd +file (do not use vi directly on master.passwd); delete +the line for jack and save the file. Then edit +/etc/group, eliminating jack wherever it +appears. Finally, go to /usr/home and use +rm -R jack (to get rid of user jack's home +directory files). + + + + +Comments Welcome + +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. + +Annelise Anderson, andrsn@hoover.stanford.edu + + +
diff --git a/en_US.ISO_8859-1/tutorials/Makefile b/en_US.ISO_8859-1/tutorials/Makefile index c32c458f52..40a10bc3f1 100644 --- a/en_US.ISO_8859-1/tutorials/Makefile +++ b/en_US.ISO_8859-1/tutorials/Makefile @@ -1,4 +1,5 @@ DOCS= index.sgml -SUBDIR= disklessx -DOCSUBDIR= ddwg devel fonts mh multios newuser ppp +SUBDIR= disklessx newuser +DOCSUBDIR= ddwg devel fonts mh multios ppp + .include "../web.mk" diff --git a/en_US.ISO_8859-1/tutorials/index.sgml b/en_US.ISO_8859-1/tutorials/index.sgml index 897accc191..ebbc838f65 100644 --- a/en_US.ISO_8859-1/tutorials/index.sgml +++ b/en_US.ISO_8859-1/tutorials/index.sgml @@ -1,50 +1,49 @@ - + %includes; ]> &header;

Here lie assorted documents on various aspects of FreeBSD, FreeBSD software, and hardare. If you have comments or would like to contribute a document, please contact us at freebsd-doc@FreeBSD.org.

&footer;