{"id":4291,"date":"2024-12-22T07:40:57","date_gmt":"2024-12-21T22:40:57","guid":{"rendered":"https:\/\/matoken.org\/blog\/?p=4291"},"modified":"2024-12-22T07:40:58","modified_gmt":"2024-12-21T22:40:58","slug":"fuse-mount-various-archives-with-fuse-archive","status":"publish","type":"post","link":"https:\/\/matoken.org\/blog\/2024\/12\/22\/fuse-mount-various-archives-with-fuse-archive\/","title":{"rendered":"fuse-archive\u3067\u3044\u308d\u3044\u308d\u306a\u30a2\u30fc\u30ab\u30a4\u30d6\u3092fuse mount"},"content":{"rendered":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 24 24\"><rect width=\"24\" height=\"24\" fill=\"none\"\/><path fill=\"currentColor\" d=\"M5.77 20q-.672 0-1.221-.549T4 18.231V7.486q0-.292.093-.55t.28-.475l1.558-1.87q.217-.293.543-.442T7.173 4h9.616q.372 0 .708.149t.553.441l1.577 1.91q.187.217.28.485q.093.267.093.56V18.23q0 .671-.549 1.22t-1.22.549zM5.38 6.808H18.6L17.27 5.21q-.097-.096-.222-.153T16.788 5H7.192q-.134 0-.26.058t-.22.154zM12 10.577q-.213 0-.357.143t-.143.357v4.2l-1.746-1.746q-.14-.14-.344-.15t-.364.15t-.16.354t.16.354l2.388 2.388q.243.242.566.242t.566-.242l2.388-2.388q.14-.141.15-.345t-.15-.363t-.354-.16t-.354.16L12.5 15.277v-4.2q0-.213-.143-.357T12 10.577\"\/><\/svg><!-- material-symbols-light:archive-rounded --><\/p>\n<div class=\"paragraph\">\n<p>\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u306e\u6642\u671f\u3067\u3059\u306d\uff0e\u672c\u6765\u306e\u30af\u30ea\u30b9\u30de\u30b9\u306b\u5411\u3051\u30ab\u30ec\u30f3\u30c0\u30fc\u3092\u65e5\u306b\u65e5\u306b\u3081\u304f\u308a\u304a\u83d3\u5b50\u304c\u51fa\u3066\u304f\u308b\u611f\u3058\u306e\u3082\u306e\u3068\u306f\u5225\u306b\u8fd1\u5e74\u6280\u8853\u8005\u5411\u3051\u306e\u8a18\u4e8b\u3092\u30af\u30ea\u30b9\u30de\u30b9\u307e\u3067\u516c\u958b\u3057\u3066\u304f\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u3082\u3042\u308a\u307e\u3059\uff0e<br \/>\n\u305d\u306e\u4e2d\u306eFreeBSD\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u3092\u898b\u3066\u3044\u3066\u4ee5\u4e0b\u306e\u8a18\u4e8b\u304c\u6c17\u306b\u306a\u308a\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/qiita.com\/s_mitu\/items\/60c3ff9392dda141e781\">tarfs(4) \u305f\u3041\u306a\u3093\u3067\u3059\u304b\uff1f #FreeBSD &#8211; Qiita<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>FreeBSD 14\u304b\u3089tar\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306b\u30de\u30a6\u30f3\u30c8\u3059\u308btarfs(4)\u304c\u5165\u3063\u305f\u305d\u3046\u3067\u3059\uff0eLinux\u3067fuse-zip\u3068\u304b\u306f\u4f7f\u3063\u305f\u3053\u3068\u304c\u3042\u308b\u3051\u3069\u4ed6\u306b\u3082\u306a\u3044\u304b\u306a\u3068\u63a2\u3057\u3066fuse-archive\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<p><!--more--><\/p>\n<div class=\"paragraph\">\n<p>fuse-zip\u306f<a href=\"https:\/\/github.com\/libfuse\/libfuse\">Filesystem in Userspace(FUSE)<\/a>\u7d4c\u7531\u3067zip\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u30de\u30a6\u30f3\u30c8\u3067\u304d\u308b\u3082\u306e\u3067\u3059\uff0eDebian\u30d1\u30c3\u30b1\u30fc\u30b8\u3082\u3042\u308b\u306e\u3067\u5c0e\u5165\u3084\u7ba1\u7406\u304c\u697d\u3067\u3059\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/bitbucket.org\/agalanin\/fuse-zip\/src\">agalanin \/ fuse-zip \u2014 Bitbucket<\/a>  \u203b\u8981JavaScript<\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/packages.debian.org\/search?keywords=fuse-zip\">Debian&#8201;&#8212;&#8201;\u30d1\u30c3\u30b1\u30fc\u30b8\u691c\u7d22\u7d50\u679c&#8201;&#8212;&#8201;fuse-zip<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>fuse-archive\u306f\u305f\u304f\u3055\u3093\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u306b\u5bfe\u5fdc\u3057\u305f\u540c\u3058\u3088\u3046\u306a\u3082\u306e\u306e\u3088\u3046\u3067\u3059\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/google\/fuse-archive\">google\/fuse-archive: FUSE file system for archives and compressed files (ZIP, RAR, 7Z, ISO, TGZ, XZ&#8230;&#8203;)<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_fuse_archive\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\">fuse-archive\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>\u4eca\u56de\u3082Debian sid amd64\u74b0\u5883\u306b\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e<br \/>\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5\u306f <code>INSTALL.md<\/code> \u306b\u8a73\u3057\u3044\u3067\u3059\uff0e<br \/>\n\u3053\u3053\u3067\u306f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u306b <code>DESTDIR<\/code> \u3092\u8a2d\u5b9a\u3057\u3066\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4ee5\u4e0b\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ sudo apt install libboost-container-dev libfuse-dev libarchive-dev \\\n                  g++ pkg-config make pandoc \\\n                  python3 <b class=\"conum\">(1)<\/b>\n$ git clone https:\/\/github.com\/google\/fuse-archive.git <b class=\"conum\">(2)<\/b>\n$ cd fuse-archive\n$ make <b class=\"conum\">(3)<\/b>\n$ make check\n$ DESTDIR=~\/ make install <b class=\"conum\">(4)<\/b>\ninstall -D \"out\/fuse-archive\" \"\/home\/matoken\/\/usr\/bin\/fuse-archive\"\ninstall -D -m 644 fuse-archive.1 \"\/home\/matoken\/\/usr\/share\/man\/man1\/fuse-archive.1\"\n$ which fuse-archive\n\/home\/matoken\/usr\/bin\/fuse-archive<\/pre>\n<\/div>\n<\/div>\n<div class=\"colist arabic\">\n<ol>\n<li>\n<p>\u95a2\u9023\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165<\/p>\n<\/li>\n<li>\n<p>source\u306eclone<\/p>\n<\/li>\n<li>\n<p>build<\/p>\n<\/li>\n<li>\n<p>DESTDIR\u3092\u6307\u5b9a\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_fuse_archive\u306e\u5229\u7528\">fuse-archive\u306e\u5229\u7528<\/h2>\n<div class=\"sectionbody\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ fuse-archive linux-6.8.2.tar.xz <b class=\"conum\">(1)<\/b>\nfuse-archive: Created mount point 'linux-6.8.2' <b class=\"conum\">(2)<\/b>\n$ mount | grep linux <b class=\"conum\">(3)<\/b>\nfuse-archive on \/home\/matoken\/Downloads\/linux-6.8.2 type fuse.fuse-archive (ro,nosuid,nodev,relatime,user_id=1000,group_id=1000)\n$ grep linux \/etc\/mtab\nfuse-archive \/home\/matoken\/Downloads\/linux-6.8.2 fuse.fuse-archive ro,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0\n$ ls linux-6.8.2\/linux-6.8.2\/ <b class=\"conum\">(4)<\/b>\nCOPYING  Documentation  Kconfig   MAINTAINERS  README  block  crypto   fs       init      ipc     lib  net   samples  security  tools  virt\nCREDITS  Kbuild         LICENSES  Makefile     arch    certs  drivers  include  io_uring  kernel  mm   rust  scripts  sound     usr\n$ head linux-6.8.2\/linux-6.8.2\/README <b class=\"conum\">(5)<\/b>\nLinux kernel\n============\n\nThere are several guides for kernel developers and users. These guides can\nbe rendered in a number of formats, like HTML and PDF. Please read\nDocumentation\/admin-guide\/README.rst first.\n\nIn order to build the documentation, use ``make htmldocs`` or\n``make pdfdocs``.  The formatted documentation can also be read online at:\n\n$ touch linux-6.8.2\/linux-6.8.2\/Makefile <b class=\"conum\">(6)<\/b>\ntouch: cannot touch 'linux-6.8.2\/linux-6.8.2\/Makefile': Read-only file system\n$ fusermount -u linux-6.8.2 <b class=\"conum\">(7)<\/b>\n$ grep linux \/etc\/mtab\n$ ls linux-6.8.2* <b class=\"conum\">(8)<\/b>\nlinux-6.8.2.tar.xz<\/pre>\n<\/div>\n<\/div>\n<div class=\"colist arabic\">\n<ol>\n<li>\n<p>fuse-archive\u3067\u9069\u5f53\u306a\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u30de\u30a6\u30f3\u30c8(\u30de\u30a6\u30f3\u30c8\u6642\u306b\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u306b\u8aad\u307f\u8fbc\u3080\u305f\u3081\u5c11\u3057\u6642\u9593\u304c\u304b\u304b\u308b)<\/p>\n<\/li>\n<li>\n<p>\u62e1\u5f35\u5b50\u3092\u9664\u3044\u305f\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u30de\u30a6\u30f3\u30c8\u30dd\u30a4\u30f3\u30c8\u3068\u3057\u3066\u4f5c\u6210\u3055\u308c\u30de\u30a6\u30f3\u30c8\u3055\u308c\u305f<\/p>\n<\/li>\n<li>\n<p>mount\u3055\u308c\u3066\u3044\u308b\u306e\u3092\u78ba\u8a8d<\/p>\n<\/li>\n<li>\n<p>\u30a2\u30fc\u30ab\u30a4\u30d6\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u30a2\u30af\u30bb\u30b9<\/p>\n<\/li>\n<li>\n<p>\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u3092\u78ba\u8a8d<\/p>\n<\/li>\n<li>\n<p>\u66f8\u304d\u8fbc\u307f\u306f\u3067\u304d\u306a\u3044<\/p>\n<\/li>\n<li>\n<p>unmount<\/p>\n<\/li>\n<li>\n<p>\u30de\u30a6\u30f3\u30c8\u30dd\u30a4\u30f3\u30c8\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3082\u6d88\u3048\u308b<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"title\">\u5927\u304d\u306a\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u5229\u7528<\/div>\n<div class=\"content\">\n<pre>$ ls -s Qubes-R4.2.3-x86_64.iso\n6748400 Qubes-R4.2.3-x86_64.iso\n$ fuse-archive Qubes-R4.2.3-x86_64.iso <b class=\"conum\">(1)<\/b>\nfuse-archive: Cannot write to cache: No space left on device\n$ fuse-archive -o nocache Qubes-R4.2.3-x86_64.iso <b class=\"conum\">(2)<\/b>\nfuse-archive: Created mount point 'Qubes-R4.2.3-x86_64'\n$ ls Qubes-R4.2.3-x86_64\nEFI  Packages  boot  images  repodata<\/pre>\n<\/div>\n<\/div>\n<div class=\"colist arabic\">\n<ol>\n<li>\n<p>\u5927\u304d\u306a\u30a2\u30fc\u30ab\u30a4\u30d6\u3060\u3068\u5bb9\u91cf\u4e0d\u8db3\u3067\u5931\u6557\u3059\u308b\u3053\u3068\u304c\u3042\u308b<\/p>\n<\/li>\n<li>\n<p><code>-o nocache<\/code> \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u7121\u52b9\u306b\u3057\u3066\u821e\u3046\u3068\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\uff0c\u305f\u3060\u3057\u901f\u5ea6\u306f\u5927\u5e45\u306b\u4f4e\u4e0b\u3059\u308b<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"title\">\u30a2\u30fc\u30ab\u30a4\u30d6\u5185\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u30de\u30a6\u30f3\u30c8<\/div>\n<div class=\"content\">\n<pre>$ mktemp -d\n\/tmp\/tmp.ZJ1Sil9byy\n$ fuse-archive Qubes-R4.2.3-x86_64\/Packages\/zlib-1.2.12-5.fc37.x86_64.rpm \/tmp\/tmp.ZJ1Sil9byy\nfuse-archive: Using existing mount point '\/tmp\/tmp.ZJ1Sil9byy'\n$ ls \/tmp\/tmp.ZJ1Sil9byy\/\nusr<\/pre>\n<\/div>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"title\">\u30d1\u30b9\u30ef\u30fc\u30c9\u4ed8\u304dzip\u30d5\u30a1\u30a4\u30eb<\/div>\n<div class=\"content\">\n<pre>$ find . -iname \"*.txt\" | zip -e -r -@ \/tmp\/test.zip\n$ fuse-archive \/tmp\/test.zip\nThe archive is encrypted.\nWhat is the passphrase that unlocks this archive?\n&gt; Got it!\nfuse-archive: Created mount point '\/tmp\/test'<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_\u307e\u3068\u3081\">\u307e\u3068\u3081<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>fuse-archive\u306f\u3053\u308c\u307e\u3067\u8a66\u3057\u305f\u985e\u4f3c\u30c4\u30fc\u30eb\u3068\u6bd4\u3079\u3066\u591a\u304f\u306e\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u3066\u9ad8\u901f\u3067\u3059\uff0e\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u4e2d\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u78ba\u8a8d\u3059\u308b\u306e\u306b\u3068\u3066\u3082\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e<br \/>\n\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u3042\u308b\u3068\u4fbf\u5229\u3067\u3059\u304c\uff0c<a href=\"https:\/\/www.debian.org\/devel\/wnpp\/prospective\">Debian\u306eWNPP<\/a>\u3092\u898b\u308b\u3068\u7121\u3055\u305d\u3046\u3067\u3059\uff0e<a href=\"https:\/\/www.debian.org\/devel\/wnpp\/index.ja.html\">RFP<\/a>\u3092\u6295\u3052\u308b\u3068\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_\u74b0\u5883\">\u74b0\u5883<\/h2>\n<div class=\"sectionbody\">\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ fuse-archive --version\nfuse-archive version: 1.5\nlibarchive version: libarchive 3.7.4\nbzlib version: 1.0.8, 13-Jul-2019\nliblz4 version: 1.9.4\nliblzma version: 5.6.3\nlibzstd version: 1.5.6\nzlib version: 1.3.1\nFUSE library version: 2.9.9\nfusermount3 version: 3.14.0\nusing FUSE kernel interface version 7.19\n$ dpkg-query -W libboost-container-dev libfuse-dev libarchive-dev g++ pkg-config make pandoc python3 git\ng++     4:14.2.0-1\ngit     1:2.45.2-1.2\nlibarchive-dev:amd64    3.7.4-1.1\nlibboost-container-dev:amd64    1.83.0.2+b2\nlibfuse-dev:amd64       2.9.9-9\nmake    4.4.1-1\npandoc  3.1.11.1+ds-2\npkg-config:amd64        1.8.1-4\npython3 3.12.7-1\n$ lsb_release -dr\nDescription:    Debian GNU\/Linux trixie\/sid\nRelease:        n\/a\n$ arch\nx86_64<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u306e\u6642\u671f\u3067\u3059\u306d\uff0e\u672c\u6765\u306e\u30af\u30ea\u30b9\u30de\u30b9\u306b\u5411\u3051\u30ab\u30ec\u30f3\u30c0\u30fc\u3092\u65e5\u306b\u65e5\u306b\u3081\u304f\u308a\u304a\u83d3\u5b50\u304c\u51fa\u3066\u304f\u308b\u611f\u3058\u306e\u3082\u306e\u3068\u306f\u5225\u306b\u8fd1\u5e74\u6280\u8853\u8005\u5411\u3051\u306e\u8a18\u4e8b\u3092\u30af\u30ea\u30b9\u30de\u30b9\u307e\u3067\u516c\u958b\u3057\u3066\u304f\u30a2\u30c9\u30d9\u30f3\u30c8\u30ab\u30ec\u30f3\u30c0\u30fc\u3082\u3042\u308a\u307e\u3059\uff0e \u305d\u306e\u4e2d\u306eFreeBSD\u30a2 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":null,"activitypub_content_visibility":null,"activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":""},"categories":[7,6,199],"tags":[1159,1158,418,1160,411],"class_list":["post-4291","post","type-post","status-publish","format-standard","hentry","category-debian-linux","category-linux","category-sid","tag-archive","tag-freebsd","tag-fuse","tag-fuse-archive","tag-mount"],"_links":{"self":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/comments?post=4291"}],"version-history":[{"count":3,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4291\/revisions"}],"predecessor-version":[{"id":4294,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4291\/revisions\/4294"}],"wp:attachment":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/media?parent=4291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/categories?post=4291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/tags?post=4291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}