<?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>ubuntuverse.at &#187; Ubuntu</title>
	<atom:link href="http://www.ubuntuverse.at/category/allgemein/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ubuntuverse.at</link>
	<description>Berichte aus dem Ubuntu Universum</description>
	<lastBuildDate>Thu, 21 Aug 2014 09:42:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Dateien in Bildern verstecken mit steghide</title>
		<link>https://www.ubuntuverse.at/2014/08/01/dateien-in-bildern-verstecken-mit-steghide/</link>
		<comments>https://www.ubuntuverse.at/2014/08/01/dateien-in-bildern-verstecken-mit-steghide/#comments</comments>
		<pubDate>Fri, 01 Aug 2014 05:12:45 +0000</pubDate>
		<dc:creator>Bernhard Essl</dc:creator>
				<category><![CDATA[Konsole]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[steghide]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ubuntuverse.at/?p=1817</guid>
		<description><![CDATA[Verschlüsselung ist eine feine Sache aber manchmal möchte man noch zusätzlich Dateien verstecken. Eine Möglichkeit wäre mittels Steganographie eine Datei in einem Bild zu verstecken und dann später aus dem Bild die Datei zu extrahieren. Mit dem Programm steghide ist dies möglich. steghide befindet sich in den Ubuntu Sourcen und kann mit apt installiert werden: [...]]]></description>
			<content:encoded><![CDATA[<p>Verschlüsselung ist eine feine Sache aber manchmal möchte man noch zusätzlich Dateien verstecken. Eine Möglichkeit wäre mittels <a href="http://de.wikipedia.org/wiki/Steganographie">Steganographie</a> eine Datei in einem Bild zu verstecken und dann später aus dem Bild die Datei zu extrahieren.<br />
Mit dem Programm <em>steghide</em> ist dies möglich.</p>
<p>steghide befindet sich in den Ubuntu Sourcen und kann mit apt installiert werden:</p>
<pre>sudo aptitude install steghide</pre>
<p>Nun kann die Datei die man verstecken möchte (geheim.txt) in ein Bild (img_23.jpg) geschrieben werden. Man muss dazu ein Passwort angeben.</p>
<pre>steghide embed --embedfile geheim.txt --coverfile img_23.jpg
Enter passphrase:
Re-Enter passphrase:
embedding "geheim.txt" in "img_23.jpg"... done
</pre>
<p>später kann aus dem Bild, nach Eingabe des Passwortes die Datei wieder extrahiert werden.</p>
<pre>steghide extract --stegofile img_23.jpg
Enter passphrase:
wrote extracted data to "geheim.txt".
</pre>
]]></content:encoded>
			<wfw:commentRss>https://www.ubuntuverse.at/2014/08/01/dateien-in-bildern-verstecken-mit-steghide/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Fallgruben in BASH</title>
		<link>https://www.ubuntuverse.at/2014/07/10/fallgruben-in-bash/</link>
		<comments>https://www.ubuntuverse.at/2014/07/10/fallgruben-in-bash/#comments</comments>
		<pubDate>Thu, 10 Jul 2014 05:23:49 +0000</pubDate>
		<dc:creator>Bernhard Essl</dc:creator>
				<category><![CDATA[Konsole]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ubuntuverse.at/?p=1726</guid>
		<description><![CDATA[Immer wieder bin ich angenehm überrascht wie viele Aufgaben ich mit BASH in oft einer (langen) oder nur wenigen Zeilen lösen kann. Warum schreibe ich dann fast alles in Skriptsprachen wie Ruby, Python oder Perl? Ganz einfach weil die Syntax einfacher zu merken ist und BASH doch einige Eigenheiten hat, die es zu merken gilt. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="post_img" src="http://www.ubuntuverse.at/wp-content/85504626_9a784bf601_m.jpg" alt="cat hunting the bash" title="cat hunting the bash" width="240" height="192" class="alignnone size-full wp-image-1728" /> Immer wieder bin ich angenehm überrascht wie viele Aufgaben ich mit BASH in oft einer (langen) oder nur wenigen Zeilen lösen kann. Warum schreibe ich dann fast alles in Skriptsprachen wie Ruby, Python oder Perl?<br />
Ganz einfach weil die Syntax einfacher zu merken ist und BASH doch einige Eigenheiten hat, die es zu merken gilt. </p>
<p>Darum hier ein Versuch sämtliche gern gemachte Fehler niederzuschreiben. Ich würde mich über Kommentare eurer Fallgruben von euch freuen.<br />
<span id="more-1726"></span></p>
<ol>
<li><strong>whitespaces und wildcards</strong>
<pre>
mv $file_old $file_new # falsch
</pre>
<p>Das kann bei Dateinamen mit Leerzeichen oder wildcards zu Problemen führen, wenn man sich nicht sicher ist welchen Inhalt eine Variable hat, sollte man sie in Anführungszeichen setzen.</p>
<pre>
mv "$file_old" "$file_new"
</pre>
<p>Nun können in $file_old und $file_new Leerzeichen und wildcards wie * oder ? oder [...] verwendet werden.
</li>
<li><strong>runde Klammern werden nicht erkannt</strong>
<p>Ich bin schon öfter über Posting gestolpert wo das Skript mit dieser Meldung abstürzte:</p>
<pre>Syntax error: "(" unexpected</pre>
<p>Das liegt dann meistens daran das keine BASH sondern eine abgemagerte Shell wie <em>dash</em> verwendet wurde.<br />
Welche Shell verwendet wird kann über $SHELL abgefragt werden:</p>
<pre>echo $SHELL</pre>
</li>
<li><strong>Variablen-Deklaration</strong>
<pre>
$ubuntu="super" # falsch
ubuntu = "super" # falsch
ubuntu ="super" # falsch
</pre>
<p>in BASH werden einer Variable, ohne $ und ohne Zwischenabstände Werte zugewiesen.</p>
<pre>
ubuntu="super"
</pre>
</li>
<li><strong>lesen und schreiben in die selbe Datei</strong>
<p>Es ist nicht möglich in die selbe Datei, über eine pipe zu schreiben, von der gelesen wird. In den meisten Fällen bleibt dann eine 0 Byte große Datei über.</p>
<pre>cat datei | sed s/foo/bar/ > datei # falsch</pre>
<p>Eine Lösung wäre mit einer temporären Datei zuarbeiten und diese mit der Originaldatei zu überschreiben</p>
<pre>sed 's/foo/bar/g' datei > tmpdatei &#038;&#038; mv tmpdatei datei</pre>
</li>
<li><strong>Globing verwenden</strong>
<p>Ein gern gemachter Fehler ist das verwenden von subshells in loops</p>
<pre>
for x in `ls *.jpg`; do # falsch
</pre>
<p>Hat einer der Dateinamen whitespaces wird es hier zu Fehlern kommen (siehe 1). Außerdem wird ein externes Kommando <em>ls</em> unnötig aufgerufen.<br />
In BASH sollte darum für solche Aufgaben das BASH interne Glob verwendet werden.</p>
<pre>
for i in *.jpg; do
</pre>
</li>
<li><strong>Verwenden absoluter Pfade bei externen Programmen</strong>
<p>Oft werden externe Programme in BASH ohne absoluten Pfad aufgerufen, sehr sicher ist das allerdings nicht.</p>
<pre>dateien=`ls /home/userin/`</pre>
<p>Das Problem hier könnte sein das jemand mutwillig ein Programm mit den Namen <em>ls</em> erzeugt und nicht mehr <em>/bin/ls</em> wie gedacht, sondern ein manipuliertes <em>ls</em> ausgeführt wird.<br />
Ein besserer Ansatz mit einem absoluten Pfad:</p>
<pre>ls="/bin/ls"
dateien=`$ls /home/userin/`
</pre>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>https://www.ubuntuverse.at/2014/07/10/fallgruben-in-bash/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Dokumentenscanner unter Ubuntu nutzen</title>
		<link>https://www.ubuntuverse.at/2010/01/29/dokumentenscanner-unter-ubuntu-nutzen/</link>
		<comments>https://www.ubuntuverse.at/2010/01/29/dokumentenscanner-unter-ubuntu-nutzen/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 18:47:16 +0000</pubDate>
		<dc:creator>Bernd S.</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Fujitsu]]></category>
		<category><![CDATA[S1500]]></category>
		<category><![CDATA[S300]]></category>
		<category><![CDATA[Sane]]></category>
		<category><![CDATA[Scanner]]></category>
		<category><![CDATA[ScanSnap]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ubuntuverse.at/?p=1831</guid>
		<description><![CDATA[Ich habe seit längerem mit dem Gedanken gespielt mir einen Dokumentenscanner zu kaufen um diverse Dokumente elektronisch archivieren zu können. Also habe ich mir mal auf  www.geizhals.at näher angeschaut was ich mir leisten will/kann. Dabei musste ich feststellen, dass die Dokumentenscanner doch eher teuer sind. Zusätzlich wollte ich natürlich noch wissen, welche der Geräte auch [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ubuntuverse.at/wp-content/sane-logo.png"><img class="post_img" title="sane-logo" src="http://www.ubuntuverse.at/wp-content/sane-logo.png" alt="" width="96" height="113" /></a>Ich habe seit längerem mit dem Gedanken gespielt mir einen Dokumentenscanner zu kaufen um diverse Dokumente elektronisch archivieren zu können.<br />
Also habe ich mir mal auf  <a title="geizhals.at" href="http://www.geizhals.at" target="_blank">www.geizhals.at</a> näher angeschaut was ich mir leisten will/kann. Dabei musste ich feststellen, dass die Dokumentenscanner doch eher teuer sind. Zusätzlich wollte ich natürlich noch wissen, welche der Geräte auch von Linux unterstützt sind. Eine Auflistung findet man auf der Webseite des <a title="Sane Project - Supported Devices" href="http://www.sane-project.org/sane-supported-devices.html" target="_blank">Sane Projekts</a>.<br />
Nach einiger Zeit stand fest, dass ich mir entweder einen Fujitsu ScanSnap <a title="S300" href="http://www.fujitsu.com/emea/products/de/scansnap/s300-for-pc/" target="_blank">S300</a> oder den <a title="S1500" href="http://www.fujitsu.com/emea/products/de/scansnap/for-pc/" target="_blank">S1500</a> kaufen werde. Am Ende hat jedoch der Preis entschieden, da lt. Geizhals der günstigste S1500 mehr als doppelte vom S300 kostet.</p>
<p><span id="more-1831"></span>Das war aber ein Fehler wie sich später noch herausstellen sollte. Lt. der SANE-Webseite wird der S300 &#8220;good&#8221; unterstützt. Ich dachte das reicht mir schon und habe mich dann dort nicht mehr weiter informiert. Als ich dann den S300 bei mir hatte und das erste Stück Papier einscannen wollte, wurde das Gerät nicht einfach als Plug-and-Play erkannt, wie ich es mir gedacht hatte.<br />
Nach einer kurzen Recherche musste ich feststellen, dass ich für die Nutzung des S300 eine Datei aus dem Windowstreiber benötige. Die Erklärung dazu ist (soweit ich das richtig verstanden habe), dass beim S300 die Logik fast komplett im Treiber und nicht in der Hardware implementiert wurde. Wahrscheinlich ist dies auch ein Grund, warum dieser soviel günstiger als der S1500 ist.<br />
Also habe ich meine Virtualbox mit Windows gestartet um den Treiber dort zu installieren. In der virtuellen Maschine kann ich ja den kompletten Funktionsumfang nutzen, wenn mir die Funktionen unter Linux nicht ganz reichen. Und außerdem benötigte ich ja noch die Datei um den Scanner unter Linux zum Laufen zu bringen.<br />
Soweit zur Theorie. Ich habe nach vielfachen Versuchen aufgegeben den Treiber in der virtuellen Maschine zu installieren, da dies einfach nicht möglich war. Somit war der Scanner für mich nutzlos und nach längerem hin und her konnte ich das Gerät wieder zurückgeben.</p>
<p>In der Zwischenzeit hatte ich aber gesehen, dass der S1500 auf Ebay relativ günstig zu haben ist. Daher habe ich mir nach der Rückgabe des S300 den S1500 dort gekauft. Als ich dieses Gerät an mein Notebook mit Ubuntu 9.10 angesteckt hatte, wurde der Scanner sofort erkannt und auch die erste Testseite war mit <a title="XSane" href="http://www.xsane.org/xsane-introduction.html" target="_blank">XSane</a>, dem unter Ubuntu vorinstallierten Scannprogramm, schnell gescannt.<br />
Nach meinen ersten Tests musste ich aber feststellen, dass eine gescannte A4-Seite am unteren Rand abgeschnitten wird. Mit XSane hatte ich aber keine schnelle Lösung gefunden.<br />
Da ich aber sowieso ein Freund der Kommandozeile bin, habe ich mich auf die Suche nach einem Kommandozeilen-Tool begeben und mit <a title="scanadf - Kommandozeilen-Tool" href="http://www.martoneconsulting.com/sane-scanadf.html" target="_blank">scanadf</a> auch gefunden.</p>
<p>Dies ist unter Ubuntu 9.10 aber nicht installiert, findet sich aber in den Paketquellen. Daher ist die Installation auch sehr einfach:</p>
<pre>sudo aptitude install sane</pre>
<p>Doch wie finde ich jetzt meine Scanner und wie gebe ich diesen dem Kommando scanadf bekannt? Dazu gibt es bei scanadf einen Option, um sich alle erkannten Scanner anzeigen zu lassen:</p>
<pre>scanadf -L</pre>
<p>Damit ich jetzt sehe, welche Optionen mein S1500 anbietet, gebe ich folgendes ein:</p>
<pre>scanadf --help -d "fujitsu:ScanSnap S1500:303564"</pre>
<p>Um jetzt eine ganze A4-Seite zu Scannen muss ich folgenden Befehl eingeben:</p>
<pre>scanadf -d "fujitsu:ScanSnap S1500:303564" -v --page-height=298.009 -y 297.009</pre>
<p>Der S1500 kann auch beidseitig scannen. Mit scanadf sieht das wie folgt aus:</p>
<pre>scanadf -d "fujitsu:ScanSnap S1500:303564" -v --page-height=298.009 -y 297.009 \
--source="ADF Duplex"</pre>
<p>Der eine oder andere hat sich sicher schon gefragt in welchem Format die gescannten Dokumente vorliegen. Die Seiten werden im <a title="Portable Bitmap Format" href="http://de.wikipedia.org/wiki/Portable_Bitmap" target="_blank">Portable Bitmap Format (PBM)</a> gespeichert. In diesem Format will man seine Dokumente aber nicht archivieren, da hier eine Seite schon 4MB groß sein kann.<br />
Daher muss man nun noch die entstandenen PBM-Dateien in ein TIFF oder ein PDF konvertieren. Hier können die Programme <a title="potrace - Transforming bitmaps into vector graphics" href="http://potrace.sourceforge.net/" target="_blank">potrace</a> oder <a title="Imagemagick - convert" href="http://www.imagemagick.org/script/convert.php" target="_blank">convert</a> (aus dem Package imagemagick) verwendet werden.</p>
<p>Leider bin ich mir noch nicht sicher, welches Format die bessere Wahl ist. Und auch ein Versuch mit einer OCR-Software war leider nicht sehr zufriedenstellend.<br />
Was ist euer bevorzugtes Format zur Archivierung von Dokumenten? TIFF oder PDF? Wäre hier für weitere Anregungen dankbar.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.ubuntuverse.at/2010/01/29/dokumentenscanner-unter-ubuntu-nutzen/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Diese Woche in der Konsole #10</title>
		<link>https://www.ubuntuverse.at/2009/11/15/diese-woche-in-der-konsole-10/</link>
		<comments>https://www.ubuntuverse.at/2009/11/15/diese-woche-in-der-konsole-10/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 09:41:26 +0000</pubDate>
		<dc:creator>Bernhard Essl</dc:creator>
				<category><![CDATA[Konsole]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[dwik]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[rsync]]></category>

		<guid isPermaLink="false">http://www.ubuntuverse.at/?p=1803</guid>
		<description><![CDATA[BASH Befehlsübersicht Um alle Befehle der BASH Tools und Programme die in den Pfaden der Umgebungsvariable PATH sich befinden, anzeigen zu lassen reicht 2 mal Tabulator und ein y (oder j) in der Konsole. Online GeoIP Daten einer IP abfragen. Zurück kommt ein json-formatierter String. curl -s "http://geoip.pidgets.com?ip=212.69.178.148&#038;format=json" Eine ganz bestimmte Zeile einer Datei anzeigen [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li><del datetime="2009-11-17T13:11:14+00:00">BASH</del> Befehlsübersicht
<p>Um alle <del datetime="2009-11-17T13:11:14+00:00">Befehle der BASH</del> Tools und Programme die in den Pfaden der Umgebungsvariable PATH sich befinden,  anzeigen zu lassen reicht 2 mal Tabulator und ein y (oder j) in der Konsole.</li>
<li>
Online GeoIP Daten einer IP abfragen. Zurück kommt ein json-formatierter String.</p>
<pre>curl -s "http://geoip.pidgets.com?ip=212.69.178.148&#038;format=json"</pre>
</li>
<li>Eine ganz bestimmte Zeile einer Datei anzeigen lassen.
<pre>head -n 23 /etc/passwd | tail -n 1</pre>
<p>oder mit sed</p>
<pre>sed -n 23p /etc/passwd</pre>
</li>
<li>
Eine Datei in mehrere aufteilen. Neue Dateien enthalten jeweils 10 Zeilen und beginnen mit dem<br />
Namen neu-.</p>
<pre>split --lines 10 /etc/passwd neu-</pre>
</li>
<li>Dateien rekursiv durchsuchen mit grep und nur Dateinamen wo etwas gefunden wurde ausgeben.
<pre>grep -r -l suche-nach *</pre>
</li>
<li>
Fortschritts-Anzeige (progress bar) bei Dateien abgleichen mit rsync.</p>
<pre>rsync -avx --progress --stats "/pfad/original/" "/pfad/kopie/"</pre>
</li>
<li>
Eingebauten CPU Namen ermitteln.</p>
<pre>grep "model name" /proc/cpuinfo |uniq</pre>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>https://www.ubuntuverse.at/2009/11/15/diese-woche-in-der-konsole-10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
