FreeBSD and jails

ezjail is a perfect tool for jails. What it does is actually saving you a lot of keystrokes. It is a very nice bash script.

When you create a new jail one of the task ezjail is copying everything from /usr/jails/newjail to the new jails directory. For a reason my /usr/jails/newjail was empty, ezjail finished the task, saying all went fine but when I wanted to start the jail I had the following error:

ezjail-admin start my_shiny_new_jail

cannot start jail my_shiny_new_jail, basejail: No such file or directory

I start looking around the internet, haven’t found a solution. Then I created a jail on another server when I noticed that so many files are copied into the new jail, “wait a minute, why isn’t this happening on server #1?” So I installed jails almost from scratch, this solved the issue.

Advertisements

The UNIX system family tree: Research and BSD

One of my friends shared this link with me today.

https://github.com/freebsd/freebsd/blob/master/share/misc/bsd-family-tree

The UNIX system family tree: Research and BSD
---------------------------------------------

First Edition (V1)
     |
Second Edition (V2)
     |
Third Edition (V3)
     |
Fourth Edition (V4)
     |
Fifth Edition (V5)
     |
Sixth Edition (V6) -----*
       \                |
        \               |
         \              |
Seventh Edition (V7)    |
            \           |
             \        1BSD
             32V        |
               \      2BSD---------------*
                \    /                   |
                 \  /                    |
                  \/                     |
                 3BSD                    |
                  |                      |
               4.0BSD                2.79BSD
                  |                      |
               4.1BSD --------------> 2.8BSD
                  |                      |
              4.1aBSD -----------\       |
                  |                \     |
              4.1bBSD                \   |
                  |                    \ |
      *------ 4.1cBSD --------------> 2.9BSD
     /            |                      |
Eighth Edition    |                   2.9BSD-Seismo
     |            |                      |
     +----<--- 4.2BSD               2.9.1BSD
     |            |                      |
     +---- 2.10BSD
     |            |               /      |
Ninth Edition     |              / 2.10.1BSD
     |         4.3BSD Tahoe-----+        |
     |            |              \       |
     |            |                \     |
     v            |                  2.11BSD
Tenth Edition     |                      |
                  |                  2.11BSD rev #430
               4.3BSD NET/1              |
                  |                      v
               4.3BSD Reno
                  |
   *---------- 4.3BSD NET/2 -------------------+-------------*
   |                    |                      |             |
386BSD 0.0              |                      |           BSD/386 ALPHA
   |                    |                      |             |
386BSD 0.1 ------------>+                      |           BSD/386 0.3.[13]
   |     \              |                  4.4BSD Alpha      |
   |     386BSD 1.0     |                      |           BSD/386 0.9.[34]
   |                    |                  4.4BSD            |
   |                    |                    / |             |
   |                    |   4.4BSD-Encumbered  |             |
   |                -NetBSD 0.8                |           BSD/386 1.0
   |               /    |                      |             |
FreeBSD 1.0 <-----'  NetBSD 0.9                |           BSD/386 1.1
   |                    |           .----- 4.4BSD Lite       |
FreeBSD 1.1             |          /   /       |     \       |
   |                    |         /   /        |      \      |
FreeBSD 1.1.5       .---|--------'   /         |       \     |
   |               /    |           /          |        \    |
FreeBSD 1.1.5.1   /     |          /           |         \   |
   |             /   NetBSD 1.0 <-'            |          \  |
   |            /       |                      |           \ |
FreeBSD 2.0 <--'        |                      |           BSD/OS 2.0
   |                     \                     |             |
FreeBSD 2.0.5             \                    |           BSD/OS 2.0.1
   |                 .-----\------------- 4.4BSD Lite2       |
   |                 |      \             |  |   |   |       |
   |                 | .-----|------Rhapsody |   |   |       |
   |                 | |     |        NetBSD 1.3 |   |       |
   |                 | |     |           OpenBSD 2.3 |       |
   |                 | |     |                BSD/OS 3.0     |
FreeBSD 2.1          | |     |                               |
 |   |               | |  NetBSD 1.1 ------.               BSD/OS 2.1
 | FreeBSD 2.1.5     | |     |              \                |
 |     |             | |  NetBSD 1.2         \             BSD/OS 3.0
 | FreeBSD 2.1.6     | |     |  \          OpenBSD 2.0       |
 |     |             | |     |   \             |             |
 | FreeBSD 2.1.6.1   | |     |    \            |             |
 |     |             | |     |     \           |             |
 | FreeBSD 2.1.7     | |     |      |          |             |
 |     |             | |     |  NetBSD 1.2.1   |             |
 | FreeBSD 2.1.7.1   | |     |                 |             |
 |                   | |     |                 |             |
 |                   | |     |                 |             |
 *-FreeBSD 2.2       | |     |                 |             |
 |        \          | |     |                 |             |
 |     FreeBSD 2.2.1 | |     |                 |             |
 |         |         | |     |                 |             |
 |     FreeBSD 2.2.2 | |     |             OpenBSD 2.1       |
 |         |         | |     |                 |             |
 |     FreeBSD 2.2.5 | |     |                 |             |
 |         |         | |     |             OpenBSD 2.2       |
 |         |         | |  NetBSD 1.3           |             |
 |     FreeBSD 2.2.6 | |     |    |            |             |
 |         |         | |     | NetBSD 1.3.1    |           BSD/OS 3.1
 |         |         | |     |    |        OpenBSD 2.3       |
 |         |         | |     | NetBSD 1.3.2    |             |
 |     FreeBSD 2.2.7 | |     |    |            |             |
 |         |         | |     |    |            |           BSD/OS 4.0
 |     FreeBSD 2.2.8 | |     |    |            |             |
 |         |         | |     |    |            |             |
 |         v         | |     |    |        OpenBSD 2.4       |
 |     FreeBSD 2.2.9 | |     |    |            |             |
 |                   | |     |    |            |             |
