Path: utzoo!mnetor!uunet!husc6!tut.cis.ohio-state.edu!bgsuvax!kutz From: kutz@bgsuvax.UUCP (Kenneth Kutz) Newsgroups: comp.unix.wizards Subject: Re: SVR3.0 vs BSD4.3 Message-ID: <1781@bgsuvax.UUCP> Date: 21 Mar 88 16:56:54 GMT References: <12414@brl-adm.ARPA> <4361@megaron.arizona.edu> <7499@brl-smoke.ARPA> <2423@bsu-cs.UUCP> Organization: Bowling Green State University B.G., Oh. Lines: 151 In article <2423@bsu-cs.UUCP>, dhesi@bsu-cs.UUCP (Rahul Dhesi) writes: > > Here are some things I see under 4.3BSD that I don't see under SVR3, > unless they are either not documented or I somehow missed them. I'm > comparing the full packages, not just the kernels. > > job control (stop/restart jobs, get status of jobs and know > one is stopped for tty input) > intelligent echoing to screen (SVR3 seems to blindly echo > everything or nothing, can mess up screen, won't redraw > partially-typed line, won't align tabs on char erase) > intelligent mail handling -- sendmail, MH, biff, vacation > "script" for recording terminal session > "ul" for underlining when printing on various printers > one complete KWIC index for all manuals > symbolic links > long filenames > a user can be in multiple groups > user information lookup ("finger", "lastcomm", "last") > UUCP over TCP/IP links > support for multiple command interpreters with #! as first line of script > dbm library--fast /etc/passwd and /usr/lib/news/history access etc. > context diffs from diff > smarter, friendlier "at" program > > A note about UUCP: Although theoretically HDB UUCP is the equal of the > 4.3BSD UUCP, I constantly hear horror stories on Usenet about how HDB > UUCP doesn't work right for one reason or another. I don't hear quite > as many horror stories about 4.3BSD UUCP, probably because it has been > better integrated into the rest of the system and has had time to > stabilize. I've recently come from a System V environment to a BSD 4.3 environment. I've kept a list of some of the differences I've found. Some may seem insignificant but never-the-less I've included them for completeness. These are in no particular order other than the order which I noticed differences from switching environments. I've grown to like BSD quite a bit since my "switch". Bourne shell builtin "exit": Sys V: From the shell prompt, will return the user to the login prompt BSD : Does not log the user out. System file "/etc/inittab": Sys V: This file is used in place of "/etc/ttys" and "/etc/ttytype" of BSD. I consider "/etc/inittab" an improvement since it is single file with all the terminal information in it. Included is the ability to define "run levels" which allow a System Administrator to restrict who can log in when and where very easily. For example if you want to set your system up so that no local logins are allow between 8:00 PM and 7:00 AM you execute /etc/init with appropriate run level as an option at 8:00 PM. Going Single User: Sys V: "/etc/single" - Shell script to go single user by switching run levels. BSD : Shutdown first and then boot single user. Leaves "/etc/mtab" thinking there are file systems mounted. File system debugging: Sys V: "/etc/fsdb" - File system debugging tool. Something I have missed. BSD : No equivalent (that I have found yet). "echo": Sys V: Cursor control supported such as backspacing (\b), cursor up (\v), tab (\t), no new line (\c). BSD : Cursor control only by embedding the actual character (such as tab) into the string to echo, with the exception of no new line (-n option) System wide user start up script: Sys V: "/etc/profile" is a system wide start up script that gets executed for every user that logs in. BSD : Set up the administrator how he sees fit. No standard method. Accessing terminal capabilities: Sys V: "tput" accesses the terminfo database for terminal capabilities such as bold, underline, blinking etc. BSD : No standard unix utility (that I'm aware of) Getty definitions: Sys V: /etc/gettydefs BSD : /etc/gettytab Bourne shell: Sys V: provides a variable called "CDPATH". When set is used to allow a user to cd to paths in this variable without using the entire pathname but rather just the destination directory. BSD : Various shells from the net that provide wonderful things (tcsh, newcsh). I haven't used the korn shell yet. Combination of ps and who Sys V: /etc/whodo BSD : "w" - Much better since info for a user is on single line, more readable. "vi": Sys V: provides the variable "showmode" which will use the last row on the screen to show the vi user whether he/she is in "INSERT MODE" "REPLACE MODE", or "COMMAND MODE". Can be executed so set this automatically with "vedit". Excellent for vi beginners. BSD : Not there. "cal" Sys V: cal without any argument defaults to the current month BSD : must provide argument "find" Sys V: Does not keep a weekly tree structure in a file. BSD : Keeps the directory tree structure in a file so that when find is executed without any arguments it goes to this file for a much faster picture. Shutdown: Sys V: Provides a bourne shell script (/etc/shutdown) which will perform common shutdown functions (/etc/wall, /etc/umount, killing process id's etc.). Unmounting file systems at shutdown time makes a lot of sense. When you come back up to single-user it will give a true picture of what is mounted in /etc/mtab. BSD : shutdown - C program "date" Sys V: Many format options such as MM/DD/YY. Nice for scripts. BSD : One format "at" Sys V: Option to display queued jobs for "at" to run. BSD : Haven't found the equivalent command yet. Column/field extraction: Sys V: "cut": Used to cut out columns from a table or fields from a line of data. Very useful in scripts is easier and faster than awk. Our system: Pulled it off the AT&T Source tape :-) "ls" Sys V: "ls -l" gives the UID and user name BSD : Just user name Rahul points out some very significant gains BSD has on Sys V. Both have their merits. I am quite hooked on those things Rahul listed though. (I do miss /etc/fsdb and /etc/inittab). -- -------------------------------------------------------------------- Kenneth J. Kutz CSNET kutz@bgsu.edu UUCP ...!osu-cis!bgsuvax!kutz Disclaimer: Opinions expressed are my own and not of my employer's --------------------------------------------------------------------