<?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>guzik &#187; Linux</title>
	<atom:link href="http://guzik.net.pl/blog/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://guzik.net.pl/blog</link>
	<description>Mój blog</description>
	<lastBuildDate>Wed, 23 May 2012 21:15:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Oracle 11gR2 na SUSE Linux Enterprise Server 11.1</title>
		<link>http://guzik.net.pl/blog/2012/05/oracle-11gr2-na-suse-linux-enterprise-server-11-1/</link>
		<comments>http://guzik.net.pl/blog/2012/05/oracle-11gr2-na-suse-linux-enterprise-server-11-1/#comments</comments>
		<pubDate>Sun, 13 May 2012 20:27:24 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[DB]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SuSE]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=3815</guid>
		<description><![CDATA[W sieci jest mnóstwo ściąg jak zainstalować Oracle 11gR2 na SLES 11, nawet na stronie Novell, ale instalacja/aktualizacja 11.2.0.2 wygląda trochę inaczej. Mianowicie przy wyborze grupy systemowej (dla SYSDBA i SYSOPER) mamy na liście disk, oinstall i dba. Niezależnie od tego co wybierzemy instalator sprawdza istnienie wszystkich tych grup w systemie (11.2.0.1 tak nie miał). [...]]]></description>
			<content:encoded><![CDATA[<p>W sieci jest mnóstwo ściąg jak zainstalować Oracle 11gR2 na SLES 11, nawet <a href="http://ftp.novell.com/partners/oracle/docs/11gR2_sles11_install.pdf">na stronie Novell</a>, ale instalacja/aktualizacja 11.2.0.2 wygląda trochę inaczej. Mianowicie przy wyborze grupy systemowej (dla SYSDBA i SYSOPER) mamy na liście <code>disk</code>, <code>oinstall</code> i <code>dba</code>. Niezależnie od tego co wybierzemy instalator sprawdza istnienie wszystkich tych grup w systemie (11.2.0.1 tak nie miał). Jeśli którejś nie znajdzie, zwraca błąd <code>INS-30060</code>.</p>
<p><a href="http://guzik.net.pl/blog/wp-content/uploads/2012/05/sles11ora11202.png"><img src="http://guzik.net.pl/blog/wp-content/uploads/2012/05/sles11ora11202-300x234.png" alt="" title="sles11ora11202" width="300" height="234" class="aligncenter size-medium wp-image-3816" /></a><br />
<span id="more-3815"></span><br />
Pytanie brzmi &#8222;<em>Are yuo sure you want to continue?</em>&#8222;, ale niestety odpowiedź &#8222;<em>Yes</em>&#8221; nie oznacza, że uda nam się przejść dalej. Po prostu instalator się zamyka.</p>
<p>Żeby było jasne &#8211; za pomocą pakietu orarun przygotowałem wcześniej system. Ale nawet te programy/skrypty nie dodają grupy <code>dba</code>.</p>
<p>Obejściem problemu jest uruchomienie instalatora z parametrem <code>-ignoreInternalDriverError</code>. Rozwiązaniem &#8211; dodanie przed instalacją grupy dba w systemie i dorzucenie do niej użytkownika, z którego prawami działać będzie baza (zazwyczaj oracle).</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2012/05/oracle-11gr2-na-suse-linux-enterprise-server-11-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Enterprise Linux 5.5 na Fujitsu PRIMERGY RX200 S7</title>
		<link>http://guzik.net.pl/blog/2012/05/oracle-enterprise-linux-5-5-na-fujitsu-primergy-rx200-s7/</link>
		<comments>http://guzik.net.pl/blog/2012/05/oracle-enterprise-linux-5-5-na-fujitsu-primergy-rx200-s7/#comments</comments>
		<pubDate>Sat, 12 May 2012 20:27:13 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Fujitsu]]></category>
		<category><![CDATA[OEL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[RHEL]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=3808</guid>
		<description><![CDATA[Ta wersja systemu musi być i już. Cała instalacja przebiega pomyślnie z małym wyjątkiem &#8211; nie działa sieć. W przypadku serwera ma to duże znaczenie :/ Interfejsy rozpoznawane są jako: Ethernet controller: Intel Corporation Unknown device 1521 (rev 01) W zasadzie większość urządzeń to &#8222;Unknown device&#8221; Moje rozwiązanie problemu: Na innej maszynie z tym samym [...]]]></description>
			<content:encoded><![CDATA[<p>Ta wersja systemu musi być i już.<br />
Cała instalacja przebiega pomyślnie z małym wyjątkiem &#8211; nie działa sieć. W przypadku serwera ma to duże znaczenie :/<br />
Interfejsy rozpoznawane są jako:</p>
<blockquote><p><code>Ethernet controller: Intel Corporation Unknown device 1521 (rev 01)</code></p></blockquote>
<p>W zasadzie większość urządzeń to &#8222;Unknown device&#8221;<br />
<a href="http://guzik.net.pl/blog/wp-content/uploads/2012/05/rhel55rx200s7.png"><img src="http://guzik.net.pl/blog/wp-content/uploads/2012/05/rhel55rx200s7-300x225.png" alt="" title="rhel55rx200s7" width="300" height="225" class="aligncenter size-medium wp-image-3811" /></a><br />
Moje rozwiązanie problemu: <span id="more-3808"></span>Na innej maszynie z tym samym systemem ściągnąłem aktualizację jądra (miałem ten komfort, że taką maszynę mam; choć z drugiej strony, gdybym nie miał, nie było by wymogu instalacji właśnie tej wersji systemu). W domyślnej instalacji jest jądro 2.6.18-194.el5.</p>
<p>Żeby tylko ściągnąć paczkę za pomoca yum potrzebny jest dodatek <code>yum-downloadonly</code>:</p>
<blockquote><p><code>yum install yum-downloadonly</code></p></blockquote>
<p>Dzięki tej wtyczce możemy użyć dodatkowych opcji do yum:</p>
<ul>
<li><code>--downloadonly</code> &#8211; nie instaluj/aktualizuj, jedynie pobierz,</li>
<li><code>--downloaddir=/path/to/dir</code> &#8211; określa gdzie trafią pobrane paczki (domyślnie <code>/var/cache/yum/el5_latest</code> &#8211; ten ostatni katalog w zależności od ustawionego repozytorium)</li>
</ul>
<p>Po instalacji wtyczki pobrałem paczkę z jądrem (na chwilę obecną <code>kernel-2.6.18-308.1.1.0.1.el5.x86_64.rpm</code>):</p>
<blockquote><p><code>yum update --downloadonly kernel</code></p></blockquote>
<p>Przeniosłem ją na docelową maszynę za pomocą pamięci flash, zaktualizowałem za pomocą <code>rpm -Uvh</code> (2.6.18-308.4.1.0.1.el5) i od tego czasu cieszę się działającą siecia :-)<br />
Aczkolwiek z poprawną identyfikacją nadal jest problem:</p>
<blockquote><p><code>Ethernet controller: Intel Corporation Device 1521</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2012/05/oracle-enterprise-linux-5-5-na-fujitsu-primergy-rx200-s7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Numeromania</title>
		<link>http://guzik.net.pl/blog/2011/08/numeromania/</link>
		<comments>http://guzik.net.pl/blog/2011/08/numeromania/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 21:58:35 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=3225</guid>
		<description><![CDATA[Jakoś tak wyszło (późno) przez ten urlop&#8230; A OpenBSD 5.0 beta nadal nie mam :/]]></description>
			<content:encoded><![CDATA[<p><a href="http://guzik.net.pl/blog/wp-content/uploads/2011/08/linux3.png"><img class="aligncenter size-medium wp-image-3226" title="linux3" src="http://guzik.net.pl/blog/wp-content/uploads/2011/08/linux3-300x66.png" alt="" width="300" height="66" /></a><br />
Jakoś tak wyszło (późno) przez ten urlop&#8230;</p>
<p>A <a href="http://guzik.net.pl/blog/2011/07/openbsd-5-0/">OpenBSD 5.0</a> beta nadal nie mam :/</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/08/numeromania/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Brak miejsca, by zwiększyć dostępne miejsce</title>
		<link>http://guzik.net.pl/blog/2011/07/brak-miejsca-by-zwiekszyc-dostepne-miejsce/</link>
		<comments>http://guzik.net.pl/blog/2011/07/brak-miejsca-by-zwiekszyc-dostepne-miejsce/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 20:33:54 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[LVM]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=3068</guid>
		<description><![CDATA[Pewnego razu w piwnicy&#8230; localhost ~ # df -h Filesystem            Size  Used Avail Use% Mounted on rootfs                 63G   63G     0 100% / /dev/VG1/root          63G   63G     0 100% / Auć! Brak miejsca. Na szczęście jest LVM, damy radę! localhost ~ # lvresize -L +32G VG1/root Extending logical volume root to 96.00 GiB /etc/lvm/backup/VG1.tmp: write error failed: [...]]]></description>
			<content:encoded><![CDATA[<p>Pewnego razu w piwnicy&#8230;</p>
<blockquote><p><code>localhost ~ # df -h<br />
Filesystem            Size  Used Avail Use% Mounted on<br />
rootfs                 63G   63G     0 100% /<br />
/dev/VG1/root          63G   63G     0 100% /</code></p></blockquote>
<p>Auć! Brak miejsca. Na szczęście jest LVM, damy radę! <span id="more-3068"></span></p>
<blockquote><p><code>localhost ~ # lvresize -L +32G VG1/root<br />
Extending logical volume root to 96.00 GiB<br />
/etc/lvm/backup/VG1.tmp: <strong>write error failed: No space left on device</strong><br />
Backup of volume group VG1 metadata failed.<br />
Logical volume root successfully resized<br />
/etc/lvm/cache/.cache.tmp: <strong>write error failed: No space left on device</strong></code></p></blockquote>
<p>To, że nie ma miejsca, to wiem. Właśnie próbuję rozwiązać ten problem.<br />
A co z wolumenem?</p>
<blockquote><p><code>localhost ~ # lvdisplay<br />
--- Logical volume ---<br />
LV Name                /dev/VG1/root<br />
VG Name                VG1<br />
LV UUID                lXGuyU-X31a-FFLK-wrAg-Uhm6-civD-HEqQzo<br />
LV Write Access        read/write<br />
LV Status              available<br />
# open                 1<br />
LV Size                96.00 GiB<br />
Current LE             24576<br />
Segments               1<br />
Allocation             inherit<br />
Read ahead sectors     auto<br />
- currently set to     256<br />
Block device           254:0</code></p>
<p><code> </code><code>/etc/lvm/cache/.cache.tmp: <strong>write error failed: No space left on device</strong></code></p></blockquote>
<p>Znów problem braku miejsca przy wyświetlaniu informacji? Tylko spokój może nas uratować!</p>
<p>Pod koniec zeszłego roku, na ostatnim z MLUGów mówiłem o LVM. Z racji ograniczeń czasowych i podstawowego poziomu przedstawienia tematu nie można było o wszystkim powiedzieć. A zauważyłem na forach, że problem z miejscem, który powyżej przytoczyłem zdarza się od czasu do czasu.<br />
Otóż, komunikat dotyczy <span style="text-decoration: underline;"><code>systemu plików</code>,</span> nie LVM. Ale to LVM go zgłasza, bo próbuje zapisać swoje informacje w <code>/etc/lvm/cache/.cache</code> (jest to plik tekstowy, można go przestudiować, ale nie polecam ręcznej edycji!). W gruncie rzeczy może go nie być czy jak w tym przypadku może się nie zapisać. Straty nie będzie. Wprawdzie niektóre narzędzia z niego korzystają dla przyspieszenia, ale da się go odtworzyć na podstawie istniejących wolumenów.<br />
Po zwiększeniu systemu plików (w moim przypadku <code>resize2fs</code>), przy kolejnym wywołaniu <code>vgscan</code> (ręcznie lub przy restarcie systemu), plik zostanie zapisany z aktualnymi informacjami.<br />
Zmiany w pliku są robione &#8216;z głową&#8217; &#8211; czyli pierw kopiowany jest do <code>/etc/lvm/cache/.cache.tmp</code>, a dopiero potem zmieniany. I właśnie w przypadku braku miejsca w systemie plików ta kopia nie zostanie zapisana.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/07/brak-miejsca-by-zwiekszyc-dostepne-miejsce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Przeszukiwanie SCSI</title>
		<link>http://guzik.net.pl/blog/2011/05/przeszukiwanie-scsi/</link>
		<comments>http://guzik.net.pl/blog/2011/05/przeszukiwanie-scsi/#comments</comments>
		<pubDate>Wed, 11 May 2011 15:25:19 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[FC]]></category>
		<category><![CDATA[Fibre Channel]]></category>
		<category><![CDATA[SCSI]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=2928</guid>
		<description><![CDATA[Czasami w rozrastających się w niekontrolowany sposób sieciach lub po wejściu w nowe środowisko gubimy się w połączeniach. Zdecydowanie dobrze w takich sytuacjach zapoznać się z dokumentacją / schematami sieci. Jeśli takowych nie ma &#8211; zacząć ją tworzyć. To naprawdę pomaga. Wystarczy ołówek i kartka papieru, ew. Dia, Visio czy jakiekolwiek inne narzędzie informatyczne usprawniające [...]]]></description>
			<content:encoded><![CDATA[<p>Czasami w rozrastających się w niekontrolowany sposób sieciach lub po wejściu w nowe środowisko gubimy się w połączeniach. Zdecydowanie dobrze w takich sytuacjach zapoznać się z dokumentacją / schematami sieci. Jeśli takowych nie ma &#8211; zacząć ją tworzyć. To naprawdę pomaga. Wystarczy ołówek i kartka papieru, ew. Dia, Visio czy jakiekolwiek inne narzędzie informatyczne usprawniające ten proces. Zbyt ładne to i kolorowe dla prawdziwego BOFH? Mimo to zachęcam &#8211; ułatwcie sobie życie i innym.</p>
<p>Poniżej dwa odnośniki z krótkimi informacjami jak znaleźć nowe urządzenia SCSI i ich WWN. Można od tego zacząć inwentaryzację.</p>
<ul>
<li><a href="http://asksysadmin.com/index.php/linux/scanning-scsi-bus-and-hba-devices-in-linux/">Scanning SCSI Bus and HBA Devices in Linux</a></li>
<li><a href="http://www.cyberciti.biz/faq/linux-find-fibre-channel-device-information/">Linux Find FC ID (WWN) of a disk/LUN</a></li>
</ul>
<p>Dla kart QLogic i Emulex WWPN można znaleźć w informacjach z <code>/proc/scsi/&lt;moduł&gt;/&lt;id&gt;</code>, np. dla Qlogic QLA2312 może być to <code>/proc/scsi/qla2xxx/2</code> i sekcja <code>SCSI Device Information</code>.<br />
A jeśli używamy sysfs, to szukać musimy w np. <code>/sys/class/scsi_host/host5/device/fc_host\:host5/port_name</code></p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/05/przeszukiwanie-scsi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linux &amp; Wi-Fi &#8211; tym razem mPCIe</title>
		<link>http://guzik.net.pl/blog/2011/05/linux-wi-fi-tym-razem-mpcie/</link>
		<comments>http://guzik.net.pl/blog/2011/05/linux-wi-fi-tym-razem-mpcie/#comments</comments>
		<pubDate>Thu, 05 May 2011 21:48:35 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[3945ABG]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[Realtek]]></category>
		<category><![CDATA[RTL8187SE]]></category>
		<category><![CDATA[WiFI]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=2875</guid>
		<description><![CDATA[Po testach kart na USB wziąłem się za miniPCI express. Pierwsza to Intel 3945ABG: 02:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02) Subsystem: Intel Corporation Device 1021 Flags: bus master, fast devsel, latency 0, IRQ 46 Memory at dfc00000 (32-bit, non-prefetchable) [size=4K] Capabilities: [c8] Power Management version 2 Capabilities: [d0] MSI: [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.intel.com/products/wireless/prowireless_mobile.htm"><img class="alignright" src="http://www.intel.com/products/wireless/pix/ProWirless3945ABG.jpg" alt="" width="75" height="128" /></a><a href="http://guzik.net.pl/blog/2010/10/linux-wi-fi/">Po testach kart na USB</a> wziąłem się za miniPCI express.</p>
<p>Pierwsza to <a href="http://www.intel.com/products/wireless/prowireless_mobile.htm">Intel 3945ABG</a>:</p>
<blockquote><p><code>02:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)<br />
Subsystem: Intel Corporation Device 1021<br />
Flags: bus master, fast devsel, latency 0, IRQ 46<br />
Memory at dfc00000 (32-bit, non-prefetchable) [size=4K]<br />
Capabilities: [c8] Power Management version 2<br />
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+<br />
Capabilities: [e0] Express Legacy Endpoint, MSI 00<br />
Capabilities: [100] Advanced Error Reporting<br />
Capabilities: [140] Device Serial Number 00-18-de-ff-ff-94-de-77<br />
Kernel driver in use: iwl3945<br />
Kernel modules: iwl3945</code></p></blockquote>
<p><span id="more-2875"></span><br />
Druga &#8211; Realtek RTL8187SE (chyba MSI)</p>
<blockquote><p><code>02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8187SE Wireless LAN Controller (rev 22)<br />
Subsystem: Micro-Star International Co., Ltd. Device 6894<br />
Flags: bus master, fast devsel, latency 0, IRQ 17<br />
I/O ports at d000 [size=256]<br />
Memory at dfc00000 (32-bit, non-prefetchable) [size=16K]<br />
Capabilities: [40] Power Management version 3<br />
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+<br />
Capabilities: [70] Express Legacy Endpoint, MSI 00<br />
Capabilities: [100] Advanced Error Reporting<br />
Capabilities: [140] Virtual Channel <!--?--><br />
Capabilities: [160] Device Serial Number 00-00-8e-93-c9-92-1d-00<br />
Kernel driver in use: r8180<br />
Kernel modules: r8187se</code></p></blockquote>
<p>Najświeższe jądro (gentoo-sources). Tą drugą obsługuje mocno eksperymentalny moduł (w <em>staging drivers</em> od 2.6.29).</p>
<p><em>Firmware</em> dla karty Intel&#8217;a do ściągnięcia z:</p>
<ul>
<li><a href="http://intellinuxwireless.org/?n=Downloads">Intel Wireless</a></li>
</ul>
<p>Do Realtek&#8217;a nie pamiętam czy coś pobierałem, a maszyna z tą kartą gdzieś mi się zawieruszyła pod biurkiem :&gt; Niemniej polecam odwiedzić:</p>
<ul>
<li><a href="http://wireless.kernel.org/en/users/Drivers/rtl8187">Linux Wireless: rtl8187</a></li>
<li><a href="http://rtl-wifi.sourceforge.net/wiki/Main_Page">Realtek Linux wireless driver</a></li>
</ul>
<p>W kolejce na biurku czekają jeszcze (opisy sprzedawców z Allegro):</p>
<ul>
<li>Broadcom WIFI DO HP COMPAQ MiniPCI-E WLAN 54Mbit</li>
<li>INTEL 5300 Wireless LAN Half Mini PCI-E 533AN_HMW</li>
<li>Half Mini Pci-e WLAN Card For Intel 512AN WiFi 300</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/05/linux-wi-fi-tym-razem-mpcie/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gentoo: własne poprawki oprogramowania</title>
		<link>http://guzik.net.pl/blog/2011/03/gentoo-wlasne-poprawki-oprogramowania/</link>
		<comments>http://guzik.net.pl/blog/2011/03/gentoo-wlasne-poprawki-oprogramowania/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 22:18:27 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=2801</guid>
		<description><![CDATA[Niniejszym wpisem chciałbym pokazać w jaki sposób samodzielnie dodać poprawki do oprogramowania (z drzewa portage) i nie nadpisać ich w czasie kolejnej synchronizacji. Wszystko na przykładzie zmian do dhcpcd &#8211; czyli niejako dwie pieczenie na jednym ogniu. Zacznę od dhcpcd, o którym pisałem wcześniej w kontekście ipv4ll (aka. zeroconf). Aktualna wersja dostępna dla Gentoo &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.gentoo.org/"><img class="alignleft" src="http://www.gentoo.org/images/gentoo-logo.svg" alt="" width="214" height="224" /></a>Niniejszym wpisem chciałbym pokazać w jaki sposób samodzielnie dodać poprawki do oprogramowania (z drzewa <em>portage</em>) i nie nadpisać ich w czasie kolejnej synchronizacji. Wszystko na przykładzie zmian do dhcpcd &#8211; czyli niejako dwie pieczenie na jednym ogniu.</p>
<p>Zacznę od dhcpcd, o którym <a href="http://guzik.net.pl/blog/2010/09/siec-dhcp-vs-apipa/">pisałem wcześniej w kontekście ipv4ll</a> (aka. zeroconf). Aktualna wersja dostępna dla Gentoo &#8211; 5.2.10 nie wspiera opcji <code>timeout</code> dla interfejsu, jedynie globalnie (definiowane w <code>dhcpcd.conf</code>). Po <a href="http://roy.marples.name/archives/dhcpcd-discuss/2011/0318.html">dyskusji z Royem Marples</a> <a href="http://roy.marples.name/projects/dhcpcd/changeset/142fb0b299acdc7011347e8309c0333e43907ee4">zostało to poprawione</a>, jednakże zanim trafi do stabilnej wersji, a ta do drzewa <em>portage</em>, trochę czasu minie.<br />
<span id="more-2801"></span><br />
Poprawki mamy, możemy więc skompilować oprogramowanie ze źródeł, zainstalować na miejsce aktualnego i używać do czasu aktualizacji. Można też &#8211; bardziej elegancko, przygotować własny <em>ebuild</em> i zaktualizować program korzystając z emerge. W przypadku wspomnianego <code>net-misc/dhcpcd</code> poprawka może wyglądać tak (zmiana <code>src_unpack</code>) w pliku ebuild, który dla czytelności możemy oznaczyć kolejnym numerkiem, np. <code>dhcpcd-5.2.11-r1.ebuild</code>):</p>
<blockquote><p><code>src_unpack() {<br />
unpack ${A}<br />
cd "${S}"</code></p>
<p><code>if ! use zeroconf; then<br />
elog "Disabling zeroconf support"<br />
{<br />
echo<br />
echo "# dhcpcd ebuild requested no zeroconf"<br />
echo "noipv4ll"<br />
} &gt;&gt; dhcpcd.conf<br />
fi</code></p>
<p><code># patches go here...</code><br />
<code>epatch "${FILESDIR}"/dhcpcd-5.2.11-tmout.diff<br />
}<br />
</code></p></blockquote>
<p>A plik <code>dhcpcd-5.2.11-tmout.diff</code> może mieć taką postać:</p>
<blockquote><p><code>--- /tmp/dhcpcd-5.2.11/dhcpcd.c 2011-02-04 15:56:03.000000000 +0100<br />
+++ /tmp/dhcpcd.c       2011-03-30 09:02:44.000000000 +0200<br />
@@ -2011,17 +2011,20 @@ main(int argc, char **argv)<br />
}<br />
}<br />
}<br />
+               if (options &amp; DHCPCD_MASTER)<br />
+                       i = if_options-&gt;timeout;<br />
+               else<br />
+                       i = ifaces-&gt;state-&gt;options-&gt;timeout;<br />
if (opt == 0 &amp;&amp;<br />
options &amp; DHCPCD_LINK &amp;&amp;<br />
!(options &amp; DHCPCD_WAITIP))<br />
{<br />
syslog(LOG_WARNING, "no interfaces have a carrier");<br />
daemonise();<br />
-               } else if (if_options-&gt;timeout &gt; 0) {<br />
+               } else if (i &gt; 0) {<br />
if (options &amp; DHCPCD_IPV4LL)<br />
options |= DHCPCD_TIMEOUT_IPV4LL;<br />
-                       add_timeout_sec(if_options-&gt;timeout,<br />
-                           handle_exit_timeout, NULL);<br />
+                       add_timeout_sec(i, handle_exit_timeout, NULL);<br />
}<br />
}<br />
free_options(if_options);<br />
</code></p></blockquote>
<p>Pliki można ściągnąć z <a href="http://bugs.gentoo.org/show_bug.cgi?id=361233">mojego zgłoszenia w Gentoo&#8217;s Bugzilla</a>.</p>
<p>Jeśli zostawimy to wszystko w oryginalnych katalogach (w <code>/usr/portage</code>) podczas kolejnej synchronizacji zostanie usunięte. Jeżeli więc poprawki nie mają charakteru okazjonalnego, możemy zabezpieczyć się kopiując wybraną gałąź drzewa w osobne miejsce i konfigurując zmienna <code>PORTDIR_OVERLAY</code> w <code>/etc/make.conf</code> (musi wskazywać na nasze drzewo). Pamiętać należy, że struktura naszego własnego drzewa musi być podobna do oryginalnego.</p>
<blockquote><p><code>localhost ~ # mkdir -p /usr/local/portage/net-misc<br />
localhost ~ # cp -rp /usr/portage/net-misc/dhcpcd /usr/local/portage/net-misc/<br />
localhost ~ # echo "PORTDIR_OVERLAY=\"/root/portage\"" &gt;&gt; /etc/make.conf</code></p></blockquote>
<p>Po takim zabiegu widać będzie już nasze własne drzewo przy kompilacji pakietu:</p>
<blockquote><p><code>localhost ~ # emerge -pv net-misc/dhcpcd</code></p>
<p><code>These are the packages that would be merged, in order:</code><br />
<code>Calculating dependencies... done!<br />
[ebuild  N    ] net-misc/dhcpcd-5.2.10-r3  USE="zeroconf" 0 kB [1]</code></p>
<p><code>Total: 1 package (1 new), Size of downloads: 0 kB<br />
Portage tree and overlays:<br />
[0] /usr/portage<br />
[1] /usr/local/portage</code></p></blockquote>
<p>W przypadku aktualizacji wygląda to tak:</p>
<blockquote><p><code>localhost dhcpcd # emerge -pv net-misc/dhcpcd</code></p>
<p><code>These are the packages that would be merged, in order:</code></p>
<p><code>Calculating dependencies... done!<br />
[ebuild     U ] net-misc/dhcpcd-5.2.10-r3 [5.2.10-r2] USE="zeroconf" 0 kB [0=&gt;1]</code></p>
<p><code>Total: 1 package (1 upgrade), Size of downloads: 0 kB<br />
Portage tree and overlays:<br />
[0] /usr/portage<br />
[1] /root/portage</code></p></blockquote>
<p>Przeczytaj więcej:</p>
<ul>
<li>HOWTO: Installing 3rd Party Ebuilds [http://www.gentoo-wiki.info/HOWTO_Installing_3rd_Party_Ebuilds]</li>
<li>Ebuild HOWTO [http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&amp;chap=1]</li>
<li>HOWTO: Local Rsync Mirror http://www.gentoo-wiki.info/HOWTO_Local_Rsync_Mirror</li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/03/gentoo-wlasne-poprawki-oprogramowania/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aktualizacja Gentoo (nie taka zwyczajna)</title>
		<link>http://guzik.net.pl/blog/2011/03/aktualizacja-gentoo-nie-taka-zwyczajna/</link>
		<comments>http://guzik.net.pl/blog/2011/03/aktualizacja-gentoo-nie-taka-zwyczajna/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 20:54:09 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=2789</guid>
		<description><![CDATA[Q: Czy trudno zaktualizować Gentoo? A: W zasadzie to nie, wystarczy synchronizacja drzewa portage (emerge --sync), sprawdzenie co się zmieniło (emerge -pvuND world) i wybranie pakietów, które nas interesują do aktualizacji (emerge -u &#60;pakiet&#62;). Q: A co jeśli nie robimy tego na bieżąco? A: No może być różnica w EAPI (Ebuild Application Programming Interface), ale [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.gentoo.org/"><img class="alignright" src="http://www.gentoo.org/images/gentoo-logo.svg" alt="" width="214" height="224" /></a>Q: <strong>Czy trudno zaktualizować Gentoo?</strong><br />
A: W zasadzie to nie, wystarczy synchronizacja drzewa <em>portage</em> (<code>emerge --sync</code>), sprawdzenie co się zmieniło (<code>emerge -pvuND world</code>) i wybranie pakietów, które nas interesują do aktualizacji (<code>emerge -u &lt;pakiet&gt;</code>).</p>
<p>Q: <strong>A co jeśli nie robimy tego na bieżąco?</strong><br />
A: No może być różnica w EAPI (<em>Ebuild Application Programming Interface</em>), ale zazwyczaj aktualizacja sys-apps/portage wcześniej rozwiąże sprawę.</p>
<p>Q: <strong>A co jeśli nie aktualizowaliśmy dość długo?</strong><br />
A: Jak wyżej. W przypadku problemów można spróbować przebudować sys-apps/portage bez zależności (<code>emerge --nodep portage</code>), to samo zrobić z dev-lang/python, a następnie przebudować &#8216;normalnie&#8217; oba te pakiety.</p>
<p>Q: <strong>A co jeśli bardzo, bardzo mocno zapuściliśmy nasz system?</strong><span id="more-2789"></span><br />
A: Huh. Czeka nas droga przez mękę. Zadajmy sobie pytanie czy w ogóle chcemy to robić. Jeśli to system wewnętrzny, może warto kierować się zasadą g&#8230; (jak działa i nie śmierdzi, to nie ruszaj)? Gorzej jak chcemy coś doinstalować, źródeł starych wersji nie ma, drzewo aktualne wymaga EAPI &gt;= 3. Wtedy wyglądać to może tak:</p>
<blockquote><p><code>dolly ~ # cat /etc/gentoo-release<br />
Gentoo Base System release 1.12.9<br />
dolly ~ # uname -a<br />
Linux dolly 2.6.20-gentoo #1 PREEMPT Thu Feb 8 10:12:04 CET 2007 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux<br />
dolly ~ # emerge --info<br />
Portage 2.1.2-r9 (default/linux/x86/10.0, gcc-4.1.2, glibc-2.5-r0, 2.6.20-gentoo i686)<br />
=================================================================<br />
System uname: 2.6.20-gentoo i686 Pentium III (Coppermine)<br />
Gentoo Base System release 1.12.9<br />
dolly ~ # python -V<br />
Python 2.4.3</code></p></blockquote>
<p>No cóż. Ja ciągle wierzę, że da się z tego wybrnąć (choć walczę już dość długo). Po pierwsze profil, który był kiedyś już dawno jest zapomniany.</p>
<blockquote><p><code>dolly ~ # eselect profile list<br />
Available profile symlink targets:<br />
[1]   default/linux/x86/10.0 *<br />
dolly ~ # emerge portage<br />
Calculating dependencies \<br />
!!! All ebuilds that could satisfy "portage" have been masked.<br />
!!! One of the following masked packages is required to complete your request:<br />
- sys-apps/portage-2.1.6.7 (masked by: profile)<br />
- sys-apps/portage-9999 (masked by: required EAPI 2, supported EAPI 0)<br />
- sys-apps/portage-2.1.8.3 (masked by: required EAPI 2, supported EAPI 0)<br />
- sys-apps/portage-2.2.0_alpha26 (masked by: required EAPI 2, supported EAPI 0)<br />
- sys-apps/portage-2.1.9.25 (masked by: required EAPI 2, supported EAPI 0)<br />
- sys-apps/portage-2.1.6.13 (masked by: required EAPI 1, supported EAPI 0)<br />
- sys-apps/portage-2.1.9.42 (masked by: required EAPI 2, supported EAPI 0)<br />
For more information, see MASKED PACKAGES section in the emerge man page or<br />
refer to the Gentoo Handbook.<br />
</code></p></blockquote>
<p>Spróbujmy zatem innego (to da się zrobić tylko ręcznie):</p>
<blockquote><p><code>dolly ~ # rm /etc/make.profile<br />
dolly ~ # ln -s /usr/portage/profiles/default/linux/x86/2008.0 /etc/make.profile<br />
dolly ~ # emerge -pv portage<br />
!!! Your current profile is deprecated and not supported anymore.<br />
!!! Please upgrade to the following profile if possible:<br />
default/linux/x86/10.0<br />
To upgrade do the following steps:<br />
# Check 'eselect profile list'.<br />
# Find the number that corresponds with the default/linux/x86/10.0 profile.<br />
# Use 'eselect profile set ' to set a new /etc/make.profile symlink.<br />
#<br />
# Reference: http://www.gentoo.org/doc/en/gentoo-upgrading.xml<br />
# See: "General instructions" in Section 3. "Profile updating instructions"<br />
These are the packages that would be merged, in order:<br />
Calculating dependencies |<br />
!!! All ebuilds that could satisfy "&gt;=app-admin/eselect-python-20091230" have been masked.<br />
!!! One of the following masked packages is required to complete your request:<br />
- app-admin/eselect-python-20100321 (masked by: required EAPI 1, supported EAPI 0)<br />
- app-admin/eselect-python-20091230 (masked by: required EAPI 1, supported EAPI 0)<br />
- app-admin/eselect-python-99999999 (masked by: required EAPI 2, supported EAPI 0)<br />
For more information, see MASKED PACKAGES section in the emerge man page or<br />
refer to the Gentoo Handbook.<br />
(dependency required by "sys-apps/portage-2.1.6.7" [ebuild])<br />
</code></p></blockquote>
<p>Jesteśmy już bliżej, ale nadal się nie udaje. To może python bez zależności?</p>
<blockquote><p><code>dolly ~ # emerge --nodep python<br />
* IMPORTANT: 5 news items need reading for repository 'gentoo'.<br />
* Use eselect news to read news items.<br />
&gt;&gt;&gt; Emerging (1 of 1) dev-lang/python-2.6.6-r2<br />
* Python-2.6.6.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                       [ ok ]<br />
* python-gentoo-patches-2.6.6-r2.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                     [ ok ]<br />
/usr/portage/eclass/python.eclass: line 63: syntax error in conditional expression: unexpected token `('<br />
/usr/portage/eclass/python.eclass: line 63: syntax error near `^(('<br />
/usr/portage/eclass/python.eclass: line 63: `   if [[ "${version_components_groups}" =~ ^((\!)?[[:alnum:]_-]+\?\ )?${version_components_group_regex}(\ ${version_components_group_regex})?$ ]]; then'<br />
*<br />
* ERROR: dev-lang/python-2.6.6-r2 failed.<br />
* Call stack:<br />
*                ebuild.sh, line 1867:  Called source '/usr/portage/dev-lang/python/python-2.6.6-r2.ebuild'<br />
*   python-2.6.6-r2.ebuild, line    8:  Called inherit 'autotools' 'eutils' 'flag-o-matic' 'multilib' 'python' 'toolchain-funcs'<br />
*                ebuild.sh, line 1224:  Called die<br />
* The specific snippet of code:<br />
*              qa_source "$location" || die "died sourcing $location in inherit()"<br />
*  The die message:<br />
*   died sourcing /usr/portage/eclass/python.eclass in inherit()<br />
*<br />
* If you need support, post the topmost build error, and the call stack if relevant.<br />
* A complete build log is located at '/var/tmp/portage/dev-lang/python-2.6.6-r2/temp/build.log'.<br />
* The ebuild environment file is located at '/var/tmp/portage/dev-lang/python-2.6.6-r2/temp/die.env'.<br />
*<br />
&gt;&gt;&gt; Failed to emerge dev-lang/python-2.6.6-r2, Log file:<br />
&gt;&gt;&gt;  '/var/tmp/portage/dev-lang/python-2.6.6-r2/temp/build.log'<br />
</code></p></blockquote>
<p>E-e! To też nie zadziała. A jakby tak przenieść portage ze świeższego systemu &#8211; to nie jest trudne.</p>
<blockquote><p><code>tar cvf /tmp/portage.tar `qlist sys-apps/portage`</code></p></blockquote>
<p>Takie archiwum rozpakowujemy na docelowej maszynie i walczymy dalej.</p>
<p>Niestety w moim przypadku nie powiodło się. To może dorzucimy python&#8217;a? Przenosimy w sposób jak powyżej, dla bezpieczeństwa rozpakować możemy gdzieś na boku, w <code>$PATH</code> wstawiamy ścieżkę do katalogu z binariami, dodatkowo ustawiamy zmienną <a href="http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN80"><code>$LD_LIBRARY_PATH</code></a> na katalog <code>lib/</code> i mamy świeższe oprogramowanie do dyspozycji.<br />
No już prawie witam się z gąską&#8230; Dalej klapa. Ale broni nie złożę tak łatwo!</p>
<p>Drogi czytelniku! Jeśli miałeś podobne problemy i je rozwiązałeś, a jednocześnie chcesz mi popsuć krótki weekend, wpisz proszę swoje uwagi w komentarzu poniżej.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2011/03/aktualizacja-gentoo-nie-taka-zwyczajna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux i Wi-Fi [2]</title>
		<link>http://guzik.net.pl/blog/2010/12/linux-i-wi-fi-2/</link>
		<comments>http://guzik.net.pl/blog/2010/12/linux-i-wi-fi-2/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 20:57:11 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tenda]]></category>
		<category><![CDATA[TL-WN321G]]></category>
		<category><![CDATA[TP-LINK]]></category>
		<category><![CDATA[W311U]]></category>
		<category><![CDATA[W541U]]></category>
		<category><![CDATA[Wi-Fi]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=2458</guid>
		<description><![CDATA[W moim posiadaniu znalazły się trzy kolejne karty sieci bezprzewodowej. Tak jak poprzednio &#8211; wszystkie na USB. Tenda W541U rt2800usb 802.11 b/g Tenda W311U &#8211; rt2800usb 802.11 b/g/n (draft 2.0) TP-LINK TL-WN321G &#8211; rt2800usb 802.11 b/g Pech chciał, że wszystkie pracują w oparciu o ten sam sterownik, więc dużo do testów nie ma. Pracują, a [...]]]></description>
			<content:encoded><![CDATA[<p>W moim posiadaniu znalazły się trzy kolejne karty sieci bezprzewodowej. <a title="http://guzik.net.pl/blog/2010/10/linux-wi-fi/" href="http://guzik.net.pl/blog/2010/10/linux-wi-fi/">Tak jak poprzednio</a> &#8211; wszystkie na USB.<br />
<img class="alignright" src="http://www.tenda.cn/pdtData/wireless/w541u/ok.jpg" alt="" width="240" height="195" /></p>
<ul>
<li><a title="http://www.tenda.cn/product/show.php?productid-337.html" href="http://www.tenda.cn/product/show.php?productid-337.html">Tenda W541U</a> <a title="http://wireless.kernel.org/en/users/Drivers/rt2800usb" href="http://wireless.kernel.org/en/users/Drivers/rt2800usb">rt2800usb</a> 802.11 b/g</li>
<li><a title="http://www.tenda.cn/product/show.php?productid-340.html" href="http://www.tenda.cn/product/show.php?productid-340.html">Tenda W311U</a> &#8211; rt2800usb 802.11 b/g/n (draft 2.0)</li>
<li><a title="http://www.tp-link.com/products/productDetails.asp?class=wlan&amp;pmodel=TL-WN321G" href="http://www.tp-link.com/products/productDetails.asp?class=wlan&amp;pmodel=TL-WN321G">TP-LINK TL-WN321G</a> &#8211; rt2800usb 802.11 b/g</li>
</ul>
<p>Pech chciał, że wszystkie pracują w oparciu o ten sam sterownik, więc dużo do testów nie ma. Pracują, a w zasadzie powinny pracować, bo do poprawnego działania nie udało mi się ich zmusić. W moim testowym zestawie próbowałem z jądrem 2.6.36 i <em>firmware</em> w wersji 22 od <a title="http://www.ralinktech.com/support.php?s=2" href="http://www.ralinktech.com/support.php?s=2">Ralink</a>. Jeszcze nie znalazłem czasu, by zbudować samodzielnie moduły ze źródeł, które Ralink również daje.<br />
Tak czy inaczej, jeśli ktoś korzysta z takiego sprzętu, albo ma jakieś doświadczenie z uruchomieniem, proszę o kontakt. Nie chce mi się odkrywać koła ponownie.</p>
<p>To tylko moje zapiski. Jeśli kogoś interesują bardziej dogłębne testy, polecam <a title="http://lost.one.pl/" href="http://lost.one.pl/">Lost.one.pl</a>.</p>
<p>W planie mam jeszcze test kart na innych <em>chipset</em>&#8216;ach (np. Alfa 	AWUS036H).</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2010/12/linux-i-wi-fi-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MLUG &#8211; teraz chyba wyjdzie</title>
		<link>http://guzik.net.pl/blog/2010/11/mlug-teraz-chyba-wyjdzie/</link>
		<comments>http://guzik.net.pl/blog/2010/11/mlug-teraz-chyba-wyjdzie/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 09:22:06 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikołów]]></category>
		<category><![CDATA[MLUG]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=2332</guid>
		<description><![CDATA[Jest już termin, są tematy i jest miejsce. Tym razem chyba wyjdzie. Oczywiście żeby wyszło bardzo dobrze potrzebni są słuchacze. Dlatego ogłaszamy gdzie się da, by ściągnąć młodych fascynatów systemów *nix&#8217;owych. Jeśli mieszkasz w okolicy i chcesz rozpocząć przygodę z systemem Linux albo dowiedzieć się czegoś więcej, wpadnij 19 listopada do ZST i posłuchaj, co [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 206px"><a href="http://kernel.org/"><img class=" " src="http://www.isc.tamu.edu/~lewing/linux/sit3-shine.7.gif" alt="" width="196" height="216" /></a><p class="wp-caption-text">Tux</p></div>
<p>Jest już termin, są tematy i jest miejsce. Tym razem chyba wyjdzie. Oczywiście żeby wyszło bardzo dobrze potrzebni są słuchacze. Dlatego ogłaszamy gdzie się da, by ściągnąć młodych fascynatów systemów *nix&#8217;owych.</p>
<p>Jeśli mieszkasz w okolicy i chcesz rozpocząć przygodę z systemem Linux albo dowiedzieć się czegoś więcej, wpadnij 19 listopada do ZST i posłuchaj, co mamy do przekazania.</p>
<p>Więcej szczegółów o imprezie na stronach:</p>
<ul>
<li><a title="http://linux.mikolow.us/" href="http://linux.mikolow.us/">http://linux.mikolow.us/</a></li>
<li><a title="http://www.facebook.com/event.php?eid=173721562638259" href="http://www.facebook.com/event.php?eid=173721562638259">http://www.facebook.com/event.php?eid=173721562638259</a></li>
<li><a title="http://osnews.pl/spotkanie-mikolowskiej-grupy-uzytkownikow-linuksa/" href="http://osnews.pl/spotkanie-mikolowskiej-grupy-uzytkownikow-linuksa/">http://osnews.pl/spotkanie-mikolowskiej-grupy-uzytkownikow-linuksa/</a></li>
<li><a title="http://www.goldenline.pl/spotkanie/spotkanie-mlug" href="http://www.goldenline.pl/spotkanie/spotkanie-mlug">http://www.goldenline.pl/spotkanie/spotkanie-mlug</a></li>
</ul>
<p><span id="more-2332"></span><br />
Ze swojej strony proszę o przesyłanie zdjęć / grafik / zrzutów ekranu, związanych z:</p>
<ul>
<li>Linuksem,</li>
<li>Mikołowem (a w szczególności ZST),</li>
<li><a title="http://guzik.net.pl/blog/tag/mlug/" href="http://guzik.net.pl/blog/tag/mlug/">MLUG</a>iem i jego wcześniejszą działalnością.</li>
</ul>
<p>Jeśli robicie coś ciekawego i chcielibyście swoim projektem zainteresować innych uczestników, przygotujcie prostą grafikę i też przekażcie &#8211; będzie wyświetlona podczas trwania spotkania.<br />
Jeżeli natomiast czujecie się na siłach, by zaprezentować się przed szerszą publicznością, zgłoście się z prezentacją. Parę słów wystarczy (5 &#8211; 10 min), by znaleźć kogoś, kto może współ-rozwijać projekt.</p>
<p>Pomocą w promocji imprezy będzie również umieszczenie komentarzy na <a title="http://blip.pl/tags/mlugzst" href="http://blip.pl/tags/mlugzst">Blip</a> lub <a title="https://twitter.com/#!/search?q=%23MLUG_ZST" href="https://twitter.com/#!/search?q=%23MLUG_ZST">twitter</a> ze znacznikiem #MLUG_ZST.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2010/11/mlug-teraz-chyba-wyjdzie/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