FreeBSD 3.0 <--------* |     |    v            |             |
 |                     |     | NetBSD 1.3.3    |             |
 *---FreeBSD 3.1       |     |                 |             |
 |       |             |     |                 |           BSD/OS 4.0.1
 |   FreeBSD 3.2----*  |  NetBSD 1.4       OpenBSD 2.5       |
 |       |          |  |  |  |    |            |             |
 |       |          |  |  |  |    |            |             |
 |       |          |  |  |  |    |            |             |
 |   FreeBSD 3.3    |  |  |  | NetBSD 1.4.1    |             |
 |       |          |  |  |  |    |        OpenBSD 2.6       |
 |   FreeBSD 3.4    |  |  |  |    |            |             |
 |           |      |  |  |  |    |            |           BSD/OS 4.1
FreeBSD 4.0  |      |  |  |  | NetBSD 1.4.2    |             |
 |           |      |  |  |  |    |            |             |
 |           |      |  |  |  |    |            |             |
 |   FreeBSD 3.5    |  |  |  |    |        OpenBSD 2.7       |
 |           |      |  |  |  |    |            |             |
 |   FreeBSD 3.5.1  |  |  |  |    |            |             |
 |                  |  |  |  |    |            |             |
 *---FreeBSD 4.1    |  |  |  |    |            |             |
 |      |           |  | (?) |    |            |             |
 |   FreeBSD 4.1.1  |  |  /  |    |            |             |
 |      |           |  | /   |    |            |             |
 |   FreeBSD 4.2   Darwin/   | NetBSD 1.4.3    |             |
 |      |         Mac OS X   |             OpenBSD 2.8     BSD/OS 4.2
 |      |             |      |                 |             |
 |      |             |      |                 |             |
 |      |           10.0  NetBSD 1.5           |             |
 |   FreeBSD 4.3      |      |    |            |             |
 |      |             |      |    |        OpenBSD 2.9       |
 |      |             |      | NetBSD 1.5.1    |             |
 |      |             |      |    |            |             |
 |   FreeBSD 4.4-.    |      | NetBSD 1.5.2    |             |
 |      |        | Mac OS X  |    |            |             |
 |      |        |   10.1    |    |        OpenBSD 3.0       |
 |   FreeBSD 4.5 |    |      |    |            |             |
 |      |         \   |      |    |            |           BSD/OS 4.3
 |   FreeBSD 4.6   \  |      |    |        OpenBSD 3.1       |
 |      |           \ |      | NetBSD 1.5.3    |             |
 |   FreeBSD 4.6.2 Mac OS X  |                 |             |
 |      |            10.2    |                 |             |
 |   FreeBSD 4.7      |      |                 |             |
 |      |             |   NetBSD 1.6       OpenBSD 3.2       |
 |   FreeBSD 4.8      |      |    |            |             |
 |      |             |      | NetBSD 1.6.1    |             |
 |      |--------.    |      |    |        OpenBSD 3.3     BSD/OS 5.0
 |      |         \   |      |    |            |             |
 |   FreeBSD 4.9   |  |      |    |        OpenBSD 3.4     BSD/OS 5.1 ISE
 |      |          |  |      |    |            |
 |      |          |  |      | NetBSD 1.6.2    |
 |      |          |  |      |    |            |
 |      |          |  |      |    |        OpenBSD 3.5
 |      |          |  |      |    v            |
 |   FreeBSD 4.10  |  |      |                 |
 |      |          |  |      |                 |
 |   FreeBSD 4.11  |  |      |                 |
 |                 |  |      |                 |
 |                  `-|------|-----------------|---------------------.
 |                    |      |                 |                      \
FreeBSD 5.0           |      |                 |                       |
 |                    |      |                 |                       |
FreeBSD 5.1           |      |                 |                DragonFly 1.0
 |          \         |      |                 |                       |
 |           ----- Mac OS X  |                 |                       |
 |                   10.3    |                 |                       |
FreeBSD 5.2           |      |                 |                       |
 |      |             |      |                 |                       |
 |   FreeBSD 5.2.1    |      |                 |                       |
 |                    |      |                 |                       |
 *-------FreeBSD 5.3  |      |                 |                       |
 |           |        |      |             OpenBSD 3.6                 |
 |           |        |   NetBSD 2.0           |                       |
 |           |        |      | |  |            |               DragonFly 1.2.0
 |           |     Mac OS X  | | NetBSD 2.0.2  |                       |
 |           |       10.4    | |  |            |                       |
 |       FreeBSD 5.4  |      | |  |            |                       |
 |           |        |      | |  |        OpenBSD 3.7                 |
 |           |        |      | | NetBSD 2.0.3  |                       |
 |           |        |      | |  |            |                       |
 *--FreeBSD  |        |      | |  v        OpenBSD 3.8                 |
 |    6.0    |        |      | |               |                       |
 |     |     |        |      |  \              |                       |
 |     |     |        |      | NetBSD 2.1      |                       |
 |     |     |        |      |                 |                       |
 |     |     |        |   NetBSD 3.0           |                       |
 |     |     |        |      | |  |            |               DragonFly 1.4.0
 |     |     |        |      | |  |        OpenBSD 3.9                 |
 |  FreeBSD  |        |      | |  |            |                       |
 |    6.1    |        |      | |  |            |                       |
 |     |  FreeBSD 5.5 |      | |  |            |                       |
 |     |              |      | | NetBSD 3.0.1  |               DragonFly 1.6.0
 |     |              |      | |  |            |                       |
 |     |              |      | |  |        OpenBSD 4.0                 |
 |     |              |      | | NetBSD 3.0.2  |                       |
 |     |              |      | NetBSD 3.1      |                       |
 | FreeBSD 6.2        |      |                 |                       |
 |     |              |      |                 |               DragonFly 1.8.0
 |     |              |      |             OpenBSD 4.1                 |
 |     |              |      |                 |               DragonFly 1.10.0
 |     |           Mac OS X  |                 |                       |
 |     |             10.5    |                 |                       |
 |     |              |      |             OpenBSD 4.2                 |
 |     |              |   NetBSD 4.0           |                       |
 | FreeBSD 6.3        |      |    |            |                       |
 |            \       |      |    |            |                       |
 *--FreeBSD    |      |      |    |            |               DragonFly 1.12.0
 |    7.0      |      |      |    |            |                       |
 |     |       |      |      |    |        OpenBSD 4.3                 |
 |     |       |      |      | NetBSD          |               DragonFly 2.0.0
 |     |    FreeBSD   |      |  4.0.1      OpenBSD 4.4                 |
 |     |      6.4     |      |                 |                       |
 |     |              |      |                 |                       |
 |  FreeBSD 7.1       |      |                 |                       |
 |     |              |      |                 |               DragonFly 2.2.0
 |  FreeBSD 7.2       |   NetBSD 5.0       OpenBSD 4.5                 |
 |             \      |      | |    \          |                       |
 |              |  Mac OS X  | |     \         |                       |
 |              |    10.6    | |      \        |                       |
 |              |     |      | |   NetBSD      |               DragonFly 2.4.0
 |              |     |      | |    5.0.1  OpenBSD 4.6                 |
 |              |     |      | |       |       |                       |
 *--FreeBSD     |     |      | |       |       |                       |
 |    8.0       |     |      | |       |       |                       |
 |     |     FreeBSD  |      | |   NetBSD      |                       |
 |     |       7.3    |      | |    5.0.2      |               DragonFly 2.6.0
 |     |        |     |      | |           OpenBSD 4.7                 |
 |  FreeBSD     |     |      | |               |                       |
 |    8.1       |     |      | |               |                       |
 |     |        |     |      | |               |               DragonFly 2.8.2
 |     |        |     |      | |           OpenBSD 4.8                 |
 |     |        |     |      | *--NetBSD       |                       |
 |  FreeBSD  FreeBSD  |      | |    5.1        |                       |
 |    8.2      7.4    |      | |      |        |               DragonFly 2.10.1
 |     |              |      | |      |    OpenBSD 4.9                 |
 |     `-----.     Mac OS X  | |      |        |                       |
 |            \      10.7    | |      |        |                       |
 |             |      |      | |      |    OpenBSD 5.0                 |
 *--FreeBSD    |      |      | |      |        |                       |
 |    9.0      |      |      | |   NetBSD      |               DragonFly 3.0.1
 |     |    FreeBSD   |      | |    5.1.2      |                       |
 |     |      8.3     |      | |      |        |                       |
 |     |       |      |      | |   NetBSD      |                       |
 |     |       |      |      | |    5.1.3      |                       |
 |     |       |      |      | |      |        |                       |
 |     |       |      |      | |   NetBSD      |                       |
 |     |       |      |      | |    5.1.4      |                       |
 |     |       |      |      | |           OpenBSD 5.1                 |
 |     |       |   Mac OS X  | `----.          |                       |
 |     |       |     10.8    |       \         |                       |
 |     |       |      |   NetBSD 6.0  |        |                       |
 |     |       |      |      | | |    |    OpenBSD 5.2         DragonFly 3.2.1
 |  FreeBSD    |      |      | | | NetBSD      |                       |
 |    9.1      |      |      | | |   5.2       |                       |
 |     |       |      |      | | |    |        |                       |
 |     |       |      |      | | | NetBSD      |                       |
 |     |       |      |      | | |  5.2.1      |                       |
 |     |       |      |      | | |    |        |                       |
 |     |       |      |      | | | NetBSD      |                       |
 |     |       |      |      | | |  5.2.2      |                       |
 |     |       |      |      | | |             |                       |
 |     |       |      |      | |  \            |                       |
 |     |       |      |      | |   NetBSD      |                       |
 |     |       |      |      | |    6.0.1      |                       |
 |     |       |      |      | |      |   OpenBSD 5.3          DragonFly 3.4.1
 |     |       |      |      | |   NetBSD      |                       |
 |     |       |      |      | |    6.0.2      |                       |
 |     |       |      |      | |      |        |                       |
 |     |       |      |      | |   NetBSD      |                       |
 |     |       |      |      | |    6.0.3      |                       |
 |     |       |      |      | |      |        |                       |
 |     |       |      |      | |   NetBSD      |                       |
 |     |       |      |      | |    6.0.4      |                       |
 |     |       |      |      | |      |        |                       |
 |     |       |      |      | |   NetBSD      |                       |
 |     |       |      |      | |    6.0.5      |                       |
 |     |       |      |      | |               |                       |
 |     |       |      |      | |`-NetBSD 6.1   |                       |
 |     |    FreeBSD   |      |       |         |                       |
 |     |      8.4     |      |    NetBSD 6.1.1 |                       |
 |     |              |      |       |         |                       |
 |  FreeBSD           |      |    NetBSD 6.1.2 |                       |
 |    9.2          Mac OS X  |       |         |                       |
 |     |             10.9    |       |    OpenBSD 5.4                  |
 |     `-----.        |      |       |         |               DragonFly 3.6.0
 |            \       |      |       |         |                       |
 *--FreeBSD    |      |      |    NetBSD 6.1.3 |                       |
 |   10.0      |      |      |       |         |                       |
 |     |       |      |      |       |         |               DragonFly 3.6.1
 |     |       |      |      |       |         |                       |
 |     |       |      |      |       |         |                       |
 |     |       |      |      |       |         |               DragonFly 3.6.2
 |     |       |      |      |    NetBSD 6.1.4 |                       |
 |     |       |      |      |       |         |                       |
 |     |       |      |      |       |    OpenBSD 5.5                  |
 |     |       |      |      |       |         |                       |
 |     |       |      |      |       |         |               DragonFly 3.8.0
 |     |       |      |      |       |         |                       |
 |     |       |      |      |       |         |                       |
 |     |       |      |      |       |         |               DragonFly 3.8.1
 |     |       |      |      |       |         |                       |
 |     |       |      |      |       |         |                       |
 |     |       |      |      |       |         |               DragonFly 3.6.3
 |     |       |      |      |       |         |                       |
 |     |    FreeBSD   |      |       |         |                       |
 |     |      9.3     |      |       |         |                       |
 |     |              |      |    NetBSD 6.1.5 |               DragonFly 3.8.2
 |     |           Mac OS X  |                 |                       |
 |     |             10.10   |                 |                       |
 |     |              |      |            OpenBSD 5.6                  |
 |  FreeBSD           |      |                 |                       |
 |   10.1             |      |                 |               DragonFly 4.0.1
 |     |              |      |                 |                       |
 |     |              |      |                 |               DragonFly 4.0.2
 |     |              |      |                 |                       |
 |     |              |      |                 |               DragonFly 4.0.3
 |     |              |      |                 |                       |
 |     |              |      |                 |               DragonFly 4.0.4
 |     |              |      |                 |                       |
 |     |              |      |                 |               DragonFly 4.0.5
 |     |              |      |                 |                       |
 |     |              |      |            OpenBSD 5.7                  |
 |     |              |      |                 |               DragonFly 4.2.0
 |  FreeBSD           |      |                 |                       |
 |   10.2             |      |                 |                       |
 |     |            OS X  NetBSD 7.0           |                       |
 |     |            10.11    |            OpenBSD 5.8                  |
 |     |              |      |                 |               DragonFly 4.4.1
 |  FreeBSD           |      |            OpenBSD 5.9                  |
 |   10.3             |      |                 |                       |
 |                    |   NetBSD 7.0.1         |                       |
 |                    |      |                 |               DragonFly 4.6.0
 |                    |      |                 |                       |
 |                    |      |                 |                       |
 *--FreeBSD         macOS    |            OpenBSD 6.0                  |
 |   11.0           10.12    |                 |                       |
 |                    |   NetBSD 7.1           |                       |
 |                    |      |                 |                       |
FreeBSD 12 -current   |  NetBSD -current  OpenBSD -current    DragonFly -current
 |                    |      |                 |                       |
 v                    v      v                 v                       v

Time
----------------

Time tolerance +/- 6 months, depending on which book/article you read; if it
was the announcement in Usenet or if it was available as tape.

[44B] McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
	and John Quarterman. The Design and Implementation of
	the 4.4BSD Operating System.
[APL] Apple website [http://www.apple.com/macosx/]
[BSDI] Berkeley Software Design, Inc.
[DFB] DragonFlyBSD Project, The.
[DOC] README, COPYRIGHT on tape.
[FBD] FreeBSD Project, The.
[KB]  Keith Bostic. BSD2.10 available from Usenix. comp.unix.sources,
	Volume 11, Info 4, April, 1987.
[KKK] Mike Karels, Kirk McKusick, and Keith Bostic. tahoe announcement.
	comp.bugs.4bsd.ucb-fixes, June 15, 1988.
[KSJ] Michael J. Karels, Carl F. Smith, and William F. Jolitz.
	Changes in the Kernel in 2.9BSD. Second Berkeley Software
	Distribution UNIX Version 2.9, July, 1983.
[NBD] NetBSD Project, The.
[OBD] OpenBSD Project, The.
[QCU] Salus, Peter H. A quarter century of UNIX.
[SMS] Steven M. Schultz. 2.11BSD, UNIX for the PDP-11.
[TUHS] The Unix Historical Society.  http://minnie.tuhs.org/Unix_History/.
[USE] Usenet announcement.
[WRS] Wind River Systems, Inc.
[dmr] Dennis Ritchie, via E-Mail

Multics                 1965
UNIX                    Summer 1969
				DEC PDP-7
First   Edition         1971-11-03 [QCU]
				DEC PDP-11/20, Assembler
Second  Edition         1972-06-12 [QCU]
				10 UNIX installations
Third   Edition         1973-02-xx [QCU]
				Pipes, 16 installations
Fourth  Edition         1973-11-xx [QCU]
				rewriting in C effected,
                                above 30 installations
Fifth   Edition         1974-06-xx [QCU]
				above 50 installations
Sixth   Edition         1975-05-xx [QCU]
				port to DEC Vax
Seventh Edition         1979-01-xx [QCU]
				first portable UNIX
Eighth  Edition         1985-02-xx [QCU]
				VAX 11/750, VAX 11/780 [dmr]
				descended from 4.1c BSD [dmr]
				descended from 4.1 BSD [44B]
			scooping-out and replacement of the character-device
			and networking part by the streams mechanism

Ninth   Edition         1986-09-xx [QCU]
Tenth   Edition         1989-10-xx [QCU]

1BSD                    late 1977
			1978-03-09 [QCU]
				PDP-11, Pascal, ex(1)
				30 free copies of 1BSD sent out
				35 tapes sold for 50 USD [QCU]
2BSD                    mid 1978 [QCU] 1979-05-10 [TUHS]
				75 2BSD tapes shipped
2.79BSD			1980-04-xx [TUHS]
2.8BSD			1981-07-xx [KSJ]

2.8.1BSD		1982-01-xx [QCU]
				set of performance improvements
2.9BSD			1983-07-xx [KSJ]
2.9.1BSD                1983-11-xx [TUHS]
2.9BSD-Seismo		1985-08-xx [SMS]
2.10BSD			1987-04-xx [KKK]
2.10.1BSD		1989-01-xx [SMS]
2.11BSD			1992-02-xx [SMS]
2.11BSD rev #430	1999-12-13 [SMS]

32V			1978-1[01]-xx [QCU]
3BSD                    late 1979 [QCU] March 1980 [TUHS]
				virtual memory, page replacement,
                        	demand paging
4.0BSD                  1980-10-xx
4.1BSD                  1981-07-08 [DOC]
4.1aBSD                 1982-04-xx
				alpha release, 100 sites, networking [44B]
4.1bBSD				internal release, fast filesystem [44B]
4.1cBSD                 late 1982
				beta release, IPC [44B]
4.2BSD                  1983-09-xx [QCU]
                        1983-08-03 [DOC]
4.3BSD                  1986-06-xx [QCU]
			1986-04-05 [KB], [DOC]
4.3BSD Tahoe            1988-06-15 [QCU], [DOC]
4.3BSD NET/1            1988-11-xx [QCU]
                        1989-01-01 [DOC]
4.3BSD Reno             1990-06-29 [QCU], [DOC]
4.3BSD NET/2            1991-06-28 [QCU], [DOC]

BSD/386 ALPHA		1991-12-xx [BSDI]
				first code released to people outside BSDI
386BSD 0.0              1992-02-xx [DOC]
BSD/386 0.3.1	        1992-04-xx [BSDI] first ext. beta; B customers
BSD/386 0.3.3		1992-06-xx [BSDI] first CDROM version
386BSD 0.1              1992-07-28 [DOC]
4.4BSD Alpha            1992-07-07
BSD/386 0.9.3		1992-10-xx [BSDI]
				first external gamma; G customers
BSD/386 0.9.4		1992-12-xx [BSDI]
				would have been 1.0 except for request
				for preliminary injunction
BSD/386 1.0 		1993-03-xx [BSDI]
				injunction denied; first official release
NetBSD 0.8              1993-04-20 [NBD]
4.4BSD                  1993-06-01 [USE]
NetBSD 0.9              1993-08-23 [NBD]
FreeBSD 1.0		1993-11-01 [FBD]
FreeBSD 1.0.2		1993-11-14 [FBD]
				supersedes 1.0 13 days after release.
BSD/386 1.1		1994-02-xx [BSDI]
4.4BSD Lite             1994-03-01 [USE]
FreeBSD 1.1		1994-05-07 [FBD]
FreeBSD 1.1.5		1994-06-30 [FBD]
FreeBSD 1.1.5.1		1994-07-05 [FBD]
				supersedes 1.1.5 5 days after release.
NetBSD 1.0              1994-10-26 [NBD]
386BSD 1.0              1994-11-12 [USE]
FreeBSD 2.0		1994-11-23 [FBD]
BSD/OS 2.0		1995-01-xx [BSDI] 4.4 lite based
FreeBSD 2.0.5		1995-06-10 [FBD]
BSD/OS 2.0.1		1995-06-xx [BSDI]
4.4BSD Lite Release 2	1995-06-xx [44B]
				the true final distribution from the CSRG
FreeBSD 2.1.0		1995-11-19 [FBD]
NetBSD 1.1              1995-11-26 [NBD]
BSD/OS 2.1		1996-01-xx [BSDI]
FreeBSD 2.1.5		1996-07-14 [FBD]
NetBSD 1.2              1996-10-04 [NBD]
OpenBSD 2.0             1996-10-18 [OBD]
FreeBSD 2.1.6		1996-11-16 [FBD]
FreeBSD 2.1.6.1		1996-11-25 [FBD] (sendmail security release)
Rhapsody		1997-xx-xx
FreeBSD 2.1.7		1997-02-20 [FBD]
BSD/OS 3.0		1997-02-xx [BSDI] 4.4 lite2 based
FreeBSD 2.2.0		1997-03-16 [FBD]
FreeBSD 2.2.1		1997-03-25 [FBD]
FreeBSD 2.2.2		1997-05-16 [FBD]
NetBSD 1.2.1            1997-05-20 [NBD] (patch release)
OpenBSD 2.1             1997-06-01 [OBD]
FreeBSD 2.2.5		1997-10-22 [FBD]
OpenBSD 2.2             1997-12-01 [OBD]
NetBSD 1.3              1998-01-04 [NBD]
FreeBSD 2.2.6		1998-03-25 [FBD]
NetBSD 1.3.1            1998-03-09 [NBD] (patch release)
BSD/OS 3.1		1998-03-xx [BSDI]
OpenBSD 2.3             1998-05-19 [OBD]
NetBSD 1.3.2            1998-05-29 [NBD] (patch release)
FreeBSD 2.2.7		1998-07-22 [FBD]
BSD/OS 4.0		1998-08-xx [BSDI]
				2-lock MP support, ELF executables
FreeBSD 3.0		1998-10-16 [FBD]
				FreeBSD-3.0 is a snapshot from -current,
				while 3.1 and 3.2 are from 3.x-stable which
				was branched quite some time after 3.0-release
FreeBSD 2.2.8           1998-11-29 [FBD]
OpenBSD 2.4             1998-12-01 [OBD]
NetBSD 1.3.3            1998-12-23 [NBD] (patch release)
FreeBSD 3.1		1999-02-15 [FBD]
BSD/OS 4.0.1		1999-03-xx [BSDI]
NetBSD 1.4              1999-05-12 [NBD]
FreeBSD 3.2             1999-05-17 [FBD]
OpenBSD 2.5             1999-05-19 [OBD]
NetBSD 1.4.1            1999-08-26 [NBD] (patch release)
FreeBSD 3.3             1999-09-17 [FBD]
OpenBSD 2.6             1999-12-01 [OBD]
FreeBSD 3.4             1999-12-20 [FBD]
BSD/OS 4.1		1999-12-xx [BSDI]
FreeBSD 4.0             2000-03-13 [FBD]
NetBSD 1.4.2            2000-03-19 [NBD] (patch release)
OpenBSD 2.7             2000-06-15 [OBD]
FreeBSD 3.5		2000-06-24 [FBD]
FreeBSD 4.1		2000-07-27 [FBD]
FreeBSD 3.5.1		2000-07-28 [FBD]
FreeBSD 4.1.1		2000-09-25 [FBD] (a network-only patch release)
FreeBSD 4.2  		2000-11-21 [FBD]
NetBSD 1.4.3		2000-11-25 [NBD] (patch release)
BSD/OS 4.2		2000-11-29 [BSDI]
OpenBSD 2.8		2000-12-01 [OBD]
NetBSD 1.5              2000-12-06 [NBD]
Mac OS X 10.0           2001-03-24 [APL]
FreeBSD 4.3  		2001-04-20 [FBD]
OpenBSD 2.9  		2001-06-01 [OBD]
NetBSD 1.5.1		2001-07-11 [NBD] (patch release)
NetBSD 1.5.2		2001-09-13 [NBD] (patch release)
FreeBSD 4.4  		2001-09-18 [FBD]
Mac OS X 10.1		2001-09-29 [APL]
OpenBSD 3.0		2001-12-01 [OBD]
FreeBSD 4.5  		2002-01-29 [FBD]
BSD/OS 4.3		2002-03-14 [WRS]
OpenBSD 3.1		2002-05-19 [OBD]
FreeBSD 4.6  		2002-06-15 [FBD]
NetBSD 1.5.3		2002-07-22 [NBD] (patch release)
FreeBSD 4.6.2		2002-08-15 [FBD] (patch release)
Mac OS X 10.2		2002-08-23 [APL]
NetBSD 1.6		2002-09-14 [NBD]
FreeBSD 4.7		2002-10-08 [FBD]
OpenBSD 3.2		2002-11-01 [OBD]
FreeBSD 5.0		2003-01-17 [FBD]
				FreeBSD 5.0 is a separate branch off of
				-current, similar to 3.0.
FreeBSD 4.8		2003-04-03 [FBD]
NetBSD 1.6.1		2003-04-21 [NBD] (patch release)
OpenBSD 3.3		2003-05-01 [OBD]
BSD/OS 5.0		2003-05-?? [WRS]
FreeBSD 5.1		2003-06-09 [FBD]
Mac OS X 10.3		2003-10-24 [APL]
FreeBSD 4.9		2003-10-28 [FBD]
BSD/OS 5.1 ISE		2003-10-?? [WRS] (final version)
OpenBSD 3.4		2003-11-01 [OBD]
FreeBSD 5.2		2004-01-12 [FBD]
FreeBSD 5.2.1		2004-02-22 [FBD] (patch release)
NetBSD 1.6.2		2004-03-01 [NBD] (patch release)
OpenBSD 3.5		2004-04-01 [OBD]
FreeBSD 4.10		2004-05-27 [FBD]
DragonFly 1.0		2004-07-12 [DFB]
OpenBSD 3.6		2004-10-29 [OBD]
FreeBSD 5.3		2004-11-06 [FBD]
NetBSD 2.0		2004-12-09 [NBD]
FreeBSD 4.11		2005-01-25 [FBD]
DragonFly 1.2.0		2005-04-08 [DFB]
NetBSD 2.0.2		2005-04-14 [NBD] (security/critical release)
Mac OS X 10.4		2005-04-29 [APL]
FreeBSD 5.4		2005-05-09 [FBD]
OpenBSD 3.7		2005-05-19 [OBD]
NetBSD 2.0.3		2005-10-31 [NBD] (security/critical release)
OpenBSD 3.8		2005-11-01 [OBD]
FreeBSD 6.0		2005-11-01 [FBD]
NetBSD 2.1		2005-11-02 [NBD]
NetBSD 3.0		2005-12-23 [NBD]
DragonFly 1.4.0		2006-01-08 [DFB]
FreeBSD 2.2.9		2006-04-01 [FBD]
OpenBSD 3.9		2006-05-01 [OBD]
FreeBSD 6.1		2006-05-08 [FBD]
FreeBSD 5.5		2006-05-25 [FBD]
NetBSD 3.0.1		2006-07-24 [NBD] (security/critical release)
DragonFly 1.6.0		2006-07-24 [DFB]
OpenBSD 4.0		2006-11-01 [OBD]
NetBSD 3.0.2		2006-11-04 [NBD] (security/critical release)
NetBSD 3.1		2006-11-04 [NBD]
FreeBSD 6.2		2007-01-15 [FBD]
DragonFly 1.8.0		2007-01-30 [DFB]
OpenBSD 4.1		2007-05-01 [OBD]
DragonFly 1.10.0	2007-08-06 [DFB]
Mac OS X 10.5		2007-10-26 [APL]
OpenBSD 4.2		2007-11-01 [OBD]
NetBSD 4.0		2007-12-19 [NBD]
FreeBSD 6.3		2008-01-18 [FBD]
DragonFly 1.12.0	2008-02-26 [DFB]
FreeBSD 7.0		2008-02-27 [FBD]
OpenBSD 4.3		2008-05-01 [OBD]
DragonFly 2.0.0		2008-07-21 [DFB]
OpenBSD 4.4		2008-11-01 [OBD]
FreeBSD 6.4		2008-11-28 [FBD]
FreeBSD 7.1		2009-01-04 [FBD]
DragonFly 2.2.0		2009-02-17 [DFB]
NetBSD 5.0		2009-04-29 [NBD]
OpenBSD 4.5		2009-05-01 [OBD]
FreeBSD 7.2		2009-05-04 [FBD]
Mac OS X 10.6		2009-06-08 [APL]
NetBSD 5.0.1		2009-08-02 [NBD] (security/critical release)
DragonFly 2.4.0		2009-09-16 [DFB]
OpenBSD 4.6		2009-10-18 [OBD]
FreeBSD 8.0		2009-11-26 [FBD]
NetBSD 5.0.2		2010-02-12 [NBD] (security/critical release)
FreeBSD 7.3		2010-03-23 [FBD]
DragonFly 2.6.0		2010-03-28 [DFB]
OpenBSD 4.7		2010-05-19 [OBD]
FreeBSD 8.1		2010-07-24 [FBD]
DragonFly 2.8.2		2010-10-30 [DFB]
OpenBSD 4.8		2010-11-01 [OBD]
NetBSD 5.1		2010-11-19 [NBD]
FreeBSD 7.4		2011-02-24 [FBD]
FreeBSD 8.2		2011-02-24 [FBD]
DragonFly 2.10.1	2011-04-26 [DFB]
OpenBSD 4.9		2011-05-01 [OBD]
Mac OS X 10.7		2011-07-20 [APL]
OpenBSD 5.0		2011-11-01 [OBD]
FreeBSD 9.0		2012-01-12 [FBD]
NetBSD 5.1.2		2012-02-02 [NBD] (security/critical release)
DragonFly 3.0.1		2012-02-21 [DFB]
FreeBSD 8.3		2012-04-18 [FBD]
OpenBSD 5.1		2012-05-01 [OBD]
Mac OS X 10.8		2012-07-25 [APL]
NetBSD 6.0		2012-10-17 [NBD]
OpenBSD 5.2		2012-11-01 [OBD]
DragonFly 3.2.1		2012-11-02 [DFB]
NetBSD 5.2		2012-12-03 [NBD]
NetBSD 6.0.1		2012-12-26 [NBD] (security/critical release)
FreeBSD 9.1		2012-12-30 [FBD]
DragonFly 3.4.1		2013-04-29 [DFB]
OpenBSD 5.3		2013-05-01 [OBD]
NetBSD 6.0.2		2013-05-18 [NBD] (security/critical release)
NetBSD 6.1		2013-05-18 [NBD]
FreeBSD 8.4		2013-06-07 [FBD]
NetBSD 6.1.1		2013-08-22 [NBD]
NetBSD 5.1.3		2013-09-29 [NBD]
NetBSD 5.2.1		2013-09-29 [NBD]
FreeBSD 9.2		2013-09-30 [FBD]
NetBSD 6.0.3		2013-09-30 [NBD]
NetBSD 6.1.2		2013-09-30 [NBD]
Mac OS X 10.9		2013-10-22 [APL]
OpenBSD 5.4		2013-11-01 [OBD]
DragonFly 3.6.0 	2013-11-25 [DFB]
FreeBSD 10.0		2014-01-20 [FBD]
NetBSD 5.1.4		2014-01-25 [NBD]
NetBSD 5.2.2		2014-01-25 [NBD]
NetBSD 6.0.4		2014-01-25 [NBD]
NetBSD 6.1.3		2014-01-25 [NBD]
DragonFly 3.6.1 	2014-02-22 [DFB]
DragonFly 3.6.2		2014-04-10 [DFB]
NetBSD 6.0.5		2014-04-12 [NDB]
NetBSD 6.1.4		2014-04-12 [NDB]
OpenBSD 5.5		2014-05-01 [OBD]
DragonFly 3.8.0		2014-06-04 [DFB]
DragonFly 3.8.1		2014-06-16 [DFB]
DragonFly 3.6.3		2014-06-17 [DFB]
FreeBSD 9.3		2014-07-05 [FBD]
DragonFly 3.8.2		2014-08-08 [DFB]
NetBSD 6.1.5		2014-09-22 [NBD]
Mac OS X 10.10		2014-10-16 [APL]
OpenBSD 5.6		2014-11-01 [OBD]
FreeBSD 10.1		2014-11-14 [FBD]
DragonFly 4.0.1		2014-11-25 [DFB]
DragonFly 4.0.2		2015-01-07 [DFB]
DragonFly 4.0.3		2015-01-21 [DFB]
DragonFly 4.0.4		2015-03-09 [DFB]
DragonFly 4.0.5		2015-03-23 [DFB]
OpenBSD 5.7		2015-05-01 [OBD]
DragonFly 4.2.0		2015-06-29 [DFB]
FreeBSD 10.2            2015-08-13 [FBD]
NetBSD 7.0		2015-09-25 [NBD]
OS X 10.11		2015-09-30 [APL]
OpenBSD 5.8		2015-10-18 [OBD]
DragonFly 4.4.1		2015-12-07 [DFB]
OpenBSD 5.9		2016-03-29 [OBD]
FreeBSD 10.3		2016-04-04 [FBD]
NetBSD 7.0.1		2016-05-22 [NBD]
DragonFly 4.6.0		2016-08-02 [DFB]
OpenBSD 6.0		2016-09-01 [OBD]
FreeBSD 11.0		2016-10-10 [FBD]
NetBSD 7.1		2017-03-11 [NBD]

Bibliography
------------------------

Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and John
Quarterman. The Design and Implementation of the 4.3BSD UNIX Operating
System. Reading, Mass. Addison-Wesley, 1989. ISBN 0-201-06196-1

Salus, Peter H. A quarter century of UNIX. Addison-Wesley Publishing
Company, Inc., 1994. ISBN 0-201-54777-5

McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John
Quarterman. The Design and Implementation of the 4.4BSD Operating
System. Reading, Mass. Addison-Wesley, 1996. ISBN 0-201-54979-4

McKusick, Marshall Kirk, George Neville-Neil. The Design and
Implementation of the FreeBSD Operating System.
Addison-Wesley Professional, Published: Aug 2, 2004. ISBN 0-201-70245-2

McKusick, Marshall Kirk, George Neville-Neil, Robert Watson. The
Design and Implementation of the FreeBSD Operating System, 2nd Edition.
Pearson Education, Inc., 2014. ISBN 0-321-96897-2

Doug McIlroy. Research Unix Reader.

Michael G. Brown. The Role of BSD in the Development of Unix.
Presented to the Tasmanian Unix Special Interest Group of the
Australian Computer Society, Hobart, August 1993.

Peter H. Salus. Unix at 25. Byte Magazine, October 1994.
URL: http://www.byte.com/art/9410/sec8/art3.htm

Andreas Klemm, Lars Köller. If you're going to San Francisco ...
Die freien BSD-Varianten von Unix. c't April 1997, page 368ff.

BSD Release Announcements collection.
URL: http://www.FreeBSD.org/releases/

BSD Hypertext Man Pages
URL: http://www.FreeBSD.org/cgi/man.cgi

UNIX history graphing project
URL: http://minnie.tuhs.org/Unix_History/index.html

UNIX history
URL: http://www.levenez.com/unix/

James Howard: The BSD Family Tree
URL: http://ezine.daemonnews.org/200104/bsd_family.html
("what are the differences between FreeBSD, NetBSD, and OpenBSD?")


Acknowledgments
---------------

Josh Gilliam for suggestions, bug fixes, and finding very old
original BSD announcements from Usenet or tapes.

Steven M. Schultz for providing 2.8BSD, 2.10BSD, 2.11BSD manual pages.

--
Copyright (c) 1997-2012 Wolfram Schneider 
URL: http://svnweb.freebsd.org/base/head/share/misc/bsd-family-tree

$FreeBSD$

while loop in csh

This made my day, while loop in one line -one liner- under csh

printf “while ( 1 ) \n df -m \n echo ‘remaining space’ \n  sleep 60 \n end” | csh -f

 Of course, you could install bash but that can make our system vulnerable and also we’d loose the fun of using csh & tcsh

Bandwidth limiting on OS-X [Yosemite, El Capitan or *BSD]

Since Yosemite OS-X is not using ipfw but pf. So if you’re using those ipfw commands to limit your bandwidth, well… they won’t work. You’ll have to learn and implement some pf rules. The usage of it is pretty much the same as on *BSD. I was about to write some words about it when I found the one below on Reddit written by ClapsOn2and4. Great and helpful article!

…. To approach this, the first step is to observe the IPs you are sending to when doing amazon uploads. I’m a unix fellow, so I’ll show you how to do this using traditional unix tools. If you’ve never used Terminal in OS X, go read or watch a basic tutorial or two until you’re comfortable with the idea of running basic commands (including ‘sudo’). When you’re ready, get an amazon upload ready and then open Terminal and run the following command:

sudo tcpdump -q -n -i pktap -k

(‘sudo’ will want your OS X account password, as it runs a command with elevated privileges. The password won’t be shown as you type it, not even as bullets. Be careful with sudo 🙂 (also note that tcpdump’s ability to show application names is unique to OS X)

Start your amazon upload. You should see a bunch of scrolling in the Terminal window. Wait a few seconds, then type control-c in Terminal to terminate the tcpdump command and stop the scrolling. Now examine the output (scroll up if needed) and look for lines containing references to Amazon Cloud Drive (perhaps a little truncated), such as:

20:28:04.332600 (en0, proc Amazon Cloud Dr:11843, svc BE, out) IP 192.168.2.89.50917 > 107.23.224.190.443: tcp 1448

The above line logs some information about an outbound packet (note the word ‘out’ before the close paren). The source address (i.e. my computer) is the one on the left of the ‘>’, 192.168.2.89, and the remote address is on the right of the ‘>’, 107.23.224.190, which resolves to ec2-107-23-224-190.compute-1.amazonaws.com. Note that the local and destination ports (50917 and 443, respectively) are displayed right after each IP address in the tcpdump output.

You could then apply the bandwidth limiting rule to any packets sent to 107.23.224.190, but it’s likely that your uploads might also be sent to other nearby amazon servers. To find the range of addresses used by Amazon that this address is inside, we can use the ‘whois’ command (back in Terminal) to look up various information about the IP address, and filter the output of the whois command with grep to only show the line including the word NetRange (the info we want):

╭─ andre@foci ~
╰─ $ whois 107.23.224.190 | grep NetRange
NetRange:       107.20.0.0 - 107.23.255.255

There are several ways to express an IP range, but one common way typically supported by firewalls is CIDR notation, which looks like an IP address followed by a slash followed by the number of bits in the netmask, e.g. 192.168.42.42/24. To express the range of addresses returned by the whois command in CIDR notation, we can use an online subnet calculator, or a local program such as whatmask. Feed the amazon server IP to the subnet calculator, then pick a subnet size and calculate. The results include the first and last usable host addresses of that server’s subnet for the specified mask. Keep trying different masks until the first and last addresses (almost) line up with the NetRange info from whois. I say ‘almost’ because the NetRange info includes the network address and broadcast address, but the subnet calculator calls those out separately, so the first / last address will each be off by one. Smaller masks specify larger ranges of addresses. In this case, the CIDR notation we’re looking for is 107.23.224.190/14 (a relatively large subnet):

First host:  107.20.0.1
 Last host:  107.23.255.254

In the firewall rule that sends traffic to the bandwidth limited queue, specify (for this example, ymmv) 107.23.224.190/14 as the remote address (aside: this would more commonly be written by using the first address in the subnet: 107.20.0.0/14, which means the same thing but looks cleaner, however any address in the range is fine).

A complete example of how to configure this without Murus is codified in the following script, which defines a PF table called <amazonws> to hold all the subnets, read from a text file. Create a file called amazonws and put subnet entries in it, one per line. In the script, edit the path in the ‘table <amazonws>’ line to point to the file you created. Also edit the bandwidth limit on the ‘dnctl pipe’ line as desired.

#!/bin/bash

# Reset dummynet to default config
dnctl -f flush

# Compose an addendum to the default config; creates a new anchor
# and a table whose contents are loaded from the specified file
read -d '' -r PF <<EOF
dummynet-anchor "amazon.bw"
anchor "amazon.bw"
table <amazonws> persist file "/Users/andre/Documents/amazonws"
EOF

# Reset PF to default config and apply our addendum
(cat /etc/pf.conf && echo "$PF") | pfctl -q -f -

# Configure the new anchor
cat <<EOF | pfctl -q -a amazon.bw -f -
no dummynet quick on lo0 all
dummynet out proto tcp from any to <amazonws> port 1:65535 pipe 1
EOF

# Create the dummynet queue
dnctl pipe 1 config bw 1Mbit/s

# Activate PF
pfctl -E

To use the script, put the above in a file, e.g. called amazon.bw, then make the file executable, and run it with sudo:

chmod +x amazon.bw
sudo ./amazon.bw

To make it run automatically at startup, you could create a launchd file for it, or add it to crontab using the special @reboot crontab interval

To disable PF:

sudo pfctl -d

To reset PF to Apple defaults:

sudo dnctl flush
sudo pfctl -f /etc/pf.conf

If this works for a while and then stops working, that’s probably because you are now uploading to an address in a different subnet. Do the above steps again to find the new amazon server address, then find the subnet for that address, and add it to the amazonws file, and re-run the script.