<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>-ENOTTY: biological log</title><link>http://enotty.pipebreaker.pl/</link><description>Wpisy z dziennika internetowego Jogger, wspomaganego przez Jabbera</description><lastBuildDate>Wed, 16 May 2012 23:52:02 +0200</lastBuildDate><generator>JoggerPL</generator><item><title>Chciałbym więcej LXC</title><link>http://enotty.pipebreaker.pl/2012/05/07/chcialbym-wiecej-lxc/</link><description>&lt;p&gt;Od kilku lat Linux ma w jądrze implementację kontenerów o krótkiej nazwie &lt;strong&gt;LXC&lt;/strong&gt;. W przypadku wcześniejszych rozwiązach typu VServer czy OpenVZ dokumentacji było mnóstwo i wszędzie można się było natknąć na jakieś &lt;a href=&quot;https://en.wikipedia.org/wiki/Virtual_private_server&quot;&gt;slice'y&lt;/a&gt; i inne hostingi. LXC zaś jest jakby zupełnie niezauważone. Mam więc takie małe RFP — niech osoby zajmujące się tym tematem robią więcej prezentacji na linuksiastych imprezach!.&lt;/p&gt;
&lt;p&gt;Solaris ma swoje &lt;a href=&quot;https://en.wikipedia.org/wiki/Solaris_Containers&quot;&gt;Zones&lt;/a&gt; od ośmiu lat i generalnie wzbudza zachwyt. W dużej mierze dzięki działającej i rozbudowanej otoczce w postaci &lt;code&gt;zoneadm&lt;/code&gt;, którą łatwo się wszystkim zarządza. Możliwości jądra Linuksa już dawno przewyższają Solarisa w kwestii kontenerów, tylko konfiguracja wciąż mocno kuleje. A może jestem w błędzie i tylko mi się wydaje, że przy LXC trzeba się ostro &lt;em&gt;narzeźbić&lt;/em&gt;?&lt;/p&gt;
</description><pubDate>Mon, 07 May 2012 14:30:15 +0200</pubDate><guid>http://enotty.pipebreaker.pl/2012/05/07/chcialbym-wiecej-lxc/</guid><category>Linux</category><category>Ogólne</category></item><item><title>Projekt 61107</title><link>http://enotty.pipebreaker.pl/2012/04/18/projekt-61107/</link><description>&lt;p&gt;Na początku miesiąca przyszła większość elementów potrzebnych do &lt;strike&gt;kontroli umysłów&lt;/strike&gt; rozpoczęcia &lt;em&gt;Projektu 61107&lt;/em&gt; i siostrzanego &lt;em&gt;Projektu 1434&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;center&gt;&lt;img src=&quot;http://d%C5%BCogstaff.pipebreaker.pl/2012.04.18-p61107.jpg&quot; alt=&quot;[elementy]&quot;&gt;&lt;/center&gt;
&lt;p&gt;
&lt;p&gt;Brakuje jeszcze kilku ważnych szczegółów, jak np. płytki prototypowej. Nie jest to pilny problem. Projekt(y) z założenia weekendowe, więc z uwagi na rozpoczęcie sezonu wyjazdów, jakieś efekty osiągnę pewnie za pół roku :-/&lt;/p&gt;
</description><pubDate>Wed, 18 Apr 2012 16:39:51 +0200</pubDate><guid>http://enotty.pipebreaker.pl/2012/04/18/projekt-61107/</guid><category>Ogólne</category></item><item><title>systemd: Jolu, pokaż Panom cel</title><link>http://enotty.pipebreaker.pl/2012/03/08/systemd-jolu-pokaz-panom-cel/</link><description>&lt;p&gt;&lt;a href=&quot;http://enotty.pipebreaker.pl/2010/08/04/krotki-instruktaz-systemd-cele-i-migawki/&quot;&gt;Jak pisałem dwa lata temu&lt;/a&gt;, systemd pozbywa się pojęcia &lt;code&gt;runleveli&lt;/code&gt;, dając w zamian &lt;strong&gt;cele&lt;/strong&gt;. Cel jest swego rodzaju punktem synchronizacji, w którym system zapewnia określoną funkcjonalność. Zależności między celami, tak jak między innymi jednostkami, nie są liniowe:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;center&gt;&lt;a href=&quot;http://d%C5%BCogstaff.pipebreaker.pl/2012.03.08-targets.png&quot;&gt;&lt;img src=&quot;http://d%C5%BCogstaff.pipebreaker.pl/2012.03.08-targets.m.png&quot;&gt;&lt;/a&gt;&lt;/center&gt;
&lt;p&gt;
&lt;p&gt;Otwórzmy powyższy obrazek i zastanówmy, &lt;em&gt;co ja pacze&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;Na początek legenda. &lt;strong&gt;Czarna&lt;/strong&gt; strzałka oznacza, że wskazywany cel jest wymagany przez wskazujący (&lt;code&gt;Requires=&lt;/code&gt;). &lt;strong&gt;Zielona&lt;/strong&gt; wskazuje na kolejność, wskazywany musi się aktywować do końca, zanim systemd przejdzie do wskazywanego (&lt;code&gt;After=&lt;/code&gt;). &lt;strong&gt;Czerwona&lt;/strong&gt; oznacza konflikt (&lt;code&gt;Conflicts=&lt;/code&gt;). Jak widać &lt;code&gt;shutdown.target&lt;/code&gt; konfliktuje ze wszystkich, czyli aktywacja shutdownu powoduje zwinięcie wszystkich innych celi.&lt;/p&gt;
&lt;p&gt;Jak widać w górnej-lewej części obrazka: &lt;code&gt;nss-lookup.target&lt;/code&gt; &lt;strong&gt;nie wymaga&lt;/strong&gt; &lt;code&gt;network.target&lt;/code&gt;. Jeśli jednak z jakiegoś powodu &lt;code&gt;network.target&lt;/code&gt; zostanie aktywowany, to &lt;code&gt;nss-lookup.target&lt;/code&gt; wykona się &lt;strong&gt;po&lt;/strong&gt; nim — zielona strzałka.&lt;/p&gt;
&lt;p&gt;Przy systemd nie można za bardzo powiedzieć o &lt;em&gt;kolejności&lt;/em&gt; przy starcie systemu. Tutaj wybiera się &lt;em&gt;docelowy&lt;/em&gt; stan systemu i osiąga go poprzez przywołanie wszystkich zależności. Analizę &lt;em&gt;co się dzieje&lt;/em&gt; łatwiej jednak prowadzić od końca.&lt;/p&gt;
&lt;p&gt;Załóżmy więc, że system ma działać w trybie graficznym. Celem jest więc &lt;code&gt;graphical.target&lt;/code&gt;, który z grubsza można porównać z &lt;em&gt;runlevelem&lt;/em&gt; 2. w debianowatych. 4. w Slackware, 5. w starych redhatowych, SUSE i Archu — umożliwia logowanie użytkowników w trybie graficznym.&lt;/p&gt;
&lt;p&gt;Jako pierwsze aktywowane zostaną wymagania &lt;code&gt;sysinit.target&lt;/code&gt; (&lt;em&gt;A special target unit covering early boot-up scripts&lt;/em&gt;). Ten zaciąga przestrzenie wymiany (&lt;code&gt;swap.target&lt;/code&gt;), lokalne systemy plików (&lt;code&gt;local-fs.target&lt;/code&gt;), w tym również szyfrowane z pytaniem o hasło, jeśli potrzeba (&lt;code&gt;cryptsetup.target&lt;/code&gt;). Aktywacje tej trójki odbywają się &lt;em&gt;równolegle&lt;/em&gt;. Kiedy zakończą się aktywacje i wystartowane zostaną usługi dla tego celu, &lt;code&gt;sysinit.target&lt;/code&gt; zostaje osiągnięty.&lt;/p&gt;
&lt;p&gt;Umożliwia to przejście do &lt;code&gt;basic.target&lt;/code&gt;. Zadaniem tego jest dodatkowo uruchomienie wszystkich gniazd, na których słucha systemd (&lt;code&gt;sockets.target&lt;/code&gt;). System w tym stanie może przejść do &lt;strong&gt;trybu ratunkowego&lt;/strong&gt; (&lt;code&gt;rescue.target&lt;/code&gt;) który daje powłokę odzyskiwania systemu. Przypominając: mamy zamountowane lokalne systemy plików, włączony swap i zainicjowane podstawowe mechanizmy dystrybucji. Taki &lt;em&gt;runlevel 1&lt;/em&gt;.&lt;br&gt;
Tu warto wspomnieć o trybie awaryjnym &lt;code&gt;emergency.target&lt;/code&gt;. Jest to absolutnie minimalny stan, w którym można próbować naprawić całkowicie zepsuty system. Odpowiada niemal uruchomieniu jądra z parametrem &lt;code&gt;init=/bin/sh&lt;/code&gt;, daje jednak możliwość kontynuacji normalnego uruchamiania po naprawie.&lt;/p&gt;
&lt;p&gt;Stąd system może przejść również &lt;code&gt;multi-user.target&lt;/code&gt;. Jest to podstawowy stan linuksa — działają prawie wszystkie demony, użytkownicy moga logować się na konsolach (dzięki zaciągnięciu &lt;code&gt;getty.target&lt;/code&gt;). Pachnie jak &lt;em&gt;runlevel 3&lt;/em&gt;. &lt;code&gt;multi-user.target&lt;/code&gt; &lt;strong&gt;nie wymaga&lt;/strong&gt; trybu ratunkowego, ale jeśli takowy był uruchomiony, to musi skończyć się wykonywać przed przejściem w m-u.target — zielona strzałka.&lt;/p&gt;
&lt;p&gt;Z aktywnego &lt;code&gt;multi-user.target&lt;/code&gt; już tylko krok do uruchomienia graficznego zarządcy logowania i osiągnięcia zadanego &lt;code&gt;graphical.target&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Większość z tych etapów opisana jest na stronie manuala &lt;strong&gt;&lt;code&gt;systemd.special&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Skąd brany jest cel przy starcie systemu? Zazwyczaj wskazuje go łącze symboliczne: &lt;code&gt;/usr/lib/systemd/system/default.target -&amp;gt; graphical.target&lt;/code&gt;. Administrator może je przesłonić podając w linii poleceń jądra frazę &lt;code&gt;systemd.unit=&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Cele są punktami, do których przypisujemy usługi do uruchomienia w obecnym stanie. Weźmy np. wiszące luzem na obrazku cele po prawej stronie. Taki &lt;code&gt;bluetooth.target&lt;/code&gt; aktywowany jest przez pojawienie się urządzenia obsługującego BT:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/usr/lib/udev/rules.d/99-systemd.rules:SUBSYSTEM==&quot;bluetooth&quot;, TAG+=&quot;systemd&quot;, ENV{SYSTEMD_WANTS}=&quot;bluetooth.target&quot;&lt;/code&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;i powoduje wystartowanie odpowiedniej usługi:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/etc/systemd/system/bluetooth.target.wants/bluetooth.service&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Podobnie można np. przywiesić usługi do wystartowanie w związku z kartą dźwiękową do &lt;code&gt;sound.target&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Nie należy zapominać, że start to tylko jeden z etapów życia systemu. Wdzięczny do omówienia, gdyż powoduje kaskadę aktywacji różnych celi. W normalnym użytkowaniu jest to jednak bardzo specyficzna sytuacja i nie należy się na niej skupiać w celach innych niż akademickie.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Obrazek wygenerowany &lt;code&gt;grep&lt;/code&gt;em z &lt;code&gt;systemctl dot&lt;/code&gt;.&lt;/small&gt;&lt;/p&gt;
</description><pubDate>Thu, 08 Mar 2012 11:16:38 +0100</pubDate><guid>http://enotty.pipebreaker.pl/2012/03/08/systemd-jolu-pokaz-panom-cel/</guid><category>Linux</category><category>Ogólne</category><category>Techblog</category></item><item><title>btrfsck: koda</title><link>http://enotty.pipebreaker.pl/2012/02/22/btrfsck-koda/</link><description>&lt;p&gt;Konkludując historię &lt;a href=&quot;/2011/10/05/smutna-historia-btrfsck/&quot;&gt;wielkiego nieobecnego &lt;code&gt;btrfsck&lt;/code&gt;&lt;/a&gt;… Szósty lutego 2012, &lt;a href=&quot;http://lists.fedoraproject.org/pipermail/devel/2012-February/162193.html&quot;&gt;Josef Bacik&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;We're running close to the wire on this but it looks like Chris will have fsck out for btrfs tomorrow&lt;/blockquote&gt;
&lt;p&gt;
&lt;p&gt;I co? Oficjalnego ogłoszenia nie było, ale fama sie już rozniosła: od dwóch tygodni &lt;code&gt;btrfsck&lt;/code&gt; jest dostępny. Mason udostępnił kod w gałęzi repozytorium o nazwie &lt;a href=&quot;https://git.kernel.org/?p=linux/kernel/git/mason/btrfs-progs.git;a=shortlog;h=refs/heads/dangerdonteveruse&quot;&gt;dangerdonteveruse&lt;/a&gt;. Użycie oczywiście używanie na własną odpowiedzialność. Bugreporty od osób, które tym narzędziem popsuły sobie system plików będą ignorowane.&lt;/p&gt;
</description><pubDate>Wed, 22 Feb 2012 13:37:51 +0100</pubDate><guid>http://enotty.pipebreaker.pl/2012/02/22/btrfsck-koda/</guid><category>Linux</category><category>Ogólne</category></item><item><title>Haczyki przy upgrade do 64 bitów</title><link>http://enotty.pipebreaker.pl/2012/02/09/haczyki-przy-upgrade-do-64-bitow/</link><description>&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/X86-64&quot;&gt;Dekadę po wprowadzeniu architektury AMD64&lt;/a&gt; przerobiłem w końcu ostatnią z moich maszyn na dystrybucję 64-bitową. Sprzęt był &lt;em&gt;capable&lt;/em&gt; od dawna, ale jego wymiana odbyła się metodą transplantacji dysków ze starego komputera i nie było kiedy zmienić softu.&lt;/p&gt;
&lt;p&gt;Procedura jest prosta. Instalujemy kernel 64 bitowy, uruchamiany z niego system z 32-bitowym userlandem i reinstalujemy wszystkie pakiety po kolei w wersjach x86_64. Userland 32 na jądrze 64 działa sprawnie nawet na x86, ale trzeba mieć na uwadze trzy drobiazgi:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Automount ma &lt;a href=&quot;https://lkml.org/lkml/2011/9/16/130&quot;&gt;rozbieżne wielkości strukturki danych&lt;/a&gt; między 32 a 64 bity.&lt;/strong&gt; Owocuje to zawieszeniem w czasie uruchamiania systemu 32 bit na jądrze 64 bit. Pamiętać należy o wyłączeniu automountów przed takim bootem.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RRD nie lubi baz stworzonych na innej architekturze.&lt;/strong&gt; Tu warto zrobić &lt;code&gt;rrdtool dump&lt;/code&gt; do xml na 32 bitach, a po upgradzie &lt;code&gt;rrdtool restore&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL też nie lubi plików baz danych utworzonych na innej architekturze.&lt;/strong&gt; Podobnie jak z RRD, najpierw &lt;code&gt;pg_dumpall&lt;/code&gt;, a po upgradzie &lt;code&gt;initdb&lt;/code&gt; i &lt;code&gt;psql -f dump.sql&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Inny soft na razie problemów nie wykazuje. Zapomnienie o zrzutach może zawocować drapaniem się w głowę podczas poszukiwania jakieś jeszcze działającej 32 bitowej instalacji, żeby dokonać ich &lt;em&gt;post factum&lt;/em&gt;. Ale na szczęście wystarcza pendrive USB z zainstalowaną 32 bitową instalacją i katalogi baz danych wyeksportowane przez NFS.&lt;/p&gt;
</description><pubDate>Thu, 09 Feb 2012 10:29:07 +0100</pubDate><guid>http://enotty.pipebreaker.pl/2012/02/09/haczyki-przy-upgrade-do-64-bitow/</guid><category>Linux</category><category>Ogólne</category><category>Techblog</category></item><item><title>W którą stronę ewoluuje konfigurowanie Linuksa...</title><link>http://enotty.pipebreaker.pl/2012/01/16/w-ktora-strone-ewoluuje-konfigurowanie-linuksa/</link><description>&lt;p&gt;Ostatnio przemigrowałem z &lt;a href=&quot;http://stgt.sourceforge.net/&quot;&gt;tgt&lt;/a&gt; na nowy, lepszy, wbudowany w jądro &lt;a href=&quot;http://linux-iscsi.org/wiki/Main_Page&quot;&gt;LIO&lt;/a&gt;. Chodzi o &lt;em&gt;cel SCSI&lt;/em&gt;. Po robocie odsunąłem się od monitorów, spojrzałem na stary config, spojrzałem na nowy i naszła mnie refleksja.&lt;/p&gt;
&lt;p&gt;Czy przejście z takiego sposobu konfigurowania:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;
vendor_id UTC FS Support
product_id Linux iSCSI

