<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TECH.kulish.com &#187; Unix</title>
	<atom:link href="http://tech.kulish.com/category/os/unix/feed/" rel="self" type="application/rss+xml" />
	<link>http://tech.kulish.com</link>
	<description>Technical Goulash</description>
	<lastBuildDate>Thu, 01 Dec 2011 00:39:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>HTTPS Redirects</title>
		<link>http://tech.kulish.com/2011/02/18/https-redirects/</link>
		<comments>http://tech.kulish.com/2011/02/18/https-redirects/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 17:17:44 +0000</pubDate>
		<dc:creator>Null</dc:creator>
				<category><![CDATA[Daemons]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://tech.kulish.com/?p=248</guid>
		<description><![CDATA[Redirecting HTTP to HTTPS for a whole site using virtual hosts: #Basics snipped for brevity.... RewriteEngine on #RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] RedirectPermanent / https://www.foo.com/]]></description>
			<content:encoded><![CDATA[<p>Redirecting HTTP to HTTPS for a whole site using virtual hosts:</p>
<blockquote>
<pre><code>

<VirtualHost>

#Basics snipped for brevity....

<Directory /var/www/foo/html>
   RewriteEngine on
   #RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>

RedirectPermanent / https://www.foo.com/
</VirtualHost>
</code></pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://tech.kulish.com/2011/02/18/https-redirects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Raw FTP Commands</title>
		<link>http://tech.kulish.com/2009/05/22/raw-ftp-commands/</link>
		<comments>http://tech.kulish.com/2009/05/22/raw-ftp-commands/#comments</comments>
		<pubDate>Fri, 22 May 2009 14:04:11 +0000</pubDate>
		<dc:creator>Null</dc:creator>
				<category><![CDATA[Daemons]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[PASV]]></category>
		<category><![CDATA[PORT]]></category>
		<category><![CDATA[USER]]></category>

		<guid isPermaLink="false">http://tech.lan.side/?p=57</guid>
		<description><![CDATA[I retrieved it from here: http://www.nsftools.com/tips/RawFTP.htm List of raw FTP commands (Warning: this is a technical document, not necessary for most FTP use.) Note that commands marked with a * are not implemented in a number of FTP servers. Common commands * ABOR &#8211; abort a file transfer * CWD &#8211; change working directory * [...]]]></description>
			<content:encoded><![CDATA[<p>I retrieved it from here: http://www.nsftools.com/tips/RawFTP.htm</p>
<p>List of raw FTP commands<br />
(Warning: this is a technical document, not necessary for most FTP use.)</p>
<p>Note that commands marked with a * are not implemented in a number of FTP servers.</p>
<p>Common commands</p>
<p>    * ABOR &#8211; abort a file transfer<br />
    * CWD &#8211; change working directory<br />
    * DELE &#8211; delete a remote file<br />
    * LIST &#8211; list remote files<br />
    * MDTM &#8211; return the modification time of a file<br />
    * MKD &#8211; make a remote directory<br />
    * NLST &#8211; name list of remote directory<br />
    * PASS &#8211; send password<br />
    * PASV &#8211; enter passive mode<br />
    * PORT &#8211; open a data port<br />
    * PWD &#8211; print working directory<br />
    * QUIT &#8211; terminate the connection<br />
    * RETR &#8211; retrieve a remote file<br />
    * RMD &#8211; remove a remote directory<br />
    * RNFR &#8211; rename from<br />
    * RNTO &#8211; rename to<br />
    * SITE &#8211; site-specific commands<br />
    * SIZE &#8211; return the size of a file<br />
    * STOR &#8211; store a file on the remote host<br />
    * TYPE &#8211; set transfer type<br />
    * USER &#8211; send username </p>
<p>Less common commands</p>
<p>    * ACCT* &#8211; send account information<br />
    * APPE &#8211; append to a remote file<br />
    * CDUP &#8211; CWD to the parent of the current directory<br />
    * HELP &#8211; return help on using the server<br />
    * MODE &#8211; set transfer mode<br />
    * NOOP &#8211; do nothing<br />
    * REIN* &#8211; reinitialize the connection<br />
    * STAT &#8211; return server status<br />
    * STOU &#8211; store a file uniquely<br />
    * STRU &#8211; set file transfer structure<br />
    * SYST &#8211; return system type </p>
<p>ABOR<br />
Syntax: ABOR</p>
<p>Aborts a file transfer currently in progress.</p>
<p>ACCT*<br />
Syntax: ACCT account-info</p>
<p>This command is used to send account information on systems that require it. Typically sent after a PASS command.</p>
<p>ALLO<br />
Syntax: ALLO size [R max-record-size]</p>
<p>Allocates sufficient storage space to receive a file. If the maximum size of a record also needs to be known, that is sent as a second numeric parameter following a space, the capital letter &#8220;R&#8221;, and another space.</p>
<p>APPE<br />
Syntax: APPE remote-filename</p>
<p>Append data to the end of a file on the remote host. If the file does not already exist, it is created. This command must be preceded by a PORT or PASV command so that the server knows where to receive data from.</p>
<p>CDUP<br />
Syntax: CDUP</p>
<p>Makes the parent of the current directory be the current directory.</p>
<p>CWD<br />
Syntax: CWD remote-directory</p>
<p>Makes the given directory be the current directory on the remote host.</p>
<p>DELE<br />
Syntax: DELE remote-filename</p>
<p>Deletes the given file on the remote host.</p>
<p>HELP<br />
Syntax: HELP [command]</p>
<p>If a command is given, returns help on that command; otherwise, returns general help for the FTP server (usually a list of supported commands).</p>
<p>LIST<br />
Syntax: LIST [remote-filespec]</p>
<p>If remote-filespec refers to a file, sends information about that file. If remote-filespec refers to a directory, sends information about each file in that directory. remote-filespec defaults to the current directory. This command must be preceded by a PORT or PASV command.</p>
<p>MDTM<br />
Syntax: MDTM remote-filename</p>
<p>Returns the last-modified time of the given file on the remote host in the format &#8220;YYYYMMDDhhmmss&#8221;: YYYY is the four-digit year, MM is the month from 01 to 12, DD is the day of the month from 01 to 31, hh is the hour from 00 to 23, mm is the minute from 00 to 59, and ss is the second from 00 to 59.</p>
<p>MKD<br />
Syntax: MKD remote-directory</p>
<p>Creates the named directory on the remote host.</p>
<p>MODE<br />
Syntax: MODE mode-character</p>
<p>Sets the transfer mode to one of:</p>
<p>    * S &#8211; Stream<br />
    * B &#8211; Block<br />
    * C &#8211; Compressed </p>
<p>The default mode is Stream.</p>
<p>NLST<br />
Syntax: NLST [remote-directory]</p>
<p>Returns a list of filenames in the given directory (defaulting to the current directory), with no other information. Must be preceded by a PORT or PASV command.</p>
<p>NOOP<br />
Syntax: NOOP</p>
<p>Does nothing except return a response.</p>
<p>PASS<br />
Syntax: PASS password</p>
<p>After sending the USER command, send this command to complete the login process. (Note, however, that an ACCT command may have to be used on some systems.)</p>
<p>PASV<br />
Syntax: PASV</p>
<p>Tells the server to enter &#8220;passive mode&#8221;. In passive mode, the server will wait for the client to establish a connection with it rather than attempting to connect to a client-specified port. The server will respond with the address of the port it is listening on, with a message like:<br />
227 Entering Passive Mode (a1,a2,a3,a4,p1,p2)<br />
where a1.a2.a3.a4 is the IP address and p1*256+p2 is the port number.</p>
<p>PORT<br />
Syntax: PORT a1,a2,a3,a4,p1,p2</p>
<p>Specifies the host and port to which the server should connect for the next file transfer. This is interpreted as IP address a1.a2.a3.a4, port p1*256+p2.</p>
<p>PWD<br />
Syntax: PWD</p>
<p>Returns the name of the current directory on the remote host.</p>
<p>QUIT<br />
Syntax: QUIT</p>
<p>Terminates the command connection.</p>
<p>REIN*<br />
Syntax: REIN</p>
<p>Reinitializes the command connection &#8211; cancels the current user/password/account information. Should be followed by a USER command for another login.</p>
<p>REST<br />
Syntax: REST position</p>
<p>Sets the point at which a file transfer should start; useful for resuming interrupted transfers. For nonstructured files, this is simply a decimal number. This command must immediately precede a data transfer command (RETR or STOR only); i.e. it must come after any PORT or PASV command.</p>
<p>RETR<br />
Syntax: RETR remote-filename</p>
<p>Begins transmission of a file from the remote host. Must be preceded by either a PORT command or a PASV command to indicate where the server should send data.</p>
<p>RMD<br />
Syntax: RMD remote-directory</p>
<p>Deletes the named directory on the remote host.</p>
<p>RNFR<br />
Syntax: RNFR from-filename</p>
<p>Used when renaming a file. Use this command to specify the file to be renamed; follow it with an RNTO command to specify the new name for the file.</p>
<p>RNTO<br />
Syntax: RNTO to-filename</p>
<p>Used when renaming a file. After sending an RNFR command to specify the file to rename, send this command to specify the new name for the file.</p>
<p>SITE*<br />
Syntax: SITE site-specific-command</p>
<p>Executes a site-specific command.</p>
<p>SIZE<br />
Syntax: SIZE remote-filename</p>
<p>Returns the size of the remote file as a decimal number.</p>
<p>STAT<br />
Syntax: STAT [remote-filespec]</p>
<p>If invoked without parameters, returns general status information about the FTP server process. If a parameter is given, acts like the LIST command, except that data is sent over the control connection (no PORT or PASV command is required).</p>
<p>STOR<br />
Syntax: STOR remote-filename</p>
<p>Begins transmission of a file to the remote site. Must be preceded by either a PORT command or a PASV command so the server knows where to accept data from.</p>
<p>STOU<br />
Syntax: STOU</p>
<p>Begins transmission of a file to the remote site; the remote filename will be unique in the current directory. The response from the server will include the filename.</p>
<p>STRU<br />
Syntax: STRU structure-character</p>
<p>Sets the file structure for transfer to one of:</p>
<p>    * F &#8211; File (no structure)<br />
    * R &#8211; Record structure<br />
    * P &#8211; Page structure </p>
<p>The default structure is File.</p>
<p>SYST<br />
Syntax: SYST</p>
<p>Returns a word identifying the system, the word &#8220;Type:&#8221;, and the default transfer type (as would be set by the TYPE command). For example: UNIX Type: L8</p>
<p>TYPE<br />
Syntax: TYPE type-character [second-type-character]</p>
<p>Sets the type of file to be transferred. type-character can be any of:</p>
<p>    * A &#8211; ASCII text<br />
    * E &#8211; EBCDIC text<br />
    * I &#8211; image (binary data)<br />
    * L &#8211; local format </p>
<p>For A and E, the second-type-character specifies how the text should be interpreted. It can be:</p>
<p>    * N &#8211; Non-print (not destined for printing). This is the default if second-type-character is omitted.<br />
    * T &#8211; Telnet format control (<CR>, <FF>, etc.)<br />
    * C &#8211; ASA Carriage Control </p>
<p>For L, the second-type-character specifies the number of bits per byte on the local system, and may not be omitted.</p>
<p>USER<br />
Syntax: USER username</p>
<p>Send this command to begin the login process. username should be a valid username on the system, or &#8220;anonymous&#8221; to initiate an anonymous login.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.kulish.com/2009/05/22/raw-ftp-commands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solaris someuser cron not running</title>
		<link>http://tech.kulish.com/2008/02/04/solaris-someuser-cron-not-running/</link>
		<comments>http://tech.kulish.com/2008/02/04/solaris-someuser-cron-not-running/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 12:55:18 +0000</pubDate>
		<dc:creator>Null</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[LK]]></category>
		<category><![CDATA[Mon Feb]]></category>
		<category><![CDATA[solaris]]></category>

		<guid isPermaLink="false">http://tech.lan.side/?p=62</guid>
		<description><![CDATA[Keep running into this problem. Getting cron failures in /var/cron/log: &#8212; someuser 4151 c Mon Feb 29 12:35:00 1993 ! bad user (someuser) Mon Feb 29 12:35:00 1993 &#8212; Inevitably, the user has locked themselves (or a malicious someone) out of the server. Check /etc/shadow for *LK* on the user. passwd -u someuser to unlock.]]></description>
			<content:encoded><![CDATA[<p>Keep running into this problem. Getting cron failures in /var/cron/log:</p>
<p>&#8212;<br />
someuser 4151 c Mon Feb 29 12:35:00 1993<br />
! bad user (someuser) Mon Feb 29 12:35:00 1993<br />
&#8212;</p>
<p>Inevitably, the user has locked themselves (or a malicious someone) out of the server.</p>
<p>Check /etc/shadow for *LK* on the user.</p>
<p>passwd -u someuser to unlock.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.kulish.com/2008/02/04/solaris-someuser-cron-not-running/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solaris 10 DNS Oops! WTF?! Oh Yeah!</title>
		<link>http://tech.kulish.com/2008/01/30/solaris-10-dns-oops-wtf-oh-yeah/</link>
		<comments>http://tech.kulish.com/2008/01/30/solaris-10-dns-oops-wtf-oh-yeah/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 13:35:19 +0000</pubDate>
		<dc:creator>Null</dc:creator>
				<category><![CDATA[Daemons]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[solaris]]></category>

		<guid isPermaLink="false">http://tech.lan.side/?p=63</guid>
		<description><![CDATA[When building Solaris 10 servers in bulk.. That is 1 or more at a time. I usually don&#8217;t enable any sort of name resolution until later. That&#8217;s the problem. When later rolls around, I&#8217;ve forgotten that I hadn&#8217;t enabled anything. This would be fine and dandy if nslookup or host would let me know that [...]]]></description>
			<content:encoded><![CDATA[<p>When building Solaris 10 servers in bulk.. That is 1 or more at a time. I usually don&#8217;t enable any sort of name resolution until later.</p>
<p>That&#8217;s the problem. When later rolls around, I&#8217;ve forgotten that I hadn&#8217;t enabled anything.</p>
<p>This would be fine and dandy if nslookup or host would let me know that my /etc/nsswitch.conf is only looking at files. It ignores that and goes strictly with what is in /etc/resolv.conf seemingly. So if that&#8217;s broke or incorrect it will, at least, tell you that.</p>
<p>Anyway, the system I have come up with to quickly check if nsswitch.conf is setup for DNS is to ssh to a know hostname. If this fails, it usually means you need to copy nsswitch.dns over nsswitch.conf.</p>
<p>Another gotcha that gets me.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.kulish.com/2008/01/30/solaris-10-dns-oops-wtf-oh-yeah/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bind9: Master Only</title>
		<link>http://tech.kulish.com/2008/01/10/bind9-master-only/</link>
		<comments>http://tech.kulish.com/2008/01/10/bind9-master-only/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 19:43:22 +0000</pubDate>
		<dc:creator>Null</dc:creator>
				<category><![CDATA[Daemons]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[zone]]></category>

		<guid isPermaLink="false">http://tech.lan.side/?p=77</guid>
		<description><![CDATA[Configuration for a master only DNS server. 1. WILL NOT answer queries 2. WILL NOT forward queries 3. WILL NOT perform recursion 4. WILL allow transfers from specified slaves Zone and configuration files are backed up disk to disk via rsync. Single point editing of our name space. Single point of failure. If server is [...]]]></description>
			<content:encoded><![CDATA[<p>Configuration for a master only DNS server.</p>
<p>1. WILL NOT answer queries<br />
2. WILL NOT forward queries<br />
3. WILL NOT perform recursion<br />
4. WILL allow transfers from specified slaves</p>
<p>Zone and configuration files are backed up disk to disk via rsync.</p>
<p>Single point editing of our name space.</p>
<p>Single point of failure. If server is lost, updates to DNS cannot be made until another master is brought online.</p>
<p>options {<br />
directory &#8220;/etc&#8221;;<br />
pid-file &#8220;/var/run/named.pid&#8221;;<br />
version &#8220;Windows 3.11&#8243;;<br />
allow-query {&#8220;none&#8221;; };<br />
allow-recursion {&#8220;none&#8221;; };<br />
notify yes;<br />
also-notify {<br />
IPn.IPn.IPn.IPn;<br />
};<br />
allow-transfer {<br />
IPn.IPn.IPn.IPn;<br />
};<br />
};</p>
<p>zone &#8220;my.hosts.net&#8221; {<br />
type master;<br />
file &#8220;/etc/my.hosts.net&#8221;;<br />
};</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.kulish.com/2008/01/10/bind9-master-only/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Solaris Disk Mirror</title>
		<link>http://tech.kulish.com/2007/08/30/quick-solaris-disk-mirror/</link>
		<comments>http://tech.kulish.com/2007/08/30/quick-solaris-disk-mirror/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 11:17:12 +0000</pubDate>
		<dc:creator>Null</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Concat Stripe]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[mirror]]></category>

		<guid isPermaLink="false">http://tech.lan.side/?p=86</guid>
		<description><![CDATA[# format Searching for disks&#8230;done AVAILABLE DISK SELECTIONS: 0. c1t1d0 /pci@1,0/pci103c,60b0@5/sd@1,0 1. c1t4d0 /pci@1,0/pci103c,60b0@5/sd@4,0 bash-3.00# prtvtoc /dev/rdsk/c1t1d0s2 &#124; fmthard -s &#8211; /dev/rdsk/c1t4d0s2 fmthard: New volume table of contents now in place. bash-3.00# metadb -a -f -c2 /dev/dsk/c1t1d0s7 /dev/dsk/c1t4d0s7 /dev/dsk/c1t1d0s1 &#8211; - swap &#8211; no - /dev/dsk/c1t1d0s0 /dev/rdsk/c1t1d0s0 / ufs 1 no - /dev/dsk/c1t1d0s3 /dev/rdsk/c1t1d0s3 /var [...]]]></description>
			<content:encoded><![CDATA[<p># format<br />
Searching for disks&#8230;done</p>
<p>AVAILABLE DISK SELECTIONS:<br />
0. c1t1d0<br />
/pci@1,0/pci103c,60b0@5/sd@1,0<br />
1. c1t4d0<br />
/pci@1,0/pci103c,60b0@5/sd@4,0</p>
<p>bash-3.00# prtvtoc /dev/rdsk/c1t1d0s2 | fmthard -s &#8211; /dev/rdsk/c1t4d0s2<br />
fmthard: New volume table of contents now in place.</p>
<p>bash-3.00# metadb -a -f -c2 /dev/dsk/c1t1d0s7 /dev/dsk/c1t4d0s7</p>
<p>/dev/dsk/c1t1d0s1 &#8211; - swap &#8211; no -<br />
/dev/dsk/c1t1d0s0 /dev/rdsk/c1t1d0s0 / ufs 1<br />
no -<br />
/dev/dsk/c1t1d0s3 /dev/rdsk/c1t1d0s3 /var ufs 1<br />
no -<br />
/dev/dsk/c1t1d0s4 /dev/rdsk/c1t1d0s4 /export ufs 2<br />
yes</p>
<p>bash-3.00# metainit -f d10 1 1 c1t1d0s0<br />
d10: Concat/Stripe is setup<br />
bash-3.00# metainit d20 1 1 c1t4d0s0<br />
d20: Concat/Stripe is setup<br />
bash-3.00# metainit d30 -m d10<br />
d30: Mirror is setup</p>
<p>bash-3.00# metaroot d30</p>
<p>bash-3.00# metainit -f d11 1 1 c1t1d0s1<br />
d11: Concat/Stripe is setup<br />
bash-3.00# metainit d21 1 1 c1t4d0s1<br />
d21: Concat/Stripe is setup<br />
bash-3.00# metainit d31 -m d11<br />
d31: Mirror is setup</p>
<p>bash-3.00# metainit -f d13 1 1 c1t1d0s3<br />
d13: Concat/Stripe is setup<br />
bash-3.00# metainit d23 1 1 c1t4d0s3<br />
d23: Concat/Stripe is setup<br />
bash-3.00# metainit d33 -m d13<br />
d33: Mirror is setup</p>
<p>bash-3.00# metainit -f d14 1 1 c1t1d0s4<br />
d14: Concat/Stripe is setup<br />
bash-3.00# metainit d24 1 1 c1t4d0s4<br />
d24: Concat/Stripe is setup<br />
bash-3.00# metainit d34 -m d14<br />
d34: Mirror is setup</p>
<p>vi /etc/vfstab</p>
<p>bash-3.00# metainit hsp001<br />
hsp001: Hotspare pool is setup</p>
<p>bash-3.00# lockfs -fa<br />
bash-3.00# init 6</p>
<p># metattach d30 d20<br />
d30: submirror d20 is attached<br />
# metattach d31 d21<br />
d31: submirror d21 is attached<br />
# metattach d33 d23<br />
d33: submirror d23 is attached<br />
# metattach d34 d24<br />
d34: submirror d24 is attached</p>
<p># metastat</p>
<p>If you fat finger something, you can use metaclear to remove it:</p>
<p># metaclear d34</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.kulish.com/2007/08/30/quick-solaris-disk-mirror/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Zone Construction</title>
		<link>http://tech.kulish.com/2007/08/27/simple-zone-construction/</link>
		<comments>http://tech.kulish.com/2007/08/27/simple-zone-construction/#comments</comments>
		<pubDate>Tue, 28 Aug 2007 02:19:06 +0000</pubDate>
		<dc:creator>Null</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[zone]]></category>

		<guid isPermaLink="false">http://tech.lan.side/?p=89</guid>
		<description><![CDATA[bash-3.00# zoneadm list -iv ID NAME STATUS PATH 0 global running / 11 foo running /export/zones/foo 13 bar running /export/zones/bar bash-3.00# zonecfg -z fubar fubar: No such zone configured Use &#8216;create&#8217; to begin configuring a new zone. zonecfg:fubar> create zonecfg:fubar> set zonepath=/export/zones/fubar zonecfg:fubar> set autoboot=true zonecfg:fubar> add net zonecfg:fubar:net> set physical=eth0 zonecfg:fubar:net> set address=192.168.1.1 zonecfg:fubar:net> [...]]]></description>
			<content:encoded><![CDATA[<p>bash-3.00# zoneadm list -iv<br />
ID NAME STATUS PATH<br />
0 global running /<br />
11 foo running /export/zones/foo<br />
13 bar running /export/zones/bar<br />
bash-3.00# zonecfg -z fubar<br />
fubar: No such zone configured<br />
Use &#8216;create&#8217; to begin configuring a new zone.</p>
<p>zonecfg:fubar> create<br />
zonecfg:fubar> set zonepath=/export/zones/fubar<br />
zonecfg:fubar> set autoboot=true<br />
zonecfg:fubar> add net<br />
zonecfg:fubar:net> set physical=eth0<br />
zonecfg:fubar:net> set address=192.168.1.1<br />
zonecfg:fubar:net> end<br />
zonecfg:fubar> add attr<br />
zonecfg:fubar:attr> set name=comment<br />
zonecfg:fubar:attr> set type=string<br />
zonecfg:fubar:attr> set value=&#8221;FOOBED&#8221;<br />
zonecfg:fubar:attr> end<br />
zonecfg:fubar> verify<br />
zonecfg:fubar> commit<br />
zonecfg:fubar> exit</p>
<p>bash-3.00# zoneadm -z fubar install</p>
<p>Preparing to install zone .<br />
Creating list of files to copy from the global zone.<br />
Copying <2434> files to the zone.<br />
Initializing zone product registry.<br />
Determining zone package initialization order.<br />
Preparing to initialize <980> packages on the zone.<br />
Initialized <980> packages on zone.<br />
Zone is initialized.<br />
Installation of these packages generated warnings:<br />
The file contains a log of the zone installation.</p>
<p>bash-3.00# zoneadm -z fubar boot</p>
<p>bash-3.00# zlogin -C fubar</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.kulish.com/2007/08/27/simple-zone-construction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solaris 10: Zones</title>
		<link>http://tech.kulish.com/2007/08/13/solaris-10-zones/</link>
		<comments>http://tech.kulish.com/2007/08/13/solaris-10-zones/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 19:24:33 +0000</pubDate>
		<dc:creator>Null</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Domain Grouping]]></category>
		<category><![CDATA[Partition Segregation]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[Sparse Root Model]]></category>
		<category><![CDATA[zone]]></category>

		<guid isPermaLink="false">http://tech.lan.side/?p=91</guid>
		<description><![CDATA[This is the first part in a series of notes taken regarding new(ish) Solaris 10 technologies. Other items I have notes on are ZFS and new service administration. Zones, Containers, Domains and Partition (According to Sun): Zone: chroot’d virtual machine. Some resources are shared, for example, the kernel or /usr/lib. More info below. Container: Zone [...]]]></description>
			<content:encoded><![CDATA[<p>This is the first part in a series of notes taken regarding new(ish) Solaris 10 technologies. Other items I have notes on are ZFS and new service administration.</p>
<p>Zones, Containers, Domains and Partition (According to Sun):</p>
<p>Zone: chroot’d virtual machine. Some resources are shared, for example, the kernel or /usr/lib.<br />
More info below.</p>
<p>Container: Zone with resource controls in place. At this time, limited to number of CPUs.<br />
See “Resource Pools”</p>
<p>Domain: Grouping of hardware in enterprise class Sun servers</p>
<p>Partition: Segregation of domain grouped hardware.</p>
<p>Non-Global Zones (NGZ) can either be Sparse Root Model (/lib, /platform, /sbin, and /usr are linked from the Global Zone) or the Whole Root Model</p>
<p>Monitoring Zones:<br />
prstat -Z show cpu/mem utilization on zones (including Global<br />
rcapstat monitor memory caps<br />
poolcfg -dc info get info on pools<br />
zoneadm list -iv list zones and show status<br />
zonecfg -z info show info on a zone</p>
<p>Resource Allocation (Resource Capping Daemon):<br />
pooladm -e save active pool config in /etc/pooladm.conf<br />
pooladm -x removes all user configured pools<br />
projadd and projmod to limit memory</p>
<p>Zone creation and destruction:<br />
zonecfg -z to configure zones<br />
zoneadm -z uninstall uninstalls a zone (configuration is left intact)<br />
zonecfg -z delete removes zone configuration completely (make backups)<br />
zoneadm -z install install zone (copy files)</p>
<p>Zone Interaction (From the Global Zone):<br />
zlogin -C virtual serial console<br />
zlogin -S send command to zone w/o login<br />
zoneadm -z boot boot the zone<br />
zoneadm -z [halt | reboot]</p>
<p>Miscellaneous Zone Stuff:<br />
/etc/zones contains data on all configured zones<br />
Dynamic resource pools allow limiting of resources a zone can use<br />
~. disconnect from virtual console (may blow you completely out)<br />
~~. to disconnect from virtual console (use this if the above doesn’t work correctly)<br />
NGZ’s cannot be an NFS Server currently.</p>
<p>Some of the resource management comments may seem to contradict each other. I will clarify these statements as I implement resource controls.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.kulish.com/2007/08/13/solaris-10-zones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solaris 10 Crib</title>
		<link>http://tech.kulish.com/2007/08/07/solaris-10-crib/</link>
		<comments>http://tech.kulish.com/2007/08/07/solaris-10-crib/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 12:07:08 +0000</pubDate>
		<dc:creator>Null</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[FMA]]></category>
		<category><![CDATA[rosetta]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[zone]]></category>

		<guid isPermaLink="false">http://tech.lan.side/?p=93</guid>
		<description><![CDATA[Some items concerning Solaris 10. Zone: chrooted &#8220;virtual&#8221; machine. Kernel is a shared resource. Domain: Grouping of hardware in larger sun servers. Partition: Separation of domains. Container: Zone with resource controls in place. /etc/zones contains data on all zones. ipmp auto nic failover. Both must be in same subnet. core: application failure panic: kernel failure [...]]]></description>
			<content:encoded><![CDATA[<p>Some items concerning Solaris 10.</p>
<p>Zone: chrooted &#8220;virtual&#8221; machine. Kernel is a shared resource.<br />
Domain: Grouping of hardware in larger sun servers.<br />
Partition: Separation of domains.<br />
Container: Zone with resource controls in place.</p>
<p>/etc/zones contains data on all zones.</p>
<p>ipmp auto nic failover. Both must be in same subnet.</p>
<p>core: application failure<br />
panic: kernel failure</p>
<p>pool stuff (page 2-34):<br />
pools contain sets (dynamic processor sets)<br />
dynamic resource pool: limit resources in a zone<br />
poolcfg -dc info get info on pools<br />
pooladm -e save active pool config /etc/pooladm.conf<br />
pooladm -x removes all user configured pools</p>
<p>memory capping:<br />
projadd and projmod to limit memory (page 2-41)<br />
rcapstat to monitor memory caps.</p>
<p>preap &#8211; remove zombie processes.</p>
<p>zone stuff:<br />
see page 1-13 for script.<br />
zonecfg -z to configure zones. see page 1-23.<br />
zonecfg -z info show info on zone.<br />
zoneadm list -iv list zones and show status.<br />
zoneadm -z install install zone (copy files).<br />
zoneadm -z boot boot the zone.<br />
zoneadm -z [halt | reboot]<br />
zlogin -S init 0 send command to zone w/o login</p>
<p>zlogin -C virtual serial console<br />
~. disconnect from virtual console (may blow you completely out)<br />
~~. to disconnect from virtual console</p>
<p>zoneadm -z uninstall uninstalls a zone (configuration is left intact)<br />
zonecfg -z delete removes zone configuration complete (make backups)</p>
<p>prstat -Z show cput/mem utilization on zones (including Global)</p>
<p>Predictive Self-Healing:<br />
shuts down components. healing by amputation.</p>
<p>FMA:<br />
Fault Management Architecture</p>
<p>CE &#8211; Correctable Error<br />
UE &#8211; Uncorrectable Error (box will panic)<br />
FMRI &#8211; Fault Managed Resource Identifier<br />
cpu &#8211; central processing unit<br />
mem &#8211; system main memory<br />
mod &#8211; model<br />
pkg &#8211; packages<br />
hc &#8211; hardware component managed by FMA<br />
legacy-hc &#8211; legacy hardware component<br />
fmd &#8211; diagnosis engine which is part of FMA<br />
dev &#8211; solaris device path status and properties<br />
svc &#8211; application service managed by the service management facility<br />
zfs &#8211; ZFS filesystem</p>
<p>CxTxDxSx (disk device layout)</p>
<p>FMRI sd@6,0:g</p>
<p>Tx = 6<br />
Dx = 0<br />
Sx = g</p>
<p>starting at 0. A=1, B=2, etc.. G=6</p>
<p>CxT6D0s6 is the result.</p>
<p>FMD states:</p>
<p>Unsolved &#8211; has no list.suspect<br />
Solved &#8211; list.suspect is published<br />
Closed &#8211; false alarm or service restart or HC turned off</p>
<p>fmadm config &#8211; shows info<br />
fmadm faulty &#8211; shows things that system thinks faulty<br />
fmadm repair &#8211; after replacing part, this *MUST* be run<br />
fmstat &#8211; statistics about FMA modules</p>
<p>snmp info on fmd pages 4-20 &#8211; 4-22</p>
<p>Service Management Facility:<br />
svcs |more &#8211; gives list and status of services<br />
svcadm enable &#8211; starts service, persistent through reboot<br />
svcadm disable &#8211; stops service, will not restart after reboot<br />
svcadm restart &#8211; will attempt to stop and start a service</p>
<p>use /var/svc/manifest/site for homegrown service manifests</p>
<p>online &#8211; service is online and running<br />
offline &#8211; dependencies were not met, no start attempt made<br />
maintenance &#8211; start attempted, but service failed to start</p>
<p>Brian&#8217;s Sun Class stuff:</p>
<p>http://www.my-speakeasy.com/sunstuff/SA225/</p>
<p>svcprop shows service settings in the database<br />
svcs -a shows all services<br />
svcs -p &#8220;*nfs&#8221; would show all processes associated with nfs<br />
svcs -d list services this service depends on<br />
svcs -D lists services which depend on this service<br />
svcs -l extended info on service</p>
<p>/var/svs/log contains logs for each service</p>
<p>inetadm lists services under inetd control<br />
-e enable service<br />
-d disable service<br />
-p show service properties</p>
<p>svccfg import /path/to/xml imports manifest into the SMF repository</p>
<p>inetconv reads inetd.conf, imports them into the SMF repository</p>
<p>/lib/svc/bin/restore_repository<br />
restores a corrupt repository</p>
<p>svccfg validate /path/to/my.xml validates manifest</p>
<p>more research on dtrace is needed<br />
rbac (role based access control) research as well</p>
<p>download scat (solaris crash analysis tool)</p>
<p>solaris fingerprint database</p>
<p>fcinfo hba-port reports WWNs of fiber cards</p>
<p>scp stalls on x86 Solaris:</p>
<p>This should be added to /kernel/drv/e1000g.conf<br />
Add this to the e1000g.conf and reboot</p>
<p>lso_enable=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;</p>
<p>Following disk io:<br />
iostat -zxtcT d 1</p>
<p>ZFS mapping ssd# to device name:<br />
cat /etc/path_to_inst and find your ssd #<br />
copy the scsi entry (EX: &#8220;/scsi_vhci/ssd@g60060e8004a4c3000000a4c30000000e&#8221;)<br />
ls -l /dev/dsk | fgrep &#8220;/scsi_vhci/ssd@g60060e8004a4c3000000a4c30000000e&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.kulish.com/2007/08/07/solaris-10-crib/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding disk to AIX 5L (SAN)</title>
		<link>http://tech.kulish.com/2006/10/12/adding-disk-to-aix-5l-san/</link>
		<comments>http://tech.kulish.com/2006/10/12/adding-disk-to-aix-5l-san/#comments</comments>
		<pubDate>Thu, 12 Oct 2006 14:35:26 +0000</pubDate>
		<dc:creator>Null</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[AIX]]></category>
		<category><![CDATA[Bang Enter]]></category>
		<category><![CDATA[san]]></category>
		<category><![CDATA[Unit Size]]></category>
		<category><![CDATA[VG]]></category>

		<guid isPermaLink="false">http://tech.lan.side/?p=99</guid>
		<description><![CDATA[Quick step-by-step for when I am forgetting things: hostname:root> cfgmgr Discover disks hostname:root> lspv Note whether SAN is HDLM (Hitachi) or VPATH (Shark) Note hdisk# or vpath# Should also report disks, in VGs and otherwise hostname:root> lsvg -l VGname Note which VG a filesystem is in hostname:root> smitty lvm >> Volume Groups >> Add a [...]]]></description>
			<content:encoded><![CDATA[<p>Quick step-by-step for when I am forgetting things:</p>
<p>hostname:root> cfgmgr<br />
Discover disks</p>
<p>hostname:root> lspv<br />
Note whether SAN is HDLM (Hitachi) or VPATH (Shark)<br />
Note hdisk# or vpath#<br />
Should also report disks, in VGs and otherwise</p>
<p>hostname:root> lsvg -l VGname<br />
Note which VG a filesystem is in</p>
<p>hostname:root> smitty lvm<br />
>> Volume Groups<br />
>> Add a Data Path Volume to a Volume Group (Shark)<br />
>> Force the creation of a volume group? no (Leave Default)<br />
>> * VOLUME GROUP name (F4 to list volume groups)<br />
>> * PHYSICAL VOLUME names (F4 to list available volumes)</p>
<p>(Bang Enter)<br />
(Bang Enter to Confirm)</p>
<p>Wait for &#8216;Command: OK stdout: no stderr: no&#8217;</p>
<p>CTRL-C to exit smitty</p>
<p>hostname:root> lspv<br />
Confirm the volumes have been added to the correct VG</p>
<p>hostname:root> df -g | grep filesystemNAME<br />
Note number of GB currently in FS (2nd column)</p>
<p>20<br />
hostname:root. smitty jfs (or jfs2)<br />
>> Change / Show Characteristics of an Enhanced Journaled File System<br />
>> Select the filesystem you want to extend from list<br />
>> Unit Size 512bytes (Bang tab until it reads Gigabytes)<br />
>> Number of units (current+requested == new value)</p>
<p>(Bang Enter)<br />
Wait for &#8216;Command: OK stdout: no stderr: no&#8217;</p>
<p>If everything goes according to plan, you now have a larger filesystem.</p>
<p>(STOP HERE if everything worked)</p>
<p>If it does not &#8230; well, you may have revceived the following type of error:</p>
<p>0516-787 extendlv: Maximum allocation for logical volume fslv## is 512.</p>
<p>Well crap &#8230;</p>
<p>hostname:root> lsvg -l VGname<br />
Note the LV Name of the partition you are working with</p>
<p>smitty chlv<br />
>> * LOGICAL VOLUME name (F4 to list and select)<br />
>> MAXIMUM NUMBER of LOGICAL PARTITIONS [CHANGE]<br />
When doing the above 1PP == 1LP. #LP * PP == maxsize</p>
<p>(Bang Enter)</p>
<p>Wait for &#8216;Command: OK stdout: no stderr: no&#8217;</p>
<p>GOTO 20</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.kulish.com/2006/10/12/adding-disk-to-aix-5l-san/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: kulish.com @ 2012-02-07 18:38:57 by W3 Total Cache -->
