引言

起初,我在针对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镜像文件的更多相关文章

  1. linux下挂载iso镜像文件

    linux挂载iso镜像可以分为两种,直接挂载镜像和上传镜像文件至服务器进行挂载 一.虚拟机镜像挂载 测试时使用虚拟机,此时可以直接在虚拟机的设置中将镜像文件直接选择并进行挂载,无需上传至虚拟机服务器 ...

  2. 攻城狮在路上(叁)Linux(二十四)--- linux设置开机挂载及镜像文件挂载

    虽然可以手动进行文件系统的挂载,但是每次都手动挂载就会很麻烦,开机挂载的目的就是实现文件系统的自动挂载. 一.开机挂载:/etc/fstab及/etc/mtab 主要是通过修改/etc/fstab文件 ...

  3. [CentOS7] 挂载iso镜像文件到/media目录下

    声明:本文主要总结自:鸟哥的Linux私房菜-第七章.Linux 磁碟與檔案系統管理,如有侵权,请通知博主 首先,设置虚拟机让它加载iso镜像文件到CD/DVD设备中,这个设备对应于Linux下的/d ...

  4. linux下挂载iso镜像文件(转)

    挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的. 命令格式: mount [-t vfstype] [-o optio ...

  5. Linux挂载iso镜像、配置本地yum源

    Linux挂载iso镜像.配置本地yum源 1.备份原yum源配置文件 [root@localhost ~]# ll /etc/yum.repos.d/ [root@localhost ~]# mkd ...

  6. OpenStack挂载ISO镜像解决

    OpenStack挂载ISO镜像解决 Summary 本次在OpenStack平台上进行,基于kvm,挂载iso镜像到OpenStack虚拟机中. 1.针对linux: 上传所需要挂载的iso镜像(必 ...

  7. XenServer安装虚拟机---先扩容存放ISO镜像文件

    我们都知道xenserver安装后,不管你的盘有多大,只有4G的空间. 故操作是:新建LV卷,可自定义大小 1.vgdisplay #先查看剩余空间 [root@XenServer /]# vgdis ...

  8. 磁盘管理,磁盘挂在mount,挂载光盘镜像文件,挂在U盘,umount 卸载命令, dd

    1 mount 命令格式: mount[-t vfstype] -o options device dir 其中: *-t vfstype 指定文件系统的类型,通常不必指定.mount会自动选择正确的 ...

  9. linux yum配置本地iso镜像

    1.本地源配置:cdiso.repo 将iso镜像文件中所有内容复制到/public/software/cdrom 中,节点将本地yum指向此处. [root@node19 ~]# vim /etc/ ...

随机推荐

  1. oracle关闭监听log.xml文件生成步骤

    1.查看sqlnet.ora文件是否存在 cd $ORACLE_HOME/network/admin ls 如果不存在,copy一个过来 cp samples/sqlnet.ora . 2.修改sql ...

  2. Goby资产扫描工具安装及报错处理

    官网: https://cn.gobies.org/index.html 产品介绍: 帮企业梳理资产暴露攻击面,新一代网络安全技术,通过为目标建立完整的资产数据库,实现快速的安全应急. 已有功能: 扫 ...

  3. SAP 中session和外部断点设置的区别

    1 Session Breakpoints:只在当前user session的所有main session中有效 2 External Breakpoints 在abap editor或事务SICF中 ...

  4. [Usaco2005 Dec]Scales 天平

    题目描述 约翰有一架用来称牛的体重的天平.与之配套的是N(1≤N≤1000)个已知质量的砝码(所有砝码质量的数值都在31位二进制内).每次称牛时,他都把某头奶牛安置在天平的某一边,然后往天平另一边加砝 ...

  5. UI测试框架

    1. 从上到下共分成4层: 用例层  组件管理层  元素管理层  公共数据层 2. 用例层: 将每条用例使用参数化, 公共参数存储到"公共数据层", 中间参数通过组件层传递 3. ...

  6. 前端面试之HTTP状态码!

    前端面试之HTTP协议的东西! 一次HTTP请求的流程! HTTP 状态码 成功响应(200–299) 状态码 含义 200 请求成功 201 该请求已成功,并因此创建了一个新的资源.这通常是在POS ...

  7. Android 8.0/9.0 wifi 自动连接评分机制

    前言 Android N wifi auto connect流程分析 Android N selectQualifiedNetwork分析 Wifi自动连接时的评分机制 今天了解了一下Wifi自动连接 ...

  8. Unix Socket 代理服务 unix域套接字

    基于Unix Socket的可靠Node.js HTTP代理实现(支持WebSocket协议) - royalrover - 博客园 https://www.cnblogs.com/accordion ...

  9. get_or_create update_or_create

    django/query.py at master · django/django https://github.com/django/django/blob/master/django/db/mod ...

  10. windows10 中 svn 代码统计工具 StatSVN 使用详解

    1.下载TortoiseSVN 下载地址 ps:安装时务必选上命令行的svn命令. 2.下载StatSVN 官网地址 官网上目前时0.7.0版本,我的svn是1.12.0版本,运行时会报错: 所以建议 ...