# Set the driver. If not specified, defaults to &quot;iscsi&quot;.

default-driver iscsi

&amp;lt;target iqn.2010-08.com.fs.utc:dvdtmp&amp;gt;
        backing-store /dev/mapper/sabretoothvg-iscsi.dvdtmp
&amp;lt;/target&amp;gt;

&amp;lt;target iqn.2010-08.com.utc.fs:winxppp45client-stor1&amp;gt;
        backing-store /dev/sabretoothvg/iscsi.winxppp45client-stor1
&amp;lt;/target&amp;gt;

&amp;lt;target iqn.2011-02.com.utc.fs:esxi.local-space0&amp;gt;
        backing-store /dev/sabretoothvg/iscsi.esxi.local-space0
&amp;lt;/target&amp;gt;

&amp;lt;target iqn.2011-02.com.utc.fs:fcoe.test0&amp;gt;
       backing-store /dev/mapper/sabretoothvg-fcoe.test0
       allow-in-use yes
&amp;lt;/target&amp;gt;
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;na taki (uwaga, ściana tekstu):&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;
#### Parameters for TCM subsystem plugin storage object reference
python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --establishdev iblock_0/iblock0 /dev/sabretoothvg/fcoe.test0
python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --setunitserialwithmd iblock_0/iblock0 72ad13f0-c8d2-4d96-bffe-30f9cfc46f2f
#### Parameters for TCM subsystem plugin storage object reference
python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --establishdev iblock_1/gilbertus.swap /dev/sabretoothvg/iscsi.gilbertus.swap
python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --setunitserialwithmd iblock_1/gilbertus.swap 7e05140f-6536-4813-a1a0-d9fdc3b7bca8
#### Parameters for TCM subsystem plugin storage object reference
python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --establishdev iblock_3/esxi.local-space0 /dev/sabretoothvg/iscsi.esxi.local-space0
python /usr/lib/python2.6/site-packages/rtsadmin/tcm_node.py --setunitserialwithmd iblock_3/esxi.local-space0 5bcaffac-6da0-42b0-ad07-fe130609674
#### iSCSI Target Ports
mkdir -p /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_0
ln -s /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_0/../../../../../../target/core/iblock_0/iblock0 /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_0/6efd3cb027
lio_node --aluasecmd iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd 1 0
mkdir -p /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_1
ln -s /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_1/../../../../../../target/core/iblock_4/winxppp45client-stor1 /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/lun/lun_1/1d6312ea35
lio_node --aluasecmd iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd 1 1
#### iSCSI Initiator ACLs for iSCSI Target Portal Group
mkdir -p /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/acls/iqn.1994-05.com.fedora:5f21153a55f
echo 16 &amp;gt; /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/acls/iqn.1994-05.com.fedora:5f21153a55f/cmdsn_depth
mkdir /sys/kernel/config/target/fc
#### fc Target Ports
mkdir -p /sys/kernel/config/target/fc/20:00:00:23:ae:b2:f4:3b/tpgt_1/lun/lun_0
ln -s /sys/kernel/config/target/fc/20:00:00:23:ae:b2:f4:3b/tpgt_1/lun/lun_0/../../../../../../target/core/iblock_0/iblock0 /sys/kernel/config/target/fc/20:00:00:23:ae:b2:f4:3b/tpgt_1/lun/lun_0/b522dc7322
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;to naprawdę jakiś postęp? Powyżej to drobny fragment, całość ,,nowości'' ma prawie pół tysiąca linii i postać skryptu, który odtwarza ustawienia przez wykonanie wszystkich katalogów i dowiązań symbolicznych.&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;Do LIO dostępny jest &lt;code&gt;targetcli&lt;/code&gt;, będący tak naprawdę kolorową nakładką na &lt;code&gt;mkdir&lt;/code&gt;, &lt;code&gt;ln&lt;/code&gt; i &lt;code&gt;touch&lt;/code&gt;. Ja rozumiem, że &lt;em&gt;wszystko jest plikiem&lt;/em&gt;, ale naprawdę zajęło mi pół godziny wpadnięcie na intuicyjny sposób określenia IP, na który jądro ma słuchać. (Tym sposobem jest &lt;em&gt;utworzenie katalogu&lt;/em&gt;, dokładniej &lt;code&gt;mkdir -p /sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.sabretooth.x8664:sn.aeee2b8d6fdd/tpgt_1/np/192.168.6.9:3260&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Plik konfiguracyjny jest dla mnie czymś solidnym. Skrypt zastępujący go setkami poleceniem powłoki sprawia wrażenie sznurka i taśmy klejącej.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; Ktoś jednak stwierdził, że lepsze będzie &lt;a href=&quot;https://www.youtube.com/watch?v=f6cgZotqUj0&quot;&gt;trzymanie konfiguracji w JSON&lt;/a&gt;. No cóż, ma szansę sprawdzić się lepiej niż skrypt shellowy.&lt;/p&gt;
</description><pubDate>Mon, 16 Jan 2012 21:41:36 +0100</pubDate><guid>http://enotty.pipebreaker.pl/2012/01/16/w-ktora-strone-ewoluuje-konfigurowanie-linuksa/</guid><category>Linux</category><category>Ogólne</category><category>Techblog</category></item><item><title>AppleTV 2012</title><link>http://enotty.pipebreaker.pl/2011/12/07/appletv-2012/</link><description>&lt;p&gt;&lt;/p&gt;
&lt;blockquote&gt;The actors stopped ranting before Peter had finished his shower. Wang-mu did not notice. She did notice, however, when a voice from the holoview said, &quot;Would you like another recorded selection, or would you prefer to connect with a current broadcast?&quot;&lt;br&gt;
For a moment Wang-mu thought that the voice must be Jane; then she realized that it was simply the rote menu of a machine. &quot;Do you have news?&quot; she asked.&lt;br&gt;
&quot;Local, regional, planetary or interplanetary?&quot; asked the machine.&lt;br&gt;
&quot;Begin with local,&quot; said Wang-mu. She was a stranger here. She might as well get acquainted.&lt;/blockquote&gt;
&lt;p&gt;&lt;small&gt;Orson Scott Card, ”Children of the Mind” (1996)&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;a href=&quot;http://scobleizer.com/2010/04/28/breaking-news-siri-bought-by-apple/&quot;&gt;Siri&lt;/a&gt;, anyone? :-)&lt;/p&gt;
</description><pubDate>Wed, 07 Dec 2011 17:02:46 +0100</pubDate><guid>http://enotty.pipebreaker.pl/2011/12/07/appletv-2012/</guid><category>Ogólne</category></item><item><title>Hałas na moim trawniku</title><link>http://enotty.pipebreaker.pl/2011/11/27/halas-na-moim-trawniku/</link><description>&lt;p&gt;Trzeba kogoś z dużą wyobraźnią i pomysłowością, żeby przewidzieć przyszłe problemy, wymagania i przygotować się do nich. Trzeba odwagi, żeby zejść z utartej ścieżki i zaproponować radykalne rozwiązania. A, jeszcze trzeba być niezłym programistą, żeby wcielić to w życie.&lt;/p&gt;
&lt;p&gt;Natomiast nie trzeba nic umieć, by napisać taką petycję: &lt;a href=&quot;http://www.change.org/petitions/lennart-poettering-stop-writing-useless-programs-systemd-journal&quot;&gt;Lennart Poettering: Stop writing useless programs - systemd, Journal&lt;/a&gt;. Do tego trzeba mieć tylko zamknięty, prymitywny umysł i &lt;a href=&quot;http://en.wiktionary.org/wiki/cainophobia&quot;&gt;cainofobię&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;q&gt;Lennart, come out from Linux please. You aren't necessary.&amp;lt;/&amp;gt;&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;&lt;q&gt;Powyższy komentarz pokazuje dobitnie jak bardzo niektórzy nie rozumieją reguł gry. I jak niepotrzebnie trwonią bity, od takich jednostek absolutnie nic nie zależy. Dystrybucje Linuksowe, a szerzej środowisko &lt;em&gt;free software&lt;/em&gt; to przykład doskonale działającej &lt;a href=&quot;http://pl.wikipedia.org/wiki/Merytokracja&quot;&gt;&lt;strong&gt;merytokracji&lt;/strong&gt;&lt;/a&gt;. Robisz = rządzisz. Zyskujesz respekt i wpływ. Narzekasz i produkujesz &lt;em&gt;stop energy&lt;/em&gt; = znikasz w szumie tła.&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;&lt;q&gt;Programy pisane przez Lennarta znajdują się w każdej dystrybucji Linuksa i poza nimi. I chociaż nie wszyscy dystrybutorzy &lt;a href=&quot;http://0pointer.de/blog/projects/pa-in-ubuntu.html&quot;&gt;radzą sobie z nimi&lt;/a&gt;, to jednak rozwiązują pewne problemy i są potrzebne. Nie pojawiają się znikąd — ktoś podejmuje decyzję o ich włączeniu.&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;&lt;q&gt;Dystrybucje mają Komitety Techniczne (fedorowe &lt;a href=&quot;http://fedoraproject.org/wiki/Fedora_Engineering_Steering_Committee&quot;&gt;FESCo&lt;/a&gt;, &lt;a href=&quot;https://wiki.ubuntu.com/TechnicalBoard&quot;&gt;Technical Board&lt;/a&gt; w Ubuntu, openSUSE &lt;a href=&quot;http://en.opensuse.org/openSUSE:Board&quot;&gt;Board&lt;/a&gt;) nadające kierunek rozwoju. Zasiadają w nich ludzie z szerokim &lt;b&gt;doświadczeniem&lt;/b&gt; i uznaniem społeczności. Osoby, które rozumieją i mają wiedzę pozwalającą stwierdzić: tak, w nowoczesnym systemie potrzebne jest avahi, systemd, nss-myhostame, pulseaudio, rtkit, libcanberra, nss-mydns itd. Są problemy, są braki, są na nie rozwiązania, to jest właściwa droga.&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;&lt;q&gt;Drastyczne zmiany generują olbrzymi opór. Ostatnie dwa artykuły o &lt;code&gt;Journal&lt;/code&gt; wywołały na spokojnym zazwyczaj LWN dyskusje na &lt;a href=&quot;https://lwn.net/Articles/468381/#Comments&quot;&gt;ponad 200&lt;/a&gt; oraz &lt;a href=&quot;https://lwn.net/Articles/468049/#Comments&quot;&gt;ćwierć tysiąca&lt;/a&gt; komentarzy. Większość to biadolenie osób nie rozumiejących po co i dlaczego takie rozwiązanie jest proponowane. Zaraz za nimi Ci trochę sprytniejsi, ale reagujący na postęp jak autystyk na przemeblowanie pokoju. Nowe &lt;em&gt;ficzery&lt;/em&gt; są spoko do momentu, jak trzeba się nauczyć czegoś nowego. W tym momencie zagrożona jest samopodtrzymywana opinia &lt;em&gt;wszystkowiedzącego guru&lt;/em&gt;.&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;&lt;q&gt;A głosy ,,to jest kopiowanie foobar''? Otóż na pewne potrzeby istnieją jakieś optymalne rozwiązania, więc nic dziwnego, że różni ludzie dochodzą do tych samych wniosków. Ale świat się wali, gdy wcześniej podobne mechanizmy zostały np. zaimplementowane przez Microsoft w Windows. Świętokradztwo, tam nie może być nic dobrze! Efektem jest więc robienie hałasu.&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;&lt;q&gt;A najlepsi są w tym nastoletni &lt;a href=&quot;https://plus.google.com/111031610679270691456/posts&quot;&gt;&lt;em&gt;programiści&lt;/em&gt; PHP&lt;/a&gt; używający Gentoo lub Archa, strzelający &lt;em&gt;hejtspiczem&lt;/em&gt; we wszystko, czego nie potrafią ogarnąć. Zagorzałe dyskusje (patrz &lt;em&gt;flame'y&lt;/em&gt;) są normalnym elementem działania naszego światka. Z niektórych nawet wynikają cenne uwagi. Większość to niestety mącenie wody przez osoby, od których i tak nic nie zależy. Ostatecznie to decyzje podejmie &lt;em&gt;starszyzna&lt;/em&gt;, rozumiejąca przesłanki merytoryczne. A &lt;em&gt;mały pies szczeka najgłośniej&lt;/em&gt;.&lt;/q&gt;&lt;/p&gt;
</description><pubDate>Sun, 27 Nov 2011 20:09:06 +0100</pubDate><guid>http://enotty.pipebreaker.pl/2011/11/27/halas-na-moim-trawniku/</guid><category>Linux</category><category>Ogólne</category></item><item><title>Ustawodawstwo pragmatyczne </title><link>http://enotty.pipebreaker.pl/2011/11/20/ustawodawstwo-pragmatyczne/</link><description>&lt;p&gt;Wcześniej czy później interesy korporacji wypływają na wierzch i powodują, że ustalamy zasady wyglądające absurdalnie. Dlatego przyjęliśmy, że &lt;a href=&quot;http://www.wiadomosci24.pl/artykul/ue_zadecydowala_slimak_to_ryba_ladowa_124754.html&quot;&gt;ślimak jest rybą&lt;/a&gt;, a &lt;a href=&quot;http://www.telegraph.co.uk/news/worldnews/europe/eu/8897662/EU-bans-claim-that-water-can-prevent-dehydration.html&quot;&gt;woda nie zapobiega odwodnieniu&lt;/a&gt; (tylko czyj interes to drugie chroni?).&lt;/p&gt;
&lt;p&gt;Po drugiej stronie wielkiej sadzawki też potrafią dołożyć. &lt;a href=&quot;http://www.nytimes.com/2011/11/16/us/politics/congress-blocks-new-rules-on-school-lunches.html?_r=1&quot;&gt;Pizza jest warzywem&lt;/a&gt; z racji zawartości sosu pomidorowego. Dzięki temu można kawałkiem pizzy spełnić wymogi, które nakazują dzieciom dawać w posiłkach ileś procent warzyw. Walka z nadwagą &lt;em&gt;pełną gębą&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Nobody Doesn't Like Molten Boron!&lt;/em&gt;&lt;/p&gt;
</description><pubDate>Sun, 20 Nov 2011 12:07:57 +0100</pubDate><guid>http://enotty.pipebreaker.pl/2011/11/20/ustawodawstwo-pragmatyczne/</guid><category>Ogólne</category></item><item><title>Renesans książkopoznania</title><link>http://enotty.pipebreaker.pl/2011/11/08/renesans-ksiazkopoznania/</link><description>&lt;p&gt;Kiedyś dużo czytałem. Bardzo dużo. W podstawówce pierwsze zetknięcie z Diuną, liceum pod znakiem sci-fi. Dojazdy tramwajem na uczelnię urozmaicone przez Świat Dysku. A potem stała się tragedia, kupiwszy samochód nie mogłem czytać w drodze.&lt;/p&gt;
&lt;p&gt;Jednak w zeszłym roku coś drgnęło. Zaczęło się od &lt;q&gt;Millenium&lt;/q&gt; Larssona. Pierwszą część pożyczyłem z Internetu. Drugą od kolegi z pracy, a trzecią już kupiłem. Elegancko wydana płytka CD zawierająca poprawnie potagowane pliki .mp3.&lt;/p&gt;
&lt;p&gt;I tak zaczął się mój powrót do książek. W wersji audio. Niech żyją wydawnictwa Polskiego Związku Niewidomych! Od zeszłego roku podróże z A. umilają nam zazwyczaj kryminały. Dało się nawet przeboleć Zborowskiego wkładającego zbyt duży wysiłek w powieści Cobena. Bo radio na dłuższą metę słuchać się nie da. Strzela mnie, jak trzeci raz w ciągu dnia słyszę tę samą piosenkę. Gdzie indziej pitolą o polityce. Nawet Trójka potrafi znużyć.&lt;/p&gt;
&lt;p&gt;Potem z pewną niepewnością sięgnąłem po wydania angielskie. Z początku wymagały więcej uwagi i obawiałem się, że będę musiał zostawić je na podróże samolotami. Jednak szybko przywykłem. A w tym roku dokonałem kolejnego genialnego posunięcia i zacząłem słuchać sci-fi.&lt;/p&gt;
&lt;p&gt;Strzał w dziesiątkę. Najwyraźniej bardzo mi tego brakowało. Słuchając świetnie przygotowanych publikacji &lt;a href=&quot;http://www.audible.com&quot;&gt;audible.com&lt;/a&gt; (w świetnych cenach!) poczułem się o połowę młodszy. Właśnie w wieku, gdy sci-fi było moją główną pożywką czytelniczą.&lt;/p&gt;
&lt;p&gt;Nadrabiam teraz poważne zaległości z klasyki. Kolejne publikacje o Enderverse przetykam innymi książkami, gatunkami, żeby się nie znużyć. I tak wysłuchałem w końcu &lt;q&gt;Count Zero&lt;/q&gt; Gibsona, ledwo 10 lat po przeczytaniu &lt;q&gt;Neuromancera&lt;/q&gt;. Nawet dobrze wyszło, wydarzenia fabularne rozdziela bowiem 7 lat. Przygotowaną mam &lt;q&gt;Mona Lisa Overdrive&lt;/q&gt;, 8 lat rożnicy w czasie &lt;em&gt;sprawl&lt;/em&gt; - pewnie zapoznam się z nią jeszcze w tej dekadzie.&lt;/p&gt;
&lt;p&gt;Po serii o Enderze planuję powrót do kilkukrotnie już przerobionych książek. Czytanie Diuny w oryginale przerwała mi w 2002 sesja zimowa. Od tamtej pory nie miałem kiedy przysiąść, a syn autora dopisał kolejne części. Chociaż może odłożę to jeszcze na rzecz Fundacji. Z której, wstyd się przyznać, przeczytałem kiedyś tylko jedną wyrwaną z serii książkę.&lt;/p&gt;
&lt;p&gt;A dla rozluźnienia... &lt;q&gt;Starship Troopers&lt;/q&gt;, &lt;q&gt;Robopocalypse&lt;/q&gt;, &lt;q&gt;Blindsight&lt;/q&gt;, &lt;q&gt;Snow Crash&lt;/q&gt;, &lt;q&gt;The Forever War&lt;/q&gt;, &lt;q&gt;The Sirens Of Titan&lt;/q&gt;, &lt;q&gt;Flashforward&lt;/q&gt;, &lt;q&gt;The Chamber&lt;/q&gt;. Aż nie mogę się doczekać. Ostatnio za przerywnik posłużyła &lt;q&gt;Art of Deception&lt;/q&gt; Mitnicka, polecona przez mojego szefa.&lt;/p&gt;
&lt;p&gt;Wydania trwające 12÷16 godzin są idealne na 2 - 3 tygodnie jeżdżenia. Bo poza podróżą słuchanie jest kiepskie. Zawsze jest coś innego do roboty i nie da się wydzielić uwagi na książkę. A jak już jest czas wolny, to jednak szybciej będzie wziąć do ręki wersję drukowaną. Tylko jakieś 3 razy zdarzyło mi się, że słuchałem książki (synestezja!) poza samochodem, kiedy akurat trudno było oderwać się od fabuły.&lt;/p&gt;
&lt;p&gt;W samym samochodzie najwygodniej słucha mi się pozycji odtwarzanych z telefonu przez głośniki auta. Czy to magicznym adapterem &lt;em&gt;jack 3,5mm → kaseta&lt;/em&gt; czy po prostu nadajnikiem FM w telefonie.&lt;/p&gt;
&lt;p&gt;A dziś w drodze do pracy towarzyszył mi ruch #OccupyEarth z &lt;q&gt;Childhood’s End&lt;/q&gt; Clarke’a.&lt;/p&gt;
</description><pubDate>Tue, 08 Nov 2011 15:03:09 +0100</pubDate><guid>http://enotty.pipebreaker.pl/2011/11/08/renesans-ksiazkopoznania/</guid><category>Ogólne</category></item></channel></rss>
