<?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>Hanfis Weg in die Hölle &#187; linux</title>
	<atom:link href="http://blog.spahan.ch/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.spahan.ch</link>
	<description>oder zumindest in deren Nähe</description>
	<lastBuildDate>Sat, 04 Sep 2010 21:36:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Netatalk auf Debian</title>
		<link>http://blog.spahan.ch/2010/05/netatalk-auf-debian/</link>
		<comments>http://blog.spahan.ch/2010/05/netatalk-auf-debian/#comments</comments>
		<pubDate>Sun, 30 May 2010 20:28:15 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[afp]]></category>
		<category><![CDATA[avahi]]></category>
		<category><![CDATA[filesharing]]></category>
		<category><![CDATA[mdns]]></category>
		<category><![CDATA[netatalk]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=243</guid>
		<description><![CDATA[Out of the box ist netatalk schlecht in eine Mac-Umgebung integriert. Dieser Artikel beschreibt wie man einen Linux File Server mit AFP einrichtet, der sich so verhält wie es Apple-Benutzer gewöhnt sind.]]></description>
			<content:encoded><![CDATA[<p><a href="http://netatalk.sourceforge.net/">Netatalk</a> ist ein <a href="http://en.wikipedia.org/wiki/Apple_Filing_Protocol">AFP Server</a> für Linux.</p>
<p>Wer schon mal Dateien zwischen Mac-Computern ausgetauscht hat, hat es mit hoher Wahrscheinlichkeit benutzt.<br />
Die installation ist Debiantypisch denkbar einfach: <code>aptitude install netatalk</code></p>
<p>Als nächstes muss man entscheiden, ob man AppleTalk unterstützen will. Wer keine Uralt-Macs im Netz hat, braucht das nicht. Es handelt sich dabei um ein Relikt aus alten Zeiten, Zeiten als TCP noch nicht das Standard-Protokoll war. Ich werde darauf hier nicht weiter eingehen.</p>
<p>Nun geht es ans konfigurieren des afpd. Die Konfigurationsdateien findet man in /etc/netatalk. Das Freigeben von Dateien und Ordnern ist ein 2-Schritt Prozess.<br />
Zuerst editieren wir /etc/netatalk/afpd.conf. In dieser Datei konfigurieren wir den afpd selber. Jede Zeile der Datei ohne # stellt einen Server dar. Im allgemeinen hat man einen Server:<br />
<code>- -tcp -noddp </code>-advertise_ssh<code><span> -uamlist <a href="http://uams_dhx.so,uams_dhx2.so">uams_dhx.so,uams_dhx2.so</a></span></code><br />
Das erste Feld definiert den Servernamen, &#8220;-&#8221; ist der default server. Danach folgen die Optionen; wir benützen tcp (-tcp), kein AppleTalk (-noddp) und ssh-advertising (für ältere MacOSx versionen).<br />
die uamlist option spezifiziert welche Methoden zur Authentifizierung benützt werden. In unserem Fall erlauben wir die beiden Diffie-Hellman eXchange Methoden.<br />
Weitere Optionen sind in der /etc/netatalk/afpd.conf oder unter &#8220;man afpd.conf&#8221; zu finden.</p>
<p>Als nächstes definieren wir die zu veröffentlichenden Ordner.<br />
Die öffentlich sichtbaren Shares sind in der Datei /etc/netatalk/AppleVolumes.default definiert. Dort freigegebene Ordner sieht ein User wenn er die notwendigen Rechte für diesen Bereich hat (Linux-Filesystem-Rechte). Wie bei afpd.conf wird auch hier Pro Zeile eine Freigabe beschrieben.<br />
Per default sind die Home-Ordner der User freigegeben, das sollte vorerst auch reichen.<br />
Jetzt sollte man das netatalk system neu starten <code>/etc/init.d/netatalk restart</code><br />
Auf einem Mac sollte es nun möglich sein, im Finder über &#8220;Connect to server&#8221; das Home-Verzeichniss zu mounten.</p>
<p>Damit wäre die Sache fast erledigt. Eines funktioniert nämlich noch gar nicht. Auf dem MacOS taucht der Server zwar automatisch in der Liste der gefundenen Server auf, aber er kann sich dort noch nicht verbinden. Apple verwendet für die &#8220;Location Discovery&#8221; mDNS. Die Standart-implementierung auf Linux ist avahi. Debian bringt avahi per default mit, daher werde ich hier nicht auf die Installation eingehen. Da netatalk keinen nativen support für avahi mitbringt, müssen wir für den afp-service eine eigene service-xml datei schreiben. Die Datei /etc/avahi/services/afpd.service sollte folgenden Inhalt haben:<br />
<code><br />
&lt;?xml version="1.0" standalone='no'?&gt;&lt;!--*-nxml-*--&gt;<br />
&lt;!DOCTYPE service-group SYSTEM "avahi-service.dtd"&gt;<br />
&lt;service-group&gt;<br />
&nbsp;&lt;name replace-wildcards="yes"&gt;AFP on %h&lt;/name&gt;<br />
&nbsp;&lt;service&gt;<br />
&nbsp;&nbsp;&lt;type&gt;_afpovertcp._tcp&lt;/type&gt;<br />
&nbsp;&nbsp;&lt;port&gt;548&lt;/port&gt;<br />
&nbsp;&lt;/service&gt;<br />
&lt;/service-group&gt;<br />
</code><br />
Nun sollte der Server auch im Finder erscheinen (falls nicht, avahi neu starten). Um sich mit dem Home-Verzeichniss zu verbinden, muss man noch auf &#8220;Connect as&#8221; klicken.</p>
<p>Ein wichtiger Hinweis.<br />
Dateien die mit &#8220;.Apple&#8221; beginnen sollte man in ruhe lassen. Diese werden vom afpd gebraucht um ein Apple Filesystem zu emulieren, und wenn diese Weg sind kann es zu komischem Verhalten kommen (im Speziellen wenn man mit Aliases und Links arbeitet).</p>
<p>Als kleine Übung will ich nun noch meinen Torrent-Ordner freigeben. Dieser wird aus dem Netz über das Deluge-Bittorrent Programm gefüllt worauf auch andere User Zugriff haben. Diese sollen sich ihre Dateien ja auch vom server runterladen können.<br />
<span> Dazu müssen wir &#8220;Guest Login&#8221; im afpd erlauben indem wir <a href="http://uams_guest.so">uams_guest.so</a> zur uamlist in /etc/netatalk/afpd.conf hinzufügen:</span><br />
<code><span>- -tcp -noddp -advertise_ssh -uamlist <a href="http://uams_guest.so,uams_dhx.so,uams_dhx2.so">uams_guest.so,uams_dhx.so,uams_dhx2.so</a> -nosavepassword</span></code><br />
Neustart des afpd <code>/etc/init.d/netatalk restart</code><br />
Diese User sehen noch kein Volume, da sie kein Home-Directory haben. Daher veröffentlichen wir noch das Verzeichnis in /etc/netatalk/AppleVolumes.default:<br />
<code>/home/spahan/deluge/complete/	"downloads"</code><br />
Dabei ist zu beachten, dass der afpd die Zugriffsrechte von Linux beachtet. Gäste können den Ordner daher nur sehen, wenn die &#8220;other&#8221;-Attribute Leserecht haben. Will man ihnen Schreibrechte geben, muss man &#8220;other&#8221; auch Schreibrechte geben (Schlechte Idee!).<br />
Obige Zeile kann zudem zu Problemen führen. Als User spahan kann ich gleichzeitig mein Homedir (/home/spahan/) und auch das deluge-Verzeichniss mounten. Mach ich das gleichzeitig kann das den afpd durcheinanderbringen. Die Man-page sagt explizit, das man keine Volumes verschachteln soll. Das Problem hierbei ist ähnlich wie wenn man die .Apple-Dateien löscht. Solange man aber nur lesend darauf zugreift sollte es keine Probleme geben.</p>
<p>Damit sollte AFP auf Linux funktionieren. Happy Sharing <img src='http://blog.spahan.ch/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
Noch ein paar nützliche Links fürs Troubleshooting:</p>
<ul>
<li><a href="http://netatalk.sourceforge.net/">Netatalk Homepage </a></li>
<li><a href="http://netatalk.sourceforge.net/2.1/htmldocs/configuration.html">Netatalk Konfigurations Beschreibung</a></li>
<li><a href="http://ubuntuforums.org/archive/index.php/t-347019.html">Konfiguration mit avahi im Ubuntu-Forum</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2010/05/netatalk-auf-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>upgrade hell</title>
		<link>http://blog.spahan.ch/2008/12/upgrade-hell/</link>
		<comments>http://blog.spahan.ch/2008/12/upgrade-hell/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 15:56:36 +0000</pubDate>
		<dc:creator>hanfi</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[lilo]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blog.spahan.ch/?p=55</guid>
		<description><![CDATA[Today I went over and had to enable the testing tree of debian. This was actualy very easy, just adding the correct repository to the sources.list in /etc/ap. One little trouble with this was aptitude crushing with not enough memory. This i solved by add APT::Cache-Limit:26777216 to the apt config. I did this by (dirty [...]]]></description>
			<content:encoded><![CDATA[<p>Today I went over and had to enable the testing tree of debian.</p>
<p>This was actualy very easy, just adding the correct repository to the sources.list in /etc/ap. One little trouble with this was aptitude crushing with not enough memory. This i solved by add APT::Cache-Limit:26777216 to the apt config. I did this by (dirty ) add the line to the /etc/apt/apt.conf.d/70debconf file (i tried make a new file in the conf directory, but apt ignored my file).</p>
<p>Next was to run aptitude and update my packages. This took quiet some time since a big load of packages got updated, and i had to resolve some conflicts manualy. Actualy i just had to remove a obsolete package that hold a lot of other packages back.</p>
<p>As i was doing maintenance anyway i checked out uname -a to see what my kernel is. Big surprise, even if i had installed about 5 more recent kernes on my Harddisk, it seems i never actualy loaded those! So i headed over to /boot and linked vmlinuz and initrd.img to the most recent ones, run lilo and rebooted.</p>
<p>This was where all went bad. Somehow it didnt installed my lilo, and my system refused to boot. After about 10 reboots into the hetzner rescue system later, i finaly managed to install a working version of the kernel.But finaly i run a 2.26 linux kernel now.</p>
<p>One more problem was to install newest version of VMware. I needed to export a old gcc (4.1 instead 4.3) and ignore complaints about minor version differences. Some time in the future i need try run this shitty legacy server only running on windows with wine again, but guess what..their debian repository just went down today so im out of luck with this (Why don&#8217;t those big Software Vendors at least publish their old non-continued software under some open-to-use licence? so at least we could make it run on modern systems like linux,bsd instead need run emulations? Fuck you Adobe!).</p>
<p>Long talk, short outcome..all is back and running now. Yay me!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.spahan.ch/2008/12/upgrade-hell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
