<?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>/home/antu &#187; Gentoo</title>
	<atom:link href="http://www.antusblog.de/category/linux/gentoo-linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.antusblog.de</link>
	<description>Linux, Programmierung und andere Dinge die mich interessieren</description>
	<lastBuildDate>Mon, 26 Oct 2009 06:00:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>package.* Dateien bereinigen mit Portpeek</title>
		<link>http://www.antusblog.de/2009/03/21/package-dateien-bereinigen-mit-portpeek/</link>
		<comments>http://www.antusblog.de/2009/03/21/package-dateien-bereinigen-mit-portpeek/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 10:33:28 +0000</pubDate>
		<dc:creator>Antu</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[emerge]]></category>
		<category><![CDATA[package.keywords]]></category>
		<category><![CDATA[package.unmask]]></category>
		<category><![CDATA[Portage]]></category>
		<category><![CDATA[portpeek]]></category>

		<guid isPermaLink="false">http://antusblog.de/?p=393</guid>
		<description><![CDATA[Portpeek ist ein kleines Skript für Gentoo-Benutzer, das die package.keywords und die package.unmask von nicht mehr benötigten Einträgen bereinigt. Es überprüft ob die entsprechenden Programme bzw. Versionen mittlerweile als stabil gekennzeichnet sind und entfernt die entsprechenden Einträge. Zuerst einmal muss Portpeek installiert werden. emerge -av portpeek Anschließend kann man sich mit folgendem Befehl alle unnötigen [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_622" class="wp-caption aligncenter" style="width: 569px"><a href="http://antusblog.de/wp-content/uploads/2009/03/portpeek_loeschen.png"><img class="size-full wp-image-622" title="portpeek_loeschen" src="http://antusblog.de/wp-content/uploads/2009/03/portpeek_loeschen.png" alt="Portpeek löscht die nicht mehr benötigten Einträge." width="559" height="118" /></a><p class="wp-caption-text">Portpeek löscht die nicht mehr benötigten Einträge.</p></div>
<p><a href="http://www.mpagano.com/blog/?page_id=3" target="_blank">Portpeek</a> ist ein kleines Skript für Gentoo-Benutzer, das die <code>package.keywords</code> und die <code>package.unmask</code> von nicht mehr benötigten Einträgen bereinigt. Es überprüft ob die entsprechenden Programme bzw. Versionen mittlerweile als stabil gekennzeichnet sind und entfernt die entsprechenden Einträge.</p>
<p><span id="more-393"></span>Zuerst einmal muss Portpeek installiert werden.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">emerge <span style="color: #660033;">-av</span> portpeek</pre></div></div>

<p>Anschließend kann man sich mit folgendem Befehl alle unnötigen Einträge anzeigen lassen.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">portpeek <span style="color: #660033;">-ar</span></pre></div></div>

<p>Und so löscht man die aufgelisteten Einträge:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">portpeek <span style="color: #660033;">-arf</span></pre></div></div>

<h2>Befehle und Optionen von Portpeek</h2>
<table border="0">
<thead>
<tr>
<th>Befehl</th>
<th>Bedeutung</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>-a, --all</code></td>
<td>Zeige alle Einträge</td>
</tr>
<tr>
<td><code>-k, --keyword</code></td>
<td>Zeige nur Einträge aus package.keywords</td>
</tr>
<tr>
<td><code>-m, --mask</code></td>
<td>Zeige nur Einträge aus package.mask</td>
</tr>
<tr>
<td><code>-u, --unmask</code></td>
<td>Zeige nur Einträge aus package.unmask</td>
</tr>
<tr>
<td><code>-f, --fix</code></td>
<td>Entfernt alle als stabil gekennzeichneten Pakete ohne vorher nachzufragen</td>
</tr>
<tr>
<td><code>-h, --help</code></td>
<td>Zeigt die Hilfe an</td>
</tr>
</tbody>
</table>
<table border="0">
<thead>
<tr>
<th>Option</th>
<th>Bedeutung</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>-c, --changes-only</code></td>
<td>Zeigt nur Einträge von Paketen an für die Aktualisierungen vorliegen</td>
</tr>
<tr>
<td><code>-r, --removable-only</code></td>
<td>Zeigt nur Einträge an die entfernt werden würden</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.antusblog.de/2009/03/21/package-dateien-bereinigen-mit-portpeek/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pakete demaskieren mit autounmask</title>
		<link>http://www.antusblog.de/2009/03/20/pakete-demaskieren-mit-autounmask/</link>
		<comments>http://www.antusblog.de/2009/03/20/pakete-demaskieren-mit-autounmask/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 12:11:19 +0000</pubDate>
		<dc:creator>Antu</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[demaskieren]]></category>
		<category><![CDATA[emerge]]></category>
		<category><![CDATA[package.keywords]]></category>
		<category><![CDATA[package.mask]]></category>
		<category><![CDATA[package.unmask]]></category>
		<category><![CDATA[Portage]]></category>

		<guid isPermaLink="false">http://antusblog.de/?p=597</guid>
		<description><![CDATA[Wenn man unter Gentoo ein Paket installieren möchte, das sich noch im Testzweig befindet bzw. maskiert ist kann man es in die Datei /etc/portage/package.keywords bzw. /etc/portage/package.unmask eintragen um es zu demaskieren. echo &#34;=kategorie/paketname-version ~keyword&#34; &#62;&#62; /etc/portage/package.keywords # Testzweig echo &#34;=kategorie/paketname-version&#34; &#62;&#62; /etc/portage/package.unmask # Maskierte Pakete Das wird allerdings problematisch wenn das Paket noch Abhängigkeiten hat [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://antusblog.de/wp-content/uploads/2009/03/autounmask2.png"><img class="aligncenter size-full wp-image-600" title="autounmask" src="http://antusblog.de/wp-content/uploads/2009/03/autounmask2.png" alt="autounmask" width="580" height="105" /></a></p>
<p>Wenn man unter Gentoo ein Paket installieren möchte, das sich noch im Testzweig befindet bzw. maskiert ist kann man es in die Datei /etc/portage/package.keywords bzw. /etc/portage/package.unmask eintragen um es zu demaskieren.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;=kategorie/paketname-version ~keyword&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>portage<span style="color: #000000; font-weight: bold;">/</span>package.keywords <span style="color: #666666; font-style: italic;"># Testzweig</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;=kategorie/paketname-version&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>portage<span style="color: #000000; font-weight: bold;">/</span>package.unmask <span style="color: #666666; font-style: italic;"># Maskierte Pakete</span></pre></div></div>

<p>Das wird allerdings problematisch wenn das Paket noch Abhängigkeiten hat die ebenfalls demaskiert werden müssen, jede Abhängigkeit einzeln in die entsprechende Datei einzutragen wäre ziemlich mühselig. Ist auch nicht nötig, denn es gibt ja autounmask.</p>
<p><span id="more-597"></span>Mit autounmask lassen sich Pakete und all ihre Abhängigkeiten ganz einfach demaskieren, zu erst einmal muss autounmask allerdings installiert werden.</p>
<p><strong>Installation</strong>: <code>emerge -av autounmask</code></p>
<p>Um ein Paket samt all seiner Abhängigkeiten zu demaskieren genügt nun folgender Befehl:</p>
<p><strong>Pakete demaskieren</strong>: <code>autounmask =kategorie/paket-version</code></p>
<p>Abhängig davon wie viele Pakete demaskiert werden müssen arbeitet autounmask dann eine Weile. Wenn <code>/etc/portage/package.keywords</code> bzw. <code>package.unmask</code> ein Verzeichnis ist, wird eine Datei namens <code>autounmask-paketname</code> angelegt in der die Einträge zum demaskieren stehen. Ansonsten werden sie durch einen Kommentar gekennzeichnet in die entsprechenden Dateien eingetragen.</p>
<p>Wird autounmask mit dem Parameter <code>-p</code> (bzw. <code>--pretend</code>) aufgerufen, werden die erstellten Einträge am Ende wieder entfernt. Praktisch, wenn man nur sehen will welche Pakete demaskiert werden würden. Der Parameter <code>-n</code> (bzw. <code>--noversions</code>) legt fest das keine Versionsinformationen dazugeschrieben werden, also beispielsweise <code>media-video/vlc</code> anstatt <code>=media-video/vlc-0.9.9999</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antusblog.de/2009/03/20/pakete-demaskieren-mit-autounmask/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>genlop: Informationen aus Log-Dateien von Portage auslesen</title>
		<link>http://www.antusblog.de/2009/02/26/genlop-informationen-aus-log-dateien-von-portage-auslesen/</link>
		<comments>http://www.antusblog.de/2009/02/26/genlop-informationen-aus-log-dateien-von-portage-auslesen/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 05:22:08 +0000</pubDate>
		<dc:creator>Antu</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[emerge]]></category>
		<category><![CDATA[genlop]]></category>
		<category><![CDATA[Portage]]></category>

		<guid isPermaLink="false">http://antusblog.de/?p=495</guid>
		<description><![CDATA[Jedes mal wenn man ein Paket emergt werden Informationen darüber in eine Log-Datei geschrieben. Das Programm genlop kann diese Informationen auslesen und daraus zum Beispiel abschätzen wie lange es dauern würde bestimmte Pakete zu emergen. Außerdem kann genlop anzeigen wann Synchronisierungen durchgeführt wurden und wann welches Paket in welcher Version installiert wurde. Um genlop zu [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://antusblog.de/wp-content/uploads/2009/02/genlopeta.png"><img class="alignleft size-thumbnail wp-image-497" title="genlopeta" src="http://antusblog.de/wp-content/uploads/2009/02/genlopeta-150x135.png" alt="genlopeta" width="150" height="135" /></a>Jedes mal wenn man ein Paket emergt werden Informationen darüber in eine Log-Datei geschrieben. Das Programm genlop kann diese Informationen auslesen und daraus zum Beispiel abschätzen wie lange es dauern würde bestimmte Pakete zu emergen. Außerdem kann genlop anzeigen wann Synchronisierungen durchgeführt wurden und wann welches Paket in welcher Version installiert wurde. Um genlop zu installieren genügt ein einfaches <code>emerge -av genlop</code>.</p>
<p><span id="more-495"></span></p>
<h2>Benutzung</h2>
<p>Mittels <code>genlop -c</code> kann man sich anzeigen lassen wie viel Zeit ein aktuell laufender Emerge-Prozess noch braucht, <code>genlop -t &lt;Kategorie/Paket(e)&gt;</code> zeigt an wie lange es gedauert hat ein bestimmtes Paket zu emergen. Will man im voraus wissen wie lange Emerge für bestimmte Pakete braucht kann man die Ausgabe von <code>emerge -p</code> an genlop weiterleiten.</p>
<div id="attachment_503" class="wp-caption aligncenter" style="width: 502px"><a href="http://antusblog.de/wp-content/uploads/2009/02/genloppretendopenoffice.png"><img class="size-full wp-image-503" title="emerge -p openoffice | genlop -p" src="http://antusblog.de/wp-content/uploads/2009/02/genloppretendopenoffice.png" alt="genloppretendopenoffice" width="492" height="117" /></a><p class="wp-caption-text">Laut genlop würde es 2 Stunden und 47 Minuten dauern openoffice noch einmal zu emergen.</p></div>
<p style="text-align: left;">Außerdem ist es möglich mittels <code>genlop -lu</code> aufzulisten wann welches Paket (de)installiert wurde. Ein Tipp: Mit <code>tail -n &lt;X&gt;</code> lässt sich die Anzeige auf die letzten X Programme beschränken. Wenn man herausfinden möchte welche Pakete an einem bestimmten Tag installiert wurden kann man auch ein Datum angeben, beispielsweise <code>genlop -lu --date 02/23/2009</code>.</p>
<h2>Übersicht</h2>
<p>Eine kleine Übersicht über die Parameter von genlop und was sie bewirken.</p>
<table border="0">
<tbody>
<tr>
<td>Parameter</td>
<td>Funktion</td>
</tr>
<tr>
<td><code>-c</code></td>
<td>Zeigt Pakete an die zur Zeit kompiliert werden und wie lange es ungefähr noch dauern wird.</td>
</tr>
<tr>
<td><code>-e &lt;Kategorie/Paket(e)&gt;</code></td>
<td>Zeigt an wann ein Paket in welcher Version emergt wurde.</td>
</tr>
<tr>
<td><code>-f &lt;Datei&gt;</code></td>
<td>Wertet die Informationen aus Datei aus, anstatt aus /var/log/emerge.log.</td>
</tr>
<tr>
<td><code>-h</code></td>
<td>Zeigt die Hilfe an.</td>
</tr>
<tr>
<td><code>-i</code></td>
<td>Zeigt zusätzliche Informationen wie z.B. USE-Flags oder die durchschnittliche Zeit zum kompilieren an.</td>
</tr>
<tr>
<td><code>-g</code></td>
<td>GMT/UTC-Zeit anstatt der lokalen Zeit anzeigen.</td>
</tr>
<tr>
<td><code>-n</code></td>
<td>Ausgabe nicht farbig machen.</td>
</tr>
<tr>
<td><code>-l</code></td>
<td>Listet auf wann welches Programm in welcher Version installiert wurde (alle je installierten Programme.)</td>
</tr>
<tr>
<td><code>-u</code></td>
<td>Zeigt auch an wann Pakete deinstalliert wurden.</td>
</tr>
<tr>
<td><code>-p</code></td>
<td>Schätzt wie lange es dauern würde die von emerge -p aufgelisteten Pakete zu kompilieren. (emerge -p Paket(e) | genlop -p</td>
</tr>
<tr>
<td><code>-q</code></td>
<td>Wenn ein Paket lokal noch nie emergt wurde kann genlop nicht abschätzen wie lange es dauern würde es zu kompilieren, mit -q wird genlop angewiesen die Datenbank von gentoo.linuxhowtos.org zu befragen.</td>
</tr>
<tr>
<td><code>-r</code></td>
<td>Zeigt an wann Synchronisierungen durchgeführt wurden (emerge &#8211;sync).</td>
</tr>
<tr>
<td><code>-s bzw. -S &lt;Kategorie/Paket(e)&gt;</code></td>
<td>Das angegebene Paket wird wie ein regulärer Ausdruck behandelt. (Bei -S wird die Groß- und Kleinschreibung beachtet, bei -s nicht.)</td>
</tr>
<tr>
<td><code>-t &lt;Kategorie/Paket(e)&gt;</code></td>
<td>Schätzt wie lange es dauern würde die angegebenen Pakete zu emergen.</td>
</tr>
<tr>
<td><code>-v</code></td>
<td>Zeigt die Version von genlop an.</td>
</tr>
<tr>
<td><code>--date &lt;Datum1&gt; [--date &lt;Datum2&gt;]</code></td>
<td>Zeigt nur Ergebnisse zwischen Datum1 und Datum2 an. Wird Datum2 nicht angegeben wird es automatisch zu heute.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.antusblog.de/2009/02/26/genlop-informationen-aus-log-dateien-von-portage-auslesen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pakete suchen mit eix</title>
		<link>http://www.antusblog.de/2008/12/20/pakete-suchen-mit-eix/</link>
		<comments>http://www.antusblog.de/2008/12/20/pakete-suchen-mit-eix/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 13:12:34 +0000</pubDate>
		<dc:creator>Antu</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[eix]]></category>
		<category><![CDATA[emerge]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Paketverwaltung]]></category>

		<guid isPermaLink="false">http://antusblog.de/?p=234</guid>
		<description><![CDATA[Portage durchsuchen. Jeder der Gentoo schon etwas länger benutzt weiß das die Suche nach einem Paket ewig dauert. Kein Wunder, denn die Portage-Datenbank basiert auf Dateien und somit müssen bei jeder Suche unzählige Verzeichnisse und Dateien durchgegangen werden, und das dauert nunmal. Aber es gibt eine Alternative zu emerge --search, sie heißt eix und ist [...]]]></description>
			<content:encoded><![CDATA[<p>Portage durchsuchen. Jeder der Gentoo schon etwas länger benutzt weiß das die Suche nach einem Paket ewig dauert. Kein Wunder, denn die Portage-Datenbank basiert auf Dateien und somit müssen bei jeder Suche unzählige Verzeichnisse und Dateien durchgegangen werden, und das dauert nunmal. Aber es gibt eine Alternative zu <code>emerge --search</code>, sie heißt <a href="http://eix.sourceforge.net/">eix</a> und ist nicht nur schneller als Emerge sondern auch viel mächtiger. Eix basiert auf einem binären Cache, was die Suche stark beschleunigt. Außerdem zeigt eix weit mehr Informationen an und es ist möglich die Suche viel stärker einzugrenzen (Lizenz, Homepage, Kategorie, Use-Flags, &#8230;), nach regulären Ausdrücken zu suchen und vieles mehr.</p>
<p>Ein kleiner Geschwindigkeitsvergleich:<br />
<code>time emerge --search mozilla-firefox<br />
  real    <strong>0m16.174s</strong><br />
  user    0m1.420s<br />
  sys     0m0.256s<br />
time eix mozilla-firefox<br />
  real    <strong>0m0.292s</strong><br />
  user    0m0.024s<br />
  sys     0m0.004s</code><br />
<span id="more-234"></span></p>
<h2>Installation</h2>
<p>Eix zu installieren ist nicht besonders schwer, es gibt natürlich ein ebuild.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">emerge <span style="color: #660033;">-av</span> eix</pre></div></div>

<h2>Benutzung</h2>
<p>Zu erst einmal muss der binäre Cache angelegt werden, ohne den funktioniert eix natürlich nicht. Mit <code>update-eix</code> wird der Cache angelegt/aktualisiert. Nach jedem <code>emerge --sync</code> muss das wiederholt werden, damit der Cache auch auf dem neusten Stand ist. Wer sich etwas Tipparbeit ersparen möchte kann auch gleich den Befehl <code>eix-sync</code> benutzen, der führt erst ein <code>emerge --sync</code> und anschließend ein <code>update-eix</code> aus.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">eix-sync
 * Running emerge --sync
&nbsp;
[...]
&nbsp;
 * Copying old /var/cache/eix cache to /var/cache/eix.previous
 * Running update-eix
Reading Portage settings ..
Building database (/var/cache/eix) ..
&nbsp;
[...]
&nbsp;
Database contains 13135 packages in 152 categories.
Diffing databases (13142 - 13135 packages)
[*&gt;]  == dev-ruby/mkrf (~0.2.3 -&gt; 0.2.3): mkrf is a library for generating Rakefiles, primarily intended for building C extentions for Ruby.
[&lt;]   == x11-themes/gtk-theme-switch (1.0.1-r2 2.0.0_rc2-r2 -&gt; 2.0.0_rc2-r2): Application for easy change of GTK-Themes
      &lt;&lt; x11-themes/gtk-engines-begtk (1.0.1-r2): GTK+1 BeGTK Theme Engine
[N]   &gt;&gt; dev-python/xlwt (~0.7.0): Python library to create spreadsheet files compatible with Excel</pre></div></div>

<p>eix-sync zeigt einem auch gleich eine kleine Übersicht an, welche Pakete neu in Portage sind und welche entfernt oder verändert wurden. </p>
<p><strong>Aber wie sucht man jetzt?</strong><br />
Ganz einfach, per <code>eix &lt;Paket&gt;</code>. Das ist natürlich noch nicht alles, eix bietet unzählige Optionen, diese werden im folgenden erklärt.</p>
<h2>Pakete suchen</h2>
<p>Eix bietet unzählige Möglichkeiten die Parameter der Suche zu verändern. Mehrere Suchausdrücke können kombiniert werden, jeder Suchausdruck kann auf bestimmte Felder (Lizenz, Name, Beschreibung, etc.) beschränkt und es können diverse Bedingungen (installiert, nicht installiert, maskiert, stabil, etc.) festgelegt werden.</p>
<p>Man kann zwischen 4 verschiedene Suchalgorithmen wählen. Mit <code>-e</code> bzw. <code>--exact</code> sucht eix nur noch nach dem exakten Suchausdruck, <code>eix -e kde</code> findet also nur noch das Paket kde, nicht jedoch kde-utils. Wenn man sich nicht sicher ist wie ein Paket geschrieben wird, kann eix versuchen über die <a href="http://de.wikipedia.org/wiki/Levenshtein-Distanz">Levenshtein-Distanz</a> Pakete mit ähnlichem Namen zu finden, dazu wird die Option <code>-f &lt;N&gt;</code> verwendet, N gibt dabei die maximale Distanz an, also wie viele Buchstaben anders sein dürfen. Mit <code>-p</code> bzw. <code>--pattern</code> sucht eix nach einem bestimmten Muster, mehr Informationen darüber stehen in der Manpage von glob (<code>man 7 glob</code>), wichtig hierbei ist das man das Muster in einzelne Anführungszeichen setzt, also &#8216;Muster&#8217;, damit die Shell das Muster nicht interpretiert. Wem Muster nicht reichen und wer lieber mit regulären Ausdrücken arbeitet der kann auch die Option <code>-r</code> bzw. <code>--regex</code> verwenden.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">eix <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span> amarock <span style="color: #666666; font-style: italic;"># Findet amarok, trotz des Rechtschreibfehlers</span>
eix <span style="color: #660033;">-p</span> <span style="color: #ff0000;">'??arok'</span> <span style="color: #666666; font-style: italic;"># Findet ebenfalls amarok, auch wenn man sich nicht mehr an die ersten beiden Buchstaben erinnert.</span>
eix <span style="color: #660033;">-r</span> <span style="color: #ff0000;">'^ama.*k$'</span> <span style="color: #666666; font-style: italic;"># Was fängt mit ama an und hört mit k auf? :-)</span></pre></div></div>

<p>Um mehrere Suchausdrücke zu kombinieren werden <code>-a</code> bzw. <code>--and</code> (und) und <code>-o</code> bzw. <code>--or</code> (oder) verwendet. Wenn mehrere Suchausdrücke angegeben werden, aber kein und/oder dazwischen steht wird automatisch abhängig von der Konfigurationsvariable DEFAULT_IS_OR entweder und oder oder eingesetzt. Die und/oder-Operatoren werden von links nach rechts ausgewertet, es ist nicht möglich die Ausdrücke in Klammern zu setzen o.Ä. Mit <code>--not</code> kann man einen Ausdruck negieren bzw. festlegen das der Ausdruck nicht zutreffen soll.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Findet Pakete in deren Namen &quot;kde&quot; und &quot;utils&quot; vorkommt.</span>
eix kde <span style="color: #660033;">-a</span> utils
<span style="color: #666666; font-style: italic;"># Findet Pakete in deren Namen &quot;virtualbox&quot; aber nicht &quot;ose&quot; vorkommt.</span>
eix virtualbox <span style="color: #660033;">-a</span> <span style="color: #660033;">--not</span> ose</pre></div></div>

<p>Nun können diverse Bedingungen festgelegt werden die ein Paket erfüllen muss um bei der Suche beachtet zu werden. Hier die (meiner Meinung nach) wichtigsten Bedingungen.</p>
<table border="0">
<tbody>
<tr>
<th>Bedingung</th>
<th>Beschreibung</th>
</tr>
<tr>
<td><code>-I, --installed</code></td>
<td>Die Pakete müssen installiert sein. Wichtig: Hierbei werden nur Pakete beachtet die sich auch in der Portage-Datenbank befinden. Wenn ein installiertes Paket nicht mehr in Portage enthalten ist kennt eix es nicht.</td>
</tr>
<tr>
<td><code>-i, --multi-installed</code></td>
<td>Die Pakete müssen mehrmals (in verschiedenen Versionen) installiert sein.</td>
</tr>
<tr>
<td><code>-d, --dup-packages</code></td>
<td>Listet nur Pakete auf die sowohl im offiziellen Portage-Baum als auch in einem Overlay vorhanden sind.</td>
</tr>
<tr>
<td><code>-D, --dup-versions</code></td>
<td>Listet nur Pakete auf von denen eine Version sowohl im offiziellen Portage-Baum als auch in einem Overlay vorhanden ist. (Es muss sich um die gleiche Version handeln, also z.B. KDE 4.1 sowohl im offiziellen Portage-Baum als auch in einem Overlay.)</td>
</tr>
<tr>
<td><code>-1, --slotted</code></td>
<td>Die Pakete müssen in einem Slot installiert werden. Hierbei ist egal ob ein Paket nur einen Slot hat oder mehrere, solange das Paket in einem Slot installiert wird.</td>
</tr>
<tr>
<td><code>-2, --slots</code></td>
<td>Die Pakete müssen über mehrere Slots verfügen.</td>
</tr>
<tr>
<td><code>-u, --upgrade</code></td>
<td>Nur Pakete zulassen für die es eine bessere Version gibt. (Das muss nicht unbedingt eine höhere Version sein)</td>
</tr>
<tr>
<td><code>--stable</code></td>
<td>Nur Pakete von denen es eine stabile Version gibt.</td>
</tr>
<tr>
<td><code>--testing</code></td>
<td>Nur Pakete von denen es eine unstabile (testing) oder stabile Version gibt.</td>
</tr>
<tr>
<td><code>--non-masked</code></td>
<td>Nur Pakete von denen es eine nicht maskierte Version gibt.</td>
</tr>
<tr>
<td><code>-O, --overlay</code></td>
<td>Nur Pakete von denen sich eine Version in einem Overlay befindet.</td>
</tr>
<tr>
<td><code>--in-overlay &lt;Overlay&gt;</code></td>
<td>Nur Pakete die sich in einem bestimmten Overlay befinden.</td>
</tr>
<tr>
<td><code>--fetch</code></td>
<td>Nur Pakete deren Installationsdateien nicht automatisch heruntergeladen werden können. (fetch-restriction)</td>
</tr>
</tbody>
</table>
<p>Es ist auch möglich eix nur bestimmte Felder durchsuchen zu lassen, beispielsweise nur den Namen des Pakets oder nur die Beschreibung.</p>
<table border="0">
<tbody>
<tr>
<th>Feld</th>
<th>Beschreibung</th>
</tr>
<tr>
<td><code>-s, --name</code></td>
<td>Der Name des Pakets</td>
</tr>
<tr>
<td><code>-S, --description</code></td>
<td>Die Beschreibung des Pakets.</td>
</tr>
<tr>
<td><code>-C, --category</code></td>
<td>Die Kategorie des Pakets.</td>
</tr>
<tr>
<td><code>-A, --category-name</code></td>
<td>Die Kategorie und der Name des Pakets</td>
</tr>
<tr>
<td><code>-H, --homepage</code></td>
<td>Die Webseite des Pakets</td>
</tr>
<tr>
<td><code>-L, --license</code></td>
<td>Die Lizenz des Pakets</td>
</tr>
<tr>
<td><code>-P, --provide</code></td>
<td>Was das Paket bereitstellt, also z.B. virtual/cron</td>
</tr>
</tbody>
</table>
<h2>Die Ausgabe</h2>
<p>Die Ausgabe von eix lässt sich noch durch einige Zusatzoptionen beeinflussen. So kann beispielsweise mit <code>-c</code> (<code>--compact</code>) die Ausgabe auf eine Zeile pro Paket beschränkt werden, mittels <code>-v</code> bzw. <code>--verbose</code> hingegen werden alle verfügbaren Informationen angezeigt. Das sieht dann so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">eix -ve gcc
* sys-devel/gcc
     Available versions:
        (2.95)  *2.95.3-r9 ~*2.95.3-r10
        (3.1)   *3.1.1-r2
        (3.2)   **3.2.2 *3.2.3-r4
        (3.3)   ~3.3.6-r1
        (3.4)   3.4.6-r2
        (4.0)   ~*4.0.4
        (4.1)   ~4.1.0-r1 4.1.2
        (4.2)   ~4.2.3 ~4.2.4
        (4.3)   **4.3.0 ~4.3.1 ~4.3.1-r1 ~4.3.2
        {altivec bootstrap boundschecking build d doc fixed-point fortran gcj gtk hardened ip28 ip32r10k java libffi mudflap multilib multislot n32 n64 nls nocxx nopie nossp objc objc++ objc-gc openmp static test vanilla}
     Installed versions:  Version: 4.1.2(4.1)
                          Date:    18:38:09 10/20/08
                          USE:     fortran gtk mudflap multilib nls -altivec -bootstrap -build -d -doc -gcj -hardened -ip28 -ip32r10k -libffi -multislot -n32 -n64 -nocxx -objc -objc++ -objc-gc -test -vanilla
                          Version: 4.2.4(4.2)
                          Date:    16:33:30 10/17/08
                          USE:     fortran gtk mudflap multilib nls openmp -altivec -bootstrap -build -doc -gcj -hardened -ip28 -ip32r10k -libffi -multislot -n32 -n64 -nocxx -objc-objc++ -objc-gc -test -vanilla
                          Version: 4.3.1-r1(4.3)
                          Date:    16:33:31 10/17/08
                          USE:     fortran mudflap multilib nls openmp -altivec -bootstrap -build -doc -gcj -gtk -hardened -ip28 -ip32r10k -libffi -multislot -n32 -n64 -nocxx -objc -objc++ -objc-gc -test -vanilla
     Best versions/slot:  3.4.6-r2 4.1.2
     Recommendation:      Downgrade
     Package sets:        system
     Homepage:            http://gcc.gnu.org/
     Description:         The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking
     License:             GPL-2 LGPL-2.1</pre></div></div>

<p>Es wird sogar angezeigt wann man eine bestimmte Version des Pakets installiert hat, und ob Portage eine Aktualisierung bzw. wie in diesem Fall ein Downgrade empfiehlt. </p>
<p>Diese kleine Anleitung deckt keinesfalls alles ab was eix kann. Wer noch mehr wissen möchte sollte die Manpage von eix lesen (<code>man 1 eix</code>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antusblog.de/2008/12/20/pakete-suchen-mit-eix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>emerge &#8211;jobs</title>
		<link>http://www.antusblog.de/2008/10/19/emerge-jobs/</link>
		<comments>http://www.antusblog.de/2008/10/19/emerge-jobs/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 21:03:03 +0000</pubDate>
		<dc:creator>Antu</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[emerge]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://antu.bplaced.net/?p=54</guid>
		<description><![CDATA[Ich hab vorhin eine neue, sehr praktische Funktion in der Manpage von emerge entdeckt. Man kann mit --jobs &#60;Jobs&#62; bzw. -j &#60;Jobs&#62; angeben wieviele Pakete gleichzeitig emergt werden sollen. Praktisch, grade bei Mehrkernprozessoren, da es ja durchaus einige Pakete gibt die mit mehreren gleichzeitigen Kompilationsprozessen nicht klar kommen (MAKEOPTS="-j&#60;Anzahl&#62;"). So kann man den Emerge-Prozess dann [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://antusblog.de/wp-content/uploads/2008/10/emerge_jobs.png"><img class="aligncenter size-full wp-image-56" title="emerge --jobs" src="http://antusblog.de/wp-content/uploads/2008/10/emerge_jobs.png" alt="emerge --jobs" width="564" height="256" /></a></p>
<p>Ich hab vorhin eine neue, sehr praktische Funktion in der Manpage von emerge entdeckt. Man kann mit <code>--jobs &lt;Jobs&gt;</code> bzw. <code>-j &lt;Jobs&gt;</code> angeben wieviele Pakete gleichzeitig emergt werden sollen. Praktisch, grade bei Mehrkernprozessoren, da es ja durchaus einige Pakete gibt die mit mehreren gleichzeitigen Kompilationsprozessen nicht klar kommen (<code>MAKEOPTS="-j&lt;Anzahl&gt;"</code>). So kann man den Emerge-Prozess dann trotzdem beschleunigen. <img src='http://www.antusblog.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.antusblog.de/2008/10/19/emerge-jobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

