<?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>Rolling shells &#187; Desktop</title>
	<atom:link href="http://shell.burgas.org/tag/desktop/feed/" rel="self" type="application/rss+xml" />
	<link>http://shell.burgas.org</link>
	<description>All the things i find useful for linux and network.</description>
	<lastBuildDate>Sat, 05 Jun 2010 07:14:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Jolicloud linux looks very promising for netbook os alternative, windows api support too</title>
		<link>http://shell.burgas.org/2009/08/jolicloud-linux-looks-very-promising-for-netbook-os-alternative-windows-api-support-too/</link>
		<comments>http://shell.burgas.org/2009/08/jolicloud-linux-looks-very-promising-for-netbook-os-alternative-windows-api-support-too/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 16:26:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://shell.burgas.org/?p=105</guid>
		<description><![CDATA[Just crossed over engadget and look at that pretty screenshots hit the more link:]]></description>
			<content:encoded><![CDATA[<p>Just crossed over engadget and look at that pretty screenshots hit the more link:</p>
<p><span id="more-105"></span></p>
<p><img class="alignnone size-full wp-image-106" title="boot" src="http://shell.burgas.org/wp-content/uploads/2009/08/boot.png" alt="boot" width="760" height="445" /><img class="alignnone size-full wp-image-107" title="login" src="http://shell.burgas.org/wp-content/uploads/2009/08/login.png" alt="login" width="760" height="445" /><img class="alignnone size-full wp-image-108" title="idea" src="http://shell.burgas.org/wp-content/uploads/2009/08/idea.png" alt="idea" width="760" height="445" /><img class="alignnone size-full wp-image-109" title="application.directory.icons" src="http://shell.burgas.org/wp-content/uploads/2009/08/application.directory.icons.png" alt="application.directory.icons" width="760" height="445" /><img class="alignnone size-full wp-image-110" title="dashboard.notifications" src="http://shell.burgas.org/wp-content/uploads/2009/08/dashboard.notifications.png" alt="dashboard.notifications" width="760" height="445" /><img class="alignnone size-full wp-image-111" title="dashboard.updates" src="http://shell.burgas.org/wp-content/uploads/2009/08/dashboard.updates.png" alt="dashboard.updates" width="760" height="445" /><img class="alignnone size-full wp-image-112" title="dashboard.history" src="http://shell.burgas.org/wp-content/uploads/2009/08/dashboard.history.png" alt="dashboard.history" width="760" height="445" /><img class="alignnone size-full wp-image-113" title="out-of-the-box" src="http://shell.burgas.org/wp-content/uploads/2009/08/out-of-the-box.png" alt="out-of-the-box" width="760" height="445" /><img class="alignnone size-full wp-image-114" title="application.fullscreen.web" src="http://shell.burgas.org/wp-content/uploads/2009/08/application.fullscreen.web.png" alt="application.fullscreen.web" width="760" height="445" /><img class="alignnone size-full wp-image-115" title="application.fullscreen.native" src="http://shell.burgas.org/wp-content/uploads/2009/08/application.fullscreen.native.png" alt="application.fullscreen.native" width="760" height="445" /><img class="alignnone size-full wp-image-116" title="application.directory.list" src="http://shell.burgas.org/wp-content/uploads/2009/08/application.directory.list.png" alt="application.directory.list" width="760" height="445" /></p>
]]></content:encoded>
			<wfw:commentRss>http://shell.burgas.org/2009/08/jolicloud-linux-looks-very-promising-for-netbook-os-alternative-windows-api-support-too/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto set default editor for mc in Debian 5.0 Lenny</title>
		<link>http://shell.burgas.org/2009/08/howto-set-default-editor-for-mc-in-debian-5-0-lenny/</link>
		<comments>http://shell.burgas.org/2009/08/howto-set-default-editor-for-mc-in-debian-5-0-lenny/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 15:04:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://shell.burgas.org/?p=101</guid>
		<description><![CDATA[Run: apt-get install vim-nox and then: update-alternatives --config editor and select vim-nox: evil:/tmp/# update-alternatives --config editor There are 4 alternatives which provide `editor'. Selection Alternative ----------------------------------------------- 1 /bin/ed *+ 2 /bin/nano 3 /usr/bin/vim.tiny 4 /usr/bin/vim.nox Press enter to keep the default[*], or type selection number:]]></description>
			<content:encoded><![CDATA[<p>Run:</p>
<pre>
apt-get install vim-nox
</pre>
<p>and then:</p>
<pre>
update-alternatives --config editor
and select vim-nox:
</pre>
<pre>
evil:/tmp/# update-alternatives --config editor

There are 4 alternatives which provide `editor'.

  Selection    Alternative
-----------------------------------------------
          1    /bin/ed
*+        2    /bin/nano
          3    /usr/bin/vim.tiny
          4    /usr/bin/vim.nox

Press enter to keep the default[*], or type selection number: <-- 4
Using '/usr/bin/vim.nox' to provide 'editor'.
evil:/tmp/#
</pre>
<p>Choose the one you like most, voila.<br />
Shoud work on ubuntu and other derivates too.</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.burgas.org/2009/08/howto-set-default-editor-for-mc-in-debian-5-0-lenny/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux disk statistics with dstat and disk device names</title>
		<link>http://shell.burgas.org/2009/06/linux-disk-statistics-with-dstat-and-disk-device-names/</link>
		<comments>http://shell.burgas.org/2009/06/linux-disk-statistics-with-dstat-and-disk-device-names/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 16:22:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://shell.burgas.org/?p=97</guid>
		<description><![CDATA[Something interesting i spotted on Karansbir&#8217;s blog: Running dstat normally gives you something like this : # dstat --nocolor ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq&#124; read writ&#124; recv send&#124; in out &#124; int csw 3 0 97 0 0 0&#124; 820k 456k&#124; 0 0 &#124; 800B 866B&#124;1054 255 And you [...]]]></description>
			<content:encoded><![CDATA[<p>Something interesting i spotted on Karansbir&#8217;s blog:</p>
<p>Running dstat normally gives you something like this :</p>
<blockquote>
<pre># dstat --nocolor
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
  3   0  97   0   0   0| 820k  456k|   0     0 | 800B  866B|1054   255</pre>
</blockquote>
<p>And you can split the disk metrics up based on devices using something like this :</p>
<blockquote>
<pre># dstat -D sda,sdb,total --nocolor
----total-cpu-usage---- --dsk/sda-- --dsk/sdb-- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ: read  writ: read  writ| recv  send|  in   out | int   csw
  1   1  97   0   0   0| 176k   77k:  30k  162k: 411k  478k|   0     0 |3608B 4005B|1447  1458
 33   2  63   0   1   2|   0     0 :   0   216k:   0   432k|2470k 1611k|   0     0 |2915  6967
 31   2  65   0   1   1|   0     0 :   0     0 :   0     0 |2210k 1338k|   0     0 |2866  6051</pre>
</blockquote>
<p>But you can also get deeper level device names / nodes to measure &#8211; which is required in many cases if you have drivers for storage creating nodes further down the tree than /dev. Eg. I have a setup where there are four mysql instances running, each with its own dedicated storage :</p>
<blockquote>
<pre># mount | grep srv
/dev/cciss/c0d1 on /var/lib/mysql/node1 type ext3 (rw)
/dev/cciss/c0d2 on /var/lib/mysql/node2 type ext3 (rw)
/dev/cciss/c0d3 on /var/lib/mysql/node3 type ext3 (rw)
/dev/cciss/c0d4 on /var/lib/mysql/node4 type ext3 (rw)
/dev/cciss/c0d5 on /srv/wal type ext3 (rw)</pre>
</blockquote>
<p>so in this case, to get dstat reporting working you need to mention just the component level, like this :</p>
<blockquote>
<pre># dstat -D cciss/c0d1,cciss/c0d2,cciss/c0d3 --nocolor
----total-cpu-usage---- dsk/cciss/c dsk/cciss/c dsk/cciss/c -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ: read  writ: read  writ| recv  send|  in   out | int   csw
  3   0  97   0   0   0| 209k   89k: 201k   86k: 204k   85k|   0     0 | 799B  865B|1055   256
 90   1   8   1   0   0|3196k   68k: 764k    0 : 816k   24k|1067k 1650k|   0     0 |1999   609
 95   1   3   1   0   0|2548k    0 :   0  4084k:2448k 5700k| 660k  791k|   0     0 |1611   571
 96   1   2   1   0   0|2628k    0 : 808k    0 :1620k    0 | 352k  798k|   0     0 |1835  1605</pre>
</blockquote>
<p>And you get the details, for each block device.</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.burgas.org/2009/06/linux-disk-statistics-with-dstat-and-disk-device-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sshd problem on debian xen guest PTY allocation request failed on channel 0</title>
		<link>http://shell.burgas.org/2009/05/sshd-problem-on-debian-xenpty-allocation-request-failed-on-channel-0-guest/</link>
		<comments>http://shell.burgas.org/2009/05/sshd-problem-on-debian-xenpty-allocation-request-failed-on-channel-0-guest/#comments</comments>
		<pubDate>Sat, 23 May 2009 10:21:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://shell.burgas.org/?p=89</guid>
		<description><![CDATA[How do you fix the issue with a SSH server which freezes after authenticating? $ ssh root@xxx.xxx.xxx.xxx The authenticity of host ‘xx.xx.xxx.xxx (xx.xx.xxx.xxx)’ can’t be established. RSA key fingerprint is replaced for security. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ‘xx.xx.xxx.xxx’ (RSA) to the list of known hosts. Password: [...]]]></description>
			<content:encoded><![CDATA[<p>How do you fix the issue with a SSH server which freezes after authenticating?</p>
<blockquote><p>$ ssh <span class="mh-plaintext">root@xxx.xxx.xxx.xxx</span><br />
The authenticity of host ‘xx.xx.xxx.xxx (xx.xx.xxx.xxx)’ can’t be established.<br />
RSA key fingerprint is replaced for security.<br />
Are you sure you want to continue connecting (yes/no)? yes<br />
Warning: Permanently added ‘xx.xx.xxx.xxx’ (RSA) to the list of known hosts.<br />
Password:<br />
PTY allocation request failed on channel 0</p></blockquote>
<p>In the above scenario, you can see that I logged in but I’m not able to get into the console.</p>
<p>Once you’re in debug more, you will see lots of messages elaborating the SSH access steps in detail. These messages might point you to the root cause or the stage at which you’re being locked.</p>
<p>In my case, I got freezed after authenticating myself.</p>
<p>Resolution is just to make pts and restart sshd</p>
<pre>
mkdir /dev/pts
mount /dev/pts
/etc/init.d/ssh restart
</pre>
<p>and permanent solution is just instaling udev via: </p>
<pre>
apt-get install udev
</pre>
]]></content:encoded>
			<wfw:commentRss>http://shell.burgas.org/2009/05/sshd-problem-on-debian-xenpty-allocation-request-failed-on-channel-0-guest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian runlevels in details</title>
		<link>http://shell.burgas.org/2009/05/debian-runlevels-in-details/</link>
		<comments>http://shell.burgas.org/2009/05/debian-runlevels-in-details/#comments</comments>
		<pubDate>Sat, 23 May 2009 08:52:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://shell.burgas.org/?p=85</guid>
		<description><![CDATA[Simply put, a &#8216;runlevel&#8217; determines which programs are executed at system startup. Most of your exposure to run levels will deal with system startup. You will become intimately familiar with the exceptions the first time you have to troubleshoot a failed system. Linux run levels are numbered 0 through 6. Run levels stop at six [...]]]></description>
			<content:encoded><![CDATA[<p>Simply put, a &#8216;runlevel&#8217; determines which programs are executed at system startup. Most of your exposure to run levels will deal with system startup. You will become intimately familiar with the exceptions the first time you have to troubleshoot a failed system.</p>
<p>Linux run levels are numbered 0 through 6. Run levels stop at six for practical and historical reasons, but it is entirely possible to have more if desired.</p>
<p>The following table summarises the UserLinux run levels:</p>
<pre> * 0		System Halt
 * 1		Single user
 * 2		Full multi-user mode (Default)
 * 3-5		Same as 2
 * 6		System Reboot</pre>
<p>When run levels are discussed they are referred to as &#8216;moving into&#8217;, or &#8216;going into&#8217; a certain run level. The inference is that you came from somewhere. With the exception of booting up, a system always transitions from one runlevel to another in response to certain conditions.</p>
<p><strong>Special Run Levels</strong></p>
<p>Run level 0 is the system halt condition. Nearly all modern X86 computers will power off automatically when run level 0 is reached. Older X86 computers, and various different architectures will remain powered on and display a message referring to the halt condition.</p>
<p>Run Level 1 is known as &#8216;single user&#8217; mode. A more apt description would be &#8216;rescue&#8217;, or &#8216;trouble-shooting&#8217; mode. In run level 1, no daemons (services) are started. Hopefully single user mode will allow you to fix whatever made the transition to rescue mode necessary.</p>
<p>(You can boot into single user mode typically by using your boot loader, lilo or grub, to add the word &#8216;single&#8217; to the end of the kernel command line).</p>
<p>Run levels 2 through 5 are full multi-user mode and are the same in a default UserLinux (Debian) system. It is a common practise in other Linux distributions to use run level 3 for a text console login and run level 5 for a graphical login.</p>
<p>Run level 6 is used to signal system reboot. This is just like run level 0 except a reboot is issued at the end of the sequence instead of a power off.</p>
<p>In the interests of completeness, there is also a runlevel &#8216;S&#8217; that the system uses on it&#8217;s way to another runlevel. Read the man page for the <tt>init</tt> command (&#8220;<tt>man init</tt>&#8220;) for more information, but you can safely skip this for all practical purposes.</p>
<p><strong>Where Does a Run Level Live?</strong></p>
<p>Like everything else in a Linux system, run levels are defined by files in the filesystem. All the run level files are found in the <tt>/etc</tt> directory according to the following table:</p>
<pre>/etc/rc0.d		Run level 0
/etc/rc1.d		Run level 1
/etc/rc2.d		Run level 2
/etc/rc3.d		Run level 3
/etc/rc4.d		Run level 4
/etc/rc5.d		Run level 5
/etc/rc6.d		Run level 6</pre>
<p>Notice a pattern?  Each defined runlevel should have an <tt>rcX.d</tt> directory where X is the run level number.  The contents of the <tt>rcX.d</tt> directory determines what happens at that run level.</p>
<p><strong>(S)tart files, (K)ill files</strong></p>
<p>Let&#8217;s look at run level 2 since this is where we&#8217;ll spend most of our time.</p>
<p>Here are the contents of a generic rc2.d directory:</p>
<pre>S10sysklogd  S20cupsys   S20mailman  S20usermin  S91apache         S99xdm
S11klogd     S20exim4    S20makedev  S20xfs      S91apache2
S14ppp       S20fam      S20pcmcia   S20xprint   S99gdm
S18portmap   S20hylafax  S20samba    S89atd      S99rmnologin
S20acpid     S20inetd    S20ssh      S89cron     S99stop-bootlogd</pre>
<p>At first glance the files in this directory look kind of intimidating. They should be. The files in the rcX.d directories are formatted for the computer to read, not the user.</p>
<p>Each file is a symbolic link to a script residing in the <tt>/etc/init.d</tt> directory and controls the starting, or stopping of a program, or daemon (service).</p>
<p>This is important enough to say again, each file is a symbolic link to a script and controls the starting, or stopping of a program, or daemon.</p>
<p>In slightly modified man page format, here is how the files are named:</p>
<pre>[K | S] + nn + [string]</pre>
<p>Working backwards, here is how the name parses out. The [string] is a human readable mnemonic for the executable file that is actually symbolically linked to. The &#8216;nn&#8217; is a two digit number from 01-99; lower number programs are executed first. By this method, services that have a dependancy can be certain their precursor has ran. The K and S signify simply Kill, or Start.</p>
<p>When a system moves into a new runlevel, all the files that begin with S will be executed. When a system moves into a new runlevel all the files that begin with K will be executed. Yes, all the files will execute, but with one distinct difference: &#8216;S&#8217; files invoke their program with the &#8216;start&#8217; parameter, the &#8216;K&#8217; files invoke their program with the &#8216;stop&#8217; parameter. The UserLinux (Debian) system optimizes the runlevel change by not starting a daemon that is already running.</p>
<p>The simple elegance of this system is made possible by the alphabet. All the scripts will execute in alphabetical order. &#8216;K&#8217; comes before &#8216;S&#8217;, so programs are stopped before they are started. Forgetting this fact can lead to a lot of chin scratching while manipulating your rcX.d files.</p>
<p>After the first letter comes the integer, again determining execution order. Finally, the mnemonic portion is followed alphabetically to determine execution order.</p>
<p>Let&#8217;s look at some of the programs that are actually executed during a run level change:</p>
<pre>S20exim4 -&gt; ../init.d/exim4
S20fam -&gt; ../init.d/fam
S20hylafax -&gt; ../init.d/hylafax
S20inetd -&gt; ../init.d/inetd
S20mailman -&gt; ../init.d/mailman
S20makedev -&gt; ../init.d/makedev
S20pcmcia -&gt; ../init.d/pcmcia
S20samba -&gt; ../init.d/samba
S20ssh -&gt; ../init.d/ssh</pre>
<p>All of these files have the same precedence as far as the system is concerned. They will be executed in the order listed, i.e. alphabetically.</p>
<p>All of the scripts that run during system start-up actually reside in the <tt>/etc/init.d/</tt> directory, as suggested by the listing. The reasons for this are many, but basically boil down to common sense issues like: saving space, single point for editing, and everyone knowing where to find things.</p>
<p><strong>Transitioning Between Run levels </strong></p>
<p>When you leave a runlevel, nothing happens.  All the action takes place when you enter the new run level.</p>
<p>Look at the following two rcX.d listings:</p>
<p><tt>rc2.d</tt>:</p>
<pre>K01xdm      S18portmap S20fam     S20makedev S20usermin S89cron    S99rmnologin
S10sysklogd S20acpid   S20hylafax S20pcmcia  S20xfs     S91apache  S99stop-bootlogd
S11klogd    S20cupsys  S20inetd   S20samba   S20xprint  S91apache2 S99xdm
S14ppp      S20exim4   S20mailman S20ssh     S89atd     S99gdm</pre>
<p><tt>rc3.d</tt>:</p>
<pre>K01gdm       S20acpid    S20inetd    S20ssh      S89cron           S99xdm
S10sysklogd  S20cupsys   S20mailman  S20usermin  S91apache
S11klogd     S20exim4    S20makedev  S20xfs      S91apache2
S14ppp       S20fam      S20pcmcia   S20xprint   S99rmnologin
S18portmap   S20hylafax  S20samba    S89atd      S99stop-bootlogd</pre>
<p>Look intensely at the two listings while allowing your eyes to unfocus. An image of a gnu will eventually appear. Ok, no it won&#8217;t, but you believed for just a second, didn&#8217;t you?</p>
<p>Look at the first listing, <tt>rc2.d</tt>.  Notice the contradiction between the first program and the last program.  <tt>K01xdm</tt> instructs the system to Kill <tt>xdm</tt> upon entering run level 2; <tt>S99xdm</tt> tells the system to start <tt>xdm</tt>.  Who wins?  Both programs are executed, but the last program to run will prevail.  <tt>S99xdm</tt>, as it appears last in  the alphabetical sequence, will leave <tt>xdm</tt> in a running state.  The change to runlevel 2 was wasted typing.</p>
<p>Now, let&#8217;s look closely at the <tt>rc3.d</tt> listing.  The first thing that will be executed is the stopping of <tt>gdm</tt>, which is the default graphical display manager for UserLinux (Debian).  Note the <tt>S99gdm</tt> file (symlink) has been removed.  The purpose of the change is to move to a runlevel where everything else is still running, <em>except</em> the pretty window manager. This situation is called &#8216;console mode&#8217;. As mentioned previously, many Linux distributions use run level 3 for console mode.</p>
<p><strong>That&#8217;s great, but how do I change run levels?</strong></p>
<p>Before we change run levels it might help to find out which run level is current.  Use the &#8216;<tt>runlevel</tt>&#8216; command to tell you two things: The last run level, and the current run level. Here is the command and the output shown together due to the sparsity of the output:</p>
<pre>ulsoho:/home/user1# runlevel
N 2</pre>
<p>The &#8216;N&#8217; stands for none, meaning there has been no run level change since powering up.</p>
<p>The init system controls run levels, but then again, the init system pretty much controls everything. The init system will be looked at in detail in a future article.</p>
<p>The primary command used to change run levels is &#8216;<tt>telinit</tt>&#8216;.  Get it?  &#8220;Tell Init&#8221; to do something; like this:</p>
<pre>telinit 3</pre>
<p><tt>telinit</tt> takes one argument on the command line. As always, see the man page for full details. Normally the argument will be one of: 0,1,2,3,4,5,6, or the letter &#8216;S&#8217;. As you may have guessed, the numbers correspond to the run level you wish to move to. Using the &#8216;S&#8217;, for single-user, is the same as the number 1, but don&#8217;t do it; the &#8216;S&#8217; runlevel is intended for use by the UserLinux (Debian)system.</p>
<p>A note of caution is warranted here.  You can easily use the <tt>telinit</tt> command to reboot (run level 6), or shutdown (run level 0) the system, but <strong>it is not recommended</strong>. Certain programs need special processing for an orderly shutdown. Bypassing the expected shutdown sequence can have dire effects on your data. Older _Unix_ systems are especially sensitive to shutdown/bootup operations</p>
<p>The preferred method for a serious runlevel change is &#8216;<tt>shutdown</tt>&#8216;.  There are easier mnemonics, but in a running system they all point to the &#8216;<tt>shutdown</tt>&#8216; command.  You can use the &#8216;<tt>halt</tt>&#8216;, or &#8216;<tt>poweroff</tt>&#8216; command to stop a system and the &#8216;<tt>reboot</tt>&#8216; command to restart your system.  In each case they call the &#8216;<tt>shutdown</tt>&#8216; command with different parameters.</p>
<p>In a single system (non-networked, or no locally shared resources) environment, the shutdown choice is pretty much yours. However, in a multi-user production system the rule of thumb is <strong>learn the shutdown command</strong>. The two most basic uses of the &#8216;shutdown&#8217; command are for halting, or rebooting. The important parameter to know for shutdown is WHEN is the action going to occur. Here is the command synopsis from the shutdown man page:</p>
<pre>/sbin/shutdown [-t sec] [-arkhncfFHP] time [warning-message]</pre>
<p>The vast majority of your shutdowns will follow one of these two forms:</p>
<pre>shutdown -h now</pre>
<p>or to reboot instead of halt:</p>
<pre>shutdown -r now</pre>
<p>Intuitively, the arguments mean &#8216;<tt>halt</tt>&#8216; and &#8216;<tt>reboot</tt>&#8216;, respectively.</p>
<p>In a multi-user system like a file server, the most important parameter is &#8216;time&#8217;. The time can be an actual clock time in the form of HH:MM, or a Julian style shutdown X minutes from now, denoted by the +X syntax. Note that the &#8216;+&#8217; is needed. The keyword &#8216;<tt>now</tt>&#8216; is synonymous with &#8216;+0&#8242;.  Here are two examples using the time parameter:</p>
<pre>shutdown -h 16:30
shutdown -r +10</pre>
<p>Another important point to remember: once the shutdown command is issued, a notice is sent to all the users of the system and no further logins are allowed. For example, if you need to bring the system down at midnight, don&#8217;t issue the shutdown command at noon and leave to take a nap. No new users will be able to login for the next 12 hours.</p>
<p>A good admin never takes a system down without warning the user community, but the shutdown notice is only sent after the command is executed! Fortunately, there are two ways around the downtime notification dilemma. The first is the &#8216;motd&#8217;, Message Of The Day. The motd is a useful feature that is often overlooked. Using the motd is easy and you are urged to read the simple man page for details. The second method of notification is the <tt>-k</tt> option.  Using <tt>-k</tt> will send the downtime notice to all the users, but will not actually start the shutdown sequence. There is an important limitation to the shutdown notification: the downtime message is only sent 15 minutes (or less) prior to the actual shutdown.</p>
<p>The warning-message parameter may be useful for&#8230;high maintenance users. I find that the default message is authoritative and simple enough to accomplish the task.</p>
<p><strong>Troubleshooting in Run Levels</strong></p>
<p>Here is a tip contributed by <a rel="nofollow" href="http://www.varlinux.org/vl/html/userinfo.php?uid=1">Nicholas Petreley</a>. Sometimes you may not want all the programs in a run level to execute. In this situation an easy way to disable a program is to rename it with the initial S, or K in lowercase. The system will ignore all programs that do not begin with a capital S, or K.</p>
<hr />This article was originally written as part of a course for UserLinux system administration.  It initially appeared on the <a rel="nofollow" href="http://www.userlinux.com/">UserLinux</a> wiki <a rel="nofollow" href="http://www.userlinux.com/cgi-bin/wiki.pl?Run_Level_Lecture">here</a>.  The wiki version, as a living document, may have more, or less to offer in the way of content.</p>
<p>(UserLinux is a subset of Debian.  Everywhere &#8216;UserLinux&#8217; appears, you can substitute &#8216;Debian&#8217; with equal facility.)</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.burgas.org/2009/05/debian-runlevels-in-details/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS 5.3 Released for i386 / x86_64</title>
		<link>http://shell.burgas.org/2009/04/centos-53-released-for-i386-x86_64/</link>
		<comments>http://shell.burgas.org/2009/04/centos-53-released-for-i386-x86_64/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 06:35:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://shell.burgas.org/?p=79</guid>
		<description><![CDATA[We are pleased to announce the immediate availability of CentOS-5.3 for the i386 and x86_64 Architectures. CentOS-5.3 is based on the upstream release EL 5.3.0, and includes packages from all variants including Server and Client. All upstream repositories have been combined into one, to make it easier for end users to work with. And the [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>We are pleased to announce the immediate availability of CentOS-5.3 for the i386 and x86_64 Architectures.</p>
<p>CentOS-5.3 is based on the upstream release EL 5.3.0, and includes packages from all variants including Server and Client. All upstream repositories have been combined into one, to make it easier for end users to work with. And the option to further enable external repositories at install time is now available in the installer.</p>
<p>This is just an announcement email, not the release notes. The Release  Notes for CentOS-5.3 can be found on-line at : <a href="http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.3">http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.3</a> and everyone is encouraged to look through them once. Also worth browsing through at the CentOS FAQ&#8217;s at <a href="http://wiki.centos.org/FAQ">http://wiki.centos.org/FAQ</a></p>
<p>+++++++++++++++++++++++<br />
ArtWork update:</p>
<p>CentOS-5.3 brings in a completely new artwork stack. A big thanks to Alain Reguera Delgado, Ralph Angenendt, Marcus Moeller and everyone on the Artwork SIG for bringing us the best, most comprehensive artwork set yet. Also a big thanks to all the translation teams for their contributions to the installer artwork.</p>
<p>+++++++++++++++++++++++<br />
Contrib repos are back:</p>
<p>Given the widespread requests for user contributed packages directly being hosted within the centos repositories, the contribs repository is now back with CentOS-5.3. There are no packages yet, but over the next few weeks we hope to have a policy and process in place that allows users to submit and manage packages in the contrib repo.</p>
<p>+++++++++++++++++++++++<br />
Upgrading from CentOS-5.2 ( or CentOS-5.0 / 5.1 ):</p>
<p>If you are already running CentOS-5.2 or an older CentOS-5 distro, all you need to do is update your machine via yum by running :</p>
<p>&#8216;yum update&#8217;</p>
<p>Running &#8216;yum list updates&#8217; before doing the update is recommended, so you can get a list of packages that are going to be updated. To check you are indeed on CentOS-5.3, run : &#8216;rpm -q centos-release&#8217; and that should return: &#8216;centos-release-5-3.el5.centos.1&#8242;</p>
<p>+++++++++++++++++++++++<br />
Upgrading from CentOS-2.1 or CentOS-3.x or CentOS-4.x:</p>
<p>The only recommended way to update from an earlier version of CentOS is to download and run a fresh install. In some cases, running the installer with the &#8216;upgradeany&#8217; option might also achieve the desired results, however you are strongly recommended to look at the CentOS Wiki where hints and notes about potential upgrade paths from CentOS-4/3/2.1 to CentOS-5 are provided.</p>
<p>+++++++++++++++++++++++<br />
Downloading CentOS-5.3 for new installs:</p>
<p>When possible, consider using torrents to run the downloads. Not only does it help the community and keeps mirrors from running up high bandwidth bills, in most case you will find its also the fastest means to download the distro. There are present over a thousand people already seeding CentOS-5.3 and its possible to get upto 100mbps downloads via<br />
these torrents.</p>
<p>&#8211; Via BitTorrent :<br />
CD:<br />
<a href="http://mirror.centos.org/centos/5.3/isos/i386/CentOS-5.3-i386-bin-1to6.torrent">http://mirror.centos.org/centos/5.3/isos/i386/CentOS-5.3-i386-bin-1to6.torrent</a><br />
<a href="http://mirror.centos.org/centos/5.3/isos/x86_64/CentOS-5.3-x86_64-bin-1to7.torrent">http://mirror.centos.org/centos/5.3/isos/x86_64/CentOS-5.3-x86_64-bin-1to7.torrent</a></p>
<p>DVD:<br />
<a href="http://mirror.centos.org/centos/5.3/isos/i386/CentOS-5.3-i386-bin-DVD.torrent">http://mirror.centos.org/centos/5.3/isos/i386/CentOS-5.3-i386-bin-DVD.torrent</a><br />
<a href="http://mirror.centos.org/centos/5.3/isos/x86_64/CentOS-5.3-x86_64-bin-DVD.torrent">http://mirror.centos.org/centos/5.3/isos/x86_64/CentOS-5.3-x86_64-bin-DVD.torrent</a></p>
<p>&#8211; Via direct download:<br />
Due to bandwidth considerations the CentOS Project does not publish ISOS directly from our network machines. However direct downloads are available from external mirrors over http, ftp and rsync, and a geoip based list is available at <a href="http://isoredirect.centos.org/centos/5/isos/">http://isoredirect.centos.org/centos/5/isos/</a> to give you the best predictable match ( and only lists mirrors that are<br />
updated already, so you dont need to waste time looking for a sync&#8217;d mirror )</p>
<p>Some mirrors also publish DVD images that can be downloaded directly. Refer to the mirrors list page at <a href="http://www.centos.org/mirrors">http://www.centos.org/mirrors</a> for more details Mirrors that offer DVD&#8217;s are clearly marked on the page.</p>
<p>sha1sum for these ISOS:</p>
<p>i386:<br />
4b454d76d06daa0b1772115e9b95c9465a4cecb0  CentOS-5.3-i386-bin-1of6.iso<br />
0da3292ea1d90639714a5e7d77812568bc01ec05  CentOS-5.3-i386-bin-2of6.iso<br />
77e867eb736b58f31cdd25c4835643ab795979e2  CentOS-5.3-i386-bin-3of6.iso<br />
949ee93440e736c8414fb8b571178970a31e6675  CentOS-5.3-i386-bin-4of6.iso<br />
5eafdea33c18f623bb9299ae624b8c8a12132bfa  CentOS-5.3-i386-bin-5of6.iso<br />
90ae5387a38f8ec805d877cc5525ae8dedc7f810  CentOS-5.3-i386-bin-6of6.iso<br />
b7f85a3a493e3051e50515ef881214929c88a5f3  CentOS-5.3-i386-bin-DVD.iso<br />
a0c640ae0c68cc0d9558cf4f8855f24671b3dadb  CentOS-5.3-i386-netinstall.iso</p>
<p>x86_64:<br />
7327174dc0cbb6531bc0e2f26e24788251717e91  CentOS-5.3-x86_64-bin-1of7.iso<br />
d060ed2826a4c212eebf5e3a825ce75e77cb44e0  CentOS-5.3-x86_64-bin-2of7.iso<br />
a0b7471ec6b742c962cc06b69624b0746025005f  CentOS-5.3-x86_64-bin-3of7.iso<br />
fe4106322d6b08344e82df8904142664a8a82522  CentOS-5.3-x86_64-bin-4of7.iso<br />
8cb5539fa4241bc5d23798a3e2721b2ebd3b18fe  CentOS-5.3-x86_64-bin-5of7.iso<br />
8a8f32888279f701e15162dec6f52b5f5fb5effc  CentOS-5.3-x86_64-bin-6of7.iso<br />
f053b05ea8576ea7d72116fa246f914086238ca9  CentOS-5.3-x86_64-bin-7of7.iso<br />
f8ca12b4acc714f4e4a21f3f35af083952ab46e0  CentOS-5.3-x86_64-bin-DVD.iso<br />
e971bd1677622708348b8a65264ec360a1cc0196  CentOS-5.3-x86_64-netinstall.iso</p>
<p>+++++++++++++++++++++++<br />
Pending CentOS-5.3 Updates and src.rpm&#8217;s</p>
<p>Updates have been issued from upstream since they released 5.3, a bulk of these updates are already released into CentOS-5.3 and are available immediately. All pending updates will be released within the next 48 hrs. To keep the initial release size smaller, the src.rpm&#8217;s are also going to be slowly released into the mirrors over the next 48 hrs along with debuginfo packages.</p>
<p>+++++++++++++++++++++++<br />
Release Notes:</p>
<p>The distro release notes are only available online at <a href="http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.3">http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.3</a> The release notes include important changelog info as well as notes about the installer and outcomes from test situations which the centos-qa team worked through. Its considered essential reading.</p>
<p>Upstream release notes are available in the NOTES/ directory of the install media. These include release specific technologies, new features in the distro and other misc infomation that can help you better utilise the distro.</p>
<p>+++++++++++++++++++++++<br />
Getting Help:</p>
<p>The best place to start when looking for help with CentOS is at the wiki ( <a href="http://wiki.centos.org/GettingHelp">http://wiki.centos.org/GettingHelp</a> ) which lists various options and communities who might be able to help. If you think there is a bug in the system, do report it at <a href="http://bugs.centos.org/">http://bugs.centos.org/</a> &#8211; but keep in mind that the bugs system is *not* a support mechanism.</p>
<p>Some Friendly URL&#8217;s :<br />
<a href="http://www.centos.org/">http://www.centos.org/</a><br />
<a href="http://wiki.centos.org/">http://wiki.centos.org/</a><br />
<a href="http://lists.centos.org/">http://lists.centos.org/</a><br />
<a href="http://bugs.centos.org/">http://bugs.centos.org/</a><br />
irc://#centos@irc.freenode.net</p>
<p>+++++++++++++++++++++++<br />
A big thanks to everyone who contributed, including the translation teams, the qa team, the CentOS Developers and all the users out there. I would also like to thank all the users for their patience and help!</p>
<p>Enjoy this release, tell all your friends about it too.</p>
<p>&#8211;<br />
Karanbir Singh<br />
CentOS Project { <a href="http://www.centos.org/">http://www.centos.org/</a> }<br />
irc: z00dax, #centos@irc.freenode.net</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://shell.burgas.org/2009/04/centos-53-released-for-i386-x86_64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some news on CentOS 5.3 full stream</title>
		<link>http://shell.burgas.org/2009/02/some-news-on-centos-5-3-full-stra/</link>
		<comments>http://shell.burgas.org/2009/02/some-news-on-centos-5-3-full-stra/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 08:16:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Red Hat]]></category>

		<guid isPermaLink="false">http://shell.burgas.org/?p=72</guid>
		<description><![CDATA[Thanks to the fact that Karanbir is now back in action, the QA team is now working on the 5.3 QA tree at full speed. There are some nice things in 5.3 (you can already look at the Upstream release notes). We’ve already discovered some missing deps and other new good things. Of course everything will be [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to the fact that <a href="http://www.karan.org/blog/index.php/2009/02/18/back-in-town-slowly-getting-back-to-spee" target="_blank">Karanbir is now back in action</a>, the QA team is now working on the 5.3 QA tree at full speed. There are some nice things in 5.3 (you can already look at the <a href="http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Release_Notes/index.html" target="_blank">Upstream release notes</a>). We’ve already discovered some missing deps and other new good things. Of course everything will be reported on the Wiki/in the CentOS 5.3 specific release notes.</p>
<p>One of the thing that astonished me is the fact that (even if not written in Upstream RN) some drivers seem to have been updated. For example the sky2 module didn’t support the Marvel gigabit 88E8056 nic since 5.1 .. but .. :</p>
<p>[arrfab@waldorf ~]$ modinfo /lib/modules/2.6.18-92.1.22.el5/kernel/drivers/net/sky2.ko |grep alias|wc -l<br />
29<br />
[arrfab@waldorf ~]$ modinfo /lib/modules/2.6.18-128.el5/kernel/drivers/net/sky2.ko |grep alias|wc -l<br />
30<br />
Interesting , isn’t it ? (especially for people having that kind of low-level entry nic in their workstation ..)</p>
<p>Other interesting stuff is the newer scsi-target-utils (aka tgtadm/iScsi target) that now includes a config file and two helpers to setup a new iscsi lun easily (tgt-setup-lun and tgt-admin) .. of course there are other new good things so stay tuned for more informations and of course, don’t forget to read the Release Notes when they’ll be published !</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.burgas.org/2009/02/some-news-on-centos-5-3-full-stra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Big day for the Debian fans &#8211; Debian GNU/Linux 5.0 Lenny is out now</title>
		<link>http://shell.burgas.org/2009/02/big-day-for-the-debian-fans-debian-gnu-linux-50-lenny-is-out-now/</link>
		<comments>http://shell.burgas.org/2009/02/big-day-for-the-debian-fans-debian-gnu-linux-50-lenny-is-out-now/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 07:42:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://shell.burgas.org/?p=69</guid>
		<description><![CDATA[Big day for the Debian fans - Debian GNU/Linux 5.0 &#8220;Lenny&#8221; has been released: &#8220;The Debian Project is pleased to announce the official release of Debian GNU/Linux version 5.0 (code-named &#8216;Lenny&#8217;) after 22 months of constant development. Debian GNU/Linux is a free operating system which supports a total of twelve processor architectures and includes the KDE, GNOME, [...]]]></description>
			<content:encoded><![CDATA[<p>Big day for the Debian fans - <a href="http://distrowatch.com/debian">Debian</a> GNU/Linux 5.0 &#8220;Lenny&#8221; has been released: &#8220;<span class="Quote">The Debian Project is pleased to announce the official release of Debian GNU/Linux version 5.0 (code-named &#8216;Lenny&#8217;) after 22 months of constant development. Debian GNU/Linux is a free operating system which supports a total of twelve processor architectures and includes the KDE, GNOME, Xfce, and LXDE desktop environments. This release includes numerous updated software packages, such as the K Desktop Environment 3.5.10, an updated version of the GNOME desktop environment 2.22.2, the Xfce 4.4.2 desktop environment, LXDE 0.3.2.1, the GNUstep desktop 7.3, X.Org 7.3, OpenOffice.org 2.4.1, GIMP 2.4.7&#8230;.</span>&#8221; See the <a href="http://www.debian.org/News/2009/20090214">release announcement</a> and <a href="http://www.debian.org/releases/lenny/i386/release-notes/">release notes</a> for a detailed description of the release.</p>
<p>As usual, a wide variety of installation media is available for <a href="http://www.debian.org/CD/">free download</a> from the project&#8217;s <a href="http://www.debian.org/mirror/list">mirror sites</a>. For new installations, the &#8220;netinst&#8221; method of installing the distribution is probably the easiest; get the &#8220;netinst&#8221; images for i386 and x86_64 architectures from here: <a href="http://cdimage.debian.org/debian-cd/5.0.0/i386/iso-cd/debian-500-i386-netinst.iso">debian-500-i386-netinst.iso</a> (150MB, <a href="http://cdimage.debian.org/debian-cd/5.0.0/i386/iso-cd/MD5SUMS">MD5</a>,<a href="http://cdimage.debian.org/debian-cd/5.0.0/i386/bt-cd/debian-500-i386-netinst.iso.torrent">torrent</a>), <a href="http://cdimage.debian.org/debian-cd/5.0.0/amd64/iso-cd/debian-500-amd64-netinst.iso">debian-500-amd64-netinst.iso</a> (131MB, <a href="http://cdimage.debian.org/debian-cd/5.0.0/amd64/iso-cd/MD5SUMS">MD5</a>, <a href="http://cdimage.debian.org/debian-cd/5.0.0/amd64/bt-cd/debian-500-amd64-netinst.iso.torrent">torrent</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.burgas.org/2009/02/big-day-for-the-debian-fans-debian-gnu-linux-50-lenny-is-out-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First test build of Fedora 11 is out now</title>
		<link>http://shell.burgas.org/2009/02/first-test-build-of-fedora-11-is-out-now/</link>
		<comments>http://shell.burgas.org/2009/02/first-test-build-of-fedora-11-is-out-now/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 07:18:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Fedora]]></category>

		<guid isPermaLink="false">http://shell.burgas.org/?p=65</guid>
		<description><![CDATA[The first test build of the upcoming Fedora 11 is out: &#8220;The Fedora project is proud to present the availability of Fedora 11 (Leonidas) Alpha. The Alpha release provides the first opportunity for the wider community to become involved with testing Fedora 11 by way of Rawhide.&#8221; Some of the more interesting features of this release include: [...]]]></description>
			<content:encoded><![CDATA[<p>The first test build of the upcoming <a href="http://distrowatch.com/fedora">Fedora</a> 11 is out: &#8220;<span class="Quote">The Fedora project is proud to present the availability of Fedora 11 (Leonidas) Alpha. The Alpha release provides the first opportunity for the wider community to become involved with testing Fedora 11 by way of Rawhide.</span>&#8221; Some of the more interesting features of this release include: &#8220;<span class="Quote">Windows Cross Compiler (mingw32-*); ext4 and Btrfs file systems, mew volume control; PackageKit firmware support; GNOME 2.26 development snapshot, KDE 4.2 RC 2 and Xfce 4.6 Beta; NetBeans 6.5, Python 2.6, Git 1.6.1.1.</span>&#8221; Read the <a href="https://www.redhat.com/archives/fedora-announce-list/2009-February/msg00004.html">release announcement</a> and <a href="https://fedoraproject.org/wiki/Fedora_11_Alpha_release_notes">release notes </a>for more information. </p>
<p><a href="http://fedoraproject.org/en/get-prerelease">Download</a> the installable live CD images from these <a href="http://mirrors.fedoraproject.org/publiclist/Fedora/11-Alpha/">Fedora mirrors</a> or <a href="http://torrent.fedoraproject.org/">via BitTorrent</a>: <a href="http://download.fedoraproject.org/pub/fedora/linux/releases/test/11-Alpha/Live/i686/F11-Alpha-i686-Live.iso">F11-Alpha-i686-Live.iso</a> (636MB, <a href="http://download.fedoraproject.org/pub/fedora/linux/releases/test/11-Alpha/Live/i686/SHA1SUM">SHA1</a>, <a href="http://torrent.fedoraproject.org/torrents//Fedora-11-Alpha-i686-Live.torrent">torrent</a>), <a href="http://download.fedoraproject.org/pub/fedora/linux/releases/test/11-Alpha/Live/i686/F11-Alpha-i686-Live-KDE.iso">F11-Alpha-i686-Live-KDE.iso</a> (698MB, <a href="http://download.fedoraproject.org/pub/fedora/linux/releases/test/11-Alpha/Live/i686/SHA1SUM">SHA1</a>, <a href="http://torrent.fedoraproject.org/torrents//Fedora-11-Alpha-i686-Live-KDE.torrent">torrent</a>), <a href="http://download.fedoraproject.org/pub/fedora/linux/releases/test/11-Alpha/Live/x86_64/F11-Alpha-x86_64-Live.iso">F11-Alpha-x86_64-Live.iso</a> (641MB, <a href="http://download.fedoraproject.org/pub/fedora/linux/releases/test/11-Alpha/Live/x86_64/SHA1SUM">SHA1</a>, <a href="http://torrent.fedoraproject.org/torrents//Fedora-11-Alpha-x86_64-Live.torrent">torrent</a>),<a href="http://download.fedoraproject.org/pub/fedora/linux/releases/test/11-Alpha/Live/x86_64/F11-Alpha-x86_64-Live-KDE.iso">F11-Alpha-x86_64-Live-KDE.iso</a> (703MB, <a href="http://download.fedoraproject.org/pub/fedora/linux/releases/test/11-Alpha/Live/x86_64/SHA1SUM">SHA1</a>, <a href="http://torrent.fedoraproject.org/torrents//Fedora-11-Alpha-x86_64-Live-KDE.torrent">torrent</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.burgas.org/2009/02/first-test-build-of-fedora-11-is-out-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to test and monitor hard disk performance</title>
		<link>http://shell.burgas.org/2009/02/how-to-test-and-monitor-hard-disk-performance/</link>
		<comments>http://shell.burgas.org/2009/02/how-to-test-and-monitor-hard-disk-performance/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 10:52:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://shell.burgas.org/?p=62</guid>
		<description><![CDATA[In my RAID performance article I&#8217;ve given a lot of performance numbers, but it is indeed a good question on how to exactly measure disk performance. To do this you need 2 tools. One that does the actual benchmark and one that measure the different system parameters so you can know the impact of the [...]]]></description>
			<content:encoded><![CDATA[<p>In my RAID performance article I&#8217;ve given a lot of performance numbers, but it is indeed a good question on how to exactly measure disk performance. To do this you need 2 tools. One that does the actual benchmark and one that measure the different system parameters so you can know the impact of the benchmark.</p>
<p>For the benchmark tool itself I usually use 3 tools. The first one is good old dd. The problem with dd is that it can only do 1 type of benchmark (sequential read and write), but it can to this to and from many sources and that is its strength.<br />
So how do you use dd for a disk benchmark. Well usually like this :</p>
<blockquote><p>dd if=/dev/zero of=/dev/sdb bs=64k count=100k<br />
dd of=/dev/null if=/dev/sdb bs=64k count=100k</p></blockquote>
<p>First a word of warning. Using dd like this will mean that any data on /dev/sdb (including filesystems) will be overwritten. The dd command does a write test and the second dd command does a read test. The write test reads from /dev/zero and writes to /dev/sdb, it uses a blocksize of 64k and it reads 102400 blocks. The read test reads from /dev/sdb and writes to /dev/null, it uses the same amount and size of blocks like the read test.<br />
So in this case we are testing /dev/sdb, but this can be any blockdevice. Like /dev/md1 (a software RAID device) or /dev/VolGroup00/Logvol01 (a LVM logical volume.<br />
The amount of blocks you need to read or write to have a valid is very simple. Make sure you process at least twice the amount of memory you have in your system. Why ? Because the Linux kernel does caching you need to make sure you request more data then the size of the cache to make sure you are actually testing the disk and not the Linux kernel caching.<br />
And then the blocksize remains. Well, this depends on the type of usage you will do on the disks or RAID arrays. There are no real fixed rules for this. But generally speaking when you have a lot of small files take a small blocksize (4 to 16k), for standard fileserving and databases take a medium blocksize (64 to 128k) and for large files or applications that do a lot of sequential I/O use a large blocksize (256k and larger).</p>
<p>One final note on dd, since CentOS 5 dd will, when it has finished a test, tell you the speed if obtained. But on older versions of CentOS you will need to calculate this yourself. Another option there is to use<a href="http://www.gnu.org/software/ddrescue/ddrescue.html">ddrescue</a>, which is a tool similar to dd but also provides the bandwidth used in its output. You can find ddrescue for CentOS in <a href="http://wiki.centos.org/Repositories/RPMForge">Dag&#8217;s RPMForge repository</a>.</p>
<p>As I said, dd only does sequential I/O but since it does not need a filesystem it is very useful to get a baseline/indication/magnitude/&#8230; for the performance of a disk. The next step is to put a filesystem on the device being tested. Then the second tool I use to test performance is <a href="http://www.iozone.org/">iozone</a>. You can also find prebuild rpms for CentOS in Dag&#8217;s RPMForge repository.</p>
<p>I usually use iozone like this</p>
<blockquote><p><span>iozone -e -i0 -i1 -i2 -+n -r 16k -s8g -t1</span></p></blockquote>
<p>Iozone has a look of options (that is part why I like it). If you do iozone -h you will get the complete list. I suggest you go over them when you start testing so you know all your options. But the example above shows enough to get started. The -e option adds the time of the flush operation to the results and the -+n disables the retest feature. The different -i options indicate the tests done by iozone, -i0 is the sequential write test (always needed), -i1 is sequential read and -i0 is random read and write. Another interresting test is the mixed read/write (-i8). The 3 remaining options are : -r 16k is the record (or block) size used, -s8g is the size of the data tested (8 GB in this case, remember the 2x RAM rule here) and -t1 is the amount of threads performing the test (in this case 1).</p>
<p>Depepding in the application you are planning to use you try to use iozone in a way that it mimics as close as possible the IO patterns of your real application. This means playing with the -i (the kind of test), the -r (block size) and -t (number of threads) options.</p>
<p>Other nice features of iozone are the autotest. Here iozone can iterate over different tests using different parameters for file size and record size. Also iozone can output its results in a Excell file, so you later make nice graphs of the tests.</p>
<p>The final test that I perform is a bit less scientific, but still a good indication of performance of a disk or a RAID array. The test is a copy of a directory that contains about 1GB of data. This data is stored in different subdirectories (I think it is about 5 levels deep) and all these subdirs contains either a couple of big files and for the rest a lot of small files.<br />
This means that a copy of this directory involves a lot of metadata activity, and a mix of sequential I/O (the big files) and something that resembles random or mixed I/O (the small files). And the result is usually a big difference compared to the sequential speeds obtained with dd or iozone.</p>
<p>Now that we have all these benchmarks we still need a tool to monitor the system itself and see what is going on. The tool I always use for this is <a href="http://dag.wieers.com/home-made/dstat/">dstat</a>. It is written and maintained by Dag of the RPMForge repo (and of course it also contains CentOS rpms of dstat). The nice thing about dstat is that is has different monitoring modules (and you can also write your own), its output formatting is really good and it can output the results in CSV files so you can also process the results in a spreadsheet. This is a example on how to use dstat :</p>
<blockquote><p><span><span>dstat -c -m -y -n -N eth2,eth3 -d -D sda -i -I 98 3</span><br />
<span>&#8212;-total-cpu-usage&#8212;- &#8212;&#8212;memory-usage&#8212;&#8211; &#8212;system&#8211; &#8211;net/eth2- &#8211;dsk/sda&#8211; inter</span><br />
<span>usr sys idl wai hiq siq| used buff cach free| int csw | recv send| read writ| 98</span><br />
<span>0 0 100 0 0 0| 190M 195M 924M 2644M|1029 92 | 0 0 | 793B 4996B| 14</span><br />
<span>0 0 99 1 0 0| 190M 195M 924M 2644M|1008 41 | 21B 0 | 0 23k| 1</span></span></p></blockquote>
<p>All the diferent output are different output modules and they get display in the order you have put them on the commandline. With the (for example) -n -N structure you can specifiy for which devices you would like to see output. In this case the -n refers to network-card statistics and with -N I specified I would like to see the output for eth2 and eth3. A similar systems is used for the disk statistics (-d and -D) and number of interrupts (-i and -I).</p>
<p>To get the list of extra modules available next to the standard onces do this :</p>
<blockquote><p><span>dstat -M list</span><br />
<span>/usr/share/dstat:</span><br />
<span>app, battery, cpufreq, dbus, freespace, gpfs, gpfsop, nfs3, nfs3op, nfsd3, nfsd3op, postfix, rpc, rpcd, sendmail, thermal, utmp, vmkhba, vmkint, vzcpu, vzubc, wifi,</span></p></blockquote>
<p>For more information about all the different dstat options do dstat -h or refer to the dstat man-page.</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.burgas.org/2009/02/how-to-test-and-monitor-hard-disk-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
