{"id":1669,"date":"2023-09-09T15:53:02","date_gmt":"2023-09-09T13:53:02","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=1669"},"modified":"2023-09-09T15:53:04","modified_gmt":"2023-09-09T13:53:04","slug":"loop-virtuelle-dateisysteme-unter-linux","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2023\/09\/09\/loop-virtuelle-dateisysteme-unter-linux\/","title":{"rendered":"Loop &#8211; virtuelle Dateisysteme unter Linux"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Was sind eigentlich Loop-Ger\u00e4te unter Linux?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Gerade Ubuntu-Nutzer, die sich hin und wieder am\u00a0Terminal\u00a0austoben, sollten hin und wieder einmal auf den Begriff &#8222;<strong>loopX<\/strong>&#8220; gesto\u00dfen sein &#8211; wobei das &#8222;<strong>X<\/strong>&#8220; durch eine Ziffer ersetzt wird. Ubuntus Snap nutzt Loop-Ger\u00e4te, einfach gesagt &#8211; virtuelle Dateisysteme, oder auch Block-Ger\u00e4te.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nur weil Snap nun Loop nutzt, soll dies nichts schlechtes hei\u00dfen &#8211; Loop gibt es seit Anbeginn der UNIX-Zeit &#8211; Ubuntu hat sich nur die guten Eigenschaften von Loop zunutze gemacht.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Nun &#8211; erst einmal, was kann Loop?<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Es kann verwendet werden, um ein Betriebssystem \u00fcber ein Dateisystem zu installieren, ohne das Laufwerk neu partitionieren zu m\u00fcssen.<\/li>\n\n\n\n<li>Eine bequeme M\u00f6glichkeit, Systemabbilder zu konfigurieren (nachdem sie gemountet wurden).<\/li>\n\n\n\n<li>Bietet dauerhafte Trennung von Daten.<\/li>\n\n\n\n<li>Es kann f\u00fcr Sandbox-Anwendungen verwendet werden, die alle erforderlichen Abh\u00e4ngigkeiten enthalten. (etwa Snap)<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Die praktische Seite an Loop<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wir normale Benutzer nutzen Loop meist mit bereits bestehenden Blockger\u00e4ten &#8211; also Dateien, die bereits bestehen und auf die wir zugreifen m\u00f6chten. Etwa Images von CDs, DVDs oder auch Images von ganzen Partitionen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich habe hier beispielsweise ein Image einer Debian-Netinstall-CD:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-1024x576.jpg\" alt=\"\" class=\"wp-image-1670\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ich m\u00f6chte jetzt auf die Dateien in diesem ISO zugreifen &#8211; nat\u00fcrlich k\u00f6nnte man das ganze Teil entpacken &#8211; etwa per Rechtsklick auf die Datei:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-1-1024x576.jpg\" alt=\"\" class=\"wp-image-1671\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-1-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-1-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-1-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-1-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-1.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das kostet jedoch Speicherplatz, so viele Platz wie das komplette ISO-Image und vor allem auch Zeit. Auch belegt dann die ISO-Datei Platz und eben auch die entpackten Dateien.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir k\u00f6nnten nat\u00fcrlich die passende Software installieren &#8211; etwa Isomaster (<em>werde ich mal als Beitrag vorstellen<\/em>), dann hat man aber eine Software installiert, die man nur in den seltensten F\u00e4llen ben\u00f6tigt &#8211; wozu also. Die n\u00f6tigen Mittel sind unter Linux schon an Bord.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mounten (<em>ins System einh\u00e4ngen<\/em>) wir die ISO-Datei direkt, ben\u00f6tigt dies keinen Byte zus\u00e4tzlichen Speicherplatz, denn wir greifen direkt auf die Datei zu. Dazu erstellen wir und mit\u00a0administrativen Rechten\u00a0unter &#8222;<em>\/mnt<\/em>&#8220; ein passendes Verzeichnis &#8211; etwa ganz einfach &#8222;<em>iso<\/em>&#8220; &#8211; am\u00a0Terminal:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir \/mnt\/iso<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-2-1024x576.jpg\" alt=\"\" class=\"wp-image-1672\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-2-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-2-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-2-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-2-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-2.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt haben wir unter &#8222;<em>\/mnt<\/em>&#8220; ein neues Verzeichnis namens &#8222;<em>iso<\/em>&#8222;, dieses ist nat\u00fcrlich noch leer. In dieses Verzeichnis mounten wir jetzt die ISO-Datei &#8211; die Syntax (<em>nat\u00fcrlich mit administrativen Rechten<\/em>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mount -o loop \/pfad\/zur\/ISO-datei.iso \/mount\/verzeichnis\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In meinem Beispiel:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mount -o loop \/home\/robertg\/Downloads\/debian-11.5.0-amd64-netinst.iso \/mnt\/iso<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-3-1024x576.jpg\" alt=\"\" class=\"wp-image-1673\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-3-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-3-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-3-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-3-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-3.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die ISO-Datei zeigt sich jetzt links in der Orte-Liste des Dateimanagers, \u00fcber diesen kann man jetzt auf den Inhalt des Images zugreifen. Aber nur lesend.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Tipp!:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Manche Anwendungen &#8211; eben Windows-Anwendungen, wollen sich absolut nur von CD oder DVD installieren lassen (<em>egal, ob unter Windows oder unter\u00a0Wine<\/em>) &#8211; h\u00e4ngen Sie die ISO-Datei so ein, wird es auch klappen.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Um das eingeh\u00e4ngte Dateisystem wieder auszuh\u00e4ngen, nutzt man &#8222;<strong><code>umount<\/code><\/strong>&#8220; und gibt das Verzeichnis an:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>umount \/mnt\/iso\/<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Weiteres Beispiel<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich erstelle von &#8222;<em>dev\/sda1<\/em>&#8220; ein Image, etwa zur Sicherung &#8211; die Daten schreibe ich via &#8222;<strong><code>dd<\/code><\/strong>&#8220; (<em>mit administrativen Rechten<\/em>) in die Datei &#8222;<strong>sda1.img<\/strong>&#8222;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dd if=\/dev\/sda1 of=\/home\/robert\/Sicherungen\/sda1.img status=progress<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Vorsicht &#8211; die Datei wird so gro\u00df, wie die Partition &#8222;<strong>sda1<\/strong>&#8222;. Jetzt habe ich die Datei und keinen Zugriff auf die Daten darin, nat\u00fcrlich h\u00e4ngen wir die Datei ganz einfach wieder ein:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mount -o loop \/pfad\/zur\/sda1.img \/mount\/iso\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Schon k\u00f6nnen Sie problemlos \u00fcber den Dateimanager auf die darin enthaltenen Dateien zugreifen. M\u00f6chten Sie zus\u00e4tzlich auch weitere Dateien in das Image einf\u00fcgen, nutzen Sie zus\u00e4tzlich die Option &#8222;<strong><code>rw<\/code><\/strong>&#8220; (<em>read \/ write<\/em>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mount -o loop,rw \/pfad\/zur\/sda1.img \/mount\/iso\/<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Um alle m\u00f6glichen Loop-Ger\u00e4te anzuzeigen (<em>nat\u00fcrlich auch Snap-Loops und Co<\/em>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>losetup -a<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-4-1024x576.jpg\" alt=\"\" class=\"wp-image-1674\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-4-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-4-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-4-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-4-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Screenshot_20221106_161609-4.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"1669\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">1    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"1669\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\"><\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Was sind eigentlich Loop-Ger\u00e4te unter Linux? Gerade Ubuntu-Nutzer, die sich hin und wieder am\u00a0Terminal\u00a0austoben, sollten hin und wieder einmal auf den Begriff &#8222;loopX&#8220; gesto\u00dfen sein &#8211; wobei das &#8222;X&#8220; durch eine Ziffer ersetzt wird. Ubuntus Snap nutzt Loop-Ger\u00e4te, einfach gesagt &#8211; virtuelle Dateisysteme, oder auch Block-Ger\u00e4te. Nur weil Snap nun Loop nutzt, soll dies nichts [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1673,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[15],"class_list":["post-1669","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-system","tag-system"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/1669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=1669"}],"version-history":[{"count":1,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/1669\/revisions"}],"predecessor-version":[{"id":1675,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/1669\/revisions\/1675"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/1673"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=1669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=1669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=1669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}