linux无需root挂载iso镜像文件
引言
起初,我在针对deepin制作一款appimage安装工具,想要其实现的功能就是自动获取图标,只需要输入软件名称和分类即可,当然以后也会寻找方案省去手动输入的麻烦。
后来我发现一个有趣的问题
openshot有些特立独行,我无法使用传统的方案,--appimage-extract参数来为其解包,以至于很长时间内,软件都是靠判断文件名来实现自动获取图标的。
但是随着我发现越来越多“特立独行”的软件包,我开始寻找答案。
首先,我注意到一些细节。

在deepin操作系统上,两者虽然都是AppImage,但是图标显示的不同,说明他们的minetype存在差异。
于是我找到了下面这两个文件

发现确实存在两个不同的appimage格式,而且,其中一个是iso9660。
于是我全盘搜索其中一个,找到了这个图标:

这就表示,那个“特立独行”的人,就是x-iso9660-appimage,于是我寻找将它的文件读取出来的办法,首先,基于我弱鸡的linux基础,我发现mount可以成功挂载这个文件,但是有一个不可忽视的问题,mount需要root。
其实如果这是日常使用,mount就够了,只是输入一下密码而已。
但是有什么方案能不需要root将其中内容取出来?
开始尝试了7z,安装u7zip后,使用7z可以成功将其解包,但是而且这对于普通的vnd.appimage同样有效,但是貌似这个有可能导致文件损坏,比如我解包openshot时,其中的图标就无法查看了,用mount挂载时是可以的。我尚不清楚这个现象的原因,开始怀疑是不是iso9660类型特有的问题,后来发现不是。
于是我又开始寻找,找到了fuseiso
其可以无需root权限将iso挂载到指定目录。
fuseiso的使用
挂载:
fuseiso -p <ISO文件> <目标文件夹>
#-p的作用是当目标文件夹不存在时自动创建
卸载:
fusermount -u <目标文件夹>
至此,就可是实现无需root挂载镜像了,也实现了x-iso9660-appimage文件内容的读取。
一些指引我的重要资料的位置:
https://linux.cn/article-4287-1.html :发现fuseiso
https://www.ubuntukylin.com/news/873-cn.html :发现mimetype文件类型标柱的位置
linux无需root挂载iso镜像文件的更多相关文章
- linux下挂载iso镜像文件
linux挂载iso镜像可以分为两种,直接挂载镜像和上传镜像文件至服务器进行挂载 一.虚拟机镜像挂载 测试时使用虚拟机,此时可以直接在虚拟机的设置中将镜像文件直接选择并进行挂载,无需上传至虚拟机服务器 ...
- 攻城狮在路上(叁)Linux(二十四)--- linux设置开机挂载及镜像文件挂载
虽然可以手动进行文件系统的挂载,但是每次都手动挂载就会很麻烦,开机挂载的目的就是实现文件系统的自动挂载. 一.开机挂载:/etc/fstab及/etc/mtab 主要是通过修改/etc/fstab文件 ...
- [CentOS7] 挂载iso镜像文件到/media目录下
声明:本文主要总结自:鸟哥的Linux私房菜-第七章.Linux 磁碟與檔案系統管理,如有侵权,请通知博主 首先,设置虚拟机让它加载iso镜像文件到CD/DVD设备中,这个设备对应于Linux下的/d ...
- linux下挂载iso镜像文件(转)
挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的. 命令格式: mount [-t vfstype] [-o optio ...
- Linux挂载iso镜像、配置本地yum源
Linux挂载iso镜像.配置本地yum源 1.备份原yum源配置文件 [root@localhost ~]# ll /etc/yum.repos.d/ [root@localhost ~]# mkd ...
- OpenStack挂载ISO镜像解决
OpenStack挂载ISO镜像解决 Summary 本次在OpenStack平台上进行,基于kvm,挂载iso镜像到OpenStack虚拟机中. 1.针对linux: 上传所需要挂载的iso镜像(必 ...
- XenServer安装虚拟机---先扩容存放ISO镜像文件
我们都知道xenserver安装后,不管你的盘有多大,只有4G的空间. 故操作是:新建LV卷,可自定义大小 1.vgdisplay #先查看剩余空间 [root@XenServer /]# vgdis ...
- 磁盘管理,磁盘挂在mount,挂载光盘镜像文件,挂在U盘,umount 卸载命令, dd
1 mount 命令格式: mount[-t vfstype] -o options device dir 其中: *-t vfstype 指定文件系统的类型,通常不必指定.mount会自动选择正确的 ...
- linux yum配置本地iso镜像
1.本地源配置:cdiso.repo 将iso镜像文件中所有内容复制到/public/software/cdrom 中,节点将本地yum指向此处. [root@node19 ~]# vim /etc/ ...
随机推荐
- DataGridView控件使用Demo
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- markdown编写文件目录结构
1.先全局安装tree cnpm i tree-node-cli -g 然后输入: tree --help -L 是确定要几级目录,-I是排除哪个文件夹下的,然后我是要在README里面生成项目结构树 ...
- 网络可视化工具netron详细安装流程
1.netron 简介 在实际的项目中,经过会遇到各种网络模型,需要我们快速去了解网络结构.如果单纯的去看模型文件,脑海中很难直观的浮现网络的架构. 这时,就可以使用netron可视化工具,可以清晰的 ...
- HTTP协议相关知识整理:
http协议简介 超文本传输协议:是一种用于分布式.协作式和超媒体信息系统的应用层协议. 一次请求一次响应之后断开连接(无状态,短连接) 分析http请求信息格式 http工作原理 以下是 HTTP ...
- gRPC Load Balancing
gRPC Load Balancing 翻译自:https://grpc.io/blog/grpc-load-balancing/ 这是gRPC负载均衡的第一篇,后续会给出基于golang XDS服务 ...
- 提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录。
1 import java.text.SimpleDateFormat; 2 3 import org.apache.hadoop.fs.FSDataOutputStream; 4 import or ...
- 2.kafka架构深入——生产者
一个topic有多个partition,每个partition又有多个副本,在这些副本中又有一个leader和多个follower. 1)分区的原因 (1)方便在集群中扩展,每个Partition可以 ...
- 一、JavaScript实现AJAX(只需四步)
-----------------------------------------------一.JavaScript实现AJAX(只需四步)----------------------------- ...
- qbxt 学习笔记 10.2
写在前面 昨晚网络咕了,而且比较晚,没交作业.解题报告写成书面的了,代码另发 + 博客. 目录 写在前面 1. 爬山算法 概述 示例 2. 模拟退火 概述 3. Meet in the Middle ...
- Linux CGroup入门
Linux cgroup Linux CGroup全称Linux Control Group, 是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU.内存.磁盘输入输出等).L ...