<?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>Alphatek - Steven&#039;s Tech Blog &#187; Solaris</title>
	<atom:link href="http://www.alphatek.info/category/solaris/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alphatek.info</link>
	<description>Random rants and tips about Fedora, CentOS, Maemo and other things I care about</description>
	<lastBuildDate>Tue, 25 May 2010 18:19:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Oracle doesn&#8217;t like small customers, aka. &#8220;Is Solaris dead?&#8221;</title>
		<link>http://www.alphatek.info/2010/02/24/oracle-doesnt-like-small-customers-aka-is-solaris-dead/</link>
		<comments>http://www.alphatek.info/2010/02/24/oracle-doesnt-like-small-customers-aka-is-solaris-dead/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 18:44:56 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=601</guid>
		<description><![CDATA[Today, a not so surprising news showed up in my RSS feeds. It&#8217;s from PCA, an update tool I use for Solaris (because the tools from Sun are useless). Attention: The patch policy has silently been changed by Oracle quite severely. The new strategy, which is also documented in Software Update Entitlement Policy for Solaris, [...]]]></description>
			<content:encoded><![CDATA[<p>Today, a not so surprising news showed up in my RSS feeds. It&#8217;s from <a href="http://www.par.univie.ac.at/solaris/pca" target="_blank">PCA</a>, an update tool I use for Solaris (because the tools from Sun are useless).</p>
<blockquote><p><strong>Attention</strong>: The patch policy has silently been changed by Oracle quite severely. The new strategy, which is also documented in <a href="http://sunsolve.sun.com/search/document.do?assetkey=1-61-203648-1"> Software Update Entitlement Policy for Solaris</a>, enforces the requirement of a support contract to download any patch.</p>
<p>Unlike before, even security patches are not available for free anymore.</p></blockquote>
<p><span id="more-601"></span>Until recently, Solaris 10 was free to use and Sun provided security patches for free as well; if you wanted further support you had to pay. It&#8217;s a widely used economic model in the open source world and has the great advantage of &#8220;hooking&#8221; up small companies to your products by still making them usable in a production environment.</p>
<p>At the company I&#8217;m working at, that&#8217;s exactly what happened with MySQL: we could use it for free to see if it fitted our needs and when the time came for us to need support, we paid for support. Everyone wins.</p>
<p>Now Oracle has pretty much cut every small Solaris user from using it in a production environment, to me it looks like they don&#8217;t even want to care about them. Solaris is still used in a lot of big corporations who pay a lot of money for support, but I wonder how long this will last&#8230;Just for fun I&#8217;m pasting some phrases from Oracle&#8217;s documentation:</p>
<blockquote>
<ul>
<li>A separate Sun support contract is required for every system to which you apply Solaris Software Updates, including test and development systems.</li>
<li>If your support contract lapses, you loose the right to use most Solaris OS patches and you must remove them from all systems.</li>
</ul>
</blockquote>
<p>Remove patches from a system, is this a joke? Did the guys who decided that already work in IT? Yeah great Oracle, that&#8217;s REALLY a good way to treat your future customers. Now you can be sure that I will try to replace every Solaris I see with a Linux box.</p>
<p>It&#8217;s sad for Solaris, the technology behind the OS is good but due to bad management decisions it&#8217;s getting less and less market-share. I feel sorry for the few passionate people behind Open Solaris.</p>
<p>Some may argue that RHEL is also a paid OS, but at least it&#8217;s clear from the beginning and Red Hat donesn&#8217;t screw their customers with dodgy moves like that in the middle of a product life-cycle.  And you still have CentOS if you don&#8217;t want support. What Oracle just did is a hold-up against the small Solaris users and I&#8217;m really angry at them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/02/24/oracle-doesnt-like-small-customers-aka-is-solaris-dead/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Should yum/PackageKit go the Solaris way?</title>
		<link>http://www.alphatek.info/2009/08/22/should-yumpackagekit-go-the-solaris-way/</link>
		<comments>http://www.alphatek.info/2009/08/22/should-yumpackagekit-go-the-solaris-way/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 11:45:43 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[General Linux]]></category>
		<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=433</guid>
		<description><![CDATA[Recently I got a new job as a sysadmin in a company running Solaris 10 servers. I&#8217;m not really used to this OS, so I&#8217;ve ordered some books and read a ton of articles about it. As always, it&#8217;s quite a challenge to switch from one OS to another; you have to learn its way [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I got a new job as a sysadmin in a company running Solaris 10 servers. I&#8217;m not really used to this OS, so I&#8217;ve ordered some books and read a ton of articles about it. As always, it&#8217;s quite a challenge to switch from one OS to another; you have to learn its way of doing things, its admin tools, its legacy&#8230;</p>
<p>Solaris 10 feels particularly old compared to modern Linux distros  like Fedora or enterprise-class Linux distros like CentOS/RHEL, but there are also a couple of very cool technologies included. This blog post is probably the first of a series dedicated to Linux -&gt; Solaris migrations, and how we can learn things from Solaris to improve Linux.</p>
<p><span id="more-433"></span></p>
<p><strong>So, the first thing I want to talk about is the updates management. </strong></p>
<p>In Fedora, we have yum/PackageKit to nicely handle the whole process: download the updates and install them. In Solaris 10, there is a jungle of mostly useless applications to download the updates; obtaining them is bit like being in hell, only worse. The most convenient way is to use an application called <a href="http://www.par.univie.ac.at/solaris/pca/" target="_blank">Patch Check Advanced</a>. But once you have downloaded the updates for your system, you can apply them in a WAY cooler way than in Linux. Let me explain how it works&#8230;</p>
<p>First, you have to know that Solaris now comes with a file system called <a href="http://en.wikipedia.org/wiki/ZFS" target="_blank">ZFS</a>, which we can&#8217;t have in Linux for legal reasons as far as I know. This file system is very similar functionality-wise to <a href="http://en.wikipedia.org/wiki/Btrfs" target="_blank">Btrfs</a> that we should see in Linux in a couple of months (oddly enough, both &#8220;belong&#8221; to Oracle now); ZFS supports something called &#8220;snapshots&#8221;.</p>
<p>Snapshots give you the opportunity to create an exact copy of any file system on the fly in a matter of seconds, without any performance degradation nor disk space use (best case). You can see it as a backup, it&#8217;s very similar to Apple&#8217;s Time Machine. To handle updates, Solaris 10 uses a set of utilities called &#8220;Live Upgrade&#8221;, what they do is:</p>
<ul>
<li>Create a snapshot (at the file system level, with ZFS) of you whole root partition</li>
<li>Apply the patches you have downloaded to this snapshot</li>
<li>Create an entry in GRUB to boot from this &#8220;new root&#8221; snapshot at the next reboot</li>
</ul>
<p>The end result is that at the next reboot, you can see if your system still works well with the applied updates.</p>
<ul>
<li> It you are happy, you stay with this new root and delete the old one</li>
<li>If you are unhappy, you reboot to the old root and your system is in its old state</li>
</ul>
<p>Simply imagine how cool this is for critical servers, or even the end user. You don&#8217;t mess at all with the software currently installed, there is no risk as you can roll back and the only downtime you have is the reboot.</p>
<p>With Btrfs coming to Linux, we could absolutely do the same thing, and I&#8217;d like to see that. I&#8217;m just useless to make that happen in Fedora, but I can at least raise awareness on this with this blog post. I know that this requires a massive paradigm shift for the way we handle updates, we need to move from a &#8220;per application update&#8221; to a &#8220;complete OS state update&#8221;. Instead of selecting a specific kernel to boot in GRUB, you would select a system state.</p>
<p>On a side note, OpenSolaris&#8217; package manager (similar to PackageKit) does exactly that.</p>
<p>Here is a complete Live Upgrade sequence I did on a Solaris 10 box</p>
<blockquote><p><strong>[root@sol10 /]$ </strong><strong>lucreate -n s10Aug2209 (We create a / ZFS snapshot called </strong><strong>s10Aug2209</strong>)<br />
Checking GRUB menu&#8230;<br />
Analyzing system configuration.<br />
No name for current boot environment.<br />
INFORMATION: The current boot environment is not named &#8211; assigning name &lt;root-dataset&gt;.<br />
Current boot environment is named &lt;root-dataset&gt;.<br />
Creating initial configuration for primary boot environment &lt;root-dataset&gt;.<br />
The device &lt;/dev/dsk/c0d0s0&gt; is not a root device for any boot environment; cannot get BE ID.<br />
PBE configuration successful: PBE name &lt;root-dataset&gt; PBE Boot Device &lt;/dev/dsk/c0d0s0&gt;.<br />
Comparing source boot environment &lt;root-dataset&gt; file systems with the<br />
file system(s) you specified for the new boot environment. Determining<br />
which file systems should be in the new boot environment.<br />
Updating boot environment description database on all BEs.<br />
Updating system configuration files.<br />
Creating configuration for boot environment &lt;s10Aug2209&gt;.<br />
Source boot environment is &lt;root-dataset&gt;.<br />
Creating boot environment &lt;s10Aug2209&gt;.<br />
Cloning file systems from boot environment &lt;root-dataset&gt; to create boot environment &lt;s10Aug2209&gt;.<br />
Creating snapshot for &lt;rpool/ROOT/root-dataset&gt; on &lt;rpool/ROOT/root-dataset@s10Aug2209&gt;.<br />
Creating clone for &lt;rpool/ROOT/root-dataset@s10Aug2209&gt; on &lt;rpool/ROOT/s10Aug2209&gt;.<br />
Setting canmount=noauto for &lt;/&gt; in zone &lt;global&gt; on &lt;rpool/ROOT/s10Aug2209&gt;.<br />
Creating snapshot for &lt;rpool/ROOT/root-dataset/var&gt; on &lt;rpool/ROOT/root-dataset/var@s10Aug2209&gt;.<br />
Creating clone for &lt;rpool/ROOT/root-dataset/var@s10Aug2209&gt; on &lt;rpool/ROOT/s10Aug2209/var&gt;.<br />
Setting canmount=noauto for &lt;/var&gt; in zone &lt;global&gt; on &lt;rpool/ROOT/s10Aug2209/var&gt;.<br />
Saving existing file &lt;/boot/grub/menu.lst&gt; in top level dataset for BE &lt;s10Aug2209&gt; as &lt;mount-point&gt;//boot/grub/menu.lst.prev.<br />
File &lt;/boot/grub/menu.lst&gt; propagation successful<br />
Copied GRUB menu from PBE to ABE<br />
No entry for BE &lt;s10Aug2209&gt; in GRUB menu<br />
Population of boot environment &lt;s10Aug2209&gt; successful.<br />
Creation of boot environment &lt;s10Aug2209&gt; successful.<br />
<strong><br />
[root@sol10 /]$ </strong><strong>zfs list (we look at the ZFS partition list, we can see that we have snapshots)</strong><br />
NAME                                     USED  AVAIL  REFER  MOUNTPOINT<br />
rpool                                   10.4G   446G  38.5K  /rpool<br />
rpool/ROOT                              1020M   446G    18K  legacy<br />
rpool/ROOT/root-dataset                 1020M   446G   804M  /<br />
rpool/ROOT/root-dataset@s10Aug2209      64.5K      -   804M  -<br />
rpool/ROOT/root-dataset/var              216M   446G   216M  /var<br />
rpool/ROOT/root-dataset/var@s10Aug2209    98K      -   216M  -<br />
rpool/ROOT/s10Aug2209                     92K   446G   804M  /<br />
rpool/ROOT/s10Aug2209/var                   0   446G   216M  /var<br />
rpool/dump                              4.88G   446G  4.88G  -<br />
rpool/export                              48K   446G    19K  /export<br />
rpool/export/home                         29K   446G    29K  /export/home<br />
rpool/swap                                 4G   450G    16K  -</p>
<p><strong>Download the patches in /var/tmp/10_Recommended with Patch Check Advanced.<br />
</strong></p>
<p><strong>[root@sol10 /]$ luupgrade -n s10Aug2209 -s /var/tmp/10_Recommended -t `cat patch_order`</strong> <strong>(we apply the patches to the snapshot)</strong></p>
<p><strong>[root@sol10 /]$ luactivate s10Aug2209</strong> <strong>(we activate the updated snapshot for the next boot)</strong><br />
Generating boot-sign, partition and slice information for PBE &lt;root-dataset&gt;<br />
Saving existing file &lt;/etc/bootsign&gt; in top level dataset for BE &lt;root-dataset&gt; as &lt;mount-point&gt;//etc/bootsign.prev.<br />
A Live Upgrade Sync operation will be performed on startup of boot environment &lt;s10Aug2209&gt;.</p>
<p>Generating boot-sign for ABE &lt;s10Aug2209&gt;<br />
Saving existing file &lt;/etc/bootsign&gt; in top level dataset for BE &lt;s10Aug2209&gt; as &lt;mount-point&gt;//etc/bootsign.prev.<br />
Generating partition and slice information for ABE &lt;s10Aug2209&gt;<br />
Copied boot menu from top level dataset.<br />
Generating multiboot menu entries for PBE.<br />
Generating multiboot menu entries for ABE.<br />
Disabling splashimage<br />
Re-enabling splashimage<br />
No more bootadm entries. Deletion of bootadm entries is complete.<br />
GRUB menu default setting is unaffected<br />
Done eliding bootadm entries</p>
<p>Modifying boot archive service<br />
Propagating findroot GRUB for menu conversion.<br />
File &lt;/etc/lu/installgrub.findroot&gt; propagation successful<br />
File &lt;/etc/lu/stage1.findroot&gt; propagation successful<br />
File &lt;/etc/lu/stage2.findroot&gt; propagation successful<br />
File &lt;/etc/lu/GRUB_capability&gt; propagation successful<br />
Deleting stale GRUB loader from all BEs.<br />
File &lt;/etc/lu/installgrub.latest&gt; deletion successful<br />
File &lt;/etc/lu/stage1.latest&gt; deletion successful<br />
File &lt;/etc/lu/stage2.latest&gt; deletion successful<br />
Activation of boot environment &lt;s10Aug2209&gt; successful.</p>
<p><strong>[root@sol10 /]$ init 6 (we reboot)</strong><br />
propagating updated GRUB menu<br />
Saving existing file &lt;/boot/grub/menu.lst&gt; in top level dataset for BE &lt;s10Aug2209&gt; as &lt;mount-point&gt;//boot/grub/menu.lst.prev.<br />
File &lt;/boot/grub/menu.lst&gt; propagation successful<br />
File &lt;/etc/lu/GRUB_backup_menu&gt; propagation successful<br />
File &lt;/etc/lu/menu.cksum&gt; propagation successful<br />
File &lt;/sbin/bootadm&gt; propagation successful<br />
<strong><br />
[root@sol10 /]$ lustatus</strong> <strong>(we check the boot environments we have)</strong><br />
Boot Environment           Is       Active Active    Can    Copy<br />
Name                       Complete Now    On Reboot Delete Status<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8211; &#8212;&#8212; &#8212;&#8212;&#8212; &#8212;&#8212; &#8212;&#8212;&#8212;-<br />
root-dataset               yes      no     no        yes    -<br />
s10Aug2209                 yes      yes    yes       no     -</p>
<p><strong>[root@sol10 /]$ ludelete root-dataset (we delete the old root)</strong><br />
System has findroot enabled GRUB<br />
Checking if last BE on any disk&#8230;<br />
BE &lt;root-dataset&gt; is not the last BE on any disk.<br />
Updating GRUB menu default setting<br />
Changing GRUB menu default setting to &lt;0&gt;<br />
Saving existing file &lt;/boot/grub/menu.lst&gt; in top level dataset for BE &lt;s10Aug2209&gt; as &lt;mount-point&gt;//boot/grub/menu.lst.prev.<br />
File &lt;/etc/lu/GRUB_backup_menu&gt; propagation successful<br />
Successfully deleted entry from GRUB menu<br />
Determining the devices to be marked free.<br />
Updating boot environment configuration database.<br />
Updating boot environment description database on all BEs.<br />
Updating all boot environment configuration databases.<br />
Boot environment &lt;root-dataset&gt; deleted.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2009/08/22/should-yumpackagekit-go-the-solaris-way/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
