<?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; FreeBSD</title>
	<atom:link href="http://guzik.net.pl/blog/tag/freebsd/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>Konflikty w portach</title>
		<link>http://guzik.net.pl/blog/2010/02/konflikty-w-portach/</link>
		<comments>http://guzik.net.pl/blog/2010/02/konflikty-w-portach/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 12:49:33 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ports]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=1606</guid>
		<description><![CDATA[Nie dalej jak wczoraj przysłuchiwałem się rozmowie s1m0n&#8216;a z n1x0n&#8216;em na #dragonfly odnośnie mod_exec w ProFTPd. Generalnie chodziło o źródła samego modułu, który od wersji 1.3.3 serwera nie jest już zewnętrznym modułem. Ale stabilną wersją serwera jest wciąż 1.3.2d, a 1.3.3 to ciągle release candidate (na dzień dzisiejszy rc4). Niemniej chcielibyśmy sprawdzić czy się buduje [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.freebsd.org/"><img class="alignright" title="FreeBSD logo" src="http://www.freebsd.org/layout/images/beastie.png" alt="" width="178" height="196" /></a>Nie dalej jak wczoraj przysłuchiwałem się rozmowie <code>s1m0n</code>&#8216;a z <code>n1x0n</code>&#8216;em na #dragonfly odnośnie <code>mod_exec</code> w <a title="http://www.proftpd.org/" href="http://www.proftpd.org/">ProFTPd</a>. Generalnie chodziło o źródła samego modułu, który od <a title="http://www.proftpd.org/docs/RELEASE_NOTES-1.3.3rc1" href="http://www.proftpd.org/docs/RELEASE_NOTES-1.3.3rc1">wersji 1.3.3</a> serwera nie jest już zewnętrznym modułem. Ale stabilną wersją serwera jest wciąż 1.3.2d, a 1.3.3 to ciągle <em>release candidate</em> (na dzień dzisiejszy rc4).<br />
Niemniej chcielibyśmy sprawdzić czy się buduje bez błędów. Załóżmy, że mamy FreeBSD, korzystamy z <a title="http://www.freshports.org/ftp/proftpd/" href="http://www.freshports.org/ftp/proftpd/">ftp/proftpd</a>, a chcemy wykonać tylko <code>make build</code> dla <a title="http://www.freshports.org/ftp/proftpd-devel" href="http://www.freshports.org/ftp/proftpd-devel">ftp/proftpd-devel</a>. Standardowo próba zakończy się niepowodzeniem (dla jakiegokolwiek celu):</p>
<blockquote><p><code>[root@ /usr/ports/ftp/proftpd-devel]# make fetch<br />
===&gt;  proftpd-devel-1.3.3.r4_1,1 conflicts with installed package(s):<br />
proftpd-1.3.2d</code></p>
<p><code>They install files into the same place.<br />
Please remove them first with pkg_delete(1).<br />
*** Error code 1</code></p>
<p><code>Stop in /usr/ports/ftp/proftpd-devel.</code></p></blockquote>
<p><span id="more-1606"></span><br />
W zasadzie dla <code>install</code> można to zrozumieć, ale <code>fetch</code>, <code>build</code> czy nawet samo <code>makesum</code>? Jak najprościej sobie z tym poradzić?<br />
Można po partyzancku usunąć linijkę zaczynającą się od <code>CONFLICTS=</code> z <code>Makefile</code>. No, ale staramy się <span style="text-decoration: underline;">zawsze</span> elegancko rozwiązywać problemy, więc przeglądamy zawartość wspomnianego pliku <code>Makefile</code> w poszukiwaniu interesujących nas celów (ang. <em>target</em>). Niczym po nitce do kłębka trafiamy do <code>bsd.port.post.mk</code> (w <code>/usr/ports/Mk</code>), a z niego do <code>bsd.port.mk</code>, gdzie mamy istną kopalnię wiedzy o budowie portów w ogóle.<br />
Oprócz celów mamy tam też możliwe zmienne (ang. <em>variable</em>), które możemy wykorzystywać podczas budowania istniejących bądź tworzenia własnych portów.</p>
<p>Przed każdym celem wykonywany jest <code>check-conflicts</code>, który sprawdza czy zmienna <code>CONFLICTS</code> jest ustawiona oraz (<code>&amp;&amp;</code>) czy nie ma zdefiniowanej <code>DISABLE_CONFLICTS</code>, która to wyłącza sprawdzanie konfliktów. I o ten kawałek kodu właśnie nam chodziło! Spróbujmy więc tym raze wykorzystać nabytą wiedzę:</p>
<blockquote><p><code>[root@ /usr/ports/ftp/proftpd-devel]# DISABLE_CONFLICTS=true make extract<br />
===&gt;  Vulnerability check disabled, database not found<br />
===&gt;  Found saved configuration for proftpd-devel-1.3.3.r4_1,1<br />
=&gt; proftpd-1.3.3rc4.tar.gz doesn't seem to exist in /usr/ports/distfiles/.<br />
=&gt; Attempting to fetch from ftp://ftp.proftpd.org/distrib/source/.<br />
proftpd-1.3.3rc4.tar.gz                       100% of 4728 kB  988 kBps<br />
===&gt;  Extracting for proftpd-devel-1.3.3.r4_1,1<br />
=&gt; MD5 Checksum OK for proftpd-1.3.3rc4.tar.gz.<br />
=&gt; SHA256 Checksum OK for proftpd-1.3.3rc4.tar.gz.</code></p></blockquote>
<p>No i udało się! Przy okazji &#8211; <code>extract</code> rozpakuje źródła (<code>DISTFILES</code>) do katalogu roboczego (<code>WRKDIR</code>).</p>
<p>Oczywiście zmiennej <code>DISABLE_CONFLICTS</code> używamy świadomie (nie wstawiamy w <code>/etc/make.conf</code> na stałe)!</p>
<p>Dla chcących jeszcze bardziej pogłębić swoją wiedzę z zakresu portów FreeBSD, polecam podręcznik &#8222;<a title="http://www.freebsd.org/doc/en/books/porters-handbook/" href="http://www.freebsd.org/doc/en/books/porters-handbook/">FreeBSD Porter&#8217;s Handbook</a>&#8222;.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2010/02/konflikty-w-portach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Niestety używasz starej wersji Komunikatora, która nie obsługuje numerów GG większych niż 17 milionów.</title>
		<link>http://guzik.net.pl/blog/2010/02/niestety-uzywasz-starej-wersji-komunikatora-ktora-nie-obsluguje-numerow-gg-wiekszych-niz-17-milionow/</link>
		<comments>http://guzik.net.pl/blog/2010/02/niestety-uzywasz-starej-wersji-komunikatora-ktora-nie-obsluguje-numerow-gg-wiekszych-niz-17-milionow/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 10:28:18 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[ekg]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[gadu gadu]]></category>
		<category><![CDATA[libgadu]]></category>
		<category><![CDATA[ports]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=1547</guid>
		<description><![CDATA[Od 5 września 2008 r. zajmuję się portem pl-ekg we FreeBSD (z racji tego, że nikt nie chciał się tym zająć, a ja wtedy miałem potrzebę korzystania z ekg). W zasadzie zajmowałem się, bo swój numer wyrejestrowałem dwa miesiące później. Tak czy inaczej, nadal jestem wpisany jako opiekun. Tym samym nadal dochodzą do mnie takie [...]]]></description>
			<content:encoded><![CDATA[<p>Od 5 września 2008 r. zajmuję się <a title="http://www.freshports.org/polish/ekg/" href="http://www.freshports.org/polish/ekg/">portem pl-ekg</a> we FreeBSD (z racji tego, że nikt nie chciał się tym zająć, a ja wtedy miałem potrzebę korzystania z ekg). W zasadzie zajmowałem się, bo <a title="http://guzik.net.pl/blog/2008/10/eutanazja/" href="http://guzik.net.pl/blog/2008/10/eutanazja/">swój numer wyrejestrowałem dwa miesiące później</a>. Tak czy inaczej, nadal jestem wpisany jako opiekun. Tym samym nadal dochodzą do mnie takie wiadomości:</p>
<blockquote><p>W dniu 2010-01-31 12:55, krzad(at)xx.pl pisze:<br />
Witam</p>
<p>mam zainstalowane EKG na freeBSD<br />
mam problem z numerami gg podlaczajacymi sie do mnie z puli powyzej 16mln, czy mozliwe byloby zeby ktos upgradnal pakiet EKG wlacznie z libgadu ????</p></blockquote>
<p><span id="more-1547"></span>Jakoś ciągle odpychałem to od siebie i próbowałem znaleźć nowego opiekuna. Tym bardziej, że nie mam od dłuższego czasu FreeBSD pod ręką.<br />
Jednakże miara zgłoszeń się przebrała:</p>
<blockquote><p><code>Day changed to 02 Feb 2010<br />
[...]<br />
11:27 &lt;@s1m0n&gt; Użytkownik 2007nnnn próbował się z Tobą skontaktować. Niestety używasz starej wersji Komunikatora, która nie obsługuje numerów GG większych niż 17 milionów. Zaktualizuj swój Komunikator i rozmawiaj swobodnie: http://komunikator.gadu-gadu.pl</code></p></blockquote>
<p>Ruszyłem w końcu tyłek. Pierwsze podejście i porażka &#8211; FreeBSD w moim VirtualPC ma problem z siecią. Ugh! Myślałem, że to będzie operacja w stylu [Ctrl]+[c], [Ctrl]+[v]. Podejście drugie &#8211; 8.0-RELEASE i386 jako domU w Xen. Udało się!</p>
<p>Poniżej <a href="http://guzik.net.pl/blog/wp-content/uploads/2010/02/libgadu.patch.txt">łata na libgadu</a>. Do <a title="http://www.freebsd.org/cgi/query-pr.cgi?pr=143522" href="http://www.freebsd.org/cgi/query-pr.cgi?pr=143522">PR</a> aż wstyd się przyznać, bo wysłany na szybko. Zawiera błędne <code>PORTVERSION</code> i brakuje mu <code>DISTNAME</code>. W dodatku w odwrotnej kolejności. Eh!</p>
<p><code>diff -pruN ./Makefile /usr/ports/polish/libgadu/Makefile<br />
--- ./Makefile  2010-02-03 09:34:29.000000000 +0100<br />
+++ /usr/ports/polish/libgadu/Makefile  2010-02-03 10:35:07.000000000 +0100<br />
@@ -2,14 +2,15 @@<br />
# Date created:                29 December 2005<br />
# Whom:                        Aleksander Fafula<br />
#<br />
-# $FreeBSD: ports/polish/libgadu/Makefile,v 1.13 2009/03/15 19:52:19 makc Exp $<br />
+# $FreeBSD: ports/polish/libgadu/Makefile,v 1.14 2010/02/03 09:40:00 guzik Exp $</code></p>
<p><code>PORTNAME=      libgadu<br />
-PORTVERSION=   1.8.2<br />
-PORTREVISION=  1<br />
+PORTVERSION=   1.9.0.r2<br />
PORTREVISION=  1<br />
PORTEPOCH=     1<br />
CATEGORIES=    polish net<br />
MASTER_SITES=  http://toxygen.net/libgadu/files/<br />
+DISTNAME=      libgadu-1.9.0-rc2</code></p>
<p><code>MAINTAINER=    mwisnicki+freebsd(at)gmail(dot)com<br />
COMMENT=       This library is used by many IMs with Gadu-Gadu support<br />
diff -pruN ./distinfo /usr/ports/polish/libgadu/distinfo<br />
--- ./distinfo  2010-02-03 09:34:34.000000000 +0100<br />
+++ /usr/ports/polish/libgadu/distinfo  2010-02-03 09:37:05.000000000 +0100<br />
@@ -1,3 +1,3 @@<br />
-MD5 (libgadu-1.8.2.tar.gz) = 1090f82f8a1bb99e9cdf5853188f625f<br />
-SHA256 (libgadu-1.8.2.tar.gz) = 4aee3ace26f833fa9def6eaaa4f40a4b9c8e0d739386e0a3ccb1833e83573d71<br />
-SIZE (libgadu-1.8.2.tar.gz) = 410667<br />
+MD5 (libgadu-1.9.0-rc2.tar.gz) = 2d2a96a98e33d3a0055bc76f67a19f04<br />
+SHA256 (libgadu-1.9.0-rc2.tar.gz) = 66e972468960a9e5a6b1eb99bbf07f0ba8c8565dbd42ce6e59c403dafbb1a68a<br />
+SIZE (libgadu-1.9.0-rc2.tar.gz) = 508091</code></p>
<p>Z <a title="http://www.freebsd.org/cgi/query-pr.cgi?pr=143524" href="http://www.freebsd.org/cgi/query-pr.cgi?pr=143524">PR</a> dla ekg nie poszło lepiej. Wskazówka na przyszłość &#8211; myśleć <span style="text-decoration: underline;">przed</span> działaniem! Poniżej poprawna <a href="http://guzik.net.pl/blog/wp-content/uploads/2010/02/ekg.patch.txt">łata</a>:</p>
<p><code>diff -pruN ./Makefile /usr/ports/polish/ekg/Makefile<br />
--- ./Makefile  2010-02-03 09:29:23.000000000 +0100<br />
+++ /usr/ports/polish/ekg/Makefile      2010-02-03 11:17:38.000000000 +0100<br />
@@ -2,14 +2,14 @@<br />
# Date created:        24 March 2003<br />
# Whom:                Jacek Pelka<br />
#<br />
-# $FreeBSD: ports/polish/ekg/Makefile,v 1.31 2009/03/22 10:56:44 makc Exp $<br />
+# $FreeBSD: ports/polish/ekg/Makefile,v 1.32 2010/02/03 09:35:00 guzik Exp $</code></p>
<p><code> PORTNAME=              ekg<br />
-PORTVERSION=           1.7<br />
-PORTREVISION=          1<br />
+PORTVERSION=           1.8.r1<br />
PORTEPOCH=             2<br />
CATEGORIES=            polish net-im<br />
MASTER_SITES=          http://ekg.chmurka.net/<br />
+DISTNAME=              ekg-1.8rc1<br />
</code><br />
<code>MAINTAINER=            bartlomiej(at)syryjczyk(dot)name<br />
COMMENT=               Text-mode Gadu-Gadu client<br />
diff -pruN ./distinfo /usr/ports/polish/ekg/distinfo<br />
--- ./distinfo  2010-02-03 09:31:00.000000000 +0100<br />
+++ /usr/ports/polish/ekg/distinfo      2010-02-03 09:33:02.000000000 +0100<br />
@@ -1,3 +1,3 @@<br />
-MD5 (ekg-1.7.tar.gz) = 2aa92b56517fdf09d75519a105772b74<br />
-SHA256 (ekg-1.7.tar.gz) = 5fc42c8521c0e178f1b48d0b96578cbb5759202c6025ef9126c34af607897a2a<br />
-SIZE (ekg-1.7.tar.gz) = 530314<br />
+MD5 (ekg-1.8rc1.tar.gz) = ae98f336a71f7aad446a3f620b672441<br />
+SHA256 (ekg-1.8rc1.tar.gz) = 33156cecd12116914016a284051cc8e0b595d6e637c0b598efaaf821fd4c317f<br />
+SIZE (ekg-1.8rc1.tar.gz) = 525335<br />
diff -pruN ./files/patch-configure /usr/ports/polish/ekg/files/patch-configure<br />
--- ./files/patch-configure     2007-06-11 00:21:05.000000000 +0200<br />
+++ /usr/ports/polish/ekg/files/patch-configure 1970-01-01 01:00:00.000000000 +0100<br />
@@ -1,23 +0,0 @@<br />
---- configure.orig     Fri Jun  1 16:11:57 2007<br />
-+++ configure  Fri Jun  1 16:16:42 2007<br />
-@@ -4896,12 +4896,6 @@<br />
-       lib_static_enabled=no<br />
- fi<br />
-<br />
--if test "x$enable_static" = "xno" -a "x$enable_shared" != "xyes"; then<br />
--  { { echo "$as_me:$LINENO: error: You must choose either static or shared version of libgadu." &gt;&amp;5<br />
--echo "$as_me: error: You must choose either static or shared version of libgadu." &gt;&amp;2;}<br />
--   { (exit 1); exit 1; }; }<br />
--fi<br />
--<br />
- # Check whether --enable-dynamic was given.<br />
- if test "${enable_dynamic+set}" = set; then<br />
-   enableval=$enable_dynamic;<br />
-@@ -5941,7 +5935,6 @@<br />
-       if test "x$enable_libgadu_openssl" != "xno"; then<br />
-               LIBS_LIBGADU="$LIBS_LIBGADU $OPENSSL_LIBS"<br />
-               CFLAGS_LIBGADU="$CFLAGS_LIBGADU $OPENSSL_INCLUDES"<br />
--              PC_REQUIRES="$PC_REQUIRES openssl"<br />
-<br />
-       sed 's/#undef __GG_LIBGADU_HAVE_OPENSSL/#define __GG_LIBGADU_HAVE_OPENSSL/' &lt; lib/libgadu-config.h &gt; lib/libgadu-config.h-<br />
-       mv -f lib/libgadu-config.h- lib/libgadu-config.h</code></p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2010/02/niestety-uzywasz-starej-wersji-komunikatora-ktora-nie-obsluguje-numerow-gg-wiekszych-niz-17-milionow/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FreeBSD w domU</title>
		<link>http://guzik.net.pl/blog/2009/08/freebsd-w-domu/</link>
		<comments>http://guzik.net.pl/blog/2009/08/freebsd-w-domu/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 12:50:20 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=912</guid>
		<description><![CDATA[FreeBSD 8.0 (BETA2) współgra z Xen! Na razie pracuje jako gość, ale do uruchomienia go nie trzeba niczego przerabiać. Strasznie się nudzę&#8230;]]></description>
			<content:encoded><![CDATA[<p>FreeBSD 8.0 (BETA2) współgra z Xen! Na razie pracuje jako gość, ale do uruchomienia go nie trzeba niczego przerabiać.</p>
<p><a href="http://guzik.net.pl/blog/wp-content/uploads/2009/08/FreeBSD-domU.jpg"><img class="aligncenter size-medium wp-image-913" title="FreeBSD-domU" src="http://guzik.net.pl/blog/wp-content/uploads/2009/08/FreeBSD-domU-300x187.jpg" alt="FreeBSD-domU" width="300" height="187" /></a>Strasznie się nudzę&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2009/08/freebsd-w-domu/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>ZFS vs. LVM</title>
		<link>http://guzik.net.pl/blog/2008/11/zfs-vs-lvm/</link>
		<comments>http://guzik.net.pl/blog/2008/11/zfs-vs-lvm/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 22:50:53 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LVM]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[sz]]></category>
		<category><![CDATA[szkolenie]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=366</guid>
		<description><![CDATA[Jestem w trakcie szkolenia &#8222;Sun Solaris 10 &#38; Sun Cluster&#8221; (autorskie szkolenie ITL Polska). Dobrze prowadzone przez Piotra Brańka &#8211; w zasadzie to bardziej warsztaty niż teoretyczny wykład i na pewno dalekie od marketingowego bełkotu. Jestem zadowolony. Mam pojęcie ogólne o samym systemie, Sun Cluster, Solaris Zones i ZFS. No właśnie. ZFS! Wielu ludzi zaczynając [...]]]></description>
			<content:encoded><![CDATA[<p>Jestem w trakcie szkolenia &#8222;Sun Solaris 10 &amp; Sun Cluster&#8221; (autorskie szkolenie <a title="http://itlpolska.pl/site.php?action=site&amp;id_site=8&amp;id_language=1&amp;display_menu=&amp;" href="http://itlpolska.pl/site.php?action=site&amp;id_site=8&amp;id_language=1&amp;display_menu=&amp;">ITL Polska</a>). Dobrze prowadzone przez Piotra Brańka &#8211; w zasadzie to bardziej warsztaty niż teoretyczny wykład i na pewno dalekie od marketingowego bełkotu. Jestem zadowolony. Mam pojęcie ogólne o <a title="http://www.sun.com/software/solaris/" href="http://www.sun.com/software/solaris/">samym systemie</a>, <a title="http://www.sun.com/software/solaris/cluster/index.xml" href="http://www.sun.com/software/solaris/cluster/index.xml">Sun Cluster</a>, <a title="http://www.sun.com/software/solaris/containers_learning_center.jsp" href="http://www.sun.com/software/solaris/containers_learning_center.jsp">Solaris Zones</a> i <a title="http://en.wikipedia.org/wiki/ZFS" href="http://en.wikipedia.org/wiki/ZFS">ZFS</a>.</p>
<p>No właśnie. ZFS! Wielu ludzi zaczynając wywód na temat &#8222;Dlaczego Solaris&#8221; mówi o <a title="http://docs.sun.com/app/docs/doc/819-5461?l=en&amp;q=ZFS" href="http://docs.sun.com/app/docs/doc/819-5461?l=en&amp;q=ZFS">ZFS</a> upatrując w tym systemie plików największej zalety systemu i miażdżącego argumentu do dyskusji &#8222;A może inny system?&#8221;.</p>
<p>Słuchając na temat ZFS cały czas odnosiłem się do jedynego znanego mi podobnego rozwiązania (to czego używałem kiedyś w <a title="http://www-03.ibm.com/systems/power/software/aix/index.html" href="http://www-03.ibm.com/systems/power/software/aix/index.html">AIX</a> nawet nie wiem jak się nazywa :/) &#8211; mianowicie <a title="http://sourceware.org/lvm2/" href="http://sourceware.org/lvm2/">LVM</a>. Wiem, że nie powinno się nawet porównywać tych dwóch pojęć, bo LVM jedynie zarządza wolumenami, a ZFS to, uogólniając, system plików. Niemniej warstwa abstrakcji, która oddziela dane od fizycznych dysków, w ZFS, to dużo podobieństw (z punktu widzenia użytkownika końcowego) z LVM. I dlatego nie spadłem z krzesła na części teoretycznej :&gt;<br />
Przyznaję, ZFS zrobiłby na mnie ogromne wrażenie, gdybym wcześniej nie znał LVM. Na szczęście już przeszedłem <a title="http://linux.die.net/man/8/pvmove" href="http://linux.die.net/man/8/pvmove"><code>pvmove</code></a> (do obejrzenia <a title="http://duzy.zst.edu.pl/~guzik/pvmove.txt" href="http://duzy.zst.edu.pl/~guzik/pvmove.txt">jakiś mój test</a>, później <span style="text-decoration: underline;">wielokrotnie</span> powtarzany w produkcyjnych środowiskach, zawsze zakończony sukcesem) i temu podobne, toteż łatwo przyswoiłem sobie wszystko co usłyszałem na temat ZFS.</p>
<p>Przy okazji &#8211; <a title="http://wiki.freebsd.org/ZFS" href="http://wiki.freebsd.org/ZFS">ZFS jest we FreeBSD</a> (m. in. dzięki staraniom <a title="http://people.freebsd.org/~pjd/" href="http://people.freebsd.org/~pjd/">pjd</a>). <span style="text-decoration: underline;">Podobno</span> nie będzie w Linuksie ze względu na licencję (<a title="http://www.sun.com/cddl/" href="http://www.sun.com/cddl/">CDDL</a> nie podchodzi pod GPL, więcej do poczytania na <a title="http://kerneltrap.org/node/8066" href="http://kerneltrap.org/node/8066">kernelTRAP</a>).</p>
<p>Tutaj porównanie ZFS z LVM (nie rekomenduję, po prostu znalazłem):</p>
<ul>
<li><a title="http://www.unixconsult.org/zfs_vs_lvm.html" href="http://www.unixconsult.org/zfs_vs_lvm.html">ZFS vs. Linux Raid + LVM</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2008/11/zfs-vs-lvm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gentoo Linux runscript depend loop</title>
		<link>http://guzik.net.pl/blog/2008/07/gentoo-linux-runscript-depend-loop/</link>
		<comments>http://guzik.net.pl/blog/2008/07/gentoo-linux-runscript-depend-loop/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 21:43:39 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[after]]></category>
		<category><![CDATA[before]]></category>
		<category><![CDATA[depend]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Gentoo Linux]]></category>
		<category><![CDATA[need]]></category>
		<category><![CDATA[PROVIDE]]></category>
		<category><![CDATA[REQUIRE]]></category>
		<category><![CDATA[runscript]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=105</guid>
		<description><![CDATA[Nie wiem co przeciętny człowiek myśli pod prysznicem, ale mi wpadł do głowy pomysł zapętlenia skryptów startowych (sprawdzenia czy to w ogóle możliwe i jak zabezpieczyli się przed tym wydawcy danej dystrybucji / systemu). Na początek Gentoo Linux (leży najbliżej prysznica). Prosty skrypt dummy-1 wygląda tak: depend() { need dummy-2 } start() { echo "dummy-1 [...]]]></description>
			<content:encoded><![CDATA[<p>Nie wiem co przeciętny człowiek myśli pod prysznicem, ale mi wpadł do głowy pomysł zapętlenia skryptów startowych (sprawdzenia czy to w ogóle możliwe i jak zabezpieczyli się przed tym wydawcy danej dystrybucji / systemu).<br />
Na początek Gentoo Linux (leży najbliżej prysznica). Prosty skrypt <em>dummy-1</em> wygląda tak:</p>
<blockquote>
<pre>depend() {
need dummy-2
}

start() {
echo "dummy-1 on"
}

stop() {
echo "dummy-1 off"
}</pre>
</blockquote>
<p>Do tego jest jeszcze <em>dummy-2</em> i <em>dummy-3</em> różniące się od siebie wymaganiami (depend() -&gt; need), tak, aby każdy z nich wymagał kolejnego, a ostatni &#8211; pierwszego. W ten sposób powstaje teoretycznie zapętlenie. Co uzyskamy po próbie uruchomienia? Poniżej wynik:</p>
<blockquote>
<pre>abg-ng ~ # /etc/init.d/dummy-1 start
* ERROR:  cannot start dummy-3 as dummy-1 could not start
* ERROR:  cannot start dummy-2 as dummy-3 could not start
* ERROR:  cannot start dummy-1 as dummy-2 could not start</pre>
</blockquote>
<p>Czyli nie da się. Najpierw <em>dummy-1</em> wymaga, by <em>dummy-2</em> się uruchomił, ten z kolei chce <em>dummy-3</em>, który ostatecznie &#8216;psuje zabawę&#8217;, bo wymaga <em>dummy-1</em>, który nie potrafił się uruchomić, więc jako pierwszy zgłasza błąd. Później dwa kolejne.</p>
<p>Na drugi ogień pójdzie FreeBSD z <em>PROVIDE</em> i <em>REQUIRE</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2008/07/gentoo-linux-runscript-depend-loop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VLAN we FreeBSD</title>
		<link>http://guzik.net.pl/blog/2008/07/vlan-we-freebsd/</link>
		<comments>http://guzik.net.pl/blog/2008/07/vlan-we-freebsd/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 09:40:39 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[802.1Q]]></category>
		<category><![CDATA[VLAN]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=20</guid>
		<description><![CDATA[Nie znalazłem (może słabo szukałem) w Handbook&#8216;u strony pokazującej jak konfigurować VLAN w rc.conf, co prawda istnieje vlan(4), niemniej tutaj krótka instrukcja: cloned_interfaces=&#8221;vlan0&#8243; powoduje stworzenie interfejsu (podobnie jak przy innych nie-fizycznych interfejsach, np. carp). ifconfig_vlan0=&#8221;inet A.B.C.D/E vlan 0 vlandev fxp0&#8243; czyli konfiguracja sieciowa, przypisanie vlan_tag (802.1Q VLAN header) oraz przyporządkowanie interfejsu fizycznego. Ważne jest, że [...]]]></description>
			<content:encoded><![CDATA[<p>Nie znalazłem (może słabo szukałem) w <em>Handbook</em>&#8216;u strony pokazującej jak konfigurować VLAN w <a title="http://www.freebsd.org/cgi/man.cgi?query=rc.conf&amp;apropos=0&amp;sektion=5&amp;manpath=FreeBSD+7.0-RELEASE&amp;format=html" href="http://www.freebsd.org/cgi/man.cgi?query=rc.conf&amp;apropos=0&amp;sektion=5&amp;manpath=FreeBSD+7.0-RELEASE&amp;format=html">rc.conf</a>, co prawda istnieje <a title="http://www.freebsd.org/cgi/man.cgi?query=vlan&amp;sektion=4&amp;apropos=0&amp;manpath=FreeBSD+7.0-RELEASE" href="http://www.freebsd.org/cgi/man.cgi?query=vlan&amp;sektion=4&amp;apropos=0&amp;manpath=FreeBSD+7.0-RELEASE">vlan(4)</a>, niemniej tutaj krótka instrukcja:</p>
<blockquote><p>cloned_interfaces=&#8221;vlan0&#8243;</p></blockquote>
<p>powoduje stworzenie interfejsu (podobnie jak przy innych nie-fizycznych interfejsach, np. carp).</p>
<blockquote><p>ifconfig_vlan0=&#8221;inet A.B.C.D/E vlan 0 vlandev fxp0&#8243;</p></blockquote>
<p>czyli konfiguracja sieciowa, przypisanie vlan_tag (<a title="http://pl.wikipedia.org/wiki/802.1Q" href="http://pl.wikipedia.org/wiki/802.1Q">802.1Q</a> VLAN header) oraz przyporządkowanie interfejsu fizycznego.</p>
<p>Ważne jest, że gdy fizyczny interfejs, do którego przypisany jest vlan nie ma adresu, musi zostać &#8216;podniesiony&#8217; za pomocą:</p>
<blockquote><p>ifconfig_fxp0=&#8221;up&#8221;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2008/07/vlan-we-freebsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mail/tpop3d 1.5.4</title>
		<link>http://guzik.net.pl/blog/2008/07/mailtpop3d-154/</link>
		<comments>http://guzik.net.pl/blog/2008/07/mailtpop3d-154/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 05:58:24 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ports]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=16</guid>
		<description><![CDATA[Dzięki mojemu staraniu port mail/tpop3d dla FreeBSD został zaktualizowany do wersji 1.5.4. W przeszłości nawet napisałem jakąś poprawkę do samego tpop3d i próbowałem rozwijać statystyki w SQL. Uważam, że to dobre oprogramowanie, szkoda, że Chris Lightfoot odszedł. Miejmy nadzieję, że Arkadiusz Miśkiewicz godnie go zastąpi i projekt będzie żył nadal. Inne moje zgłoszenia (FreeBSD): aktualizacja [...]]]></description>
			<content:encoded><![CDATA[<p>Dzięki <a title="http://www.freebsd.org/cgi/query-pr.cgi?pr=125145" href="http://www.freebsd.org/cgi/query-pr.cgi?pr=125145">mojemu staraniu</a> port <a title="http://www.freshports.org/mail/tpop3d/" href="http://www.freshports.org/mail/tpop3d/">mail/tpop3d</a> dla <a title="http://www.freebsd.org/" href="http://www.freebsd.org/">FreeBSD</a> został zaktualizowany do wersji 1.5.4.</p>
<p>W przeszłości nawet napisałem jakąś poprawkę do samego tpop3d i próbowałem rozwijać statystyki w SQL. Uważam, że to dobre oprogramowanie, szkoda, że <a title="http://www.ex-parrot.com/~chris/" href="http://www.ex-parrot.com/~chris/">Chris Lightfoot</a> odszedł. Miejmy nadzieję, że <a title="http://savannah.nongnu.org/users/arekm" href="http://savannah.nongnu.org/users/arekm">Arkadiusz Miśkiewicz</a> godnie go zastąpi i projekt będzie żył nadal.</p>
<p>Inne <a title="http://www.freebsd.org/cgi/query-pr-summary.cgi?category=&amp;severity=&amp;priority=&amp;class=&amp;state=&amp;sort=none&amp;text=&amp;responsible=&amp;multitext=&amp;originator=Syryjczyk&amp;closedtoo=on&amp;release=" href="http://www.freebsd.org/cgi/query-pr-summary.cgi?category=&amp;severity=&amp;priority=&amp;class=&amp;state=&amp;sort=none&amp;text=&amp;responsible=&amp;multitext=&amp;originator=Syryjczyk&amp;closedtoo=on&amp;release=">moje zgłoszenia</a> (FreeBSD):</p>
<ul>
<li>aktualizacja <a title="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/114284" href="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/114284">databases/mysql-proxy</a> do wersji 0.5.1,</li>
<li>skrypty startowe dla <a title="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120183" href="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120183">databases/mysql-proxy</a>,</li>
<li>aktualizacja <a title="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120259" href="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120259">mail/sqlgrey</a> do wersji 1.7.6,</li>
<li><a title="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120687" href="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120687">polish/libgadu</a> z OpenSSL,</li>
<li><a title="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120688" href="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120688">polish/ekg</a> z OpenSSL,</li>
<li>aktualizacja <a title="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120785" href="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/120785">polish/libgadu</a> do wersji 1.7.2,</li>
<li>aktualizacja <a title="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/123072" href="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/123072">www/tomcat55</a> do wersji 5.5.26.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2008/07/mailtpop3d-154/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zliczanie ruchu do i z jail&#8217;a na FreeBSD</title>
		<link>http://guzik.net.pl/blog/2008/06/zliczanie-ruchu-do-i-z-jaila-na-freebsd/</link>
		<comments>http://guzik.net.pl/blog/2008/06/zliczanie-ruchu-do-i-z-jaila-na-freebsd/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 07:41:42 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ipfw]]></category>
		<category><![CDATA[jail]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=12</guid>
		<description><![CDATA[Rozwiązanie mało eleganckie. Wersja bardzo wczesna, potrzeba sporych poprawek i warunków (sprawdzanie modułu ipfw(8), sprawdzanie czy ipfw włączone, itp.). Łata na plik uruchamiający jail&#8217;e(8) (/etc/rc.d/jail) &#8212; /etc/rc.d/jail Tue Sep 11 18:44:44 2007 +++ /tmp/jail Tue Jul 1 08:14:11 2008 @@ -37,6 +37,8 @@ init_variables() eval _exec=\&#8221;\$jail_${_j}_exec\&#8221; eval _exec_start=\&#8221;\${jail_${_j}_exec_start:-${jail_exec_start}}\&#8221; eval _exec_stop=\&#8221;\${jail_${_j}_exec_stop:-${jail_exec_stop}}\&#8221; + eval _ipfwrulenoin=\&#8221;\$jail_${_j}_ipfwrulenoin\&#8221; + eval [...]]]></description>
			<content:encoded><![CDATA[<p>Rozwiązanie mało eleganckie. Wersja bardzo wczesna, potrzeba sporych poprawek i warunków (sprawdzanie modułu <a title="ipfw(8)" href="http://www.freebsd.org/cgi/man.cgi?query=ipfw&amp;sektion=8">ipfw(8)</a>, sprawdzanie czy ipfw włączone, itp.).</p>
<p>Łata na plik uruchamiający <a title="jail(8)" href="http://www.freebsd.org/cgi/man.cgi?query=jail&amp;sektion=8">jail&#8217;e(8)</a> (/etc/rc.d/jail)</p>
<blockquote><p>&#8212; /etc/rc.d/jail	Tue Sep 11 18:44:44 2007<br />
+++ /tmp/jail	Tue Jul  1 08:14:11 2008<br />
@@ -37,6 +37,8 @@ init_variables()<br />
eval _exec=\&#8221;\$jail_${_j}_exec\&#8221;<br />
eval _exec_start=\&#8221;\${jail_${_j}_exec_start:-${jail_exec_start}}\&#8221;<br />
eval _exec_stop=\&#8221;\${jail_${_j}_exec_stop:-${jail_exec_stop}}\&#8221;<br />
+	eval _ipfwrulenoin=\&#8221;\$jail_${_j}_ipfwrulenoin\&#8221;<br />
+	eval _ipfwrulenoout=\&#8221;\$jail_${_j}_ipfwrulenoout\&#8221;<br />
if [ -n "${_exec}" ]; then<br />
#   simple/backward-compatible execution<br />
_exec_start=&#8221;${_exec}&#8221;<br />
@@ -329,6 +331,14 @@ jail_start()<br />
_jail_id=$(head -1 ${_tmp_jail})<br />
tail +2 ${_tmp_jail} &gt;${_consolelog}<br />
echo ${_jail_id} &gt; /var/run/jail_${_jail}.id<br />
+				if [ -n "${_ipfwrulenoin}" ]; then<br />
+					/sbin/ipfw -q delete ${_ipfwrulenoin}<br />
+					/sbin/ipfw add ${_ipfwrulenoin} count all from any to ${_ip} jail ${_jail_id}<br />
+				fi<br />
+				if [ -n "${_ipfwrulenoout}" ]; then<br />
+					/sbin/ipfw -q delete ${_ipfwrulenoout}<br />
+					/sbin/ipfw add ${_ipfwrulenoout} count all from ${_ip} to any jail ${_jail_id}<br />
+				fi<br />
else<br />
jail_umount_fs<br />
if [ -n "${_interface}" ]; then</p></blockquote>
<p>Do /etc/rc.conf dodać następujące linie:</p>
<blockquote><p>jail_example_ipfwrulenoin (int): Numer reguły dla ruchu przychodzącego<br />
jail_example_ipfwrulenoout (int): Numer reguły dla ruchu wychodzącego</p></blockquote>
<p>&#8230;i jeszcze tylko testy. Powyższe, to rozważania czysto teoretyczne ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2008/06/zliczanie-ruchu-do-i-z-jaila-na-freebsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make love, not war!</title>
		<link>http://guzik.net.pl/blog/2008/06/make-love-not-war/</link>
		<comments>http://guzik.net.pl/blog/2008/06/make-love-not-war/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 07:17:07 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[OpeBSD]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=4</guid>
		<description><![CDATA[C:\Documents and Settings\Administrator&#62;make love Nazwa &#8216;make&#8217; nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy. C:\Documents and Settings\Administrator&#62;ver Microsoft Windows 2000 [Wersja 5.00.2195] guzik@abg-ng ~ $ make love make: *** Brak reguł do wykonania obiektu `love&#8217;. Stop. guzik@abg-ng ~ $ uname -sr Linux 2.6.25-gentoo-r4 [root@bastard ~]# make love make: don&#8217;t know [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>C:\Documents and Settings\Administrator&gt;make love<br />
Nazwa &#8216;make&#8217; nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy.<br />
C:\Documents and Settings\Administrator&gt;ver<br />
Microsoft Windows 2000 [Wersja 5.00.2195]</p>
<p>guzik@abg-ng ~ $ make love<br />
make: *** Brak reguł do wykonania obiektu `love&#8217;. Stop.<br />
guzik@abg-ng ~ $ uname -sr<br />
Linux 2.6.25-gentoo-r4</p>
<p>[root@bastard ~]# make love<br />
make: don&#8217;t know how to make love. Stop in /root.<br />
[root@bastard ~]# uname -sr<br />
OpenBSD 4.3</p></blockquote>
<blockquote><p>[guzik@silent ~]$ make love<br />
Not war.<br />
[guzik@silent ~]$ uname -sr<br />
FreeBSD 7.0-RELEASE</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2008/06/make-love-not-war/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

