<?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>Debian &#8211; Patriks Blog</title>
	<atom:link href="https://patrikschoenfeldt.de/tag/debian/feed/" rel="self" type="application/rss+xml" />
	<link>https://patrikschoenfeldt.de</link>
	<description>cat /dev/brain &#62;&#62; /www/blog</description>
	<lastBuildDate>Mon, 03 Jun 2013 09:40:36 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>Steam unter Debian mit chroot</title>
		<link>https://patrikschoenfeldt.de/2013/02/steam-unter-debian-mit-chroot/</link>
					<comments>https://patrikschoenfeldt.de/2013/02/steam-unter-debian-mit-chroot/#comments</comments>
		
		<dc:creator><![CDATA[Patrik Schönfeldt]]></dc:creator>
		<pubDate>Thu, 07 Feb 2013 10:20:10 +0000</pubDate>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet VDVC]]></category>
		<category><![CDATA[Steam]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">http://patrikschoenfeldt.de/wordpress/?p=463</guid>

					<description><![CDATA[Update 02. Juni 2013: Seit spätestens Ende Mai 2013 ist Steam in den offiziellen Debian-Repositories (aktuell nur experimental) verfügbar. Der Umweg mit dem Ubuntu-Chroot ist aber ohnehin nicht mehr nötig, weil Testing mittlerweile aktuell genug ist. Seit Ende November ist Steam für Linux erhältlich, sogar mit Counter-Strike: Source (seit vorgestern). Doch offiziell unterstützt wird leider &#8230; <a href="https://patrikschoenfeldt.de/2013/02/steam-unter-debian-mit-chroot/" class="more-link"><span class="screen-reader-text">Steam unter Debian mit chroot</span> weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p><strong>Update 02. Juni 2013:</strong> Seit spätestens Ende Mai 2013 ist Steam in den offiziellen Debian-Repositories (aktuell nur experimental) verfügbar. Der Umweg mit dem Ubuntu-Chroot ist aber ohnehin nicht mehr nötig, weil Testing mittlerweile aktuell genug ist.</p>
<hr />
<p>Seit Ende November ist <a href="http://patrikschoenfeldt.de/wordpress/2012/11/steam-fur-linux-erhaltlich/">Steam für Linux erhältlich</a>, sogar mit <a href="http://www.phoronix.com/scan.php?page=news_item&#038;px=MTI5NDI"><em>Counter-Strike: Source</em> (seit vorgestern)</a>. Doch offiziell unterstützt wird leider nur Ubuntu in der Version 12.04. Für die meisten Linuxnutzer ist das kein Problem, weil es meistens trotzdem läuft. Mit Debian ist das leider nicht der Fall. Ein bekanntes Workaround ist das Setzen von Umgebungsvariablen, was aber leider den Paketmanager umgeht. Eine in meinen Augen elegantere Möglichkeit ist die Benutzung von chroot.</p>
<figure id="attachment_466" aria-describedby="caption-attachment-466" style="width: 300px" class="wp-caption aligncenter"><a href="http://patrikschoenfeldt.de/wordpress/wp-content/uploads/2013/02/steam.png"><img decoding="async" src="http://patrikschoenfeldt.de/wordpress/wp-content/uploads/2013/02/steam-300x129.png" alt="Screenshot: Steam" width="300" height="129" class="size-medium wp-image-466" srcset="https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2013/02/steam-300x129.png 300w, https://patrikschoenfeldt.de/wordpress/wp-content/uploads/2013/02/steam.png 961w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-466" class="wp-caption-text">Steam unter Debian</figcaption></figure>
<p>Die Installation der Chroot-Umgebung mit Ubuntu ist denkbar einfach.<span id="more-463"></span> (Zu den angegebenen Befehlen: #: als Root ausführen, $: als User ausführen; in eckigen Klammern meint in der Chroot-Umgebung.) Es empfiehlt sich, direkt nach der Installation die Repositories zu bearbeiten und dem Nutzer (in meinem Fall <em>patrik</em>) die Nutzung des chroots zu erlauben:<br />
<code><br />
#: debootstrap --arch i386 precise /srv/chroot/ubuntu/ http://archive.ubuntu.com/ubuntu<br />
#: echo -e "deb http://archive.ubuntu.com/ubuntu precise main\n<br />
            deb http://archive.ubuntu.com/ubuntu precise-updates main\n<br />
            deb http://archive.ubuntu.com/ubuntu precise-security main\n"<br />
> /srv/chroot/ubuntu/etc/apt/sources.list<br />
#: echo -e "[Ubuntu 12.04]\n<br />
            description=Ubuntu Precise\n<br />
            directory=/srv/chroot/ubuntu\n<br />
            aliases=precise,default\n<br />
            users=patrik\n"<br />
>> /etc/schroot/schroot.conf<br />
</code></p>
<p>Zur Vorbereitung der neuen Umgebung sollte man zudem die Benutzereinstellungen in die neue Umgebung einfügen. Ich habe das teilweise per mounts gemacht, teilweise einfach kopiert:<br />
<code><br />
#: echo -e "# Ubuntu chroot\n<br />
            /home /srv/chroot/ubuntu/home none bind 0 0\n<br />
            /tmp /srv/chroot/ubuntu/tmp none bind 0 0\n<br />
            /dev /srv/chroot/ubuntu/dev none bind 0 0\n<br />
            /proc /srv/chroot/ubuntu/proc proc defaults 0 0\n<br />
            /run/shm /srv/chroot/ubuntu/run/shm none bind 0 0\n"<br />
>> /etc/fstab<br />
#: cp /etc/group /srv/chroot/ubuntu/etc/group<br />
#: cp /etc/passwd /srv/chroot/ubuntu/etc/passwd<br />
#: cp /etc/shadow /srv/chroot/ubuntu/etc/shadow<br />
#: cp /etc/hosts /srv/chroot/ubuntu/etc/hosts<br />
#: mount -a<br />
</code></p>
<p>Um in der Chroot-Umgebung auch auf den XServer zugreifen zu können, kann man (als Nutzer!) xhost erlauben, alle lokal laufenden Prozesse anzuzeigen:<br />
<code>xhost + local:</code></p>
<p>Damit läuft das Chroot-System auch schon. (Ja, ich hätte auch einfach ein Script bauen können, dann hätte niemand Befehle abtippen oder kopieren und einfügen müssen. Aber man soll ja auch was lernen.) Allerdings hatte zumindest ich Probleme mit der (nicht installierten) Lokalisierung. Also geht es erst einmal ab in die neue Umgebung:<br />
<code><br />
#: dchroot -d<br />
</code><br />
Dort angekommen, habe ich zuerst die Locale auf C gesetzt, um dann ohne Fehlermeldung in der Chroot die Locales installieren zu können. Direkt darauf folgen xterm (das installiert schon mal automatisch Xserver, etc mit) und wget. Beides ist nützlich für die spätere Installation von Steam. Außerdem installiere ich jockey-common und python-apt, weil Steam sonst später sudo startet, was ich nicht benutze(n möchte).<br />
<code><br />
[#:] export LANG=C.UTF-8<br />
[#:] export LANGUAGE=C<br />
[#:] apt-get update<br />
[#:] apt-get upgrade<br />
[#:] apt-get install language-pack-de<br />
[#:] export LANG=de_DE.UTF-8<br />
[#:] export LANGUAGE=de_DE<br />
[#:] apt-get install xterm wget<br />
[#:] apt-get install jockey-common python-apt<br />
</code></p>
<p>Jetzt kann Steam auch schon installiert werden. Direkt danach werden die Abhängigkeiten nachinstalliert.<br />
<code><br />
[#:] wget http://media.steampowered.com/client/installer/steam.deb<br />
[#:] dpkg -i steam.deb<br />
[#:] apt-get -f install<br />
</code></p>
<p>Damit ist Steam installiert. Um es nutzen zu können, muss die Chroot-Umgebung aber noch wissen, wo der Xserver zu finden ist. Um sicher zu gehen, dass es klappt, habe ich vor dem Start von Steam noch eben die DISPLAY-Variable gesetzt.<br />
<code><br />
$: dchroot -d<br />
[$:] export DISPLAY=:0<br />
[$:] steam<br />
</code></p>
<p>Gratulation! Jetzt sollte Steam in der Chroot-Umgebung laufen. Allerdings ist das noch alles andere als komfortabel. Um nicht jedes Mal ins Terminal gehen zu müssen, legen wir ein kleines Skript an. Es liegt /usr/local/bin/do_dchroot und hat folgenden Inhalt:<br />
<code><br />
#! /bin/bash<br />
/usr/bin/dchroot -d "`echo $0 | sed 's|^.*/||'` $*<br />
</code></p>
<p>Dieses Skript ruft automatisch Befehle in der Chroot-Umgebung auf, die den Namen des Skripts haben. Ein direktes Aufrufen würde also „do_dchroot“ innerhalb der Chroot-Umgenung aufrufen. Das ist natürlich nicht nützlich, aber mit einem kleinen Kniff wird es sehr praktisch:<br />
<code><br />
#: ln -s /usr/local/bin/do_dchroot /usr/local/bin/steam<br />
</code><br />
Man kann Symlinks mit beliebigen Namen auf das Skript<sup>[<a href="#steam-unter-debian-mit-chroot-n-1" class="footnoted" id="to-steam-unter-debian-mit-chroot-n-1">1</a>]</sup> verweisen lassen, die dann automatisch den Namen des Links im Chroot ausführen.</p>
<p>Wenn ich nichts vergessen haben sollte, müsste Steam jetzt genau so laufen, als wäre es normal unter Ubuntu installiert.</p>
<p><strong>Update 11. Februar 2013:</strong> Einige Flüchtigkeitsfehler behoben.</p>

<ol class="footnotes">
	<li class="footnote" id="steam-unter-debian-mit-chroot-n-1"><strong><sup>[1]</sup></strong>Gefunden habe ich diese Idee bei <a href="http://ubuntuforums.org/showthread.php?t=24575">Ubuntuforums</a><a class="note-return" href="#to-steam-unter-debian-mit-chroot-n-1">&#x21A9;</a></li></ol>
]]></content:encoded>
					
					<wfw:commentRss>https://patrikschoenfeldt.de/2013/02/steam-unter-debian-mit-chroot/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
