<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Binfmt_misc</id>
	<title>Binfmt misc - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Binfmt_misc"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Binfmt_misc&amp;action=history"/>
	<updated>2026-05-27T04:42:41Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Binfmt_misc&amp;diff=1368599&amp;oldid=prev</id>
		<title>imported&gt;A1000: -BKL</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Binfmt_misc&amp;diff=1368599&amp;oldid=prev"/>
		<updated>2024-11-08T09:04:59Z</updated>

		<summary type="html">&lt;p&gt;-BKL&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{SEITENTITEL:binfmt_misc}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;binfmt_misc&amp;#039;&amp;#039;&amp;#039; ist eine Fähigkeit des [[Linux (Kernel)|Linux-Kernels]], beliebige [[ausführbare Datei]]en zu erkennen und einem bestimmten Programm im [[User-Mode]] zu übergeben, wie beispielsweise einem [[Interpreter]] oder einem Programmstarter, der das Programm in den Arbeitsspeicher lädt.&lt;br /&gt;
&lt;br /&gt;
Es handelt sich um ein optionales [[Kernel-Modul]], durch welches im Prinzip jede Datei als Programm ausgeführt werden kann. Dadurch grenzt es sich gegenüber anderen Techniken, zum Beispiel dem [[Shebang]]-Mechanismus, ab.&lt;br /&gt;
&lt;br /&gt;
Die ausführbaren Formate werden in einer zentralen [[datenbank]]artigen Form in einem [[virtuelles Dateisystem|virtuellen Dateisystem]], der sogenannten [[#Registrierung|Registrierung]], gespeichert, welches ähnlich wie [[devfs]], [[procfs]] oder [[sysfs]] arbeitet. Standardmäßig wird dieses Dateisystem unter &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;/proc/sys/fs/binfmt_misc&amp;lt;/span&amp;gt; [[Mounten|eingebunden]].&lt;br /&gt;
&lt;br /&gt;
== Abgrenzung gegenüber anderen Techniken ==&lt;br /&gt;
Eine alternative Möglichkeit, die ein ähnliches Ziel wie &amp;#039;&amp;#039;binfmt_misc&amp;#039;&amp;#039; verfolgt, ist der [[Shebang]]-Mechanismus. Bei ihm wird in der ersten Zeile der auszuführenden Datei der Interpreter mit der Zeichenkombination &amp;lt;code&amp;gt;#!&amp;lt;/code&amp;gt; festgelegt. Diese Technik ist auf [[Unix-Derivat]]en vor allem für [[Skriptsprache|Skripte]] sehr weit verbreitet, eignet sich allerdings auch nur für [[Textdatei]]en.&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;binfmt_misc&amp;#039;&amp;#039;-Technik hingegen benötigt keine spezielle Kennzeichnung in der Datei, es muss sich daher auch nicht (zwingend) um eine reine Textdatei handeln. Dadurch, dass die Assoziation zwischen Dateien und Interpretern in einer systemweit zentralen Datenbank festgehalten wird, könnte beispielsweise das [[Shebang#Speicherort|Problem des Speicherortes]] beim Shebang-Mechanismus gelöst werden.&lt;br /&gt;
&lt;br /&gt;
== Registrierung ==&lt;br /&gt;
Die Verknüpfung zwischen [[Dateityp]]en und Interpretern ist in der Datei &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;register&amp;lt;/span&amp;gt; hinterlegt. Diese befindet sich direkt im [[Stammverzeichnis]] des virtuellen &amp;#039;&amp;#039;binfmt_misc&amp;#039;&amp;#039;-[[Dateisystem]]s. Da das &amp;#039;&amp;#039;binfmt_misc&amp;#039;&amp;#039;-Dateisystem meist unter &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;/proc/sys/fs/binfmt_misc&amp;lt;/span&amp;gt; gemountet wird, ist der Name der Datei auf den meisten Linux-Systemen &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;/proc/sys/fs/binfmt_misc/register&amp;lt;/span&amp;gt;. Es handelt sich dabei um eine Textdatei, in der jede Zeile einen Eintrag darstellt, der festlegt, wie ausführbare Dateien behandelt werden sollen. Jede Zeile hat dabei die folgende Form:&lt;br /&gt;
&lt;br /&gt;
 :&amp;#039;&amp;#039;name&amp;#039;&amp;#039;:&amp;#039;&amp;#039;type&amp;#039;&amp;#039;:&amp;#039;&amp;#039;offset&amp;#039;&amp;#039;:&amp;#039;&amp;#039;magic&amp;#039;&amp;#039;:&amp;#039;&amp;#039;mask&amp;#039;&amp;#039;:&amp;#039;&amp;#039;interpreter&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
Dabei stehen die [[Datenfeld|Felder]]&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; für den dateiweit einzigartigen Namen des Formates, welches in dieser Zeile festgelegt wird&lt;br /&gt;
* &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;&amp;#039;&amp;#039;type&amp;#039;&amp;#039;&amp;lt;/span&amp;gt; für die Art, wie die Datei erkannt werden soll. Dieses Feld hat entweder den Wert &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt; oder &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt;. Wenn &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt; gesetzt wurde, wird die ausführbare Datei an der [[Dateiendung|Dateierweiterung]] erkannt, &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;offset&amp;lt;/span&amp;gt; und &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;mask&amp;lt;/span&amp;gt; werden dann ignoriert. In dem Feld &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;magic&amp;lt;/span&amp;gt; muss dann die Dateierweiterung des Dateiformats angegeben werden. Wenn hingegen &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;M&amp;lt;/span&amp;gt; eingestellt wird, wird die ausführbare Datei durch Bytes am Anfang der Datei erkannt. &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;magic&amp;lt;/span&amp;gt; ist dann die [[Magische Zahl (Informatik)|&amp;#039;&amp;#039;magic number&amp;#039;&amp;#039;]], die die Datei identifiziert und &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;offset&amp;lt;/span&amp;gt; ist die Stelle, an der die &amp;#039;&amp;#039;magic number&amp;#039;&amp;#039; in der Datei gefunden werden kann. Auf &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;mask&amp;lt;/span&amp;gt; wird das [[Bitweiser Operator|bitweise UND]] mit der charakteristischen Zeichenfolge (in Hex), dem &amp;#039;&amp;#039;magic string&amp;#039;&amp;#039;, aus der Datei angewandt: Ungesetzte Bits werden ignoriert im Vergleich zum &amp;#039;&amp;#039;magic&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;interpreter&amp;lt;/span&amp;gt; für den [[Pfadname|Pfad]] zu einem [[Computerprogramm|Programm]]. Der Pfad zu der auszuführenden Datei wird dabei als [[Argument]] übergeben.&lt;br /&gt;
&lt;br /&gt;
Zu jedem registrierten Dateityp erstellt &amp;#039;&amp;#039;binfmt_misc&amp;#039;&amp;#039; eine Datei in dem virtuellen Dateisystem. Diese Datei kann später gelesen werden, um Informationen über das Dateiformat zu erhalten.&lt;br /&gt;
&lt;br /&gt;
== Nutzung ==&lt;br /&gt;
[[Common Language Infrastructure|CLI]]- und [[Java-Plattform|Java]]-Anwendungen können dank &amp;#039;&amp;#039;binfmt_misc&amp;#039;&amp;#039; direkt dem richtigen Interpreter übergeben werden und so direkt über die [[Unix-Shell|Shell]] oder durch andere Programme gestartet werden.&lt;br /&gt;
&lt;br /&gt;
Es ist auch üblich, [[Portable Executable|Portable-Executable]]-Dateien (Dateien mit den [[Dateiendung]]en [[EXE|.exe]] und [[Dynamic Link Library|.dll]], die für [[MS-DOS]] oder [[Microsoft Windows]] kompiliert wurden) auf diese Art und Weise mit [[Wine]] auszuführen. In der [[#Registrierung|Registrierungsdatei]] würde man dann folgende Zeile notieren:&lt;br /&gt;
&lt;br /&gt;
 :DOSWin:M::MZ::/usr/bin/wine:&lt;br /&gt;
&lt;br /&gt;
Durch den &amp;#039;&amp;#039;magic string&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;MZ&amp;lt;/span&amp;gt; im &amp;#039;&amp;#039;type_code&amp;#039;&amp;#039; wird der Dateityp einer &amp;#039;&amp;#039;Portable Executable&amp;#039;&amp;#039; dabei erkannt und die Datei mit der Windows-Laufzeitumgebung ausgeführt.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.kernel.org/doc/Documentation/admin-guide/binfmt-misc.rst binfmt_misc Dokumentation auf kernel.org (englisch)]&lt;br /&gt;
* [https://web.archive.org/web/20100118183358/http://www.tat.physik.uni-tuebingen.de/~rguenth/linux/binfmt_misc.html Projekt-Homepage] Archiviert durch archive.org (englisch)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Linux-Betriebssystemkomponente]]&lt;/div&gt;</summary>
		<author><name>imported&gt;A1000</name></author>
	</entry>
</feed>