<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.jcihosting.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=76.89.76.68</id>
	<title>JCWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.jcihosting.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=76.89.76.68"/>
	<link rel="alternate" type="text/html" href="https://wiki.jcihosting.com/index.php?title=Special:Contributions/76.89.76.68"/>
	<updated>2026-09-01T08:49:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.jcihosting.com/index.php?title=Data_Center_Notes&amp;diff=1213</id>
		<title>Data Center Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.jcihosting.com/index.php?title=Data_Center_Notes&amp;diff=1213"/>
		<updated>2013-04-11T18:27:08Z</updated>

		<summary type="html">&lt;p&gt;76.89.76.68: /* Spare serial console */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Contacts =&lt;br /&gt;
&lt;br /&gt;
== Castle Access / Redit ==&lt;br /&gt;
858.836.0202 &lt;br /&gt;
&lt;br /&gt;
nocstaff@redit.com&lt;br /&gt;
&lt;br /&gt;
nocstaff@castleaccess.com&lt;br /&gt;
&lt;br /&gt;
jcsupport@castleaccess.com (text pager). &lt;br /&gt;
&lt;br /&gt;
If not calling from a number listed on their authorized contact list, be prepared to provide phone password&lt;br /&gt;
&lt;br /&gt;
Rack depth 29 1/4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== I2b Networks ==&lt;br /&gt;
&lt;br /&gt;
http://i2bnetworks.com/support/support-customer_service&lt;br /&gt;
&lt;br /&gt;
866.915.8500&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Castle =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spare serial console ==&lt;br /&gt;
There is a blue spare serial console cable (with adapter) hanging in cabinet 3-5. Connect to it with &amp;lt;tt&amp;gt;tip spare&amp;lt;/tt&amp;gt; on the console server. You may need to adjust the speed in the &amp;lt;tt&amp;gt;/etc/remote&amp;lt;/tt&amp;gt; file first. The cable is long enough to reach a few cabinets away.&lt;br /&gt;
&lt;br /&gt;
== cable color coding ==&lt;br /&gt;
* blue &amp;amp; white pair: trunk lines from remote switches to p1a/b, A/B drops from castle&lt;br /&gt;
* white: cross connects&lt;br /&gt;
* yellow: public network&lt;br /&gt;
* green: private network&lt;br /&gt;
* orange: serial console&lt;br /&gt;
* red: special&lt;br /&gt;
&lt;br /&gt;
== cross connect mapping ==&lt;br /&gt;
(this is out of date, many probably aren&#039;t there any longer)&lt;br /&gt;
&lt;br /&gt;
230809 &amp;lt;-&amp;gt; 220809&amp;lt;br /&amp;gt;&lt;br /&gt;
130903 &amp;lt;-&amp;gt; 220808&amp;lt;br /&amp;gt;&lt;br /&gt;
130902 &amp;lt;-&amp;gt; 220807&amp;lt;br /&amp;gt;&lt;br /&gt;
120302 &amp;lt;-&amp;gt; 110502&amp;lt;br /&amp;gt;&lt;br /&gt;
120303 &amp;lt;-&amp;gt; 120803?&amp;lt;br /&amp;gt;&lt;br /&gt;
130703 &amp;lt;-&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
230709 &amp;lt;-&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
220308 &amp;lt;-&amp;gt; 231008&amp;lt;br /&amp;gt;&lt;br /&gt;
220309 &amp;lt;-&amp;gt; 231009&amp;lt;br /&amp;gt;&lt;br /&gt;
230708 &amp;lt;-&amp;gt; 240908 (switch P10)&amp;lt;br /&amp;gt;&lt;br /&gt;
131002 &amp;lt;-&amp;gt; 140902 (serial switch P10)&amp;lt;br /&amp;gt;&lt;br /&gt;
131003 &amp;lt;-&amp;gt; 140703 (serial console)&amp;lt;br /&amp;gt;&lt;br /&gt;
230607 &amp;lt;-&amp;gt; 260407 (serial switch P11)&amp;lt;br /&amp;gt;&lt;br /&gt;
230608 &amp;lt;-&amp;gt; 260508 (serial switch P12)&amp;lt;br /&amp;gt;&lt;br /&gt;
230609 &amp;lt;-&amp;gt; 260409 (switch P1 cross connect)&amp;lt;br /&amp;gt;&lt;br /&gt;
231007 &amp;lt;-&amp;gt; 261707 (serial switch P14)&amp;lt;br /&amp;gt;&lt;br /&gt;
130702 &amp;lt;-&amp;gt; 161603 (switch P13)&amp;lt;br /&amp;gt;&lt;br /&gt;
230707 &amp;lt;-&amp;gt; 261607 (serial switch P13)&amp;lt;br /&amp;gt;&lt;br /&gt;
130603 &amp;lt;-&amp;gt; 140803 (serial switch P15)&amp;lt;br /&amp;gt;&lt;br /&gt;
161602 &amp;lt;-&amp;gt; 130602&amp;lt;br /&amp;gt;&lt;br /&gt;
Cabinet 06-17 port 1 to cabinet 04-08 port 1 ??&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open ports&lt;br /&gt;
&lt;br /&gt;
3-6&amp;lt;br /&amp;gt;&lt;br /&gt;
130601 2&lt;br /&gt;
&lt;br /&gt;
3-5&amp;lt;br /&amp;gt;&lt;br /&gt;
all open&lt;br /&gt;
&lt;br /&gt;
== spare drives ==&lt;br /&gt;
(in 3-6)&lt;br /&gt;
&lt;br /&gt;
st373307LC white sled #5&amp;lt;br /&amp;gt;&lt;br /&gt;
st373307LC white sled #4&amp;lt;br /&amp;gt;&lt;br /&gt;
ST3146807LC no sled&amp;lt;br /&amp;gt;&lt;br /&gt;
ST373455SS dell sled&amp;lt;br /&amp;gt;&lt;br /&gt;
ST373307LC white sled #0&amp;lt;br /&amp;gt;&lt;br /&gt;
ST373307LC white sled #1&amp;lt;br /&amp;gt;&lt;br /&gt;
146G SAS&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IP allocation ==&lt;br /&gt;
&lt;br /&gt;
We own the following IP block: 69.55.224.0/20&lt;br /&gt;
Which consists of:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;69.55.224.0/24&lt;br /&gt;
69.55.225.0/24&lt;br /&gt;
69.55.226.0/24&lt;br /&gt;
69.55.227.0/24&lt;br /&gt;
69.55.228.0/24&lt;br /&gt;
69.55.229.0/24 (announced at i2b)&lt;br /&gt;
69.55.230.0/24 (internal use and “temp IPs”)&lt;br /&gt;
69.55.231.0/24 (announced at i2b)&lt;br /&gt;
69.55.232.0/24&lt;br /&gt;
69.55.233.0/24 (dedicated customers, internal use)&lt;br /&gt;
69.55.234.0/24&lt;br /&gt;
69.55.235.0/24&lt;br /&gt;
69.55.236.0/24&lt;br /&gt;
69.55.237.0/24&lt;br /&gt;
69.55.238.0/24&lt;br /&gt;
69.55.239.0/24 (“bad boy” block)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All class C blocks above are subnetted as 255.255.255.0 and have their gateway at .1 (i.e. 69.55.224.12’s gateway is 69.55.224.1)&lt;br /&gt;
&lt;br /&gt;
The exception to this the 233 block which is subnetted up for use by dedicated customers and for some of our internal  (routing) equipment. Here’s how that block is chopped up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Range		Mask	Slash	Hosts	Usage&lt;br /&gt;
0-127		.128	25	126	dedicated’s (so any customer on this block has a DG of .1 and NM of 255.255.255.128)&lt;br /&gt;
128-143	.240	28	14	&lt;br /&gt;
144-151	.248	29	6	&lt;br /&gt;
152-159	.248	29	6	fw external&lt;br /&gt;
160-167	.248	29	6	fw internal&lt;br /&gt;
168-183	.240	28	14		&lt;br /&gt;
184-191	.248	29	6	&lt;br /&gt;
192-223	.224	27	30	nat&lt;br /&gt;
224-255	.224	27	30	dedicated’s	DG: 69.55.233.225 (unverified)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== D800 laptop ==&lt;br /&gt;
&lt;br /&gt;
There is a Dell D800 laptop in cabinet 3-6 for use when at Castle (and to access via RDP when needed).&lt;br /&gt;
&lt;br /&gt;
It is nat&#039;d as follows:&lt;br /&gt;
&lt;br /&gt;
69.55.233.197 &amp;lt;=&amp;gt; 10.1.4.240&lt;br /&gt;
&lt;br /&gt;
(it&#039;s on the private net)&lt;br /&gt;
&lt;br /&gt;
== USB drive ==&lt;br /&gt;
&lt;br /&gt;
We have a floating USB drive at castle, used for booting machines up in order to do BIOS updates or whatever.&lt;br /&gt;
&lt;br /&gt;
It lives on virt16&lt;br /&gt;
&lt;br /&gt;
See [[Virtuozzo_/_Linux_Reference#Mount.2Fedit_USB_drive_on_Linux|edit USB drive on Linux]] for more info.&lt;br /&gt;
&lt;br /&gt;
= i2b =&lt;br /&gt;
&lt;br /&gt;
== cable color coding ==&lt;br /&gt;
* white: drops from i2b, i2b network&lt;br /&gt;
* yellow: public JC network&lt;br /&gt;
* green: private network&lt;br /&gt;
* orange: serial console&lt;/div&gt;</summary>
		<author><name>76.89.76.68</name></author>
	</entry>
	<entry>
		<id>https://wiki.jcihosting.com/index.php?title=Data_Center_Notes&amp;diff=1212</id>
		<title>Data Center Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.jcihosting.com/index.php?title=Data_Center_Notes&amp;diff=1212"/>
		<updated>2013-04-11T18:26:22Z</updated>

		<summary type="html">&lt;p&gt;76.89.76.68: /* Castle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Contacts =&lt;br /&gt;
&lt;br /&gt;
== Castle Access / Redit ==&lt;br /&gt;
858.836.0202 &lt;br /&gt;
&lt;br /&gt;
nocstaff@redit.com&lt;br /&gt;
&lt;br /&gt;
nocstaff@castleaccess.com&lt;br /&gt;
&lt;br /&gt;
jcsupport@castleaccess.com (text pager). &lt;br /&gt;
&lt;br /&gt;
If not calling from a number listed on their authorized contact list, be prepared to provide phone password&lt;br /&gt;
&lt;br /&gt;
Rack depth 29 1/4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== I2b Networks ==&lt;br /&gt;
&lt;br /&gt;
http://i2bnetworks.com/support/support-customer_service&lt;br /&gt;
&lt;br /&gt;
866.915.8500&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spare serial console ==&lt;br /&gt;
There is a blue spare serial console cable (with adapter) hanging in cabinet 3-5. Connect to it with &amp;lt;tt&amp;gt;tip spare&amp;lt;/tt&amp;gt; on the console server. You may need to adjust the speed in the &amp;lt;tt&amp;gt;/etc/remote&amp;lt;/tt&amp;gt; file first. The cable is long enough to reach a few cabinets away.&lt;br /&gt;
&lt;br /&gt;
== cable color coding ==&lt;br /&gt;
* blue &amp;amp; white pair: trunk lines from remote switches to p1a/b, A/B drops from castle&lt;br /&gt;
* white: cross connects&lt;br /&gt;
* yellow: public network&lt;br /&gt;
* green: private network&lt;br /&gt;
* orange: serial console&lt;br /&gt;
* red: special&lt;br /&gt;
&lt;br /&gt;
== cross connect mapping ==&lt;br /&gt;
(this is out of date, many probably aren&#039;t there any longer)&lt;br /&gt;
&lt;br /&gt;
230809 &amp;lt;-&amp;gt; 220809&amp;lt;br /&amp;gt;&lt;br /&gt;
130903 &amp;lt;-&amp;gt; 220808&amp;lt;br /&amp;gt;&lt;br /&gt;
130902 &amp;lt;-&amp;gt; 220807&amp;lt;br /&amp;gt;&lt;br /&gt;
120302 &amp;lt;-&amp;gt; 110502&amp;lt;br /&amp;gt;&lt;br /&gt;
120303 &amp;lt;-&amp;gt; 120803?&amp;lt;br /&amp;gt;&lt;br /&gt;
130703 &amp;lt;-&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
230709 &amp;lt;-&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
220308 &amp;lt;-&amp;gt; 231008&amp;lt;br /&amp;gt;&lt;br /&gt;
220309 &amp;lt;-&amp;gt; 231009&amp;lt;br /&amp;gt;&lt;br /&gt;
230708 &amp;lt;-&amp;gt; 240908 (switch P10)&amp;lt;br /&amp;gt;&lt;br /&gt;
131002 &amp;lt;-&amp;gt; 140902 (serial switch P10)&amp;lt;br /&amp;gt;&lt;br /&gt;
131003 &amp;lt;-&amp;gt; 140703 (serial console)&amp;lt;br /&amp;gt;&lt;br /&gt;
230607 &amp;lt;-&amp;gt; 260407 (serial switch P11)&amp;lt;br /&amp;gt;&lt;br /&gt;
230608 &amp;lt;-&amp;gt; 260508 (serial switch P12)&amp;lt;br /&amp;gt;&lt;br /&gt;
230609 &amp;lt;-&amp;gt; 260409 (switch P1 cross connect)&amp;lt;br /&amp;gt;&lt;br /&gt;
231007 &amp;lt;-&amp;gt; 261707 (serial switch P14)&amp;lt;br /&amp;gt;&lt;br /&gt;
130702 &amp;lt;-&amp;gt; 161603 (switch P13)&amp;lt;br /&amp;gt;&lt;br /&gt;
230707 &amp;lt;-&amp;gt; 261607 (serial switch P13)&amp;lt;br /&amp;gt;&lt;br /&gt;
130603 &amp;lt;-&amp;gt; 140803 (serial switch P15)&amp;lt;br /&amp;gt;&lt;br /&gt;
161602 &amp;lt;-&amp;gt; 130602&amp;lt;br /&amp;gt;&lt;br /&gt;
Cabinet 06-17 port 1 to cabinet 04-08 port 1 ??&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open ports&lt;br /&gt;
&lt;br /&gt;
3-6&amp;lt;br /&amp;gt;&lt;br /&gt;
130601 2&lt;br /&gt;
&lt;br /&gt;
3-5&amp;lt;br /&amp;gt;&lt;br /&gt;
all open&lt;br /&gt;
&lt;br /&gt;
== spare drives ==&lt;br /&gt;
(in 3-6)&lt;br /&gt;
&lt;br /&gt;
st373307LC white sled #5&amp;lt;br /&amp;gt;&lt;br /&gt;
st373307LC white sled #4&amp;lt;br /&amp;gt;&lt;br /&gt;
ST3146807LC no sled&amp;lt;br /&amp;gt;&lt;br /&gt;
ST373455SS dell sled&amp;lt;br /&amp;gt;&lt;br /&gt;
ST373307LC white sled #0&amp;lt;br /&amp;gt;&lt;br /&gt;
ST373307LC white sled #1&amp;lt;br /&amp;gt;&lt;br /&gt;
146G SAS&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IP allocation ==&lt;br /&gt;
&lt;br /&gt;
We own the following IP block: 69.55.224.0/20&lt;br /&gt;
Which consists of:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;69.55.224.0/24&lt;br /&gt;
69.55.225.0/24&lt;br /&gt;
69.55.226.0/24&lt;br /&gt;
69.55.227.0/24&lt;br /&gt;
69.55.228.0/24&lt;br /&gt;
69.55.229.0/24 (announced at i2b)&lt;br /&gt;
69.55.230.0/24 (internal use and “temp IPs”)&lt;br /&gt;
69.55.231.0/24 (announced at i2b)&lt;br /&gt;
69.55.232.0/24&lt;br /&gt;
69.55.233.0/24 (dedicated customers, internal use)&lt;br /&gt;
69.55.234.0/24&lt;br /&gt;
69.55.235.0/24&lt;br /&gt;
69.55.236.0/24&lt;br /&gt;
69.55.237.0/24&lt;br /&gt;
69.55.238.0/24&lt;br /&gt;
69.55.239.0/24 (“bad boy” block)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All class C blocks above are subnetted as 255.255.255.0 and have their gateway at .1 (i.e. 69.55.224.12’s gateway is 69.55.224.1)&lt;br /&gt;
&lt;br /&gt;
The exception to this the 233 block which is subnetted up for use by dedicated customers and for some of our internal  (routing) equipment. Here’s how that block is chopped up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Range		Mask	Slash	Hosts	Usage&lt;br /&gt;
0-127		.128	25	126	dedicated’s (so any customer on this block has a DG of .1 and NM of 255.255.255.128)&lt;br /&gt;
128-143	.240	28	14	&lt;br /&gt;
144-151	.248	29	6	&lt;br /&gt;
152-159	.248	29	6	fw external&lt;br /&gt;
160-167	.248	29	6	fw internal&lt;br /&gt;
168-183	.240	28	14		&lt;br /&gt;
184-191	.248	29	6	&lt;br /&gt;
192-223	.224	27	30	nat&lt;br /&gt;
224-255	.224	27	30	dedicated’s	DG: 69.55.233.225 (unverified)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== D800 laptop ==&lt;br /&gt;
&lt;br /&gt;
There is a Dell D800 laptop in cabinet 3-6 for use when at Castle (and to access via RDP when needed).&lt;br /&gt;
&lt;br /&gt;
It is nat&#039;d as follows:&lt;br /&gt;
&lt;br /&gt;
69.55.233.197 &amp;lt;=&amp;gt; 10.1.4.240&lt;br /&gt;
&lt;br /&gt;
(it&#039;s on the private net)&lt;br /&gt;
&lt;br /&gt;
== USB drive ==&lt;br /&gt;
&lt;br /&gt;
We have a floating USB drive at castle, used for booting machines up in order to do BIOS updates or whatever.&lt;br /&gt;
&lt;br /&gt;
It lives on virt16&lt;br /&gt;
&lt;br /&gt;
See [[Virtuozzo_/_Linux_Reference#Mount.2Fedit_USB_drive_on_Linux|edit USB drive on Linux]] for more info.&lt;br /&gt;
&lt;br /&gt;
= i2b =&lt;br /&gt;
&lt;br /&gt;
== cable color coding ==&lt;br /&gt;
* white: drops from i2b, i2b network&lt;br /&gt;
* yellow: public JC network&lt;br /&gt;
* green: private network&lt;br /&gt;
* orange: serial console&lt;/div&gt;</summary>
		<author><name>76.89.76.68</name></author>
	</entry>
	<entry>
		<id>https://wiki.jcihosting.com/index.php?title=Data_Center_Notes&amp;diff=1211</id>
		<title>Data Center Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.jcihosting.com/index.php?title=Data_Center_Notes&amp;diff=1211"/>
		<updated>2013-04-11T18:23:50Z</updated>

		<summary type="html">&lt;p&gt;76.89.76.68: /* Contacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Castle =&lt;br /&gt;
&lt;br /&gt;
= Contacts =&lt;br /&gt;
&lt;br /&gt;
== Castle Access / Redit ==&lt;br /&gt;
858.836.0202 &lt;br /&gt;
&lt;br /&gt;
nocstaff@redit.com&lt;br /&gt;
&lt;br /&gt;
nocstaff@castleaccess.com&lt;br /&gt;
&lt;br /&gt;
jcsupport@castleaccess.com (text pager). &lt;br /&gt;
&lt;br /&gt;
If not calling from a number listed on their authorized contact list, be prepared to provide phone password&lt;br /&gt;
&lt;br /&gt;
Rack depth 29 1/4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== I2b Networks ==&lt;br /&gt;
&lt;br /&gt;
http://i2bnetworks.com/support/support-customer_service&lt;br /&gt;
&lt;br /&gt;
866.915.8500&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spare serial console ==&lt;br /&gt;
There is a blue spare serial console cable (with adapter) hanging in cabinet 3-5. Connect to it with &amp;lt;tt&amp;gt;tip spare&amp;lt;/tt&amp;gt; on the console server. You may need to adjust the speed in the &amp;lt;tt&amp;gt;/etc/remote&amp;lt;/tt&amp;gt; file first. The cable is long enough to reach a few cabinets away.&lt;br /&gt;
&lt;br /&gt;
== cable color coding ==&lt;br /&gt;
* blue &amp;amp; white pair: trunk lines from remote switches to p1a/b, A/B drops from castle&lt;br /&gt;
* white: cross connects&lt;br /&gt;
* yellow: public network&lt;br /&gt;
* green: private network&lt;br /&gt;
* orange: serial console&lt;br /&gt;
* red: special&lt;br /&gt;
&lt;br /&gt;
== cross connect mapping ==&lt;br /&gt;
(this is out of date, many probably aren&#039;t there any longer)&lt;br /&gt;
&lt;br /&gt;
230809 &amp;lt;-&amp;gt; 220809&amp;lt;br /&amp;gt;&lt;br /&gt;
130903 &amp;lt;-&amp;gt; 220808&amp;lt;br /&amp;gt;&lt;br /&gt;
130902 &amp;lt;-&amp;gt; 220807&amp;lt;br /&amp;gt;&lt;br /&gt;
120302 &amp;lt;-&amp;gt; 110502&amp;lt;br /&amp;gt;&lt;br /&gt;
120303 &amp;lt;-&amp;gt; 120803?&amp;lt;br /&amp;gt;&lt;br /&gt;
130703 &amp;lt;-&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
230709 &amp;lt;-&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
220308 &amp;lt;-&amp;gt; 231008&amp;lt;br /&amp;gt;&lt;br /&gt;
220309 &amp;lt;-&amp;gt; 231009&amp;lt;br /&amp;gt;&lt;br /&gt;
230708 &amp;lt;-&amp;gt; 240908 (switch P10)&amp;lt;br /&amp;gt;&lt;br /&gt;
131002 &amp;lt;-&amp;gt; 140902 (serial switch P10)&amp;lt;br /&amp;gt;&lt;br /&gt;
131003 &amp;lt;-&amp;gt; 140703 (serial console)&amp;lt;br /&amp;gt;&lt;br /&gt;
230607 &amp;lt;-&amp;gt; 260407 (serial switch P11)&amp;lt;br /&amp;gt;&lt;br /&gt;
230608 &amp;lt;-&amp;gt; 260508 (serial switch P12)&amp;lt;br /&amp;gt;&lt;br /&gt;
230609 &amp;lt;-&amp;gt; 260409 (switch P1 cross connect)&amp;lt;br /&amp;gt;&lt;br /&gt;
231007 &amp;lt;-&amp;gt; 261707 (serial switch P14)&amp;lt;br /&amp;gt;&lt;br /&gt;
130702 &amp;lt;-&amp;gt; 161603 (switch P13)&amp;lt;br /&amp;gt;&lt;br /&gt;
230707 &amp;lt;-&amp;gt; 261607 (serial switch P13)&amp;lt;br /&amp;gt;&lt;br /&gt;
130603 &amp;lt;-&amp;gt; 140803 (serial switch P15)&amp;lt;br /&amp;gt;&lt;br /&gt;
161602 &amp;lt;-&amp;gt; 130602&amp;lt;br /&amp;gt;&lt;br /&gt;
Cabinet 06-17 port 1 to cabinet 04-08 port 1 ??&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open ports&lt;br /&gt;
&lt;br /&gt;
3-6&amp;lt;br /&amp;gt;&lt;br /&gt;
130601 2&lt;br /&gt;
&lt;br /&gt;
3-5&amp;lt;br /&amp;gt;&lt;br /&gt;
all open&lt;br /&gt;
&lt;br /&gt;
== spare drives ==&lt;br /&gt;
(in 3-6)&lt;br /&gt;
&lt;br /&gt;
st373307LC white sled #5&amp;lt;br /&amp;gt;&lt;br /&gt;
st373307LC white sled #4&amp;lt;br /&amp;gt;&lt;br /&gt;
ST3146807LC no sled&amp;lt;br /&amp;gt;&lt;br /&gt;
ST373455SS dell sled&amp;lt;br /&amp;gt;&lt;br /&gt;
ST373307LC white sled #0&amp;lt;br /&amp;gt;&lt;br /&gt;
ST373307LC white sled #1&amp;lt;br /&amp;gt;&lt;br /&gt;
146G SAS&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IP allocation ==&lt;br /&gt;
&lt;br /&gt;
We own the following IP block: 69.55.224.0/20&lt;br /&gt;
Which consists of:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;69.55.224.0/24&lt;br /&gt;
69.55.225.0/24&lt;br /&gt;
69.55.226.0/24&lt;br /&gt;
69.55.227.0/24&lt;br /&gt;
69.55.228.0/24&lt;br /&gt;
69.55.229.0/24 (announced at i2b)&lt;br /&gt;
69.55.230.0/24 (internal use and “temp IPs”)&lt;br /&gt;
69.55.231.0/24 (announced at i2b)&lt;br /&gt;
69.55.232.0/24&lt;br /&gt;
69.55.233.0/24 (dedicated customers, internal use)&lt;br /&gt;
69.55.234.0/24&lt;br /&gt;
69.55.235.0/24&lt;br /&gt;
69.55.236.0/24&lt;br /&gt;
69.55.237.0/24&lt;br /&gt;
69.55.238.0/24&lt;br /&gt;
69.55.239.0/24 (“bad boy” block)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All class C blocks above are subnetted as 255.255.255.0 and have their gateway at .1 (i.e. 69.55.224.12’s gateway is 69.55.224.1)&lt;br /&gt;
&lt;br /&gt;
The exception to this the 233 block which is subnetted up for use by dedicated customers and for some of our internal  (routing) equipment. Here’s how that block is chopped up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Range		Mask	Slash	Hosts	Usage&lt;br /&gt;
0-127		.128	25	126	dedicated’s (so any customer on this block has a DG of .1 and NM of 255.255.255.128)&lt;br /&gt;
128-143	.240	28	14	&lt;br /&gt;
144-151	.248	29	6	&lt;br /&gt;
152-159	.248	29	6	fw external&lt;br /&gt;
160-167	.248	29	6	fw internal&lt;br /&gt;
168-183	.240	28	14		&lt;br /&gt;
184-191	.248	29	6	&lt;br /&gt;
192-223	.224	27	30	nat&lt;br /&gt;
224-255	.224	27	30	dedicated’s	DG: 69.55.233.225 (unverified)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== D800 laptop ==&lt;br /&gt;
&lt;br /&gt;
There is a Dell D800 laptop in cabinet 3-6 for use when at Castle (and to access via RDP when needed).&lt;br /&gt;
&lt;br /&gt;
It is nat&#039;d as follows:&lt;br /&gt;
&lt;br /&gt;
69.55.233.197 &amp;lt;=&amp;gt; 10.1.4.240&lt;br /&gt;
&lt;br /&gt;
(it&#039;s on the private net)&lt;br /&gt;
&lt;br /&gt;
== USB drive ==&lt;br /&gt;
&lt;br /&gt;
We have a floating USB drive at castle, used for booting machines up in order to do BIOS updates or whatever.&lt;br /&gt;
&lt;br /&gt;
It lives on virt16&lt;br /&gt;
&lt;br /&gt;
See [[Virtuozzo_/_Linux_Reference#Mount.2Fedit_USB_drive_on_Linux|edit USB drive on Linux]] for more info.&lt;br /&gt;
&lt;br /&gt;
= i2b =&lt;br /&gt;
&lt;br /&gt;
== cable color coding ==&lt;br /&gt;
* white: drops from i2b, i2b network&lt;br /&gt;
* yellow: public JC network&lt;br /&gt;
* green: private network&lt;br /&gt;
* orange: serial console&lt;/div&gt;</summary>
		<author><name>76.89.76.68</name></author>
	</entry>
	<entry>
		<id>https://wiki.jcihosting.com/index.php?title=Jail_Server_Install&amp;diff=1210</id>
		<title>Jail Server Install</title>
		<link rel="alternate" type="text/html" href="https://wiki.jcihosting.com/index.php?title=Jail_Server_Install&amp;diff=1210"/>
		<updated>2013-04-10T19:31:36Z</updated>

		<summary type="html">&lt;p&gt;76.89.76.68: /* Perc5/i, 6/i */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 9.x =&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
&lt;br /&gt;
Setup instructions below assume this is DELL 2950 with an LSI-based SAS RAID card.&lt;br /&gt;
&lt;br /&gt;
Server is at castle, connected to pub, private, serial and DRAC&lt;br /&gt;
&lt;br /&gt;
Assuming OS loading done via IPKVM with ISO mounted via USB&lt;br /&gt;
&lt;br /&gt;
Assumes at 4 drives, 2 mirrors&lt;br /&gt;
&lt;br /&gt;
== Configure server BIOS ==&lt;br /&gt;
&lt;br /&gt;
setup console redirect, speed 115200&lt;br /&gt;
&lt;br /&gt;
set LCD string to name of server &amp;quot;jail8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set date to GMT&lt;br /&gt;
&lt;br /&gt;
go into RAID bios and setup mirrors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setup DRAC ==&lt;br /&gt;
[[DRAC/RMM#DRAC_setup|DRAC setup]]&lt;br /&gt;
&lt;br /&gt;
== Install OS (sysinstall) ==&lt;br /&gt;
&lt;br /&gt;
boot to bootonly disk for AMD version of FreeBSD, i.e. &amp;lt;tt&amp;gt;FreeBSD-8.3-RELEASE-amd64-bootonly.iso&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when the install menu appears, choose &amp;lt;tt&amp;gt;custom install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== partition menu ===&lt;br /&gt;
move cursor to mfid0, hit space (takes you to partition map screen). If there is only 1 mirror, there will be no option to select a specifit drive: mfid0 will be selected.&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;freebsd standard mbr&#039;&lt;br /&gt;
&lt;br /&gt;
space to &#039;&#039;&#039;un&#039;&#039;&#039;select mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
cursor down to mfid1&amp;lt;br&amp;gt;&lt;br /&gt;
hit space&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;none&#039; for boot mgr (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
space&amp;lt;br&amp;gt;&lt;br /&gt;
(takes you into part. Screen again) &#039;q&#039; to exit&amp;lt;br&amp;gt;&lt;br /&gt;
none for boot mgr&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure both drives (mfid0 and mfid1) are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
=== Label menu ===&lt;br /&gt;
&lt;br /&gt;
Make sure mfid0 is highlighted at the top of the screen, setup the following partitions&lt;br /&gt;
&lt;br /&gt;
/ 512M&amp;lt;br&amp;gt;&lt;br /&gt;
swap 6G&amp;lt;br&amp;gt;&lt;br /&gt;
/var 1G &amp;lt;br&amp;gt;&lt;br /&gt;
/tmp 256M&amp;lt;br&amp;gt;&lt;br /&gt;
/usr 8G&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data1 remaining space &lt;br /&gt;
&lt;br /&gt;
All partitions except / should be setup for soft updates. If not, type &#039;s&#039; to enable for soft updates on all except for / (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1 at the top of the screen&amp;lt;br&amp;gt;&lt;br /&gt;
swap 8G (or 4G if there’s a 3rd drive)&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data2 remaining space &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;q&#039; to save and exit&lt;br /&gt;
&lt;br /&gt;
=== distributions ===&lt;br /&gt;
Choose the following distribudions&lt;br /&gt;
&lt;br /&gt;
* developer (ok to install ports)&lt;br /&gt;
* custom -&amp;gt; lib32&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
=== media ===&lt;br /&gt;
if you are installing via a cd, no need to enter this menu or change anything. Otherwise, choose ftp to install via ftp. You will be prompted to setup networking. You will need to choose a nic (typically bce0 or bce1). Say no to DHCP and IPv6. Hopefully the public nic cable was installed in bce0 so start with that nic and provide the hostname, (public) IP, netmask, gateway and DNS. When configured, it should start pinging. If it doesn&#039;t, have the NOC swap cables. Select any FTP server, usually Main or ftp4.&lt;br /&gt;
&lt;br /&gt;
=== commit ===&lt;br /&gt;
&lt;br /&gt;
this usually takes 12mins&amp;lt;br&amp;gt;&lt;br /&gt;
during the process you may need to select a new ftp mirror, this is not a problem.&amp;lt;br&amp;gt;&lt;br /&gt;
at the conclution of the install you will be prompted to enter the root password (2x) and returned to the configuration menu.&lt;br /&gt;
&lt;br /&gt;
=== add user ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Add&#039;&#039;&#039; user &#039;user&#039;. Defaults for everything is fine, just remember to enter &#039;wheel&#039; in the member group field.&lt;br /&gt;
Do set the password.&lt;br /&gt;
&lt;br /&gt;
=== Setup timezone ===&lt;br /&gt;
&lt;br /&gt;
PT&lt;br /&gt;
&lt;br /&gt;
=== Networking === &lt;br /&gt;
page down to the bottom and enable &#039;[X]&#039; sshd&lt;br /&gt;
&lt;br /&gt;
If you installed via cd, you will need to visit:&amp;lt;br&amp;gt;&lt;br /&gt;
interfaces-&amp;gt;bce0-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
No IPV6&amp;lt;br&amp;gt;&lt;br /&gt;
dhcp=no&amp;lt;br&amp;gt;&lt;br /&gt;
Set hostname, IP, DNS, gateway&amp;lt;br&amp;gt;&lt;br /&gt;
(i.e. setup the nic as indicated above)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exit the install and if you installed via CD, take it out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
== Configure OS, kernel, userland, jail ==&lt;br /&gt;
&lt;br /&gt;
=== double check the date/time ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/resolv.conf ===&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;search johncompanies.com \&lt;br /&gt;
 nameserver 69.55.225.225 \&lt;br /&gt;
 nameserver 69.55.230.3  \&lt;br /&gt;
 nameserver 69.55.229.3&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
=== edit /etc/make.conf ===&lt;br /&gt;
 echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
 KERNCONF=jail4 \&lt;br /&gt;
 BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
=== setup bootloader for console, etc ===&lt;br /&gt;
&lt;br /&gt;
add settings to /boot/loader.conf and /boot.config:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
 echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
 boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable login via serial console ===&lt;br /&gt;
turn off all ttyv&#039;s except 0 and 1 in /etc/ttys and turn on ttyd0, change type to vt100:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
The changed lines should look like:&lt;br /&gt;
&lt;br /&gt;
 ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 # Serial terminals&lt;br /&gt;
 # The &#039;dialup&#039; keyword identifies dialin lines to login, fingerd etc.&lt;br /&gt;
 ttyu0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure &lt;br /&gt;
&lt;br /&gt;
Restart init&lt;br /&gt;
 kill -1 1&lt;br /&gt;
&lt;br /&gt;
At this point you should have a login on console.&lt;br /&gt;
&lt;br /&gt;
To configure serial console access, login to the console server as root and run:&lt;br /&gt;
&lt;br /&gt;
 # vi /etc/remote&lt;br /&gt;
&lt;br /&gt;
following examples there, rename port to server&#039;s hostname, depending on where and which digi box this server is plugged into. Make sure to get speed right too: 115200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate hosts ===&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.10 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.2.3 backup3&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;69.55.230.11 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create ssh key, upload to backup servers ===&lt;br /&gt;
 cd&lt;br /&gt;
 ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup3 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
 ssh backup2 hostname&lt;br /&gt;
 ssh backup1 hostname&lt;br /&gt;
 ssh backup3 hostname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create &amp;amp; populate binaries/scripts dirs ===&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd8.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch deprecated&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
ln -s /usr/local/jail/bin/preboot_md preboot&lt;br /&gt;
ln -s /usr/local/jail/bin/startjail_md startjail&lt;br /&gt;
ln -s /usr/local/jail/bin/stopjail_md stopjail&lt;br /&gt;
&lt;br /&gt;
rehash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit root&#039;s path and login script ===&lt;br /&gt;
&lt;br /&gt;
 vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
alias cjb       cd /usr/local/jail/bin&lt;br /&gt;
alias cd1       cd /mnt/data1&lt;br /&gt;
alias cd2       cd /mnt/data2&lt;br /&gt;
alias cd3       cd /mnt/data3&lt;br /&gt;
alias jtop      jtop lj&lt;br /&gt;
alias j         jobs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add to path be careful to leave a space after bin and make sure the wrapping isn&#039;t broken:  &lt;br /&gt;
 /usr/local/jail/bin &lt;br /&gt;
&lt;br /&gt;
alter the prompt, set the following:&lt;br /&gt;
 set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
&amp;lt;pre&amp;gt;set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the new settings active in current shell:&lt;br /&gt;
 source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== update ports ===&lt;br /&gt;
&lt;br /&gt;
 portsnap fetch&lt;br /&gt;
 portsnap extract&lt;br /&gt;
&lt;br /&gt;
To update later on:&lt;br /&gt;
 portsnap fetch&lt;br /&gt;
 portsnap update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install svn ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv PACKAGESITE &amp;quot;ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-current/Latest/&amp;quot;&lt;br /&gt;
pkg_add subversion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== get latest sources for this release ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr&lt;br /&gt;
mv src/ src.orig&lt;br /&gt;
svn checkout svn://svn.FreeBSD.org/base/stable/9 /usr/src&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To update:&lt;br /&gt;
 make update SVN_UPDATE=yes&lt;br /&gt;
&lt;br /&gt;
=== configure new kernel ===&lt;br /&gt;
&lt;br /&gt;
Pull down the kernel config we are using for this distribution. In this case we use an 8.2 kernel config on 8.3, which is valid. The local file should be the same name as host- &amp;lt;tt&amp;gt;jail3&amp;lt;/tt&amp;gt; in this example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-8.2-amd64 ./jail3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
 vi jail3&lt;br /&gt;
 ident           jail3&lt;br /&gt;
&lt;br /&gt;
Optional, edit &amp;lt;tt&amp;gt;/sys/conf/newvers.sh&amp;lt;/tt&amp;gt; to add &amp;lt;tt&amp;gt;–jc2&amp;lt;/tt&amp;gt; to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
 vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes on kernel configuring: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install patches ===&lt;br /&gt;
&lt;br /&gt;
We don&#039;t have any patches right now. Refer to older FreeBSD version build docs on how that is/was done.&lt;br /&gt;
&lt;br /&gt;
=== build, install kernel and world ===&lt;br /&gt;
&lt;br /&gt;
Rename current generic kernel so it will always be available to boot from. Save room by removing non-needed kernel modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /boot&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
mv zfs.* hold/&lt;br /&gt;
mv opensolaris* hold/&lt;br /&gt;
&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
Note on -DWITHOUT_CLANG: try to do it without including that directive, it may work for you.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld KERNCONF=jail4; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
make -DWITHOUT_CLANG buildworld KERNCONF=jail4; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
~38mins&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mergemaster -p&lt;br /&gt;
You will be prompted to merge, replace or ignore files changed by the src update. In most cases you can &#039;&#039;&#039;d&#039;&#039;&#039;elete the temp (new) files.&lt;br /&gt;
&lt;br /&gt;
 make -DWITHOUT_CLANG installworld&lt;br /&gt;
~34min&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ONLY if this will be a zfs system (not currently used in 8.x):&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /sys/modules/zfs&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
cd /sys/modules/opensolaris&lt;br /&gt;
make &lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  populate devfs ruleset ===&lt;br /&gt;
 scp backup2:/mnt/data4/build/freebsd/devfs.rules.8x /etc/devfs.rules&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/rc.conf with IPs and service settings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.2.103&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_bce1=&amp;quot;inet 10.1.2.103 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bce0=&amp;quot;inet 69.55.229.7 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_bce0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
#rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
#zfs_enable=&amp;quot;YES&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modify IPs, hostname, gateway for this box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure sysctls are set and preserved upon boot ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
vm.pmap.shpgperproc=500\&lt;br /&gt;
security.bsd.unprivileged_read_msgbuf=0\&lt;br /&gt;
kern.maxvnodes=400000&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tuning note: watch vfs.numvnodes while the server is live to get guidance on where to set maxvnodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mount procfs ===&lt;br /&gt;
 echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mkdir -p /usr/compat/linux/proc&lt;br /&gt;
 mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable noatime option ===&lt;br /&gt;
data1 and data2 should look something like (add &#039;,noatime&#039; after &#039;rw&#039;):&lt;br /&gt;
 /dev/mfid0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
 /dev/mfid1s1d           /mnt/data2      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== reboot. Confirm new kernel is loaded, devfs in place ===&lt;br /&gt;
&lt;br /&gt;
 uname -a&lt;br /&gt;
	&lt;br /&gt;
Check devfs rules&lt;br /&gt;
 devfs rule showsets&lt;br /&gt;
 devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
Should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;#  devfs rule showsets&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
&lt;br /&gt;
#  devfs rule -s 3 show&lt;br /&gt;
100 include 1&lt;br /&gt;
207 path pts* unhide&lt;br /&gt;
217 path fd unhide&lt;br /&gt;
218 path fd/* unhide&lt;br /&gt;
300 path ttyp* unhide&lt;br /&gt;
301 path ttyq* unhide&lt;br /&gt;
302 path ttyr* unhide&lt;br /&gt;
303 path ttys* unhide&lt;br /&gt;
304 path ttyP* unhide&lt;br /&gt;
305 path ttyQ* unhide&lt;br /&gt;
306 path ttyR* unhide&lt;br /&gt;
307 path ttyS* unhide&lt;br /&gt;
400 path null unhide&lt;br /&gt;
500 path zero unhide&lt;br /&gt;
600 path random unhide&lt;br /&gt;
610 path urandom unhide&lt;br /&gt;
700 path mem unhide&lt;br /&gt;
710 path kmem unhide&lt;br /&gt;
810 path mdctl unhide&lt;br /&gt;
900 path stdin unhide&lt;br /&gt;
910 path stdout unhide&lt;br /&gt;
920 path stderr unhide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Install raid mgmt tool ===&lt;br /&gt;
&lt;br /&gt;
==== Perc5/i, 6/i ====&lt;br /&gt;
Pull over cli from previous system (jail9)&lt;br /&gt;
 scp root@10.1.4.109:&amp;quot;/usr/local/sbin/mega*&amp;quot; /usr/local/sbin/&lt;br /&gt;
 scp root@10.1.4.109:/usr/local/libexec/MegaCli /usr/local/libexec/MegaCli &lt;br /&gt;
&lt;br /&gt;
These are linux-based tools. This will require linux base...which you might install via:&lt;br /&gt;
&lt;br /&gt;
 pkg_add -r linux_base&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
 rehash; megacli ldinfo lall a0&lt;br /&gt;
or&lt;br /&gt;
 megarc -ldInfo -a0 -Lall&lt;br /&gt;
(2850)&lt;br /&gt;
&lt;br /&gt;
however, linux does seem to be installed already so we don&#039;t need to pkg_add or port install or rsync anything over from a current system.&lt;br /&gt;
&lt;br /&gt;
==== 2850 PERC 4e/Di- no linux ====&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/distfiles/&lt;br /&gt;
fetch http://backup01.best-hosting.ru/pub/FreeBSD/ports/distfiles/dr_freebsd_1.51.zip&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
megarc -dispCfg -a0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install rsync from ports ===&lt;br /&gt;
 cd /usr/ports/net/rsync&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure inetd to respond to mrtg load queries ===&lt;br /&gt;
 echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install perl ===&lt;br /&gt;
 cd /usr/ports/lang/perl5.12&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install bb client ===&lt;br /&gt;
&lt;br /&gt;
Compiling from source on AMD64 will not work. So, we use a linux-compiled version and rely on linux compat. &lt;br /&gt;
&lt;br /&gt;
 adduser&lt;br /&gt;
&lt;br /&gt;
Output/response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cd /usr/home/bb&lt;br /&gt;
 scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
 tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 10.1.4.103 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
Edit for machine name and private IP.&lt;br /&gt;
&lt;br /&gt;
if this machine is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.2 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
&lt;br /&gt;
MACHINE=&amp;quot;jail3,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&amp;lt;/pre&amp;gt;&lt;br /&gt;
Edit for machine name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put in script to start bb @ boot:&lt;br /&gt;
 echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
 chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
=== remove reserve space ===&lt;br /&gt;
&amp;lt;pre&amp;gt;cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup rdate ===&lt;br /&gt;
 cd /usr/ports/sysutils/rdate&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 0 0 * * * /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
 /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
We used to use ntpd, however it listens on jail IPs which is a security risk. So we stopped. Here&#039;s the old instructions:&lt;br /&gt;
install new ntp from ports&lt;br /&gt;
 /usr/ports/net/ntp&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&amp;lt;/pre&amp;gt;(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make a data partition ===&lt;br /&gt;
&lt;br /&gt;
IF you didn&#039;t format the data partition during sysinstall:&lt;br /&gt;
&lt;br /&gt;
Create a g partition on 2nd mirror – bsdlabel no longer works (below shows d partition made with sysinstall):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;jail8 /usr/home/bb# gpart show&lt;br /&gt;
=&amp;gt;       63  285474735  mfid0  MBR  (136G)&lt;br /&gt;
         63  285458922      1  freebsd  [active]  (136G)&lt;br /&gt;
  285458985      15813         - free -  (7.7M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  285458922  mfid0s1  BSD  (136G)&lt;br /&gt;
          0     524288        1  freebsd-ufs  (256M)&lt;br /&gt;
     524288   12582912        2  freebsd-swap  (6.0G)&lt;br /&gt;
   13107200     524288        4  freebsd-ufs  (256M)&lt;br /&gt;
   13631488     524288        5  freebsd-ufs  (256M)&lt;br /&gt;
   14155776    8388608        6  freebsd-ufs  (4.0G)&lt;br /&gt;
   22544384  262914538        7  freebsd-ufs  (125G)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;       63  584843175  mfid1  MBR  (279G)&lt;br /&gt;
         63  584830197      1  freebsd  [active]  (279G)&lt;br /&gt;
  584830260      12978         - free -  (6.3M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
jail8 /usr/home/bb# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart list mfid1s1&lt;br /&gt;
&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
2. Name: mfid1s1d&lt;br /&gt;
   Mediasize: 290843126272 (271G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r0w0e0&lt;br /&gt;
   rawtype: 7&lt;br /&gt;
   length: 290843126272&lt;br /&gt;
   offset: 8589934592&lt;br /&gt;
   type: freebsd-ufs&lt;br /&gt;
   index: 4&lt;br /&gt;
   end: 584830196&lt;br /&gt;
   start: 16777216&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart delete -i 4 mfid1s1&lt;br /&gt;
mfid1s1d deleted&lt;br /&gt;
jail8 /usr/home/bb# gpart list mfid1s1&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981           - free -  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart add  -t freebsd-ufs -i 7 mfid1s1&lt;br /&gt;
mfid1s1g added&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        7  freebsd-ufs  (271G)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how we USED to do it with bsdlabel:&lt;br /&gt;
&lt;br /&gt;
 bsdlabel -e /dev/mfid0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
&amp;lt;pre&amp;gt;# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&amp;lt;br&amp;gt;&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&amp;lt;br&amp;gt;&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
&lt;br /&gt;
So:&amp;lt;br&amp;gt;&lt;br /&gt;
 g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create the jail template ===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/sysutils/jailutils&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
Create an md device to hold the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /mnt/data1/jail-template20g&lt;br /&gt;
mdconfig -a -t vnode -s 20g -f /mnt/data1/jail-template20g -u 0&lt;br /&gt;
newfs -O 1 /dev/md0&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0 /mnt/data1/jail-DIR&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Build world into the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR; taskdone&amp;lt;/pre&amp;gt;&lt;br /&gt;
~1hr&lt;br /&gt;
&lt;br /&gt;
Make /etc into the jail, mount dev, copy in jkill:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter into jail to do configuration:&lt;br /&gt;
 jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
 csh&lt;br /&gt;
&lt;br /&gt;
Create fstab:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit crontab:&lt;br /&gt;
 vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
 # IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
 rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check and remove any crap in /tmp&lt;br /&gt;
&lt;br /&gt;
 vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: &amp;lt;tt&amp;gt;MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
with: &amp;lt;tt&amp;gt;MP=&#039;/&#039;&amp;lt;/tt&amp;gt; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
Add account for user. Output/response:&lt;br /&gt;
&amp;lt;pre&amp;gt;adduser&lt;br /&gt;
&lt;br /&gt;
Username: user&lt;br /&gt;
Full name: user&lt;br /&gt;
Uid (Leave empty for default):&lt;br /&gt;
Login group [user]:&lt;br /&gt;
Login group is user. Invite user into other groups? []: wheel&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/user]:&lt;br /&gt;
Home directory permissions (Leave empty for default):&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: y&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : user&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : user&lt;br /&gt;
Uid        : 1001&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : user&lt;br /&gt;
Home       : /home/user&lt;br /&gt;
Home Mode  :&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): y&lt;br /&gt;
adduser: INFO: Successfully added (user) to the user database.&lt;br /&gt;
adduser: INFO: Password for (user) is: 901gmYjO&lt;br /&gt;
Add another user? (yes/no): n&lt;br /&gt;
Goodbye!&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set TERM:&lt;br /&gt;
 vi /usr/home/user/.profile &lt;br /&gt;
 TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
Set time zone to PT:&lt;br /&gt;
 tzsetup&lt;br /&gt;
&lt;br /&gt;
Reload aliases:&lt;br /&gt;
 newaliases &lt;br /&gt;
&lt;br /&gt;
Replace reboot/halt:&lt;br /&gt;
 rm /sbin/halt /sbin/reboot&lt;br /&gt;
 ln /sbin/jkill /sbin/halt&lt;br /&gt;
 ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
Redirect console output, comment out console and move to /var/log/messages:&lt;br /&gt;
 vi /etc/syslog.conf&lt;br /&gt;
 #*.err;kern.warning;auth.notice;mail.crit               /dev/console&lt;br /&gt;
 *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Lib32 compat library:&lt;br /&gt;
 cd libexec&lt;br /&gt;
 chflags noschg ld-elf32.so.1&lt;br /&gt;
 chflags noschg ld-elf.so.1&lt;br /&gt;
 mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
 ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
 chflags schg ld-elf.so.1&lt;br /&gt;
 chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
Replace traceroute:&lt;br /&gt;
 mv /mnt/data1/jail-DIR/usr/sbin/traceroute /mnt/data1/jail-DIR/usr/sbin/_traceroute&lt;br /&gt;
 echo &#039;#\!/bin/sh\&lt;br /&gt;
 /usr/sbin/_traceroute -i bce0 $1&#039; &amp;gt;&amp;gt; /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
 chmod +x /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
&lt;br /&gt;
Modify &#039;bce0&#039; to reflect whichever nic is public on this hardware.&lt;br /&gt;
&lt;br /&gt;
Clean out ports before copying into the jail (~30mins):&lt;br /&gt;
 cd /usr/ports&lt;br /&gt;
 make -DNOCLEANDEPENDS clean &lt;br /&gt;
 rm -fr /usr/ports/distfiles/*&lt;br /&gt;
 cp -r /usr/ports /mnt/data1/jail-DIR/usr &lt;br /&gt;
&lt;br /&gt;
 rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
Umount the jail and dump it:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /&lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
dump -0a -f /usr/local/jail/template/template /dev/md0&lt;br /&gt;
umount /dev/md0&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
mdconfig -d -u 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== setup backups ===&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail3\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit to reflect backup server and jail hostname&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 ssh backup1 mkdir -p /data/jail3/0&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 backup1# vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
 vi /usr/local/jail/bin/backup.md&lt;br /&gt;
adjust df so it includes all relevant drives, currently &amp;lt;tt&amp;gt;df &amp;gt; /etc/df.bak&amp;lt;/tt&amp;gt; is fine. Also, make sure the binary/script source is pulling from the right dir on backup2:&lt;br /&gt;
 /usr/local/bin/rsync -a backup2:/mnt/data4/bin/freebsd8.x/ /usr/local/jail/bin/&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/jail/bin/backup.md /usr/local/jail/bin/backup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create /root/logs ===&lt;br /&gt;
 mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit sshd_config ===&lt;br /&gt;
 vi /etc/ssh/sshd_config&lt;br /&gt;
 ListenAddress 69.55.229.7&lt;br /&gt;
 ListenAddress 10.1.2.103&lt;br /&gt;
&lt;br /&gt;
Adjust to pub/private IP for jail.&lt;br /&gt;
&lt;br /&gt;
Restart sshd:&lt;br /&gt;
 kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== add crontab entries ===&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
0 0,6,12,18 * * * /usr/local/jail/bin/sync_jail_names&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On 2950:&lt;br /&gt;
 */5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
On 3ware-based servers:&lt;br /&gt;
 0 0 * * * /usr/local/jail/bin/3wraidchk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reboot notify script ===&lt;br /&gt;
 ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== patch jail against starting jails with rtprio ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure mail works ===&lt;br /&gt;
If there are map errors:&lt;br /&gt;
 cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== recover space on /usr (optional) ===&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/obj&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jps ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/local/sbin/jps /usr/local/sbin/jps_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jls ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jls /usr/sbin/jls_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jexec ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jexec /usr/sbin/jexec_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install jtop ===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/sysutils/jtop&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== block jails from reaching private net ===&lt;br /&gt;
 echo &#039;ipfw add 1 deny ip from 69.55.224.0/20 to 10.1.4.0/24&#039; &amp;gt; /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
 chmod 0700 /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
&lt;br /&gt;
== add to management infrastructure ==&lt;br /&gt;
&lt;br /&gt;
=== mail ===&lt;br /&gt;
&lt;br /&gt;
==== add to management db ====&lt;br /&gt;
&lt;br /&gt;
tables: jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
on jail run:&lt;br /&gt;
 uname -r&lt;br /&gt;
&lt;br /&gt;
Which shows something like:&lt;br /&gt;
 8.3-RELEASE-p2&lt;br /&gt;
&lt;br /&gt;
Insert into db:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;insert into ref_machines values (null,&#039;jail3&#039;,&#039;mx3.johncompanies.com&#039;,0,&#039;f8&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail3&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039;8.3-RELEASE-jc2&#039;,35,&#039;FreeBSD 8.3&#039;,1);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== add to bb server ====&lt;br /&gt;
 vi /usr/home/bb/bbsrc/bb1.9i-btf/etc/bb-hosts&lt;br /&gt;
 10.1.4.109 jail9.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
In the case of an i2b server, use real ip:&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Update backupgraph ====&lt;br /&gt;
 vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
==== Update load mrtg ====&lt;br /&gt;
 vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
=== ns1c ===&lt;br /&gt;
fwd and reverse lookups:&lt;br /&gt;
 vr johncompanies.com&lt;br /&gt;
&lt;br /&gt;
 vi internal.johncompanies.com&lt;br /&gt;
 rndc reload johncompanies.com IN private&lt;br /&gt;
&lt;br /&gt;
 ptr 69.55.227.x&lt;br /&gt;
&lt;br /&gt;
=== wiki ===&lt;br /&gt;
add to server/cabinet map&lt;br /&gt;
&lt;br /&gt;
=== firewall ===&lt;br /&gt;
add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
 00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
 00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
 ipfw add 00109 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 } to 69.55.232.3&lt;br /&gt;
 ipfw add 00109 deny ip from any to 69.55.232.3&lt;br /&gt;
&lt;br /&gt;
=== select some customers for castle probe map ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 8.x =&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
&lt;br /&gt;
Setup instructions below assume this is DELL 2950 with an LSI-based SAS RAID card.&lt;br /&gt;
&lt;br /&gt;
Server is at castle, connected to pub, private, serial and DRAC&lt;br /&gt;
&lt;br /&gt;
Assuming OS loading done via IPKVM with ISO mounted via USB&lt;br /&gt;
&lt;br /&gt;
Assumes at 4 drives, 2 mirrors&lt;br /&gt;
&lt;br /&gt;
== Configure server BIOS ==&lt;br /&gt;
&lt;br /&gt;
setup console redirect, speed 115200&lt;br /&gt;
&lt;br /&gt;
set LCD string to name of server &amp;quot;jail8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set date to GMT&lt;br /&gt;
&lt;br /&gt;
go into RAID bios and setup mirrors&lt;br /&gt;
&lt;br /&gt;
configure DRAC: TODO&lt;br /&gt;
&lt;br /&gt;
== Install OS (sysinstall) ==&lt;br /&gt;
&lt;br /&gt;
boot to bootonly disk for AMD version of FreeBSD, i.e. &amp;lt;tt&amp;gt;FreeBSD-8.3-RELEASE-amd64-bootonly.iso&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when the install menu appears, choose &amp;lt;tt&amp;gt;custom install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== partition menu ===&lt;br /&gt;
move cursor to mfid0, hit space (takes you to partition map screen). If there is only 1 mirror, there will be no option to select a specifit drive: mfid0 will be selected.&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;freebsd standard mbr&#039;&lt;br /&gt;
&lt;br /&gt;
space to &#039;&#039;&#039;un&#039;&#039;&#039;select mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
cursor down to mfid1&amp;lt;br&amp;gt;&lt;br /&gt;
hit space&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;none&#039; for boot mgr (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
space&amp;lt;br&amp;gt;&lt;br /&gt;
(takes you into part. Screen again) &#039;q&#039; to exit&amp;lt;br&amp;gt;&lt;br /&gt;
none for boot mgr&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure both drives (mfid0 and mfid1) are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
=== Label menu ===&lt;br /&gt;
&lt;br /&gt;
Make sure mfid0 is highlighted at the top of the screen, setup the following partitions&lt;br /&gt;
&lt;br /&gt;
/ 512M&amp;lt;br&amp;gt;&lt;br /&gt;
swap 6G&amp;lt;br&amp;gt;&lt;br /&gt;
/var 256M &amp;lt;br&amp;gt;&lt;br /&gt;
/tmp 256M&amp;lt;br&amp;gt;&lt;br /&gt;
/usr 5G&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data1 remaining space &lt;br /&gt;
&lt;br /&gt;
All partitions except / should be setup for soft updates. If not, type &#039;s&#039; to enable for soft updates on all except for / (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1 at the top of the screen&amp;lt;br&amp;gt;&lt;br /&gt;
swap 8G (or 4G if there’s a 3rd drive)&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data2 remaining space &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;q&#039; to save and exit&lt;br /&gt;
&lt;br /&gt;
=== distributions ===&lt;br /&gt;
Choose the following distribudions&lt;br /&gt;
&lt;br /&gt;
* developer (ok to install ports)&lt;br /&gt;
* custom -&amp;gt; lib32&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
=== media ===&lt;br /&gt;
if you are installing via a cd, no need to enter this menu or change anything. Otherwise, choose ftp to install via ftp. You will be prompted to setup networking. You will need to choose a nic (typically bce0 or bce1). Say no to DHCP and IPv6. Hopefully the public nic cable was installed in bce0 so start with that nic and provide the hostname, (public) IP, netmask, gateway and DNS. When configured, it should start pinging. If it doesn&#039;t, have the NOC swap cables. Select any FTP server, usually Main or ftp4.&lt;br /&gt;
&lt;br /&gt;
=== commit ===&lt;br /&gt;
&lt;br /&gt;
this usually takes 12mins&amp;lt;br&amp;gt;&lt;br /&gt;
during the process you may need to select a new ftp mirror, this is not a problem.&amp;lt;br&amp;gt;&lt;br /&gt;
at the conclution of the install you will be prompted to enter the root password (2x) and returned to the configuration menu.&lt;br /&gt;
&lt;br /&gt;
=== add user ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Add&#039;&#039;&#039; user &#039;user&#039;. Defaults for everything is fine, just remember to enter &#039;wheel&#039; in the member group field.&lt;br /&gt;
Do set the password.&lt;br /&gt;
&lt;br /&gt;
=== Setup timezone ===&lt;br /&gt;
&lt;br /&gt;
PT&lt;br /&gt;
&lt;br /&gt;
=== Networking === &lt;br /&gt;
page down to the bottom and enable &#039;[X]&#039; sshd&lt;br /&gt;
&lt;br /&gt;
If you installed via cd, you will need to visit:&amp;lt;br&amp;gt;&lt;br /&gt;
interfaces-&amp;gt;bce0-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
No IPV6&amp;lt;br&amp;gt;&lt;br /&gt;
dhcp=no&amp;lt;br&amp;gt;&lt;br /&gt;
Set hostname, IP, DNS, gateway&amp;lt;br&amp;gt;&lt;br /&gt;
(i.e. setup the nic as indicated above)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exit the install and if you installed via CD, take it out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
== Configure OS, kernel, userland, jail ==&lt;br /&gt;
&lt;br /&gt;
=== double check the date/time ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/resolv.conf ===&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
 nameserver 69.55.230.3&lt;br /&gt;
 nameserver 69.55.229.3&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit /etc/make.conf ===&lt;br /&gt;
 echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
 KERNCONF=jail3 \&lt;br /&gt;
 BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup bootloader for console, etc ===&lt;br /&gt;
&lt;br /&gt;
add settings to /boot/loader.conf and /boot.config:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
 echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
 boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable login via serial console ===&lt;br /&gt;
turn off all ttyv&#039;s except 0 and 1 in /etc/ttys and turn on ttyd0, change type to vt100:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
The changed lines should look like:&lt;br /&gt;
&lt;br /&gt;
 ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 # Serial terminals&lt;br /&gt;
 # The &#039;dialup&#039; keyword identifies dialin lines to login, fingerd etc.&lt;br /&gt;
 ttyu0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure &lt;br /&gt;
&lt;br /&gt;
Restart init&lt;br /&gt;
 kill -1 1&lt;br /&gt;
&lt;br /&gt;
At this point you should have a login on console.&lt;br /&gt;
&lt;br /&gt;
To configure serial console access, login to the console server as root and run:&lt;br /&gt;
&lt;br /&gt;
 # vi /etc/remote&lt;br /&gt;
&lt;br /&gt;
following examples there, rename port to server&#039;s hostname, depending on where and which digi box this server is plugged into. Make sure to get speed right too: 115200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate hosts ===&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.10 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.2.3 backup3&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;69.55.230.11 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create ssh key, upload to backup servers ===&lt;br /&gt;
 cd&lt;br /&gt;
 ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup3 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
 ssh backup2 hostname&lt;br /&gt;
 ssh backup1 hostname&lt;br /&gt;
 ssh backup3 hostname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create &amp;amp; populate binaries/scripts dirs ===&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd8.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch deprecated&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
ln -s /usr/local/jail/bin/preboot_md preboot&lt;br /&gt;
ln -s /usr/local/jail/bin/startjail_md startjail&lt;br /&gt;
ln -s /usr/local/jail/bin/stopjail_md stopjail&lt;br /&gt;
&lt;br /&gt;
rehash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit root&#039;s path and login script ===&lt;br /&gt;
&lt;br /&gt;
 vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
alias cjb       cd /usr/local/jail/bin&lt;br /&gt;
alias cd1       cd /mnt/data1&lt;br /&gt;
alias cd2       cd /mnt/data2&lt;br /&gt;
alias cd3       cd /mnt/data3&lt;br /&gt;
alias jtop      jtop lj&lt;br /&gt;
alias j         jobs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add to path be careful to leave a space after bin and make sure the wrapping isn&#039;t broken:  &lt;br /&gt;
 /usr/local/jail/bin &lt;br /&gt;
&lt;br /&gt;
alter the prompt, set the following:&lt;br /&gt;
 set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
&amp;lt;pre&amp;gt;set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the new settings active in current shell:&lt;br /&gt;
 source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install cvsup ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; support@johncompanies.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
stand by for gettext options (use defaults). this process takes approx 22mins- hence the email/page notice above. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== get latest sources for this release ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need to run stable (cause release is broken or some other reason) make the sup file look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; support@johncompanies.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
time varies, 10-20mins&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure new kernel ===&lt;br /&gt;
&lt;br /&gt;
Pull down the kernel config we are using for this distribution. In this case we use an 8.2 kernel config on 8.3, which is valid. The local file should be the same name as host- &amp;lt;tt&amp;gt;jail3&amp;lt;/tt&amp;gt; in this example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-8.2-amd64 ./jail3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
 vi jail3&lt;br /&gt;
 ident           jail3&lt;br /&gt;
&lt;br /&gt;
Optional, edit &amp;lt;tt&amp;gt;/sys/conf/newvers.sh&amp;lt;/tt&amp;gt; to add &amp;lt;tt&amp;gt;–jc2&amp;lt;/tt&amp;gt; to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
 vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes on kernel configuring: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install patches ===&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
there are no patches we use for 8.x, but here would be the commands:&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/8.0/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches, i.e. the &amp;lt;tt&amp;gt;jls-patch&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== build, install kernel and world ===&lt;br /&gt;
&lt;br /&gt;
Rename current generic kernel so it will always be available to boot from. Save room by removing non-needed kernel modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /boot&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
mv zfs.* hold/&lt;br /&gt;
mv opensolaris* hold/&lt;br /&gt;
&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
~38mins&lt;br /&gt;
&lt;br /&gt;
 make installworld &lt;br /&gt;
~34min&lt;br /&gt;
&lt;br /&gt;
 mergemaster -i&lt;br /&gt;
You will be prompted to merge, replace or ignore files changed by the src update. In most cases you can &#039;&#039;&#039;d&#039;&#039;&#039;elete the temp (new) files.&lt;br /&gt;
&lt;br /&gt;
ONLY if this will be a zfs system (not currently used in 8.x):&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /sys/modules/zfs&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
cd /sys/modules/opensolaris&lt;br /&gt;
make &lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  populate devfs ruleset ===&lt;br /&gt;
 scp backup2:/mnt/data4/build/freebsd/devfs.rules.8x /etc/devfs.rules&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/rc.conf with IPs and service settings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.2.103&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_bce1=&amp;quot;inet 10.1.2.103 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bce0=&amp;quot;inet 69.55.229.7 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_bce0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
#rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
#zfs_enable=&amp;quot;YES&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modify IPs, hostname, gateway for this box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure sysctls are set and preserved upon boot ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
vm.pmap.shpgperproc=500\&lt;br /&gt;
security.bsd.unprivileged_read_msgbuf=0\&lt;br /&gt;
kern.maxvnodes=400000&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tuning note: watch vfs.numvnodes while the server is live to get guidance on where to set maxvnodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mount procfs ===&lt;br /&gt;
 echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mkdir -p /usr/compat/linux/proc&lt;br /&gt;
 mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable noatime option ===&lt;br /&gt;
data1 and data2 should look something like (add &#039;,noatime&#039; after &#039;rw&#039;):&lt;br /&gt;
 /dev/mfid0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
 /dev/mfid1s1d           /mnt/data2      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== reboot. Confirm new kernel is loaded, devfs in place ===&lt;br /&gt;
&lt;br /&gt;
 uname -a&lt;br /&gt;
	&lt;br /&gt;
Check devfs rules&lt;br /&gt;
 devfs rule showsets&lt;br /&gt;
 devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
Should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;#  devfs rule showsets&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
&lt;br /&gt;
#  devfs rule -s 3 show&lt;br /&gt;
100 include 1&lt;br /&gt;
207 path pts* unhide&lt;br /&gt;
217 path fd unhide&lt;br /&gt;
218 path fd/* unhide&lt;br /&gt;
300 path ttyp* unhide&lt;br /&gt;
301 path ttyq* unhide&lt;br /&gt;
302 path ttyr* unhide&lt;br /&gt;
303 path ttys* unhide&lt;br /&gt;
304 path ttyP* unhide&lt;br /&gt;
305 path ttyQ* unhide&lt;br /&gt;
306 path ttyR* unhide&lt;br /&gt;
307 path ttyS* unhide&lt;br /&gt;
400 path null unhide&lt;br /&gt;
500 path zero unhide&lt;br /&gt;
600 path random unhide&lt;br /&gt;
610 path urandom unhide&lt;br /&gt;
700 path mem unhide&lt;br /&gt;
710 path kmem unhide&lt;br /&gt;
810 path mdctl unhide&lt;br /&gt;
900 path stdin unhide&lt;br /&gt;
910 path stdout unhide&lt;br /&gt;
920 path stderr unhide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== update ports ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; support@johncompanies.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
~24mins&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Install raid mgmt tool ===&lt;br /&gt;
&lt;br /&gt;
==== Perc5/i, 6/i ====&lt;br /&gt;
Pull over cli from previous system (jail9)&lt;br /&gt;
 scp /usr/local/sbin/mega* root@10.1.4.109:/usr/local/sbin/&lt;br /&gt;
 scp /usr/local/libexec/MegaCli root@10.1.4.109:/usr/local/libexec/MegaCli&lt;br /&gt;
These are linux-based tools. This will require linux base which we would normally install from ports, but since it&#039;s failing lately, we just pull in the compat libraries from another system:&lt;br /&gt;
&lt;br /&gt;
 rsync -aSHv --exclude=proc --exclude=sys 10.1.4.109:/usr/compat/linux/ /usr/compat/linux/&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
 rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
DEPRECATED: Assuming it worked, here&#039;s how we &#039;&#039;used to&#039;&#039; install linux_base:&lt;br /&gt;
----&lt;br /&gt;
 cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
 make install clean &lt;br /&gt;
(didnt succeed due to libtool requirement)&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/distfiles&lt;br /&gt;
 fetch http://www.lsi.com/DistributionSystem/AssetDocument/support/downloads/megaraid/miscellaneous/linux/2.00.15_Linux_MegaCLI.zip&lt;br /&gt;
 cd /usr/ports/sysutils/linux-megacli&lt;br /&gt;
 make install clean&lt;br /&gt;
(also failed due to libtool)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 2850 PERC 4e/Di- no linux ====&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/distfiles/&lt;br /&gt;
fetch http://backup01.best-hosting.ru/pub/FreeBSD/ports/distfiles/dr_freebsd_1.51.zip&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
megarc -dispCfg -a0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install rsync from ports ===&lt;br /&gt;
 cd /usr/ports/net/rsync&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure inetd to respond to mrtg load queries ===&lt;br /&gt;
 echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install perl ===&lt;br /&gt;
 cd /usr/ports/lang/perl5.12&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install bb client ===&lt;br /&gt;
&lt;br /&gt;
Compiling from source on AMD64 will not work. So, we use a linux-compiled version and rely on linux compat. Per [[#Perc5.2Fi.2C_6.2Fi|above]], linux compat won&#039;t install on 8.x - libtool 2.4 need. So, instead we copy(ed) over linux: &lt;br /&gt;
 rsync -aSHv --exclude=proc --exclude=sys 10.1.4.108:/usr/compat/linux/ /usr/compat/linux/&lt;br /&gt;
&lt;br /&gt;
 adduser&lt;br /&gt;
&lt;br /&gt;
Output/response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cd /usr/home/bb&lt;br /&gt;
 scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
 tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 10.1.4.103 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
Edit for machine name and private IP.&lt;br /&gt;
&lt;br /&gt;
if this machine is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.2 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
&lt;br /&gt;
MACHINE=&amp;quot;jail3,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&amp;lt;/pre&amp;gt;&lt;br /&gt;
Edit for machine name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put in script to start bb @ boot:&lt;br /&gt;
 echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
 chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== remove reserve space ===&lt;br /&gt;
&amp;lt;pre&amp;gt;cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup rdate ===&lt;br /&gt;
 cd /usr/ports/sysutils/rdate&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 0 0 * * * /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
 /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
We used to use ntpd, however it listens on jail IPs which is a security risk. So we stopped. Here&#039;s the old instructions:&lt;br /&gt;
install new ntp from ports&lt;br /&gt;
 /usr/ports/net/ntp&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&amp;lt;/pre&amp;gt;(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make a data partition ===&lt;br /&gt;
&lt;br /&gt;
IF you didn&#039;t format the data partition during sysinstall:&lt;br /&gt;
&lt;br /&gt;
Create a g partition on 2nd mirror – bsdlabel no longer works (below shows d partition made with sysinstall):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;jail8 /usr/home/bb# gpart show&lt;br /&gt;
=&amp;gt;       63  285474735  mfid0  MBR  (136G)&lt;br /&gt;
         63  285458922      1  freebsd  [active]  (136G)&lt;br /&gt;
  285458985      15813         - free -  (7.7M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  285458922  mfid0s1  BSD  (136G)&lt;br /&gt;
          0     524288        1  freebsd-ufs  (256M)&lt;br /&gt;
     524288   12582912        2  freebsd-swap  (6.0G)&lt;br /&gt;
   13107200     524288        4  freebsd-ufs  (256M)&lt;br /&gt;
   13631488     524288        5  freebsd-ufs  (256M)&lt;br /&gt;
   14155776    8388608        6  freebsd-ufs  (4.0G)&lt;br /&gt;
   22544384  262914538        7  freebsd-ufs  (125G)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;       63  584843175  mfid1  MBR  (279G)&lt;br /&gt;
         63  584830197      1  freebsd  [active]  (279G)&lt;br /&gt;
  584830260      12978         - free -  (6.3M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
jail8 /usr/home/bb# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart list mfid1s1&lt;br /&gt;
&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
2. Name: mfid1s1d&lt;br /&gt;
   Mediasize: 290843126272 (271G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r0w0e0&lt;br /&gt;
   rawtype: 7&lt;br /&gt;
   length: 290843126272&lt;br /&gt;
   offset: 8589934592&lt;br /&gt;
   type: freebsd-ufs&lt;br /&gt;
   index: 4&lt;br /&gt;
   end: 584830196&lt;br /&gt;
   start: 16777216&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart delete -i 4 mfid1s1&lt;br /&gt;
mfid1s1d deleted&lt;br /&gt;
jail8 /usr/home/bb# gpart list mfid1s1&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981           - free -  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart add  -t freebsd-ufs -i 7 mfid1s1&lt;br /&gt;
mfid1s1g added&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        7  freebsd-ufs  (271G)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how we USED to do it with bsdlabel:&lt;br /&gt;
&lt;br /&gt;
 bsdlabel -e /dev/mfid0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
&amp;lt;pre&amp;gt;# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&amp;lt;br&amp;gt;&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&amp;lt;br&amp;gt;&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
&lt;br /&gt;
So:&amp;lt;br&amp;gt;&lt;br /&gt;
 g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create the jail template ===&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Create an md device to hold the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /mnt/data1/jail-template20g&lt;br /&gt;
mdconfig -a -t vnode -s 20g -f /mnt/data1/jail-template20g -u 0&lt;br /&gt;
newfs -O 1 /dev/md0&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0 /mnt/data1/jail-DIR&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Build world into the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR; taskdone&amp;lt;/pre&amp;gt;&lt;br /&gt;
~1hr&lt;br /&gt;
&lt;br /&gt;
Make /etc into the jail, mount dev, copy in jkill:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter into jail to do configuration:&lt;br /&gt;
 jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
 csh&lt;br /&gt;
&lt;br /&gt;
Create fstab:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit crontab:&lt;br /&gt;
 vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
 # IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
 rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check and remove any crap in /tmp&lt;br /&gt;
&lt;br /&gt;
 vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: &amp;lt;tt&amp;gt;MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
with: &amp;lt;tt&amp;gt;MP=&#039;/&#039;&amp;lt;/tt&amp;gt; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
Add account for user. Output/response:&lt;br /&gt;
&amp;lt;pre&amp;gt;adduser&lt;br /&gt;
&lt;br /&gt;
Username: user&lt;br /&gt;
Full name: user&lt;br /&gt;
Uid (Leave empty for default):&lt;br /&gt;
Login group [user]:&lt;br /&gt;
Login group is user. Invite user into other groups? []: wheel&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/user]:&lt;br /&gt;
Home directory permissions (Leave empty for default):&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: y&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : user&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : user&lt;br /&gt;
Uid        : 1001&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : user&lt;br /&gt;
Home       : /home/user&lt;br /&gt;
Home Mode  :&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): y&lt;br /&gt;
adduser: INFO: Successfully added (user) to the user database.&lt;br /&gt;
adduser: INFO: Password for (user) is: 901gmYjO&lt;br /&gt;
Add another user? (yes/no): n&lt;br /&gt;
Goodbye!&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set TERM:&lt;br /&gt;
 vi /usr/home/user/.profile &lt;br /&gt;
 TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
Set time zone to PT:&lt;br /&gt;
 tzsetup&lt;br /&gt;
&lt;br /&gt;
Reload aliases:&lt;br /&gt;
 newaliases &lt;br /&gt;
&lt;br /&gt;
Replace reboot/halt:&lt;br /&gt;
 rm /sbin/halt /sbin/reboot&lt;br /&gt;
 ln /sbin/jkill /sbin/halt&lt;br /&gt;
 ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
Redirect console output, comment out console and move to /var/log/messages:&lt;br /&gt;
 vi /etc/syslog.conf&lt;br /&gt;
 #*.err;kern.warning;auth.notice;mail.crit               /dev/console&lt;br /&gt;
 *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Lib32 compat library:&lt;br /&gt;
 cd libexec&lt;br /&gt;
 chflags noschg ld-elf32.so.1&lt;br /&gt;
 chflags noschg ld-elf.so.1&lt;br /&gt;
 mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
 ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
 chflags schg ld-elf.so.1&lt;br /&gt;
 chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
Replace traceroute:&lt;br /&gt;
 mv /mnt/data1/jail-DIR/usr/sbin/traceroute /mnt/data1/jail-DIR/usr/sbin/_traceroute&lt;br /&gt;
 echo &#039;#\!/bin/sh\&lt;br /&gt;
 /usr/sbin/_traceroute -i bce0 $1&#039; &amp;gt;&amp;gt; /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
 chmod +x /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
&lt;br /&gt;
Modify &#039;bce0&#039; to reflect whichever nic is public on this hardware.&lt;br /&gt;
&lt;br /&gt;
Clean out ports before copying into the jail (~30mins):&lt;br /&gt;
 cd /usr/ports&lt;br /&gt;
 make -DNOCLEANDEPENDS clean &lt;br /&gt;
 rm -fr /usr/ports/distfiles/*&lt;br /&gt;
 cp -r /usr/ports /mnt/data1/jail-DIR/usr &lt;br /&gt;
&lt;br /&gt;
 rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
Umount the jail and dump it:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /&lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
dump -0a -f /usr/local/jail/template/template /dev/md0&lt;br /&gt;
umount /dev/md0&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
mdconfig -d -u 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup backups ===&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail3\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit to reflect backup server and jail hostname&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 ssh backup1 mkdir -p /data/jail3/0&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 backup1# vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
 vi /usr/local/jail/bin/backup.md&lt;br /&gt;
adjust df so it includes all relevant drives, currently &amp;lt;tt&amp;gt;df &amp;gt; /etc/df.bak&amp;lt;/tt&amp;gt; is fine. Also, make sure the binary/script source is pulling from the right dir on backup2:&lt;br /&gt;
 /usr/local/bin/rsync -a backup2:/mnt/data4/bin/freebsd8.x/ /usr/local/jail/bin/&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/jail/bin/backup.md /usr/local/jail/bin/backup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create /root/logs ===&lt;br /&gt;
 mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit sshd_config ===&lt;br /&gt;
 vi /etc/ssh/sshd_config&lt;br /&gt;
 ListenAddress 69.55.229.7&lt;br /&gt;
 ListenAddress 10.1.2.103&lt;br /&gt;
&lt;br /&gt;
Adjust to pub/private IP for jail.&lt;br /&gt;
&lt;br /&gt;
Restart sshd:&lt;br /&gt;
 kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== add crontab entries ===&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
0 0,6,12,18 * * * /usr/local/jail/bin/sync_jail_names&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On 2950:&lt;br /&gt;
 */5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
On 3ware-based servers:&lt;br /&gt;
 0 0 * * * /usr/local/jail/bin/3wraidchk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reboot notify script ===&lt;br /&gt;
 ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== patch jail against starting jails with rtprio ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure mail works ===&lt;br /&gt;
If there are map errors:&lt;br /&gt;
 cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== recover space on /usr (optional) ===&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/obj&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jps ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/local/sbin/jps /usr/local/sbin/jps_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jls ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jls /usr/sbin/jls_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jexec ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jexec /usr/sbin/jexec_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install jtop ===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/sysutils/jtop&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== block jails from reaching private net ===&lt;br /&gt;
 echo &#039;ipfw add 1 deny ip from 69.55.224.0/20 to 10.1.4.0/24&#039; &amp;gt; /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
 chmod 0700 /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
&lt;br /&gt;
== add to management infrastructure ==&lt;br /&gt;
&lt;br /&gt;
=== mail ===&lt;br /&gt;
&lt;br /&gt;
==== add to management db ====&lt;br /&gt;
&lt;br /&gt;
tables: jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
on jail run:&lt;br /&gt;
 uname -r&lt;br /&gt;
&lt;br /&gt;
Which shows something like:&lt;br /&gt;
 8.3-RELEASE-p2&lt;br /&gt;
&lt;br /&gt;
Insert into db:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;insert into ref_machines values (null,&#039;jail3&#039;,&#039;mx3.johncompanies.com&#039;,0,&#039;f8&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail3&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039;8.3-RELEASE-jc2&#039;,35,&#039;FreeBSD 8.3&#039;,1);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== add to bb server ====&lt;br /&gt;
 vi /usr/home/bb/bbsrc/bb1.9i-btf/etc/bb-hosts&lt;br /&gt;
 10.1.4.109 jail9.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
In the case of an i2b server, use real ip:&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Update backupgraph ====&lt;br /&gt;
 vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
==== Update load mrtg ====&lt;br /&gt;
 vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
=== ns1c ===&lt;br /&gt;
fwd and reverse lookups:&lt;br /&gt;
 vr johncompanies.com&lt;br /&gt;
&lt;br /&gt;
 vi internal.johncompanies.com&lt;br /&gt;
 rndc reload johncompanies.com IN private&lt;br /&gt;
&lt;br /&gt;
 ptr 69.55.227.x&lt;br /&gt;
&lt;br /&gt;
=== wiki ===&lt;br /&gt;
add to server/cabinet map&lt;br /&gt;
&lt;br /&gt;
=== firewall ===&lt;br /&gt;
add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
 00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
 00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
 ipfw add 00109 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 } to 69.55.232.3&lt;br /&gt;
 ipfw add 00109 deny ip from any to 69.55.232.3&lt;br /&gt;
&lt;br /&gt;
=== select some customers for castle probe map ===&lt;br /&gt;
&lt;br /&gt;
= 4.11 =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
4.11&lt;br /&gt;
Last updated 2006-1-26&lt;br /&gt;
&lt;br /&gt;
All time extimates below assume disks aren’t scrubbing&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: off&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
	&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 4.11 &lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
partition&lt;br /&gt;
move cursor to aacd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect aacd0&lt;br /&gt;
cursor over aacd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over aacd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
label&lt;br /&gt;
Make sure aacd0 is highlighted&lt;br /&gt;
a to start with defaults&lt;br /&gt;
&lt;br /&gt;
john likes:&lt;br /&gt;
/1g&lt;br /&gt;
/var 256m&lt;br /&gt;
&lt;br /&gt;
Glenn likes:&lt;br /&gt;
/128&lt;br /&gt;
/var 256&lt;br /&gt;
/usr 3g&lt;br /&gt;
/tmp 256&lt;br /&gt;
&lt;br /&gt;
We do:&lt;br /&gt;
delete everything&lt;br /&gt;
/ 128M&lt;br /&gt;
swap 4G&lt;br /&gt;
/var 256M&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 3G&lt;br /&gt;
/mnt/data1 remaining space&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS+S Y under the Newfs column)&lt;br /&gt;
Set the noatime option&lt;br /&gt;
&lt;br /&gt;
move cursor to aacd1&lt;br /&gt;
swap 4G&lt;br /&gt;
/mnt/data2 remaining space&lt;br /&gt;
Set the noatime option&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
media&lt;br /&gt;
cd&lt;br /&gt;
commit&lt;br /&gt;
yes&lt;br /&gt;
(2450: 16mins, supermicro: 11mins)&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot;&lt;br /&gt;
Set root pwd&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
Set tz&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=yes&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
&lt;br /&gt;
Startup services:&lt;br /&gt;
Disble usbd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install&lt;br /&gt;
yes&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. put some temp settings in /etc/rc.conf:&lt;br /&gt;
usbd_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. reboot&lt;br /&gt;
&lt;br /&gt;
5. double check the date/time&lt;br /&gt;
&lt;br /&gt;
6. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
WITHOUT_X11=yes&lt;br /&gt;
KERNCONF=jail18&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=38400&lt;br /&gt;
&lt;br /&gt;
7. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean (stay close for gettext options, 2450: 21mins, supermicro: 14mins)&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
8. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
cat &amp;gt; sup&lt;br /&gt;
*default host=cvsup4.freebsd.org&lt;br /&gt;
*default base=/usr&lt;br /&gt;
*default prefix=/usr&lt;br /&gt;
*default release=cvs tag=RELENG_4_11&lt;br /&gt;
*default delete use-rel-suffix&lt;br /&gt;
*default compress&lt;br /&gt;
src-all&lt;br /&gt;
&lt;br /&gt;
cvsup sup (2450, 4.10: 13mins, supermicro, 4.11: 11mins)&lt;br /&gt;
&lt;br /&gt;
9. populate hosts&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
10.1.4.3	backup2&lt;br /&gt;
&lt;br /&gt;
10. put key in authorized_keys on backup2&lt;br /&gt;
ssh-keygen -t dsa -b 1024 (default location, leave password blank)&lt;br /&gt;
scp /root/.ssh/id_dsa.pub user@backup2:/tmp/jail18pub&lt;br /&gt;
on backup2:&lt;br /&gt;
cat /tmp/jail18pub &amp;gt;&amp;gt; /root/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
11. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build (name the kernel config the same as the jail, ex jail4):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-4.11 ./jail18&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
ident           jail4&lt;br /&gt;
&lt;br /&gt;
IMPORTANT CUSTOMIZATION:&lt;br /&gt;
for machines with &amp;gt;4G RAM, add to the config:&lt;br /&gt;
options         PAE&lt;br /&gt;
&lt;br /&gt;
for supermicro mobo’s with broadcom nics, add to the config:&lt;br /&gt;
device          bge             # Broadcom BCM570x (``Tigon III&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
for machines where lots of postgres might be running, change SHMMAXPGS:&lt;br /&gt;
options         SHMMAXPGS=40960&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-p9-jc2)&lt;br /&gt;
&lt;br /&gt;
12. bring over patches from backup2&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/4.11/*&amp;quot; .&lt;br /&gt;
jail_proc_patch      100% |*************************************************|  2593    00:00&lt;br /&gt;
restore-patch        100% |*************************************************|  3295    00:00&lt;br /&gt;
411ps-jail-patch     100% |*************************************************|  2602    00:00&lt;br /&gt;
jail_rtprio_patch    100% |*************************************************|   301    00:00&lt;br /&gt;
udp-patch            100% |*************************************************|   594    00:00&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch &amp;lt; 411ps-jail-patch&lt;br /&gt;
patch &amp;lt; jail_proc_patch&lt;br /&gt;
patch &amp;lt; restore-patch&lt;br /&gt;
patch &amp;lt; jail_rtprio_patch&lt;br /&gt;
patch &amp;lt; udp-patch&lt;br /&gt;
&lt;br /&gt;
13. build, install kernel and world&lt;br /&gt;
make buildworld buildkernel installkernel (2450: 48min, supermicro: 20mins)&lt;br /&gt;
(Any compile errors can be looked up in /usr/include/sys/signal.h, other errors, do a rm -R /usr/obj/*)&lt;br /&gt;
make installworld (2450: 2min, supermicro: 1mins)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
(answer no to most of it)&lt;br /&gt;
&lt;br /&gt;
14. reboot. Confirm new kernel is loaded (uname -a)&lt;br /&gt;
&lt;br /&gt;
15. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
cat &amp;gt; sup&lt;br /&gt;
*default host=cvsup4.FreeBSD.org&lt;br /&gt;
*default base=/usr&lt;br /&gt;
*default prefix=/usr&lt;br /&gt;
*default release=cvs tag=RELENG_4&lt;br /&gt;
*default delete use-rel-suffix&lt;br /&gt;
*default compress&lt;br /&gt;
ports-all tag=.&lt;br /&gt;
&lt;br /&gt;
cvsup sup (2450: 26mins, supermicro: 26mins)&lt;br /&gt;
&lt;br /&gt;
16. add console=&amp;quot;comconsole&amp;quot; to /boot/loader.conf&lt;br /&gt;
cat &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
console=&amp;quot;comconsole&amp;quot;&lt;br /&gt;
&lt;br /&gt;
17. edit /etc/ttys and turn off all ttyv&#039;s except 0 and 1&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail4 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
18. install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base&lt;br /&gt;
make install clean (2450: 7min, supermicro: 2mins)&lt;br /&gt;
&lt;br /&gt;
reibuild rpmdb cause we had probs installing aacapps&lt;br /&gt;
cd /compat/linux/bin&lt;br /&gt;
./rpm --initdb&lt;br /&gt;
./rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
19. install aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/aacapps-4.1-0.i386.rpm /tmp/.&lt;br /&gt;
/compat/linux/bin/rpm -ivh /tmp/aacapps-4.1-0.i386.rpm&lt;br /&gt;
cd /dev&lt;br /&gt;
sh MAKEDEV aac0&lt;br /&gt;
&lt;br /&gt;
test out /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
20. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: /usr/local/jail/bin /compat/linux/usr/sbin&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`ps auxwJ | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`ps cauxJ | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
21. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
22. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
23. configure inetd to respond to mrtg load queries&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
load            12384/tcp&lt;br /&gt;
&lt;br /&gt;
kill -HUP `cat /var/run/inetd.pid`&lt;br /&gt;
&lt;br /&gt;
24. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/etc/mrtg/mrtg1.cfg&lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
25. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.104 jail4.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd /usr/home/bb/bbsrc/bb1.9e-btf&lt;br /&gt;
./runbb.sh stop&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser -group 1984 -shell /bin/csh -uid 1984 bb&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
10.1.4.105 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh&lt;br /&gt;
10.1.4.118 jail18.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles   and change:&lt;br /&gt;
MACHINE=&amp;quot;jail18,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh&lt;br /&gt;
./bbchkhosts.sh (ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd bbc1.9e-btf/&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT (look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
27. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
28. configure ntp&lt;br /&gt;
cat &amp;gt; /etc/ntp.conf&lt;br /&gt;
server 10.1.4.105&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
29. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
31. fwd and reverse lookups on ns1c&lt;br /&gt;
vi johncompanies.com&lt;br /&gt;
rr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
32. create all /dev/vn and /dev/pty files in /dev&lt;br /&gt;
cat &amp;gt; /tmp/runme.sh&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
cd /dev&lt;br /&gt;
for i in 1 2 3 4 5 6 7 ; do sh MAKEDEV pty$i ; done&lt;br /&gt;
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ; do sh MAKEDEV vn$i ; done&lt;br /&gt;
&lt;br /&gt;
NOTE: there are only 4 lines in the above output - however the lines may be wrapped on your terminal - make sure that there are only four lines in the script you make.&lt;br /&gt;
&lt;br /&gt;
chmod +x /tmp/runme.sh&lt;br /&gt;
/tmp/runme.sh&lt;br /&gt;
&lt;br /&gt;
rm /tmp/runme.sh&lt;br /&gt;
&lt;br /&gt;
ls /dev/vn*|wc -l (make sure the output is a high number – larger than 128)&lt;br /&gt;
ls /dev/pty*|wc -l (make sure the output is exactly 256)&lt;br /&gt;
&lt;br /&gt;
33. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.104&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.104 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.101 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
34. make sure sysctls are set and preserved after reboot&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
kern.consmute=0&lt;br /&gt;
jail.sysvipc_allowed=1&lt;br /&gt;
kern.ipc.shm_use_phys=1&lt;br /&gt;
kern.ipc.shmall=65535&lt;br /&gt;
kern.ipc.shmmax=134217728&lt;br /&gt;
net.inet.tcp.syncookies=0&lt;br /&gt;
kern.maxfiles=32768&lt;br /&gt;
kern.fallback_elf_brand=3&lt;br /&gt;
kern.maxprocperuid=4000&lt;br /&gt;
jail.max_procs_per_jail: 1026&lt;br /&gt;
&lt;br /&gt;
35. reboot&lt;br /&gt;
&lt;br /&gt;
36. create the jail template&lt;br /&gt;
vnconfig -T -S 1g -Z -s labels -c /dev/vn1 /mnt/data1/jail&lt;br /&gt;
disklabel -r -w vn1 auto&lt;br /&gt;
newfs /dev/vn1c&lt;br /&gt;
cd /usr/src&lt;br /&gt;
mkdir -p /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/vn1c /mnt/data1/jail-DIR&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR (2450: 45mins, supermicro: 19mins)&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR -DNO_MAKEDEV_RUN&lt;br /&gt;
cd /mnt/data1/jail-DIR/dev&lt;br /&gt;
sh MAKEDEV jail&lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
cat &amp;gt; /etc/rc.conf&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
network_interfaces=&amp;quot;&amp;quot;&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
nameserver 69.55.225.225&lt;br /&gt;
nameserver 69.55.230.3&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# DO NOT UNCOMMENT THESE&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
mv /bin/df /bin/df_&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /bin/df&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
/bin/df_ $* .&lt;br /&gt;
&lt;br /&gt;
chmod +x /bin/df&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /sbin/mount&lt;br /&gt;
echo `df | tail -1 | awk &#039;{print $1 &amp;quot; on &amp;quot; $6 &amp;quot; (ufs, local)&amp;quot;}&#039;`&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039;&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user)&lt;br /&gt;
&lt;br /&gt;
put user in wheel group&lt;br /&gt;
vi /etc/group&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
cd /etc&lt;br /&gt;
vipw -d .&lt;br /&gt;
root:$1$krszPxhk$xkCepSnz3mIikT3vCtJCt0:0:0::0:0:Charlie &amp;amp;:/root:/bin/csh&lt;br /&gt;
user:$1$Mx9p5Npk$QdMU6c8YQqp2FW2M3irEh/:1001:1001::0:0:User &amp;amp;:/home/user:/bin/sh&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
chflags schg /dev/*mem&lt;br /&gt;
&lt;br /&gt;
cd /dev&lt;br /&gt;
rm console&lt;br /&gt;
ln -s null console&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean (2450: 47mins , supermicro: 17mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail-DIR/usr&lt;br /&gt;
&lt;br /&gt;
cd /mnt/data1/jail-DIR/dev&lt;br /&gt;
rm kmem&lt;br /&gt;
mknod kmem c 2 1 root:kmem&lt;br /&gt;
chmod 640 kmem&lt;br /&gt;
rm mem&lt;br /&gt;
mknod mem c 2 0 root:kmem&lt;br /&gt;
chmod 640 mem&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for i in 1 2 3 4 5 6 7 ; do sh MAKEDEV pty$i ; done&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /mnt/data1/jail-DIR/usr/compat/linux/dev&lt;br /&gt;
mknod null c 2 2&lt;br /&gt;
mknod random c 2 3&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
mkdir /usr/local/jail/template/&lt;br /&gt;
dump -0a -f /usr/local/jail/template/411template /dev/vn1&lt;br /&gt;
&lt;br /&gt;
umount /dev/vn1c&lt;br /&gt;
vnconfig -u /dev/vn1&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail&lt;br /&gt;
rm -fr /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
37. setup backups&lt;br /&gt;
cat &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
backupdir=/mnt/data2/jail18_rsync&lt;br /&gt;
&lt;br /&gt;
## ENTRY /etc&lt;br /&gt;
## ENTRY /usr/local/etc&lt;br /&gt;
## ENTRY /usr/local/jail&lt;br /&gt;
## ENTRY /root/logs&lt;br /&gt;
&lt;br /&gt;
on backup2:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /mnt/data2/jail18_rsync/0_today&lt;br /&gt;
mkdir -p /mnt/data2/jail18_rsync/1_yesterday&lt;br /&gt;
mkdir -p /mnt/data2/jail18_rsync/2_two_day&lt;br /&gt;
&lt;br /&gt;
add the system to /mnt/data1/bin/rsync_houseclean &lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
38. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
39. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.101&lt;br /&gt;
ListenAddress 10.1.4.104&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
40. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
55 10,23 * * * /usr/local/jail/bin/trafficwatch.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
41. Reboot notify script&lt;br /&gt;
cat &amp;gt; /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
echo &amp;quot;`/bin/hostname` rebooted&amp;quot; | /usr/bin/mail reboot@johncompanies.com&lt;br /&gt;
&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
&lt;br /&gt;
42. copy jailmake from prev system&lt;br /&gt;
scp user@10.1.4.118:/usr/local/jail/bin/jailmake /usr/local/jail/bin&lt;br /&gt;
rehash&lt;br /&gt;
NOTE: remove df altering code from jailmake since we put the correct df in the template, and make sure path to template file is right&lt;br /&gt;
&lt;br /&gt;
43. add to templates via mgmt system&lt;br /&gt;
&lt;br /&gt;
44. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
45. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.2&lt;br /&gt;
00117 deny ip from any to 69.55.228.2&lt;br /&gt;
&lt;br /&gt;
jail4 would be 00104...&lt;br /&gt;
ipfw add 00118 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.140&lt;br /&gt;
ipfw add 00118 deny ip from any to 69.55.228.140&lt;br /&gt;
&lt;br /&gt;
46. select customers for probe map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 6.1 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2006-05-09&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: off&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect aacd0&lt;br /&gt;
cursor over aacd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over aacd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure aacd0 is highlighted&lt;br /&gt;
a to start with defaults&lt;br /&gt;
&lt;br /&gt;
john likes:&lt;br /&gt;
/1g&lt;br /&gt;
/var 256m&lt;br /&gt;
&lt;br /&gt;
Glenn likes:&lt;br /&gt;
/128&lt;br /&gt;
/var 256&lt;br /&gt;
/usr 3g&lt;br /&gt;
/tmp 256&lt;br /&gt;
&lt;br /&gt;
We do:&lt;br /&gt;
delete everything&lt;br /&gt;
/ 128M&lt;br /&gt;
swap 2G&lt;br /&gt;
/var 256M&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 3G&lt;br /&gt;
/mnt/data1 remaining space&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to aacd1&lt;br /&gt;
swap 2G&lt;br /&gt;
/mnt/data2 remaining space&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
when it comes back up, enter junk when it asks for key seed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail19 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=38400&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
5. add console=&amp;quot;comconsole&amp;quot; to /boot/loader.conf&lt;br /&gt;
echo &amp;quot;console=&amp;quot;&amp;quot;comconsole&amp;quot;&amp;quot;&amp;quot; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins)&lt;br /&gt;
&lt;br /&gt;
8. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup &lt;br /&gt;
(2450, ~12mins, supermicro, 27mins)&lt;br /&gt;
&lt;br /&gt;
9. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
10. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
scp /root/.ssh/id_dsa.pub user@backup2:/tmp/jailkey&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2&lt;br /&gt;
&lt;br /&gt;
11. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build/freebsd (name the kernel config the same as the jail, ex jail18):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.1 ./jail19&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail14&lt;br /&gt;
ident           jail14&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc1 to the end of the BRANCH string (RELEASE-jc1)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
12. bring over patches from backup2&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/6.1/*&amp;quot; .&lt;br /&gt;
jail_proc_patch      100% |*************************************************|  2593    00:00&lt;br /&gt;
restore-patch        100% |*************************************************|  3295    00:00&lt;br /&gt;
54ps-jail-patch      100% |*************************************************|  2602    00:00&lt;br /&gt;
jail_rtprio_patch    100% |*************************************************|   301    00:00&lt;br /&gt;
udp-patch            100% |*************************************************|   594    00:00&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch &amp;lt; 54ps-jail-patch&lt;br /&gt;
patch &amp;lt; jail_proc_patch&lt;br /&gt;
patch &amp;lt; restore-patch&lt;br /&gt;
patch &amp;lt; jail_rtprio_patch&lt;br /&gt;
patch &amp;lt; udp-patch&lt;br /&gt;
&lt;br /&gt;
13. build, install kernel and world&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld buildkernel installkernel &lt;br /&gt;
(2450: 1:56min, supermicro::59mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
14. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname –a&lt;br /&gt;
&lt;br /&gt;
15. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup &lt;br /&gt;
(2450: 18mins, supermicro: 19mins)&lt;br /&gt;
&lt;br /&gt;
18. (only applies if adaptec card installed)&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins)&lt;br /&gt;
&lt;br /&gt;
reibuild rpmdb cause we had probs installing aacapps&lt;br /&gt;
cd /compat/linux/bin&lt;br /&gt;
./rpm --initdb&lt;br /&gt;
./rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
install aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/aacapps-4.1-0.i386.rpm /tmp/.&lt;br /&gt;
/compat/linux/bin/rpm -ivh --excludepath=/dev /tmp/aacapps-4.1-0.i386.rpm&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
20. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
21. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
21. install perl from ports&lt;br /&gt;
PROB NOT NECESSARY – INSTALLED WITH LINUX I THINK&lt;br /&gt;
cd /usr/ports/lang/perl5.8/&lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(supermicro: 5min)&lt;br /&gt;
&lt;br /&gt;
22. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd6.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
23. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.105 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.103 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail19,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh (y to questions)&lt;br /&gt;
./bbchkhosts.sh (ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
modify bb-msgtab to look for raid failures&lt;br /&gt;
&lt;br /&gt;
24. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
25. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.119 jail19.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
27. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
28. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.105&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
29. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
31. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
33. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.119&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.118 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.101 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
34. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=65535\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.max_procs_per_jail: 1026\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
35. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
36. enable noatime option&lt;br /&gt;
NOT APPLICABLE IF RUNNING GVINUM&lt;br /&gt;
data1 and data2 should look something like:&lt;br /&gt;
/dev/amrd0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
36. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
35. reboot&lt;br /&gt;
Check rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
36. create gvinum volumes&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/aacd0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
For a 73G drive (after OS), we can fit 31 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data1 device /dev/aacd0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 146G drive (-4G for swap), we can fit 66 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For 3rd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
Label should be:&lt;br /&gt;
# /dev/aacd2s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  c: 143299737        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  g: 143299721        16    unused        0     0&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data3 device /dev/aacd2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv; done&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 2nd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. create the jail template&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/jail&lt;br /&gt;
newfs /dev/gvinum/v1&lt;br /&gt;
mount /dev/gvinum/v1 /mnt/jail&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make clean&lt;br /&gt;
rm -fr /usr/obj/&lt;br /&gt;
make world DESTDIR=/mnt/jail&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins)&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/jail&lt;br /&gt;
mount_devfs devfs /mnt/jail/dev&lt;br /&gt;
devfs -m /mnt/jail/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/jail&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
&lt;br /&gt;
jail /mnt/jail testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# DO NOT UNCOMMENT THESE&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/jail/usr (2450: 2:00 mins , supermicro: 15mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/jail/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
mkdir /usr/local/jail/template/&lt;br /&gt;
dump -0a -f /usr/local/jail/template/61template /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
umount /mnt/jail/dev&lt;br /&gt;
umount /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
rm -fr /mnt/jail&lt;br /&gt;
&lt;br /&gt;
37. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/mnt/data3jail3_rsync\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup2:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /mnt/data3/jail3/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /mnt/data4/bin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
38. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
39. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.101&lt;br /&gt;
ListenAddress 10.1.4.118&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
40. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
55 10,23 * * * /usr/local/jail/bin/trafficwatch.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
41. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
42. copy jailmake from prev system&lt;br /&gt;
scp user@10.1.4.119:/usr/local/jail/bin/jailmake /usr/local/jail/bin&lt;br /&gt;
rehash&lt;br /&gt;
NOTE: remove df altering code from jailmake since we put the correct df in the template, and make sure path to template file is right&lt;br /&gt;
&lt;br /&gt;
43. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
5.4-RELEASE-p2-jc2&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;jail19&#039;,&#039;jail19.johncompanies.com&#039;,0,&#039;l&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail19&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 6.2-RELEASE-jc1&#039;,5,&#039;FreeBSD 6.2&#039;,0);&lt;br /&gt;
&lt;br /&gt;
44. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
45. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00119 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00119 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00119 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
ipfw add 00119 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
46. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
47. install raid monitor&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/asr-utils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
48. make gv start on boot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/gvinum /etc/rc.d/gvinum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gconcat label -v somelabel /dev/gvinum/a /dev/gvinum/b&lt;br /&gt;
bsdlabel -r -w /dev/concat/somelabel&lt;br /&gt;
newfs /dev/concat/somelabela&lt;br /&gt;
mount /dev/concat/somelabel /mount/point&lt;br /&gt;
&lt;br /&gt;
umount /dev/concat/somelabel&lt;br /&gt;
gconcat stop somelabel&lt;br /&gt;
gconcat label -v /dev/gvinum/a /dev/gvinum/b /dev/gvinum/c /dev/gvinum/d&lt;br /&gt;
growfs /dev/concat/somelabel&lt;br /&gt;
mount /dev/concat/somelabel /mount/point&lt;br /&gt;
&lt;br /&gt;
volume f&lt;br /&gt;
        plex org concat&lt;br /&gt;
        sd length 30449m drive data1&lt;br /&gt;
&lt;br /&gt;
where f is &lt;br /&gt;
&lt;br /&gt;
D data1                 State: up       /dev/aacd0s1g   A: 30449/64241 MB (47%)&lt;br /&gt;
&lt;br /&gt;
gvinum rm -r f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
so i setup 2 machines with 6.1. A had 2 logical drives and gv&#039;s created across both. B had 1 logical drive and gv&#039;s across the 1 drive.  &lt;br /&gt;
the labeling for the gv&#039;s was v1-vN (till i ran out of space) &lt;br /&gt;
when i moved aac1 from A to B, the gv&#039;s on A&#039;s aac1, took precedence over the similarly labeled gv&#039;s on B&#039;s aac0. in other words. B&#039;s aac0 used to have v1-v30. A&#039;s aac1 had vn6-vn30. when A&#039;s aac1 was moved to B, v1-v5 were linked to B&#039;s aac0, and v6-v30 linked to A&#039;s aac1 &lt;br /&gt;
i relabeled B&#039;s aac0 gv&#039;s to something different (not v1-vN) and tried again and they all showed up.  &lt;br /&gt;
i tried the experiment again this time moving A&#039;s aac0 to B. at that point nothing worked. i moved A&#039;s aac0 back to A and renamed the device (data1) to something else, then tried the test again. still no beans.  &lt;br /&gt;
it&#039;s hazy what i did after that cause the machine&#039;s weren&#039;t cooperating and i was trying to rename the device but basically i think i need to repeat the test and see if i can re-define the device, and probably also give it a unique name and i bet it would have worked.  &lt;br /&gt;
also interesting- A&#039;s aac1 contained data about A&#039;s aac0 which showed up when i put aac1 into B &lt;br /&gt;
skeeter:	as for the gv stuff, it definitely sounds like using some sort of serial numbering scheme would be the way to go if you want to be able to move disks around.... &lt;br /&gt;
that overlap is still an issue  (aac1&#039;s device was &#039;data2&#039;)  when i had A&#039;s aac0 in B nothing worked both disks gv devices were called data1 &lt;br /&gt;
skeeter:	I suppose you could serialize those names as well...&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 6.2 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2007-10-15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: on&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect amrd0&lt;br /&gt;
cursor over amrd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over amrd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure amrd0 is highlighted&lt;br /&gt;
a to start with defaults&lt;br /&gt;
&lt;br /&gt;
john likes:&lt;br /&gt;
/1g&lt;br /&gt;
/var 256m&lt;br /&gt;
&lt;br /&gt;
Glenn likes:&lt;br /&gt;
/128&lt;br /&gt;
/var 256&lt;br /&gt;
/usr 3g&lt;br /&gt;
/tmp 256&lt;br /&gt;
&lt;br /&gt;
We do:&lt;br /&gt;
delete everything&lt;br /&gt;
/ 128M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 3.5G (3584M)&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to amrd1&lt;br /&gt;
swap 4G&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail7 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
5. add console=&amp;quot;comconsole&amp;quot; to /boot/loader.conf&lt;br /&gt;
echo &amp;quot;console=&amp;quot;&amp;quot;comconsole&amp;quot;&amp;quot;&amp;quot; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd6.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build/freebsd (name the kernel config the same as the jail, ex jail18):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2 ./jail7&lt;br /&gt;
&lt;br /&gt;
or for PAE&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2-PAE ./jail7&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail7&lt;br /&gt;
ident           jail7&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc1 to the end of the BRANCH string (RELEASE-jc1)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/6.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
Apply these only to 2950 with PAE:&lt;br /&gt;
patch -p0 &amp;lt; mfi-patch&lt;br /&gt;
patch -p0 &amp;lt; gvinum-staticcompile-patch&lt;br /&gt;
patch -p0 &amp;lt; gvinum-bin-patch&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld buildkernel installkernel; mail -s &#039;kernel build done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.119&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.118 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.101 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=65535\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.max_procs_per_jail: 1026\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname –a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
 (for adaptec)&lt;br /&gt;
This didn’t work: reibuild rpmdb cause we had probs installing aacapps&lt;br /&gt;
cd /compat/linux/bin&lt;br /&gt;
./rpm --initdb&lt;br /&gt;
./rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
Install of linux-base lead to broken rpm on 6.2 so:&lt;br /&gt;
install aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/aacapps-4.1-0.i386.rpm /tmp/.&lt;br /&gt;
/compat/linux/bin/rpm -ivh --excludepath=/dev /tmp/aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp user@10.1.4.107:/compat/linux/usr/sbin/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
rpm didn’t even install on latest so just scp’d over aaccli and it worked&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
24. install perl from ports&lt;br /&gt;
Not necessary if linux_base is installed&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/lang/perl5.8/&lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(supermicro: 5min)&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.107 jail7.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail19,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.119 jail19.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
31. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
33. enable noatime option&lt;br /&gt;
NOT APPLICABLE IF RUNNING GVINUM&lt;br /&gt;
data1 and data2 should look something like:&lt;br /&gt;
/dev/amrd0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
reboot&lt;br /&gt;
&lt;br /&gt;
34. create gvinum volumes&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/amrd0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/amrd1s1&lt;br /&gt;
change d to g&lt;br /&gt;
&lt;br /&gt;
For a 73G drive (after OS), we can fit 31 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data1 device /dev/aacd0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 31 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 2g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a 146G drive (-4G for swap), we can fit 66 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/amrd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For 3rd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
Label should be:&lt;br /&gt;
# /dev/aacd2s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  c: 143299737        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  g: 143299721        16    unused        0     0&lt;br /&gt;
&lt;br /&gt;
/dev/aacd1s1d&lt;br /&gt;
echo &#039;drive data3 device /dev/aacd2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv; done&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 2nd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 2nd 73G drive (after 4G swap), we can fit 32 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 3nd 73G drive, we can fit 34 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data3 device /dev/mfid2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
2950:&lt;br /&gt;
bsdlabel -e /dev/mfid0s1&lt;br /&gt;
bsdlabel -e /dev/mfid1s1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For 1st drive (146G)&lt;br /&gt;
echo &#039;drive data1 device /dev/mfid0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
Usually there’s 2040m leftover so create one more smaller vol:&lt;br /&gt;
echo &#039;volume v64\&lt;br /&gt;
plex org concat\&lt;br /&gt;
sd length 2040m drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For 2nd drive (146G)&lt;br /&gt;
echo &#039;drive data2 device /dev/mfid1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/jail&lt;br /&gt;
newfs /dev/gvinum/v1&lt;br /&gt;
mount /dev/gvinum/v1 /mnt/jail&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make clean&lt;br /&gt;
rm -fr /usr/obj/&lt;br /&gt;
make buildworld &lt;br /&gt;
(2450: 2:28mins, supermicro: 53mins, 2950: 36min)&lt;br /&gt;
make world DESTDIR=/mnt/jail&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/jail&lt;br /&gt;
mount_devfs devfs /mnt/jail/dev&lt;br /&gt;
devfs -m /mnt/jail/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/jail&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
&lt;br /&gt;
jail /mnt/jail testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# DO NOT UNCOMMENT THESE&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 24mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/jail/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/jail/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
dump -0a -f /usr/local/jail/template/61template /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
umount /mnt/jail/dev&lt;br /&gt;
umount /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
rm -fr /mnt/jail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/mnt/data4/jail7\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jai7\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup2:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /mnt/data2/jail7/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /mnt/data4/bin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup to use the right drives&lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.226.128&lt;br /&gt;
ListenAddress 10.1.4.114&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
55 10,23 * * * /usr/local/jail/bin/trafficwatch.pl&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;jail19&#039;,&#039;jail19.johncompanies.com&#039;,0,&#039;l&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail19&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 6.2-RELEASE-jc1&#039;,15,&#039;FreeBSD 6.2&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
45. install raid monitor (LSI 320 only):&lt;br /&gt;
&lt;br /&gt;
scp backup2:/d4/build/megaraid/MegaMonitor1.02.tgz /tmp&lt;br /&gt;
pkg_add MegaMonitor1.02.tgz&lt;br /&gt;
&lt;br /&gt;
edit line in /usr/local/etc/rc.d/megamonitor.sh to look like:&lt;br /&gt;
/usr/sbin/MegaCtrl -start -log /var/log/messages  -disChkCon -SMART9999 &amp;gt; /megamonitor.out&lt;br /&gt;
&lt;br /&gt;
comment out:&lt;br /&gt;
localhost: /var/log/messages : : : **Monitor** : &lt;br /&gt;
In /usr/home/bb/bbc1.9e-btf/etc/bb-msgstab&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
46. make gv start on boot&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/gvinum /etc/rc.d/gvinum&lt;br /&gt;
&lt;br /&gt;
If they start stale:&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 64 ]\&lt;br /&gt;
do\&lt;br /&gt;
        gvinum start v$i\&lt;br /&gt;
        i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
sh /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 6.2 -&amp;gt; 6.3 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2008-08-07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. remove old src&lt;br /&gt;
cd /usr&lt;br /&gt;
rm –fr src/*&lt;br /&gt;
&lt;br /&gt;
2.  get latest sources for this release:&lt;br /&gt;
&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; pagedave&lt;br /&gt;
(20min)&lt;br /&gt;
&lt;br /&gt;
3. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build/freebsd (name the kernel config the same as the jail, ex jail18):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2 ./jail7&lt;br /&gt;
&lt;br /&gt;
or for PAE&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2-PAE ./jail7&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail7&lt;br /&gt;
ident           jail7&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc1 to the end of the BRANCH string (RELEASE-jc1)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
3. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/6.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
Apply these only to 2950 with PAE:&lt;br /&gt;
patch -p0 &amp;lt; gvinum-staticcompile-patch&lt;br /&gt;
patch -p0 &amp;lt; gvinum-bin-patch&lt;br /&gt;
&lt;br /&gt;
4. build, install kernel&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel;  pagedave&lt;br /&gt;
(2min)&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
mv kernel.old kernel.old.old&lt;br /&gt;
(optional move old kernel out of the way)&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make installkernel&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
mv kernel.old kernel.6.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. take ½ of mirror and test (boot up) in new hardware&lt;br /&gt;
&lt;br /&gt;
6. improved loader configs:&lt;br /&gt;
&lt;br /&gt;
/boot/loader.conf:&lt;br /&gt;
console=&amp;quot;comconsole,vidconsole&amp;quot;&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot;&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
7. build userland&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld; pagedave&lt;br /&gt;
(33mins)&lt;br /&gt;
make installworld &lt;br /&gt;
&lt;br /&gt;
mergemaster –i&lt;br /&gt;
reboot&lt;br /&gt;
8. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 7.0 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2008-04-30&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: on&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect amrd0&lt;br /&gt;
cursor over amrd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over amrd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure mfid0 is highlighted&lt;br /&gt;
&lt;br /&gt;
/ 256M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M (4.6G)&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 4G&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1&lt;br /&gt;
swap 8G&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail2 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
(leave out the speed and mfi lines for 2450s)&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd7.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_zfs jailmake&lt;br /&gt;
--OR--&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_geom jailmake&lt;br /&gt;
&lt;br /&gt;
ln -s /usr/local/jail/bin/js_zfs js&lt;br /&gt;
--OR--&lt;br /&gt;
ln -s /usr/local/jail/bin/js_geom js&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-OR-&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. &lt;br /&gt;
for i386:&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.0-PAE ./mx2&lt;br /&gt;
&lt;br /&gt;
-or-&lt;br /&gt;
for amd64:&lt;br /&gt;
cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.0-amd64 ./jail2&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail2&lt;br /&gt;
ident           jail2&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/7.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld buildkernel installkernel; mail -s &#039;kernel build done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
cd /usr/src/sys/modules/zfs&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.102&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
hostname=&amp;quot;jail2.johncompanies.com&amp;quot;&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.102 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.53 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
#ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
zfs_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=65535\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
kern.maxvnodes=400000&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950/2450:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname –a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_0\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
For LSI based cards:&lt;br /&gt;
&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
For adaptec:&lt;br /&gt;
On jail18: &lt;br /&gt;
scp /compat/linux/usr/sbin/aaccli user@10.1.4.102:~&lt;br /&gt;
&lt;br /&gt;
mv ~user/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
For 3w9690:&lt;br /&gt;
scp backup2:/d4/build/3ware/tw_cli-freebsd-x86_64-9.5.0.1.tgz /usr/local/sbin&lt;br /&gt;
cd /usr/local/sbin xzvf tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
./tw_cli /c0 show allstatus&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
24. install perl from ports&lt;br /&gt;
Not necessary if linux_base is installed&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/lang/perl5.8/&lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(supermicro: 5min)&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.108 jail2.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail2,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: to get bb working on amd, had to copy over bin dir from linux dist &lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.108 jail2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
31. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
33. create zpools&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/mfid0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/mfid1s1&lt;br /&gt;
change d to g&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
zpool create pool1 mfid0s1g&lt;br /&gt;
zpool create pool2 mfid1s1g&lt;br /&gt;
zfs set atime=off pool1&lt;br /&gt;
zfs set atime=off pool2&lt;br /&gt;
&lt;br /&gt;
echo &#039; vfs.zfs.prefetch_disable=&amp;quot;1&amp;quot; \&lt;br /&gt;
vfs.zfs.arc_min=16777216 \&lt;br /&gt;
vfs.zfs.arc_max=33554432 \&lt;br /&gt;
vm.kmem_size_max=&amp;quot;1G&amp;quot; # for i386\&lt;br /&gt;
vm.kmem_size=&amp;quot;1G&amp;quot; # for i386\&lt;br /&gt;
vm.kmem_size_max=&amp;quot;1.5G&amp;quot; # for amd64\&lt;br /&gt;
vm.kmem_size=&amp;quot;1.5G&amp;quot; # for amd64\&lt;br /&gt;
vfs.zfs.zil_disable=&amp;quot;1&amp;quot; &#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=/mnt/data1/jail -o quota=4G pool1/jail&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: 1h )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail/dev&lt;br /&gt;
devfs -m /mnt/data1/jail/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail/sbin&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
rm /sbin/halt /sbin/reboot&lt;br /&gt;
ln /sbin/jkill /sbin/halt&lt;br /&gt;
ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
cd /libexec&lt;br /&gt;
mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 24mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
zfs snapshot pool1/jail@now&lt;br /&gt;
zfs send pool1/jail@now | cat &amp;gt; /usr/local/jail/template/70template &lt;br /&gt;
zfs destroy pool1/jail@now&lt;br /&gt;
&lt;br /&gt;
zfs destroy pool1/jail&lt;br /&gt;
&lt;br /&gt;
rmdir /mnt/data1/jail&lt;br /&gt;
f&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail2\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup1:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /data/jail2/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup to use the right drives&lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.238.233&lt;br /&gt;
ListenAddress 10.1.4.108&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup.zfs&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;mx2&#039;,&#039;mx2.johncompanies.com&#039;,0,&#039;m&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;mx2&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 7.1-RELEASE-jc2&#039;,44,&#039;FreeBSD 7.1&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
49. move and pare down generic kernel&lt;br /&gt;
mv kernel.old/ kernel.GENERIC&lt;br /&gt;
&lt;br /&gt;
/  too full, remove old kernel modules except for:&lt;br /&gt;
&lt;br /&gt;
Id Refs Address            Size     Name&lt;br /&gt;
 1   14 0xffffffff80100000 ac6c08   kernel&lt;br /&gt;
 2    1 0xffffffff80bc8000 1128     mfi_linux.ko&lt;br /&gt;
 3    4 0xffffffff80bca000 39138    linux.ko&lt;br /&gt;
 4    1 0xffffffffb48f8000 358c     linprocfs.ko&lt;br /&gt;
 5    1 0xffffffffb48fc000 9d3      linsysfs.ko&lt;br /&gt;
 6    1 0xffffffffb490c000 80ee8    zfs.ko&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
50. ntp doesn’t seem to start from rc so,&lt;br /&gt;
&lt;br /&gt;
echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 7.1 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2009-02-16&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: on&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
&lt;br /&gt;
NOTE&lt;br /&gt;
For gvin probs made 2 slices, 1st 8960M&lt;br /&gt;
Freebsd boot mgr&lt;br /&gt;
&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect amrd0&lt;br /&gt;
cursor over amrd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over amrd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure mfid0 is highlighted&lt;br /&gt;
&lt;br /&gt;
/ 256M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M (4.6G)&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 4G&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1&lt;br /&gt;
swap 8G&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail2 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
(leave out the speed and mfi lines for 2450s)&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd7.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_geom jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_geom js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_geom canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_geom jailmakeempty&lt;br /&gt;
&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
-OR-&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
(stable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. &lt;br /&gt;
for i386:&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.0-PAE ./mx2&lt;br /&gt;
&lt;br /&gt;
-or-&lt;br /&gt;
&lt;br /&gt;
for amd64:&lt;br /&gt;
cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.1-amd64 ./jail2&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail2&lt;br /&gt;
ident           jail2&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/7.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;kernel build done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
cd /sys/modules/geom/geom_vinum&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.102&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#ifconfig_xl0=&amp;quot;inet 10.1.4.102 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0=&amp;quot;inet 69.55.228.53 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950/2450:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/proc&lt;br /&gt;
mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname -a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
For LSI based cards:&lt;br /&gt;
&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i, 6/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli2&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
For adaptec:&lt;br /&gt;
On jail18: &lt;br /&gt;
scp /compat/linux/usr/sbin/aaccli user@10.1.4.102:~&lt;br /&gt;
&lt;br /&gt;
mv ~user/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
For 3w9690:&lt;br /&gt;
scp backup2:/d4/build/3ware/tw_cli-freebsd-x86_64-9.5.0.1.tgz /usr/local/sbin&lt;br /&gt;
cd /usr/local/sbin xzvf tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
./tw_cli /c0 show allstatus&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.102 jail2.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail2,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: to get bb working on amd, had to copy over bin dir from linux dist &lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.102 jail2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
33. create gvinum volumes&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
2950:&lt;br /&gt;
bsdlabel -e /dev/mfid0s1&lt;br /&gt;
bsdlabel -e /dev/mfid1s1&lt;br /&gt;
bsdlabel -e /dev/mfid2s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/amrd1s1&lt;br /&gt;
change d to g&lt;br /&gt;
&lt;br /&gt;
For a 146G drive (after OS and 4G swap), we can fit 127 1G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data1 device /dev/mfid0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 127 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 1g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
volume 1&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 3g drive data1&lt;br /&gt;
volume 2&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 5g drive data1&lt;br /&gt;
volume 3&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 8g drive data1&lt;br /&gt;
volume 4&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 6g drive data1&lt;br /&gt;
volume 5&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 10g drive data1&lt;br /&gt;
&lt;br /&gt;
for f in 1 2 3 4 5; do bsdlabel -rw /dev/gvinum/$f; done&lt;br /&gt;
for f in 1 2 3 4 5; do newfs /dev/gvinum/${f}a; done&lt;br /&gt;
for f in 1 2 3 4 5; do mkdir /mnt/data1/$f; mount /dev/gvinum/${f}a /mnt/data1/$f;done&lt;br /&gt;
for f in 1 2 3 4 5; do dd if=/dev/zero of=/mnt/data1/$f/this_is_$f bs=1m count=$f; done&lt;br /&gt;
for f in 1 2 3 4 5; do ll -h /mnt/data1/$f/; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a 300G drive (after OS and 4G swap), we can fit 273 1G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/mfid1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;128&amp;quot;\&lt;br /&gt;
while [ $i -le 401 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 1g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a 300G drive (after OS and 4G swap), we can fit 273 1G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data3 device /dev/mfid2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;402&amp;quot;\&lt;br /&gt;
while [ $i -le 675 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 1g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
Sometimes there’s 2040m leftover so create one more smaller vol:&lt;br /&gt;
echo &#039;volume v64\&lt;br /&gt;
plex org concat\&lt;br /&gt;
sd length 2040m drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
To delete:&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 127 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;gvinum rm -r v$i&amp;quot; &amp;gt;&amp;gt; /tmp/dgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkdgv&lt;br /&gt;
sh /tmp/mkdgv&lt;br /&gt;
sh /tmp/dgv&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/zero of=/dev/sdb seek=285474816 bs=512&lt;br /&gt;
dd if=/dev/zero of=/dev/mfid0s2 bs=1m count=1000 (do this to all drives)&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
touch /mnt/data1/jail &lt;br /&gt;
mdconfig -a -t vnode -s 1g -f /mnt/data1/jail -u 0&lt;br /&gt;
bsdlabel -rw md0 &lt;br /&gt;
newfs4x /dev/md0c&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0c /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: 1h )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
rm /sbin/halt /sbin/reboot&lt;br /&gt;
ln /sbin/jkill /sbin/halt&lt;br /&gt;
ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd libexec&lt;br /&gt;
mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
may have to run:&lt;br /&gt;
chflags noschg ld-elf32.so.1&lt;br /&gt;
chflags noschg ld-elf.so.1&lt;br /&gt;
then&lt;br /&gt;
chflags schg ld-elf.so.1&lt;br /&gt;
chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 18mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail-DIR/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
dump -0a -f /usr/local/jail/template/71template /dev/md0c&lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
umount /dev/md0c&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail2\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup1:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
ssh backup1 mkdir -p /data/jail2/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.53&lt;br /&gt;
ListenAddress 10.1.4.102&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup.md&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;mx2&#039;,&#039;mx2.johncompanies.com&#039;,0,&#039;m&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;mx2&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 7.1-RELEASE-jc2&#039;,44,&#039;FreeBSD 7.1&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
46. make gv start on boot&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/gvinum /etc/rc.d/gvinum&lt;br /&gt;
&lt;br /&gt;
If they start stale:&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 127 ]\&lt;br /&gt;
do\&lt;br /&gt;
        gvinum start v$i\&lt;br /&gt;
        i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
sh /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
49. move and pare down generic kernel&lt;br /&gt;
mv kernel.old/ kernel.GENERIC&lt;br /&gt;
&lt;br /&gt;
/  too full, remove old kernel modules except for:&lt;br /&gt;
&lt;br /&gt;
Id Refs Address            Size     Name&lt;br /&gt;
 1   14 0xffffffff80100000 ac6c08   kernel&lt;br /&gt;
 2    1 0xffffffff80bc8000 1128     mfi_linux.ko&lt;br /&gt;
 3    4 0xffffffff80bca000 39138    linux.ko&lt;br /&gt;
 4    1 0xffffffffb48f8000 358c     linprocfs.ko&lt;br /&gt;
 5    1 0xffffffffb48fc000 9d3      linsysfs.ko&lt;br /&gt;
 6    1 0xffffffffb490c000 80ee8    zfs.ko&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
50. ntp doesn’t seem to start from rc so,&lt;br /&gt;
&lt;br /&gt;
echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 7.2 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2009-06-18&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
2950:&lt;br /&gt;
Console redirection:&lt;br /&gt;
LCD string..&lt;br /&gt;
Date to GMT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 7.2&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to mfid0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect mfid0&lt;br /&gt;
cursor over mfid1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over mfid0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure mfid0 is highlighted&lt;br /&gt;
&lt;br /&gt;
/ 256M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M (4.6G)&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 4G&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1&lt;br /&gt;
swap 8G (or 4G if there’s a 3rd drive)&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf &lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail8 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd7.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch deprecated&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
-OR-&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
(stable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. &lt;br /&gt;
&lt;br /&gt;
cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.1-amd64 ./jail8&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail8&lt;br /&gt;
ident           jail8&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/7.2/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
cd /sys/modules/geom/geom_vinum&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.102&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#ifconfig_xl0=&amp;quot;inet 10.1.4.102 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0=&amp;quot;inet 69.55.228.53 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
vm.pmap.shpgperproc=300&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950/2450:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/proc&lt;br /&gt;
mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
19. enable noatime option&lt;br /&gt;
NOT APPLICABLE IF RUNNING GVINUM&lt;br /&gt;
data1 and data2 should look something like:&lt;br /&gt;
/dev/amrd0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname -a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
For LSI based cards:&lt;br /&gt;
&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i, 6/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli2&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
For adaptec:&lt;br /&gt;
On jail18: &lt;br /&gt;
scp /compat/linux/usr/sbin/aaccli user@10.1.4.102:~&lt;br /&gt;
&lt;br /&gt;
mv ~user/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
For 3w9690:&lt;br /&gt;
scp backup2:/d4/build/3ware/tw_cli-freebsd-x86_64-9.5.0.1.tgz /usr/local/sbin&lt;br /&gt;
cd /usr/local/sbin xzvf tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
./tw_cli /c0 show allstatus&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.108 jail8.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail8,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: to get bb working on amd, had to copy over bin dir from linux dist &lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.102 jail2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
touch /mnt/data1/jail &lt;br /&gt;
mdconfig -a -t vnode -s 1g -f /mnt/data1/jail -u 0&lt;br /&gt;
bsdlabel -rw md0 &lt;br /&gt;
newfs4x -i 4096 /dev/md0c&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0c /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR; pagedave&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: 1h )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
Username: user&lt;br /&gt;
Full name: user&lt;br /&gt;
Uid (Leave empty for default):&lt;br /&gt;
Login group [user]:&lt;br /&gt;
Login group is user. Invite user into other groups? []: wheel&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/user]:&lt;br /&gt;
Home directory permissions (Leave empty for default):&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: y&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : user&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : user&lt;br /&gt;
Uid        : 1001&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : user&lt;br /&gt;
Home       : /home/user&lt;br /&gt;
Home Mode  :&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): y&lt;br /&gt;
adduser: INFO: Successfully added (user) to the user database.&lt;br /&gt;
adduser: INFO: Password for (user) is: 901gmYjO&lt;br /&gt;
Add another user? (yes/no): n&lt;br /&gt;
Goodbye!&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
rm /sbin/halt /sbin/reboot&lt;br /&gt;
ln /sbin/jkill /sbin/halt&lt;br /&gt;
ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd libexec&lt;br /&gt;
chflags noschg ld-elf32.so.1&lt;br /&gt;
chflags noschg ld-elf.so.1&lt;br /&gt;
&lt;br /&gt;
mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
chflags schg ld-elf.so.1&lt;br /&gt;
chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 18mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail-DIR/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
dump -0a -f /usr/local/jail/template/72template /dev/md0c&lt;br /&gt;
umount /dev/md0c&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail2\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup1:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
ssh backup1 mkdir -p /data/jail2/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.53&lt;br /&gt;
ListenAddress 10.1.4.102&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup.md&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;mx2&#039;,&#039;mx2.johncompanies.com&#039;,0,&#039;m&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;mx2&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 7.1-RELEASE-jc2&#039;,44,&#039;FreeBSD 7.1&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
50. ntp doesn’t seem to start from rc so,&lt;br /&gt;
&lt;br /&gt;
echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
&lt;br /&gt;
51. recover space on /usr&lt;br /&gt;
&lt;br /&gt;
rm -fr /usr/obj&lt;br /&gt;
&lt;br /&gt;
52. setup fuse&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/fusefs-kmod/&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
fusefs_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sysctl vfs.usermount=1&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/fusefs-sshfs&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
sshfs 1005@usw-s009.rsync.net: /mnt/data1/69.55.234.68-col00001-DIR/mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Stress testing a 6.x jail =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/jail&lt;br /&gt;
newfs /dev/gvinum/v1&lt;br /&gt;
mount /dev/gvinum/v1 /mnt/jail&lt;br /&gt;
cd /mnt/jail&lt;br /&gt;
restore -r -f /path/to/61stress .&lt;br /&gt;
cd ..&lt;br /&gt;
umount /mnt/jail&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10; do mkdir /mnt/data1/$f; done&lt;br /&gt;
&lt;br /&gt;
gconcat label v3-v5 /dev/gvinum/v3 /dev/gvinum/v4 /dev/gvinum/v5&lt;br /&gt;
bsdlabel -r -w /dev/concat/v3-v5&lt;br /&gt;
newfs /dev/concat/v3-v5a&lt;br /&gt;
mount /dev/concat/v3-v5a /mnt/data1/1&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v10&lt;br /&gt;
newfs /dev/gvinum/v10a&lt;br /&gt;
mount /dev/gvinum/v10a /mnt/data1/2&lt;br /&gt;
gconcat label v23-v25 /dev/gvinum/v23 /dev/gvinum/v24 /dev/gvinum/v25&lt;br /&gt;
bsdlabel -r -w /dev/concat/v23-v25&lt;br /&gt;
newfs /dev/concat/v23-v25a&lt;br /&gt;
mount /dev/concat/v23-v25a /mnt/data1/3&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v50&lt;br /&gt;
newfs /dev/gvinum/v50a&lt;br /&gt;
mount /dev/gvinum/v50a /mnt/data1/4&lt;br /&gt;
gconcat label v63-v65 /dev/gvinum/v63 /dev/gvinum/v64 /dev/gvinum/v65&lt;br /&gt;
bsdlabel -r -w /dev/concat/v63-v65&lt;br /&gt;
newfs /dev/concat/v63-v65a&lt;br /&gt;
mount /dev/concat/v63-v65a /mnt/data1/5&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v70&lt;br /&gt;
newfs /dev/gvinum/v70a&lt;br /&gt;
mount /dev/gvinum/v70a /mnt/data1/6&lt;br /&gt;
gconcat label v83-v85 /dev/gvinum/v83 /dev/gvinum/v84 /dev/gvinum/v85&lt;br /&gt;
bsdlabel -r -w /dev/concat/v83-v85&lt;br /&gt;
newfs /dev/concat/v83-v85a&lt;br /&gt;
mount /dev/concat/v83-v85a /mnt/data1/7&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v100&lt;br /&gt;
newfs /dev/gvinum/v100a&lt;br /&gt;
mount /dev/gvinum//v100a /mnt/data1/8&lt;br /&gt;
gconcat label v123-v125 /dev/gvinum/v123 /dev/gvinum/v124 /dev/gvinum/v125&lt;br /&gt;
bsdlabel -r -w /dev/concat/v123-v125&lt;br /&gt;
mount /dev/concat/v123-v125a /mnt/data1/9&lt;br /&gt;
newfs /dev/concat/v123-v125a&lt;br /&gt;
mount /dev/concat/v123-v125a /mnt/data1/9&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v130&lt;br /&gt;
newfs /dev/gvinum/v130a&lt;br /&gt;
mount /dev/gvinum//v130a /mnt/data1/10&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10; do cd /mnt/data1/$f; dump -0a -f - /dev/gvinum/v1| restore -r -f - ; done&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10; do mount_devfs devfs /mnt/data1/$f/dev; devfs -m /mnt/data1/$f/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 15 16 17 18 19 20 21 22 23 24; do ifconfig bce0 alias 10.1.6.$f netmask 255.255.255.255; done&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/1 testhostname1 10.1.6.15 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/2 testhostname2 10.1.6.16 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/3 testhostname3 10.1.6.17 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/4 testhostname4 10.1.6.18 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/5 testhostname5 10.1.6.19 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/6 testhostname6 10.1.6.20 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/7 testhostname7 10.1.6.21 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/8 testhostname8 10.1.6.22 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/9 testhostname9 10.1.6.23 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/10 testhostname10 10.1.6.24 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
systat -vmstat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Stress testing zfs =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;zfs receive pool1/jail2 &amp;lt; /usr/local/jail/template/template&lt;br /&gt;
zfs set mountpoint=/mnt/data1/jail2 pool1/jail2&lt;br /&gt;
zfs set quota=4G pool1/jail2&lt;br /&gt;
zfs destroy pool1/jail2@now&amp;lt;/pre&amp;gt;&lt;br /&gt;
install apps that will run when jail started&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -r /usr/src /mnt/data1/jail2/usr&lt;br /&gt;
rm -fr /mnt/data1/jail2/usr/obj&lt;br /&gt;
&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail2/dev; devfs -m /mnt/data1/jail2/dev rule -s 3 applyset;&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail2 stress-test 69.55.234.86 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
cd /usr/ports/benchmarks/bonnie&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/sysutils/stress&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/lang/perl5.8&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/local/etc/rc.d/&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; boot.sh&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/buildworld &amp;amp;&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/portindex &amp;amp;&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/stress &amp;amp;&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/bonnie &amp;amp;&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; buildworld&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
while (true); do cd /usr/src; make buildworld; done&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; portindex&lt;br /&gt;
while (true); do cd /usr/ports/; make index; done&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; stress&lt;br /&gt;
/usr/local/bin/stress -c 1 -i 1 -m 1 -d 1 --vm-bytes 768M --hdd-bytes 128M&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; bonnie&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
while (true); do /usr/local/bin/bonnie -s 2g; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
chmod +x *&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
zfs snapshot pool1/jail2@now&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do zfs send pool1/jail2@now | zfs receive pool1/jail$f;&lt;br /&gt;
zfs set quota=10G pool1/jail$f; &lt;br /&gt;
zfs set mountpoint=/mnt/data1/jail$f pool1/jail$f;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do zfs send pool1/jail2@now | zfs receive pool2/jail$f&lt;br /&gt;
zfs set quota=10G pool2/jail$f;&lt;br /&gt;
zfs set mountpoint=/mnt/data2/jail$f pool2/jail$f;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101; do chmod 0 /mnt/data1/jail$f/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do chmod 0 /mnt/data1/jail$f/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 115 116 117 118 119 120 121 122 123 125 126 127; do chmod 0 /mnt/data2/jail$f/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 119 120 121 122 123 125 126 127 128 129 130 131; do chmod 0 /mnt/data2/jail$f/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do mount -t devfs devfs /mnt/data1/jail$f/dev; devfs -m /mnt/data1/jail$f/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do mount -t devfs devfs /mnt/data2/jail$f/dev; devfs -m /mnt/data2/jail$f/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do jail /mnt/data1/jail$f testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do jail /mnt/data2/jail$f testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
systat -vmstat&lt;br /&gt;
sysctl vfs.numvnodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do umount /mnt/data1/jail$f/dev; zfs destroy -r pool1/jail$f; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do umount /mnt/data2/jail$f/dev; zfs destroy -r pool2/jail$f; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do touch /mnt/data1/jail$f; &lt;br /&gt;
mdconfig -a -t vnode -s 10g -f /mnt/data1/jail$f -u $f;&lt;br /&gt;
bsdlabel -r -w md$f auto;&lt;br /&gt;
newfs -O 1 /dev/md${f}a;&lt;br /&gt;
mkdir /mnt/data1/jail$f-DIR;&lt;br /&gt;
mount /dev/md${f}a /mnt/data1/jail$f-DIR;&lt;br /&gt;
rsync -aSH /mnt/data2/jail2/ /mnt/data1/jail$f-DIR/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do touch /mnt/data2/jail$f; &lt;br /&gt;
mdconfig -a -t vnode -s 10g -f /mnt/data2/jail$f -u $f;&lt;br /&gt;
bsdlabel -r -w md$f auto;&lt;br /&gt;
newfs -O 1 /dev/md${f}a;&lt;br /&gt;
mkdir /mnt/data2/jail$f-DIR;&lt;br /&gt;
mount /dev/md${f}a /mnt/data2/jail$f-DIR;&lt;br /&gt;
rsync -aSH /mnt/data1/jail86-DIR/ /mnt/data2/jail$f-DIR/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do chmod 0700 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do chmod 0700 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do chmod 0700 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do chmod 0700 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101; do chmod 0 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do chmod 0 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 115 116 117 118 119 120 121 122 123 125 126 127; do chmod 0 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 119 120 121 122 123 125 126 127 128 129 130 131; do chmod 0 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do mount -t devfs devfs /mnt/data1/jail$f-DIR/dev; devfs -m /mnt/data1/jail$f-DIR/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do mount -t devfs devfs /mnt/data2/jail$f-DIR/dev; devfs -m /mnt/data2/jail$f-DIR/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do jail /mnt/data1/jail$f-DIR testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do jail /mnt/data2/jail$f-DIR testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do cp /mnt/data1/boot.sh /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
cp /mnt/data1/stress /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
cp /mnt/data1/bonnie /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do cp /mnt/data1/boot.sh /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/; &lt;br /&gt;
cp /mnt/data1/stress /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
cp /mnt/data1/bonnie /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do umount /mnt/data1/jail$f-DIR/dev; umount /mnt/data1/jail$f-DIR; mdconfig -d -u $f; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do umount /mnt/data2/jail$f-DIR/dev; umount /mnt/data2/jail$f-DIR; mdconfig -d -u $f;  done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do &lt;br /&gt;
mkdir /mnt/data1/jail$f-DIR/;&lt;br /&gt;
cd /mnt/data1/jail$f-DIR/;&lt;br /&gt;
dump -0a -f - /dev/md0a | restore -r -f -;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do mkdir /mnt/data2/jail$f-DIR/;&lt;br /&gt;
cd /mnt/data2/jail$f-DIR/;&lt;br /&gt;
dump -0a -f - /dev/md0a | restore -r -f -;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do chmod 0700 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/*; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do chmod 0700 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/*;  done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--vm-bytes 300M&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Reloading FreeBSD (while preserving customer data) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2. assuming 2 mirrors, boot to disk 1 of 4.11 &lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
(skip partition)&lt;br /&gt;
label&lt;br /&gt;
move cursor to aacd0, hit space (takes you to partition map screen)&lt;br /&gt;
given this as the pre-existing partition map:&lt;br /&gt;
Filesystem    1K-blocks   Used    Avail Capacity  Mounted on&lt;br /&gt;
/dev/aacd0s1a    128990  36888    81784    31%    /&lt;br /&gt;
/dev/aacd0s1h  30499106      4 28059174     0%    /mnt/data1&lt;br /&gt;
/dev/aacd1s1e  69526550      4 63964422     0%    /mnt/data2&lt;br /&gt;
/dev/aacd0s1f    257998     10   237350     0%    /tmp&lt;br /&gt;
/dev/aacd0s1g   3096462 852082  1996664    30%    /usr&lt;br /&gt;
/dev/aacd0s1e    257998   1198   236162     1%    /var&lt;br /&gt;
procfs                4      4        0   100%    /proc&lt;br /&gt;
&lt;br /&gt;
relabel and all mount points according to prev settings&lt;br /&gt;
&lt;br /&gt;
or, delete all partitions except for data parts, re-create as necessary&lt;br /&gt;
&lt;br /&gt;
re-toggle newfs on all mount points except for /mnt/data1 - make sure under the Newfs column the data1 (and data2) partiotions look like: UFS+S Y&lt;br /&gt;
&lt;br /&gt;
make sure under the Newfs column the data1 (and data2) partiotions look like&lt;br /&gt;
UFS+S N&lt;br /&gt;
&lt;br /&gt;
space to unselect aacd0&lt;br /&gt;
cursor over aacd1&lt;br /&gt;
space&lt;br /&gt;
&lt;br /&gt;
Space to select both drives and tab to ok&lt;br /&gt;
&lt;br /&gt;
Continue installation as per normal&lt;br /&gt;
distributions&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
media&lt;br /&gt;
cd&lt;br /&gt;
commit&lt;br /&gt;
yes&lt;br /&gt;
(2450: 16mins, supermicro: 11mins)&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot;&lt;br /&gt;
Set root pwd&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
Set tz&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=yes&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install&lt;br /&gt;
yes&lt;br /&gt;
take the cd out and let the machine reboot&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>76.89.76.68</name></author>
	</entry>
	<entry>
		<id>https://wiki.jcihosting.com/index.php?title=Jail_Server_Install&amp;diff=1209</id>
		<title>Jail Server Install</title>
		<link rel="alternate" type="text/html" href="https://wiki.jcihosting.com/index.php?title=Jail_Server_Install&amp;diff=1209"/>
		<updated>2013-04-10T04:46:16Z</updated>

		<summary type="html">&lt;p&gt;76.89.76.68: /* build, install kernel and world */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 9.x =&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
&lt;br /&gt;
Setup instructions below assume this is DELL 2950 with an LSI-based SAS RAID card.&lt;br /&gt;
&lt;br /&gt;
Server is at castle, connected to pub, private, serial and DRAC&lt;br /&gt;
&lt;br /&gt;
Assuming OS loading done via IPKVM with ISO mounted via USB&lt;br /&gt;
&lt;br /&gt;
Assumes at 4 drives, 2 mirrors&lt;br /&gt;
&lt;br /&gt;
== Configure server BIOS ==&lt;br /&gt;
&lt;br /&gt;
setup console redirect, speed 115200&lt;br /&gt;
&lt;br /&gt;
set LCD string to name of server &amp;quot;jail8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set date to GMT&lt;br /&gt;
&lt;br /&gt;
go into RAID bios and setup mirrors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setup DRAC ==&lt;br /&gt;
[[DRAC/RMM#DRAC_setup|DRAC setup]]&lt;br /&gt;
&lt;br /&gt;
== Install OS (sysinstall) ==&lt;br /&gt;
&lt;br /&gt;
boot to bootonly disk for AMD version of FreeBSD, i.e. &amp;lt;tt&amp;gt;FreeBSD-8.3-RELEASE-amd64-bootonly.iso&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when the install menu appears, choose &amp;lt;tt&amp;gt;custom install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== partition menu ===&lt;br /&gt;
move cursor to mfid0, hit space (takes you to partition map screen). If there is only 1 mirror, there will be no option to select a specifit drive: mfid0 will be selected.&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;freebsd standard mbr&#039;&lt;br /&gt;
&lt;br /&gt;
space to &#039;&#039;&#039;un&#039;&#039;&#039;select mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
cursor down to mfid1&amp;lt;br&amp;gt;&lt;br /&gt;
hit space&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;none&#039; for boot mgr (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
space&amp;lt;br&amp;gt;&lt;br /&gt;
(takes you into part. Screen again) &#039;q&#039; to exit&amp;lt;br&amp;gt;&lt;br /&gt;
none for boot mgr&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure both drives (mfid0 and mfid1) are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
=== Label menu ===&lt;br /&gt;
&lt;br /&gt;
Make sure mfid0 is highlighted at the top of the screen, setup the following partitions&lt;br /&gt;
&lt;br /&gt;
/ 512M&amp;lt;br&amp;gt;&lt;br /&gt;
swap 6G&amp;lt;br&amp;gt;&lt;br /&gt;
/var 1G &amp;lt;br&amp;gt;&lt;br /&gt;
/tmp 256M&amp;lt;br&amp;gt;&lt;br /&gt;
/usr 8G&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data1 remaining space &lt;br /&gt;
&lt;br /&gt;
All partitions except / should be setup for soft updates. If not, type &#039;s&#039; to enable for soft updates on all except for / (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1 at the top of the screen&amp;lt;br&amp;gt;&lt;br /&gt;
swap 8G (or 4G if there’s a 3rd drive)&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data2 remaining space &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;q&#039; to save and exit&lt;br /&gt;
&lt;br /&gt;
=== distributions ===&lt;br /&gt;
Choose the following distribudions&lt;br /&gt;
&lt;br /&gt;
* developer (ok to install ports)&lt;br /&gt;
* custom -&amp;gt; lib32&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
=== media ===&lt;br /&gt;
if you are installing via a cd, no need to enter this menu or change anything. Otherwise, choose ftp to install via ftp. You will be prompted to setup networking. You will need to choose a nic (typically bce0 or bce1). Say no to DHCP and IPv6. Hopefully the public nic cable was installed in bce0 so start with that nic and provide the hostname, (public) IP, netmask, gateway and DNS. When configured, it should start pinging. If it doesn&#039;t, have the NOC swap cables. Select any FTP server, usually Main or ftp4.&lt;br /&gt;
&lt;br /&gt;
=== commit ===&lt;br /&gt;
&lt;br /&gt;
this usually takes 12mins&amp;lt;br&amp;gt;&lt;br /&gt;
during the process you may need to select a new ftp mirror, this is not a problem.&amp;lt;br&amp;gt;&lt;br /&gt;
at the conclution of the install you will be prompted to enter the root password (2x) and returned to the configuration menu.&lt;br /&gt;
&lt;br /&gt;
=== add user ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Add&#039;&#039;&#039; user &#039;user&#039;. Defaults for everything is fine, just remember to enter &#039;wheel&#039; in the member group field.&lt;br /&gt;
Do set the password.&lt;br /&gt;
&lt;br /&gt;
=== Setup timezone ===&lt;br /&gt;
&lt;br /&gt;
PT&lt;br /&gt;
&lt;br /&gt;
=== Networking === &lt;br /&gt;
page down to the bottom and enable &#039;[X]&#039; sshd&lt;br /&gt;
&lt;br /&gt;
If you installed via cd, you will need to visit:&amp;lt;br&amp;gt;&lt;br /&gt;
interfaces-&amp;gt;bce0-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
No IPV6&amp;lt;br&amp;gt;&lt;br /&gt;
dhcp=no&amp;lt;br&amp;gt;&lt;br /&gt;
Set hostname, IP, DNS, gateway&amp;lt;br&amp;gt;&lt;br /&gt;
(i.e. setup the nic as indicated above)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exit the install and if you installed via CD, take it out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
== Configure OS, kernel, userland, jail ==&lt;br /&gt;
&lt;br /&gt;
=== double check the date/time ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/resolv.conf ===&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;search johncompanies.com \&lt;br /&gt;
 nameserver 69.55.225.225 \&lt;br /&gt;
 nameserver 69.55.230.3  \&lt;br /&gt;
 nameserver 69.55.229.3&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
=== edit /etc/make.conf ===&lt;br /&gt;
 echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
 KERNCONF=jail4 \&lt;br /&gt;
 BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
=== setup bootloader for console, etc ===&lt;br /&gt;
&lt;br /&gt;
add settings to /boot/loader.conf and /boot.config:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
 echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
 boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable login via serial console ===&lt;br /&gt;
turn off all ttyv&#039;s except 0 and 1 in /etc/ttys and turn on ttyd0, change type to vt100:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
The changed lines should look like:&lt;br /&gt;
&lt;br /&gt;
 ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 # Serial terminals&lt;br /&gt;
 # The &#039;dialup&#039; keyword identifies dialin lines to login, fingerd etc.&lt;br /&gt;
 ttyu0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure &lt;br /&gt;
&lt;br /&gt;
Restart init&lt;br /&gt;
 kill -1 1&lt;br /&gt;
&lt;br /&gt;
At this point you should have a login on console.&lt;br /&gt;
&lt;br /&gt;
To configure serial console access, login to the console server as root and run:&lt;br /&gt;
&lt;br /&gt;
 # vi /etc/remote&lt;br /&gt;
&lt;br /&gt;
following examples there, rename port to server&#039;s hostname, depending on where and which digi box this server is plugged into. Make sure to get speed right too: 115200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate hosts ===&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.10 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.2.3 backup3&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;69.55.230.11 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create ssh key, upload to backup servers ===&lt;br /&gt;
 cd&lt;br /&gt;
 ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup3 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
 ssh backup2 hostname&lt;br /&gt;
 ssh backup1 hostname&lt;br /&gt;
 ssh backup3 hostname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create &amp;amp; populate binaries/scripts dirs ===&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd8.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch deprecated&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
ln -s /usr/local/jail/bin/preboot_md preboot&lt;br /&gt;
ln -s /usr/local/jail/bin/startjail_md startjail&lt;br /&gt;
ln -s /usr/local/jail/bin/stopjail_md stopjail&lt;br /&gt;
&lt;br /&gt;
rehash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit root&#039;s path and login script ===&lt;br /&gt;
&lt;br /&gt;
 vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
alias cjb       cd /usr/local/jail/bin&lt;br /&gt;
alias cd1       cd /mnt/data1&lt;br /&gt;
alias cd2       cd /mnt/data2&lt;br /&gt;
alias cd3       cd /mnt/data3&lt;br /&gt;
alias jtop      jtop lj&lt;br /&gt;
alias j         jobs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add to path be careful to leave a space after bin and make sure the wrapping isn&#039;t broken:  &lt;br /&gt;
 /usr/local/jail/bin &lt;br /&gt;
&lt;br /&gt;
alter the prompt, set the following:&lt;br /&gt;
 set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
&amp;lt;pre&amp;gt;set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the new settings active in current shell:&lt;br /&gt;
 source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== update ports ===&lt;br /&gt;
&lt;br /&gt;
 portsnap fetch&lt;br /&gt;
 portsnap extract&lt;br /&gt;
&lt;br /&gt;
To update later on:&lt;br /&gt;
 portsnap fetch&lt;br /&gt;
 portsnap update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install svn ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv PACKAGESITE &amp;quot;ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-current/Latest/&amp;quot;&lt;br /&gt;
pkg_add subversion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== get latest sources for this release ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr&lt;br /&gt;
mv src/ src.orig&lt;br /&gt;
svn checkout svn://svn.FreeBSD.org/base/stable/9 /usr/src&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To update:&lt;br /&gt;
 make update SVN_UPDATE=yes&lt;br /&gt;
&lt;br /&gt;
=== configure new kernel ===&lt;br /&gt;
&lt;br /&gt;
Pull down the kernel config we are using for this distribution. In this case we use an 8.2 kernel config on 8.3, which is valid. The local file should be the same name as host- &amp;lt;tt&amp;gt;jail3&amp;lt;/tt&amp;gt; in this example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-8.2-amd64 ./jail3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
 vi jail3&lt;br /&gt;
 ident           jail3&lt;br /&gt;
&lt;br /&gt;
Optional, edit &amp;lt;tt&amp;gt;/sys/conf/newvers.sh&amp;lt;/tt&amp;gt; to add &amp;lt;tt&amp;gt;–jc2&amp;lt;/tt&amp;gt; to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
 vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes on kernel configuring: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install patches ===&lt;br /&gt;
&lt;br /&gt;
We don&#039;t have any patches right now. Refer to older FreeBSD version build docs on how that is/was done.&lt;br /&gt;
&lt;br /&gt;
=== build, install kernel and world ===&lt;br /&gt;
&lt;br /&gt;
Rename current generic kernel so it will always be available to boot from. Save room by removing non-needed kernel modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /boot&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
mv zfs.* hold/&lt;br /&gt;
mv opensolaris* hold/&lt;br /&gt;
&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
Note on -DWITHOUT_CLANG: try to do it without including that directive, it may work for you.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld KERNCONF=jail4; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
make -DWITHOUT_CLANG buildworld KERNCONF=jail4; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
~38mins&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mergemaster -p&lt;br /&gt;
You will be prompted to merge, replace or ignore files changed by the src update. In most cases you can &#039;&#039;&#039;d&#039;&#039;&#039;elete the temp (new) files.&lt;br /&gt;
&lt;br /&gt;
 make -DWITHOUT_CLANG installworld&lt;br /&gt;
~34min&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ONLY if this will be a zfs system (not currently used in 8.x):&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /sys/modules/zfs&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
cd /sys/modules/opensolaris&lt;br /&gt;
make &lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  populate devfs ruleset ===&lt;br /&gt;
 scp backup2:/mnt/data4/build/freebsd/devfs.rules.8x /etc/devfs.rules&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/rc.conf with IPs and service settings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.2.103&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_bce1=&amp;quot;inet 10.1.2.103 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bce0=&amp;quot;inet 69.55.229.7 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_bce0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
#rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
#zfs_enable=&amp;quot;YES&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modify IPs, hostname, gateway for this box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure sysctls are set and preserved upon boot ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
vm.pmap.shpgperproc=500\&lt;br /&gt;
security.bsd.unprivileged_read_msgbuf=0\&lt;br /&gt;
kern.maxvnodes=400000&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tuning note: watch vfs.numvnodes while the server is live to get guidance on where to set maxvnodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mount procfs ===&lt;br /&gt;
 echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mkdir -p /usr/compat/linux/proc&lt;br /&gt;
 mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable noatime option ===&lt;br /&gt;
data1 and data2 should look something like (add &#039;,noatime&#039; after &#039;rw&#039;):&lt;br /&gt;
 /dev/mfid0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
 /dev/mfid1s1d           /mnt/data2      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== reboot. Confirm new kernel is loaded, devfs in place ===&lt;br /&gt;
&lt;br /&gt;
 uname -a&lt;br /&gt;
	&lt;br /&gt;
Check devfs rules&lt;br /&gt;
 devfs rule showsets&lt;br /&gt;
 devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
Should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;#  devfs rule showsets&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
&lt;br /&gt;
#  devfs rule -s 3 show&lt;br /&gt;
100 include 1&lt;br /&gt;
207 path pts* unhide&lt;br /&gt;
217 path fd unhide&lt;br /&gt;
218 path fd/* unhide&lt;br /&gt;
300 path ttyp* unhide&lt;br /&gt;
301 path ttyq* unhide&lt;br /&gt;
302 path ttyr* unhide&lt;br /&gt;
303 path ttys* unhide&lt;br /&gt;
304 path ttyP* unhide&lt;br /&gt;
305 path ttyQ* unhide&lt;br /&gt;
306 path ttyR* unhide&lt;br /&gt;
307 path ttyS* unhide&lt;br /&gt;
400 path null unhide&lt;br /&gt;
500 path zero unhide&lt;br /&gt;
600 path random unhide&lt;br /&gt;
610 path urandom unhide&lt;br /&gt;
700 path mem unhide&lt;br /&gt;
710 path kmem unhide&lt;br /&gt;
810 path mdctl unhide&lt;br /&gt;
900 path stdin unhide&lt;br /&gt;
910 path stdout unhide&lt;br /&gt;
920 path stderr unhide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Install raid mgmt tool ===&lt;br /&gt;
&lt;br /&gt;
==== Perc5/i, 6/i ====&lt;br /&gt;
Pull over cli from previous system (jail9)&lt;br /&gt;
 scp root@10.1.4.109:&amp;quot;/usr/local/sbin/mega* /usr/local/sbin/&lt;br /&gt;
 scp root@10.1.4.109:/usr/local/libexec/MegaCli /usr/local/libexec/MegaCli &lt;br /&gt;
&lt;br /&gt;
These are linux-based tools. This will require linux base...which you might install via:&lt;br /&gt;
&lt;br /&gt;
 pkg_add -r linux_base&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
 rehash; megacli ldinfo lall a0&lt;br /&gt;
or&lt;br /&gt;
 megarc -ldInfo -a0 -Lall&lt;br /&gt;
(2850)&lt;br /&gt;
&lt;br /&gt;
however, linux does seem to be installed already so we don&#039;t need to pkg_add or port install or rsync anything over from a current system.&lt;br /&gt;
&lt;br /&gt;
==== 2850 PERC 4e/Di- no linux ====&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/distfiles/&lt;br /&gt;
fetch http://backup01.best-hosting.ru/pub/FreeBSD/ports/distfiles/dr_freebsd_1.51.zip&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
megarc -dispCfg -a0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install rsync from ports ===&lt;br /&gt;
 cd /usr/ports/net/rsync&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure inetd to respond to mrtg load queries ===&lt;br /&gt;
 echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install perl ===&lt;br /&gt;
 cd /usr/ports/lang/perl5.12&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install bb client ===&lt;br /&gt;
&lt;br /&gt;
Compiling from source on AMD64 will not work. So, we use a linux-compiled version and rely on linux compat. &lt;br /&gt;
&lt;br /&gt;
 adduser&lt;br /&gt;
&lt;br /&gt;
Output/response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cd /usr/home/bb&lt;br /&gt;
 scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
 tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 10.1.4.103 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
Edit for machine name and private IP.&lt;br /&gt;
&lt;br /&gt;
if this machine is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.2 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
&lt;br /&gt;
MACHINE=&amp;quot;jail3,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&amp;lt;/pre&amp;gt;&lt;br /&gt;
Edit for machine name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put in script to start bb @ boot:&lt;br /&gt;
 echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
 chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
=== remove reserve space ===&lt;br /&gt;
&amp;lt;pre&amp;gt;cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup rdate ===&lt;br /&gt;
 cd /usr/ports/sysutils/rdate&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 0 0 * * * /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
 /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
We used to use ntpd, however it listens on jail IPs which is a security risk. So we stopped. Here&#039;s the old instructions:&lt;br /&gt;
install new ntp from ports&lt;br /&gt;
 /usr/ports/net/ntp&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&amp;lt;/pre&amp;gt;(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make a data partition ===&lt;br /&gt;
&lt;br /&gt;
IF you didn&#039;t format the data partition during sysinstall:&lt;br /&gt;
&lt;br /&gt;
Create a g partition on 2nd mirror – bsdlabel no longer works (below shows d partition made with sysinstall):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;jail8 /usr/home/bb# gpart show&lt;br /&gt;
=&amp;gt;       63  285474735  mfid0  MBR  (136G)&lt;br /&gt;
         63  285458922      1  freebsd  [active]  (136G)&lt;br /&gt;
  285458985      15813         - free -  (7.7M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  285458922  mfid0s1  BSD  (136G)&lt;br /&gt;
          0     524288        1  freebsd-ufs  (256M)&lt;br /&gt;
     524288   12582912        2  freebsd-swap  (6.0G)&lt;br /&gt;
   13107200     524288        4  freebsd-ufs  (256M)&lt;br /&gt;
   13631488     524288        5  freebsd-ufs  (256M)&lt;br /&gt;
   14155776    8388608        6  freebsd-ufs  (4.0G)&lt;br /&gt;
   22544384  262914538        7  freebsd-ufs  (125G)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;       63  584843175  mfid1  MBR  (279G)&lt;br /&gt;
         63  584830197      1  freebsd  [active]  (279G)&lt;br /&gt;
  584830260      12978         - free -  (6.3M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
jail8 /usr/home/bb# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart list mfid1s1&lt;br /&gt;
&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
2. Name: mfid1s1d&lt;br /&gt;
   Mediasize: 290843126272 (271G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r0w0e0&lt;br /&gt;
   rawtype: 7&lt;br /&gt;
   length: 290843126272&lt;br /&gt;
   offset: 8589934592&lt;br /&gt;
   type: freebsd-ufs&lt;br /&gt;
   index: 4&lt;br /&gt;
   end: 584830196&lt;br /&gt;
   start: 16777216&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart delete -i 4 mfid1s1&lt;br /&gt;
mfid1s1d deleted&lt;br /&gt;
jail8 /usr/home/bb# gpart list mfid1s1&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981           - free -  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart add  -t freebsd-ufs -i 7 mfid1s1&lt;br /&gt;
mfid1s1g added&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        7  freebsd-ufs  (271G)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how we USED to do it with bsdlabel:&lt;br /&gt;
&lt;br /&gt;
 bsdlabel -e /dev/mfid0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
&amp;lt;pre&amp;gt;# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&amp;lt;br&amp;gt;&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&amp;lt;br&amp;gt;&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
&lt;br /&gt;
So:&amp;lt;br&amp;gt;&lt;br /&gt;
 g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create the jail template ===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/sysutils/jailutils&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
Create an md device to hold the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /mnt/data1/jail-template20g&lt;br /&gt;
mdconfig -a -t vnode -s 20g -f /mnt/data1/jail-template20g -u 0&lt;br /&gt;
newfs -O 1 /dev/md0&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0 /mnt/data1/jail-DIR&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Build world into the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR; taskdone&amp;lt;/pre&amp;gt;&lt;br /&gt;
~1hr&lt;br /&gt;
&lt;br /&gt;
Make /etc into the jail, mount dev, copy in jkill:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter into jail to do configuration:&lt;br /&gt;
 jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
 csh&lt;br /&gt;
&lt;br /&gt;
Create fstab:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit crontab:&lt;br /&gt;
 vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
 # IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
 rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check and remove any crap in /tmp&lt;br /&gt;
&lt;br /&gt;
 vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: &amp;lt;tt&amp;gt;MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
with: &amp;lt;tt&amp;gt;MP=&#039;/&#039;&amp;lt;/tt&amp;gt; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
Add account for user. Output/response:&lt;br /&gt;
&amp;lt;pre&amp;gt;adduser&lt;br /&gt;
&lt;br /&gt;
Username: user&lt;br /&gt;
Full name: user&lt;br /&gt;
Uid (Leave empty for default):&lt;br /&gt;
Login group [user]:&lt;br /&gt;
Login group is user. Invite user into other groups? []: wheel&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/user]:&lt;br /&gt;
Home directory permissions (Leave empty for default):&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: y&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : user&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : user&lt;br /&gt;
Uid        : 1001&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : user&lt;br /&gt;
Home       : /home/user&lt;br /&gt;
Home Mode  :&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): y&lt;br /&gt;
adduser: INFO: Successfully added (user) to the user database.&lt;br /&gt;
adduser: INFO: Password for (user) is: 901gmYjO&lt;br /&gt;
Add another user? (yes/no): n&lt;br /&gt;
Goodbye!&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set TERM:&lt;br /&gt;
 vi /usr/home/user/.profile &lt;br /&gt;
 TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
Set time zone to PT:&lt;br /&gt;
 tzsetup&lt;br /&gt;
&lt;br /&gt;
Reload aliases:&lt;br /&gt;
 newaliases &lt;br /&gt;
&lt;br /&gt;
Replace reboot/halt:&lt;br /&gt;
 rm /sbin/halt /sbin/reboot&lt;br /&gt;
 ln /sbin/jkill /sbin/halt&lt;br /&gt;
 ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
Redirect console output, comment out console and move to /var/log/messages:&lt;br /&gt;
 vi /etc/syslog.conf&lt;br /&gt;
 #*.err;kern.warning;auth.notice;mail.crit               /dev/console&lt;br /&gt;
 *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Lib32 compat library:&lt;br /&gt;
 cd libexec&lt;br /&gt;
 chflags noschg ld-elf32.so.1&lt;br /&gt;
 chflags noschg ld-elf.so.1&lt;br /&gt;
 mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
 ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
 chflags schg ld-elf.so.1&lt;br /&gt;
 chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
Replace traceroute:&lt;br /&gt;
 mv /mnt/data1/jail-DIR/usr/sbin/traceroute /mnt/data1/jail-DIR/usr/sbin/_traceroute&lt;br /&gt;
 echo &#039;#\!/bin/sh\&lt;br /&gt;
 /usr/sbin/_traceroute -i bce0 $1&#039; &amp;gt;&amp;gt; /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
 chmod +x /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
&lt;br /&gt;
Modify &#039;bce0&#039; to reflect whichever nic is public on this hardware.&lt;br /&gt;
&lt;br /&gt;
Clean out ports before copying into the jail (~30mins):&lt;br /&gt;
 cd /usr/ports&lt;br /&gt;
 make -DNOCLEANDEPENDS clean &lt;br /&gt;
 rm -fr /usr/ports/distfiles/*&lt;br /&gt;
 cp -r /usr/ports /mnt/data1/jail-DIR/usr &lt;br /&gt;
&lt;br /&gt;
 rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
Umount the jail and dump it:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /&lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
dump -0a -f /usr/local/jail/template/template /dev/md0&lt;br /&gt;
umount /dev/md0&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
mdconfig -d -u 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== setup backups ===&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail3\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit to reflect backup server and jail hostname&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 ssh backup1 mkdir -p /data/jail3/0&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 backup1# vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
 vi /usr/local/jail/bin/backup.md&lt;br /&gt;
adjust df so it includes all relevant drives, currently &amp;lt;tt&amp;gt;df &amp;gt; /etc/df.bak&amp;lt;/tt&amp;gt; is fine. Also, make sure the binary/script source is pulling from the right dir on backup2:&lt;br /&gt;
 /usr/local/bin/rsync -a backup2:/mnt/data4/bin/freebsd8.x/ /usr/local/jail/bin/&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/jail/bin/backup.md /usr/local/jail/bin/backup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create /root/logs ===&lt;br /&gt;
 mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit sshd_config ===&lt;br /&gt;
 vi /etc/ssh/sshd_config&lt;br /&gt;
 ListenAddress 69.55.229.7&lt;br /&gt;
 ListenAddress 10.1.2.103&lt;br /&gt;
&lt;br /&gt;
Adjust to pub/private IP for jail.&lt;br /&gt;
&lt;br /&gt;
Restart sshd:&lt;br /&gt;
 kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== add crontab entries ===&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
0 0,6,12,18 * * * /usr/local/jail/bin/sync_jail_names&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On 2950:&lt;br /&gt;
 */5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
On 3ware-based servers:&lt;br /&gt;
 0 0 * * * /usr/local/jail/bin/3wraidchk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reboot notify script ===&lt;br /&gt;
 ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== patch jail against starting jails with rtprio ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure mail works ===&lt;br /&gt;
If there are map errors:&lt;br /&gt;
 cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== recover space on /usr (optional) ===&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/obj&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jps ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/local/sbin/jps /usr/local/sbin/jps_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jls ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jls /usr/sbin/jls_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jexec ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jexec /usr/sbin/jexec_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install jtop ===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/sysutils/jtop&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== block jails from reaching private net ===&lt;br /&gt;
 echo &#039;ipfw add 1 deny ip from 69.55.224.0/20 to 10.1.4.0/24&#039; &amp;gt; /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
 chmod 0700 /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
&lt;br /&gt;
== add to management infrastructure ==&lt;br /&gt;
&lt;br /&gt;
=== mail ===&lt;br /&gt;
&lt;br /&gt;
==== add to management db ====&lt;br /&gt;
&lt;br /&gt;
tables: jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
on jail run:&lt;br /&gt;
 uname -r&lt;br /&gt;
&lt;br /&gt;
Which shows something like:&lt;br /&gt;
 8.3-RELEASE-p2&lt;br /&gt;
&lt;br /&gt;
Insert into db:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;insert into ref_machines values (null,&#039;jail3&#039;,&#039;mx3.johncompanies.com&#039;,0,&#039;f8&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail3&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039;8.3-RELEASE-jc2&#039;,35,&#039;FreeBSD 8.3&#039;,1);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== add to bb server ====&lt;br /&gt;
 vi /usr/home/bb/bbsrc/bb1.9i-btf/etc/bb-hosts&lt;br /&gt;
 10.1.4.109 jail9.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
In the case of an i2b server, use real ip:&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Update backupgraph ====&lt;br /&gt;
 vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
==== Update load mrtg ====&lt;br /&gt;
 vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
=== ns1c ===&lt;br /&gt;
fwd and reverse lookups:&lt;br /&gt;
 vr johncompanies.com&lt;br /&gt;
&lt;br /&gt;
 vi internal.johncompanies.com&lt;br /&gt;
 rndc reload johncompanies.com IN private&lt;br /&gt;
&lt;br /&gt;
 ptr 69.55.227.x&lt;br /&gt;
&lt;br /&gt;
=== wiki ===&lt;br /&gt;
add to server/cabinet map&lt;br /&gt;
&lt;br /&gt;
=== firewall ===&lt;br /&gt;
add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
 00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
 00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
 ipfw add 00109 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 } to 69.55.232.3&lt;br /&gt;
 ipfw add 00109 deny ip from any to 69.55.232.3&lt;br /&gt;
&lt;br /&gt;
=== select some customers for castle probe map ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 8.x =&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
&lt;br /&gt;
Setup instructions below assume this is DELL 2950 with an LSI-based SAS RAID card.&lt;br /&gt;
&lt;br /&gt;
Server is at castle, connected to pub, private, serial and DRAC&lt;br /&gt;
&lt;br /&gt;
Assuming OS loading done via IPKVM with ISO mounted via USB&lt;br /&gt;
&lt;br /&gt;
Assumes at 4 drives, 2 mirrors&lt;br /&gt;
&lt;br /&gt;
== Configure server BIOS ==&lt;br /&gt;
&lt;br /&gt;
setup console redirect, speed 115200&lt;br /&gt;
&lt;br /&gt;
set LCD string to name of server &amp;quot;jail8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set date to GMT&lt;br /&gt;
&lt;br /&gt;
go into RAID bios and setup mirrors&lt;br /&gt;
&lt;br /&gt;
configure DRAC: TODO&lt;br /&gt;
&lt;br /&gt;
== Install OS (sysinstall) ==&lt;br /&gt;
&lt;br /&gt;
boot to bootonly disk for AMD version of FreeBSD, i.e. &amp;lt;tt&amp;gt;FreeBSD-8.3-RELEASE-amd64-bootonly.iso&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when the install menu appears, choose &amp;lt;tt&amp;gt;custom install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== partition menu ===&lt;br /&gt;
move cursor to mfid0, hit space (takes you to partition map screen). If there is only 1 mirror, there will be no option to select a specifit drive: mfid0 will be selected.&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;freebsd standard mbr&#039;&lt;br /&gt;
&lt;br /&gt;
space to &#039;&#039;&#039;un&#039;&#039;&#039;select mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
cursor down to mfid1&amp;lt;br&amp;gt;&lt;br /&gt;
hit space&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;none&#039; for boot mgr (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
space&amp;lt;br&amp;gt;&lt;br /&gt;
(takes you into part. Screen again) &#039;q&#039; to exit&amp;lt;br&amp;gt;&lt;br /&gt;
none for boot mgr&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure both drives (mfid0 and mfid1) are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
=== Label menu ===&lt;br /&gt;
&lt;br /&gt;
Make sure mfid0 is highlighted at the top of the screen, setup the following partitions&lt;br /&gt;
&lt;br /&gt;
/ 512M&amp;lt;br&amp;gt;&lt;br /&gt;
swap 6G&amp;lt;br&amp;gt;&lt;br /&gt;
/var 256M &amp;lt;br&amp;gt;&lt;br /&gt;
/tmp 256M&amp;lt;br&amp;gt;&lt;br /&gt;
/usr 5G&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data1 remaining space &lt;br /&gt;
&lt;br /&gt;
All partitions except / should be setup for soft updates. If not, type &#039;s&#039; to enable for soft updates on all except for / (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1 at the top of the screen&amp;lt;br&amp;gt;&lt;br /&gt;
swap 8G (or 4G if there’s a 3rd drive)&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data2 remaining space &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;q&#039; to save and exit&lt;br /&gt;
&lt;br /&gt;
=== distributions ===&lt;br /&gt;
Choose the following distribudions&lt;br /&gt;
&lt;br /&gt;
* developer (ok to install ports)&lt;br /&gt;
* custom -&amp;gt; lib32&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
=== media ===&lt;br /&gt;
if you are installing via a cd, no need to enter this menu or change anything. Otherwise, choose ftp to install via ftp. You will be prompted to setup networking. You will need to choose a nic (typically bce0 or bce1). Say no to DHCP and IPv6. Hopefully the public nic cable was installed in bce0 so start with that nic and provide the hostname, (public) IP, netmask, gateway and DNS. When configured, it should start pinging. If it doesn&#039;t, have the NOC swap cables. Select any FTP server, usually Main or ftp4.&lt;br /&gt;
&lt;br /&gt;
=== commit ===&lt;br /&gt;
&lt;br /&gt;
this usually takes 12mins&amp;lt;br&amp;gt;&lt;br /&gt;
during the process you may need to select a new ftp mirror, this is not a problem.&amp;lt;br&amp;gt;&lt;br /&gt;
at the conclution of the install you will be prompted to enter the root password (2x) and returned to the configuration menu.&lt;br /&gt;
&lt;br /&gt;
=== add user ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Add&#039;&#039;&#039; user &#039;user&#039;. Defaults for everything is fine, just remember to enter &#039;wheel&#039; in the member group field.&lt;br /&gt;
Do set the password.&lt;br /&gt;
&lt;br /&gt;
=== Setup timezone ===&lt;br /&gt;
&lt;br /&gt;
PT&lt;br /&gt;
&lt;br /&gt;
=== Networking === &lt;br /&gt;
page down to the bottom and enable &#039;[X]&#039; sshd&lt;br /&gt;
&lt;br /&gt;
If you installed via cd, you will need to visit:&amp;lt;br&amp;gt;&lt;br /&gt;
interfaces-&amp;gt;bce0-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
No IPV6&amp;lt;br&amp;gt;&lt;br /&gt;
dhcp=no&amp;lt;br&amp;gt;&lt;br /&gt;
Set hostname, IP, DNS, gateway&amp;lt;br&amp;gt;&lt;br /&gt;
(i.e. setup the nic as indicated above)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exit the install and if you installed via CD, take it out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
== Configure OS, kernel, userland, jail ==&lt;br /&gt;
&lt;br /&gt;
=== double check the date/time ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/resolv.conf ===&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
 nameserver 69.55.230.3&lt;br /&gt;
 nameserver 69.55.229.3&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit /etc/make.conf ===&lt;br /&gt;
 echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
 KERNCONF=jail3 \&lt;br /&gt;
 BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup bootloader for console, etc ===&lt;br /&gt;
&lt;br /&gt;
add settings to /boot/loader.conf and /boot.config:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
 echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
 boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable login via serial console ===&lt;br /&gt;
turn off all ttyv&#039;s except 0 and 1 in /etc/ttys and turn on ttyd0, change type to vt100:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
The changed lines should look like:&lt;br /&gt;
&lt;br /&gt;
 ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 # Serial terminals&lt;br /&gt;
 # The &#039;dialup&#039; keyword identifies dialin lines to login, fingerd etc.&lt;br /&gt;
 ttyu0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure &lt;br /&gt;
&lt;br /&gt;
Restart init&lt;br /&gt;
 kill -1 1&lt;br /&gt;
&lt;br /&gt;
At this point you should have a login on console.&lt;br /&gt;
&lt;br /&gt;
To configure serial console access, login to the console server as root and run:&lt;br /&gt;
&lt;br /&gt;
 # vi /etc/remote&lt;br /&gt;
&lt;br /&gt;
following examples there, rename port to server&#039;s hostname, depending on where and which digi box this server is plugged into. Make sure to get speed right too: 115200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate hosts ===&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.10 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.2.3 backup3&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;69.55.230.11 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create ssh key, upload to backup servers ===&lt;br /&gt;
 cd&lt;br /&gt;
 ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup3 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
 ssh backup2 hostname&lt;br /&gt;
 ssh backup1 hostname&lt;br /&gt;
 ssh backup3 hostname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create &amp;amp; populate binaries/scripts dirs ===&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd8.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch deprecated&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
ln -s /usr/local/jail/bin/preboot_md preboot&lt;br /&gt;
ln -s /usr/local/jail/bin/startjail_md startjail&lt;br /&gt;
ln -s /usr/local/jail/bin/stopjail_md stopjail&lt;br /&gt;
&lt;br /&gt;
rehash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit root&#039;s path and login script ===&lt;br /&gt;
&lt;br /&gt;
 vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
alias cjb       cd /usr/local/jail/bin&lt;br /&gt;
alias cd1       cd /mnt/data1&lt;br /&gt;
alias cd2       cd /mnt/data2&lt;br /&gt;
alias cd3       cd /mnt/data3&lt;br /&gt;
alias jtop      jtop lj&lt;br /&gt;
alias j         jobs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add to path be careful to leave a space after bin and make sure the wrapping isn&#039;t broken:  &lt;br /&gt;
 /usr/local/jail/bin &lt;br /&gt;
&lt;br /&gt;
alter the prompt, set the following:&lt;br /&gt;
 set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
&amp;lt;pre&amp;gt;set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the new settings active in current shell:&lt;br /&gt;
 source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install cvsup ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; support@johncompanies.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
stand by for gettext options (use defaults). this process takes approx 22mins- hence the email/page notice above. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== get latest sources for this release ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need to run stable (cause release is broken or some other reason) make the sup file look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; support@johncompanies.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
time varies, 10-20mins&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure new kernel ===&lt;br /&gt;
&lt;br /&gt;
Pull down the kernel config we are using for this distribution. In this case we use an 8.2 kernel config on 8.3, which is valid. The local file should be the same name as host- &amp;lt;tt&amp;gt;jail3&amp;lt;/tt&amp;gt; in this example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-8.2-amd64 ./jail3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
 vi jail3&lt;br /&gt;
 ident           jail3&lt;br /&gt;
&lt;br /&gt;
Optional, edit &amp;lt;tt&amp;gt;/sys/conf/newvers.sh&amp;lt;/tt&amp;gt; to add &amp;lt;tt&amp;gt;–jc2&amp;lt;/tt&amp;gt; to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
 vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes on kernel configuring: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install patches ===&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
there are no patches we use for 8.x, but here would be the commands:&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/8.0/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches, i.e. the &amp;lt;tt&amp;gt;jls-patch&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== build, install kernel and world ===&lt;br /&gt;
&lt;br /&gt;
Rename current generic kernel so it will always be available to boot from. Save room by removing non-needed kernel modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /boot&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
mv zfs.* hold/&lt;br /&gt;
mv opensolaris* hold/&lt;br /&gt;
&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
~38mins&lt;br /&gt;
&lt;br /&gt;
 make installworld &lt;br /&gt;
~34min&lt;br /&gt;
&lt;br /&gt;
 mergemaster -i&lt;br /&gt;
You will be prompted to merge, replace or ignore files changed by the src update. In most cases you can &#039;&#039;&#039;d&#039;&#039;&#039;elete the temp (new) files.&lt;br /&gt;
&lt;br /&gt;
ONLY if this will be a zfs system (not currently used in 8.x):&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /sys/modules/zfs&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
cd /sys/modules/opensolaris&lt;br /&gt;
make &lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  populate devfs ruleset ===&lt;br /&gt;
 scp backup2:/mnt/data4/build/freebsd/devfs.rules.8x /etc/devfs.rules&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/rc.conf with IPs and service settings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.2.103&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_bce1=&amp;quot;inet 10.1.2.103 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bce0=&amp;quot;inet 69.55.229.7 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_bce0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
#rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
#zfs_enable=&amp;quot;YES&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modify IPs, hostname, gateway for this box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure sysctls are set and preserved upon boot ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
vm.pmap.shpgperproc=500\&lt;br /&gt;
security.bsd.unprivileged_read_msgbuf=0\&lt;br /&gt;
kern.maxvnodes=400000&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tuning note: watch vfs.numvnodes while the server is live to get guidance on where to set maxvnodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mount procfs ===&lt;br /&gt;
 echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mkdir -p /usr/compat/linux/proc&lt;br /&gt;
 mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable noatime option ===&lt;br /&gt;
data1 and data2 should look something like (add &#039;,noatime&#039; after &#039;rw&#039;):&lt;br /&gt;
 /dev/mfid0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
 /dev/mfid1s1d           /mnt/data2      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== reboot. Confirm new kernel is loaded, devfs in place ===&lt;br /&gt;
&lt;br /&gt;
 uname -a&lt;br /&gt;
	&lt;br /&gt;
Check devfs rules&lt;br /&gt;
 devfs rule showsets&lt;br /&gt;
 devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
Should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;#  devfs rule showsets&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
&lt;br /&gt;
#  devfs rule -s 3 show&lt;br /&gt;
100 include 1&lt;br /&gt;
207 path pts* unhide&lt;br /&gt;
217 path fd unhide&lt;br /&gt;
218 path fd/* unhide&lt;br /&gt;
300 path ttyp* unhide&lt;br /&gt;
301 path ttyq* unhide&lt;br /&gt;
302 path ttyr* unhide&lt;br /&gt;
303 path ttys* unhide&lt;br /&gt;
304 path ttyP* unhide&lt;br /&gt;
305 path ttyQ* unhide&lt;br /&gt;
306 path ttyR* unhide&lt;br /&gt;
307 path ttyS* unhide&lt;br /&gt;
400 path null unhide&lt;br /&gt;
500 path zero unhide&lt;br /&gt;
600 path random unhide&lt;br /&gt;
610 path urandom unhide&lt;br /&gt;
700 path mem unhide&lt;br /&gt;
710 path kmem unhide&lt;br /&gt;
810 path mdctl unhide&lt;br /&gt;
900 path stdin unhide&lt;br /&gt;
910 path stdout unhide&lt;br /&gt;
920 path stderr unhide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== update ports ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; support@johncompanies.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
~24mins&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Install raid mgmt tool ===&lt;br /&gt;
&lt;br /&gt;
==== Perc5/i, 6/i ====&lt;br /&gt;
Pull over cli from previous system (jail9)&lt;br /&gt;
 scp /usr/local/sbin/mega* root@10.1.4.109:/usr/local/sbin/&lt;br /&gt;
 scp /usr/local/libexec/MegaCli root@10.1.4.109:/usr/local/libexec/MegaCli&lt;br /&gt;
These are linux-based tools. This will require linux base which we would normally install from ports, but since it&#039;s failing lately, we just pull in the compat libraries from another system:&lt;br /&gt;
&lt;br /&gt;
 rsync -aSHv --exclude=proc --exclude=sys 10.1.4.109:/usr/compat/linux/ /usr/compat/linux/&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
 rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
DEPRECATED: Assuming it worked, here&#039;s how we &#039;&#039;used to&#039;&#039; install linux_base:&lt;br /&gt;
----&lt;br /&gt;
 cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
 make install clean &lt;br /&gt;
(didnt succeed due to libtool requirement)&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/distfiles&lt;br /&gt;
 fetch http://www.lsi.com/DistributionSystem/AssetDocument/support/downloads/megaraid/miscellaneous/linux/2.00.15_Linux_MegaCLI.zip&lt;br /&gt;
 cd /usr/ports/sysutils/linux-megacli&lt;br /&gt;
 make install clean&lt;br /&gt;
(also failed due to libtool)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 2850 PERC 4e/Di- no linux ====&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/distfiles/&lt;br /&gt;
fetch http://backup01.best-hosting.ru/pub/FreeBSD/ports/distfiles/dr_freebsd_1.51.zip&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
megarc -dispCfg -a0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install rsync from ports ===&lt;br /&gt;
 cd /usr/ports/net/rsync&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure inetd to respond to mrtg load queries ===&lt;br /&gt;
 echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install perl ===&lt;br /&gt;
 cd /usr/ports/lang/perl5.12&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install bb client ===&lt;br /&gt;
&lt;br /&gt;
Compiling from source on AMD64 will not work. So, we use a linux-compiled version and rely on linux compat. Per [[#Perc5.2Fi.2C_6.2Fi|above]], linux compat won&#039;t install on 8.x - libtool 2.4 need. So, instead we copy(ed) over linux: &lt;br /&gt;
 rsync -aSHv --exclude=proc --exclude=sys 10.1.4.108:/usr/compat/linux/ /usr/compat/linux/&lt;br /&gt;
&lt;br /&gt;
 adduser&lt;br /&gt;
&lt;br /&gt;
Output/response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cd /usr/home/bb&lt;br /&gt;
 scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
 tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 10.1.4.103 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
Edit for machine name and private IP.&lt;br /&gt;
&lt;br /&gt;
if this machine is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.2 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
&lt;br /&gt;
MACHINE=&amp;quot;jail3,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&amp;lt;/pre&amp;gt;&lt;br /&gt;
Edit for machine name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put in script to start bb @ boot:&lt;br /&gt;
 echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
 chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== remove reserve space ===&lt;br /&gt;
&amp;lt;pre&amp;gt;cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup rdate ===&lt;br /&gt;
 cd /usr/ports/sysutils/rdate&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 0 0 * * * /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
 /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
We used to use ntpd, however it listens on jail IPs which is a security risk. So we stopped. Here&#039;s the old instructions:&lt;br /&gt;
install new ntp from ports&lt;br /&gt;
 /usr/ports/net/ntp&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&amp;lt;/pre&amp;gt;(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make a data partition ===&lt;br /&gt;
&lt;br /&gt;
IF you didn&#039;t format the data partition during sysinstall:&lt;br /&gt;
&lt;br /&gt;
Create a g partition on 2nd mirror – bsdlabel no longer works (below shows d partition made with sysinstall):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;jail8 /usr/home/bb# gpart show&lt;br /&gt;
=&amp;gt;       63  285474735  mfid0  MBR  (136G)&lt;br /&gt;
         63  285458922      1  freebsd  [active]  (136G)&lt;br /&gt;
  285458985      15813         - free -  (7.7M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  285458922  mfid0s1  BSD  (136G)&lt;br /&gt;
          0     524288        1  freebsd-ufs  (256M)&lt;br /&gt;
     524288   12582912        2  freebsd-swap  (6.0G)&lt;br /&gt;
   13107200     524288        4  freebsd-ufs  (256M)&lt;br /&gt;
   13631488     524288        5  freebsd-ufs  (256M)&lt;br /&gt;
   14155776    8388608        6  freebsd-ufs  (4.0G)&lt;br /&gt;
   22544384  262914538        7  freebsd-ufs  (125G)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;       63  584843175  mfid1  MBR  (279G)&lt;br /&gt;
         63  584830197      1  freebsd  [active]  (279G)&lt;br /&gt;
  584830260      12978         - free -  (6.3M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
jail8 /usr/home/bb# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart list mfid1s1&lt;br /&gt;
&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
2. Name: mfid1s1d&lt;br /&gt;
   Mediasize: 290843126272 (271G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r0w0e0&lt;br /&gt;
   rawtype: 7&lt;br /&gt;
   length: 290843126272&lt;br /&gt;
   offset: 8589934592&lt;br /&gt;
   type: freebsd-ufs&lt;br /&gt;
   index: 4&lt;br /&gt;
   end: 584830196&lt;br /&gt;
   start: 16777216&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart delete -i 4 mfid1s1&lt;br /&gt;
mfid1s1d deleted&lt;br /&gt;
jail8 /usr/home/bb# gpart list mfid1s1&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981           - free -  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart add  -t freebsd-ufs -i 7 mfid1s1&lt;br /&gt;
mfid1s1g added&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        7  freebsd-ufs  (271G)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how we USED to do it with bsdlabel:&lt;br /&gt;
&lt;br /&gt;
 bsdlabel -e /dev/mfid0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
&amp;lt;pre&amp;gt;# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&amp;lt;br&amp;gt;&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&amp;lt;br&amp;gt;&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
&lt;br /&gt;
So:&amp;lt;br&amp;gt;&lt;br /&gt;
 g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create the jail template ===&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Create an md device to hold the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /mnt/data1/jail-template20g&lt;br /&gt;
mdconfig -a -t vnode -s 20g -f /mnt/data1/jail-template20g -u 0&lt;br /&gt;
newfs -O 1 /dev/md0&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0 /mnt/data1/jail-DIR&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Build world into the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR; taskdone&amp;lt;/pre&amp;gt;&lt;br /&gt;
~1hr&lt;br /&gt;
&lt;br /&gt;
Make /etc into the jail, mount dev, copy in jkill:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter into jail to do configuration:&lt;br /&gt;
 jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
 csh&lt;br /&gt;
&lt;br /&gt;
Create fstab:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit crontab:&lt;br /&gt;
 vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
 # IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
 rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check and remove any crap in /tmp&lt;br /&gt;
&lt;br /&gt;
 vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: &amp;lt;tt&amp;gt;MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
with: &amp;lt;tt&amp;gt;MP=&#039;/&#039;&amp;lt;/tt&amp;gt; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
Add account for user. Output/response:&lt;br /&gt;
&amp;lt;pre&amp;gt;adduser&lt;br /&gt;
&lt;br /&gt;
Username: user&lt;br /&gt;
Full name: user&lt;br /&gt;
Uid (Leave empty for default):&lt;br /&gt;
Login group [user]:&lt;br /&gt;
Login group is user. Invite user into other groups? []: wheel&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/user]:&lt;br /&gt;
Home directory permissions (Leave empty for default):&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: y&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : user&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : user&lt;br /&gt;
Uid        : 1001&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : user&lt;br /&gt;
Home       : /home/user&lt;br /&gt;
Home Mode  :&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): y&lt;br /&gt;
adduser: INFO: Successfully added (user) to the user database.&lt;br /&gt;
adduser: INFO: Password for (user) is: 901gmYjO&lt;br /&gt;
Add another user? (yes/no): n&lt;br /&gt;
Goodbye!&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set TERM:&lt;br /&gt;
 vi /usr/home/user/.profile &lt;br /&gt;
 TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
Set time zone to PT:&lt;br /&gt;
 tzsetup&lt;br /&gt;
&lt;br /&gt;
Reload aliases:&lt;br /&gt;
 newaliases &lt;br /&gt;
&lt;br /&gt;
Replace reboot/halt:&lt;br /&gt;
 rm /sbin/halt /sbin/reboot&lt;br /&gt;
 ln /sbin/jkill /sbin/halt&lt;br /&gt;
 ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
Redirect console output, comment out console and move to /var/log/messages:&lt;br /&gt;
 vi /etc/syslog.conf&lt;br /&gt;
 #*.err;kern.warning;auth.notice;mail.crit               /dev/console&lt;br /&gt;
 *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Lib32 compat library:&lt;br /&gt;
 cd libexec&lt;br /&gt;
 chflags noschg ld-elf32.so.1&lt;br /&gt;
 chflags noschg ld-elf.so.1&lt;br /&gt;
 mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
 ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
 chflags schg ld-elf.so.1&lt;br /&gt;
 chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
Replace traceroute:&lt;br /&gt;
 mv /mnt/data1/jail-DIR/usr/sbin/traceroute /mnt/data1/jail-DIR/usr/sbin/_traceroute&lt;br /&gt;
 echo &#039;#\!/bin/sh\&lt;br /&gt;
 /usr/sbin/_traceroute -i bce0 $1&#039; &amp;gt;&amp;gt; /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
 chmod +x /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
&lt;br /&gt;
Modify &#039;bce0&#039; to reflect whichever nic is public on this hardware.&lt;br /&gt;
&lt;br /&gt;
Clean out ports before copying into the jail (~30mins):&lt;br /&gt;
 cd /usr/ports&lt;br /&gt;
 make -DNOCLEANDEPENDS clean &lt;br /&gt;
 rm -fr /usr/ports/distfiles/*&lt;br /&gt;
 cp -r /usr/ports /mnt/data1/jail-DIR/usr &lt;br /&gt;
&lt;br /&gt;
 rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
Umount the jail and dump it:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /&lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
dump -0a -f /usr/local/jail/template/template /dev/md0&lt;br /&gt;
umount /dev/md0&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
mdconfig -d -u 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup backups ===&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail3\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit to reflect backup server and jail hostname&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 ssh backup1 mkdir -p /data/jail3/0&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 backup1# vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
 vi /usr/local/jail/bin/backup.md&lt;br /&gt;
adjust df so it includes all relevant drives, currently &amp;lt;tt&amp;gt;df &amp;gt; /etc/df.bak&amp;lt;/tt&amp;gt; is fine. Also, make sure the binary/script source is pulling from the right dir on backup2:&lt;br /&gt;
 /usr/local/bin/rsync -a backup2:/mnt/data4/bin/freebsd8.x/ /usr/local/jail/bin/&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/jail/bin/backup.md /usr/local/jail/bin/backup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create /root/logs ===&lt;br /&gt;
 mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit sshd_config ===&lt;br /&gt;
 vi /etc/ssh/sshd_config&lt;br /&gt;
 ListenAddress 69.55.229.7&lt;br /&gt;
 ListenAddress 10.1.2.103&lt;br /&gt;
&lt;br /&gt;
Adjust to pub/private IP for jail.&lt;br /&gt;
&lt;br /&gt;
Restart sshd:&lt;br /&gt;
 kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== add crontab entries ===&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
0 0,6,12,18 * * * /usr/local/jail/bin/sync_jail_names&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On 2950:&lt;br /&gt;
 */5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
On 3ware-based servers:&lt;br /&gt;
 0 0 * * * /usr/local/jail/bin/3wraidchk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reboot notify script ===&lt;br /&gt;
 ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== patch jail against starting jails with rtprio ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure mail works ===&lt;br /&gt;
If there are map errors:&lt;br /&gt;
 cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== recover space on /usr (optional) ===&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/obj&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jps ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/local/sbin/jps /usr/local/sbin/jps_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jls ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jls /usr/sbin/jls_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jexec ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jexec /usr/sbin/jexec_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install jtop ===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/sysutils/jtop&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== block jails from reaching private net ===&lt;br /&gt;
 echo &#039;ipfw add 1 deny ip from 69.55.224.0/20 to 10.1.4.0/24&#039; &amp;gt; /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
 chmod 0700 /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
&lt;br /&gt;
== add to management infrastructure ==&lt;br /&gt;
&lt;br /&gt;
=== mail ===&lt;br /&gt;
&lt;br /&gt;
==== add to management db ====&lt;br /&gt;
&lt;br /&gt;
tables: jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
on jail run:&lt;br /&gt;
 uname -r&lt;br /&gt;
&lt;br /&gt;
Which shows something like:&lt;br /&gt;
 8.3-RELEASE-p2&lt;br /&gt;
&lt;br /&gt;
Insert into db:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;insert into ref_machines values (null,&#039;jail3&#039;,&#039;mx3.johncompanies.com&#039;,0,&#039;f8&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail3&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039;8.3-RELEASE-jc2&#039;,35,&#039;FreeBSD 8.3&#039;,1);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== add to bb server ====&lt;br /&gt;
 vi /usr/home/bb/bbsrc/bb1.9i-btf/etc/bb-hosts&lt;br /&gt;
 10.1.4.109 jail9.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
In the case of an i2b server, use real ip:&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Update backupgraph ====&lt;br /&gt;
 vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
==== Update load mrtg ====&lt;br /&gt;
 vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
=== ns1c ===&lt;br /&gt;
fwd and reverse lookups:&lt;br /&gt;
 vr johncompanies.com&lt;br /&gt;
&lt;br /&gt;
 vi internal.johncompanies.com&lt;br /&gt;
 rndc reload johncompanies.com IN private&lt;br /&gt;
&lt;br /&gt;
 ptr 69.55.227.x&lt;br /&gt;
&lt;br /&gt;
=== wiki ===&lt;br /&gt;
add to server/cabinet map&lt;br /&gt;
&lt;br /&gt;
=== firewall ===&lt;br /&gt;
add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
 00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
 00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
 ipfw add 00109 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 } to 69.55.232.3&lt;br /&gt;
 ipfw add 00109 deny ip from any to 69.55.232.3&lt;br /&gt;
&lt;br /&gt;
=== select some customers for castle probe map ===&lt;br /&gt;
&lt;br /&gt;
= 4.11 =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
4.11&lt;br /&gt;
Last updated 2006-1-26&lt;br /&gt;
&lt;br /&gt;
All time extimates below assume disks aren’t scrubbing&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: off&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
	&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 4.11 &lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
partition&lt;br /&gt;
move cursor to aacd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect aacd0&lt;br /&gt;
cursor over aacd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over aacd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
label&lt;br /&gt;
Make sure aacd0 is highlighted&lt;br /&gt;
a to start with defaults&lt;br /&gt;
&lt;br /&gt;
john likes:&lt;br /&gt;
/1g&lt;br /&gt;
/var 256m&lt;br /&gt;
&lt;br /&gt;
Glenn likes:&lt;br /&gt;
/128&lt;br /&gt;
/var 256&lt;br /&gt;
/usr 3g&lt;br /&gt;
/tmp 256&lt;br /&gt;
&lt;br /&gt;
We do:&lt;br /&gt;
delete everything&lt;br /&gt;
/ 128M&lt;br /&gt;
swap 4G&lt;br /&gt;
/var 256M&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 3G&lt;br /&gt;
/mnt/data1 remaining space&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS+S Y under the Newfs column)&lt;br /&gt;
Set the noatime option&lt;br /&gt;
&lt;br /&gt;
move cursor to aacd1&lt;br /&gt;
swap 4G&lt;br /&gt;
/mnt/data2 remaining space&lt;br /&gt;
Set the noatime option&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
media&lt;br /&gt;
cd&lt;br /&gt;
commit&lt;br /&gt;
yes&lt;br /&gt;
(2450: 16mins, supermicro: 11mins)&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot;&lt;br /&gt;
Set root pwd&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
Set tz&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=yes&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
&lt;br /&gt;
Startup services:&lt;br /&gt;
Disble usbd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install&lt;br /&gt;
yes&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. put some temp settings in /etc/rc.conf:&lt;br /&gt;
usbd_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. reboot&lt;br /&gt;
&lt;br /&gt;
5. double check the date/time&lt;br /&gt;
&lt;br /&gt;
6. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
WITHOUT_X11=yes&lt;br /&gt;
KERNCONF=jail18&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=38400&lt;br /&gt;
&lt;br /&gt;
7. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean (stay close for gettext options, 2450: 21mins, supermicro: 14mins)&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
8. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
cat &amp;gt; sup&lt;br /&gt;
*default host=cvsup4.freebsd.org&lt;br /&gt;
*default base=/usr&lt;br /&gt;
*default prefix=/usr&lt;br /&gt;
*default release=cvs tag=RELENG_4_11&lt;br /&gt;
*default delete use-rel-suffix&lt;br /&gt;
*default compress&lt;br /&gt;
src-all&lt;br /&gt;
&lt;br /&gt;
cvsup sup (2450, 4.10: 13mins, supermicro, 4.11: 11mins)&lt;br /&gt;
&lt;br /&gt;
9. populate hosts&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
10.1.4.3	backup2&lt;br /&gt;
&lt;br /&gt;
10. put key in authorized_keys on backup2&lt;br /&gt;
ssh-keygen -t dsa -b 1024 (default location, leave password blank)&lt;br /&gt;
scp /root/.ssh/id_dsa.pub user@backup2:/tmp/jail18pub&lt;br /&gt;
on backup2:&lt;br /&gt;
cat /tmp/jail18pub &amp;gt;&amp;gt; /root/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
11. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build (name the kernel config the same as the jail, ex jail4):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-4.11 ./jail18&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
ident           jail4&lt;br /&gt;
&lt;br /&gt;
IMPORTANT CUSTOMIZATION:&lt;br /&gt;
for machines with &amp;gt;4G RAM, add to the config:&lt;br /&gt;
options         PAE&lt;br /&gt;
&lt;br /&gt;
for supermicro mobo’s with broadcom nics, add to the config:&lt;br /&gt;
device          bge             # Broadcom BCM570x (``Tigon III&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
for machines where lots of postgres might be running, change SHMMAXPGS:&lt;br /&gt;
options         SHMMAXPGS=40960&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-p9-jc2)&lt;br /&gt;
&lt;br /&gt;
12. bring over patches from backup2&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/4.11/*&amp;quot; .&lt;br /&gt;
jail_proc_patch      100% |*************************************************|  2593    00:00&lt;br /&gt;
restore-patch        100% |*************************************************|  3295    00:00&lt;br /&gt;
411ps-jail-patch     100% |*************************************************|  2602    00:00&lt;br /&gt;
jail_rtprio_patch    100% |*************************************************|   301    00:00&lt;br /&gt;
udp-patch            100% |*************************************************|   594    00:00&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch &amp;lt; 411ps-jail-patch&lt;br /&gt;
patch &amp;lt; jail_proc_patch&lt;br /&gt;
patch &amp;lt; restore-patch&lt;br /&gt;
patch &amp;lt; jail_rtprio_patch&lt;br /&gt;
patch &amp;lt; udp-patch&lt;br /&gt;
&lt;br /&gt;
13. build, install kernel and world&lt;br /&gt;
make buildworld buildkernel installkernel (2450: 48min, supermicro: 20mins)&lt;br /&gt;
(Any compile errors can be looked up in /usr/include/sys/signal.h, other errors, do a rm -R /usr/obj/*)&lt;br /&gt;
make installworld (2450: 2min, supermicro: 1mins)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
(answer no to most of it)&lt;br /&gt;
&lt;br /&gt;
14. reboot. Confirm new kernel is loaded (uname -a)&lt;br /&gt;
&lt;br /&gt;
15. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
cat &amp;gt; sup&lt;br /&gt;
*default host=cvsup4.FreeBSD.org&lt;br /&gt;
*default base=/usr&lt;br /&gt;
*default prefix=/usr&lt;br /&gt;
*default release=cvs tag=RELENG_4&lt;br /&gt;
*default delete use-rel-suffix&lt;br /&gt;
*default compress&lt;br /&gt;
ports-all tag=.&lt;br /&gt;
&lt;br /&gt;
cvsup sup (2450: 26mins, supermicro: 26mins)&lt;br /&gt;
&lt;br /&gt;
16. add console=&amp;quot;comconsole&amp;quot; to /boot/loader.conf&lt;br /&gt;
cat &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
console=&amp;quot;comconsole&amp;quot;&lt;br /&gt;
&lt;br /&gt;
17. edit /etc/ttys and turn off all ttyv&#039;s except 0 and 1&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail4 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
18. install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base&lt;br /&gt;
make install clean (2450: 7min, supermicro: 2mins)&lt;br /&gt;
&lt;br /&gt;
reibuild rpmdb cause we had probs installing aacapps&lt;br /&gt;
cd /compat/linux/bin&lt;br /&gt;
./rpm --initdb&lt;br /&gt;
./rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
19. install aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/aacapps-4.1-0.i386.rpm /tmp/.&lt;br /&gt;
/compat/linux/bin/rpm -ivh /tmp/aacapps-4.1-0.i386.rpm&lt;br /&gt;
cd /dev&lt;br /&gt;
sh MAKEDEV aac0&lt;br /&gt;
&lt;br /&gt;
test out /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
20. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: /usr/local/jail/bin /compat/linux/usr/sbin&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`ps auxwJ | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`ps cauxJ | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
21. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
22. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
23. configure inetd to respond to mrtg load queries&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
load            12384/tcp&lt;br /&gt;
&lt;br /&gt;
kill -HUP `cat /var/run/inetd.pid`&lt;br /&gt;
&lt;br /&gt;
24. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/etc/mrtg/mrtg1.cfg&lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
25. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.104 jail4.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd /usr/home/bb/bbsrc/bb1.9e-btf&lt;br /&gt;
./runbb.sh stop&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser -group 1984 -shell /bin/csh -uid 1984 bb&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
10.1.4.105 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh&lt;br /&gt;
10.1.4.118 jail18.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles   and change:&lt;br /&gt;
MACHINE=&amp;quot;jail18,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh&lt;br /&gt;
./bbchkhosts.sh (ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd bbc1.9e-btf/&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT (look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
27. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
28. configure ntp&lt;br /&gt;
cat &amp;gt; /etc/ntp.conf&lt;br /&gt;
server 10.1.4.105&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
29. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
31. fwd and reverse lookups on ns1c&lt;br /&gt;
vi johncompanies.com&lt;br /&gt;
rr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
32. create all /dev/vn and /dev/pty files in /dev&lt;br /&gt;
cat &amp;gt; /tmp/runme.sh&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
cd /dev&lt;br /&gt;
for i in 1 2 3 4 5 6 7 ; do sh MAKEDEV pty$i ; done&lt;br /&gt;
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ; do sh MAKEDEV vn$i ; done&lt;br /&gt;
&lt;br /&gt;
NOTE: there are only 4 lines in the above output - however the lines may be wrapped on your terminal - make sure that there are only four lines in the script you make.&lt;br /&gt;
&lt;br /&gt;
chmod +x /tmp/runme.sh&lt;br /&gt;
/tmp/runme.sh&lt;br /&gt;
&lt;br /&gt;
rm /tmp/runme.sh&lt;br /&gt;
&lt;br /&gt;
ls /dev/vn*|wc -l (make sure the output is a high number – larger than 128)&lt;br /&gt;
ls /dev/pty*|wc -l (make sure the output is exactly 256)&lt;br /&gt;
&lt;br /&gt;
33. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.104&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.104 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.101 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
34. make sure sysctls are set and preserved after reboot&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
kern.consmute=0&lt;br /&gt;
jail.sysvipc_allowed=1&lt;br /&gt;
kern.ipc.shm_use_phys=1&lt;br /&gt;
kern.ipc.shmall=65535&lt;br /&gt;
kern.ipc.shmmax=134217728&lt;br /&gt;
net.inet.tcp.syncookies=0&lt;br /&gt;
kern.maxfiles=32768&lt;br /&gt;
kern.fallback_elf_brand=3&lt;br /&gt;
kern.maxprocperuid=4000&lt;br /&gt;
jail.max_procs_per_jail: 1026&lt;br /&gt;
&lt;br /&gt;
35. reboot&lt;br /&gt;
&lt;br /&gt;
36. create the jail template&lt;br /&gt;
vnconfig -T -S 1g -Z -s labels -c /dev/vn1 /mnt/data1/jail&lt;br /&gt;
disklabel -r -w vn1 auto&lt;br /&gt;
newfs /dev/vn1c&lt;br /&gt;
cd /usr/src&lt;br /&gt;
mkdir -p /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/vn1c /mnt/data1/jail-DIR&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR (2450: 45mins, supermicro: 19mins)&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR -DNO_MAKEDEV_RUN&lt;br /&gt;
cd /mnt/data1/jail-DIR/dev&lt;br /&gt;
sh MAKEDEV jail&lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
cat &amp;gt; /etc/rc.conf&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
network_interfaces=&amp;quot;&amp;quot;&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
nameserver 69.55.225.225&lt;br /&gt;
nameserver 69.55.230.3&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# DO NOT UNCOMMENT THESE&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
mv /bin/df /bin/df_&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /bin/df&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
/bin/df_ $* .&lt;br /&gt;
&lt;br /&gt;
chmod +x /bin/df&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /sbin/mount&lt;br /&gt;
echo `df | tail -1 | awk &#039;{print $1 &amp;quot; on &amp;quot; $6 &amp;quot; (ufs, local)&amp;quot;}&#039;`&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039;&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user)&lt;br /&gt;
&lt;br /&gt;
put user in wheel group&lt;br /&gt;
vi /etc/group&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
cd /etc&lt;br /&gt;
vipw -d .&lt;br /&gt;
root:$1$krszPxhk$xkCepSnz3mIikT3vCtJCt0:0:0::0:0:Charlie &amp;amp;:/root:/bin/csh&lt;br /&gt;
user:$1$Mx9p5Npk$QdMU6c8YQqp2FW2M3irEh/:1001:1001::0:0:User &amp;amp;:/home/user:/bin/sh&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
chflags schg /dev/*mem&lt;br /&gt;
&lt;br /&gt;
cd /dev&lt;br /&gt;
rm console&lt;br /&gt;
ln -s null console&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean (2450: 47mins , supermicro: 17mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail-DIR/usr&lt;br /&gt;
&lt;br /&gt;
cd /mnt/data1/jail-DIR/dev&lt;br /&gt;
rm kmem&lt;br /&gt;
mknod kmem c 2 1 root:kmem&lt;br /&gt;
chmod 640 kmem&lt;br /&gt;
rm mem&lt;br /&gt;
mknod mem c 2 0 root:kmem&lt;br /&gt;
chmod 640 mem&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for i in 1 2 3 4 5 6 7 ; do sh MAKEDEV pty$i ; done&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /mnt/data1/jail-DIR/usr/compat/linux/dev&lt;br /&gt;
mknod null c 2 2&lt;br /&gt;
mknod random c 2 3&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
mkdir /usr/local/jail/template/&lt;br /&gt;
dump -0a -f /usr/local/jail/template/411template /dev/vn1&lt;br /&gt;
&lt;br /&gt;
umount /dev/vn1c&lt;br /&gt;
vnconfig -u /dev/vn1&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail&lt;br /&gt;
rm -fr /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
37. setup backups&lt;br /&gt;
cat &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
backupdir=/mnt/data2/jail18_rsync&lt;br /&gt;
&lt;br /&gt;
## ENTRY /etc&lt;br /&gt;
## ENTRY /usr/local/etc&lt;br /&gt;
## ENTRY /usr/local/jail&lt;br /&gt;
## ENTRY /root/logs&lt;br /&gt;
&lt;br /&gt;
on backup2:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /mnt/data2/jail18_rsync/0_today&lt;br /&gt;
mkdir -p /mnt/data2/jail18_rsync/1_yesterday&lt;br /&gt;
mkdir -p /mnt/data2/jail18_rsync/2_two_day&lt;br /&gt;
&lt;br /&gt;
add the system to /mnt/data1/bin/rsync_houseclean &lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
38. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
39. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.101&lt;br /&gt;
ListenAddress 10.1.4.104&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
40. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
55 10,23 * * * /usr/local/jail/bin/trafficwatch.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
41. Reboot notify script&lt;br /&gt;
cat &amp;gt; /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
echo &amp;quot;`/bin/hostname` rebooted&amp;quot; | /usr/bin/mail reboot@johncompanies.com&lt;br /&gt;
&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
&lt;br /&gt;
42. copy jailmake from prev system&lt;br /&gt;
scp user@10.1.4.118:/usr/local/jail/bin/jailmake /usr/local/jail/bin&lt;br /&gt;
rehash&lt;br /&gt;
NOTE: remove df altering code from jailmake since we put the correct df in the template, and make sure path to template file is right&lt;br /&gt;
&lt;br /&gt;
43. add to templates via mgmt system&lt;br /&gt;
&lt;br /&gt;
44. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
45. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.2&lt;br /&gt;
00117 deny ip from any to 69.55.228.2&lt;br /&gt;
&lt;br /&gt;
jail4 would be 00104...&lt;br /&gt;
ipfw add 00118 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.140&lt;br /&gt;
ipfw add 00118 deny ip from any to 69.55.228.140&lt;br /&gt;
&lt;br /&gt;
46. select customers for probe map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 6.1 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2006-05-09&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: off&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect aacd0&lt;br /&gt;
cursor over aacd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over aacd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure aacd0 is highlighted&lt;br /&gt;
a to start with defaults&lt;br /&gt;
&lt;br /&gt;
john likes:&lt;br /&gt;
/1g&lt;br /&gt;
/var 256m&lt;br /&gt;
&lt;br /&gt;
Glenn likes:&lt;br /&gt;
/128&lt;br /&gt;
/var 256&lt;br /&gt;
/usr 3g&lt;br /&gt;
/tmp 256&lt;br /&gt;
&lt;br /&gt;
We do:&lt;br /&gt;
delete everything&lt;br /&gt;
/ 128M&lt;br /&gt;
swap 2G&lt;br /&gt;
/var 256M&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 3G&lt;br /&gt;
/mnt/data1 remaining space&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to aacd1&lt;br /&gt;
swap 2G&lt;br /&gt;
/mnt/data2 remaining space&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
when it comes back up, enter junk when it asks for key seed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail19 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=38400&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
5. add console=&amp;quot;comconsole&amp;quot; to /boot/loader.conf&lt;br /&gt;
echo &amp;quot;console=&amp;quot;&amp;quot;comconsole&amp;quot;&amp;quot;&amp;quot; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins)&lt;br /&gt;
&lt;br /&gt;
8. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup &lt;br /&gt;
(2450, ~12mins, supermicro, 27mins)&lt;br /&gt;
&lt;br /&gt;
9. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
10. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
scp /root/.ssh/id_dsa.pub user@backup2:/tmp/jailkey&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2&lt;br /&gt;
&lt;br /&gt;
11. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build/freebsd (name the kernel config the same as the jail, ex jail18):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.1 ./jail19&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail14&lt;br /&gt;
ident           jail14&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc1 to the end of the BRANCH string (RELEASE-jc1)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
12. bring over patches from backup2&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/6.1/*&amp;quot; .&lt;br /&gt;
jail_proc_patch      100% |*************************************************|  2593    00:00&lt;br /&gt;
restore-patch        100% |*************************************************|  3295    00:00&lt;br /&gt;
54ps-jail-patch      100% |*************************************************|  2602    00:00&lt;br /&gt;
jail_rtprio_patch    100% |*************************************************|   301    00:00&lt;br /&gt;
udp-patch            100% |*************************************************|   594    00:00&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch &amp;lt; 54ps-jail-patch&lt;br /&gt;
patch &amp;lt; jail_proc_patch&lt;br /&gt;
patch &amp;lt; restore-patch&lt;br /&gt;
patch &amp;lt; jail_rtprio_patch&lt;br /&gt;
patch &amp;lt; udp-patch&lt;br /&gt;
&lt;br /&gt;
13. build, install kernel and world&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld buildkernel installkernel &lt;br /&gt;
(2450: 1:56min, supermicro::59mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
14. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname –a&lt;br /&gt;
&lt;br /&gt;
15. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup &lt;br /&gt;
(2450: 18mins, supermicro: 19mins)&lt;br /&gt;
&lt;br /&gt;
18. (only applies if adaptec card installed)&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins)&lt;br /&gt;
&lt;br /&gt;
reibuild rpmdb cause we had probs installing aacapps&lt;br /&gt;
cd /compat/linux/bin&lt;br /&gt;
./rpm --initdb&lt;br /&gt;
./rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
install aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/aacapps-4.1-0.i386.rpm /tmp/.&lt;br /&gt;
/compat/linux/bin/rpm -ivh --excludepath=/dev /tmp/aacapps-4.1-0.i386.rpm&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
20. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
21. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
21. install perl from ports&lt;br /&gt;
PROB NOT NECESSARY – INSTALLED WITH LINUX I THINK&lt;br /&gt;
cd /usr/ports/lang/perl5.8/&lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(supermicro: 5min)&lt;br /&gt;
&lt;br /&gt;
22. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd6.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
23. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.105 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.103 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail19,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh (y to questions)&lt;br /&gt;
./bbchkhosts.sh (ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
modify bb-msgtab to look for raid failures&lt;br /&gt;
&lt;br /&gt;
24. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
25. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.119 jail19.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
27. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
28. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.105&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
29. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
31. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
33. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.119&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.118 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.101 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
34. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=65535\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.max_procs_per_jail: 1026\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
35. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
36. enable noatime option&lt;br /&gt;
NOT APPLICABLE IF RUNNING GVINUM&lt;br /&gt;
data1 and data2 should look something like:&lt;br /&gt;
/dev/amrd0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
36. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
35. reboot&lt;br /&gt;
Check rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
36. create gvinum volumes&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/aacd0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
For a 73G drive (after OS), we can fit 31 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data1 device /dev/aacd0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 146G drive (-4G for swap), we can fit 66 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For 3rd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
Label should be:&lt;br /&gt;
# /dev/aacd2s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  c: 143299737        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  g: 143299721        16    unused        0     0&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data3 device /dev/aacd2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv; done&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 2nd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. create the jail template&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/jail&lt;br /&gt;
newfs /dev/gvinum/v1&lt;br /&gt;
mount /dev/gvinum/v1 /mnt/jail&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make clean&lt;br /&gt;
rm -fr /usr/obj/&lt;br /&gt;
make world DESTDIR=/mnt/jail&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins)&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/jail&lt;br /&gt;
mount_devfs devfs /mnt/jail/dev&lt;br /&gt;
devfs -m /mnt/jail/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/jail&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
&lt;br /&gt;
jail /mnt/jail testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# DO NOT UNCOMMENT THESE&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/jail/usr (2450: 2:00 mins , supermicro: 15mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/jail/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
mkdir /usr/local/jail/template/&lt;br /&gt;
dump -0a -f /usr/local/jail/template/61template /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
umount /mnt/jail/dev&lt;br /&gt;
umount /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
rm -fr /mnt/jail&lt;br /&gt;
&lt;br /&gt;
37. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/mnt/data3jail3_rsync\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup2:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /mnt/data3/jail3/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /mnt/data4/bin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
38. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
39. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.101&lt;br /&gt;
ListenAddress 10.1.4.118&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
40. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
55 10,23 * * * /usr/local/jail/bin/trafficwatch.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
41. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
42. copy jailmake from prev system&lt;br /&gt;
scp user@10.1.4.119:/usr/local/jail/bin/jailmake /usr/local/jail/bin&lt;br /&gt;
rehash&lt;br /&gt;
NOTE: remove df altering code from jailmake since we put the correct df in the template, and make sure path to template file is right&lt;br /&gt;
&lt;br /&gt;
43. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
5.4-RELEASE-p2-jc2&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;jail19&#039;,&#039;jail19.johncompanies.com&#039;,0,&#039;l&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail19&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 6.2-RELEASE-jc1&#039;,5,&#039;FreeBSD 6.2&#039;,0);&lt;br /&gt;
&lt;br /&gt;
44. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
45. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00119 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00119 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00119 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
ipfw add 00119 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
46. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
47. install raid monitor&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/asr-utils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
48. make gv start on boot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/gvinum /etc/rc.d/gvinum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gconcat label -v somelabel /dev/gvinum/a /dev/gvinum/b&lt;br /&gt;
bsdlabel -r -w /dev/concat/somelabel&lt;br /&gt;
newfs /dev/concat/somelabela&lt;br /&gt;
mount /dev/concat/somelabel /mount/point&lt;br /&gt;
&lt;br /&gt;
umount /dev/concat/somelabel&lt;br /&gt;
gconcat stop somelabel&lt;br /&gt;
gconcat label -v /dev/gvinum/a /dev/gvinum/b /dev/gvinum/c /dev/gvinum/d&lt;br /&gt;
growfs /dev/concat/somelabel&lt;br /&gt;
mount /dev/concat/somelabel /mount/point&lt;br /&gt;
&lt;br /&gt;
volume f&lt;br /&gt;
        plex org concat&lt;br /&gt;
        sd length 30449m drive data1&lt;br /&gt;
&lt;br /&gt;
where f is &lt;br /&gt;
&lt;br /&gt;
D data1                 State: up       /dev/aacd0s1g   A: 30449/64241 MB (47%)&lt;br /&gt;
&lt;br /&gt;
gvinum rm -r f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
so i setup 2 machines with 6.1. A had 2 logical drives and gv&#039;s created across both. B had 1 logical drive and gv&#039;s across the 1 drive.  &lt;br /&gt;
the labeling for the gv&#039;s was v1-vN (till i ran out of space) &lt;br /&gt;
when i moved aac1 from A to B, the gv&#039;s on A&#039;s aac1, took precedence over the similarly labeled gv&#039;s on B&#039;s aac0. in other words. B&#039;s aac0 used to have v1-v30. A&#039;s aac1 had vn6-vn30. when A&#039;s aac1 was moved to B, v1-v5 were linked to B&#039;s aac0, and v6-v30 linked to A&#039;s aac1 &lt;br /&gt;
i relabeled B&#039;s aac0 gv&#039;s to something different (not v1-vN) and tried again and they all showed up.  &lt;br /&gt;
i tried the experiment again this time moving A&#039;s aac0 to B. at that point nothing worked. i moved A&#039;s aac0 back to A and renamed the device (data1) to something else, then tried the test again. still no beans.  &lt;br /&gt;
it&#039;s hazy what i did after that cause the machine&#039;s weren&#039;t cooperating and i was trying to rename the device but basically i think i need to repeat the test and see if i can re-define the device, and probably also give it a unique name and i bet it would have worked.  &lt;br /&gt;
also interesting- A&#039;s aac1 contained data about A&#039;s aac0 which showed up when i put aac1 into B &lt;br /&gt;
skeeter:	as for the gv stuff, it definitely sounds like using some sort of serial numbering scheme would be the way to go if you want to be able to move disks around.... &lt;br /&gt;
that overlap is still an issue  (aac1&#039;s device was &#039;data2&#039;)  when i had A&#039;s aac0 in B nothing worked both disks gv devices were called data1 &lt;br /&gt;
skeeter:	I suppose you could serialize those names as well...&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 6.2 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2007-10-15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: on&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect amrd0&lt;br /&gt;
cursor over amrd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over amrd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure amrd0 is highlighted&lt;br /&gt;
a to start with defaults&lt;br /&gt;
&lt;br /&gt;
john likes:&lt;br /&gt;
/1g&lt;br /&gt;
/var 256m&lt;br /&gt;
&lt;br /&gt;
Glenn likes:&lt;br /&gt;
/128&lt;br /&gt;
/var 256&lt;br /&gt;
/usr 3g&lt;br /&gt;
/tmp 256&lt;br /&gt;
&lt;br /&gt;
We do:&lt;br /&gt;
delete everything&lt;br /&gt;
/ 128M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 3.5G (3584M)&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to amrd1&lt;br /&gt;
swap 4G&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail7 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
5. add console=&amp;quot;comconsole&amp;quot; to /boot/loader.conf&lt;br /&gt;
echo &amp;quot;console=&amp;quot;&amp;quot;comconsole&amp;quot;&amp;quot;&amp;quot; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd6.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build/freebsd (name the kernel config the same as the jail, ex jail18):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2 ./jail7&lt;br /&gt;
&lt;br /&gt;
or for PAE&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2-PAE ./jail7&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail7&lt;br /&gt;
ident           jail7&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc1 to the end of the BRANCH string (RELEASE-jc1)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/6.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
Apply these only to 2950 with PAE:&lt;br /&gt;
patch -p0 &amp;lt; mfi-patch&lt;br /&gt;
patch -p0 &amp;lt; gvinum-staticcompile-patch&lt;br /&gt;
patch -p0 &amp;lt; gvinum-bin-patch&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld buildkernel installkernel; mail -s &#039;kernel build done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.119&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.118 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.101 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=65535\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.max_procs_per_jail: 1026\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname –a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
 (for adaptec)&lt;br /&gt;
This didn’t work: reibuild rpmdb cause we had probs installing aacapps&lt;br /&gt;
cd /compat/linux/bin&lt;br /&gt;
./rpm --initdb&lt;br /&gt;
./rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
Install of linux-base lead to broken rpm on 6.2 so:&lt;br /&gt;
install aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/aacapps-4.1-0.i386.rpm /tmp/.&lt;br /&gt;
/compat/linux/bin/rpm -ivh --excludepath=/dev /tmp/aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp user@10.1.4.107:/compat/linux/usr/sbin/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
rpm didn’t even install on latest so just scp’d over aaccli and it worked&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
24. install perl from ports&lt;br /&gt;
Not necessary if linux_base is installed&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/lang/perl5.8/&lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(supermicro: 5min)&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.107 jail7.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail19,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.119 jail19.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
31. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
33. enable noatime option&lt;br /&gt;
NOT APPLICABLE IF RUNNING GVINUM&lt;br /&gt;
data1 and data2 should look something like:&lt;br /&gt;
/dev/amrd0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
reboot&lt;br /&gt;
&lt;br /&gt;
34. create gvinum volumes&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/amrd0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/amrd1s1&lt;br /&gt;
change d to g&lt;br /&gt;
&lt;br /&gt;
For a 73G drive (after OS), we can fit 31 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data1 device /dev/aacd0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 31 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 2g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a 146G drive (-4G for swap), we can fit 66 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/amrd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For 3rd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
Label should be:&lt;br /&gt;
# /dev/aacd2s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  c: 143299737        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  g: 143299721        16    unused        0     0&lt;br /&gt;
&lt;br /&gt;
/dev/aacd1s1d&lt;br /&gt;
echo &#039;drive data3 device /dev/aacd2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv; done&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 2nd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 2nd 73G drive (after 4G swap), we can fit 32 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 3nd 73G drive, we can fit 34 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data3 device /dev/mfid2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
2950:&lt;br /&gt;
bsdlabel -e /dev/mfid0s1&lt;br /&gt;
bsdlabel -e /dev/mfid1s1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For 1st drive (146G)&lt;br /&gt;
echo &#039;drive data1 device /dev/mfid0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
Usually there’s 2040m leftover so create one more smaller vol:&lt;br /&gt;
echo &#039;volume v64\&lt;br /&gt;
plex org concat\&lt;br /&gt;
sd length 2040m drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For 2nd drive (146G)&lt;br /&gt;
echo &#039;drive data2 device /dev/mfid1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/jail&lt;br /&gt;
newfs /dev/gvinum/v1&lt;br /&gt;
mount /dev/gvinum/v1 /mnt/jail&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make clean&lt;br /&gt;
rm -fr /usr/obj/&lt;br /&gt;
make buildworld &lt;br /&gt;
(2450: 2:28mins, supermicro: 53mins, 2950: 36min)&lt;br /&gt;
make world DESTDIR=/mnt/jail&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/jail&lt;br /&gt;
mount_devfs devfs /mnt/jail/dev&lt;br /&gt;
devfs -m /mnt/jail/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/jail&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
&lt;br /&gt;
jail /mnt/jail testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# DO NOT UNCOMMENT THESE&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 24mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/jail/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/jail/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
dump -0a -f /usr/local/jail/template/61template /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
umount /mnt/jail/dev&lt;br /&gt;
umount /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
rm -fr /mnt/jail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/mnt/data4/jail7\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jai7\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup2:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /mnt/data2/jail7/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /mnt/data4/bin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup to use the right drives&lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.226.128&lt;br /&gt;
ListenAddress 10.1.4.114&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
55 10,23 * * * /usr/local/jail/bin/trafficwatch.pl&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;jail19&#039;,&#039;jail19.johncompanies.com&#039;,0,&#039;l&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail19&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 6.2-RELEASE-jc1&#039;,15,&#039;FreeBSD 6.2&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
45. install raid monitor (LSI 320 only):&lt;br /&gt;
&lt;br /&gt;
scp backup2:/d4/build/megaraid/MegaMonitor1.02.tgz /tmp&lt;br /&gt;
pkg_add MegaMonitor1.02.tgz&lt;br /&gt;
&lt;br /&gt;
edit line in /usr/local/etc/rc.d/megamonitor.sh to look like:&lt;br /&gt;
/usr/sbin/MegaCtrl -start -log /var/log/messages  -disChkCon -SMART9999 &amp;gt; /megamonitor.out&lt;br /&gt;
&lt;br /&gt;
comment out:&lt;br /&gt;
localhost: /var/log/messages : : : **Monitor** : &lt;br /&gt;
In /usr/home/bb/bbc1.9e-btf/etc/bb-msgstab&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
46. make gv start on boot&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/gvinum /etc/rc.d/gvinum&lt;br /&gt;
&lt;br /&gt;
If they start stale:&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 64 ]\&lt;br /&gt;
do\&lt;br /&gt;
        gvinum start v$i\&lt;br /&gt;
        i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
sh /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 6.2 -&amp;gt; 6.3 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2008-08-07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. remove old src&lt;br /&gt;
cd /usr&lt;br /&gt;
rm –fr src/*&lt;br /&gt;
&lt;br /&gt;
2.  get latest sources for this release:&lt;br /&gt;
&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; pagedave&lt;br /&gt;
(20min)&lt;br /&gt;
&lt;br /&gt;
3. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build/freebsd (name the kernel config the same as the jail, ex jail18):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2 ./jail7&lt;br /&gt;
&lt;br /&gt;
or for PAE&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2-PAE ./jail7&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail7&lt;br /&gt;
ident           jail7&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc1 to the end of the BRANCH string (RELEASE-jc1)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
3. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/6.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
Apply these only to 2950 with PAE:&lt;br /&gt;
patch -p0 &amp;lt; gvinum-staticcompile-patch&lt;br /&gt;
patch -p0 &amp;lt; gvinum-bin-patch&lt;br /&gt;
&lt;br /&gt;
4. build, install kernel&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel;  pagedave&lt;br /&gt;
(2min)&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
mv kernel.old kernel.old.old&lt;br /&gt;
(optional move old kernel out of the way)&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make installkernel&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
mv kernel.old kernel.6.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. take ½ of mirror and test (boot up) in new hardware&lt;br /&gt;
&lt;br /&gt;
6. improved loader configs:&lt;br /&gt;
&lt;br /&gt;
/boot/loader.conf:&lt;br /&gt;
console=&amp;quot;comconsole,vidconsole&amp;quot;&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot;&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
7. build userland&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld; pagedave&lt;br /&gt;
(33mins)&lt;br /&gt;
make installworld &lt;br /&gt;
&lt;br /&gt;
mergemaster –i&lt;br /&gt;
reboot&lt;br /&gt;
8. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 7.0 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2008-04-30&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: on&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect amrd0&lt;br /&gt;
cursor over amrd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over amrd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure mfid0 is highlighted&lt;br /&gt;
&lt;br /&gt;
/ 256M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M (4.6G)&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 4G&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1&lt;br /&gt;
swap 8G&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail2 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
(leave out the speed and mfi lines for 2450s)&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd7.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_zfs jailmake&lt;br /&gt;
--OR--&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_geom jailmake&lt;br /&gt;
&lt;br /&gt;
ln -s /usr/local/jail/bin/js_zfs js&lt;br /&gt;
--OR--&lt;br /&gt;
ln -s /usr/local/jail/bin/js_geom js&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-OR-&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. &lt;br /&gt;
for i386:&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.0-PAE ./mx2&lt;br /&gt;
&lt;br /&gt;
-or-&lt;br /&gt;
for amd64:&lt;br /&gt;
cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.0-amd64 ./jail2&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail2&lt;br /&gt;
ident           jail2&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/7.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld buildkernel installkernel; mail -s &#039;kernel build done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
cd /usr/src/sys/modules/zfs&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.102&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
hostname=&amp;quot;jail2.johncompanies.com&amp;quot;&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.102 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.53 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
#ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
zfs_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=65535\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
kern.maxvnodes=400000&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950/2450:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname –a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_0\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
For LSI based cards:&lt;br /&gt;
&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
For adaptec:&lt;br /&gt;
On jail18: &lt;br /&gt;
scp /compat/linux/usr/sbin/aaccli user@10.1.4.102:~&lt;br /&gt;
&lt;br /&gt;
mv ~user/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
For 3w9690:&lt;br /&gt;
scp backup2:/d4/build/3ware/tw_cli-freebsd-x86_64-9.5.0.1.tgz /usr/local/sbin&lt;br /&gt;
cd /usr/local/sbin xzvf tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
./tw_cli /c0 show allstatus&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
24. install perl from ports&lt;br /&gt;
Not necessary if linux_base is installed&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/lang/perl5.8/&lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(supermicro: 5min)&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.108 jail2.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail2,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: to get bb working on amd, had to copy over bin dir from linux dist &lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.108 jail2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
31. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
33. create zpools&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/mfid0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/mfid1s1&lt;br /&gt;
change d to g&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
zpool create pool1 mfid0s1g&lt;br /&gt;
zpool create pool2 mfid1s1g&lt;br /&gt;
zfs set atime=off pool1&lt;br /&gt;
zfs set atime=off pool2&lt;br /&gt;
&lt;br /&gt;
echo &#039; vfs.zfs.prefetch_disable=&amp;quot;1&amp;quot; \&lt;br /&gt;
vfs.zfs.arc_min=16777216 \&lt;br /&gt;
vfs.zfs.arc_max=33554432 \&lt;br /&gt;
vm.kmem_size_max=&amp;quot;1G&amp;quot; # for i386\&lt;br /&gt;
vm.kmem_size=&amp;quot;1G&amp;quot; # for i386\&lt;br /&gt;
vm.kmem_size_max=&amp;quot;1.5G&amp;quot; # for amd64\&lt;br /&gt;
vm.kmem_size=&amp;quot;1.5G&amp;quot; # for amd64\&lt;br /&gt;
vfs.zfs.zil_disable=&amp;quot;1&amp;quot; &#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=/mnt/data1/jail -o quota=4G pool1/jail&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: 1h )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail/dev&lt;br /&gt;
devfs -m /mnt/data1/jail/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail/sbin&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
rm /sbin/halt /sbin/reboot&lt;br /&gt;
ln /sbin/jkill /sbin/halt&lt;br /&gt;
ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
cd /libexec&lt;br /&gt;
mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 24mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
zfs snapshot pool1/jail@now&lt;br /&gt;
zfs send pool1/jail@now | cat &amp;gt; /usr/local/jail/template/70template &lt;br /&gt;
zfs destroy pool1/jail@now&lt;br /&gt;
&lt;br /&gt;
zfs destroy pool1/jail&lt;br /&gt;
&lt;br /&gt;
rmdir /mnt/data1/jail&lt;br /&gt;
f&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail2\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup1:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /data/jail2/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup to use the right drives&lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.238.233&lt;br /&gt;
ListenAddress 10.1.4.108&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup.zfs&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;mx2&#039;,&#039;mx2.johncompanies.com&#039;,0,&#039;m&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;mx2&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 7.1-RELEASE-jc2&#039;,44,&#039;FreeBSD 7.1&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
49. move and pare down generic kernel&lt;br /&gt;
mv kernel.old/ kernel.GENERIC&lt;br /&gt;
&lt;br /&gt;
/  too full, remove old kernel modules except for:&lt;br /&gt;
&lt;br /&gt;
Id Refs Address            Size     Name&lt;br /&gt;
 1   14 0xffffffff80100000 ac6c08   kernel&lt;br /&gt;
 2    1 0xffffffff80bc8000 1128     mfi_linux.ko&lt;br /&gt;
 3    4 0xffffffff80bca000 39138    linux.ko&lt;br /&gt;
 4    1 0xffffffffb48f8000 358c     linprocfs.ko&lt;br /&gt;
 5    1 0xffffffffb48fc000 9d3      linsysfs.ko&lt;br /&gt;
 6    1 0xffffffffb490c000 80ee8    zfs.ko&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
50. ntp doesn’t seem to start from rc so,&lt;br /&gt;
&lt;br /&gt;
echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 7.1 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2009-02-16&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: on&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
&lt;br /&gt;
NOTE&lt;br /&gt;
For gvin probs made 2 slices, 1st 8960M&lt;br /&gt;
Freebsd boot mgr&lt;br /&gt;
&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect amrd0&lt;br /&gt;
cursor over amrd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over amrd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure mfid0 is highlighted&lt;br /&gt;
&lt;br /&gt;
/ 256M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M (4.6G)&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 4G&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1&lt;br /&gt;
swap 8G&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail2 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
(leave out the speed and mfi lines for 2450s)&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd7.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_geom jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_geom js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_geom canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_geom jailmakeempty&lt;br /&gt;
&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
-OR-&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
(stable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. &lt;br /&gt;
for i386:&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.0-PAE ./mx2&lt;br /&gt;
&lt;br /&gt;
-or-&lt;br /&gt;
&lt;br /&gt;
for amd64:&lt;br /&gt;
cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.1-amd64 ./jail2&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail2&lt;br /&gt;
ident           jail2&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/7.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;kernel build done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
cd /sys/modules/geom/geom_vinum&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.102&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#ifconfig_xl0=&amp;quot;inet 10.1.4.102 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0=&amp;quot;inet 69.55.228.53 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950/2450:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/proc&lt;br /&gt;
mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname -a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
For LSI based cards:&lt;br /&gt;
&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i, 6/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli2&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
For adaptec:&lt;br /&gt;
On jail18: &lt;br /&gt;
scp /compat/linux/usr/sbin/aaccli user@10.1.4.102:~&lt;br /&gt;
&lt;br /&gt;
mv ~user/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
For 3w9690:&lt;br /&gt;
scp backup2:/d4/build/3ware/tw_cli-freebsd-x86_64-9.5.0.1.tgz /usr/local/sbin&lt;br /&gt;
cd /usr/local/sbin xzvf tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
./tw_cli /c0 show allstatus&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.102 jail2.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail2,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: to get bb working on amd, had to copy over bin dir from linux dist &lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.102 jail2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
33. create gvinum volumes&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
2950:&lt;br /&gt;
bsdlabel -e /dev/mfid0s1&lt;br /&gt;
bsdlabel -e /dev/mfid1s1&lt;br /&gt;
bsdlabel -e /dev/mfid2s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/amrd1s1&lt;br /&gt;
change d to g&lt;br /&gt;
&lt;br /&gt;
For a 146G drive (after OS and 4G swap), we can fit 127 1G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data1 device /dev/mfid0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 127 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 1g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
volume 1&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 3g drive data1&lt;br /&gt;
volume 2&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 5g drive data1&lt;br /&gt;
volume 3&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 8g drive data1&lt;br /&gt;
volume 4&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 6g drive data1&lt;br /&gt;
volume 5&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 10g drive data1&lt;br /&gt;
&lt;br /&gt;
for f in 1 2 3 4 5; do bsdlabel -rw /dev/gvinum/$f; done&lt;br /&gt;
for f in 1 2 3 4 5; do newfs /dev/gvinum/${f}a; done&lt;br /&gt;
for f in 1 2 3 4 5; do mkdir /mnt/data1/$f; mount /dev/gvinum/${f}a /mnt/data1/$f;done&lt;br /&gt;
for f in 1 2 3 4 5; do dd if=/dev/zero of=/mnt/data1/$f/this_is_$f bs=1m count=$f; done&lt;br /&gt;
for f in 1 2 3 4 5; do ll -h /mnt/data1/$f/; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a 300G drive (after OS and 4G swap), we can fit 273 1G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/mfid1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;128&amp;quot;\&lt;br /&gt;
while [ $i -le 401 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 1g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a 300G drive (after OS and 4G swap), we can fit 273 1G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data3 device /dev/mfid2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;402&amp;quot;\&lt;br /&gt;
while [ $i -le 675 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 1g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
Sometimes there’s 2040m leftover so create one more smaller vol:&lt;br /&gt;
echo &#039;volume v64\&lt;br /&gt;
plex org concat\&lt;br /&gt;
sd length 2040m drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
To delete:&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 127 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;gvinum rm -r v$i&amp;quot; &amp;gt;&amp;gt; /tmp/dgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkdgv&lt;br /&gt;
sh /tmp/mkdgv&lt;br /&gt;
sh /tmp/dgv&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/zero of=/dev/sdb seek=285474816 bs=512&lt;br /&gt;
dd if=/dev/zero of=/dev/mfid0s2 bs=1m count=1000 (do this to all drives)&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
touch /mnt/data1/jail &lt;br /&gt;
mdconfig -a -t vnode -s 1g -f /mnt/data1/jail -u 0&lt;br /&gt;
bsdlabel -rw md0 &lt;br /&gt;
newfs4x /dev/md0c&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0c /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: 1h )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
rm /sbin/halt /sbin/reboot&lt;br /&gt;
ln /sbin/jkill /sbin/halt&lt;br /&gt;
ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd libexec&lt;br /&gt;
mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
may have to run:&lt;br /&gt;
chflags noschg ld-elf32.so.1&lt;br /&gt;
chflags noschg ld-elf.so.1&lt;br /&gt;
then&lt;br /&gt;
chflags schg ld-elf.so.1&lt;br /&gt;
chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 18mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail-DIR/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
dump -0a -f /usr/local/jail/template/71template /dev/md0c&lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
umount /dev/md0c&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail2\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup1:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
ssh backup1 mkdir -p /data/jail2/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.53&lt;br /&gt;
ListenAddress 10.1.4.102&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup.md&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;mx2&#039;,&#039;mx2.johncompanies.com&#039;,0,&#039;m&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;mx2&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 7.1-RELEASE-jc2&#039;,44,&#039;FreeBSD 7.1&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
46. make gv start on boot&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/gvinum /etc/rc.d/gvinum&lt;br /&gt;
&lt;br /&gt;
If they start stale:&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 127 ]\&lt;br /&gt;
do\&lt;br /&gt;
        gvinum start v$i\&lt;br /&gt;
        i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
sh /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
49. move and pare down generic kernel&lt;br /&gt;
mv kernel.old/ kernel.GENERIC&lt;br /&gt;
&lt;br /&gt;
/  too full, remove old kernel modules except for:&lt;br /&gt;
&lt;br /&gt;
Id Refs Address            Size     Name&lt;br /&gt;
 1   14 0xffffffff80100000 ac6c08   kernel&lt;br /&gt;
 2    1 0xffffffff80bc8000 1128     mfi_linux.ko&lt;br /&gt;
 3    4 0xffffffff80bca000 39138    linux.ko&lt;br /&gt;
 4    1 0xffffffffb48f8000 358c     linprocfs.ko&lt;br /&gt;
 5    1 0xffffffffb48fc000 9d3      linsysfs.ko&lt;br /&gt;
 6    1 0xffffffffb490c000 80ee8    zfs.ko&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
50. ntp doesn’t seem to start from rc so,&lt;br /&gt;
&lt;br /&gt;
echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 7.2 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2009-06-18&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
2950:&lt;br /&gt;
Console redirection:&lt;br /&gt;
LCD string..&lt;br /&gt;
Date to GMT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 7.2&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to mfid0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect mfid0&lt;br /&gt;
cursor over mfid1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over mfid0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure mfid0 is highlighted&lt;br /&gt;
&lt;br /&gt;
/ 256M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M (4.6G)&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 4G&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1&lt;br /&gt;
swap 8G (or 4G if there’s a 3rd drive)&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf &lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail8 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd7.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch deprecated&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
-OR-&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
(stable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. &lt;br /&gt;
&lt;br /&gt;
cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.1-amd64 ./jail8&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail8&lt;br /&gt;
ident           jail8&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/7.2/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
cd /sys/modules/geom/geom_vinum&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.102&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#ifconfig_xl0=&amp;quot;inet 10.1.4.102 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0=&amp;quot;inet 69.55.228.53 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
vm.pmap.shpgperproc=300&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950/2450:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/proc&lt;br /&gt;
mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
19. enable noatime option&lt;br /&gt;
NOT APPLICABLE IF RUNNING GVINUM&lt;br /&gt;
data1 and data2 should look something like:&lt;br /&gt;
/dev/amrd0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname -a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
For LSI based cards:&lt;br /&gt;
&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i, 6/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli2&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
For adaptec:&lt;br /&gt;
On jail18: &lt;br /&gt;
scp /compat/linux/usr/sbin/aaccli user@10.1.4.102:~&lt;br /&gt;
&lt;br /&gt;
mv ~user/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
For 3w9690:&lt;br /&gt;
scp backup2:/d4/build/3ware/tw_cli-freebsd-x86_64-9.5.0.1.tgz /usr/local/sbin&lt;br /&gt;
cd /usr/local/sbin xzvf tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
./tw_cli /c0 show allstatus&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.108 jail8.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail8,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: to get bb working on amd, had to copy over bin dir from linux dist &lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.102 jail2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
touch /mnt/data1/jail &lt;br /&gt;
mdconfig -a -t vnode -s 1g -f /mnt/data1/jail -u 0&lt;br /&gt;
bsdlabel -rw md0 &lt;br /&gt;
newfs4x -i 4096 /dev/md0c&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0c /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR; pagedave&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: 1h )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
Username: user&lt;br /&gt;
Full name: user&lt;br /&gt;
Uid (Leave empty for default):&lt;br /&gt;
Login group [user]:&lt;br /&gt;
Login group is user. Invite user into other groups? []: wheel&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/user]:&lt;br /&gt;
Home directory permissions (Leave empty for default):&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: y&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : user&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : user&lt;br /&gt;
Uid        : 1001&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : user&lt;br /&gt;
Home       : /home/user&lt;br /&gt;
Home Mode  :&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): y&lt;br /&gt;
adduser: INFO: Successfully added (user) to the user database.&lt;br /&gt;
adduser: INFO: Password for (user) is: 901gmYjO&lt;br /&gt;
Add another user? (yes/no): n&lt;br /&gt;
Goodbye!&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
rm /sbin/halt /sbin/reboot&lt;br /&gt;
ln /sbin/jkill /sbin/halt&lt;br /&gt;
ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd libexec&lt;br /&gt;
chflags noschg ld-elf32.so.1&lt;br /&gt;
chflags noschg ld-elf.so.1&lt;br /&gt;
&lt;br /&gt;
mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
chflags schg ld-elf.so.1&lt;br /&gt;
chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 18mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail-DIR/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
dump -0a -f /usr/local/jail/template/72template /dev/md0c&lt;br /&gt;
umount /dev/md0c&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail2\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup1:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
ssh backup1 mkdir -p /data/jail2/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.53&lt;br /&gt;
ListenAddress 10.1.4.102&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup.md&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;mx2&#039;,&#039;mx2.johncompanies.com&#039;,0,&#039;m&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;mx2&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 7.1-RELEASE-jc2&#039;,44,&#039;FreeBSD 7.1&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
50. ntp doesn’t seem to start from rc so,&lt;br /&gt;
&lt;br /&gt;
echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
&lt;br /&gt;
51. recover space on /usr&lt;br /&gt;
&lt;br /&gt;
rm -fr /usr/obj&lt;br /&gt;
&lt;br /&gt;
52. setup fuse&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/fusefs-kmod/&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
fusefs_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sysctl vfs.usermount=1&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/fusefs-sshfs&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
sshfs 1005@usw-s009.rsync.net: /mnt/data1/69.55.234.68-col00001-DIR/mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Stress testing a 6.x jail =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/jail&lt;br /&gt;
newfs /dev/gvinum/v1&lt;br /&gt;
mount /dev/gvinum/v1 /mnt/jail&lt;br /&gt;
cd /mnt/jail&lt;br /&gt;
restore -r -f /path/to/61stress .&lt;br /&gt;
cd ..&lt;br /&gt;
umount /mnt/jail&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10; do mkdir /mnt/data1/$f; done&lt;br /&gt;
&lt;br /&gt;
gconcat label v3-v5 /dev/gvinum/v3 /dev/gvinum/v4 /dev/gvinum/v5&lt;br /&gt;
bsdlabel -r -w /dev/concat/v3-v5&lt;br /&gt;
newfs /dev/concat/v3-v5a&lt;br /&gt;
mount /dev/concat/v3-v5a /mnt/data1/1&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v10&lt;br /&gt;
newfs /dev/gvinum/v10a&lt;br /&gt;
mount /dev/gvinum/v10a /mnt/data1/2&lt;br /&gt;
gconcat label v23-v25 /dev/gvinum/v23 /dev/gvinum/v24 /dev/gvinum/v25&lt;br /&gt;
bsdlabel -r -w /dev/concat/v23-v25&lt;br /&gt;
newfs /dev/concat/v23-v25a&lt;br /&gt;
mount /dev/concat/v23-v25a /mnt/data1/3&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v50&lt;br /&gt;
newfs /dev/gvinum/v50a&lt;br /&gt;
mount /dev/gvinum/v50a /mnt/data1/4&lt;br /&gt;
gconcat label v63-v65 /dev/gvinum/v63 /dev/gvinum/v64 /dev/gvinum/v65&lt;br /&gt;
bsdlabel -r -w /dev/concat/v63-v65&lt;br /&gt;
newfs /dev/concat/v63-v65a&lt;br /&gt;
mount /dev/concat/v63-v65a /mnt/data1/5&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v70&lt;br /&gt;
newfs /dev/gvinum/v70a&lt;br /&gt;
mount /dev/gvinum/v70a /mnt/data1/6&lt;br /&gt;
gconcat label v83-v85 /dev/gvinum/v83 /dev/gvinum/v84 /dev/gvinum/v85&lt;br /&gt;
bsdlabel -r -w /dev/concat/v83-v85&lt;br /&gt;
newfs /dev/concat/v83-v85a&lt;br /&gt;
mount /dev/concat/v83-v85a /mnt/data1/7&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v100&lt;br /&gt;
newfs /dev/gvinum/v100a&lt;br /&gt;
mount /dev/gvinum//v100a /mnt/data1/8&lt;br /&gt;
gconcat label v123-v125 /dev/gvinum/v123 /dev/gvinum/v124 /dev/gvinum/v125&lt;br /&gt;
bsdlabel -r -w /dev/concat/v123-v125&lt;br /&gt;
mount /dev/concat/v123-v125a /mnt/data1/9&lt;br /&gt;
newfs /dev/concat/v123-v125a&lt;br /&gt;
mount /dev/concat/v123-v125a /mnt/data1/9&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v130&lt;br /&gt;
newfs /dev/gvinum/v130a&lt;br /&gt;
mount /dev/gvinum//v130a /mnt/data1/10&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10; do cd /mnt/data1/$f; dump -0a -f - /dev/gvinum/v1| restore -r -f - ; done&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10; do mount_devfs devfs /mnt/data1/$f/dev; devfs -m /mnt/data1/$f/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 15 16 17 18 19 20 21 22 23 24; do ifconfig bce0 alias 10.1.6.$f netmask 255.255.255.255; done&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/1 testhostname1 10.1.6.15 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/2 testhostname2 10.1.6.16 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/3 testhostname3 10.1.6.17 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/4 testhostname4 10.1.6.18 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/5 testhostname5 10.1.6.19 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/6 testhostname6 10.1.6.20 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/7 testhostname7 10.1.6.21 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/8 testhostname8 10.1.6.22 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/9 testhostname9 10.1.6.23 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/10 testhostname10 10.1.6.24 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
systat -vmstat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Stress testing zfs =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;zfs receive pool1/jail2 &amp;lt; /usr/local/jail/template/template&lt;br /&gt;
zfs set mountpoint=/mnt/data1/jail2 pool1/jail2&lt;br /&gt;
zfs set quota=4G pool1/jail2&lt;br /&gt;
zfs destroy pool1/jail2@now&amp;lt;/pre&amp;gt;&lt;br /&gt;
install apps that will run when jail started&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -r /usr/src /mnt/data1/jail2/usr&lt;br /&gt;
rm -fr /mnt/data1/jail2/usr/obj&lt;br /&gt;
&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail2/dev; devfs -m /mnt/data1/jail2/dev rule -s 3 applyset;&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail2 stress-test 69.55.234.86 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
cd /usr/ports/benchmarks/bonnie&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/sysutils/stress&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/lang/perl5.8&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/local/etc/rc.d/&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; boot.sh&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/buildworld &amp;amp;&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/portindex &amp;amp;&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/stress &amp;amp;&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/bonnie &amp;amp;&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; buildworld&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
while (true); do cd /usr/src; make buildworld; done&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; portindex&lt;br /&gt;
while (true); do cd /usr/ports/; make index; done&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; stress&lt;br /&gt;
/usr/local/bin/stress -c 1 -i 1 -m 1 -d 1 --vm-bytes 768M --hdd-bytes 128M&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; bonnie&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
while (true); do /usr/local/bin/bonnie -s 2g; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
chmod +x *&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
zfs snapshot pool1/jail2@now&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do zfs send pool1/jail2@now | zfs receive pool1/jail$f;&lt;br /&gt;
zfs set quota=10G pool1/jail$f; &lt;br /&gt;
zfs set mountpoint=/mnt/data1/jail$f pool1/jail$f;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do zfs send pool1/jail2@now | zfs receive pool2/jail$f&lt;br /&gt;
zfs set quota=10G pool2/jail$f;&lt;br /&gt;
zfs set mountpoint=/mnt/data2/jail$f pool2/jail$f;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101; do chmod 0 /mnt/data1/jail$f/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do chmod 0 /mnt/data1/jail$f/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 115 116 117 118 119 120 121 122 123 125 126 127; do chmod 0 /mnt/data2/jail$f/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 119 120 121 122 123 125 126 127 128 129 130 131; do chmod 0 /mnt/data2/jail$f/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do mount -t devfs devfs /mnt/data1/jail$f/dev; devfs -m /mnt/data1/jail$f/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do mount -t devfs devfs /mnt/data2/jail$f/dev; devfs -m /mnt/data2/jail$f/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do jail /mnt/data1/jail$f testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do jail /mnt/data2/jail$f testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
systat -vmstat&lt;br /&gt;
sysctl vfs.numvnodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do umount /mnt/data1/jail$f/dev; zfs destroy -r pool1/jail$f; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do umount /mnt/data2/jail$f/dev; zfs destroy -r pool2/jail$f; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do touch /mnt/data1/jail$f; &lt;br /&gt;
mdconfig -a -t vnode -s 10g -f /mnt/data1/jail$f -u $f;&lt;br /&gt;
bsdlabel -r -w md$f auto;&lt;br /&gt;
newfs -O 1 /dev/md${f}a;&lt;br /&gt;
mkdir /mnt/data1/jail$f-DIR;&lt;br /&gt;
mount /dev/md${f}a /mnt/data1/jail$f-DIR;&lt;br /&gt;
rsync -aSH /mnt/data2/jail2/ /mnt/data1/jail$f-DIR/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do touch /mnt/data2/jail$f; &lt;br /&gt;
mdconfig -a -t vnode -s 10g -f /mnt/data2/jail$f -u $f;&lt;br /&gt;
bsdlabel -r -w md$f auto;&lt;br /&gt;
newfs -O 1 /dev/md${f}a;&lt;br /&gt;
mkdir /mnt/data2/jail$f-DIR;&lt;br /&gt;
mount /dev/md${f}a /mnt/data2/jail$f-DIR;&lt;br /&gt;
rsync -aSH /mnt/data1/jail86-DIR/ /mnt/data2/jail$f-DIR/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do chmod 0700 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do chmod 0700 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do chmod 0700 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do chmod 0700 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101; do chmod 0 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do chmod 0 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 115 116 117 118 119 120 121 122 123 125 126 127; do chmod 0 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 119 120 121 122 123 125 126 127 128 129 130 131; do chmod 0 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do mount -t devfs devfs /mnt/data1/jail$f-DIR/dev; devfs -m /mnt/data1/jail$f-DIR/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do mount -t devfs devfs /mnt/data2/jail$f-DIR/dev; devfs -m /mnt/data2/jail$f-DIR/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do jail /mnt/data1/jail$f-DIR testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do jail /mnt/data2/jail$f-DIR testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do cp /mnt/data1/boot.sh /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
cp /mnt/data1/stress /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
cp /mnt/data1/bonnie /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do cp /mnt/data1/boot.sh /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/; &lt;br /&gt;
cp /mnt/data1/stress /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
cp /mnt/data1/bonnie /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do umount /mnt/data1/jail$f-DIR/dev; umount /mnt/data1/jail$f-DIR; mdconfig -d -u $f; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do umount /mnt/data2/jail$f-DIR/dev; umount /mnt/data2/jail$f-DIR; mdconfig -d -u $f;  done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do &lt;br /&gt;
mkdir /mnt/data1/jail$f-DIR/;&lt;br /&gt;
cd /mnt/data1/jail$f-DIR/;&lt;br /&gt;
dump -0a -f - /dev/md0a | restore -r -f -;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do mkdir /mnt/data2/jail$f-DIR/;&lt;br /&gt;
cd /mnt/data2/jail$f-DIR/;&lt;br /&gt;
dump -0a -f - /dev/md0a | restore -r -f -;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do chmod 0700 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/*; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do chmod 0700 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/*;  done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--vm-bytes 300M&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Reloading FreeBSD (while preserving customer data) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2. assuming 2 mirrors, boot to disk 1 of 4.11 &lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
(skip partition)&lt;br /&gt;
label&lt;br /&gt;
move cursor to aacd0, hit space (takes you to partition map screen)&lt;br /&gt;
given this as the pre-existing partition map:&lt;br /&gt;
Filesystem    1K-blocks   Used    Avail Capacity  Mounted on&lt;br /&gt;
/dev/aacd0s1a    128990  36888    81784    31%    /&lt;br /&gt;
/dev/aacd0s1h  30499106      4 28059174     0%    /mnt/data1&lt;br /&gt;
/dev/aacd1s1e  69526550      4 63964422     0%    /mnt/data2&lt;br /&gt;
/dev/aacd0s1f    257998     10   237350     0%    /tmp&lt;br /&gt;
/dev/aacd0s1g   3096462 852082  1996664    30%    /usr&lt;br /&gt;
/dev/aacd0s1e    257998   1198   236162     1%    /var&lt;br /&gt;
procfs                4      4        0   100%    /proc&lt;br /&gt;
&lt;br /&gt;
relabel and all mount points according to prev settings&lt;br /&gt;
&lt;br /&gt;
or, delete all partitions except for data parts, re-create as necessary&lt;br /&gt;
&lt;br /&gt;
re-toggle newfs on all mount points except for /mnt/data1 - make sure under the Newfs column the data1 (and data2) partiotions look like: UFS+S Y&lt;br /&gt;
&lt;br /&gt;
make sure under the Newfs column the data1 (and data2) partiotions look like&lt;br /&gt;
UFS+S N&lt;br /&gt;
&lt;br /&gt;
space to unselect aacd0&lt;br /&gt;
cursor over aacd1&lt;br /&gt;
space&lt;br /&gt;
&lt;br /&gt;
Space to select both drives and tab to ok&lt;br /&gt;
&lt;br /&gt;
Continue installation as per normal&lt;br /&gt;
distributions&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
media&lt;br /&gt;
cd&lt;br /&gt;
commit&lt;br /&gt;
yes&lt;br /&gt;
(2450: 16mins, supermicro: 11mins)&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot;&lt;br /&gt;
Set root pwd&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
Set tz&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=yes&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install&lt;br /&gt;
yes&lt;br /&gt;
take the cd out and let the machine reboot&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>76.89.76.68</name></author>
	</entry>
	<entry>
		<id>https://wiki.jcihosting.com/index.php?title=Infrastructure_Machines&amp;diff=1190</id>
		<title>Infrastructure Machines</title>
		<link rel="alternate" type="text/html" href="https://wiki.jcihosting.com/index.php?title=Infrastructure_Machines&amp;diff=1190"/>
		<updated>2013-03-29T15:04:24Z</updated>

		<summary type="html">&lt;p&gt;76.89.76.68: /* Services Provided */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= jails =&lt;br /&gt;
&lt;br /&gt;
== jail1 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-8&lt;br /&gt;
* OS: FreeBSD 6.2 i386&lt;br /&gt;
* Networking: Priv IP: 10.1.4.101 (PCI nic), Pub IP: 69.55.230.107 (onboard)&lt;br /&gt;
* Hardware: Dell 2450. 4 SCSI SCA drive bays (2 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 74 GB (4 x 74GB) RAID1 arrays running on an Adaptec-based, Dell-branded (perc) RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Disk accounting: gvinum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== jail2 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-5&lt;br /&gt;
* OS: FreeBSD 7.2 amd64&lt;br /&gt;
* Networking: Priv IP: 10.1.4.102, Pub IP: 69.55.228.53 (2 onboard nics)&lt;br /&gt;
* Hardware: Dell 2950. 6 SATA/SAS drive bays (3 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 146 GB (2 x 146GB) RAID1 array, two 300 GB (4 x 300GB) RAID1 arrays running on an LSI-based, Dell-branded (PERC 6/i) RAID card.&lt;br /&gt;
* Remote management: [[DRAC/RMM|DRAC]] @ 10.1.4.232 &lt;br /&gt;
* Disk accounting: md&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== jail3 ==&lt;br /&gt;
* Location: i2b, cab 6&lt;br /&gt;
* OS: FreeBSD 8.3 amd64&lt;br /&gt;
* Networking: Priv IP: 10.1.2.103, Pub IP: 69.55.229.7 (2 onboard nics)&lt;br /&gt;
* Hardware: Supermicro (custom build). 6 SATA drive bays (2 columns of 3, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 300 GB (2 x 300GB) RAID1 array running on a 3ware 8006-2LP RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Disk accounting: md&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* must be ssh&#039;d to from nat2&lt;br /&gt;
* is a super jail for customer col01737&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== jail7 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-7&lt;br /&gt;
* OS: FreeBSD 6.3 i386&lt;br /&gt;
* Networking: Priv IP: 10.1.4.107, Pub IP: 69.55.230.108 (2 onboard nics)&lt;br /&gt;
* Hardware: Dell 2950. 6 SATA/SAS drive bays (3 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 146 GB (4 x 146GB) RAID1 arrays, one 74 GB (2 x 74GB) RAID1 array running on an LSI-based, Dell-branded (PERC 6/i) RAID card.&lt;br /&gt;
* Remote management: [[DRAC/RMM|DRAC]] @ 10.1.4.237&lt;br /&gt;
* Disk accounting: gvinum&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
Do not run a verify while OS/jails running, will crash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== jail8 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-6&lt;br /&gt;
* OS: FreeBSD 8.0 amd64&lt;br /&gt;
* Networking: Priv IP: 10.1.4.108, Pub IP: 69.55.234.2 (2 onboard nics)&lt;br /&gt;
* Hardware: Dell 2950. 6 SATA/SAS drive bays (3 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 146 GB (2 x 146GB) RAID1 array, one 300 GB (2 x 300GB) RAID1 array, one 400 GB (2 x 400GB) RAID1 array, running on an LSI-based, Dell-branded (PERC 6/i) RAID card.&lt;br /&gt;
* Remote management: [[DRAC/RMM|DRAC]] @ 10.1.4.238&lt;br /&gt;
* Disk accounting: md&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== jail9 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-6&lt;br /&gt;
* OS: FreeBSD 8.2 amd64&lt;br /&gt;
* Networking: Priv IP: 10.1.4.109, Pub IP: 69.55.232.36 (2 onboard nics)&lt;br /&gt;
* Hardware: Dell 2950. 6 SATA/SAS drive bays (3 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 146 GB (2 x 146GB) RAID1 array, one 400 GB (2 x 300GB) RAID1 array running on an LSI-based, Dell-branded (PERC 5/i) RAID card.&lt;br /&gt;
* Remote management: [[DRAC/RMM|DRAC]] @ 10.1.4.239&lt;br /&gt;
* Disk accounting: md&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== jail11 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-7&lt;br /&gt;
* OS: FreeBSD 4.7 i386&lt;br /&gt;
* Networking: Priv IP: 10.1.4.111 (PCI nic), Pub IP: 69.55.236.92 (onboard)&lt;br /&gt;
* Hardware: Dell 2450. 4 SCSI SCA drive bays (2 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 74 GB (4 x 74GB) RAID1 arrays running on an Adaptec-based, Dell-branded (perc) RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Disk accounting: vinum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== mx1 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-7&lt;br /&gt;
* OS: FreeBSD 4.11 i386&lt;br /&gt;
* Networking: Priv IP: 10.1.4.201 (PCI nic), Pub IP: 69.55.237.3 (onboard)&lt;br /&gt;
* Hardware: Dell 2450. 4 SCSI SCA drive bays (2 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 36 GB (2 x 36GB) RAID1 array, one 74 GB (2 x 74GB) RAID1 array running on an Adaptec-based, Dell-branded (perc) RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Disk accounting: vinum&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* is our (old) backup mail/dns vps service host&lt;br /&gt;
&lt;br /&gt;
== mx2 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-5&lt;br /&gt;
* OS: FreeBSD 7.1 i386&lt;br /&gt;
* Networking: Priv IP: 10.1.4.202 (PCI nic), Pub IP: 69.55.237.90 (onboard)&lt;br /&gt;
* Hardware: Dell 2450. 4 SCSI SCA drive bays (2 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 74 GB (4 x 74GB) RAID1 arrays running on an Adaptec-based, Dell-branded (perc) RAID card.&lt;br /&gt;
* Disk accounting: gvinum&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* is our latest backup mail/dns vps service host&lt;br /&gt;
&lt;br /&gt;
== jail17 ==&lt;br /&gt;
* Location: castle, cab 3-8&lt;br /&gt;
* OS: FreeBSD 4.10 i386&lt;br /&gt;
* Networking: Priv IP: 10.1.4.117 (PCI nic), Pub IP: 69.55.228.2 (onboard nics)&lt;br /&gt;
* Hardware: Supermicro (custom build). 6 SCA SCSI drive bays (2 columns of 3, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 74 GB (4 x 74GB) RAID1 arrays, one 146 GB (2 x 146GB) RAID1 array, running on an Adaptec 2120S  RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Disk accounting: vinum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== jail18 ==&lt;br /&gt;
* Location: castle, cab 3-7&lt;br /&gt;
* OS: FreeBSD 4.10 i386&lt;br /&gt;
* Networking: Priv IP: 10.1.4.117 (PCI nic), Pub IP: 69.55.228.2 (onboard nics)&lt;br /&gt;
* Hardware: Supermicro (custom build). 6 SCA SCSI drive bays (2 columns of 3, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 74 GB (4 x 74GB) RAID1 arrays, one 146 GB (2 x 146GB) RAID1 array, running on an Adaptec 2120S  RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Disk accounting: vinum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== jail19 ==&lt;br /&gt;
* Location: castle, cab 3-6&lt;br /&gt;
* OS: FreeBSD 6.1 i386&lt;br /&gt;
* Networking: Priv IP: 10.1.4.119 (PCI nic), Pub IP: 69.55.228.200 (onboard nics)&lt;br /&gt;
* Hardware: Supermicro (custom build). 6 SCA SCSI drive bays (2 columns of 3, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 74 GB (2 x 74GB) RAID1 array, one 146 GB (2 x 146GB) RAID1 array, running on an Adaptec 2120S  RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Disk accounting: gvinum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= virts =&lt;br /&gt;
&lt;br /&gt;
== quar1 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-8&lt;br /&gt;
* OS: RedHat 7.3 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.151 (PCI nic), Pub IP: 69.55.227.2 (onboard nic)&lt;br /&gt;
* Hardware: Dell 2450. 4 SCSI SCA drive bays (2 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 36 GB (2 x 36GB) RAID1 array, one 74 GB (2 x 74GB) RAID1 array, running on an Adaptec-based, Dell-branded (perc) RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Virtuozzo version: 2.6.1&lt;br /&gt;
* VZ license: hwid=23C0.C0E1.6FDD.08BA.8971.8E1C.EBD5.1EDC serial=0DE6.903E.E239.E23F.470C.4369.4104.A5A4&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* used to be the home of customers who&#039;s VE&#039;s would just run out of control/badly&lt;br /&gt;
* has a max of 10 VE&#039;s allowed to run&lt;br /&gt;
&lt;br /&gt;
== virt9 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-7&lt;br /&gt;
* OS: RedHat 7.3 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.59 (PCI nic), Pub IP: 69.55.226.161 (onboard nic)&lt;br /&gt;
* Hardware: Dell 2450. 4 SCSI SCA drive bays (2 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 74 GB (2 x 74GB) RAID1 arrays running on an Adaptec-based, Dell-branded (perc) RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Virtuozzo version: 2.6.1&lt;br /&gt;
* VZ license: hwid=BC15.B4D6.0D25.A5FE.F3BA.D518.E351.AE3F serial=F6AD.B6B4.5650.8869.C97C.73EE.AF65.FA8B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== virt11 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-6&lt;br /&gt;
* OS: CentOS 5.4 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.61, Pub IP: 69.55.238.3, 2 onboard nics&lt;br /&gt;
* Hardware: Dell 2950. 6 SATA/SAS drive bays (3 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 146 GB (2 x 146GB) RAID1 array, one 400 GB (2 x 400GB) RAID1 array, one 146 GB (2 x 146GB) RAID1 array, running on an LSI-based, Dell-branded (perc 6/i) RAID card.&lt;br /&gt;
* Remote management: [[DRAC/RMM|DRAC]] @ 10.1.4.211&lt;br /&gt;
* Virtuozzo version: 4.0.0&lt;br /&gt;
* VZ license: hwid=&amp;quot;029D.A187.78E1.480F.49E3.E20A.7389.7F79&amp;quot; serial=&amp;quot;163C.F3E2.195F.96B5.2D38.8937.9600.4A05&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== virt12 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-6&lt;br /&gt;
* OS: CentOS 5.2 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.62, Pub IP: 69.55.227.70, 2 onboard nics&lt;br /&gt;
* Hardware: Dell 2950. 6 SATA/SAS drive bays (3 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 300 GB (2 x 300GB) RAID1 arrays one 400 GB (2 x 400GB) RAID1 array, running on an LSI-based, Dell-branded (perc 6/i) RAID card.&lt;br /&gt;
* Remote management: [[DRAC/RMM|DRAC]] @ 10.1.4.212&lt;br /&gt;
* Virtuozzo version: 4.0.0&lt;br /&gt;
* VZ license: hwid=&amp;quot;0C53.A413.E095.B4F4.51BC.D740.6919.A77B&amp;quot; serial=&amp;quot;84E5.9498.3759.E683.E24B.2514.CA72.DC31&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== virt13 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-5&lt;br /&gt;
* OS: CentOS 6.2 x86_64&lt;br /&gt;
* Networking: Priv IP: 10.1.4.63, Pub IP: 69.55.226.2, 2 onboard nics&lt;br /&gt;
* Hardware: Dell 2950. 6 SATA/SAS drive bays (3 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 146 GB (2 x 146GB) RAID1 array, one 600 GB (2 x 600GB) RAID1 array, running on an LSI-based, Dell-branded (perc 6/i) RAID card.&lt;br /&gt;
* Remote management: [[DRAC/RMM|DRAC]] @ 10.1.4.213&lt;br /&gt;
* Virtuozzo version: 4.7.0&lt;br /&gt;
* VZ license: hwid=&amp;quot;7D07.93BE.0B1F.7D2B.B039.4B5B.48B6.453B&amp;quot; serial=&amp;quot;60A4.A94C.44BB.DCD6.8D03.1778.605B.10FE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
* home to our latest/current signups&lt;br /&gt;
* currently the only 64bit vz host&lt;br /&gt;
&lt;br /&gt;
== virt15 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-5&lt;br /&gt;
* OS: RedHat 9 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.65, Pub IP: 69.55.232.160 (2 onboard nics)&lt;br /&gt;
* Hardware: Supermicro (custom build). 6 SCSI SCA drive bays (2 columns of 3, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 74 GB (2 x 74GB) RAID1 array, two 146 GB (2 x 146GB) RAID1 arrays, running on an LSI MegaRAID SCSI 320-1 RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Virtuozzo version: 2.6.2&lt;br /&gt;
* VZ license: hwid=A90F.6F48.E723.D8BA.3025.184A.5B73.D11E serial=E94B.5164.C1E6.A67F.67D1.7D96.0B6C.5524&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== virt16 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-7&lt;br /&gt;
* OS: Fedora Core 4 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.66, Pub IP: 69.55.232.2 (2 onboard nics)&lt;br /&gt;
* Hardware: Supermicro (custom build). 6 SCSI SCA drive bays (2 columns of 3, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 74 GB (2 x 74GB) RAID1 array, one 146 GB (2 x 146GB) RAID1 array, running on an LSI MegaRAID SCSI 320-1 RAID card.&lt;br /&gt;
* Remote management: none&lt;br /&gt;
* Virtuozzo version: 3.0.0&lt;br /&gt;
* VZ license: hwid=DEFA.A325.7230.BBC8.9715.8B52.3FD7.27BE serial=66C0.41EA.3FBB.11D3.9CC6.55C7.09AE.14AB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== virt17 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-6&lt;br /&gt;
* OS: CentOS 4.4 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.67, Pub IP: 69.55.232.162, 2 onboard nics&lt;br /&gt;
* Hardware: Dell 2950. 6 SATA/SAS drive bays (3 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 146 GB (2 x 146GB) RAID1 arrays running on an LSI-based, Dell-branded (perc 5/i) RAID card.&lt;br /&gt;
* Remote management: [[DRAC/RMM|DRAC]] @ 10.1.4.217&lt;br /&gt;
* Virtuozzo version: 3.0.0&lt;br /&gt;
* VZ license: hwid=2E14.AED9.70B8.C26E.D99F.B0D3.BCD2.229C serial=2A11.DAD0.61DB.E889.8DF4.9AF7.CF82.3C37&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== virt19 ==&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-6&lt;br /&gt;
* OS: CentOS 5.2 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.69, Pub IP: 69.55.236.2, 2 onboard nics&lt;br /&gt;
* Hardware: Dell 2950. 6 SATA/SAS drive bays (3 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: one 146 GB (2 x 146GB) RAID1 array, one 300 GB (2 x 300GB) RAID1 array, running on an LSI-based, Dell-branded (perc 5/i) RAID card.&lt;br /&gt;
* Remote management: [[DRAC/RMM|DRAC]] @ 10.1.4.219&lt;br /&gt;
* Virtuozzo version: 3.0.0&lt;br /&gt;
* VZ license: hwid=3968.13F7.B2AC.8952.8E19.13A9.6EF5.5822 serial=061D.84CD.CCE5.B213.15B5.C061.D6A7.B034&lt;br /&gt;
&lt;br /&gt;
= mail =&lt;br /&gt;
== Summary ==&lt;br /&gt;
This machine (mail) is the swiss army knife of the company, playing host to many services and functions. &lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-8&lt;br /&gt;
* OS: FreeBSD 4.10 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.5, Pub IPs: 69.55.230.2, 69.55.225.225 (ns1c jail), 69.55.230.9. 1 onboard and 1 PCI&lt;br /&gt;
* Hardware: Dell 2450. 4 SCSI SCA drive bays (2 columns of 2, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: two 36 GB (2 x 36GB) RAID1 arrays running on an Adaptec-based, Dell-branded (perc) RAID card.&lt;br /&gt;
&lt;br /&gt;
== Services Provided ==&lt;br /&gt;
* mail&lt;br /&gt;
* web&lt;br /&gt;
* mysql&lt;br /&gt;
* bigbrother server/pager&lt;br /&gt;
* snmp&lt;br /&gt;
* named in a jail (ns1c)&lt;br /&gt;
&lt;br /&gt;
== email ==&lt;br /&gt;
This server hosts mail for johncompanies.com (mail.johncompanies.com). Sendmail 8.13.6/8.13.6 is listening on 69.55.230.2 port 25 for incoming mail. Relaying is allowed per /etc/mail/relay-domains&lt;br /&gt;
Other addresses (aliases) are defined per /etc/mail/aliases&lt;br /&gt;
&lt;br /&gt;
The following active users have mail hosted on this server:&lt;br /&gt;
* dave&lt;br /&gt;
* linux&lt;br /&gt;
* support&lt;br /&gt;
* payments&lt;br /&gt;
* sales&lt;br /&gt;
* tech1&lt;br /&gt;
* info&lt;br /&gt;
&lt;br /&gt;
Traditionally, mail is checked via shell apps (pine). qpopper (pop3s) is running to allow mail downloading. Checking mail in this way causes an opened INBOX in pine to lock read-only. For this reason, we tee incoming mail to support and linux to tech1.&lt;br /&gt;
&lt;br /&gt;
Procmail rules are setup to filter spam and send text messages. They are enabled for info, support, linux, tech1, dave and can be found in ~/Procmail/, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;# more ~support/Procmail/rc.emergency&lt;br /&gt;
:0c # use c only if you want to forward a copy and file the original later&lt;br /&gt;
* ^Subject:.*\&amp;lt;emergency\&amp;gt;&lt;br /&gt;
* ! ^Subject:\&amp;lt;re\&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
   :0h&lt;br /&gt;
   FROMANDSUBJECT=|formail -XFrom: -XSubject:&lt;br /&gt;
&lt;br /&gt;
   :0fwh&lt;br /&gt;
   | /usr/local/bin/formail -I&amp;quot;Subject: &amp;quot; -I&amp;quot;To: pager@johncompanies.com&amp;quot; ; echo $FROMANDSUBJECT ; echo&lt;br /&gt;
&lt;br /&gt;
   :0&lt;br /&gt;
  ! -t&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
control: &amp;lt;tt&amp;gt;cd /etc/mail; make stop&amp;lt;/tt&amp;gt; (stop), &amp;lt;tt&amp;gt;cd /etc/mail; make start&amp;lt;/tt&amp;gt; (start)&lt;br /&gt;
&lt;br /&gt;
The following aliases are also in place:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;debian:         linux&lt;br /&gt;
jobs:   info&lt;br /&gt;
careers:        info&lt;br /&gt;
#reboot:         6128102202@txt.att.net&lt;br /&gt;
#reboot:         8582298897@vtext.com&lt;br /&gt;
reboot:         pager&lt;br /&gt;
#pager: 8582298897@vtext.com&lt;br /&gt;
pager:  4158718324@txt.att.net&lt;br /&gt;
tech1on:  &amp;quot;| /usr/local/sbin/tech1on.sh&amp;quot;&lt;br /&gt;
tech1off:  &amp;quot;| /usr/local/sbin/tech1off.sh&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change them, edit &amp;lt;tt&amp;gt;/etc/aliases&amp;lt;/tt&amp;gt; and then run &amp;lt;tt&amp;gt;newaliases&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note on tech1: this address was setup as a read-only address to be mirrored on all email coming into support and linux. We set this up so we could easily check support mail via a pop client- popping email locks out the user in pine so checking support/linux directly via pop was not an option. When checking and responding to email that comes into tech1, care should be taken to make sure it is sent as/under an address other than tech1. This is cause tech1 is not monitored by support staff as closely as email to support/linux. Further, the tech on call may not be checking tech1. Lastly, because of the nature of the copying, you will sometimes notice certain automated email/notices are received 2x in support- this is because of/related to the tech1 mirror.&lt;br /&gt;
&lt;br /&gt;
To enable it (on mail, run):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;~support/tech1on.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To disable&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;~support/tech1off.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or via email:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;tech1on@johncompanies.com&lt;br /&gt;
tech1off@johncompanies.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== web == &lt;br /&gt;
&lt;br /&gt;
See [[Management_System_/_Public_Website_/_Signup|Management System / Public Website / Signup]]&lt;br /&gt;
&lt;br /&gt;
== mysql ==&lt;br /&gt;
mysql 4.1.22 is running on port 3306&lt;br /&gt;
&lt;br /&gt;
* datadir: &amp;lt;tt&amp;gt;/mnt/data1/db/mysql/&amp;lt;/tt&amp;gt;&lt;br /&gt;
* config: &amp;lt;tt&amp;gt;/etc/my.cnf&amp;lt;/tt&amp;gt;&lt;br /&gt;
* database: &amp;lt;tt&amp;gt;jc&amp;lt;/tt&amp;gt;&lt;br /&gt;
* control: &amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server.sh stop&amp;lt;/tt&amp;gt; (stop), &amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server.sh start&amp;lt;/tt&amp;gt; (start)&lt;br /&gt;
&lt;br /&gt;
== bigbrother ==&lt;br /&gt;
There is a client running on mail (which monitors the services running on mail and mail itself), installed under &amp;lt;tt&amp;gt;/usr/home/bb/bbc1.9e-btf&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
And the big brother pager/server (which displays information gathered from all bb-monitored machines, including mail) is installed under &amp;lt;tt&amp;gt;/usr/home/bb/bbsrc/bb1.9i-btf&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both are running under the user &amp;lt;tt&amp;gt;bb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to [[BigBrother]] for more about use.&lt;br /&gt;
&lt;br /&gt;
== DNS (ns1c.johncompanies.com) ==&lt;br /&gt;
ns1c is a jail running on the mail server, who&#039;s IP is 69.55.225.225&lt;br /&gt;
&lt;br /&gt;
It&#039;s running from &amp;lt;tt&amp;gt;/mnt/data1/ns1c-dir&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[DNS]] for more details&lt;br /&gt;
&lt;br /&gt;
== Usage and Notes ==&lt;br /&gt;
* always mounted to backup1 and backup2 via nfs: &lt;br /&gt;
&amp;lt;pre&amp;gt;backup2:/mnt/data1 on /backup (nfs)&lt;br /&gt;
backup2:/mnt/data2 on /backup2 (nfs)&lt;br /&gt;
backup2:/mnt/data3 on /backup3 (nfs)&lt;br /&gt;
backup2:/mnt/data4 on /backup4 (nfs)&lt;br /&gt;
backup1:/data on /backup1 (nfs)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cronjobs ==&lt;br /&gt;
 * * * * * /usr/local/www/mgmt/mrtg/mrtg.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
Gathers up data for our mrtg/load graphs&lt;br /&gt;
&lt;br /&gt;
 */5 * * * * /usr/local/bin/rsync -a root@nat2:/mnt/data1/mrtg/data/ /usr/local/www/mgmt/mrtg/data/&lt;br /&gt;
Gathers up data from i2b servers for our mrtg/load graphs&lt;br /&gt;
&lt;br /&gt;
 40 0 * * * /usr/local/bin/rsync -a root@nat2:&amp;quot;/mnt/data1/mrtg/*.cfg&amp;quot; /usr/local/www/mgmt/mrtg&lt;br /&gt;
Gathers up mrtg configuration (port names) from i2b switches for our mrtg/load graphs&lt;br /&gt;
&lt;br /&gt;
 41 0 * * * for f in `grep -l &amp;quot;mnt\/data1&amp;quot; /usr/local/www/mgmt/mrtg/switch-p*.cfg`; do cat $f | sed s#\/mnt\/data1#\/usr\/local\/www\/mgmt# &amp;gt; $f.new; mv $f.new $f; done&lt;br /&gt;
Gathers up mrtg configuration (port names) from castle switches for our mrtg/load graphs&lt;br /&gt;
&lt;br /&gt;
 1 0 1 * * cp /usr/local/www/mgmt/html/top20ip /usr/local/www/mgmt/html/top20ip_last&lt;br /&gt;
 1 0 1 * * cp /usr/local/www/mgmt/html/top20customers /usr/local/www/mgmt/html/top20customers_last&lt;br /&gt;
 2 * * * * /usr/local/www/cronjobs/top20ip.pl &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 15 * * * * /usr/local/www/cronjobs/top20customer.pl &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 1 0 1 * * rm /usr/local/www/mgmt/html/bandtrack&lt;br /&gt;
Archiving and generation of bandwidth statistics presented in mgmt -&amp;gt; Reference -&amp;gt; Bandwidth&lt;br /&gt;
&lt;br /&gt;
 1 0 * * * /usr/local/etc/rsync.backup&lt;br /&gt;
Nightly backup script&lt;br /&gt;
&lt;br /&gt;
 0 1 * * * /usr/local/www/mgmt/awstats/wwwroot/cgi-bin/awstats.pl -config=jcpub -update&lt;br /&gt;
Public web traffic stats&lt;br /&gt;
&lt;br /&gt;
 15 0 * * * rm /usr/local/www/mgmt/bwgraphs/*.png&lt;br /&gt;
 16 0 * * * rm /usr/local/www/am/bwgraphs/*&lt;br /&gt;
Cleanup for graph-related temp data generated by customers using the bandwidth reports via the AM &lt;br /&gt;
&lt;br /&gt;
 10 0 1 * * /usr/local/www/cronjobs/monthly_bandwidth_report.pl&lt;br /&gt;
Monthly bandwidth overage report&lt;br /&gt;
&lt;br /&gt;
 */3 * * * * /usr/local/www/cronjobs/bbcheck.pl&lt;br /&gt;
Updates mgmt with bb monitoring issues&lt;br /&gt;
&lt;br /&gt;
 5 0 * * * /usr/local/www/cronjobs/shutdownreminder.pl&lt;br /&gt;
Emails customers reminding them of upcoming shutdown date&lt;br /&gt;
&lt;br /&gt;
 7 0 * * * /usr/local/www/cronjobs/invoice_email.pl&lt;br /&gt;
Emails customers who have invoices and are set to auto-email (currently no customer gets these)&lt;br /&gt;
&lt;br /&gt;
 8 */4 * * * /usr/local/www/cronjobs/mysqlrepchk.pl&lt;br /&gt;
Checking that we are properly replicating (mysql) traffic data from bwdb to backup1&lt;br /&gt;
&lt;br /&gt;
 16 0 1 * * /usr/local/www/cronjobs/purge_traffic.pl&lt;br /&gt;
Removed old traffic data from the traffic database (running on backup1)&lt;br /&gt;
&lt;br /&gt;
 */5 * * * * chmod 0700 /usr/local/www/ccard_orders/* &amp;amp;&amp;amp; mv /usr/local/www/ccard_orders/* /usr/local/www/ccard_orders/done&lt;br /&gt;
Secure credit card data: set root-read-only &lt;br /&gt;
&lt;br /&gt;
 25 0 * * * /usr/local/www/cronjobs/biller.pl&lt;br /&gt;
Enters service charges in customer billing ledgers&lt;br /&gt;
&lt;br /&gt;
 10 13 * * * /usr/local/www/cronjobs/pfp_batch_gather.pl&lt;br /&gt;
Looks for customers with balance due and active credit card on file, prepares a payflow batch&lt;br /&gt;
&lt;br /&gt;
 10 14 * * * /usr/local/www/cronjobs/pfp_batch_process.pl&lt;br /&gt;
Tries to collect ccard funds for items in payflow batch - communicates with payflow&lt;br /&gt;
&lt;br /&gt;
 15 13 * * * /usr/local/www/cronjobs/pb_batch_gather.pl&lt;br /&gt;
Looks for customers with balance due and active paypal billing agreement on file, prepares a paypal batch&lt;br /&gt;
&lt;br /&gt;
 15 14 * * * /usr/local/www/cronjobs/pb_batch_process.pl&lt;br /&gt;
Tries to collect paypal funds for items in paypal batch - communicates with paypal&lt;br /&gt;
&lt;br /&gt;
 0 7 * * 1 /usr/local/www/cronjobs/email_pmt_reminder.pl&lt;br /&gt;
Emails customers in arrears, reminding them to pay&lt;br /&gt;
&lt;br /&gt;
 0 0 1 * * /usr/bin/mail -s &#039;archive sent mail in pine&#039; support@johncompanies.com &amp;lt; /dev/null&lt;br /&gt;
Reminds us to archive sent mail&lt;br /&gt;
&lt;br /&gt;
 0 3 * * * /usr/local/bin/rsync -a isys.e-monitoring.net:/var/mail /backup2/isys; /usr/local/bin/rsync -a isys.e-monitoring.net:/usr/home /backup2/isys&lt;br /&gt;
Backup data on isys&lt;br /&gt;
&lt;br /&gt;
== Regular maintenance ==&lt;br /&gt;
*[[Routine_Maintenance#Adaptec_Controllers|Check RAID array]]&lt;br /&gt;
&lt;br /&gt;
= nat =&lt;br /&gt;
== Summary ==&lt;br /&gt;
This is the main machine to which we ssh and runs all our screen sessions. Further, it&#039;s ip runs in a special block which is not routed through the firewall and this is somewhat immune to DoS attacks which hobble our firewall. Lastly, it acts as a nat server for certain/random devices on the private network.&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-7&lt;br /&gt;
* OS: FreeBSD 4.10 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.1, Pub IPs: 69.55.233.195, 69.55.233.196, 69.55.233.197, 69.55.233.198, 69.55.233.199. 1 onboard and 1 PCI&lt;br /&gt;
* Hardware: Custom 1U. single power supply. &lt;br /&gt;
* Drives: one 8 GB IDE drive&lt;br /&gt;
&lt;br /&gt;
== Services Provided ==&lt;br /&gt;
* nat&lt;br /&gt;
&lt;br /&gt;
== nat control ==&lt;br /&gt;
All rules are contained in and look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cat /etc/ipnat.rules&lt;br /&gt;
# www (was 69.55.230.12)&lt;br /&gt;
# virt19&lt;br /&gt;
#bimap fxp0 10.1.4.209/32 -&amp;gt; 69.55.233.198/32&lt;br /&gt;
# virt18&lt;br /&gt;
#bimap fxp0 10.1.4.208/32 -&amp;gt; 69.55.233.196/32&lt;br /&gt;
# virt13&lt;br /&gt;
#bimap fxp0 10.1.4.213/32 -&amp;gt; 69.55.233.196/32&lt;br /&gt;
# virt12&lt;br /&gt;
#bimap fxp0 10.1.4.212/32 -&amp;gt; 69.55.233.196/32&lt;br /&gt;
# virt17&lt;br /&gt;
bimap fxp0 10.1.4.217/32 -&amp;gt; 69.55.233.196/32&lt;br /&gt;
# virt11&lt;br /&gt;
#bimap fxp0 10.1.4.211/32 -&amp;gt; 69.55.233.196/32&lt;br /&gt;
# ASA&lt;br /&gt;
#bimap fxp0 10.1.4.172/32 -&amp;gt; 69.55.233.196/32&lt;br /&gt;
# P1A&lt;br /&gt;
bimap fxp0 10.1.4.240/32 -&amp;gt; 69.55.233.197/32&lt;br /&gt;
#bimap fxp0 10.1.4.238/32 -&amp;gt; 69.55.233.197/32&lt;br /&gt;
# developer (was 69.55.230.17)&lt;br /&gt;
# jail2&lt;br /&gt;
#bimap fxp0 10.1.4.232/32 -&amp;gt; 69.55.233.198/32&lt;br /&gt;
# jail8&lt;br /&gt;
#bimap fxp0 10.1.4.238/32 -&amp;gt; 69.55.233.198/32&lt;br /&gt;
# jail9&lt;br /&gt;
#bimap fxp0 10.1.4.239/32 -&amp;gt; 69.55.233.198/32&lt;br /&gt;
# POLL&lt;br /&gt;
#BIMAP EM0 10.1.6.134/32 -&amp;gt; 69.55.230.20/32&lt;br /&gt;
# 1U SUN&lt;br /&gt;
#BIMAP EM0 10.1.4.4/32 -&amp;gt; 69.55.227.46/32&lt;br /&gt;
# ??&lt;br /&gt;
#BIMAP EM0 10.1.6.3/32 -&amp;gt; 69.55.230.100/32&lt;br /&gt;
# random machine&lt;br /&gt;
#bimap fxp0 10.1.6.13/32 -&amp;gt; 69.55.233.199/32&lt;br /&gt;
#bimap fxp0 10.1.4.232/32 -&amp;gt; 69.55.233.199/32&lt;br /&gt;
# OFFICE OUTBOUND TRAFFIC&lt;br /&gt;
#map fxp0 10.1.6.0/24 -&amp;gt; 0.0.0.0/32 proxy port ftp ftp/tcp&lt;br /&gt;
#map fxp0 10.1.6.0/24 -&amp;gt; 0.0.0.0/32&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A simple entry looks like:&lt;br /&gt;
 bimap fxp0 10.1.4.240/32 -&amp;gt; 69.55.233.197/32&lt;br /&gt;
Which essentially means make private IP 10.1.4.240 reachable on 69.55.233.197 and allow 10.1.4.240 to communicate with the public internet via 69.55.233.197&lt;br /&gt;
&lt;br /&gt;
To reload new rule config:&lt;br /&gt;
 ipnat -C -F -f /etc/ipnat.rules&lt;br /&gt;
&lt;br /&gt;
You may want to setup natting, as above, when you need to reach a DRAC card&#039;s web interface, wherin the DRAC card only has a private IP.&lt;br /&gt;
&lt;br /&gt;
= nat2 =&lt;br /&gt;
== Summary ==&lt;br /&gt;
This is the main machine to which we ssh and runs all our screen sessions at i2b, and runs ns3c (this is kind of the what mail is to castle). Further, it&#039;s ip runs in IP space provided by i2b: 66.181.18.1 - 66.181.18.30, which is not routed through the firewall and this is somewhat immune to DoS attacks which hobble our firewall. Lastly, it acts as a nat server for certain/random devices on the private network.&lt;br /&gt;
&lt;br /&gt;
* Location: i2b, cab 6&lt;br /&gt;
* OS: FreeBSD 6.4 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.2.1, Pub IPs: 69.55.229.2, 69.55.229.3, 66.181.18.4, 66.181.18.5, 66.181.18.6, 66.181.18.7, 66.181.18.8, 66.181.18.9, 66.181.18.10, 66.181.18.11, 66.181.18.12, 66.181.18.13, 66.181.18.14 1 onboard and 1 PCI&lt;br /&gt;
* Hardware: Custom 2U. 6 drive bays, non-hot-swappable. single power supply. &lt;br /&gt;
* Drives: one 150 GB (2 x 150GB) RAID1 array running on a 3ware 8006 RAID card.&lt;br /&gt;
&lt;br /&gt;
== Services Provided ==&lt;br /&gt;
* nat&lt;br /&gt;
* bigbrother&lt;br /&gt;
* ns3c (jail)&lt;br /&gt;
* ntp&lt;br /&gt;
&lt;br /&gt;
== nat config ==&lt;br /&gt;
Here&#039;s what&#039;s currently nat&#039;d on nat2:&lt;br /&gt;
&amp;lt;pre&amp;gt;cat /etc/ipnat.rules&lt;br /&gt;
# sample entry&lt;br /&gt;
#ATS-9&lt;br /&gt;
bimap em0 10.1.2.79/32 -&amp;gt; 66.181.18.14/32&lt;br /&gt;
#ATS-8&lt;br /&gt;
bimap em0 10.1.2.78/32 -&amp;gt; 66.181.18.13/32&lt;br /&gt;
#ATS-7&lt;br /&gt;
bimap em0 10.1.2.77/32 -&amp;gt; 66.181.18.12/32&lt;br /&gt;
#ATS-6&lt;br /&gt;
bimap em0 10.1.2.76/32 -&amp;gt; 66.181.18.6/32&lt;br /&gt;
#ATS-5&lt;br /&gt;
bimap em0 10.1.2.75/32 -&amp;gt; 66.181.18.7/32&lt;br /&gt;
#ATS-4&lt;br /&gt;
bimap em0 10.1.2.74/32 -&amp;gt; 66.181.18.8/32&lt;br /&gt;
#ATS-3&lt;br /&gt;
bimap em0 10.1.2.73/32 -&amp;gt; 66.181.18.9/32&lt;br /&gt;
#ATS-2&lt;br /&gt;
bimap em0 10.1.2.72/32 -&amp;gt; 66.181.18.10/32&lt;br /&gt;
#ATS-1&lt;br /&gt;
bimap em0 10.1.2.71/32 -&amp;gt; 66.181.18.11/32&lt;br /&gt;
#bwdb2&lt;br /&gt;
bimap em0 10.1.2.4/32 -&amp;gt; 66.181.18.5/32&lt;br /&gt;
&lt;br /&gt;
# spare&lt;br /&gt;
&lt;br /&gt;
map em0 10.1.2.0/24 -&amp;gt; 0.0.0.0/32 proxy port ftp ftp/tcp&lt;br /&gt;
&lt;br /&gt;
#bimap fxp0 10.1.6.49/32 -&amp;gt; 10.1.1.2/32&lt;br /&gt;
#bimap fxp0 10.1.4.208/32 -&amp;gt; 69.55.233.196/32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== build ==&lt;br /&gt;
&lt;br /&gt;
* partition map:&lt;br /&gt;
&amp;lt;pre&amp;gt;/ 512m&lt;br /&gt;
swap 1G&lt;br /&gt;
/var 256m&lt;br /&gt;
/tmp 256m&lt;br /&gt;
/usr 5g&lt;br /&gt;
/mnt/data1 ~&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* edit /etc/make.conf &lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=nat2 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
# Serial terminals&lt;br /&gt;
# The &#039;dialup&#039; keyword identifies dialin lines to login, fingerd etc.&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;   vt100   on  secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
 vi /etc/remote&lt;br /&gt;
(rename port to jail8 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* populate hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;69.55.230.10 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;69.55.230.11 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.2.4 bwdb2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.2.3 backup3&amp;quot; &amp;gt;&amp;gt; /etc/hosts&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* put key in authorized_keys on backup3&lt;br /&gt;
&amp;lt;pre&amp;gt;cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024&amp;lt;/pre&amp;gt; &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cat /root/.ssh/id_dsa.pub | ssh backup3 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup3 and backup 2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
 ssh backup3 hostname&lt;br /&gt;
&lt;br /&gt;
 ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
 ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* edit root&#039;s path and login script:&lt;br /&gt;
 vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
&amp;lt;pre&amp;gt;alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
 set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
* install cvsup&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* get latest sources for this release:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_4\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* configure new kernel. &lt;br /&gt;
&lt;br /&gt;
 cd /usr/src/sys/i386/conf &lt;br /&gt;
 scp backup2:/mnt/data4/build/freebsd/nat2-6.4 ./nat2&lt;br /&gt;
&lt;br /&gt;
* build, install kernel and world&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /boot&lt;br /&gt;
&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;buildworld done&#039; support@johncompanies.com &amp;lt; /dev/null&lt;br /&gt;
make installworld &lt;br /&gt;
mergemaster -i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
hostname=&amp;quot;nat2.johncompanies.com&amp;quot;&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
xntpd_flags=&amp;quot;-A -p /var/run/ntpd.pid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
ifconfig_em0=&amp;quot;inet 10.1.6.50 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em0=&amp;quot;inet 69.55.229.2 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em0_alias0=&amp;quot;inet 69.55.229.229 netmask 255.255.255.255&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.229.2 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0_alias0=&amp;quot;inet 69.55.229.3 netmask 255.255.255.255&amp;quot;&lt;br /&gt;
ifconfig_fxp1=&amp;quot;inet 10.1.2.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;10.1.6.1&amp;quot;&lt;br /&gt;
#defaultrouter=&amp;quot; 66.181.14.250&amp;quot;&lt;br /&gt;
snmpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
ipnat_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
ipnat_rules=&amp;quot;/etc/ipnat.rules&amp;quot;&lt;br /&gt;
gateway_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.2.1&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
 uname -a&lt;br /&gt;
&lt;br /&gt;
* update ports:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_4\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/local/sbin&lt;br /&gt;
fetch http://3ware.com/download/Escalade9690SA-Series/9.5.3/tw_cli-freebsd-x86-9.5.3.tgz&lt;br /&gt;
tar xzf tw_cli-freebsd-x86-9.5.3.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86-9.5.3.tgz&lt;br /&gt;
chmod 0700 tw_cli&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
 ./tw_cli info c0&lt;br /&gt;
&lt;br /&gt;
* install rsync from ports&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&amp;lt;/pre&amp;gt;&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
* install perl from ports&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/lang/perl5.8&lt;br /&gt;
make install clean&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* install screen from ports&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/sysutils/screen&lt;br /&gt;
make install clean&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* install bb client&lt;br /&gt;
&amp;lt;pre&amp;gt;adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&amp;lt;/pre&amp;gt;&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;69.55.230.2 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.2.1 nat2.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;nat2,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/bb/bbc1.9e-btf/bin/bb-cpu.sh&lt;br /&gt;
        $1 $TOPARGS &amp;gt; $BBTMP/TOP.$$&lt;br /&gt;
#        /usr/local/jail/bin/jtop &amp;gt; $BBTMP/TOP.$$&lt;br /&gt;
&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Punch a hole in the firewall to allow it to communicate with bb monitor (probably already exists):&lt;br /&gt;
&lt;br /&gt;
 ipfw add 96 allow ip from 66.181.18.0/27 to 69.55.230.2&lt;br /&gt;
&lt;br /&gt;
* configure bb on mail:&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
64.163.14.48 nat2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* configure ntp&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;server 69.55.230.2&lt;br /&gt;
server 0.pool.ntp.org&lt;br /&gt;
server 1.pool.ntp.org&lt;br /&gt;
server 2.pool.ntp.org&lt;br /&gt;
server 3.pool.ntp.org&lt;br /&gt;
server 66.187.233.4&lt;br /&gt;
server 217.204.76.170&lt;br /&gt;
server 64.112.189.11&lt;br /&gt;
server 66.69.112.130&lt;br /&gt;
server 80.85.129.25&lt;br /&gt;
server 80.237.234.15&lt;br /&gt;
server 130.60.7.44&lt;br /&gt;
server 134.99.176.3&lt;br /&gt;
server 198.144.202.250&lt;br /&gt;
server 202.74.170.194&lt;br /&gt;
server 204.17.42.199&lt;br /&gt;
server 204.87.183.6&lt;br /&gt;
server 213.15.3.1&lt;br /&gt;
server 213.239.178.33&lt;br /&gt;
server 217.114.97.97&lt;br /&gt;
server 69.55.230.2&amp;quot; &amp;gt; /etc/ntp.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/sbin/ntpd -A -p /var/run/ntpd.pid &lt;br /&gt;
sleep 2; ntpq -p&amp;lt;/pre&amp;gt;&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
 echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
 chmod 0700 /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
&lt;br /&gt;
* fwd and reverse lookups on ns1c&lt;br /&gt;
 vr johncompanies.com&lt;br /&gt;
 (edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
* setup backups, nfs mount&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /backup3&lt;br /&gt;
echo &#039;backup3:/data           /backup3        nfs     rw,bg           0       0&#039; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/nat2/current\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc &#039; &amp;gt; /usr/local/etc/backup.config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on backup3:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
 ssh backup3 mkdir -p /data/nat2/current&lt;br /&gt;
&lt;br /&gt;
on backup3, add the system to &lt;br /&gt;
 vi /usr/local/sbin/snapshot_archive&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;scp 69.55.230.2:/usr/local/etc/rsync.backup /usr/local/etc/rsync.backup &lt;br /&gt;
vi /usr/local/etc/rsync.backup &lt;br /&gt;
backup1 &amp;gt; backup3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 1 0 * * * /usr/local/etc/rsync.backup&lt;br /&gt;
&lt;br /&gt;
* edit sshd_config for security&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 66.181.18.1&lt;br /&gt;
ListenAddress 69.55.229.2&lt;br /&gt;
ListenAddress 10.1.2.1&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* raid chk&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cat &amp;gt; /usr/local/sbin/lsiraidchk&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
my @out = split &amp;quot;\n&amp;quot;, `megarc -ldInfo -a0 -Lall|grep Status:`;&lt;br /&gt;
&lt;br /&gt;
foreach (@out) {&lt;br /&gt;
    if ($_ =~ /DEGRADED/) { $date = `date`; chomp $date; `echo &amp;quot;$date: RAID ARRAY DEGRADED&amp;quot; &amp;gt;&amp;gt; /var/log/messages`; }&lt;br /&gt;
#print $_;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* netflow stuff&lt;br /&gt;
add crontab entries&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
30 3 * * * /usr/local/etc/rsync.backup&lt;br /&gt;
0 0 1 * * /sbin/ipfw zero&lt;br /&gt;
0 0 1 * * /sbin/ipfw del 3 4 5&lt;br /&gt;
59 23 30 * * /sbin/ipfw show &amp;gt; /tmp/ipfw_count&lt;br /&gt;
3 0 30 * * /sbin/ipfw show &amp;gt; /tmp/ipfw_count&lt;br /&gt;
0 3 * * * /etc/makefwrules.pl; /etc/makepiperules.pl; &lt;br /&gt;
*/5 * * * * /usr/local/sbin/lsiraidchk&lt;br /&gt;
&lt;br /&gt;
#10 0 * * * rm /var/spool/clientmqueue/*&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;scp /etc/makefwrules.pl user@64.163.14.48:~&lt;br /&gt;
scp /etc/makepiperules.pl user@64.163.14.48:~&lt;br /&gt;
mv /home/user/makefwrules.pl /etc&lt;br /&gt;
mv /home/user/makepiperules.pl /etc&lt;br /&gt;
touch /etc/firewall.sh&lt;br /&gt;
mkdir /etc/oldrules/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
other binaries&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;pre&amp;gt;scp /usr/local/bin/rulemaker user@64.163.14.48:~&lt;br /&gt;
mv ~user/rulemaker /usr/local/sbin&lt;br /&gt;
scp ~user/Sendmail.pm user@64.163.14.48:~&lt;br /&gt;
scp ~user/doswatch.pl user@64.163.14.48:~&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add nat rules&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/ipnat.rules&lt;br /&gt;
# sample entry&lt;br /&gt;
bimap fxp0 10.1.6.70/32 -&amp;gt; 10.1.6.59/32&lt;br /&gt;
#bimap fxp0 10.1.4.208/32 -&amp;gt; 69.55.233.196/32&lt;br /&gt;
&lt;br /&gt;
ipnat -C -f /etc/ipnat.rules&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* shell for user&lt;br /&gt;
&amp;lt;pre&amp;gt;cp /root/.cshrc ~user/&lt;br /&gt;
vi ~user/&amp;lt;/pre&amp;gt;&lt;br /&gt;
change # to $&lt;br /&gt;
&lt;br /&gt;
* mrtg&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/net-mgmt/mrtg&lt;br /&gt;
make install clean&amp;lt;/pre&amp;gt;&lt;br /&gt;
(no FONTCONFIG, v3)&lt;br /&gt;
&lt;br /&gt;
this didn&#039;t work cause of libtool incompat&lt;br /&gt;
&lt;br /&gt;
so manually moved files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;scp /usr/local/bin/cfgmaker user@nat2:/usr/local/bin/cfgmaker&lt;br /&gt;
scp /usr/local/lib/perl5/site_perl/5.6.1/MRTG_lib.pm root@nat2:/usr/local/lib/perl5/site_perl/5.8.9/&lt;br /&gt;
scp /usr/local/lib/perl5/site_perl/5.6.1/SNMP_util.pm root@nat2:/usr/local/lib/perl5/site_perl/5.8.9/&lt;br /&gt;
scp /usr/local/lib/perl5/site_perl/5.6.1/BER.pm root@nat2:/usr/local/lib/perl5/site_perl/5.8.9/&lt;br /&gt;
scp /usr/local/lib/perl5/site_perl/5.6.1/SNMP_Session.pm root@nat2:/usr/local/lib/perl5/site_perl/5.8.9/&lt;br /&gt;
scp /usr/local/bin/mrtg root@nat2:/usr/local/bin/mrtg&lt;br /&gt;
scp /usr/local/lib/perl5/site_perl/5.6.1/locales_mrtg.pm root@nat2:/usr/local/lib/perl5/site_perl/5.8.9/locales_mrtg.pm&lt;br /&gt;
scp /usr/local/bin/rrdtool root@nat2:/usr/local/bin/rrdtool&lt;br /&gt;
scp /usr/local/lib/perl5/site_perl/5.6.1/mach/RRDs.pm root@nat2:/usr/local/lib/perl5/site_perl/5.8.9/mach/RRDs.pm&lt;br /&gt;
rsync -av /usr/local/lib/perl5/site_perl/5.6.1/mach/auto/RRDs/ root@nat2:/usr/local/lib/perl5/site_perl/5.8.9/mach/auto/RRDs/&lt;br /&gt;
scp /usr/lib/libz.so.2 root@nat2:/usr/lib/libz.so.2&lt;br /&gt;
scp /usr/lib/libm.so.2 root@nat2:/usr/lib/libm.so.2&lt;br /&gt;
rsync -av /usr/local/lib/librrd* root@nat2:/usr/local/lib/&lt;br /&gt;
scp /usr/lib/libc.so.4 root@nat2:/usr/lib/libc.so.4&lt;br /&gt;
&lt;br /&gt;
rsync -av /usr/ports/net/rrdtool root@nat2:/usr/ports/net&lt;br /&gt;
cd /usr/ports/net/rrdtool&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
mkdir -p /mnt/data1/mrtg/data&lt;br /&gt;
scp /usr/local/www/mgmt/mrtg/template.pl root@nat2:/mnt/data1/mrtg/&lt;br /&gt;
scp /usr/local/www/mgmt/mrtg/host.pl root@nat2:/mnt/data1/mrtg/&lt;br /&gt;
&lt;br /&gt;
cfgmaker --if-template=template.pl --show-op-down --global &amp;quot;options[_]: growright,bits&amp;quot; --global &#039;WorkDir: /mnt/data1/mrtg/data&#039; --global &#039;Interval: 1&#039; --global &#039;LogFormat: rrdtool&#039; --global &#039;PathAdd: /usr/local/bin&#039; --global &#039;LibAdd: /usr/local/lib&#039; --host-template=host.pl jc292401@10.1.2.50 --output=switch-p20.cfg&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /mnt/data1/mrtg/mrtg.sh&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
/usr/local/bin/mrtg /mnt/data1/mrtg/switch-p20.cfg&lt;br /&gt;
&lt;br /&gt;
chmod 0700 /mnt/data1/mrtg/mrtg.sh&lt;br /&gt;
&lt;br /&gt;
crontab -e&lt;br /&gt;
* * * * * /mnt/data1/mrtg/mrtg.sh 2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* snmp firewall block&lt;br /&gt;
&amp;lt;pre&amp;gt;cat &amp;gt; /usr/local/etc/rc.d/boot.sh&lt;br /&gt;
ipfw add 10 allow udp from 69.55.230.2 to any 161&lt;br /&gt;
ipfw add 10 allow udp from 10.1.2.1 to any 161&lt;br /&gt;
ipfw add 11 deny udp from any to any 161&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/boot.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= bwdb =&lt;br /&gt;
== Summary ==&lt;br /&gt;
This machine tracks and stores network traffic (netflow) at castle. It is our means to monitor customer bandwidth usage.&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-7&lt;br /&gt;
* OS: FreeBSD 4.10 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.203 There are 2 onboard nic&#039;s, one of which is the &amp;quot;listener&amp;quot;&lt;br /&gt;
* Hardware: Custom 1U. Single power supply. &lt;br /&gt;
* Drives: one 250 GB (2 x 250GB) RAID1 array running on a Promise IDE RAID card.&lt;br /&gt;
&lt;br /&gt;
== Services Provided ==&lt;br /&gt;
* netflow&lt;br /&gt;
* mysql&lt;br /&gt;
* bigbrother &lt;br /&gt;
* snmp&lt;br /&gt;
&lt;br /&gt;
== netflow ==&lt;br /&gt;
&lt;br /&gt;
The main function of this server is to run netflow on an eth device in promiscuous mode so as to hear everything happening on the port (wherein all network traffic is mirrored to that port via the cisco swith). Every 15min, it creates a flow file under &amp;lt;tt&amp;gt;/usr/home/flows/&amp;lt;/tt&amp;gt; (organized by date). The flow file contains all traffic data for a 15min increment of time.&lt;br /&gt;
&lt;br /&gt;
A cronjob moves that flow file (or files if there are multiple due to some delay) &lt;br /&gt;
 1,16,31,46 * * * * /usr/home/flowbin/queue.pl&lt;br /&gt;
&lt;br /&gt;
into a processing queue:&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/home/working&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then a separate file processes whatever flow files it finds there, inserting the data into the local mysql database:&lt;br /&gt;
 2,17,32,47 * * * * /usr/home/flowbin/processflows.pl&lt;br /&gt;
&lt;br /&gt;
== mysql ==&lt;br /&gt;
&lt;br /&gt;
The database storing all the traffic data is named &amp;lt;tt&amp;gt;traffic&amp;lt;/tt&amp;gt;&lt;br /&gt;
Tables:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; show tables;&lt;br /&gt;
+---------------------------+&lt;br /&gt;
| Tables_in_traffic         |&lt;br /&gt;
+---------------------------+&lt;br /&gt;
| dailyIpTotals_69_55_224   |&lt;br /&gt;
| dailyIpTotals_69_55_225   |&lt;br /&gt;
| dailyIpTotals_69_55_226   |&lt;br /&gt;
| dailyIpTotals_69_55_227   |&lt;br /&gt;
| dailyIpTotals_69_55_228   |&lt;br /&gt;
| dailyIpTotals_69_55_229   |&lt;br /&gt;
| dailyIpTotals_69_55_230   |&lt;br /&gt;
| dailyIpTotals_69_55_231   |&lt;br /&gt;
| dailyIpTotals_69_55_232   |&lt;br /&gt;
| dailyIpTotals_69_55_233   |&lt;br /&gt;
| dailyIpTotals_69_55_234   |&lt;br /&gt;
| dailyIpTotals_69_55_235   |&lt;br /&gt;
| dailyIpTotals_69_55_236   |&lt;br /&gt;
| dailyIpTotals_69_55_237   |&lt;br /&gt;
| dailyIpTotals_69_55_238   |&lt;br /&gt;
| dailyIpTotals_69_55_239   |&lt;br /&gt;
| dailyPortTotals_69_55_224 |&lt;br /&gt;
| dailyPortTotals_69_55_225 |&lt;br /&gt;
| dailyPortTotals_69_55_226 |&lt;br /&gt;
| dailyPortTotals_69_55_227 |&lt;br /&gt;
| dailyPortTotals_69_55_228 |&lt;br /&gt;
| dailyPortTotals_69_55_229 |&lt;br /&gt;
| dailyPortTotals_69_55_230 |&lt;br /&gt;
| dailyPortTotals_69_55_231 |&lt;br /&gt;
| dailyPortTotals_69_55_232 |&lt;br /&gt;
| dailyPortTotals_69_55_233 |&lt;br /&gt;
| dailyPortTotals_69_55_234 |&lt;br /&gt;
| dailyPortTotals_69_55_235 |&lt;br /&gt;
| dailyPortTotals_69_55_236 |&lt;br /&gt;
| dailyPortTotals_69_55_237 |&lt;br /&gt;
| dailyPortTotals_69_55_238 |&lt;br /&gt;
| dailyPortTotals_69_55_239 |&lt;br /&gt;
| ipTotals_69_55_224        |&lt;br /&gt;
| ipTotals_69_55_225        |&lt;br /&gt;
| ipTotals_69_55_226        |&lt;br /&gt;
| ipTotals_69_55_227        |&lt;br /&gt;
| ipTotals_69_55_228        |&lt;br /&gt;
| ipTotals_69_55_229        |&lt;br /&gt;
| ipTotals_69_55_230        |&lt;br /&gt;
| ipTotals_69_55_231        |&lt;br /&gt;
| ipTotals_69_55_232        |&lt;br /&gt;
| ipTotals_69_55_233        |&lt;br /&gt;
| ipTotals_69_55_234        |&lt;br /&gt;
| ipTotals_69_55_235        |&lt;br /&gt;
| ipTotals_69_55_236        |&lt;br /&gt;
| ipTotals_69_55_237        |&lt;br /&gt;
| ipTotals_69_55_238        |&lt;br /&gt;
| ipTotals_69_55_239        |&lt;br /&gt;
| portTotals_69_55_224      |&lt;br /&gt;
| portTotals_69_55_225      |&lt;br /&gt;
| portTotals_69_55_226      |&lt;br /&gt;
| portTotals_69_55_227      |&lt;br /&gt;
| portTotals_69_55_228      |&lt;br /&gt;
| portTotals_69_55_229      |&lt;br /&gt;
| portTotals_69_55_230      |&lt;br /&gt;
| portTotals_69_55_231      |&lt;br /&gt;
| portTotals_69_55_232      |&lt;br /&gt;
| portTotals_69_55_233      |&lt;br /&gt;
| portTotals_69_55_234      |&lt;br /&gt;
| portTotals_69_55_235      |&lt;br /&gt;
| portTotals_69_55_236      |&lt;br /&gt;
| portTotals_69_55_237      |&lt;br /&gt;
| portTotals_69_55_238      |&lt;br /&gt;
| portTotals_69_55_239      |&lt;br /&gt;
+---------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So as you see we store each class-C block in its own table, for efficiency. Further, we store and organize data in 4 ways: &amp;quot;daily&amp;quot; tables and 15-minute granularity tables, and for each of those we track simple IP traffic and port-specific traffic. The daily tables contains 2 entries (one for each direction) for each IP for each day. For the current day, the row data is incremented as the day goes on. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; describe dailyIpTotals_69_55_224;&lt;br /&gt;
+-----------+-------------+------+-----+---------+-------+&lt;br /&gt;
| Field     | Type        | Null | Key | Default | Extra |&lt;br /&gt;
+-----------+-------------+------+-----+---------+-------+&lt;br /&gt;
| id        | varchar(23) |      | PRI |         |       |&lt;br /&gt;
| date      | date        | YES  |     | NULL    |       |&lt;br /&gt;
| ip        | varchar(15) | YES  | MUL | NULL    |       |&lt;br /&gt;
| direction | tinyint(1)  | YES  |     | NULL    |       |&lt;br /&gt;
| octets    | bigint(12)  | YES  |     | NULL    |       |&lt;br /&gt;
| packets   | int(11)     | YES  |     | NULL    |       |&lt;br /&gt;
+-----------+-------------+------+-----+---------+-------+&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; select * from dailyIpTotals_69_55_224 limit 1\G&lt;br /&gt;
*************************** 1. row ***************************&lt;br /&gt;
       id: 6955224194-20100917-1&lt;br /&gt;
     date: 2010-09-17&lt;br /&gt;
       ip: 69.55.224.194&lt;br /&gt;
direction: 1&lt;br /&gt;
   octets: 8821&lt;br /&gt;
  packets: 91&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt; is a unique identifier (key), &amp;lt;tt&amp;gt;direction&amp;lt;/tt&amp;gt; indicates incoming or outgoing traffic (outbound = 2, inbound = 1), &amp;lt;tt&amp;gt;octets&amp;lt;/tt&amp;gt; are the amount of traffic in kilobytes, and &amp;lt;tt&amp;gt;packets&amp;lt;/tt&amp;gt; is the total number of packets.&lt;br /&gt;
&lt;br /&gt;
The 15-minute table has similar information, but it&#039;s organized in 15 minute increments:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; describe ipTotals_69_55_224;&lt;br /&gt;
+-----------+------------+------+-----+---------+-------+&lt;br /&gt;
| Field     | Type       | Null | Key | Default | Extra |&lt;br /&gt;
+-----------+------------+------+-----+---------+-------+&lt;br /&gt;
| date      | datetime   | YES  |     | NULL    |       |&lt;br /&gt;
| ip        | char(15)   | YES  | MUL | NULL    |       |&lt;br /&gt;
| direction | tinyint(1) | YES  |     | NULL    |       |&lt;br /&gt;
| octets    | bigint(20) | YES  |     | NULL    |       |&lt;br /&gt;
| packets   | int(11)    | YES  |     | NULL    |       |&lt;br /&gt;
+-----------+------------+------+-----+---------+-------+&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; select * from ipTotals_69_55_224 limit 2\G&lt;br /&gt;
*************************** 1. row ***************************&lt;br /&gt;
     date: 2010-01-11 19:30:00&lt;br /&gt;
       ip: 69.55.224.13&lt;br /&gt;
direction: 1&lt;br /&gt;
   octets: 288&lt;br /&gt;
  packets: 6&lt;br /&gt;
*************************** 2. row ***************************&lt;br /&gt;
     date: 2010-01-11 19:30:00&lt;br /&gt;
       ip: 69.55.224.12&lt;br /&gt;
direction: 1&lt;br /&gt;
   octets: 216&lt;br /&gt;
  packets: 4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for a given IP, there will be 192 rows in a given day: 4 rows per hour, *2 for 2 directions, *24 for 24hours in a day. Obviously this table is large which is why we broke it down into a daily table for quick, easy, daily-summary access.&lt;br /&gt;
&lt;br /&gt;
That covers the simple traffic tabulation tables. We also track traffic by port:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; describe dailyPortTotals_69_55_224;&lt;br /&gt;
+-----------+-------------+------+-----+---------+-------+&lt;br /&gt;
| Field     | Type        | Null | Key | Default | Extra |&lt;br /&gt;
+-----------+-------------+------+-----+---------+-------+&lt;br /&gt;
| id        | varchar(28) |      | PRI |         |       |&lt;br /&gt;
| date      | date        | YES  |     | NULL    |       |&lt;br /&gt;
| ip        | varchar(15) | YES  | MUL | NULL    |       |&lt;br /&gt;
| direction | tinyint(1)  | YES  |     | NULL    |       |&lt;br /&gt;
| protocol  | smallint(3) | YES  |     | NULL    |       |&lt;br /&gt;
| port      | int(11)     | YES  |     | NULL    |       |&lt;br /&gt;
| octets    | bigint(11)  | YES  |     | NULL    |       |&lt;br /&gt;
| packets   | int(11)     | YES  |     | NULL    |       |&lt;br /&gt;
+-----------+-------------+------+-----+---------+-------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; select * from dailyPortTotals_69_55_224 limit 1\G&lt;br /&gt;
*************************** 1. row ***************************&lt;br /&gt;
       id: 695522496-20091218-1-6-23&lt;br /&gt;
     date: 2009-12-18&lt;br /&gt;
       ip: 69.55.224.96&lt;br /&gt;
direction: 1&lt;br /&gt;
 protocol: 6&lt;br /&gt;
     port: 23&lt;br /&gt;
   octets: 1796&lt;br /&gt;
  packets: 30&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; select * from portTotals_69_55_224 limit 1\G&lt;br /&gt;
*************************** 1. row ***************************&lt;br /&gt;
     date: 2010-09-07 18:45:00&lt;br /&gt;
       ip: 69.55.224.254&lt;br /&gt;
direction: 1&lt;br /&gt;
 protocol: 6&lt;br /&gt;
     port: 99999&lt;br /&gt;
   octets: 144&lt;br /&gt;
  packets: 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is largely the same with 2 more additions: &amp;lt;tt&amp;gt;protocol&amp;lt;/tt&amp;gt; (1=ICMP, 6=TCP, 17=UDP), and &amp;lt;tt&amp;gt;port&amp;lt;/tt&amp;gt; which we set to 99999 if the traffic is return traffic and the port is above 1024. Obviously the potential for number of rows grows quickly when you consider the addition of port and protocol tracking per IP.&lt;br /&gt;
&lt;br /&gt;
== Regular maintenance ==&lt;br /&gt;
*[[Routine_Maintenance#Adaptec_Controllers|Check RAID array]]&lt;br /&gt;
* archive data from database&lt;br /&gt;
 archive_daily.pl 2012 09&lt;br /&gt;
This will archive data for the given year and month from the daily summary tables. Generally we want to have a year of history in the database.&lt;br /&gt;
&lt;br /&gt;
 archive_15min.pl 2012 09&lt;br /&gt;
This will archive data for the given year and month from the 15min-increment tables. Generally, we want to have 6 months of history in the database.&lt;br /&gt;
&lt;br /&gt;
* if space becomes tight, move flow files and exported data to a backup server, both located in &amp;lt;tt&amp;gt;/usr/home/flowbin/archive&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/home/exported&amp;lt;/tt&amp;gt;, respectively&lt;br /&gt;
&lt;br /&gt;
== Slaving ==&lt;br /&gt;
&lt;br /&gt;
If we were going to setup traffic database slaving (we don&#039;t do this anymore), perhaps cause the bwdb machine gets busy and it cannot handle traffic requests and netflow, here&#039;s how it&#039;s done:&lt;br /&gt;
&lt;br /&gt;
On the traffic master:&lt;br /&gt;
&lt;br /&gt;
 GRANT REPLICATION SLAVE ON *.* TO &#039;repl&#039;@&#039;10.1.4.8&#039; IDENTIFIED BY &#039;qERUG8wf&#039;;&lt;br /&gt;
&lt;br /&gt;
in my.cnf:&lt;br /&gt;
&amp;lt;pre&amp;gt;bin-log&lt;br /&gt;
server-id=1&lt;br /&gt;
max_binlog_size=500M&lt;br /&gt;
expire_logs_days = 3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on slave:&lt;br /&gt;
in my.cnf:&lt;br /&gt;
&amp;lt;pre&amp;gt;server-id       = 2&lt;br /&gt;
master-host     =   10.1.4.203&lt;br /&gt;
master-user     =   repl&lt;br /&gt;
master-password =   qERUG8wf&lt;br /&gt;
master-connect-retry=60&lt;br /&gt;
replicate-wild-do-table=traffic.daily%&lt;br /&gt;
max_relay_log_size=500M&lt;br /&gt;
expire_logs_days = 3&lt;br /&gt;
&lt;br /&gt;
replicate-wild-do-table=traffic.%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on master:&lt;br /&gt;
 touch /usr/home/working/.lock&lt;br /&gt;
(make sure processflows not running)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
cd /usr/home/database/traffic&lt;br /&gt;
tar -czf mysql-traffic-snapshot.tgz ./daily*&lt;br /&gt;
(~1G)&lt;br /&gt;
SHOW MASTER STATUS;&lt;br /&gt;
+-----------------+-----------+--------------+------------------+&lt;br /&gt;
| File            | Position  | Binlog_Do_DB | Binlog_Ignore_DB |&lt;br /&gt;
+-----------------+-----------+--------------+------------------+&lt;br /&gt;
| bwdb-bin.000039 | 154432615 |              |                  |&lt;br /&gt;
+-----------------+-----------+--------------+------------------+&lt;br /&gt;
&lt;br /&gt;
(write down info)&lt;br /&gt;
UNLOCK TABLES;&lt;br /&gt;
scp mysql-traffic-snapshot.tgz 10.1.4.5:/mnt/data1/db/mysql/traffic/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on slave:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/data1/db/mysql/traffic&lt;br /&gt;
cd /mnt/data1/db/mysql/traffic/&lt;br /&gt;
tar xzvf mysql-traffic-snapshot.tgz&lt;br /&gt;
(restart mysql)&lt;br /&gt;
CHANGE MASTER TO MASTER_HOST=&#039;10.1.4.203&#039;,MASTER_USER=&#039;repl&#039;,MASTER_PASSWORD=&#039;qERUG8wf&#039;,MASTER_LOG_FILE=&#039;bwdb-bin.000059&#039;,MASTER_LOG_POS=482502186;&lt;br /&gt;
START SLAVE;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/home/database/traffic&lt;br /&gt;
scp *&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;optimize table dailyPortTotals_69_55_224;&lt;br /&gt;
optimize table dailyPortTotals_69_55_225;&lt;br /&gt;
optimize table dailyPortTotals_69_55_226;&lt;br /&gt;
optimize table dailyPortTotals_69_55_227;&lt;br /&gt;
optimize table dailyPortTotals_69_55_228;&lt;br /&gt;
optimize table dailyPortTotals_69_55_229;&lt;br /&gt;
optimize table dailyPortTotals_69_55_230;&lt;br /&gt;
optimize table dailyPortTotals_69_55_231;&lt;br /&gt;
optimize table dailyPortTotals_69_55_232;&lt;br /&gt;
optimize table dailyPortTotals_69_55_233;&lt;br /&gt;
optimize table dailyPortTotals_69_55_234;&lt;br /&gt;
optimize table dailyPortTotals_69_55_235;&lt;br /&gt;
optimize table dailyPortTotals_69_55_236;&lt;br /&gt;
optimize table dailyPortTotals_69_55_237;&lt;br /&gt;
optimize table dailyPortTotals_69_55_238;&lt;br /&gt;
optimize table dailyPortTotals_69_55_239;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
=== BIOS Config ===&lt;br /&gt;
disable quiet boot&lt;br /&gt;
&lt;br /&gt;
set to last state after power loss&lt;br /&gt;
&lt;br /&gt;
set date/time to GMT&lt;br /&gt;
&lt;br /&gt;
enable serial console output (baud rate 115200)&lt;br /&gt;
&lt;br /&gt;
=== Install OS ===&lt;br /&gt;
&lt;br /&gt;
Install FreeBSD 8.3 amd64&lt;br /&gt;
&lt;br /&gt;
* partition map:&lt;br /&gt;
&amp;lt;pre&amp;gt;/ 500m&lt;br /&gt;
swap 4096m&lt;br /&gt;
/var 256m&lt;br /&gt;
/tmp 256m&lt;br /&gt;
/usr ~&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* edit /etc/make.conf &lt;br /&gt;
Castle:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=bwdb \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i2b:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=bwdb2 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyu0, change type to vt100:&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
# Serial terminals&lt;br /&gt;
# The &#039;dialup&#039; keyword identifies dialin lines to login, fingerd etc.&lt;br /&gt;
ttyu0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;   vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
 vi /etc/remote&lt;br /&gt;
(rename port to jail8 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* populate hosts&lt;br /&gt;
i2b:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;69.55.230.10 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;69.55.230.11 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.2.3 backup3&amp;quot; &amp;gt;&amp;gt; /etc/hosts&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
castle:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;10.1.4.3 backup2 backup2.johncompanies.com&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1 backup1.johncompanies.com&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.4 mail mail.johncompanies.com&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* put key in authorized_keys on backup1 and  backup2&lt;br /&gt;
 cd&lt;br /&gt;
 ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
castle:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
&lt;br /&gt;
i2b:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup3 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 (and backup3 if at i2b) without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
 ssh backup1 hostname&lt;br /&gt;
 ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
* edit root&#039;s path and login script:&lt;br /&gt;
 vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
&amp;lt;pre&amp;gt;alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
 set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
* install cvsup&lt;br /&gt;
 cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
 make install clean; rehash; mail -s &#039;cvs installed&#039; support@johncompanies.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
* get latest sources for this release:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; support@johncompanies.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* configure new kernel&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src/sys/amd64/conf &lt;br /&gt;
 scp backup2:/mnt/data4/build/freebsd/kern_config-bwdb-8.3-amd64 ./bwdb&lt;br /&gt;
&lt;br /&gt;
Edit config and change name:&lt;br /&gt;
 vi bwdb&lt;br /&gt;
 ident  bwdb&lt;br /&gt;
&lt;br /&gt;
* build, install kernel and world&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /boot&lt;br /&gt;
&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;buildworld done&#039; support@johncompanies.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
&lt;br /&gt;
castle:&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
hostname=&amp;quot;bwdb.johncompanies.com&amp;quot;&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 10.1.4.203 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_em0=&amp;quot;up promisc&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;10.1.4.1&amp;quot;&lt;br /&gt;
snmpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.203&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
ipfw_load=&amp;quot;YES&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i2b:&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
hostname=&amp;quot;bwdb2.johncompanies.com&amp;quot;&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 10.1.2.4 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_em0=&amp;quot;up promisc&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;10.1.2.1&amp;quot;&lt;br /&gt;
snmpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.2.4&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
ipfw_load=&amp;quot;YES&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
 uname -a&lt;br /&gt;
&lt;br /&gt;
* update ports:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; support@johncompanies.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/local/sbin&lt;br /&gt;
scp backup2:/d4/build/3ware/tw_cli-freebsd-x86_64-9.5.0.1.tgz .&lt;br /&gt;
tar xzf tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
chmod 0700 tw_cli&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
 ./tw_cli info c0&lt;br /&gt;
&lt;br /&gt;
Grab raid check script:&lt;br /&gt;
 scp backup1:/usr/local/sbin/3wraidchk /usr/local/etc&lt;br /&gt;
&lt;br /&gt;
Setup cronjob:&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
*/5 * * * * /usr/local/etc/3wraidchk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* install rsync from ports&lt;br /&gt;
 cd /usr/ports/net/rsync&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
* install perl from ports&lt;br /&gt;
 cd /usr/ports/lang/perl5.8&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
* install bb client&lt;br /&gt;
&lt;br /&gt;
Compiling from source on AMD64 will not work. So, we use a linux-compiled version and rely on linux compat. Linux compat won&#039;t install on 8.x - libtool 2.4 need. So, instead we copy(ed) over linux: &lt;br /&gt;
 rsync -aSHv --exclude=proc --exclude=sys 10.1.4.108:/usr/compat/linux/ /usr/compat/linux/&lt;br /&gt;
&lt;br /&gt;
 adduser&lt;br /&gt;
&lt;br /&gt;
Output/response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cd /usr/home/bb&lt;br /&gt;
 scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
 tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 10.1.4.203 bwdb.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
Edit for machine name and private IP.&lt;br /&gt;
&lt;br /&gt;
if this machine is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.2 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 10.1.2.4 bwdb2.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
&lt;br /&gt;
MACHINE=&amp;quot;bwdb,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&amp;lt;/pre&amp;gt;&lt;br /&gt;
Edit for machine name.&lt;br /&gt;
&lt;br /&gt;
Have bb watch for flow-capture, mysql&lt;br /&gt;
&amp;lt;pre&amp;gt;cat &amp;gt;&amp;gt; /home/bb/bbc1.9e-btf/etc/bb-proctab&lt;br /&gt;
localhost: flow-capture :&lt;br /&gt;
localhost: mysqld :&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put in script to start bb @ boot:&lt;br /&gt;
 echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
 chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is at i2b, punch a hole in the firewall to allow it to communicate with bb monitor:&lt;br /&gt;
&lt;br /&gt;
ipfw add 00096 allow tcp from 66.181.18.0/27 to 69.55.230.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* configure bb on mail&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.203 bwdb.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* configure ntp server&lt;br /&gt;
Castle:&lt;br /&gt;
 echo &amp;quot;server 10.1.4.1&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
I2b:&lt;br /&gt;
 echo &amp;quot;server 10.1.2.1&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&amp;lt;/pre&amp;gt;&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
 (edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
* setup backups&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/bwdb/current\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/home/flowbin\&lt;br /&gt;
## ENTRY /usr/home/database&#039; &amp;gt; /usr/local/etc/backup.config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Castle:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
 ssh backup1 mkdir -p /data/bwdb/current&lt;br /&gt;
on backup1, add the system to &lt;br /&gt;
 vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
I2b:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
 ssh backup3 mkdir -p /data/bwdb/current&lt;br /&gt;
on backup3, add the system to &lt;br /&gt;
 vi /usr/local/sbin/snapshot_archive&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy over the backup script:&lt;br /&gt;
 scp backup2:/d4/bin/freebsd8.x/rsync.backup /usr/local/etc/&lt;br /&gt;
&lt;br /&gt;
Edit rsync.backup and change &amp;lt;tt&amp;gt;config&amp;lt;/tt&amp;gt; var to point to correct config file location: &amp;lt;tt&amp;gt;/usr/local/etc/backup.config&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
5 0 * * * /usr/local/etc/rsync.backup&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make /root/logs&lt;br /&gt;
 mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
* edit sshd_config for security&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 10.1.4.203&lt;br /&gt;
PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit for private IP.&lt;br /&gt;
&lt;br /&gt;
* snmp&lt;br /&gt;
&lt;br /&gt;
(Before doing this you may need to take down the firewall and also add to resolv.conf 69.43.143.41)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/ports/net-mgmt/net-snmp&lt;br /&gt;
make install clean&lt;br /&gt;
(defaults)&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/rc.conf&lt;br /&gt;
snmpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
snmpd_flags=&amp;quot;-a&amp;quot;&lt;br /&gt;
snmpd_conffile=&amp;quot;/usr/local/share/snmp/snmpd.conf&amp;quot;&lt;br /&gt;
snmptrapd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
snmptrapd_flags=&amp;quot;-a -p /var/run/snmptrapd.pid&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /usr/local/share/snmp/snmpd.conf&lt;br /&gt;
rocommunity  jcread 10.1.4.5&lt;br /&gt;
rocommunity  jcread 10.1.4.202&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== netflow ===&lt;br /&gt;
&lt;br /&gt;
Install flow tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/net-mgmt/flow-tools&lt;br /&gt;
make install clean&amp;lt;/pre&amp;gt;&lt;br /&gt;
Defaults.&lt;br /&gt;
&lt;br /&gt;
 mkdir /usr/home/flows&lt;br /&gt;
&lt;br /&gt;
Flow start script:&lt;br /&gt;
 echo &amp;quot;/usr/local/bin/flow-capture -w /usr/home/flows -S5 -N -2 0/10.1.4.203/4444&amp;quot; &amp;gt; /usr/local/etc/rc.d/flow-capture.sh&lt;br /&gt;
&lt;br /&gt;
 chmod 0700 /usr/local/etc/rc.d/flow-capture.sh&lt;br /&gt;
&lt;br /&gt;
Edit for private IP.&lt;br /&gt;
&lt;br /&gt;
Netgraph start script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; /usr/local/etc/rc.d/netgraph.sh&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ngctl -f- &amp;lt;&amp;lt;-SEQ&lt;br /&gt;
mkpeer em0: netflow lower iface0&lt;br /&gt;
name em0:lower netflow&lt;br /&gt;
connect em0: netflow: upper out0&lt;br /&gt;
mkpeer netflow: ksocket export inet/dgram/udp&lt;br /&gt;
msg netflow:export connect inet/10.1.4.203:4444&lt;br /&gt;
SEQ&lt;br /&gt;
&lt;br /&gt;
#/usr/sbin/ngctl -f- &amp;lt;&amp;lt;-SEQ&lt;br /&gt;
#shutdown netflow:&lt;br /&gt;
#SEQ&lt;br /&gt;
&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/netgraph.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
Edit for private IP.&lt;br /&gt;
&lt;br /&gt;
Confirm netflow is running after running scripts:&lt;br /&gt;
&amp;lt;pre&amp;gt;newbwdb /usr/ports/net-mgmt/flow-tools# /usr/sbin/ngctl&lt;br /&gt;
Available commands:&lt;br /&gt;
  config     get or set configuration of node at &amp;lt;path&amp;gt;&lt;br /&gt;
  connect    Connects hook &amp;lt;peerhook&amp;gt; of the node at &amp;lt;relpath&amp;gt; to &amp;lt;hook&amp;gt;&lt;br /&gt;
  debug      Get/set debugging verbosity level&lt;br /&gt;
  dot        Produce a GraphViz (.dot) of the entire netgraph.&lt;br /&gt;
  help       Show command summary or get more help on a specific command&lt;br /&gt;
  list       Show information about all nodes&lt;br /&gt;
  mkpeer     Create and connect a new node to the node at &amp;quot;path&amp;quot;&lt;br /&gt;
  msg        Send a netgraph control message to the node at &amp;quot;path&amp;quot;&lt;br /&gt;
  name       Assign name &amp;lt;name&amp;gt; to the node at &amp;lt;path&amp;gt;&lt;br /&gt;
  read       Read and execute commands from a file&lt;br /&gt;
  rmhook     Disconnect hook &amp;quot;hook&amp;quot; of the node at &amp;quot;path&amp;quot;&lt;br /&gt;
  show       Show information about the node at &amp;lt;path&amp;gt;&lt;br /&gt;
  shutdown   Shutdown the node at &amp;lt;path&amp;gt;&lt;br /&gt;
  status     Get human readable status information from the node at &amp;lt;path&amp;gt;&lt;br /&gt;
  types      Show information about all installed node types&lt;br /&gt;
  write      Send a data packet down the hook named by &amp;quot;hook&amp;quot;.&lt;br /&gt;
  quit       Exit program&lt;br /&gt;
+ show netflow:&lt;br /&gt;
  Name: netflow         Type: netflow         ID: 00000004   Num hooks: 3&lt;br /&gt;
  Local hook      Peer name       Peer type    Peer ID         Peer hook&lt;br /&gt;
  ----------      ---------       ---------    -------         ---------&lt;br /&gt;
  export          &amp;lt;unnamed&amp;gt;       ksocket      00000005        inet/dgram/udp&lt;br /&gt;
  out0            em0             ether        00000001        upper&lt;br /&gt;
  iface0          em0             ether        00000001        lower&lt;br /&gt;
+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We notice that sometimes flow-capture is failing due to swap exhaustion (even after adding more swap). So we crontab flow-capture to restart (it&#039;s ok to start if it&#039;s already running, it just quits):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
crontab -e&lt;br /&gt;
#restart flow-capture&lt;br /&gt;
*/15 * * * * /usr/local/etc/rc.d/flow-capture.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== process flow tools ==== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /usr/home/flowbin&lt;br /&gt;
mkdir /usr/home/working&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/devel/p5-Date-Calc&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/mail/p5-Mail-Sendmail&lt;br /&gt;
make install clean&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Queue script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; /usr/home/flowbin/queue.pl&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
BEGIN {&lt;br /&gt;
    push @INC, &amp;quot;/usr/home/flowbin&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
use date;&lt;br /&gt;
&lt;br /&gt;
my $flowbase = &amp;quot;/usr/home/flows&amp;quot;;&lt;br /&gt;
#my $flowqueue = &amp;quot;/usr/home/queue&amp;quot;;&lt;br /&gt;
my $flowqueue = &amp;quot;/usr/home/working&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
my ($date, $time) = date::CurrentDateTime();&lt;br /&gt;
&lt;br /&gt;
my $flowdir = mkFlowDir($date);&lt;br /&gt;
`mv $flowdir/ft-* $flowqueue`;&lt;br /&gt;
&lt;br /&gt;
if (date::DateWindow($date, $time, $date, &amp;quot;00:00:00&amp;quot;, 600)) {&lt;br /&gt;
    my $newdate = date::AddDays($date, -1);&lt;br /&gt;
    my $flowdir = mkFlowDir($newdate);&lt;br /&gt;
    `mv $flowdir/ft-* $flowqueue`;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub mkFlowDir {&lt;br /&gt;
    my $date = shift;&lt;br /&gt;
    $date =~ /([0-9]{4}-[0-9]{2})/;&lt;br /&gt;
    my $yearmonth = $1;&lt;br /&gt;
    return &amp;quot;$flowbase/$yearmonth/$date&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Date.pm module:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; /usr/home/flowbin/date.pm&lt;br /&gt;
#!/usr/local/bin/perl&lt;br /&gt;
#&lt;br /&gt;
# $Header: /usr/cvs/newgw/lib/date.pm,v 1.2 2003/11/24 17:06:02 glenn Exp $&lt;br /&gt;
#&lt;br /&gt;
# Copyright (c) 2001, 2002, 2003&lt;br /&gt;
#      e-Monitoring Networks, Inc.  All rights reserved.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# date.pl - Higher level functions written on top of Date::Calc&lt;br /&gt;
&lt;br /&gt;
package date;&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Date::Calc qw(:all);&lt;br /&gt;
&lt;br /&gt;
sub DayDiff { #calculate the difference in days from two dates&lt;br /&gt;
    my $date1 = shift;&lt;br /&gt;
    my $date2 = shift;&lt;br /&gt;
    my ($year1, $month1, $day1) = &amp;amp;DateToymd($date1);&lt;br /&gt;
    my ($year2, $month2, $day2) = &amp;amp;DateToymd($date2);&lt;br /&gt;
    my $diff = &amp;amp;Delta_Days($year1, $month1, $day1, $year2, $month2, $day2);&lt;br /&gt;
    return $diff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub AddDays { #adds specified number of days to the supplied date&lt;br /&gt;
    my $date = shift;&lt;br /&gt;
    my $days = shift;&lt;br /&gt;
    my ($year, $month, $day) = &amp;amp;DateToymd($date);&lt;br /&gt;
    my ($nyear, $nmonth, $nday) = &amp;amp;Add_Delta_Days($year, $month, $day, $days);&lt;br /&gt;
    my $ndate = &amp;amp;ymdToDate($nyear, $nmonth, $nday);&lt;br /&gt;
    return $ndate;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub AddHours { #adds specified number of hours to the supplied date and time&lt;br /&gt;
    my $date = shift;&lt;br /&gt;
    my $time = shift;&lt;br /&gt;
    my $addhours = shift;&lt;br /&gt;
    my $adddays = 0;&lt;br /&gt;
    if (abs($addhours / 24) &amp;gt;= 1) {&lt;br /&gt;
        $adddays = int($addhours / 24);&lt;br /&gt;
        $addhours -= $adddays * 24;&lt;br /&gt;
    }&lt;br /&gt;
    my ($year, $month, $day) = &amp;amp;DateToymd($date);&lt;br /&gt;
    my ($hour, $minute, $second) = &amp;amp;TimeTohms($time);&lt;br /&gt;
    my ($ny, $nm, $nd, $nh, $nmin, $ns) = &amp;amp;Add_Delta_DHMS($year, $month, $day,&lt;br /&gt;
                                                          $hour, $minute, $second,&lt;br /&gt;
                                                          $adddays, $addhours, 0, 0);&lt;br /&gt;
    my $ndate = &amp;amp;ymdToDate($ny, $nm, $nd);&lt;br /&gt;
    my $ntime = &amp;amp;hmsToTime($nh, $nmin, $ns);&lt;br /&gt;
    return $ndate, $ntime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub AddMinutes {&lt;br /&gt;
    my $date = shift;&lt;br /&gt;
    my $time = shift;&lt;br /&gt;
    my $minutes = shift;&lt;br /&gt;
    my ($year, $month, $day) = &amp;amp;DateToymd($date);&lt;br /&gt;
    my ($hour, $minute, $second) = &amp;amp;TimeTohms($time);&lt;br /&gt;
    my ($ny, $nm, $nd, $nh, $nmin, $ns) = &amp;amp;Add_Delta_DHMS($year, $month, $day,&lt;br /&gt;
                                                          $hour, $minute, $second,&lt;br /&gt;
                                                          0, 0, $minutes, 0);&lt;br /&gt;
    my $ndate = &amp;amp;ymdToDate($ny, $nm, $nd);&lt;br /&gt;
    my $ntime = &amp;amp;hmsToTime($nh, $nmin, $ns);&lt;br /&gt;
    return $ndate, $ntime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub CurrentDateTime { #return the current date and time&lt;br /&gt;
    my ($y, $m, $d, $h, $min, $s, $z, $z, $z) = &amp;amp;System_Clock;&lt;br /&gt;
    my $date = &amp;amp;ymdToDate($y, $m, $d);&lt;br /&gt;
    my $time = &amp;amp;hmsToTime($h, $min, $s);&lt;br /&gt;
    return $date, $time;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub Currentymd { #return the current year, month and day as separate variables&lt;br /&gt;
    my ($y, $m, $d, $h, $min, $s, $z, $z, $z) = &amp;amp;System_Clock;&lt;br /&gt;
    return $y, $m, $d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub DateToymd { #takes a date and returns year, month, day as individual values&lt;br /&gt;
    my $date = shift;&lt;br /&gt;
    if ($date =~ /([0-9]{4})-([0-9]{2})-([0-9]{2})/) {&lt;br /&gt;
        my $day = $3;&lt;br /&gt;
        my $month = $2;&lt;br /&gt;
        my $year = $1;&lt;br /&gt;
        return $year, $month, $day;&lt;br /&gt;
    }&lt;br /&gt;
    return undef;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub TimeTohms { #takes a time and return hours minutes and seconds as individual values&lt;br /&gt;
    my $time = shift;&lt;br /&gt;
    if ($time =~ /([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})/) {&lt;br /&gt;
        my $hour = $1;&lt;br /&gt;
        my $minute = $2;&lt;br /&gt;
        my $second = $3;&lt;br /&gt;
        if ($hour !~ /[0-9]{2}/) { $hour = &amp;quot;0$hour&amp;quot;; }&lt;br /&gt;
        if ($minute !~ /[0-9]{2}/) { $minute = &amp;quot;0$minute&amp;quot;; }&lt;br /&gt;
        if ($second !~ /[0-9]{2}/) { $second = &amp;quot;0$second&amp;quot;; }&lt;br /&gt;
        return $hour, $minute, $second;&lt;br /&gt;
    }&lt;br /&gt;
    return undef;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub ymdToDate { #takes year, month, day and assembles them into our date format&lt;br /&gt;
    my $year = shift;&lt;br /&gt;
    my $month = shift;&lt;br /&gt;
    my $day = shift;&lt;br /&gt;
    if (defined($year) &amp;amp;&amp;amp; defined($month) &amp;amp;&amp;amp; defined ($day)) {&lt;br /&gt;
        $month = sprintf(&amp;quot;%02d&amp;quot;, $month);&lt;br /&gt;
        $day = sprintf(&amp;quot;%02d&amp;quot;, $day);&lt;br /&gt;
        return &amp;quot;$year-$month-$day&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    return undef;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub hmsToTime { #takes hour minute and second and assembles them into our time format&lt;br /&gt;
    my $hour = shift;&lt;br /&gt;
    my $minute = shift;&lt;br /&gt;
    my $second = shift;&lt;br /&gt;
    if (defined($hour) &amp;amp;&amp;amp; defined($minute) &amp;amp;&amp;amp; defined ($second)) {&lt;br /&gt;
        if ($hour !~ /[0-9]{2}/) { $hour = &amp;quot;0$hour&amp;quot;; }&lt;br /&gt;
        if ($minute !~ /[0-9]{2}/) { $minute = &amp;quot;0$minute&amp;quot;; }&lt;br /&gt;
        if ($second !~ /[0-9]{2}/) { $second = &amp;quot;0$second&amp;quot;; }&lt;br /&gt;
        return sprintf (&amp;quot;%02d:%02d:%02d&amp;quot;, $hour, $minute, $second);&lt;br /&gt;
    }&lt;br /&gt;
    return undef;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub CompareDates { #compares two date and time pairs&lt;br /&gt;
    my $date1 = shift;&lt;br /&gt;
    my $time1 = shift;&lt;br /&gt;
    my $date2 = shift;&lt;br /&gt;
    my $time2 = shift;&lt;br /&gt;
&lt;br /&gt;
    my ($year1, $month1, $day1) = &amp;amp;DateToymd($date1);&lt;br /&gt;
    my ($hour1, $minute1, $second1) = &amp;amp;TimeTohms($time1);&lt;br /&gt;
    my ($year2, $month2, $day2) = &amp;amp;DateToymd($date2);&lt;br /&gt;
    my ($hour2, $minute2, $second2) = &amp;amp;TimeTohms($time2);&lt;br /&gt;
&lt;br /&gt;
#    &amp;amp;debug(&amp;quot;$year1, $month1, $day1, $year2, $month2, $day2&amp;quot;);&lt;br /&gt;
    my $days = &amp;amp;Delta_Days($year1, $month1, $day1, $year2, $month2, $day2);&lt;br /&gt;
    if ($days &amp;gt; 0) { return 1;}&lt;br /&gt;
    if ($days &amp;lt; 0) { return -1;}&lt;br /&gt;
    if ($days == 0) { #same day, compare times&lt;br /&gt;
        my $seconds1 = $second1 + (60 * $minute1) + (3600 * $hour1);&lt;br /&gt;
        my $seconds2 = $second2 + (60 * $minute2) + (3600 * $hour2);&lt;br /&gt;
        if ($seconds1 &amp;lt; $seconds2) { return 1;}&lt;br /&gt;
        if ($seconds1 &amp;gt; $seconds2) { return -1;}&lt;br /&gt;
        if ($seconds1 == $seconds2) { return 0;}&lt;br /&gt;
    }&lt;br /&gt;
    return undef;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub DateWindow { #compares two date time pairs to see if they are &amp;lt; X seconds apart&lt;br /&gt;
    my $date1 = shift;&lt;br /&gt;
    my $time1 = shift;&lt;br /&gt;
    my $date2 = shift;&lt;br /&gt;
    my $time2 = shift;&lt;br /&gt;
    my $window = shift;&lt;br /&gt;
&lt;br /&gt;
    my ($year1, $month1, $day1) = &amp;amp;DateToymd($date1);&lt;br /&gt;
    my ($hour1, $minute1, $second1) = &amp;amp;TimeTohms($time1);&lt;br /&gt;
    my ($year2, $month2, $day2) = &amp;amp;DateToymd($date2);&lt;br /&gt;
    my ($hour2, $minute2, $second2) = &amp;amp;TimeTohms($time2);&lt;br /&gt;
&lt;br /&gt;
    my ($day, $hour, $minute, $second) =&lt;br /&gt;
        &amp;amp;Delta_DHMS($year1, $month1, $day1, $hour1, $minute1, $second1,&lt;br /&gt;
                    $year2, $month2, $day2, $hour2, $minute2, $second2);&lt;br /&gt;
    $minute *= 60;&lt;br /&gt;
    $hour *= 3600;&lt;br /&gt;
    $day *= 86400;&lt;br /&gt;
    my $total = $second + $minute + $hour + $day;&lt;br /&gt;
    if (abs($total) &amp;lt; $window) {&lt;br /&gt;
        return 1;&lt;br /&gt;
    }&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub CheckDateOrder { #takes three dates/times, returns true if they are in chronological order&lt;br /&gt;
    my $date1 = shift;&lt;br /&gt;
    my $time1 = shift;&lt;br /&gt;
    my $date2 = shift;&lt;br /&gt;
    my $time2 = shift;&lt;br /&gt;
    my $date3 = shift;&lt;br /&gt;
    my $time3 = shift;&lt;br /&gt;
    if (&amp;amp;CompareDates($date1, $time1, $date2, $time2) == -1) {&lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
    if (&amp;amp;CompareDates($date2, $time2, $date3, $time3) == -1) {&lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
    return 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub EpochSeconds { #calculates number of seconds since the epoch for the given date/time&lt;br /&gt;
    my $date = shift;&lt;br /&gt;
    my $time = shift;&lt;br /&gt;
    my ($year, $month, $day) = &amp;amp;DateToymd($date);&lt;br /&gt;
    my ($hour, $minute, $second) = &amp;amp;TimeTohms($time);&lt;br /&gt;
    my ($d, $h, $m, $s) = &amp;amp;Delta_DHMS(1970, 1, 1, 0, 0, 0,&lt;br /&gt;
                                      $year, $month, $day, $hour, $minute, $second);&lt;br /&gt;
    my $seconds = $s + (60 * $m) + (3600 * $h) + (86400 * $d);&lt;br /&gt;
    return $seconds;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub SecondsToDateTime { #converts seconds since epoch to date/time&lt;br /&gt;
    my $seconds = shift;&lt;br /&gt;
    my $days = int($seconds / 86400);&lt;br /&gt;
    $seconds -= $days * 86400;&lt;br /&gt;
    my $hours = int($seconds / 3600);&lt;br /&gt;
    $seconds -= $hours * 3600;&lt;br /&gt;
    my $minutes = int($seconds / 60);&lt;br /&gt;
    $seconds -= $minutes * 60;&lt;br /&gt;
    my ($year, $month, $day, $hour, $minute, $second) =&lt;br /&gt;
        &amp;amp;Add_Delta_DHMS(1970, 1, 1, 0, 0, 0, $days, $hours, $minutes, $seconds);&lt;br /&gt;
    $month = sprintf(&amp;quot;%02d&amp;quot;, $month);&lt;br /&gt;
    $day = sprintf(&amp;quot;%02d&amp;quot;, $day);&lt;br /&gt;
    $hour = sprintf(&amp;quot;%02d&amp;quot;, $hour);&lt;br /&gt;
    $minute = sprintf(&amp;quot;%02d&amp;quot;, $minute);&lt;br /&gt;
    $second = sprintf(&amp;quot;%02d&amp;quot;, $second);&lt;br /&gt;
    return &amp;quot;$year-$month-$day&amp;quot;, &amp;quot;$hour:$minute:$second&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub DateToDayName {&lt;br /&gt;
    my $date = shift;&lt;br /&gt;
    my ($year, $month, $day) = &amp;amp;DateToymd($date);&lt;br /&gt;
    my $name = &amp;amp;Day_of_Week_to_Text(&amp;amp;Day_of_Week($year, $month, $day));&lt;br /&gt;
    $name =~ /^[A-Za-z]{3}/;&lt;br /&gt;
    $name = $&amp;amp;;&lt;br /&gt;
    return $name;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub ValiDate {&lt;br /&gt;
    return @_;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub CheckBusinessDay { # checks to see if date is business day. 1=yes, 0=no&lt;br /&gt;
    my $date = shift;&lt;br /&gt;
    my ($year, $month, $day) = &amp;amp;DateToymd($date);&lt;br /&gt;
    if (Day_of_Week($year,$month,$day) &amp;lt; 6) { return 1; }&lt;br /&gt;
    else { return 0; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
1; #don&#039;t remove this line&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 chmod 0700 /usr/home/flowbin/queue.pl&lt;br /&gt;
&lt;br /&gt;
Setup cronjob:&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
#move flow data into the queue&lt;br /&gt;
1,16,31,46 * * * * /usr/home/flowbin/queue.pl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== flow processing: i2b ==== &lt;br /&gt;
&amp;lt;pre&amp;gt;cat &amp;gt; /usr/home/flowbin/processflows-sql.pl&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
#use strict;&lt;br /&gt;
#$debug=1;&lt;br /&gt;
#$dry=1;&lt;br /&gt;
&lt;br /&gt;
my $log = &#039;/usr/home/flowbin/discards.log&#039;;&lt;br /&gt;
&lt;br /&gt;
use Data::Dumper;&lt;br /&gt;
&lt;br /&gt;
BEGIN {&lt;br /&gt;
    push @INC, &amp;quot;/usr/home/flowbin&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#my $queuedir = &amp;quot;/usr/home/queue&amp;quot;;&lt;br /&gt;
my $queuedir = &amp;quot;/usr/home/working&amp;quot;;&lt;br /&gt;
my $archivedir = &amp;quot;/usr/home/archive&amp;quot;;&lt;br /&gt;
my $sqldir = &amp;quot;/usr/home/sql&amp;quot;;&lt;br /&gt;
my $sqldirworking = &amp;quot;/usr/home/sql/tmp&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
unless ($dry) {&lt;br /&gt;
    if (-e &amp;quot;$queuedir/.lock&amp;quot;) {&lt;br /&gt;
        open(FILE, &amp;quot;$queuedir/.lock&amp;quot;);&lt;br /&gt;
        my $pid = &amp;lt;FILE&amp;gt;;&lt;br /&gt;
        chomp($pid);&lt;br /&gt;
        close(FILE);&lt;br /&gt;
        if (kill(0, $pid)) {&lt;br /&gt;
            #another process is using the queue, bail out&lt;br /&gt;
            exit(0);&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            #dead lock file, remove it&lt;br /&gt;
            `rm $queuedir/.lock`;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    open(FILE, &amp;quot;&amp;gt; $queuedir/.lock&amp;quot;);&lt;br /&gt;
    print FILE &amp;quot;$$\n&amp;quot;;&lt;br /&gt;
    close(FILE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $queuedir);&lt;br /&gt;
my @files = readdir(DIR);&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach my $file (sort @files) {&lt;br /&gt;
    unless($file =~ /^\./) {&lt;br /&gt;
        $file =~ /([0-9]{4}-[0-9]{2}-[0-9]{2})\.([0-9]{2})([0-9]{2})([0-9]{2})/;&lt;br /&gt;
        my $date = &amp;quot;$1 $2:$3:$4&amp;quot;;&lt;br /&gt;
        my $outfile = &amp;quot;$1-$2:$3.sql&amp;quot;;&lt;br /&gt;
        unless (open (SQL, &amp;quot;+&amp;gt; $sqldirworking/$outfile&amp;quot;)) { die &amp;quot;cant open $sqldirworking/$outfile&amp;quot;; }&lt;br /&gt;
        my $condensedDate = $1;&lt;br /&gt;
        $condensedDate =~ s/-//g;&lt;br /&gt;
        my $iptotal = {};&lt;br /&gt;
        my $protototal = {};&lt;br /&gt;
        my $porttotal = {};&lt;br /&gt;
&lt;br /&gt;
        &amp;amp;debug(&amp;quot;started file $file at &amp;quot;);&lt;br /&gt;
        &amp;amp;debug(`date`);&lt;br /&gt;
        &amp;amp;debug(&amp;quot;getting raw flow data (flow-print)&amp;quot;);&lt;br /&gt;
        `cat $queuedir/$file | /usr/local/bin/flow-print -f 5 &amp;gt; /usr/home/working/tmp-$file`;&lt;br /&gt;
        &amp;amp;debug(&amp;quot;aggregating data at &amp;quot;);&lt;br /&gt;
        &amp;amp;debug(`date`);&lt;br /&gt;
        unless (open(DATA, &amp;quot;/usr/home/working/tmp-$file&amp;quot;)) { die &amp;quot;can&#039;t open: $!&amp;quot;; }&lt;br /&gt;
        LOOP: while (my $line = readline DATA) {&lt;br /&gt;
            my @d = split /[\s]+/, $line;&lt;br /&gt;
            if ($d[0] ne &#039;&#039; &amp;amp;&amp;amp; $d[0] ne &#039;Start&#039;) {&lt;br /&gt;
                my $addr = 0;&lt;br /&gt;
                my $port = 0;&lt;br /&gt;
&lt;br /&gt;
                #Start End Sif SrcIPaddress SrcP DIf DstIPaddress DstP P Fl Pkts Octets&lt;br /&gt;
                #0     1   2   3            4    5   6            7    8 9  10   11&lt;br /&gt;
                          #|&lt;br /&gt;
                          # outbound = 2, inbound = 1&lt;br /&gt;
&lt;br /&gt;
                my (@src_ip) = split &#039;\.&#039;, $d[3];&lt;br /&gt;
                my (@dst_ip) = split &#039;\.&#039;, $d[6];&lt;br /&gt;
&lt;br /&gt;
                if ($src_ip[0] == 69 &amp;amp;&amp;amp; $src_ip[1] == 55 &amp;amp;&amp;amp; ($src_ip[2] == 229 || $src_ip[2] == 231)) { # for i2b&lt;br /&gt;
                   $d[2] = 2;&lt;br /&gt;
                   # hack for outbound bulk traffic counted 2x&lt;br /&gt;
                   #if ($src_ip[2] == 231) { $d[11] /= 2; $d[10] /= 2; }&lt;br /&gt;
                }&lt;br /&gt;
                # note- this is where we filter out IPs only found at i2b&lt;br /&gt;
                elsif ($dst_ip[0] == 69 &amp;amp;&amp;amp; $dst_ip[1] == 55 &amp;amp;&amp;amp; ($dst_ip[2] == 229 || $dst_ip[2] == 231)) { # for i2b&lt;br /&gt;
                   $d[2] = 1;&lt;br /&gt;
                }&lt;br /&gt;
                else { next LOOP; }&lt;br /&gt;
&lt;br /&gt;
                if ($d[2] == 2) {&lt;br /&gt;
                    $addr = $d[3];&lt;br /&gt;
                    # if the dst-port is low, store that&lt;br /&gt;
                    if ($d[7] &amp;lt;= 1024) { $port = $d[7]; }&lt;br /&gt;
                    # if the src-port is low, store that&lt;br /&gt;
                    elsif ($d[4] &amp;lt;= 1024) { $port = $d[4]; }&lt;br /&gt;
                    else { $port = 99999; }&lt;br /&gt;
                }&lt;br /&gt;
                elsif ($d[2] == 1) {&lt;br /&gt;
                    $addr = $d[6];&lt;br /&gt;
                    # if the dst-port is high, assume its return traffic, try to store src-port if low&lt;br /&gt;
                    if ($d[7] &amp;gt; 1024) {&lt;br /&gt;
                        if ($d[4] &amp;lt;= 1024) { $port = $d[4]; }&lt;br /&gt;
                        else { $port = 99999; }&lt;br /&gt;
                    } else {&lt;br /&gt;
                        $port = $d[7];&lt;br /&gt;
                    }&lt;br /&gt;
                } else {&lt;br /&gt;
                    next LOOP;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                my (@ip) = split &#039;\.&#039;, $addr;&lt;br /&gt;
                unless ($ip[0] == 69) { next LOOP; }&lt;br /&gt;
                unless ($ip[1] == 55) { next LOOP; }&lt;br /&gt;
                unless ($ip[2] == 229 || $ip[2] == 231) { next LOOP; }&lt;br /&gt;
&lt;br /&gt;
                my $classC = &amp;quot;$ip[0]_$ip[1]_$ip[2]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
#                          IP        dir&lt;br /&gt;
#                if ($d[10] &amp;lt; 2147483647) { $iptotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{&#039;pktTotal&#039;} += $d[10]; }&lt;br /&gt;
#                if ($d[11] &amp;lt; 2147483647) { $iptotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{&#039;octetTotal&#039;} += $d[11]; }&lt;br /&gt;
#&lt;br /&gt;
#                if ($d[10] &amp;lt; 2147483647) { $protototal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{&#039;pktTotal&#039;} += $d[10]; }&lt;br /&gt;
#                if ($d[11] &amp;lt; 2147483647) { $protototal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{&#039;octetTotal&#039;} += $d[11]; }&lt;br /&gt;
#&lt;br /&gt;
#                if ($d[10] &amp;lt; 2147483647) { $porttotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$port}-&amp;gt;{&#039;pktTotal&#039;} += $d[10]; }&lt;br /&gt;
#                if ($d[11] &amp;lt; 2147483647) { $porttotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$port}-&amp;gt;{&#039;octetTotal&#039;} += $d[11]; }&lt;br /&gt;
                $iptotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{&#039;pktTotal&#039;} += $d[10];&lt;br /&gt;
                $iptotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{&#039;octetTotal&#039;} += $d[11];&lt;br /&gt;
&lt;br /&gt;
                $protototal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{&#039;pktTotal&#039;} += $d[10];&lt;br /&gt;
                $protototal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{&#039;octetTotal&#039;} += $d[11];&lt;br /&gt;
&lt;br /&gt;
                $porttotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{$port}-&amp;gt;{&#039;pktTotal&#039;} += $d[10];&lt;br /&gt;
                $porttotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{$port}-&amp;gt;{&#039;octetTotal&#039;} += $d[11];&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        close(DATA);&lt;br /&gt;
        `rm /usr/home/working/tmp-$file`;&lt;br /&gt;
        &amp;amp;debug(&amp;quot;processing ip totals at &amp;quot;);&lt;br /&gt;
        &amp;amp;debug(`date`);&lt;br /&gt;
        foreach my $classC (keys(%{$iptotal})) {&lt;br /&gt;
            my @values;&lt;br /&gt;
            foreach my $ip (keys(%{$iptotal-&amp;gt;{$classC}})) {&lt;br /&gt;
                foreach my $dir (keys(%{$iptotal-&amp;gt;{$classC}-&amp;gt;{$ip}})) {&lt;br /&gt;
                    my $octets = $iptotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{&#039;octetTotal&#039;};&lt;br /&gt;
                    my $packets = $iptotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{&#039;pktTotal&#039;};&lt;br /&gt;
#                    $packets = $packets &amp;gt; 2147483647 ? 0 : $packets;&lt;br /&gt;
                    if ($octets &amp;gt; 2147483647) {&lt;br /&gt;
                        my $ddir = $dir==1 ? &#039;in&#039; : &#039;out&#039;;&lt;br /&gt;
                        #print SQL &amp;quot;$date $ip $ddir $octets\n&amp;quot;;&lt;br /&gt;
#                        $octets = 0;&lt;br /&gt;
                    }&lt;br /&gt;
                    # dailyIpTotals.id = ip(no .&#039;s)-yyyymmdd-direction&lt;br /&gt;
                    my $id = &amp;quot;$ip-$condensedDate-$dir&amp;quot;;&lt;br /&gt;
                    $id =~ s/\.//g;&lt;br /&gt;
                    push @values, &amp;quot;(&#039;$date&#039;, &#039;$ip&#039;, $dir, $octets, $packets)&amp;quot;;&lt;br /&gt;
                    my $sql = &amp;quot;insert into dailyIpTotals_$classC values (&#039;$id&#039;, &#039;$date&#039;, &#039;$ip&#039;, $dir, $octets, $packets) ON DUPLICATE KEY UPDATE octets=octets+$octets, packets=packets+$packets&amp;quot;;&lt;br /&gt;
                    print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
                    print SQL &amp;quot;$sql;\n&amp;quot;;&lt;br /&gt;
#                    $db-&amp;gt;query(&amp;quot;insert into ipTotals values (&#039;$date&#039;, &#039;$ip&#039;, $dir, $octets, $packets)&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            # break inserts into 100 records at a time&lt;br /&gt;
            &amp;amp;debug(&amp;quot;inserting $#values +1 values&amp;quot;);&lt;br /&gt;
            while ($#values &amp;gt; 0) {&lt;br /&gt;
                my $sql = &amp;quot;insert into ipTotals_$classC values &amp;quot;;&lt;br /&gt;
                my $max_index = $#values &amp;gt; 100 ? 100 : $#values;&lt;br /&gt;
                for (my $i=0; $i&amp;lt;=$max_index; $i++) {&lt;br /&gt;
                    $sql .= shift @values;&lt;br /&gt;
                    $sql .= &#039;,&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                chop $sql;&lt;br /&gt;
                print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
                print SQL &amp;quot;$sql;\n&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
#        &amp;amp;debug(&amp;quot;processing protocol totals at &amp;quot;);&lt;br /&gt;
#        &amp;amp;debug(`date`);&lt;br /&gt;
#        foreach my $classC (keys(%{$protototal})) {&lt;br /&gt;
#            $db-&amp;gt;query(&amp;quot;lock tables dailyProtoTotals_$classC write&amp;quot;) unless $dry;&lt;br /&gt;
#            my @values;&lt;br /&gt;
#            foreach my $ip (keys(%{$protototal-&amp;gt;{$classC}})) {&lt;br /&gt;
#                foreach my $dir (keys(%{$protototal-&amp;gt;{$classC}-&amp;gt;{$ip}})) {&lt;br /&gt;
#                    foreach my $proto (keys(%{$protototal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}})) {&lt;br /&gt;
#                        my $octets = $protototal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{$proto}-&amp;gt;{&#039;octetTotal&#039;};&lt;br /&gt;
#                        my $packets = $protototal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{$proto}-&amp;gt;{&#039;pktTotal&#039;};&lt;br /&gt;
# #                        $octets = $octets &amp;gt; 2147483647 ? 0 : $octets;&lt;br /&gt;
# #                        $packets = $packets &amp;gt; 2147483647 ? 0 : $packets;&lt;br /&gt;
#                        # dailyProtoTotals.id = ip(no .&#039;s)-yyyymmdd-direction-proto&lt;br /&gt;
#                        my $id = &amp;quot;$ip-$condensedDate-$dir-$proto&amp;quot;;&lt;br /&gt;
#                        $id =~ s/\.//g;&lt;br /&gt;
#                        push @values, &amp;quot;(&#039;$date&#039;, &#039;$ip&#039;, $dir, $proto, $octets, $packets)&amp;quot;;&lt;br /&gt;
#                        my $sql = &amp;quot;insert into dailyProtoTotals_$classC values (&#039;$id&#039;, &#039;$date&#039;, &#039;$ip&#039;, $dir, $proto, $octets, $packets) ON DUPLICATE KEY UPDATE octets=octets+$octets, packets=packets+$packets&amp;quot;;&lt;br /&gt;
#                        print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
#                        $db-&amp;gt;query($sql) unless $dry;&lt;br /&gt;
# #                        $db-&amp;gt;query(&amp;quot;insert into protoTotals values (&#039;$date&#039;, &#039;$ip&#039;, $dir, $proto, $octets, $packets)&amp;quot;);&lt;br /&gt;
#                    }&lt;br /&gt;
#                }&lt;br /&gt;
#            }&lt;br /&gt;
#            $db-&amp;gt;query(&amp;quot;unlock tables&amp;quot;) unless $dry;&lt;br /&gt;
#            my $sql = &amp;quot;insert into protoTotals_$classC values &amp;quot;;&lt;br /&gt;
#            $sql .= join &#039;,&#039;, @values;&lt;br /&gt;
#            $db-&amp;gt;query(&amp;quot;lock tables protoTotals_$classC write&amp;quot;) unless $dry;&lt;br /&gt;
#            print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
#            $db-&amp;gt;query($sql) unless $dry;&lt;br /&gt;
#            $db-&amp;gt;query(&amp;quot;unlock tables&amp;quot;) unless $dry;&lt;br /&gt;
#        }&lt;br /&gt;
&lt;br /&gt;
        &amp;amp;debug(&amp;quot;processing port totals at &amp;quot;);&lt;br /&gt;
        &amp;amp;debug(`date`);&lt;br /&gt;
        foreach my $classC (keys(%{$porttotal})) {&lt;br /&gt;
            my @values;&lt;br /&gt;
            foreach my $ip (keys(%{$porttotal-&amp;gt;{$classC}})) {&lt;br /&gt;
                foreach my $dir (keys(%{$porttotal-&amp;gt;{$classC}-&amp;gt;{$ip}})) {&lt;br /&gt;
                    foreach my $proto (keys(%{$porttotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}})) {&lt;br /&gt;
                        foreach my $port (keys(%{$porttotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{$proto}})) {&lt;br /&gt;
                            my $octets = $porttotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{$proto}-&amp;gt;{$port}-&amp;gt;{&#039;octetTotal&#039;};&lt;br /&gt;
                            my $packets = $porttotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{$proto}-&amp;gt;{$port}-&amp;gt;{&#039;pktTotal&#039;};&lt;br /&gt;
    #                        $octets = $octets &amp;gt; 2147483647 ? 0 : $octets;&lt;br /&gt;
    #                        $packets = $packets &amp;gt; 2147483647 ? 0 : $packets;&lt;br /&gt;
&lt;br /&gt;
                            # dailyPortTotals.id = ip(no .&#039;s)-yyyymmdd-direction-protocol-port&lt;br /&gt;
                            my $id = &amp;quot;$ip-$condensedDate-$dir-$proto-$port&amp;quot;;&lt;br /&gt;
                            $id =~ s/\.//g;&lt;br /&gt;
                            push @values, &amp;quot;(&#039;$date&#039;, &#039;$ip&#039;, $dir, $proto, $port, $octets, $packets)&amp;quot;;&lt;br /&gt;
                            my $sql = &amp;quot;insert into dailyPortTotals_$classC values (&#039;$id&#039;, &#039;$date&#039;, &#039;$ip&#039;, $dir, $proto, $port, $octets, $packets) ON DUPLICATE KEY UPDATE octets=octets+$octets, packets=packets+$packets&amp;quot;;&lt;br /&gt;
                            print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
                            print SQL &amp;quot;$sql;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    #                        $db-&amp;gt;query(&amp;quot;insert into portTotals values (&#039;$date&#039;, &#039;$ip&#039;, $dir, $port, $octets, $packets)&amp;quot;);&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            # break inserts into 100 records at a time&lt;br /&gt;
            &amp;amp;debug(&amp;quot;inserting $#values +1 values&amp;quot;);&lt;br /&gt;
            while ($#values &amp;gt; 0) {&lt;br /&gt;
                my $sql = &amp;quot;insert into portTotals_$classC values &amp;quot;;&lt;br /&gt;
                my $max_index = $#values &amp;gt; 100 ? 100 : $#values;&lt;br /&gt;
                for (my $i=0; $i&amp;lt;=$max_index; $i++) {&lt;br /&gt;
                    $sql .= shift @values;&lt;br /&gt;
                    $sql .= &#039;,&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                chop $sql;&lt;br /&gt;
                print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
                print SQL &amp;quot;$sql;\n&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
#                       12     1 8      1    1= 23&lt;br /&gt;
# dailyIpTotals.id = ip(no .&#039;s)-yyyymmdd-direction&lt;br /&gt;
#                       12        1  8     1   1       3=26&lt;br /&gt;
# dailyProtoTotals.id = ip(no .&#039;s)-yyyymmdd-direction-proto&lt;br /&gt;
#                       12       1   8    1     1     5=28&lt;br /&gt;
# dailyPortTotals.id = ip(no .&#039;s)-yyyymmdd-direction-port&lt;br /&gt;
        #print &amp;quot;finished at &amp;quot;;&lt;br /&gt;
        #print `date`;&lt;br /&gt;
        `mv $queuedir/$file $archivedir` unless $dry;&lt;br /&gt;
        close(SQL);&lt;br /&gt;
        `bzip2 $sqldirworking/$outfile`;&lt;br /&gt;
        `mv $sqldirworking/$outfile.bz2 $sqldir/`;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
`rm $queuedir/.lock` unless $dry;&lt;br /&gt;
&lt;br /&gt;
sub debug {&lt;br /&gt;
    my $message = shift;&lt;br /&gt;
    if ($debug) {&lt;br /&gt;
        print &amp;quot;$message\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# var full during ft-v05.2005-03-28.084500-0800 and&lt;br /&gt;
# 2005-02-24 69.55.226&lt;br /&gt;
&lt;br /&gt;
# all port/daily totals before 2005-04-07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This script sends the sql files to the traffic server for processing:&lt;br /&gt;
&amp;lt;pre&amp;gt;cat &amp;gt; /usr/home/flowbin/sendsql.pl&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
#use strict;&lt;br /&gt;
#$debug=1;&lt;br /&gt;
#$dry=1;&lt;br /&gt;
&lt;br /&gt;
my $remote = &amp;quot;69.55.233.199&amp;quot;;&lt;br /&gt;
my $sqldir = &amp;quot;/usr/home/sql&amp;quot;;&lt;br /&gt;
my $archive = &amp;quot;/usr/home/archive&amp;quot;;&lt;br /&gt;
my $sqldirremote = &amp;quot;/data/bwdb2/pending/&amp;quot;;&lt;br /&gt;
my @err;&lt;br /&gt;
unless ($dry) {&lt;br /&gt;
    if (-e &amp;quot;$sqldir/.lock&amp;quot;) {&lt;br /&gt;
        open(FILE, &amp;quot;$sqldir/.lock&amp;quot;);&lt;br /&gt;
        my $pid = &amp;lt;FILE&amp;gt;;&lt;br /&gt;
        chomp($pid);&lt;br /&gt;
        close(FILE);&lt;br /&gt;
        if (kill(0, $pid)) {&lt;br /&gt;
            #another process is using the queue, bail out&lt;br /&gt;
            exit(0);&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            #dead lock file, remove it&lt;br /&gt;
            `rm $sqldir/.lock`;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    open(FILE, &amp;quot;&amp;gt; $sqldir/.lock&amp;quot;);&lt;br /&gt;
    print FILE &amp;quot;$$\n&amp;quot;;&lt;br /&gt;
    close(FILE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $sqldir);&lt;br /&gt;
my @files = readdir(DIR);&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach my $file (sort @files) {&lt;br /&gt;
   next unless $file =~ /bz2$/;&lt;br /&gt;
&lt;br /&gt;
   my $r = `scp -Cq $sqldir/$file $remote:$sqldirremote 2&amp;gt;&amp;amp;1`;&lt;br /&gt;
#   print &amp;quot;scp $sqldir/$file $remote:$sqldirremote&amp;quot;;&lt;br /&gt;
   unless ($?==0) {&lt;br /&gt;
      push @err, &amp;quot;scp -Cq $sqldir/$file $remote:$sqldirremote ($r)&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   else {&lt;br /&gt;
      `mv $sqldir/$file $archive`;&lt;br /&gt;
      `ssh $remote mv $sqldirremote/$file $sqldirremote/${file}.done`;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
`rm $sqldir/.lock` unless $dry;&lt;br /&gt;
&lt;br /&gt;
if (@err) {&lt;br /&gt;
   email_support(&#039;bwdb2: sendsql.pl error&#039;,join &amp;quot;\n&amp;quot;, @err);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub email_support {&lt;br /&gt;
    my $subj=shift;&lt;br /&gt;
    my $body=shift;&lt;br /&gt;
    use Mail::Sendmail;&lt;br /&gt;
&lt;br /&gt;
    # prepare message&lt;br /&gt;
    my %mail = (&lt;br /&gt;
        To      =&amp;gt; &#039;support@johncompanies.com,dave@johncompanies.com&#039;,&lt;br /&gt;
        From    =&amp;gt; &#039;support@johncompanies.com&#039;,&lt;br /&gt;
        Subject =&amp;gt; $subj,&lt;br /&gt;
        Message =&amp;gt; $body,&lt;br /&gt;
        smtp    =&amp;gt; &#039;mail.johncompanies.com&#039;,&lt;br /&gt;
    );&lt;br /&gt;
    sendmail(%mail) || warn &amp;quot;Error: $Mail::Sendmail::error&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub debug {&lt;br /&gt;
    my $message = shift;&lt;br /&gt;
    if ($debug) {&lt;br /&gt;
        print &amp;quot;$message\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# var full during ft-v05.2005-03-28.084500-0800 and&lt;br /&gt;
# 2005-02-24 69.55.226&lt;br /&gt;
&lt;br /&gt;
# all port/daily totals before 2005-04-07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
#process flows&lt;br /&gt;
2,17,32,47 * * * * /usr/home/flowbin/processflows-sql.pl&lt;br /&gt;
#move sql commands to traffic db&lt;br /&gt;
8,23,38,53 * * * * /usr/home/flowbin/sendsql.pl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== flow processing: castle ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; /usr/home/flowbin/processflows.pl&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
#use strict;&lt;br /&gt;
#$debug=1;&lt;br /&gt;
#$dry=1;&lt;br /&gt;
&lt;br /&gt;
my $log = &#039;/usr/home/flowbin/discards.log&#039;;&lt;br /&gt;
&lt;br /&gt;
use Data::Dumper;&lt;br /&gt;
&lt;br /&gt;
BEGIN {&lt;br /&gt;
    push @INC, &amp;quot;/usr/home/flowbin&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
use db;&lt;br /&gt;
&lt;br /&gt;
#my $queuedir = &amp;quot;/usr/home/queue&amp;quot;;&lt;br /&gt;
my $queuedir = &amp;quot;/usr/home/working&amp;quot;;&lt;br /&gt;
my $archivedir = &amp;quot;/usr/home/archive&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
unless ($dry) {&lt;br /&gt;
    if (-e &amp;quot;$queuedir/.lock&amp;quot;) {&lt;br /&gt;
        open(FILE, &amp;quot;$queuedir/.lock&amp;quot;);&lt;br /&gt;
        my $pid = &amp;lt;FILE&amp;gt;;&lt;br /&gt;
        chomp($pid);&lt;br /&gt;
        close(FILE);&lt;br /&gt;
        if (kill(0, $pid)) {&lt;br /&gt;
            #another process is using the queue, bail out&lt;br /&gt;
            exit(0);&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            #dead lock file, remove it&lt;br /&gt;
            `rm $queuedir/.lock`;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    open(FILE, &amp;quot;&amp;gt; $queuedir/.lock&amp;quot;);&lt;br /&gt;
    print FILE &amp;quot;$$\n&amp;quot;;&lt;br /&gt;
    close(FILE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
my $db = db-&amp;gt;new();&lt;br /&gt;
$db-&amp;gt;connect(&#039;traffic&#039;, &#039;&#039;, &#039;root&#039;, &#039;5over3&#039;) || die $db-&amp;gt;{&#039;error&#039;};&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $queuedir);&lt;br /&gt;
my @files = readdir(DIR);&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach my $file (sort @files) {&lt;br /&gt;
    unless($file =~ /^\./) {&lt;br /&gt;
        $file =~ /([0-9]{4}-[0-9]{2}-[0-9]{2})\.([0-9]{2})([0-9]{2})([0-9]{2})/;&lt;br /&gt;
        my $date = &amp;quot;$1 $2:$3:$4&amp;quot;;&lt;br /&gt;
        my $condensedDate = $1;&lt;br /&gt;
        $condensedDate =~ s/-//g;&lt;br /&gt;
        my $iptotal = {};&lt;br /&gt;
        my $protototal = {};&lt;br /&gt;
        my $porttotal = {};&lt;br /&gt;
&lt;br /&gt;
        &amp;amp;debug(&amp;quot;started file $file at &amp;quot;);&lt;br /&gt;
        &amp;amp;debug(`date`);&lt;br /&gt;
        &amp;amp;debug(&amp;quot;getting raw flow data (flow-print)&amp;quot;);&lt;br /&gt;
        `cat $queuedir/$file | /usr/local/bin/flow-print -f 5 &amp;gt; /usr/home/working/tmp-$file`;&lt;br /&gt;
        &amp;amp;debug(&amp;quot;aggregating data at &amp;quot;);&lt;br /&gt;
        &amp;amp;debug(`date`);&lt;br /&gt;
        unless (open(DATA, &amp;quot;/usr/home/working/tmp-$file&amp;quot;)) { die &amp;quot;can&#039;t open: $!&amp;quot;; }&lt;br /&gt;
        LOOP: while (my $line = readline DATA) {&lt;br /&gt;
            my @d = split /[\s]+/, $line;&lt;br /&gt;
            if ($d[0] ne &#039;&#039; &amp;amp;&amp;amp; $d[0] ne &#039;Start&#039;) {&lt;br /&gt;
                my $addr = 0;&lt;br /&gt;
                my $port = 0;&lt;br /&gt;
&lt;br /&gt;
                #Start End Sif SrcIPaddress SrcP DIf DstIPaddress DstP P Fl Pkts Octets&lt;br /&gt;
                #0     1   2   3            4    5   6            7    8 9  10   11&lt;br /&gt;
                          #|&lt;br /&gt;
                          # outbound = 2, inbound = 1&lt;br /&gt;
&lt;br /&gt;
                my (@src_ip) = split &#039;\.&#039;, $d[3];&lt;br /&gt;
                my (@dst_ip) = split &#039;\.&#039;, $d[6];&lt;br /&gt;
&lt;br /&gt;
                if ($src_ip[0] == 69 &amp;amp;&amp;amp; $src_ip[1] == 55 &amp;amp;&amp;amp;&lt;br /&gt;
                    $src_ip[2] &amp;gt;= 224 &amp;amp;&amp;amp; $src_ip[2] &amp;lt;= 239 &amp;amp;&amp;amp;&lt;br /&gt;
                    $src_ip[2] != 229 &amp;amp;&amp;amp; $src_ip[2] != 231) { # for castle&lt;br /&gt;
#                if ($src_ip[0] == 69 &amp;amp;&amp;amp; $src_ip[1] == 55 &amp;amp;&amp;amp; $src_ip[2] == 229) { # for i2b&lt;br /&gt;
                   $d[2] = 2;&lt;br /&gt;
                   # hack for outbound bulk traffic counted 2x&lt;br /&gt;
                   if ($dst_ip[2] == 234) { $d[11] /= 2; $d[10] /= 2; }&lt;br /&gt;
                }&lt;br /&gt;
                elsif ($dst_ip[0] == 69 &amp;amp;&amp;amp; $dst_ip[1] == 55 &amp;amp;&amp;amp;&lt;br /&gt;
                       $dst_ip[2] &amp;gt;= 224 &amp;amp;&amp;amp; $dst_ip[2] &amp;lt;= 239 &amp;amp;&amp;amp;&lt;br /&gt;
                       $dst_ip[2] != 229 &amp;amp;&amp;amp; $dst_ip[2] != 231) { # for castle&lt;br /&gt;
#                elsif ($dst_ip[0] == 69 &amp;amp;&amp;amp; $dst_ip[1] == 55 &amp;amp;&amp;amp; $dst_ip[2] == 229) { # for i2b&lt;br /&gt;
                   $d[2] = 1;&lt;br /&gt;
                }&lt;br /&gt;
                else { next LOOP; }&lt;br /&gt;
&lt;br /&gt;
                if ($d[2] == 2) {&lt;br /&gt;
                    $addr = $d[3];&lt;br /&gt;
                    # if the dst-port is low, store that&lt;br /&gt;
                    if ($d[7] &amp;lt;= 1024) { $port = $d[7]; }&lt;br /&gt;
                    # if the src-port is low, store that&lt;br /&gt;
                    elsif ($d[4] &amp;lt;= 1024) { $port = $d[4]; }&lt;br /&gt;
                    else { $port = 99999; }&lt;br /&gt;
                }&lt;br /&gt;
                elsif ($d[2] == 1) {&lt;br /&gt;
                    $addr = $d[6];&lt;br /&gt;
                    # if the dst-port is high, assume its return traffic, try to store src-port if low&lt;br /&gt;
                    if ($d[7] &amp;gt; 1024) {&lt;br /&gt;
                        if ($d[4] &amp;lt;= 1024) { $port = $d[4]; }&lt;br /&gt;
                        else { $port = 99999; }&lt;br /&gt;
                    } else {&lt;br /&gt;
                        $port = $d[7];&lt;br /&gt;
                    }&lt;br /&gt;
                } else {&lt;br /&gt;
                    next LOOP;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                my (@ip) = split &#039;\.&#039;, $addr;&lt;br /&gt;
                unless ($ip[0] == 69) { next LOOP; }&lt;br /&gt;
                unless ($ip[1] == 55) { next LOOP; }&lt;br /&gt;
                unless ($ip[2] &amp;gt;= 224 &amp;amp;&amp;amp; $ip[2] &amp;lt;= 239 &amp;amp;&amp;amp; $ip[2] != 229 &amp;amp;&amp;amp; $ip[2] != 231) { next LOOP; }&lt;br /&gt;
#                unless ($ip[2] == 229) { next LOOP; }&lt;br /&gt;
&lt;br /&gt;
                my $classC = &amp;quot;$ip[0]_$ip[1]_$ip[2]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
#                          IP        dir&lt;br /&gt;
#                if ($d[10] &amp;lt; 2147483647) { $iptotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{&#039;pktTotal&#039;} += $d[10]; }&lt;br /&gt;
#                if ($d[11] &amp;lt; 2147483647) { $iptotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{&#039;octetTotal&#039;} += $d[11]; }&lt;br /&gt;
#&lt;br /&gt;
#                if ($d[10] &amp;lt; 2147483647) { $protototal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{&#039;pktTotal&#039;} += $d[10]; }&lt;br /&gt;
#                if ($d[11] &amp;lt; 2147483647) { $protototal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{&#039;octetTotal&#039;} += $d[11]; }&lt;br /&gt;
#&lt;br /&gt;
#                if ($d[10] &amp;lt; 2147483647) { $porttotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$port}-&amp;gt;{&#039;pktTotal&#039;} += $d[10]; }&lt;br /&gt;
#                if ($d[11] &amp;lt; 2147483647) { $porttotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$port}-&amp;gt;{&#039;octetTotal&#039;} += $d[11]; }&lt;br /&gt;
                $iptotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{&#039;pktTotal&#039;} += $d[10];&lt;br /&gt;
                $iptotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{&#039;octetTotal&#039;} += $d[11];&lt;br /&gt;
&lt;br /&gt;
                $protototal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{&#039;pktTotal&#039;} += $d[10];&lt;br /&gt;
                $protototal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{&#039;octetTotal&#039;} += $d[11];&lt;br /&gt;
&lt;br /&gt;
                $porttotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{$port}-&amp;gt;{&#039;pktTotal&#039;} += $d[10];&lt;br /&gt;
                $porttotal-&amp;gt;{$classC}-&amp;gt;{$addr}-&amp;gt;{$d[2]}-&amp;gt;{$d[8]}-&amp;gt;{$port}-&amp;gt;{&#039;octetTotal&#039;} += $d[11];&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        close(DATA);&lt;br /&gt;
        `rm /usr/home/working/tmp-$file`;&lt;br /&gt;
        &amp;amp;debug(&amp;quot;processing ip totals at &amp;quot;);&lt;br /&gt;
        &amp;amp;debug(`date`);&lt;br /&gt;
        foreach my $classC (keys(%{$iptotal})) {&lt;br /&gt;
            $db-&amp;gt;query(&amp;quot;lock tables dailyIpTotals_$classC write&amp;quot;) unless $dry;&lt;br /&gt;
            my @values;&lt;br /&gt;
            foreach my $ip (keys(%{$iptotal-&amp;gt;{$classC}})) {&lt;br /&gt;
                foreach my $dir (keys(%{$iptotal-&amp;gt;{$classC}-&amp;gt;{$ip}})) {&lt;br /&gt;
                    my $octets = $iptotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{&#039;octetTotal&#039;};&lt;br /&gt;
                    my $packets = $iptotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{&#039;pktTotal&#039;};&lt;br /&gt;
#                    $packets = $packets &amp;gt; 2147483647 ? 0 : $packets;&lt;br /&gt;
                    if ($octets &amp;gt; 2147483647) {&lt;br /&gt;
                        my $ddir = $dir==1 ? &#039;in&#039; : &#039;out&#039;;&lt;br /&gt;
                        `echo &amp;quot;$date $ip $ddir $octets\n&amp;quot; &amp;gt;&amp;gt; $log`;&lt;br /&gt;
#                        $octets = 0;&lt;br /&gt;
                    }&lt;br /&gt;
                    # dailyIpTotals.id = ip(no .&#039;s)-yyyymmdd-direction&lt;br /&gt;
                    my $id = &amp;quot;$ip-$condensedDate-$dir&amp;quot;;&lt;br /&gt;
                    $id =~ s/\.//g;&lt;br /&gt;
                    push @values, &amp;quot;(&#039;$date&#039;, &#039;$ip&#039;, $dir, $octets, $packets)&amp;quot;;&lt;br /&gt;
                    my $sql = &amp;quot;insert into dailyIpTotals_$classC values (&#039;$id&#039;, &#039;$date&#039;, &#039;$ip&#039;, $dir, $octets, $packets) ON DUPLICATE KEY UPDATE octets=octets+$octets, packets=packets+$packets&amp;quot;;&lt;br /&gt;
                    print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
                    $db-&amp;gt;query($sql) unless $dry;&lt;br /&gt;
#                    $db-&amp;gt;query(&amp;quot;insert into ipTotals values (&#039;$date&#039;, &#039;$ip&#039;, $dir, $octets, $packets)&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            $db-&amp;gt;query(&amp;quot;unlock tables&amp;quot;) unless $dry;&lt;br /&gt;
&lt;br /&gt;
            $db-&amp;gt;query(&amp;quot;lock tables ipTotals_$classC write&amp;quot;) unless $dry;&lt;br /&gt;
            # break inserts into 100 records at a time&lt;br /&gt;
            &amp;amp;debug(&amp;quot;inserting $#values +1 values&amp;quot;);&lt;br /&gt;
            while ($#values &amp;gt; 0) {&lt;br /&gt;
                my $sql = &amp;quot;insert into ipTotals_$classC values &amp;quot;;&lt;br /&gt;
                my $max_index = $#values &amp;gt; 100 ? 100 : $#values;&lt;br /&gt;
                for (my $i=0; $i&amp;lt;=$max_index; $i++) {&lt;br /&gt;
                    $sql .= shift @values;&lt;br /&gt;
                    $sql .= &#039;,&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                chop $sql;&lt;br /&gt;
                print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
                $db-&amp;gt;query($sql) unless $dry;&lt;br /&gt;
            }&lt;br /&gt;
            $db-&amp;gt;query(&amp;quot;unlock tables&amp;quot;) unless $dry;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        sleep 20;&lt;br /&gt;
#        &amp;amp;debug(&amp;quot;processing protocol totals at &amp;quot;);&lt;br /&gt;
#        &amp;amp;debug(`date`);&lt;br /&gt;
#        foreach my $classC (keys(%{$protototal})) {&lt;br /&gt;
#            $db-&amp;gt;query(&amp;quot;lock tables dailyProtoTotals_$classC write&amp;quot;) unless $dry;&lt;br /&gt;
#            my @values;&lt;br /&gt;
#            foreach my $ip (keys(%{$protototal-&amp;gt;{$classC}})) {&lt;br /&gt;
#                foreach my $dir (keys(%{$protototal-&amp;gt;{$classC}-&amp;gt;{$ip}})) {&lt;br /&gt;
#                    foreach my $proto (keys(%{$protototal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}})) {&lt;br /&gt;
#                        my $octets = $protototal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{$proto}-&amp;gt;{&#039;octetTotal&#039;};&lt;br /&gt;
#                        my $packets = $protototal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{$proto}-&amp;gt;{&#039;pktTotal&#039;};&lt;br /&gt;
# #                        $octets = $octets &amp;gt; 2147483647 ? 0 : $octets;&lt;br /&gt;
# #                        $packets = $packets &amp;gt; 2147483647 ? 0 : $packets;&lt;br /&gt;
#                        # dailyProtoTotals.id = ip(no .&#039;s)-yyyymmdd-direction-proto&lt;br /&gt;
#                        my $id = &amp;quot;$ip-$condensedDate-$dir-$proto&amp;quot;;&lt;br /&gt;
#                        $id =~ s/\.//g;&lt;br /&gt;
#                        push @values, &amp;quot;(&#039;$date&#039;, &#039;$ip&#039;, $dir, $proto, $octets, $packets)&amp;quot;;&lt;br /&gt;
#                        my $sql = &amp;quot;insert into dailyProtoTotals_$classC values (&#039;$id&#039;, &#039;$date&#039;, &#039;$ip&#039;, $dir, $proto, $octets, $packets) ON DUPLICATE KEY UPDATE octets=octets+$octets, packets=packets+$packets&amp;quot;;&lt;br /&gt;
#                        print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
#                        $db-&amp;gt;query($sql) unless $dry;&lt;br /&gt;
# #                        $db-&amp;gt;query(&amp;quot;insert into protoTotals values (&#039;$date&#039;, &#039;$ip&#039;, $dir, $proto, $octets, $packets)&amp;quot;);&lt;br /&gt;
#                    }&lt;br /&gt;
#                }&lt;br /&gt;
#            }&lt;br /&gt;
#            $db-&amp;gt;query(&amp;quot;unlock tables&amp;quot;) unless $dry;&lt;br /&gt;
#            my $sql = &amp;quot;insert into protoTotals_$classC values &amp;quot;;&lt;br /&gt;
#            $sql .= join &#039;,&#039;, @values;&lt;br /&gt;
#            $db-&amp;gt;query(&amp;quot;lock tables protoTotals_$classC write&amp;quot;) unless $dry;&lt;br /&gt;
#            print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
#            $db-&amp;gt;query($sql) unless $dry;&lt;br /&gt;
#            $db-&amp;gt;query(&amp;quot;unlock tables&amp;quot;) unless $dry;&lt;br /&gt;
#        }&lt;br /&gt;
&lt;br /&gt;
        &amp;amp;debug(&amp;quot;processing port totals at &amp;quot;);&lt;br /&gt;
        &amp;amp;debug(`date`);&lt;br /&gt;
        foreach my $classC (keys(%{$porttotal})) {&lt;br /&gt;
            $db-&amp;gt;query(&amp;quot;lock tables dailyPortTotals_$classC write&amp;quot;) unless $dry;&lt;br /&gt;
            my @values;&lt;br /&gt;
            foreach my $ip (keys(%{$porttotal-&amp;gt;{$classC}})) {&lt;br /&gt;
                foreach my $dir (keys(%{$porttotal-&amp;gt;{$classC}-&amp;gt;{$ip}})) {&lt;br /&gt;
                    foreach my $proto (keys(%{$porttotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}})) {&lt;br /&gt;
                        foreach my $port (keys(%{$porttotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{$proto}})) {&lt;br /&gt;
                            my $octets = $porttotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{$proto}-&amp;gt;{$port}-&amp;gt;{&#039;octetTotal&#039;};&lt;br /&gt;
                            my $packets = $porttotal-&amp;gt;{$classC}-&amp;gt;{$ip}-&amp;gt;{$dir}-&amp;gt;{$proto}-&amp;gt;{$port}-&amp;gt;{&#039;pktTotal&#039;};&lt;br /&gt;
    #                        $octets = $octets &amp;gt; 2147483647 ? 0 : $octets;&lt;br /&gt;
    #                        $packets = $packets &amp;gt; 2147483647 ? 0 : $packets;&lt;br /&gt;
&lt;br /&gt;
                            # dailyPortTotals.id = ip(no .&#039;s)-yyyymmdd-direction-protocol-port&lt;br /&gt;
                            my $id = &amp;quot;$ip-$condensedDate-$dir-$proto-$port&amp;quot;;&lt;br /&gt;
                            $id =~ s/\.//g;&lt;br /&gt;
                            push @values, &amp;quot;(&#039;$date&#039;, &#039;$ip&#039;, $dir, $proto, $port, $octets, $packets)&amp;quot;;&lt;br /&gt;
                            my $sql = &amp;quot;insert into dailyPortTotals_$classC values (&#039;$id&#039;, &#039;$date&#039;, &#039;$ip&#039;, $dir, $proto, $port, $octets, $packets) ON DUPLICATE KEY UPDATE octets=octets+$octets, packets=packets+$packets&amp;quot;;&lt;br /&gt;
                            print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
                            $db-&amp;gt;query($sql) unless $dry;&lt;br /&gt;
    #                        $db-&amp;gt;query(&amp;quot;insert into portTotals values (&#039;$date&#039;, &#039;$ip&#039;, $dir, $port, $octets, $packets)&amp;quot;);&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            $db-&amp;gt;query(&amp;quot;unlock tables&amp;quot;) unless $dry;&lt;br /&gt;
&lt;br /&gt;
            $db-&amp;gt;query(&amp;quot;lock tables portTotals_$classC write&amp;quot;) unless $dry;&lt;br /&gt;
            # break inserts into 100 records at a time&lt;br /&gt;
            &amp;amp;debug(&amp;quot;inserting $#values +1 values&amp;quot;);&lt;br /&gt;
            while ($#values &amp;gt; 0) {&lt;br /&gt;
                my $sql = &amp;quot;insert into portTotals_$classC values &amp;quot;;&lt;br /&gt;
                my $max_index = $#values &amp;gt; 100 ? 100 : $#values;&lt;br /&gt;
                for (my $i=0; $i&amp;lt;=$max_index; $i++) {&lt;br /&gt;
                    $sql .= shift @values;&lt;br /&gt;
                    $sql .= &#039;,&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                chop $sql;&lt;br /&gt;
                print &amp;quot;$sql\n&amp;quot; if $dry;&lt;br /&gt;
                $db-&amp;gt;query($sql) unless $dry;&lt;br /&gt;
            }&lt;br /&gt;
            $db-&amp;gt;query(&amp;quot;unlock tables&amp;quot;) unless $dry;&lt;br /&gt;
            sleep 10;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
#                       12     1 8      1    1= 23&lt;br /&gt;
# dailyIpTotals.id = ip(no .&#039;s)-yyyymmdd-direction&lt;br /&gt;
#                       12        1  8     1   1       3=26&lt;br /&gt;
# dailyProtoTotals.id = ip(no .&#039;s)-yyyymmdd-direction-proto&lt;br /&gt;
#                       12       1   8    1     1     5=28&lt;br /&gt;
# dailyPortTotals.id = ip(no .&#039;s)-yyyymmdd-direction-port&lt;br /&gt;
        #print &amp;quot;finished at &amp;quot;;&lt;br /&gt;
        #print `date`;&lt;br /&gt;
        `mv $queuedir/$file $archivedir` unless $dry;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
`rm $queuedir/.lock` unless $dry;&lt;br /&gt;
&lt;br /&gt;
sub debug {&lt;br /&gt;
    my $message = shift;&lt;br /&gt;
    if ($debug) {&lt;br /&gt;
        print &amp;quot;$message\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# var full during ft-v05.2005-03-28.084500-0800 and&lt;br /&gt;
# 2005-02-24 69.55.226&lt;br /&gt;
&lt;br /&gt;
# all port/daily totals before 2005-04-07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; /usr/home/flowbin/db.pm&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
#&lt;br /&gt;
# $Header: /usr/cvs/newgw/lib/db.pm,v 1.4 2003/06/05 18:20:01 glenn Exp $&lt;br /&gt;
#&lt;br /&gt;
# Copyright (c) 2003&lt;br /&gt;
#      e-Monitoring Networks, Inc.  All rights reserved.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
package db;&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use DBI;&lt;br /&gt;
&lt;br /&gt;
sub new {&lt;br /&gt;
    my $class = shift;&lt;br /&gt;
    my $self = {};&lt;br /&gt;
&lt;br /&gt;
    $self-&amp;gt;{&#039;debug&#039;} = 0;&lt;br /&gt;
    bless $self, $class;&lt;br /&gt;
&lt;br /&gt;
    return $self;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub connect {&lt;br /&gt;
    my $self = shift;&lt;br /&gt;
    my $dbname = shift;&lt;br /&gt;
    my $dbhost = shift;&lt;br /&gt;
    my $dbuser = shift;&lt;br /&gt;
    my $dbpass = shift;&lt;br /&gt;
&lt;br /&gt;
    my $host = &#039;&#039;;&lt;br /&gt;
    if (defined($dbhost)) {&lt;br /&gt;
        $host = &amp;quot;;host=$dbhost&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    eval {&lt;br /&gt;
        $self-&amp;gt;debug(&amp;quot;connecting to: DBI:mysql:database=$dbname;$host&amp;quot;, 1);&lt;br /&gt;
        $self-&amp;gt;{&#039;dbh&#039;} = DBI-&amp;gt;connect(&amp;quot;DBI:mysql:database=$dbname;$host&amp;quot;, $dbuser, $dbpass);&lt;br /&gt;
    };&lt;br /&gt;
    if ($self-&amp;gt;{&#039;dbh&#039;}) {&lt;br /&gt;
        return 1;&lt;br /&gt;
    }&lt;br /&gt;
    $self-&amp;gt;{&#039;error&#039;} = &amp;quot;Error connecting to database $@&amp;quot;;&lt;br /&gt;
    $self-&amp;gt;debug(&amp;quot;Error connecting to database $@&amp;quot;);&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub query {&lt;br /&gt;
    my $self = shift;&lt;br /&gt;
    my $query = shift;&lt;br /&gt;
&lt;br /&gt;
    $self-&amp;gt;debug($query, 1);&lt;br /&gt;
    my $sth;&lt;br /&gt;
    eval {&lt;br /&gt;
        $sth = $self-&amp;gt;{&#039;dbh&#039;}-&amp;gt;prepare($query);&lt;br /&gt;
    };&lt;br /&gt;
    unless ($sth) {&lt;br /&gt;
        $self-&amp;gt;{&#039;error&#039;} = &amp;quot;error preparing query $@&amp;quot;;&lt;br /&gt;
        $self-&amp;gt;debug(&amp;quot;error preparing query $@&amp;quot;);&lt;br /&gt;
        return undef;&lt;br /&gt;
    }&lt;br /&gt;
    my $qty;&lt;br /&gt;
    eval {&lt;br /&gt;
        $qty = $sth-&amp;gt;execute;&lt;br /&gt;
    };&lt;br /&gt;
    unless ($qty) {&lt;br /&gt;
        $self-&amp;gt;{&#039;error&#039;} = &amp;quot;error executing query $@&amp;quot;;&lt;br /&gt;
        warn &amp;quot;error executing query $@ $query&amp;quot;;&lt;br /&gt;
        return undef;&lt;br /&gt;
    }&lt;br /&gt;
    $self-&amp;gt;debug(&amp;quot;returning $qty, $sth from query&amp;quot;, 6);&lt;br /&gt;
    return ($qty, $sth);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub disconnect {&lt;br /&gt;
    my $self = shift;&lt;br /&gt;
&lt;br /&gt;
    $self-&amp;gt;{&#039;dbh&#039;}-&amp;gt;disconnect;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub debug {&lt;br /&gt;
    my $self = shift;&lt;br /&gt;
    my $msg = shift;&lt;br /&gt;
    my $level = shift || 0;&lt;br /&gt;
&lt;br /&gt;
    if ($level &amp;lt; $self-&amp;gt;{&#039;debug&#039;}) {&lt;br /&gt;
        print &amp;quot;$msg\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 mkdir /usr/home/archive&lt;br /&gt;
 mkdir -p /usr/home/sql/tmp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
#process flows&lt;br /&gt;
2,17,32,47 * * * * /usr/home/flowbin/processflows.pl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== setup traffic db ====&lt;br /&gt;
* Install mysql:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/databases/mysql50-server&lt;br /&gt;
make install clean&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cat &amp;gt;&amp;gt; /etc/rc.conf&lt;br /&gt;
 mysql_enable=&amp;quot;YES&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Move db data dir:&lt;br /&gt;
 /usr/local/etc/rc.d/mysql-server stop&lt;br /&gt;
 mkdir /usr/home/database/&lt;br /&gt;
 mv /var/db/mysql/* /usr/home/database/&lt;br /&gt;
 chown -R mysql:mysql /usr/home/database&lt;br /&gt;
&lt;br /&gt;
Edit database location in startup script:&lt;br /&gt;
 vi /usr/local/etc/rc.d/mysql-server&lt;br /&gt;
 # : ${mysql_dbdir=&amp;quot;/var/db/mysql&amp;quot;}&lt;br /&gt;
 : ${mysql_dbdir=&amp;quot;/usr/home/database&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
 /usr/local/etc/rc.d/mysql-server start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install mysql perl database modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/ports/databases/p5-DBI&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/databases/p5-DBD-mysql50&lt;br /&gt;
make install clean&lt;br /&gt;
(no to SSL support)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Setting up database&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rehash&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server start&lt;br /&gt;
mysql -u root&lt;br /&gt;
create database traffic;&lt;br /&gt;
grant all on *.* to root@localhost identified by &#039;5over3&#039;;&lt;br /&gt;
grant all on traffic.* to jc@10.1.4.5 identified by &#039;2gMKY3Wt&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this was a new server we&#039;d setup new tables. See [[#mysql_2|mysql]] for how those tables would be setup.&lt;br /&gt;
&lt;br /&gt;
We are assuming here we are moving data from an existing db, here&#039;s how that&#039;s done (from the current traffic db):&lt;br /&gt;
 rsync -av --progress /usr/home/database/traffic/ 10.1.4.203:/usr/home/database/traffic/&lt;br /&gt;
&lt;br /&gt;
When you&#039;re ready to do the cutover, shut down mysql on both hosts and do one last sync.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== process flows from bwdb2 ====&lt;br /&gt;
On traffic database server (bwdb):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
#import sql from bwdb2&lt;br /&gt;
10,25,40,55 * * * * /usr/home/flowbin/processsql.pl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add access to mysql: &lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u root -p &lt;br /&gt;
grant all on traffic.* to bwdb2@localhost identified by &#039;s1lver4d&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cat &amp;gt; /usr/home/flowbin/processsql.pl&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
#use strict;&lt;br /&gt;
#$debug=1;&lt;br /&gt;
#$dry=1;&lt;br /&gt;
&lt;br /&gt;
my $sqldir = &amp;quot;/usr/home/bwdb2/pending&amp;quot;;&lt;br /&gt;
my $mysql = &#039;/usr/local/bin/mysql&#039;;&lt;br /&gt;
my @err;&lt;br /&gt;
unless ($dry) {&lt;br /&gt;
    if (-e &amp;quot;$sqldir/.lock&amp;quot;) {&lt;br /&gt;
        open(FILE, &amp;quot;$sqldir/.lock&amp;quot;);&lt;br /&gt;
        my $pid = &amp;lt;FILE&amp;gt;;&lt;br /&gt;
        chomp($pid);&lt;br /&gt;
        close(FILE);&lt;br /&gt;
        if (kill(0, $pid)) {&lt;br /&gt;
            #another process is using the queue, bail out&lt;br /&gt;
            exit(0);&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            #dead lock file, remove it&lt;br /&gt;
            `rm $sqldir/.lock`;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    open(FILE, &amp;quot;&amp;gt; $sqldir/.lock&amp;quot;);&lt;br /&gt;
    print FILE &amp;quot;$$\n&amp;quot;;&lt;br /&gt;
    close(FILE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $sqldir);&lt;br /&gt;
my @files = readdir(DIR);&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach my $file (sort @files) {&lt;br /&gt;
   next unless $file =~ /done$/;&lt;br /&gt;
   my $r = `bzcat $sqldir/$file | $mysql -u bwdb2 -ps1lver4d traffic`;&lt;br /&gt;
   unless ($?==0) {&lt;br /&gt;
      push @err, &amp;quot;bzcat $sqldir/$file | $mysql -u bwdb2 -pxxxxx traffic ($r)&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   else {&lt;br /&gt;
      `rm $sqldir/$file`;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
`rm $sqldir/.lock` unless $dry;&lt;br /&gt;
&lt;br /&gt;
if (@err) {&lt;br /&gt;
   email_support(&#039;bwdb: processsql.pl error&#039;,join &amp;quot;\n&amp;quot;, @err);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub email_support {&lt;br /&gt;
    my $subj=shift;&lt;br /&gt;
    my $body=shift;&lt;br /&gt;
    use Mail::Sendmail;&lt;br /&gt;
&lt;br /&gt;
    # prepare message&lt;br /&gt;
    my %mail = (&lt;br /&gt;
        To      =&amp;gt; &#039;dave@johncompanies.com&#039;,&lt;br /&gt;
        From    =&amp;gt; &#039;support@johncompanies.com&#039;,&lt;br /&gt;
        Subject =&amp;gt; $subj,&lt;br /&gt;
        Message =&amp;gt; $body,&lt;br /&gt;
        smtp    =&amp;gt; &#039;mail.johncompanies.com&#039;,&lt;br /&gt;
    );&lt;br /&gt;
    sendmail(%mail) || warn &amp;quot;Error: $Mail::Sendmail::error&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub debug {&lt;br /&gt;
    my $message = shift;&lt;br /&gt;
    if ($debug) {&lt;br /&gt;
        print &amp;quot;$message\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 chmod 0700 /usr/home/flowbin/processsql.pl&lt;br /&gt;
&lt;br /&gt;
Make sure bwdb is reachable from the outside only to bwdb2:&lt;br /&gt;
&lt;br /&gt;
On nat, add to &amp;lt;tt&amp;gt;/etc/ipnat.rules&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# bwdb&lt;br /&gt;
bimap fxp0 10.1.4.203/32 -&amp;gt; 69.55.233.199/32&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload:&lt;br /&gt;
 ipnat -C -F -f /etc/ipnat.rules&lt;br /&gt;
&lt;br /&gt;
Setup firewall rule on firewall:&lt;br /&gt;
 ipfw add 00094 allow ip from 66.181.18.5 to 69.55.233.199 22&lt;br /&gt;
 ipfw add 00094 deny ip from any to 69.55.233.199&lt;br /&gt;
&lt;br /&gt;
Setup firewall on bwdb to restrict access now that it&#039;s nat&#039;d:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt;&amp;gt; /usr/local/etc/rc.d/boot.sh&lt;br /&gt;
ipfw add 1 allow tcp from any to any established&lt;br /&gt;
ipfw add 2 allow ip from 10.1.4.0/24,66.181.18.5,69.55.233.195 to me 22&lt;br /&gt;
ipfw add 3 allow ip from 10.1.4.5 to me 3306&lt;br /&gt;
ipfw add 4 allow ip from 69.55.225.225 53 to me &lt;br /&gt;
ipfw add 5 allow ip from 69.55.230.2 25 to me &lt;br /&gt;
ipfw add 6 allow ip from me to me 4444&lt;br /&gt;
ipfw add 7 allow icmp from any to me&lt;br /&gt;
ipfw add 8 allow udp from 10.1.4.203 to 10.1.4.203 dst-port 4444&lt;br /&gt;
ipfw add 9 allow udp from 10.1.4.5 to me 161&lt;br /&gt;
ipfw add 100 deny ip from any to me&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 chmod 0700 /usr/local/etc/rc.d/boot.sh&lt;br /&gt;
&lt;br /&gt;
From bwdb2, add ssh key:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh 69.55.233.199 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
&lt;br /&gt;
Confirm no password access:&lt;br /&gt;
 ssh 69.55.233.199 hostname&lt;br /&gt;
&lt;br /&gt;
= bwdb2 =&lt;br /&gt;
== Summary ==&lt;br /&gt;
This machine tracks and stores network traffic (netflow) at i2b. It is our means to monitor customer bandwidth usage.&lt;br /&gt;
&lt;br /&gt;
* Location: i2b, cab6&lt;br /&gt;
* OS: FreeBSD 6.4 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.2.4 There are 2 onboard nic&#039;s, one of which is the &amp;quot;listener&amp;quot;&lt;br /&gt;
* Hardware: Custom 2U. Single power supply. &lt;br /&gt;
* Drives: two 150 GB (2 x 150GB) RAID1 arrays running on a 3ware 7006 RAID card.&lt;br /&gt;
&lt;br /&gt;
== Services Provided ==&lt;br /&gt;
* netflow&lt;br /&gt;
* bigbrother &lt;br /&gt;
&lt;br /&gt;
== netflow ==&lt;br /&gt;
&lt;br /&gt;
The main function of this server is to run netflow on an eth device in promiscuous mode so as to hear everything happening on the port (wherein all network traffic is mirrored to that port via the cisco swith). Every 15min, it creates a flow file under &amp;lt;tt&amp;gt;/usr/home/flows/&amp;lt;/tt&amp;gt; (organized by date). The flow file contains all traffic data for a 15min increment of time.&lt;br /&gt;
&lt;br /&gt;
A cronjob moves that flow file (or files if there are multiple due to some delay) &lt;br /&gt;
 1,16,31,46 * * * * /usr/home/flowbin/queue.pl&lt;br /&gt;
&lt;br /&gt;
into a processing queue:&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/home/working&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then a separate file processes whatever flow files it finds there, and builds sql files ready for insertion into the traffic database:&lt;br /&gt;
 2,17,32,47 * * * * /usr/home/flowbin/processflows-sql.pl&lt;br /&gt;
&lt;br /&gt;
Then yet another process copies the sql files to the traffic database server for processing and insertion into the mysql database:&lt;br /&gt;
 8,23,38,53 * * * * /usr/home/flowbin/sendsql.pl&lt;br /&gt;
&lt;br /&gt;
== Regular maintenance ==&lt;br /&gt;
*[[Routine_Maintenance#Adaptec_Controllers|Check RAID array]]&lt;br /&gt;
&lt;br /&gt;
* if space becomes tight, move sql files and flow files to backup server, both located in &amp;lt;tt&amp;gt;/usr/home/flowbin/archive&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= firewall (newgateway) =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
This machine is the primary (only) firewall for the entire network at castle. &lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-8&lt;br /&gt;
* OS: FreeBSD 4.11 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.223, Pub IPs: 69.55.233.164 (external), 69.55.233.156 (internal). It has 3 network connections (2 onboard, 1 PCI) connecting to the external, internal and private networks. If you&#039;re looking at the back of the server, the internal-network-facing nic is on the right (em1), and the external-facing-network (3750) is on the left (em0).&lt;br /&gt;
* Hardware: 6 SCSI SCA drive bays (2 columns of 3, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: 36 GB (2 x 36GB) RAID1 array running on an Adaptec 2120S PCI RAID card.&lt;br /&gt;
&lt;br /&gt;
== Services Provided ==&lt;br /&gt;
* firewall (ipfw)&lt;br /&gt;
* snmp&lt;br /&gt;
* bigbrother&lt;br /&gt;
&lt;br /&gt;
== Firewall Rule Configuration ==&lt;br /&gt;
&lt;br /&gt;
See [[FreeBSD_Reference#Firewall_Rule_Configuration|Firewall Rule Configuration]] for more discussion on how to actually manipulate firewall rules.&lt;br /&gt;
&lt;br /&gt;
== Disaster Recovery ==&lt;br /&gt;
&lt;br /&gt;
If there is ever an outage with the firewall, the old firewall &amp;quot;gate&amp;quot; is located just below and is running with the proper network configuration, but with no firewall rules in place (to facilitate good throughput). Have castle move the cable on the left on the current firewall to the left port in the old firewall and the right cable to the right port.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what you need to put in /etc/rc.conf to get a firewall going (as far as routes and IPs)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;hostname=&amp;quot;newgateway.johncompanies.com&amp;quot;&lt;br /&gt;
firewall_script=&amp;quot;/etc/firewall.sh&amp;quot;&lt;br /&gt;
firewall_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NONE&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
snmpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
#snmpd_flags=&amp;quot;-as -p /var/run/snmpd.pid&amp;quot;&lt;br /&gt;
#ipnat_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
#ipnat_rules=&amp;quot;/etc/ipnat.rules&amp;quot;&lt;br /&gt;
gateway_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
defaultrouter=&amp;quot;69.55.233.161&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.223 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_em0=&amp;quot;inet 69.55.233.164 netmask 255.255.255.248&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Original JohnCompanies 69.55.224.0/20&lt;br /&gt;
#&lt;br /&gt;
ifconfig_em1=&amp;quot;inet 69.55.233.156 netmask 255.255.255.248&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;route1 route2 route3 route4 route5 route6 route7 route8 route9 route10 route11 route1&lt;br /&gt;
2 route13 route14 route15 route16 route17 route18&amp;quot;&lt;br /&gt;
&lt;br /&gt;
route_route1=&amp;quot;-net 69.55.224.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route2=&amp;quot;-net 69.55.225.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route3=&amp;quot;-net 69.55.226.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route4=&amp;quot;-net 69.55.227.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route5=&amp;quot;-net 69.55.228.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route6=&amp;quot;-net 69.55.229.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route7=&amp;quot;-net 69.55.230.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route8=&amp;quot;-net 69.55.231.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route9=&amp;quot;-net 69.55.232.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route10=&amp;quot;-net 69.55.233.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route11=&amp;quot;-net 69.55.234.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route12=&amp;quot;-net 69.55.235.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route13=&amp;quot;-net 69.55.236.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route14=&amp;quot;-net 69.55.237.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route15=&amp;quot;-net 69.55.238.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route16=&amp;quot;-net 69.55.239.0 69.55.233.153&amp;quot;&lt;br /&gt;
route_route17=&amp;quot;-net 10.1.5.0 10.1.4.2&amp;quot;&lt;br /&gt;
route_route18=&amp;quot;-net 10.1.6.0 10.1.4.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#In case of 3750 failure:&lt;br /&gt;
#defaultrouter=&amp;quot;69.43.128.81&amp;quot;&lt;br /&gt;
#ifconfig_em0=&amp;quot;inet 69.43.129.84 netmask 255.255.255.248&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#bind .1&#039;s here:&lt;br /&gt;
#ifconfig_em1=&amp;quot;inet 69.55.224.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias0=&amp;quot;inet 69.55.225.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias1=&amp;quot;inet 69.55.226.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias2=&amp;quot;inet 69.55.227.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias3=&amp;quot;inet 69.55.228.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias4=&amp;quot;inet 69.55.229.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias5=&amp;quot;inet 69.55.230.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias6=&amp;quot;inet 69.55.231.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias7=&amp;quot;inet 69.55.232.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias8=&amp;quot;inet 69.55.233.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias9=&amp;quot;inet 69.55.234.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias10=&amp;quot;inet 69.55.235.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias11=&amp;quot;inet 69.55.236.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias12=&amp;quot;inet 69.55.237.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias13=&amp;quot;inet 69.55.238.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_em1_alias14=&amp;quot;inet 69.55.239.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#bulk:&lt;br /&gt;
# reassign 69.55.231.1 to the int iface on the firewall&lt;br /&gt;
# set the DG on the firewall to 69.43.138.9&lt;br /&gt;
# set the ext firewall IP to 69.43.138.12, NM: 255.255.255.248&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cronjobs ==&lt;br /&gt;
 1 0 * * * /usr/local/etc/rsync.backup&lt;br /&gt;
Backup to backup1&lt;br /&gt;
&lt;br /&gt;
 0 0 1 * * /sbin/ipfw zero&lt;br /&gt;
 0 0 1 * * /sbin/ipfw del 3  4 5 17331&lt;br /&gt;
Reset counters and remove pipe rules on the 1st of the month. Pay attention when setting up a rule as 3 4 5 (that&#039;s not a temporary traffic cap). &lt;br /&gt;
&lt;br /&gt;
Inside &amp;lt;tt&amp;gt;/etc/daily.local&amp;lt;/tt&amp;gt; you will see a call to &amp;lt;tt&amp;gt;/etc/makepiperules.pl&amp;lt;/tt&amp;gt;&lt;br /&gt;
This script will create &amp;lt;tt&amp;gt;/etc/firewall.sh&amp;lt;/tt&amp;gt; which contains all the firewall and pipe rules in place at the time the script was run.&lt;br /&gt;
&lt;br /&gt;
== DOS attacks ==&lt;br /&gt;
&lt;br /&gt;
See [[FreeBSD_Reference#Handling_a_DoS_attack|Handling a DoS attack]] regarding how to handle a DOS attack.&lt;br /&gt;
&lt;br /&gt;
Theres a background process (running from user shell) that monitors the firewall for incoming UDP DoS attacks. When it notices packets above a certain level it will&lt;br /&gt;
# enter a rule that allows all UDP to go through&lt;br /&gt;
# send an emergency email to support and indicating an attack is in progress&lt;br /&gt;
# send an email to castle (nocstaff@castleaccess.com and jcsupport@castleaccess.com) telling them to investigate and put up a null if warranted&lt;br /&gt;
# wait for a couple minutes to see if the attack subsides- if so it will remove the pass-all UDP rule, if not it will repeat the process from #1&lt;br /&gt;
This file lives under /usr/home/user/doswatch.pl&lt;br /&gt;
To run:&lt;br /&gt;
 cd /usr/home/user&lt;br /&gt;
 ./doswatch.pl &amp;amp;&lt;br /&gt;
&lt;br /&gt;
To kill;&lt;br /&gt;
 fg&lt;br /&gt;
 ^C&lt;br /&gt;
&lt;br /&gt;
It writes its findings to /usr/home/user/doswatch.log&lt;br /&gt;
&lt;br /&gt;
= backup1 =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
This machine acts as the primary backup location for all VPS-based customers. No customer directly accesses this server to perform their backups. We also store cancelled customers on this server. &lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-8&lt;br /&gt;
* OS: Ubuntu 8.04.1 server x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.8, Pub IP: 69.55.230.11 (firewalled from all but JC infrastructure @ i2b)&lt;br /&gt;
* Hardware: 6 SATA drive bays (2 columns of 3, drive 0 top left, drive 1 just below) all hot-swap. Single power supply. &lt;br /&gt;
* Drives: 4.5 TB (6 x 1TB) RAID5 array running on a 3ware 9650SE-8LPML (8-port) card&lt;br /&gt;
&lt;br /&gt;
== Services provided ==&lt;br /&gt;
* backup via rsync&lt;br /&gt;
* mysql&lt;br /&gt;
* nfs&lt;br /&gt;
* snmp&lt;br /&gt;
* bigbrother&lt;br /&gt;
&lt;br /&gt;
== Usage and Notes ==&lt;br /&gt;
* all data is stored under /data&lt;br /&gt;
* virtually all jc infrastructure, and all VPS machines are setup to mount to backup1 via nfs (mountpoint: &amp;lt;tt&amp;gt;/backup1&amp;lt;/tt&amp;gt;), and they all have their ssh keys setup to allow passwordless rsync&#039;s&lt;br /&gt;
* each virt or jail backs up each evening to backup1. Each server has it&#039;s own directory (named for the server). Under those directories are 7 daily snapshots (0-6)&lt;br /&gt;
* at the time of writing, the mysql server running here is replicating from (slave to) the mysql instance on bwdb. Requests for bandwidth data usage for customers (coming from management, account manager, and accounting scripts running on mail) all direct towards the database &amp;quot;traffic&amp;quot; running on this server.&lt;br /&gt;
* cancelled customer systems are compressed and stored under &amp;lt;tt&amp;gt;/data/deprecated&amp;lt;/tt&amp;gt;&lt;br /&gt;
* archived bwdb2 flow files are stored under &amp;lt;tt&amp;gt;/data/bwdb2&amp;lt;/tt&amp;gt;&lt;br /&gt;
* critical files from backup2 are stored under &amp;lt;tt&amp;gt;/data/backup2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cronjobs ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00 5 * * * /usr/local/sbin/backupwatch.pl 2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&lt;br /&gt;
35 5 * * * /usr/local/sbin/usage_check; /usr/local/sbin/snapshot_archive; /usr/local/sbin/snapshot_rotate  /data/backuplog.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
this runs daily the scripts to report on how much disk space each customer system occupies and how long their backups took. Then it rotates backups for each system, removing the oldest backup. It will email support@johncompanies.com at it’s conclusion. This email can be deleted, however note when it begins to take significantly longer to complete, ie runs past 2200 pm – this usually indicates a problem on the backup server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;10,25,40,55 * * * * /usr/local/sbin/processsql.pl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
this processes prepared sql command files sent from/by bwdb2 (@ i2b) and imports them into the traffic database.&lt;br /&gt;
&amp;lt;pre&amp;gt;0 0 * * * /usr/local/sbin/3wraidchk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
checks the health of the RAID array&lt;br /&gt;
&lt;br /&gt;
== Regular maintenance ==&lt;br /&gt;
*[[Routine_Maintenance#Free_up_space_on_backup1|Remove old backups]]&lt;br /&gt;
*[[Routine_Maintenance#3ware|Check on auto-verify]]&lt;br /&gt;
&lt;br /&gt;
== build ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Setup raid5 with a boot vol of 12G 5.45tb &lt;br /&gt;
12G boot&lt;br /&gt;
4664 GB &lt;br /&gt;
&lt;br /&gt;
Install ubuntu 8.04&lt;br /&gt;
&lt;br /&gt;
Swap 4G&lt;br /&gt;
&lt;br /&gt;
Don’t format data drive&lt;br /&gt;
&lt;br /&gt;
http://www.unixgods.org/~tilo/linux_larger_2TB.html&lt;br /&gt;
&lt;br /&gt;
parted /dev/sdb&lt;br /&gt;
print&lt;br /&gt;
mklabel gpt&lt;br /&gt;
print&lt;br /&gt;
&lt;br /&gt;
#Disk /dev/sdb: 4987GB&lt;br /&gt;
#Sector size (logical/physical): 512B/512B&lt;br /&gt;
#Partition Table: gpt&lt;br /&gt;
&lt;br /&gt;
#Number  Start  End  Size  File system  Name  Flags&lt;br /&gt;
&lt;br /&gt;
mkpart primary ext3 0 4987GB&lt;br /&gt;
print&lt;br /&gt;
&lt;br /&gt;
#Disk /dev/sdb: 5987GB&lt;br /&gt;
#Sector size (logical/physical): 512B/512B&lt;br /&gt;
#Partition Table: gpt&lt;br /&gt;
&lt;br /&gt;
#Number  Start   End     Size    File system  Name     Flags&lt;br /&gt;
# 1      17.4kB  4987GB  4987GB               primary&lt;br /&gt;
&lt;br /&gt;
quit&lt;br /&gt;
&lt;br /&gt;
mkfs.ext3 /dev/sdb1&lt;br /&gt;
#mke2fs 1.40.8 (13-Mar-2008)&lt;br /&gt;
#Filesystem label=&lt;br /&gt;
#OS type: Linux&lt;br /&gt;
#Block size=4096 (log=2)&lt;br /&gt;
#Fragment size=4096 (log=2)&lt;br /&gt;
#304390144 inodes, 1217544183 blocks&lt;br /&gt;
#60877209 blocks (5.00%) reserved for the super user&lt;br /&gt;
#First data block=0&lt;br /&gt;
#Maximum filesystem blocks=0&lt;br /&gt;
#37157 block groups&lt;br /&gt;
#32768 blocks per group, 32768 fragments per group&lt;br /&gt;
#8192 inodes per group&lt;br /&gt;
#Superblock backups stored on blocks:&lt;br /&gt;
#        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,&lt;br /&gt;
#        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,&lt;br /&gt;
#        102400000, 214990848, 512000000, 550731776, 644972544&lt;br /&gt;
#&lt;br /&gt;
#Writing inode tables:   967/37157&lt;br /&gt;
&lt;br /&gt;
mkdir /data&lt;br /&gt;
&lt;br /&gt;
#root@backup1:~# df -h&lt;br /&gt;
#Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;
#/dev/sda2             8.3G  540M  7.3G   7% /&lt;br /&gt;
#varrun               1013M   40K 1013M   1% /var/run&lt;br /&gt;
#varlock              1013M     0 1013M   0% /var/lock&lt;br /&gt;
#udev                 1013M   56K 1013M   1% /dev&lt;br /&gt;
#devshm               1013M     0 1013M   0% /dev/shm&lt;br /&gt;
#/dev/sdb1             4.5T  192M  4.3T   1% /data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get upgrade&lt;br /&gt;
apt-get install snmp snmpd ntp nfs-kernel-server&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;\&amp;quot;\e[5~\&amp;quot;: history-search-backward&amp;quot; &amp;gt;&amp;gt; ~/.inputrc&lt;br /&gt;
echo &amp;quot;\&amp;quot;\e[6~\&amp;quot;: history-search-forward&amp;quot; &amp;gt;&amp;gt; ~/.inputrc&lt;br /&gt;
&lt;br /&gt;
vi /etc/ntp.conf&lt;br /&gt;
server 10.1.4.5&lt;br /&gt;
&lt;br /&gt;
scp root@10.1.4.3:/root/.ssh/authorized_keys /root/.ssh/&lt;br /&gt;
cd /root/&lt;br /&gt;
ssh-keygen -t dsa&lt;br /&gt;
echo &amp;quot;10.1.4.3        backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
cat .ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
&lt;br /&gt;
ssh backup2&lt;br /&gt;
&lt;br /&gt;
vi /root/.bashrc&lt;br /&gt;
export PS1=&amp;quot;[\u@\h \w]# &amp;quot;&lt;br /&gt;
alias h=&#039;history&#039;&lt;br /&gt;
alias vi=&#039;vim&#039;&lt;br /&gt;
alias j=&#039;jobs&#039;&lt;br /&gt;
export PS1=&amp;quot;[\u@\h \w]# &amp;quot;&lt;br /&gt;
alias dr=&#039;screen -dr&#039;&lt;br /&gt;
export EDITOR=vim&lt;br /&gt;
export GREP_OPTIONS=&#039;--color=auto&#039;&lt;br /&gt;
export HISTFILESIZE=1000&lt;br /&gt;
&lt;br /&gt;
source /root/.bashrc&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;# ttyS0 - getty &lt;br /&gt;
# &lt;br /&gt;
# This service maintains a getty on ttyS0 from the point the system is&lt;br /&gt;
# started until it is shut down again.&lt;br /&gt;
&lt;br /&gt;
start on runlevel 2&lt;br /&gt;
start on runlevel 3&lt;br /&gt;
start on runlevel 4&lt;br /&gt;
start on runlevel 5&lt;br /&gt;
&lt;br /&gt;
stop on runlevel 0&lt;br /&gt;
stop on runlevel 1&lt;br /&gt;
stop on runlevel 6&lt;br /&gt;
&lt;br /&gt;
respawn&lt;br /&gt;
exec /sbin/getty 38400 ttyS0&amp;quot; &amp;gt; /etc/event.d/ttyS0 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vi /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
serial --unit=0 --speed=38400 --word=8 --parity=no --stop=1&lt;br /&gt;
terminal --timeout=15 serial console&lt;br /&gt;
&lt;br /&gt;
append to kernel lines: &lt;br /&gt;
console=tty0 console=ttyS0,38400n8&lt;br /&gt;
&lt;br /&gt;
show menu:&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
echo &#039;rocommunity  jcread 10.1.4.5&lt;br /&gt;
rocommunity  jcread 10.1.4.3&lt;br /&gt;
agentaddress 10.1.4.8:161&#039; &amp;gt; /etc/snmp/snmpd.conf&lt;br /&gt;
&lt;br /&gt;
# to see which iface it is, on backup2:&lt;br /&gt;
&lt;br /&gt;
snmpwalk -v 1 -c jcread 10.1.4.8 interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;bb:x:1984:1984:Big Brother:/home/bb:/bin/bash&amp;quot; &amp;gt;&amp;gt; /etc/passwd&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;bb:x:1984:&amp;quot; &amp;gt;&amp;gt; /etc/group&lt;br /&gt;
&lt;br /&gt;
pwconv&lt;br /&gt;
&lt;br /&gt;
mkdir /home/bb&lt;br /&gt;
chown bb.bb /home/bb&lt;br /&gt;
&lt;br /&gt;
cd ~bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-linux.tar .&lt;br /&gt;
&lt;br /&gt;
tar xf bb-linux.tar&lt;br /&gt;
&lt;br /&gt;
cd /home/bb/bbc1.9e-btf/etc&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1.johncompanies.com # ssh&amp;quot; &amp;gt;&amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;/:90:95&lt;br /&gt;
/var:90:95&lt;br /&gt;
/data:85:99&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-dftab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/bin/bb-disk.sh&lt;br /&gt;
(remove all | SORT xxxx)&lt;br /&gt;
&lt;br /&gt;
chmod +r /var/log/messages&lt;br /&gt;
&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
#(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
#(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
&lt;br /&gt;
#make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
vi /etc/rc.local&lt;br /&gt;
su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
echo &#039;/data 10.1.4.0/24(rw, no_root_squash,async,no_subtree_check)&#039; &amp;gt;&amp;gt; /etc/exports&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/nfs-kernel-server restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
echo &#039;chmod o+r /var/log/messages&#039; &amp;gt;&amp;gt; /etc/cron.weekly/sysklogd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
echo &#039;10.1.4.8                backup1&#039; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &#039;/dev/sdb1	/data  ext3  rw,noatime  0  0&#039; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to install digi drivers:&lt;br /&gt;
&lt;br /&gt;
wget http://ftp1.digi.com/support/driver/40002086_n.tgz&lt;br /&gt;
apt-get install linux-image-2.6.24-19-server&lt;br /&gt;
apt-get install linux-source-2.6.24 (not needed?)&lt;br /&gt;
apt-get install linux-headers-2.6.24-19-server &lt;br /&gt;
apt-get install make&lt;br /&gt;
apt-get install gcc&lt;br /&gt;
apt-get install g++	&lt;br /&gt;
apt-get install libncurses5-dev&lt;br /&gt;
apt-get install expect&lt;br /&gt;
apt-get install libdbi-perl libdate-calc-perl libdbd-mysql-perl&lt;br /&gt;
&lt;br /&gt;
cd /usr/src; ln -s linux-headers-2.6.24-19-server linux&lt;br /&gt;
./configure&lt;br /&gt;
make all&lt;br /&gt;
make install&lt;br /&gt;
make postinstall&lt;br /&gt;
&lt;br /&gt;
/usr/bin/dgrp_cfg_node -v -v init el 65.116.11.2 8&lt;br /&gt;
&lt;br /&gt;
apt-get install mysql&lt;br /&gt;
&lt;br /&gt;
mkdir /data/mysql&lt;br /&gt;
chown mysql:mysql /data/mysql&lt;br /&gt;
/etc/init.d/mysql stop&lt;br /&gt;
mv /var/lib/mysql/* /data/mysql/&lt;br /&gt;
mv /data/mysql/ib_* /var/lib/mysql/&lt;br /&gt;
vi /etc/mysql/my.cnf&lt;br /&gt;
(change datadir to /data/mysql)&lt;br /&gt;
vi /etc/apparmor.d/usr.sbin.mysqld&lt;br /&gt;
add:&lt;br /&gt;
  /data/mysql/ r,&lt;br /&gt;
  /data/mysql/** rwk,&lt;br /&gt;
Comment out:&lt;br /&gt;
#  /var/lib/mysql/ r,&lt;br /&gt;
#  /var/lib/mysql/** rwk,&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/apparmor restart&lt;br /&gt;
/etc/init.d/mysql start&lt;br /&gt;
&lt;br /&gt;
tw_cli /c0/u0 set ignoreECC=on&lt;br /&gt;
tw_cli /c0/u0 set storsave=balance&lt;br /&gt;
tw_cli /c0/u0 set cache=on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
0 0 * * * /usr/local/sbin/3wraidchk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= backup2 =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
This machine is used for archiving data and is a backup server for colo customers. It was the former primary backup location for all VPS-based customers before backup1 was installed. Only dedicated customers directly accesses this server to perform their backups. NOTE: power button is broken, so the reset button (paper clip) was rewired to be the power button.&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-7&lt;br /&gt;
* OS: FreeBSD 6.1 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.4.3, Pub IP: 69.55.230.10 (firewalled from all but JC infrastructure @ i2b)&lt;br /&gt;
* Hardware: 16 IDE drive bays (4 columns of 4, drive 0-0 top left, drive 0-1 just to the right TODO) all hot-swap. Triple power supply. &lt;br /&gt;
* Drives: &lt;br /&gt;
**3ware 7500-8:&lt;br /&gt;
***200 GB JBOD (1 x 200G) labeled 0-0&lt;br /&gt;
***500 GB RAID5 (3 x 250G) 0-1 thru 0-3&lt;br /&gt;
***700 GB RAID5 (4 x 250G) 0-4 thru 0-7&lt;br /&gt;
**3ware 7500-8:&lt;br /&gt;
***700 GB RAID5 (4 x 250G) 1-0 thru 1-3&lt;br /&gt;
***700 GB RAID5 (4 x 250G) 1-4 thru 1-7&lt;br /&gt;
&lt;br /&gt;
All drives MUST be western digital IDE drives. Other brands will not fit.&lt;br /&gt;
&lt;br /&gt;
In case of an outage, nfs will hang on all connected servers until the nfs service returns. If you can&#039;t get backup2 back online, you can get nfs running elsewhere and fake backup2&#039;s MAC&#039;s: priv: 00:0e:0c:59:c1:a6, pub: 00:07:e9:5b:c6:45&lt;br /&gt;
&lt;br /&gt;
To configure:&lt;br /&gt;
 ifconfig fxp0 link 00:90:27:f9:0a:d9&lt;br /&gt;
&lt;br /&gt;
== Services provided ==&lt;br /&gt;
* backup via rsync and nfs&lt;br /&gt;
* samba&lt;br /&gt;
* nfs&lt;br /&gt;
* snmp&lt;br /&gt;
* bigbrother&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* all data is stored under 4 mount points, corresponding to the 4 large RAID5 arrays: &amp;lt;tt&amp;gt;/mnt/data1 /mnt/data2 /mnt/data3 /mnt/data4&amp;lt;/tt&amp;gt;&lt;br /&gt;
* iso images provided for customers wanting to mount an ISO as a CDROM via the IPKVM are provided via samba on this server. Images live under &amp;lt;tt&amp;gt;/mnt/data2/iso&amp;lt;/tt&amp;gt;&lt;br /&gt;
* this used to be our primary backup server so you will see old backups from virt and jails around- missing customer data though, just the machine&#039;s data&lt;br /&gt;
* this server serves as an archive for exported db data from bwdb and old flow files.&lt;br /&gt;
* isys backs up here&lt;br /&gt;
* customers are nfs-moutned under /mnt/data3/customers as file-backed md devices&lt;br /&gt;
* in &amp;lt;tt&amp;gt;/mnt/data4&amp;lt;/tt&amp;gt; there are lots of useful things used for building our vps servers, customer servers, and management scripts:&lt;br /&gt;
** &amp;lt;tt&amp;gt;/bin&amp;lt;/tt&amp;gt;: the master repository of scripts and custom binaries we use on jails and virts. Each night every virt and jail rsync&#039;s what&#039;s in here to update the local files. So any global updates to scripts would need to be made here (or will be overwritten with what&#039;s in here)&lt;br /&gt;
** &amp;lt;tt&amp;gt;/build&amp;lt;/tt&amp;gt;: files we use for setting up big brother, 3ware cli and scripts for colo&#039;s, vzcp customized setup files and so on&lt;br /&gt;
** &amp;lt;tt&amp;gt;/vzrpms&amp;lt;/tt&amp;gt;: contains the OS templates for many-to-most of the OS&#039;s we offer on vz systems&lt;br /&gt;
&lt;br /&gt;
== Cronjobs ==&lt;br /&gt;
* backs itself up nightly to nfs-mounted backup1 (mountpoint: &amp;lt;tt&amp;gt;/backup2&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Regular maintenance ==&lt;br /&gt;
*[[Routine_Maintenance#3ware|Check on health]]&lt;br /&gt;
&lt;br /&gt;
= backup3 =&lt;br /&gt;
== Summary ==&lt;br /&gt;
This machine is used for archiving data, is a backup server for colo customers, runs a samba server to make available iso&#039;s to the IPKVMs, and allows us to connect to the digi serial multiplexer at i2b. Only dedicated customers directly accesses this server to perform their backups. &lt;br /&gt;
&lt;br /&gt;
* Location: i2b, cab 6&lt;br /&gt;
* OS: Ubuntu 10.04.1 server amd64&lt;br /&gt;
* Networking: Priv IP: 10.1.2.3, Pub IPs: 69.55.229.4 AND 69.55.231.2&lt;br /&gt;
* Hardware: 16 drive SATA bays (4 columns of 4, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: 5 TB (6 x 1TB) RAID5 array running on an Areca Technology Corp. ARC-1160 16-Port&lt;br /&gt;
&lt;br /&gt;
== Services provided ==&lt;br /&gt;
* backup via rsync and nfs&lt;br /&gt;
* samba&lt;br /&gt;
* nfs&lt;br /&gt;
* digi realport&lt;br /&gt;
* snmp&lt;br /&gt;
* bigbrother&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* all data is stored under /data&lt;br /&gt;
* iso images provided for customers wanting to mount an ISO as a CDROM via the IPKVM are provided via samba on this server. Images live under &amp;lt;tt&amp;gt;/data/iso&amp;lt;/tt&amp;gt;&lt;br /&gt;
* this server serves as an archive for exported db data from bwdb and old flow files.&lt;br /&gt;
* inftrastructure machines at i2b back up here&lt;br /&gt;
* customers are nfs-moutned under /data/customers as file-backed loopback devices&lt;br /&gt;
&lt;br /&gt;
== management scripts ==&lt;br /&gt;
* mkbackups&lt;br /&gt;
&lt;br /&gt;
== Cronjobs ==&lt;br /&gt;
 0 0 * * * /usr/local/sbin/arecaraidchk&lt;br /&gt;
RAID checks&lt;br /&gt;
&lt;br /&gt;
 35 4 * * * /usr/local/sbin/snapshot_archive&lt;br /&gt;
Rotate daily snapshots for infrastructure machine backups&lt;br /&gt;
&lt;br /&gt;
== Regular maintenance ==&lt;br /&gt;
*[[Routine_Maintenance#Areca|Check on RAID health]]&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
=== BIOS Config ===&lt;br /&gt;
disable quiet boot&lt;br /&gt;
&lt;br /&gt;
set to last state after power loss&lt;br /&gt;
&lt;br /&gt;
set date/time to GMT&lt;br /&gt;
&lt;br /&gt;
enable serial console output (baud rate 115200)&lt;br /&gt;
&lt;br /&gt;
=== Install OS ===&lt;br /&gt;
&amp;lt;pre&amp;gt;Ubuntu 10.04.1 amd64 (couldn&#039;t get 12.04 to load cause the H/W was incompat)&lt;br /&gt;
10G / ext3&lt;br /&gt;
2G swap&lt;br /&gt;
~ /data ext4&lt;br /&gt;
&lt;br /&gt;
Install packages:&lt;br /&gt;
openssh&lt;br /&gt;
samba&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DNS and private IP ===&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;nameserver 69.55.225.225&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Add a 2nd IP to eth0 and setup priv net&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        address 69.55.229.4&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 69.55.229.0&lt;br /&gt;
        broadcast 69.55.229.255&lt;br /&gt;
        gateway 69.55.229.1&lt;br /&gt;
        # dns-* options are implemented by the resolvconf package, if installed&lt;br /&gt;
        dns-nameservers 69.55.229.3 66.181.0.2&lt;br /&gt;
        dns-search johncompanies.com&lt;br /&gt;
&lt;br /&gt;
auto eth0:1&lt;br /&gt;
iface eth0:1 inet static&lt;br /&gt;
        address 69.55.231.2&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 69.55.231.0&lt;br /&gt;
        broadcast 69.55.231.255&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
        address 10.1.2.3&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 10.1.2.0&lt;br /&gt;
        broadcast 10.1.2.255&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install packages ===&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&lt;br /&gt;
apt-get upgrade&lt;br /&gt;
apt-get install gcc&lt;br /&gt;
apt-get install libssl-dev&lt;br /&gt;
apt-get install libncurses5-dev&lt;br /&gt;
apt-get install cu&lt;br /&gt;
apt-get install unzip&lt;br /&gt;
apt-get install snmp snmpd ntp nfs-kernel-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tweak grub, enable serial ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/default/grub&lt;br /&gt;
#GRUB_HIDDEN_TIMEOUT=0&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;max_loop=64&amp;quot;&lt;br /&gt;
GRUB_CMDLINE_LINUX=&amp;quot;console=tty0 console=ttyS0&amp;quot;&lt;br /&gt;
update-grub&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;start on stopped rc RUNLEVEL=[2345]&lt;br /&gt;
stop on runlevel [!2345]&lt;br /&gt;
respawn&lt;br /&gt;
exec /sbin/getty -L ttyS0 38400 vt102&amp;quot; &amp;gt; /etc/init/ttyS0.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== install realport (digi) driver ===&lt;br /&gt;
&lt;br /&gt;
give the digi an ip with DgIpServ.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src/&lt;br /&gt;
wget ftp://ftp1.digi.com/support/beta/linux/dgrp/dgrp-1.9.tgz&lt;br /&gt;
tar xzf dgrp-1.9.tgz &lt;br /&gt;
cd dgrp-1.9/&lt;br /&gt;
./configure&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make postinstall&lt;br /&gt;
update-rc.d dgrp_daemon defaults&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
configure ports:&lt;br /&gt;
 dgrp_cfg_node init el 10.1.2.10 16&lt;br /&gt;
&lt;br /&gt;
try connecting with:&lt;br /&gt;
 cu -l /dev/ttyel00 -s 38400&lt;br /&gt;
&lt;br /&gt;
=== shell, ntp, ssh key, hosts ===&lt;br /&gt;
&lt;br /&gt;
Shell autocompletion search:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;\&amp;quot;\e[5~\&amp;quot;: history-search-backward&amp;quot; &amp;gt;&amp;gt; ~/.inputrc&lt;br /&gt;
echo &amp;quot;\&amp;quot;\e[6~\&amp;quot;: history-search-forward&amp;quot; &amp;gt;&amp;gt; ~/.inputrc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setup ntp:&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/ntp.conf&lt;br /&gt;
server 10.1.2.1&lt;br /&gt;
server ntp.ubuntu.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Generate ssh keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /root/&lt;br /&gt;
ssh-keygen -t dsa&amp;lt;/pre&amp;gt;&lt;br /&gt;
Defaults, no password&lt;br /&gt;
&lt;br /&gt;
Setup hosts:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;69.55.230.10 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;69.55.230.11 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.2.4 bwdb2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.2.3 backup3&amp;quot; &amp;gt;&amp;gt; /etc/hosts&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy keys to servers where we need passwordless login:&lt;br /&gt;
&amp;lt;pre&amp;gt;cat .ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat .ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Setup shell:&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /root/.bashrc&lt;br /&gt;
(add to bottom)&lt;br /&gt;
alias h=&#039;history&#039;&lt;br /&gt;
alias vi=&#039;vim&#039;&lt;br /&gt;
alias j=&#039;jobs&#039;&lt;br /&gt;
export PS1=&amp;quot;[\u@\h \w]# &amp;quot;&lt;br /&gt;
alias dr=&#039;screen -dr&#039;&lt;br /&gt;
export EDITOR=vim&lt;br /&gt;
export GREP_OPTIONS=&#039;--color=auto&#039;&lt;br /&gt;
export HISTFILESIZE=1000&lt;br /&gt;
&lt;br /&gt;
alias tip-switch-p20=&#039;cu -l ttyel00 -s 9600&#039;&lt;br /&gt;
alias tip-switch-p21=&#039;cu -l ttyel15 -s 9600&#039;&lt;br /&gt;
alias tip-switch-p22=&#039;cu -l ttyel14 -s 9600&#039;&lt;br /&gt;
alias tip-switch-p23=&#039;cu -l ttyel05 -s 9600&#039;&lt;br /&gt;
alias tip-switch-p24=&#039;cu -l ttyel06 -s 9600&#039;&lt;br /&gt;
alias tip-switch-p25=&#039;cu -l ttyel09 -s 9600&#039;&lt;br /&gt;
alias tip-switch-p26=&#039;cu -l ttyel07 -s 9600&#039;&lt;br /&gt;
alias tip-switch-p27=&#039;cu -l ttyel08 -s 9600&#039;&lt;br /&gt;
alias tip-firewall2=&#039;cu -l ttyel01 -s 115200&#039;&lt;br /&gt;
alias tip-nat2=&#039;cu -l /dev/ttyel02 -s 115200&#039;&lt;br /&gt;
alias tip-backup3=&#039;cu -l ttyel04 -s 38400&#039;&lt;br /&gt;
alias tip-bwdb2=&#039;cu -l ttyel03 -s 115200&#039;&lt;br /&gt;
alias tip-backup4=&#039;cu -l ttyel13 -s 115200&#039;&lt;br /&gt;
alias tip-jail3=&#039;cu -l ttyel11 -s 115200&#039;&lt;br /&gt;
&lt;br /&gt;
Load new shell:&lt;br /&gt;
 source /root/.bashrc&lt;br /&gt;
&lt;br /&gt;
Setup snmpd (this is only valid for a server at castle):&lt;br /&gt;
echo &#039;rocommunity  jcread 10.1.4.5&lt;br /&gt;
rocommunity  jcread 10.1.4.3&lt;br /&gt;
agentaddress 10.1.4.8:161&#039; &amp;gt; /etc/snmp/snmpd.conf&lt;br /&gt;
&lt;br /&gt;
to see which iface it is, on backup2:&lt;br /&gt;
&lt;br /&gt;
snmpwalk -v 1 -c jcread 10.1.4.8 interface&lt;br /&gt;
&lt;br /&gt;
=== nfs ===&lt;br /&gt;
&lt;br /&gt;
Allow mounts from private net:&lt;br /&gt;
 echo &#039;/data 10.1.2.0/24(rw,no_root_squash,async,no_subtree_check)&#039; &amp;gt;&amp;gt; /etc/exports&lt;br /&gt;
&lt;br /&gt;
Restart nfsd:&lt;br /&gt;
 /etc/init.d/nfs-kernel-server restart&lt;br /&gt;
&lt;br /&gt;
=== bb ===&lt;br /&gt;
&lt;br /&gt;
Add user, group:&lt;br /&gt;
 echo &amp;quot;bb:x:1984:1984:Big Brother:/home/bb:/bin/bash&amp;quot; &amp;gt;&amp;gt; /etc/passwd&lt;br /&gt;
 echo &amp;quot;bb:x:1984:&amp;quot; &amp;gt;&amp;gt; /etc/group&lt;br /&gt;
 pwconv&lt;br /&gt;
&lt;br /&gt;
Create home:&lt;br /&gt;
 mkdir /home/bb&lt;br /&gt;
 chown bb.bb /home/bb&lt;br /&gt;
 cd ~bb&lt;br /&gt;
&lt;br /&gt;
Copy over and install files:&lt;br /&gt;
&amp;lt;pre&amp;gt;scp backup2:/mnt/data4/build/bb/bb-linux.tar .&lt;br /&gt;
tar xf bb-linux.tar&lt;br /&gt;
cd /home/bb/bbc1.9e-btf/etc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure main bb server:&lt;br /&gt;
 echo &amp;quot;69.55.230.2 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
 echo &amp;quot;10.1.2.3 backup3.johncompanies.com # ssh&amp;quot; &amp;gt;&amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
Configure low disk alerts:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;/:90:95&lt;br /&gt;
/var:90:95&lt;br /&gt;
/data:85:99&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-dftab&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 vi /home/bb/bbc1.9e-btf/bin/bb-disk.sh&lt;br /&gt;
(remove all | SORT xxxx since SORT is broken)&lt;br /&gt;
&lt;br /&gt;
 chmod +r /var/log/messages&lt;br /&gt;
&lt;br /&gt;
 ./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
 ./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
&amp;lt;pre&amp;gt;cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT&amp;lt;/pre&amp;gt; &lt;br /&gt;
(look for errors)&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/rc.local&lt;br /&gt;
su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(before the exit 0)&lt;br /&gt;
&lt;br /&gt;
 echo &#039;chmod o+r /var/log/messages&#039; &amp;gt;&amp;gt; /etc/cron.weekly/sysklogd&lt;br /&gt;
&lt;br /&gt;
Add f/w rule:&lt;br /&gt;
 ipfw add 00096 allow ip from { 69.55.229.4 or 69.55.229.3 } to 69.55.230.2 1984&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi ~bb/bbc1.9e-btf/etc/bbdef-client.sh&lt;br /&gt;
DFWARN=199&lt;br /&gt;
DFPANIC=199&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== raid check ===&lt;br /&gt;
&lt;br /&gt;
==== 3ware ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp backup1:/usr/local/sbin/tw_cli /usr/local/sbin/tw_cli&lt;br /&gt;
scp backup1:/usr/local/sbin/checkraid.sh /usr/local/sbin/checkraid.sh&lt;br /&gt;
scp backup1:/usr/local/sbin/3wraidchk /usr/local/sbin/3wraidchk&lt;br /&gt;
vi /usr/local/sbin/checkraid.sh&lt;br /&gt;
:%s/c0/c2/g&lt;br /&gt;
&lt;br /&gt;
crontab -e&lt;br /&gt;
0 0 * * * /usr/local/sbin/3wraidchk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== areca ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
wget http://www.areca.us/support/s_linux/cli/linuxcli_V1.10.0_120815.zip&lt;br /&gt;
unzip linuxcli_V1.10.0_120815.zip&lt;br /&gt;
cp linuxcli_V1.10.0_120815/x86_64/cli64 /usr/local/sbin/&lt;br /&gt;
chmod 0700 /usr/local/sbin/cli64&lt;br /&gt;
cli64 rsf info&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;scp backup2:/data4/bin/arecaraidchk /usr/local/sbin&lt;br /&gt;
scp backup1:/usr/local/sbin/Sendmail.pm /usr/local/sbin&lt;br /&gt;
&lt;br /&gt;
crontab -e&lt;br /&gt;
0 0 * * * /usr/local/sbin/arecaraidchk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cat &amp;gt; /root/verify.sh&lt;br /&gt;
cli64 vsf info&lt;br /&gt;
cli64 rsf info&lt;br /&gt;
cli64 disk info&lt;br /&gt;
cli64 event info&lt;br /&gt;
echo press enter when ready to run verify ; read x&lt;br /&gt;
&lt;br /&gt;
cli64 vsf check vol=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== misc binaries ===&lt;br /&gt;
&lt;br /&gt;
 scp backup1:/usr/local/sbin/snapshot_archive /usr/local/sbin/snapshot_archive&lt;br /&gt;
 vi /usr/local/sbin/snapshot_archive&lt;br /&gt;
(remove entries)&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 35 4 * * * /usr/local/sbin/snapshot_archive&lt;br /&gt;
&lt;br /&gt;
 scp backup1:/usr/local/sbin/pagedave /usr/local/sbin/pagedave&lt;br /&gt;
 scp backup1:/usr/local/sbin/taskdone /usr/local/sbin/taskdone&lt;br /&gt;
&lt;br /&gt;
Since installing /bin/mail requires all sorts of packages (lame) we write a simple one here...which can only email johncompanies.com addr&#039;s unless you add relaying for this host:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;gt; /bin/mail&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
use strict;&lt;br /&gt;
use warnings;&lt;br /&gt;
&lt;br /&gt;
use lib &#039;/usr/local/sbin&#039;;&lt;br /&gt;
use Sendmail qw(sendmail);&lt;br /&gt;
&lt;br /&gt;
my $sub = $ARGV[1];&lt;br /&gt;
my $to = $ARGV[2];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
my %mail = (&lt;br /&gt;
   To      =&amp;gt; $to,&lt;br /&gt;
   From    =&amp;gt; $to,&lt;br /&gt;
   Subject =&amp;gt; $sub,&lt;br /&gt;
   Message =&amp;gt; &#039;&#039;,&lt;br /&gt;
   smtp    =&amp;gt; &#039;mail.johncompanies.com&#039;&lt;br /&gt;
);&lt;br /&gt;
sendmail(%mail) || print &amp;quot;Error: $Sendmail::error&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 chmod 0700 /bin/mail&lt;br /&gt;
&lt;br /&gt;
=== mkbackup ===&lt;br /&gt;
&lt;br /&gt;
 mkdir /data/customers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cat &amp;gt; /usr/local/sbin/mkbackup&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if test $1; then&lt;br /&gt;
  cid=$1&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;ERROR: Usage: mkbackup cid GB ip  Terminating.&amp;quot;&lt;br /&gt;
  exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if test $2; then&lt;br /&gt;
  gb=$2&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;ERROR: Usage: mkbackup cid GB ip  Terminating.&amp;quot;&lt;br /&gt;
  exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if test $3; then&lt;br /&gt;
  ip=$3&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;ERROR: Usage: mkbackup cid GB ip  Terminating.&amp;quot;&lt;br /&gt;
  exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if test -e /data/customers/${cid}-file; then&lt;br /&gt;
  echo &amp;quot;ERROR: /data/customers/${cid}-file exists&amp;quot;&lt;br /&gt;
  exit&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;touch /data/customers/${cid}-file&amp;quot;&lt;br /&gt;
  touch /data/customers/${cid}-file&lt;br /&gt;
  count=`echo $gb|awk &#039;{print $1*1000}&#039;`&lt;br /&gt;
  echo &amp;quot;dd if=/dev/zero of=/data/customers/${cid}-file bs=1024K count=$count&amp;quot;&lt;br /&gt;
  dd if=/dev/zero of=/data/customers/${cid}-file bs=1024K count=$count&lt;br /&gt;
  echo &amp;quot;/sbin/mkfs -t ext3 -F -j -q /data/customers/${cid}-file&amp;quot;&lt;br /&gt;
  /sbin/mkfs -t ext3 -F -j -q /data/customers/${cid}-file&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if test -e /data/customers/$cid; then&lt;br /&gt;
  echo &amp;quot;ERROR: /data/customers/$cid exists&amp;quot;&lt;br /&gt;
  exit&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;mkdir /data/customers/${cid}&amp;quot;&lt;br /&gt;
  mkdir /data/customers/${cid}&lt;br /&gt;
  echo &amp;quot;mount -o loop /data/customers/${cid}-file /data/customers/$cid&amp;quot;&lt;br /&gt;
  mount -o loop /data/customers/${cid}-file /data/customers/$cid&lt;br /&gt;
  df -h /data/customers/$cid&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;fsck -y /data/customers/${cid}-file&amp;quot; &amp;gt;&amp;gt; /etc/nfs_backup_mounts.sh&lt;br /&gt;
  echo &amp;quot;mount -o loop /data/customers/${cid}-file /data/customers/$cid&amp;quot; &amp;gt;&amp;gt; /etc/nfs_backup_mounts.sh&lt;br /&gt;
  echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /etc/nfs_backup_mounts.sh&lt;br /&gt;
&lt;br /&gt;
  echo &amp;quot;/data/customers/$cid $ip/32(rw,no_root_squash,async,no_subtree_check)&amp;quot; &amp;gt;&amp;gt; /etc/exports&lt;br /&gt;
  /etc/init.d/nfs-kernel-server restart&lt;br /&gt;
  tail /var/log/messages&lt;br /&gt;
fi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 chmod 0700 /usr/local/sbin/mkbackup&lt;br /&gt;
&lt;br /&gt;
 vi /etc/rc.local&lt;br /&gt;
add:&lt;br /&gt;
 /etc/nfs_backup_mounts.sh&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
&lt;br /&gt;
 apt-get install samba&lt;br /&gt;
&lt;br /&gt;
 vi /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
; comment out any mounts, add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[data]&lt;br /&gt;
   read only = yes&lt;br /&gt;
   locking = no&lt;br /&gt;
   path = /data/iso&lt;br /&gt;
   guest ok = yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/smbd restart&lt;br /&gt;
&lt;br /&gt;
 mkdir /data/iso&lt;br /&gt;
&lt;br /&gt;
Bring over some stuff from backup2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /data/iso&lt;br /&gt;
scp backup2:/d2/iso/3wfirmware.iso .&lt;br /&gt;
scp backup2:/d2/iso/MD5SUMS .&lt;br /&gt;
scp backup2:/d2/iso/bootimg.iso .&lt;br /&gt;
scp backup2:/d2/iso/systemrescuecd-x86-0.2.19.iso .&lt;br /&gt;
scp backup2:/d2/iso/win98bootcd.iso .&lt;br /&gt;
scp backup2:/d2/iso/acronis_bootdisk.iso .&lt;br /&gt;
scp backup2:/d2/iso/memtest86-3.2.iso .&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Moving from one server to another ===&lt;br /&gt;
&lt;br /&gt;
Here are the steps you would take to move settings and data from one server to a new backup server:&lt;br /&gt;
&lt;br /&gt;
* rsync over all /data/customers (we do this cause if we didn&#039;t use *-file it would copy over the files AND the data in the mountpoint)&lt;br /&gt;
 rsync -av --progress --ignore-times *-file root@10.1.2.33:/data/customers/&lt;br /&gt;
after umounting all the customers, copy over the (empty) directories separately:&lt;br /&gt;
 for f in `find .  -type d`; do rsync -av $f root@69.55.229.25:/data/customers; done&lt;br /&gt;
&lt;br /&gt;
* copy mount script&lt;br /&gt;
 [root@backup3 /data/customers]# scp /etc/nfs_backup_mounts.sh root@69.55.229.25:/etc/nfs_backup_mounts.sh&lt;br /&gt;
&lt;br /&gt;
* copy rc.local&lt;br /&gt;
 [root@backup3 /data/customers]# scp /etc/rc.local root@69.55.229.25:/etc/rc.local&lt;br /&gt;
&lt;br /&gt;
* copy /etc/exports&lt;br /&gt;
 [root@backup3 /data/customers]# scp /etc/exports root@69.55.229.25:/etc/exports&lt;br /&gt;
&lt;br /&gt;
* edit /etc/hostname on both machines (set current to oldbackup3)&lt;br /&gt;
&lt;br /&gt;
* edit /etc/network/interfaces (swap IPs). &lt;br /&gt;
&lt;br /&gt;
* stop mounts from mounting on old and new servers so it doesnt start with reboot right away:&lt;br /&gt;
 chmod 000 /etc/nfs_backup_mounts.sh&lt;br /&gt;
&lt;br /&gt;
* reboot both servers @ same time&lt;br /&gt;
&lt;br /&gt;
* check everything out&lt;br /&gt;
&lt;br /&gt;
* run /etc/nfs_backup_mounts.sh on new server&lt;br /&gt;
&lt;br /&gt;
* if switch port changed update mrtg to reflect correct port pub nic is on (on p20):&lt;br /&gt;
 vi /usr/local/www/mgmt/mrtg/mrtg1.cfg&lt;br /&gt;
&lt;br /&gt;
= console = &lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
This box&#039;s only purpose is to serve as a means to connect to the digi serial multiplexer boxes at castle. Connect to it using the blue (cisco) ribbon cable with the beige RJ-45 to serial connector, 9600 8N1.&lt;br /&gt;
&lt;br /&gt;
* Location: castle, cab 3-8&lt;br /&gt;
* OS: SunOS 5.8 (solaris)&lt;br /&gt;
* Networking: Priv IP: 10.1.4.4&lt;br /&gt;
* Hardware: Sun Netra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To connect to consoles, ssh in as user &#039;console&#039; and use the &amp;lt;tt&amp;gt;tip&amp;lt;/tt&amp;gt; command to connect to devices listed in &amp;lt;tt&amp;gt;/etc/remote&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e.&lt;br /&gt;
 tip switch-p1&lt;br /&gt;
 tip jail1&lt;br /&gt;
&lt;br /&gt;
== Configuring digi/ports == &lt;br /&gt;
&lt;br /&gt;
=== /etc/remote ===&lt;br /&gt;
This is where the configuration/mapping for ports and custom names which we use along with the tip command to connect to various ports on the digi switches.&lt;br /&gt;
&lt;br /&gt;
We have 2 digi&#039;s at castle we connect to:&lt;br /&gt;
&lt;br /&gt;
 #3-7 10.1.4.10&lt;br /&gt;
 virt15:dv=/dev/dty/CO001s:br#38400:el=^C^S^Q^U^D:ie=%$:oe=^D:&lt;br /&gt;
 virt13:dv=/dev/dty/CO002s:br#115200:el=^C^S^Q^U^D:ie=%$:oe=^D:hf:&lt;br /&gt;
&lt;br /&gt;
and &lt;br /&gt;
&lt;br /&gt;
 #3-6 10.1.4.11&lt;br /&gt;
 jail4:dv=/dev/dty/CP001s:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:hf:&lt;br /&gt;
 jail16:dv=/dev/dty/CP002s:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:hf:&lt;br /&gt;
&lt;br /&gt;
The only things you need to edit are the first part (i.e. &amp;lt;tt&amp;gt;jail4&amp;lt;/tt&amp;gt;) and the speed (i.e. &amp;lt;tt&amp;gt;9600&amp;lt;/tt&amp;gt;). You can decipher which port on the digi each line corresponds to by the &amp;lt;tt&amp;gt;CP001s or CO001s&amp;lt;/tt&amp;gt; (port 1 on digi1 and digi2), &amp;lt;tt&amp;gt;CP002s or CO002s&amp;lt;/tt&amp;gt; (port 2 on digi1 and digi2)&lt;br /&gt;
&lt;br /&gt;
=== drpadmin ===&lt;br /&gt;
The tool you use to configure a device to a digi box is drpadmin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;bash-2.03$ su&lt;br /&gt;
Password:&lt;br /&gt;
# drpadmin&lt;br /&gt;
&lt;br /&gt;
Please select an option (a)dd (d)elete (s)how (r)eset (q)uit : s&lt;br /&gt;
0       10.1.4.10       32      CO      771     never   1027&lt;br /&gt;
1       10.1.4.11       32      CP      771     never   1027&lt;br /&gt;
2       65.116.11.2     8       el      771     never   1027&lt;br /&gt;
&lt;br /&gt;
Please select an option (a)dd (d)elete (s)how (r)eset (q)uit :&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use those commands above to modify the devices available.&lt;br /&gt;
&lt;br /&gt;
== Switching IP/hostname ==&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 /etc/defaultrouter&lt;br /&gt;
 /etc/hosts&lt;br /&gt;
 /etc/hostname.hme0&lt;br /&gt;
 /etc/nodename&lt;br /&gt;
 Maybe needed to run: # ifconfig hme0 10.1.4.4 up&lt;br /&gt;
&lt;br /&gt;
= devweb =&lt;br /&gt;
&lt;br /&gt;
We do web development on devweb.johncompanies.com&lt;br /&gt;
&lt;br /&gt;
Currently this is a jail running on jail17 / 69.55.230.8&lt;br /&gt;
&lt;br /&gt;
If the jail is restarted, you will need to manually restart the web service with:&lt;br /&gt;
 httpsdctl restart&lt;br /&gt;
&lt;br /&gt;
All website development work should be done here first. It works exactly like and is setup like our [[Management_System_/_Public_Website_/_Signup_/_Account_Manager|main site]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= firewall2 =&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
This machine is the primary (only) firewall for the entire network at i2b. &lt;br /&gt;
&lt;br /&gt;
* Location: i2b, cab 6&lt;br /&gt;
* OS: FreeBSD 6.4 x86&lt;br /&gt;
* Networking: Priv IP: 10.1.2.2, Pub IPs: 66.181.18.3 (external), 69.55.229.1 &amp;amp; 69.55.231.1 (internal). It has 3 network connections (2 onboard, 1 PCI) connecting to the external, internal and private networks. TODO: describe NIC location/orientation&lt;br /&gt;
&lt;br /&gt;
* Hardware: 2 SCSI SCA drive bays (2 columns of 3, drive 0 top left, drive 1 just below) all hot-swap. Dual power supply. &lt;br /&gt;
* Drives: 73 GB (2 x 73GB) RAID1 array running on an LSI MegaRAID SCSI 320 PCI RAID card.&lt;br /&gt;
&lt;br /&gt;
== Services Provided ==&lt;br /&gt;
* firewall (ipfw)&lt;br /&gt;
* bigbrother&lt;br /&gt;
&lt;br /&gt;
== Firewall Rule Configuration ==&lt;br /&gt;
&lt;br /&gt;
See [[FreeBSD_Reference#Firewall_Rule_Configuration|Firewall Rule Configuration]] for more discussion on how to actually manipulate firewall rules.&lt;br /&gt;
&lt;br /&gt;
== Disaster Recovery ==&lt;br /&gt;
&lt;br /&gt;
TODO: need backup f/w and instructions on how to move cables.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what you need to put in /etc/rc.conf to get a firewall going (as far as routes and IPs)&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
Here&#039;s the config on the live firewall:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
gateway_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.2.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
defaultrouter=&amp;quot;66.181.18.2&amp;quot;&lt;br /&gt;
hostname=&amp;quot;firewall2.johncompanies.com&amp;quot;&lt;br /&gt;
ifconfig_bge0=&amp;quot;inet 66.181.18.3  netmask 255.255.255.224&amp;quot;&lt;br /&gt;
ifconfig_bge1=&amp;quot;inet 69.55.229.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bge1_alias0=&amp;quot;inet 69.55.231.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bge1_alias1=&amp;quot;inet 65.50.228.1  netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bge1_alias2=&amp;quot;inet 65.50.229.1  netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bge1_alias3=&amp;quot;inet 65.50.230.1  netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bge1_alias4=&amp;quot;inet 65.50.231.1  netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bge1_alias5=&amp;quot;inet 65.50.232.1  netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bge1_alias6=&amp;quot;inet 65.50.233.1  netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bge1_alias7=&amp;quot;inet 65.50.234.1  netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bge1_alias8=&amp;quot;inet 65.50.235.1  netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 10.1.2.2 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cronjobs ==&lt;br /&gt;
30 3 * * * /usr/local/etc/rsync.backup&lt;br /&gt;
Backup to backup3&lt;br /&gt;
&lt;br /&gt;
 0 0 1 * * /sbin/ipfw zero&lt;br /&gt;
 0 0 1 * * /sbin/ipfw del 3 4 5&lt;br /&gt;
Reset counters and remove pipe rules on the 1st of the month. Pay attention when setting up a rule as 3 4 5 (that&#039;s not a temporary traffic cap). &lt;br /&gt;
&lt;br /&gt;
 59 23 30 * * /sbin/ipfw show &amp;gt; /tmp/ipfw_count&lt;br /&gt;
 3 0 30 * * /sbin/ipfw show &amp;gt; /tmp/ipfw_count&lt;br /&gt;
Capture counts periodically&lt;br /&gt;
&lt;br /&gt;
 0 3 * * * /etc/makefwrules.pl; /etc/makepiperules.pl;&lt;br /&gt;
This script will create &amp;lt;tt&amp;gt;/etc/firewall.sh&amp;lt;/tt&amp;gt; which contains all the firewall and pipe rules in place at the time the script was run.&lt;br /&gt;
&lt;br /&gt;
 */5 * * * * /usr/local/sbin/lsiraidchk&lt;br /&gt;
Checking the health of the RAID array&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DOS attacks ==&lt;br /&gt;
&lt;br /&gt;
See [[FreeBSD_Reference#Handling_a_DoS_attack|Handling a DoS attack]] regarding how to handle a DOS attack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== build ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;partition map:&lt;br /&gt;
/ 58g&lt;br /&gt;
swap 4g&lt;br /&gt;
/var 512m&lt;br /&gt;
/tmp 512m&lt;br /&gt;
/usr 5.5g&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf &lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=firewall2 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
5. add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
# Serial terminals&lt;br /&gt;
# The &#039;dialup&#039; keyword identifies dialin lines to login, fingerd etc.&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;   vt100   on  secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail8 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;69.55.230.10 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;69.55.230.11 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.2.3 backup3&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup3&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
Punch a hole in firewall1 to allow traffic to backup servers @ castle:&lt;br /&gt;
&lt;br /&gt;
ipfw add 99 allow ip from 66.181.18.0/27 to 69.55.230.10 22&lt;br /&gt;
ipfw add 95 allow ip from 66.181.18.0/27 to 69.55.230.11 22&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup3 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup3 and backup 2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup3 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_4\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. &lt;br /&gt;
&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/firewall2-6.4 ./firewall2&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
gateway_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.2.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_bce1=&amp;quot;inet 10.1.2.2 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
defaultrouter=&amp;quot;66.181.18.2&amp;quot;&lt;br /&gt;
hostname=&amp;quot;firewall2.johncompanies.com&amp;quot;&lt;br /&gt;
ifconfig_bge0=&amp;quot;inet 66.181.18.3  netmask 255.255.255.224&amp;quot;&lt;br /&gt;
ifconfig_bge1=&amp;quot;inet 69.55.229.1 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 10.1.2.2 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname -a&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_4\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
# linux base&lt;br /&gt;
cd /usr/ports/devel/libtool22&lt;br /&gt;
make install base&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
#linux-megamgr-5.20&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
# megarc-1.51&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megarc -ldInfo -a0 -l0&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
25. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;69.55.230.2 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.2.1 firewall2.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;firewall2,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/bb/bbc1.9e-btf/bin/bb-cpu.sh&lt;br /&gt;
        $1 $TOPARGS &amp;gt; $BBTMP/TOP.$$&lt;br /&gt;
#        /usr/local/jail/bin/jtop &amp;gt; $BBTMP/TOP.$$&lt;br /&gt;
&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
Punch a hole in the firewall to allow it to communicate with bb monitor:&lt;br /&gt;
&lt;br /&gt;
ipfw add 00096 allow ip from 66.181.18.0/27 to 69.55.230.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
27. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
66.181.18.3 firewall2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.2.1&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
&lt;br /&gt;
30. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
 (edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
33. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/firewall2/current\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc &#039; &amp;gt; /usr/local/etc/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup3:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
ssh backup3 mkdir -p /data/firewall2/current&lt;br /&gt;
&lt;br /&gt;
on backup3, add the system to &lt;br /&gt;
vi /usr/local/sbin/snapshot_archive&lt;br /&gt;
&lt;br /&gt;
scp 69.55.230.2:/usr/local/etc/rsync.backup /usr/local/etc/rsync.backup &lt;br /&gt;
vi /usr/local/etc/rsync.backup &lt;br /&gt;
backup1 &amp;gt; backup3&lt;br /&gt;
&lt;br /&gt;
crontab -e&lt;br /&gt;
1 0 * * * /usr/local/etc/rsync.backup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
34. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
35. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 66.181.18.3&lt;br /&gt;
ListenAddress 10.1.2.1&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
35. raid chk&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /usr/local/sbin/lsiraidchk&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
my @out = split &amp;quot;\n&amp;quot;, `megarc -ldInfo -a0 -Lall|grep Status:`;&lt;br /&gt;
&lt;br /&gt;
foreach (@out) {&lt;br /&gt;
    if ($_ =~ /DEGRADED/) { $date = `date`; chomp $date; `echo &amp;quot;$date: RAID ARRAY DEGRADED&amp;quot; &amp;gt;&amp;gt; /var/log/messages`; }&lt;br /&gt;
#print $_;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
36. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
30 3 * * * /usr/local/etc/rsync.backup&lt;br /&gt;
0 0 1 * * /sbin/ipfw zero&lt;br /&gt;
0 0 1 * * /sbin/ipfw del 3 4 5&lt;br /&gt;
59 23 30 * * /sbin/ipfw show &amp;gt; /tmp/ipfw_count&lt;br /&gt;
3 0 30 * * /sbin/ipfw show &amp;gt; /tmp/ipfw_count&lt;br /&gt;
0 3 * * * /etc/makefwrules.pl; /etc/makepiperules.pl; &lt;br /&gt;
*/5 * * * * /usr/local/sbin/lsiraidchk&lt;br /&gt;
&lt;br /&gt;
#10 0 * * * rm /var/spool/clientmqueue/*&lt;br /&gt;
&lt;br /&gt;
scp /etc/makefwrules.pl user@64.163.14.48:~&lt;br /&gt;
scp /etc/makepiperules.pl user@64.163.14.48:~&lt;br /&gt;
mv /home/user/makefwrules.pl /etc&lt;br /&gt;
mv /home/user/makepiperules.pl /etc&lt;br /&gt;
touch /etc/firewall.sh&lt;br /&gt;
mkdir /etc/oldrules/&lt;br /&gt;
&lt;br /&gt;
other binaries&lt;br /&gt;
	&lt;br /&gt;
scp /usr/local/bin/rulemaker user@64.163.14.48:~&lt;br /&gt;
mv ~user/rulemaker /usr/local/sbin&lt;br /&gt;
scp ~user/Sendmail.pm user@64.163.14.48:~&lt;br /&gt;
scp ~user/doswatch.pl user@64.163.14.48:~&lt;br /&gt;
&lt;br /&gt;
Setup basic ruleset&lt;br /&gt;
&lt;br /&gt;
ipfw add 00009 count udp from any to any&lt;br /&gt;
ipfw add 00010 allow tcp from any to any established&lt;br /&gt;
ipfw add 00012 deny tcp from any to any tcpflags syn tcpoptions !mss&lt;br /&gt;
ipfw add 00012 deny icmp from any to any icmptypes 4,5,9,10,12,13,14,15,16,17,18&lt;br /&gt;
ipfw add 00012 deny tcp from any to any tcpflags syn,fin&lt;br /&gt;
ipfw add 00012 deny tcp from any to any tcpflags fin,psh,rst,urg&lt;br /&gt;
ipfw add 00012 allow icmp from any to any&lt;br /&gt;
ipfw add 00014 deny tcp from any to any dst-port 135&lt;br /&gt;
ipfw add 00150 skipto 65535 ip from any to any via em1 in&lt;br /&gt;
&lt;br /&gt;
IPKVM3:&lt;br /&gt;
00098 allow ip from { 69.55.230.6 or 69.55.230.7 } to 69.55.230.10 dst-port 139&lt;br /&gt;
00098 deny ip from any to 69.55.230.10 dst-port 139&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= wiki =&lt;br /&gt;
&lt;br /&gt;
The wiki (mediawiki) runs on nat2 in a jail running off 69.55.229.8&lt;br /&gt;
&lt;br /&gt;
The backup wiki lives on virt13 in CT 5 / 69.55.230.18&lt;br /&gt;
&lt;br /&gt;
== Setup jail ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /mnt/data1/wiki-dir&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make installworld DESTDIR=/mnt/data1/wiki-dir&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/wiki-dir&lt;br /&gt;
&lt;br /&gt;
mount -t devfs devfs /mnt/data1/wiki-dir/dev&lt;br /&gt;
devfs -m /mnt/data1/wiki-dir/dev rule -s 3 applyset &lt;br /&gt;
&lt;br /&gt;
cd /mnt/data1/wiki-dir&lt;br /&gt;
&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
&lt;br /&gt;
scp jail9:/usr/local/sbin/jkill /mnt/data1/wiki-dir/sbin&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/wiki-dir wiki.johncompanies.com 69.55.229.8 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;wiki.johncompanies.com&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.229.3\&lt;br /&gt;
nameserver 69.55.225.225&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf &lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
 &lt;br /&gt;
(remove the adjkerntz lines )&lt;br /&gt;
 &lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
 &lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
 with: MP=&#039;/&#039; (use single quotes) &lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
 &lt;br /&gt;
adduser&lt;br /&gt;
&lt;br /&gt;
Username: user&lt;br /&gt;
Full name: user&lt;br /&gt;
Uid (Leave empty for default):&lt;br /&gt;
Login group [user]:&lt;br /&gt;
Login group is user. Invite user into other groups? []: wheel&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/user]:&lt;br /&gt;
Home directory permissions (Leave empty for default):&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: y&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : user&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : user&lt;br /&gt;
Uid        : 1001&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : user&lt;br /&gt;
Home       : /home/user&lt;br /&gt;
Home Mode  :&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): y&lt;br /&gt;
adduser: INFO: Successfully added (user) to the user database.&lt;br /&gt;
adduser: INFO: Password for (user) is: 901gmYjO&lt;br /&gt;
Add another user? (yes/no): n&lt;br /&gt;
Goodbye! &lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile &lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
 &lt;br /&gt;
tzsetup&lt;br /&gt;
 &lt;br /&gt;
newaliases &lt;br /&gt;
 &lt;br /&gt;
rm /sbin/halt /sbin/reboot&lt;br /&gt;
ln /sbin/jkill /sbin/halt&lt;br /&gt;
ln /sbin/jkill /sbin/reboot&lt;br /&gt;
 &lt;br /&gt;
vi /etc/syslog.conf&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console&lt;br /&gt;
*.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
 &lt;br /&gt;
cd libexec&lt;br /&gt;
chflags noschg ld-elf32.so.1&lt;br /&gt;
chflags noschg ld-elf.so.1&lt;br /&gt;
mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
chflags schg ld-elf.so.1&lt;br /&gt;
chflags schg ld-elf32.so.1&lt;br /&gt;
 &lt;br /&gt;
cp -r /usr/ports /mnt/data1/wiki-dir/usr &lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /usr/local/etc/rc.d/wiki.sh&lt;br /&gt;
mount -t devfs devfs /mnt/data1/wiki-dir/dev/&lt;br /&gt;
devfs -m /mnt/data1/wiki-dir/dev rule -s 3 applyset&lt;br /&gt;
jail /mnt/data1/wiki-dir wiki.johncompanies.com 69.55.229.8 /bin/sh /etc/rc&lt;br /&gt;
&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/wiki.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mediawiki setup ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/distfiles/&lt;br /&gt;
fetch http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.4-m3.tar.gz&lt;br /&gt;
cd /usr/ports/databases/mysql55-server&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/distfiles/&lt;br /&gt;
fetch http://downloads.php.net/johannes/php-5.3.2.tar.bz2&lt;br /&gt;
cd /usr/ports/lang/php52&lt;br /&gt;
make install clean&lt;br /&gt;
(build apache module)&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/lang/php5-extensions&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/www/apache22&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/local/www/&lt;br /&gt;
fetch http://download.wikimedia.org/mediawiki/1.19/mediawiki-1.19.2.tar.gz&lt;br /&gt;
tar xzf mediawiki-1.19.2.tar.gz&lt;br /&gt;
mv mediawiki-1.19.2 wiki&lt;br /&gt;
&lt;br /&gt;
vi /usr/local/etc/apache22/httpd.conf&lt;br /&gt;
DocumentRoot &amp;quot;/usr/local/www/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Include etc/apache22/extra/vhost-wiki.conf&lt;br /&gt;
Listen 443&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
    &amp;lt;FilesMatch &amp;quot;\.ph(p3?|tml)$&amp;quot;&amp;gt;&lt;br /&gt;
        SetHandler application/x-httpd-php&lt;br /&gt;
    &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
    &amp;lt;FilesMatch &amp;quot;\.phps$&amp;quot;&amp;gt;&lt;br /&gt;
        SetHandler application/x-httpd-php-source&lt;br /&gt;
    &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
    # To re-enable php in user directories comment the following lines&lt;br /&gt;
    # (from &amp;lt;IfModule ...&amp;gt; to &amp;lt;/IfModule&amp;gt;.) Do NOT set it to On as it&lt;br /&gt;
    # prevents .htaccess files from disabling it.&lt;br /&gt;
    &amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/*/public_html&amp;gt;&lt;br /&gt;
            php_admin_value engine Off&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /usr/local/etc/apache22/extra/vhost-wiki.conf &lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin support@johncompanies.com&lt;br /&gt;
&lt;br /&gt;
        DocumentRoot /usr/local/www/wiki&lt;br /&gt;
#        &amp;lt;Directory /&amp;gt;&lt;br /&gt;
#                Options FollowSymLinks&lt;br /&gt;
#                AllowOverride None&lt;br /&gt;
#                Order deny,allow&lt;br /&gt;
#        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /usr/local/www/wiki&amp;gt;&lt;br /&gt;
                Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
                Deny from all&lt;br /&gt;
                AllowOverride AuthConfig&lt;br /&gt;
                Order allow,deny&lt;br /&gt;
                DirectoryIndex index.php&lt;br /&gt;
                #Allow from 69.55.233.195&lt;br /&gt;
                #Allow from boody.dyndns.org&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/&lt;br /&gt;
        &amp;lt;Directory &amp;quot;/usr/lib/cgi-bin&amp;quot;&amp;gt;&lt;br /&gt;
                AllowOverride None&lt;br /&gt;
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch&lt;br /&gt;
                Order allow,deny&lt;br /&gt;
                Allow from all&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ErrorLog /var/log/httpd-error.log&lt;br /&gt;
&lt;br /&gt;
        # Possible values include: debug, info, notice, warn, error, crit,&lt;br /&gt;
        # alert, emerg.&lt;br /&gt;
        LogLevel warn&lt;br /&gt;
&lt;br /&gt;
        CustomLog /var/log/httpd-access.log combined&lt;br /&gt;
&lt;br /&gt;
    Alias /doc/ &amp;quot;/usr/share/doc/&amp;quot;&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/usr/share/doc/&amp;quot;&amp;gt;&lt;br /&gt;
        Options Indexes MultiViews FollowSymLinks&lt;br /&gt;
        AllowOverride None&lt;br /&gt;
        Order deny,allow&lt;br /&gt;
        Deny from all&lt;br /&gt;
        Allow from 127.0.0.0/255.0.0.0 ::1/128&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLCertificateFile /usr/local/etc/apache22/ssl/server.crt&lt;br /&gt;
    SSLCertificateKeyFile /usr/local/etc/apache22/ssl/server.key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mkdir ssl&lt;br /&gt;
cd ssl&lt;br /&gt;
&lt;br /&gt;
openssl req -days 1999 -new -x509 -nodes -out server.crt -keyout server.key&lt;br /&gt;
US&lt;br /&gt;
CA&lt;br /&gt;
San Diego&lt;br /&gt;
johncompanies.com&lt;br /&gt;
johncompanies.com&lt;br /&gt;
wiki.johncompanies.com&lt;br /&gt;
support@johncompanies.com&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /usr/local/www/wiki/.htaccess&lt;br /&gt;
AuthType Basic&lt;br /&gt;
AuthUserFile /usr/local/etc/apache22/wiki.passwd&lt;br /&gt;
AuthName wiki&lt;br /&gt;
require valid-user&lt;br /&gt;
satisfy any&lt;br /&gt;
&lt;br /&gt;
cd /usr/local/etc/apache22&lt;br /&gt;
htpasswd -c wiki.passwd admin&lt;br /&gt;
&lt;br /&gt;
https://69.55.229.8/index.php&lt;br /&gt;
&lt;br /&gt;
use mysql (innodb)&lt;br /&gt;
wiki name: JCWiki&lt;br /&gt;
Support / (mail pass) / support@johncompanies.com&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /usr/local/www/wiki/LocalSettings.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
# This file was automatically generated by the MediaWiki 1.19.2&lt;br /&gt;
# installer. If you make manual changes, please keep track in case you&lt;br /&gt;
# need to recreate them later.&lt;br /&gt;
#&lt;br /&gt;
# See includes/DefaultSettings.php for all configurable settings&lt;br /&gt;
# and their default values, but don&#039;t forget to make changes in _this_&lt;br /&gt;
# file, not there.&lt;br /&gt;
#&lt;br /&gt;
# Further documentation for configuration settings may be found at:&lt;br /&gt;
# http://www.mediawiki.org/wiki/Manual:Configuration_settings&lt;br /&gt;
&lt;br /&gt;
# Protect against web entry&lt;br /&gt;
if ( !defined( &#039;MEDIAWIKI&#039; ) ) {&lt;br /&gt;
	exit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
## Uncomment this to disable output compression&lt;br /&gt;
# $wgDisableOutputCompression = true;&lt;br /&gt;
&lt;br /&gt;
$wgSitename      = &amp;quot;JCWiki&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## The URL base path to the directory containing the wiki;&lt;br /&gt;
## defaults for all runtime URL paths are based off of this.&lt;br /&gt;
## For more information on customizing the URLs please see:&lt;br /&gt;
## http://www.mediawiki.org/wiki/Manual:Short_URL&lt;br /&gt;
$wgScriptPath       = &amp;quot;&amp;quot;;&lt;br /&gt;
$wgScriptExtension  = &amp;quot;.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## The protocol and server name to use in fully-qualified URLs&lt;br /&gt;
$wgServer           = &amp;quot;https://69.55.229.8&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## The relative URL path to the skins directory&lt;br /&gt;
$wgStylePath        = &amp;quot;$wgScriptPath/skins&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## The relative URL path to the logo.  Make sure you change this from the default,&lt;br /&gt;
## or else you&#039;ll overwrite your logo when you upgrade!&lt;br /&gt;
#$wgLogo             = &amp;quot;$wgStylePath/common/images/wiki.png&amp;quot;;&lt;br /&gt;
$wgLogo             = &amp;quot;$wgStylePath/common/images/jclogo.gif&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## UPO means: this is also a user preference option&lt;br /&gt;
&lt;br /&gt;
$wgEnableEmail      = true;&lt;br /&gt;
$wgEnableUserEmail  = true; # UPO&lt;br /&gt;
&lt;br /&gt;
$wgEmergencyContact = &amp;quot;apache@69.55.229.8&amp;quot;;&lt;br /&gt;
$wgPasswordSender   = &amp;quot;apache@69.55.229.8&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$wgEnotifUserTalk      = false; # UPO&lt;br /&gt;
$wgEnotifWatchlist     = false; # UPO&lt;br /&gt;
$wgEmailAuthentication = true;&lt;br /&gt;
&lt;br /&gt;
## Database settings&lt;br /&gt;
$wgDBtype           = &amp;quot;mysql&amp;quot;;&lt;br /&gt;
$wgDBserver         = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
$wgDBname           = &amp;quot;my_wiki&amp;quot;;&lt;br /&gt;
$wgDBuser           = &amp;quot;root&amp;quot;;&lt;br /&gt;
$wgDBpassword       = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# MySQL specific settings&lt;br /&gt;
$wgDBprefix         = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# MySQL table options to use during installation or update&lt;br /&gt;
$wgDBTableOptions   = &amp;quot;ENGINE=InnoDB, DEFAULT CHARSET=binary&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Experimental charset support for MySQL 5.0.&lt;br /&gt;
$wgDBmysql5 = false;&lt;br /&gt;
&lt;br /&gt;
## Shared memory settings&lt;br /&gt;
$wgMainCacheType    = CACHE_NONE;&lt;br /&gt;
$wgMemCachedServers = array();&lt;br /&gt;
&lt;br /&gt;
## To enable image uploads, make sure the &#039;images&#039; directory&lt;br /&gt;
## is writable, then set this to true:&lt;br /&gt;
$wgEnableUploads  = false;&lt;br /&gt;
#$wgUseImageMagick = true;&lt;br /&gt;
#$wgImageMagickConvertCommand = &amp;quot;/usr/bin/convert&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# InstantCommons allows wiki to use images from http://commons.wikimedia.org&lt;br /&gt;
$wgUseInstantCommons  = false;&lt;br /&gt;
&lt;br /&gt;
## If you use ImageMagick (or any other shell command) on a&lt;br /&gt;
## Linux server, this will need to be set to the name of an&lt;br /&gt;
## available UTF-8 locale&lt;br /&gt;
$wgShellLocale = &amp;quot;en_US.utf8&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## If you want to use image uploads under safe mode,&lt;br /&gt;
## create the directories images/archive, images/thumb and&lt;br /&gt;
## images/temp, and make them all writable. Then uncomment&lt;br /&gt;
## this, if it&#039;s not already uncommented:&lt;br /&gt;
#$wgHashedUploadDirectory = false;&lt;br /&gt;
&lt;br /&gt;
## Set $wgCacheDirectory to a writable directory on the web server&lt;br /&gt;
## to make your wiki go slightly faster. The directory should not&lt;br /&gt;
## be publically accessible from the web.&lt;br /&gt;
#$wgCacheDirectory = &amp;quot;$IP/cache&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Site language code, should be one of the list in ./languages/Names.php&lt;br /&gt;
$wgLanguageCode = &amp;quot;en&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$wgSecretKey = &amp;quot;abc699ef26890b49b4055430f8ebbd25e84cce21a7e53aeaec4d4313af4c9739&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Site upgrade key. Must be set to a string (default provided) to turn on the&lt;br /&gt;
# web installer while LocalSettings.php is in place&lt;br /&gt;
$wgUpgradeKey = &amp;quot;3196710f4a7d7332&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## Default skin: you can change the default skin. Use the internal symbolic&lt;br /&gt;
## names, ie &#039;standard&#039;, &#039;nostalgia&#039;, &#039;cologneblue&#039;, &#039;monobook&#039;, &#039;vector&#039;:&lt;br /&gt;
$wgDefaultSkin = &amp;quot;vector&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## For attaching licensing metadata to pages, and displaying an&lt;br /&gt;
## appropriate copyright notice / icon. GNU Free Documentation&lt;br /&gt;
## License and Creative Commons licenses are supported so far.&lt;br /&gt;
$wgRightsPage = &amp;quot;&amp;quot;; # Set to the title of a wiki page that describes your license/copyright&lt;br /&gt;
$wgRightsUrl  = &amp;quot;&amp;quot;;&lt;br /&gt;
$wgRightsText = &amp;quot;&amp;quot;;&lt;br /&gt;
$wgRightsIcon = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Path to the GNU diff3 utility. Used for conflict resolution.&lt;br /&gt;
$wgDiff3 = &amp;quot;/usr/bin/diff3&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Query string length limit for ResourceLoader. You should only set this if&lt;br /&gt;
# your web server has a query string length limit (then set it to that limit),&lt;br /&gt;
# or if you have suhosin.get.max_value_length set in php.ini (then set it to&lt;br /&gt;
# that value)&lt;br /&gt;
$wgResourceLoaderMaxQueryLength = -1;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# End of automatically generated settings.&lt;br /&gt;
# Add more configuration options below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== copy/backup wiki ==&lt;br /&gt;
on main/primary wiki:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server stop&lt;br /&gt;
ssh 69.55.230.18 &amp;quot;/etc/init.d/mysql stop&amp;quot;&lt;br /&gt;
rsync -av /var/db/mysql/my_wiki/ 69.55.230.18:/var/lib/mysql/my_wiki/&lt;br /&gt;
rsync -av /var/db/mysql/ib* 69.55.230.18:/var/lib/mysql/&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server start&lt;br /&gt;
ssh 69.55.230.18 &amp;quot;/etc/init.d/mysql start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>76.89.76.68</name></author>
	</entry>
</feed>