SVR3.0 vs BSD4.3
Kenneth Kutz
kutz at bgsuvax.UUCP
Tue Mar 22 02:56:54 AEST 1988
In article <2423 at bsu-cs.UUCP>, dhesi at 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 at bgsu.edu
UUCP ...!osu-cis!bgsuvax!kutz
Disclaimer: Opinions expressed are my own and not of my employer's
--------------------------------------------------------------------
More information about the Comp.unix.wizards
mailing list