<?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>derUwe.de &#187; Linux</title>
	<atom:link href="http://deruwe.de/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://deruwe.de</link>
	<description>mein Streifzug durchs Web</description>
	<lastBuildDate>Sat, 26 Jun 2010 10:45:28 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>/proc/stat mit Bash auswerten</title>
		<link>http://deruwe.de/2010/03/proc-stat-mit-bash-auswerten.html</link>
		<comments>http://deruwe.de/2010/03/proc-stat-mit-bash-auswerten.html#comments</comments>
		<pubDate>Sat, 27 Mar 2010 14:59:07 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Bash]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=462</guid>
		<description><![CDATA[Ich wollte die aktuelle CPU Auslastung per Bashscript ermitteln, so wie sie auch unter top angezeigt wird. Nach einigem suchen wurde ich bei einem Script fündig, welches sehr anschaulich verdeutlichte wie dies realisiert werden kann. Auf dessen Basis habe ich mir mein eigenes Script entwickelt. #!/bin/bash&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160; #&#160;/proc/stat&#160;2x&#160;auslesen BEFORE=(`cat&#160;/proc/stat&#160;&#124;&#160;grep&#160;'^cpu&#160;'`) sleep&#160;1&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; AFTER=(`cat&#160;/proc/stat&#160;&#124;&#160;grep&#160;'^cpu&#160;'`)&#160; &#160; #&#160;Differenz&#160;berechnen USER=`expr&#160;${AFTER[1]}&#160;-&#160;${BEFORE[1]}` NICE=`expr&#160;${AFTER[2]}&#160;-&#160;${BEFORE[2]}` [...]]]></description>
			<content:encoded><![CDATA[<p>Ich wollte die aktuelle CPU Auslastung per Bashscript ermitteln, so wie sie auch unter top angezeigt wird. Nach einigem suchen wurde ich bei <a href="http://colby.id.au/node/39">einem Script</a> fündig, welches sehr anschaulich verdeutlichte wie dies realisiert werden kann. Auf dessen Basis habe ich mir mein eigenes Script entwickelt.<br />
<span id="more-462"></span><br />
<code>#!/bin/bash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;<br />
#&nbsp;/proc/stat&nbsp;2x&nbsp;auslesen<br />
BEFORE=(`cat&nbsp;/proc/stat&nbsp;|&nbsp;grep&nbsp;'^cpu&nbsp;'`)<br />
sleep&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
AFTER=(`cat&nbsp;/proc/stat&nbsp;|&nbsp;grep&nbsp;'^cpu&nbsp;'`)&nbsp;<br />
&nbsp;<br />
#&nbsp;Differenz&nbsp;berechnen<br />
USER=`expr&nbsp;${AFTER[1]}&nbsp;-&nbsp;${BEFORE[1]}`<br />
NICE=`expr&nbsp;${AFTER[2]}&nbsp;-&nbsp;${BEFORE[2]}`<br />
SYSTEM=`expr&nbsp;${AFTER[3]}&nbsp;-&nbsp;${BEFORE[3]}`<br />
IDLE=`expr&nbsp;${AFTER[4]}&nbsp;-&nbsp;${BEFORE[4]}`<br />
ALL=`expr&nbsp;${USER}&nbsp;+&nbsp;${NICE}&nbsp;+&nbsp;${SYSTEM}&nbsp;+&nbsp;${IDLE}`<br />
&nbsp;<br />
#&nbsp;Prozente&nbsp;berechnen<br />
PUSER=`expr&nbsp;$USER&nbsp;\*&nbsp;1000000&nbsp;/&nbsp;$ALL`<br />
PNICE=`expr&nbsp;$NICE&nbsp;\*&nbsp;1000000&nbsp;/&nbsp;$ALL`<br />
PSYSTEM=`expr&nbsp;$SYSTEM&nbsp;\*&nbsp;1000000&nbsp;/&nbsp;$ALL`<br />
PIDLE=`expr&nbsp;$IDLE&nbsp;\*&nbsp;1000000&nbsp;/&nbsp;$ALL`<br />
&nbsp;<br />
#&nbsp;Prozente&nbsp;formatieren<br />
for&nbsp;i&nbsp;in&nbsp;10&nbsp;100&nbsp;1000&nbsp;10000&nbsp;100000&nbsp;;&nbsp;do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;$PUSER&nbsp;-lt&nbsp;$i&nbsp;]&nbsp;;&nbsp;then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PUSER=&quot;0${PUSER}&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;$PNICE&nbsp;-lt&nbsp;$i&nbsp;]&nbsp;;&nbsp;then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PNICE=&quot;0${PNICE}&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;$PSYSTEM&nbsp;-lt&nbsp;$i&nbsp;]&nbsp;;&nbsp;then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PSYSTEM=&quot;0${PSYSTEM}&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;$PIDLE&nbsp;-lt&nbsp;$i&nbsp;]&nbsp;;&nbsp;then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PUSER=&quot;0${PIDLE}&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
done<br />
&nbsp;<br />
#&nbsp;ausgeben<br />
echo&nbsp;&quot;us:&nbsp;${PUSER:0:2}.${PUSER:2:4}%&quot;<br />
echo&nbsp;&quot;ni:&nbsp;${PNICE:0:2}.${PNICE:2:4}%&quot;<br />
echo&nbsp;&quot;sy:&nbsp;${PSYSTEM:0:2}.${PSYSTEM:2:4}%&quot;<br />
echo&nbsp;&quot;id:&nbsp;${PIDLE:0:2}.${PIDLE:2:4}%&quot;</code></p>
<p>Die Ausgabe sieht dann beispielsweise so aus:</p>
<p><code>us:&nbsp;00.9900%<br />
ni:&nbsp;00.0000%<br />
sy:&nbsp;00.4950%<br />
id:&nbsp;98.5148%</code></p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2010/03/proc-stat-mit-bash-auswerten.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wenn Secondlife unter Linux nicht will</title>
		<link>http://deruwe.de/2009/11/wenn-secondlife-unter-linux-nicht-will.html</link>
		<comments>http://deruwe.de/2009/11/wenn-secondlife-unter-linux-nicht-will.html#comments</comments>
		<pubDate>Sat, 07 Nov 2009 11:10:30 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Secondlife]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=416</guid>
		<description><![CDATA[Auf meiner Gentoo Maschine will der (Linux) Client für Secondlife mit folgender Fehlermeldung nicht starten. bin/do-not-directly-run-secondlife-bin: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory Dies kommt daher das nur eine aktuellere Version der libjpeg installiert ist. In diesem Fall hilft ein einfacher Symlink auf die aktuelle Version. [...]]]></description>
			<content:encoded><![CDATA[<p>Auf meiner Gentoo Maschine will der (Linux) Client für Secondlife mit folgender Fehlermeldung nicht starten.</p>
<p><code>bin/do-not-directly-run-secondlife-bin: error while loading shared libraries:<br />
libjpeg.so.62: cannot open shared object file: No such file or directory</code></p>
<p>Dies kommt daher das nur eine aktuellere Version der libjpeg installiert ist. In diesem Fall hilft ein einfacher Symlink auf die aktuelle Version.</p>
<p><code># cd /usr/lib<br />
# ln -s libjpeg.so libjpeg.so.62</code></p>
<p>Zur Überprüfung sieht dann so aus:</p>
<p><code># ls -l libjpeg.so*<br />
lrwxrwxrwx 1 root root     16 2009-11-07 00:48 libjpeg.so -> libjpeg.so.7.0.0<br />
lrwxrwxrwx 1 root root     10 2009-11-07 11:05 libjpeg.so.62 -> libjpeg.so<br />
lrwxrwxrwx 1 root root     16 2009-11-07 00:48 libjpeg.so.7 -> libjpeg.so.7.0.0<br />
-rwxr-xr-x 1 root root 218628 2009-11-07 00:48 libjpeg.so.7.0.0</code></p>
<p>Fertig. Viel Spaß beim Spielen.</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/11/wenn-secondlife-unter-linux-nicht-will.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kleine Datenrettung unter Linux</title>
		<link>http://deruwe.de/2009/09/kleine-datenrettung-unter-linux.html</link>
		<comments>http://deruwe.de/2009/09/kleine-datenrettung-unter-linux.html#comments</comments>
		<pubDate>Sat, 12 Sep 2009 19:09:03 +0000</pubDate>
		<dc:creator>Uwe</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Festplatte]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://deruwe.de/?p=405</guid>
		<description><![CDATA[Eine meiner Festplatten hat den Geist aufgegeben. Dummweise gleich die auf der sich die Systempartition befand. Bemerkbar gemacht hat sch das unter Linux durch Meldungen wie diese auf der Console: ata3.00:&#160;cmd&#160;c8/00:08:43:c6:c1/00:00:00:00:00/e0&#160;tag&#160;0&#160;cdb&#160;0x0&#160;data&#160;4096&#160;in res&#160;51/40:08:43:c6:c1/00:00:00:00:00/e0&#160;Emask&#160;0x9&#160;(media&#160;error) Kurz darauf crashte der Rechner komplett. Nach einem Hardreset bootet der Rechner auch nicht mehr. Also Festplatte hinüber. Ran an die Datenrettung. Als [...]]]></description>
			<content:encoded><![CDATA[<p>Eine meiner Festplatten hat den Geist aufgegeben. Dummweise gleich die auf der sich die Systempartition befand. Bemerkbar gemacht hat sch das unter Linux durch Meldungen wie diese auf der Console:</p>
<p><code>ata3.00:&nbsp;cmd&nbsp;c8/00:08:43:c6:c1/00:00:00:00:00/e0&nbsp;tag&nbsp;0&nbsp;cdb&nbsp;0x0&nbsp;data&nbsp;4096&nbsp;in<br />
res&nbsp;51/40:08:43:c6:c1/00:00:00:00:00/e0&nbsp;Emask&nbsp;0x9&nbsp;(media&nbsp;error)</code><br />
<span id="more-405"></span></p>
<p>Kurz darauf crashte der Rechner komplett. Nach einem Hardreset bootet der Rechner auch nicht mehr. Also Festplatte hinüber. </p>
<p>Ran an die Datenrettung. Als Erstes habe ich von einer Knoppix-CD gebootet. Hier ist zu beachten das einige Knoppix-CDs erkannte Swap-Partitionen automatisch mounten. Dies sollte man unbedingt per Bootparameter verhindern, sonst wird womöglich die defekte Platte gleich wieder benutzt. Auch benötigt man die grafische Oberfläche nicht, also startet man Knoppix am Bootprompt am besten mit</p>
<p><code>knoppix 2 noswap</code></p>
<p>Also Knoppix hochgefahren war, habe ich als Nächstes erst einmal mit </p>
<p><code>smartctl -a /dev/sda</code></p>
<p>die defekte Platte untersucht. (<a href="http://deruwe.de/dateien/2009/09/smartctl.log.txt">komplettes Log</a>). Der Wert Current_Pending_Sector, welcher die defekten Sektoren angibt, war meiner Meinung nach auffällig hoch.</p>
<p>Ein anschliessendes</p>
<p><code>badblocks -v /dev/sda</code></p>
<p>bestätigte dies und lieferte jede Menge defekte Sektoren zurück (ca. 200). Bis auf eine Partitionen konnte ich alle mounten und die Daten sichern. Eine XFS-Partition war jedoch nicht mehr zum Mounten zu bewegen. (Defekter Superblock?)</p>
<p>Ein Reparaturversuch direkt auf der defekten Platte kam für mich nicht in Frage. Also benutze ich benutze dd_rescue um diese Partition als Image auf meinem Raid (gemountet unter /RAID) auszulesen.</p>
<p><code>dd_rescue /dev/sda5 /RAID/sda5.img</code></p>
<p>Das kann je nach Partitionsgröße eine ganze Weile dauern. Es sollte natürlich entsprechend Platz auf dem Ziellaufwerk vorhanden sein. Anschliessend habe ich das Image kopiert um den Reparatur-Versuch abzusichern.</p>
<p><code>cp /RAID/sda5.img /RAID/sda5.img.org</code></p>
<p>Anschliessend ein </p>
<p><code>xfs_repair /RAID/sda5.img</code></p>
<p>Es gab keine Fehlermeldungen und ich konnte anschliessend das Image mounten und die Daten darauf sichern.</p>
<p><code>mount -o ro,loop /RAID/sda5.img /mnt/...</code></p>
<p>Anschliessend habe ich mir erstmal ein Bier gegönnt und so das Überleben meiner Daten gefeiert. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://deruwe.de/2009/09/kleine-datenrettung-unter-linux.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
