关于UOS系统下打包安装使用的问题总结

简介: 关于UOS系统下打包安装使用的问题总结

1.场景


Electron+react的项目打包成liunx下的appimage文件后,在linux下运行正常。但目的是将之放到基于linux内核下的UOS(统信)系统下,并保证软件安装运行正常。

2.遇到的问题


2.1 开发者模式下如何打包(appimage转符合UOS规范的deb包)


步骤:

第一步

桌面新建空白文件夹,起名随意,我就起名叫test便于理解,然后将你要打包的appimage文件放进去

第二步

解压appimage文件,在test文件夹下打开终端命令行,运行命令:

命令1:chmod +x 文件名
举例 chmod +x com.xx-1.0.2.Appimage 
命令2:./文件名 --appimage-extract
举例:./com.xx-1.0.2.Appimage --appimage-extract

会生成一个新的文件夹叫squashfs-root

第三步

Gitee上搜索一款名叫uos-package-upTool的工具,下载到UOS系统下,点击安装。

第四步

打开第二步下载的工具,按照Gitee的说明填写。这一步最需要注意的是

工作目录:就是test

主程序:选择squashfs-root目录下的Apprun

目录:选择squashfs-root

然后就是打包静等片刻后,test文件夹会出现一个新的文件夹,打开后里面的deb文件就是打包后的安装包。

到此,appimage打包成deb安装包成功。但是后面

或许还有坑~

2.2 开发者模式下-打包完成运行时提示4755错误


具体报错为:chrome-sandbox is owned by root and has mode 4755

3a9dff3071a94831b694799e06fc9cdc.png

解决方法就是我之前的博客总结过的。思路就是解包-加权限-打包。这个可以解决提示4755问题。

UOS系统下安装软件打不开的解决方法_接着奏乐接着舞。的博客-CSDN博客_uos命令行打开软件

2.3 开发者模式下运行正常,但是非开发者模式下,点击没反应,命令行执行显示权限不够


解决思路还是解包-加755权限-打包。

第一步

test目录下找到amd64文件夹下找到file文件夹(嵌套可能好几层),打开命令行加权限

chmod 755 -R locales/ resources/ swiftshader/ usr/

然后在打包即可

dpkg-deb -b amd64/ .

接着,退出开发者模式,测试非开发者模式能否正常运行

退出开发者模式命令--输入完需要重启才能生效:
sudo chattr -i /var/lib/deepin/developer-mode/enabled
sudo rm /var/lib/deepin/developer-mode/enabled

然后再自签名,自签名的方法下面会列出来,我之前单独写过博客怎么自签名。

然后最终的效果:

用户在非开发者模式下,安装签名的软件后,能正常安装正常运行。

2.4 软件包在非开发者模式下的签名问题


看我写的这篇博客即可,这个是自签名,如果测试通过了,可以向UOS官方申请永久签名。

UOS系统如何给软件签名_接着奏乐接着舞。的博客-CSDN博客

总结:


本来思路很清晰的,写着写着发现这篇文章不是那么通俗易懂,因为之前我遇到UOS的很多坑也是看的乱七八糟的,这里我就做一下最后的总结:

遇到的问题基本上都是权限的问题,而面对这样的问题我们的思路是,解包然后加权限最后打包。

如果你有疑问不妨评论区交流~

相关文章
|
开发者
UOS系统如何给软件签名
UOS系统如何给软件签名
UOS系统如何给软件签名
|
安全 关系型数据库 MySQL
|
6月前
|
开发框架 安全 .NET
Microsoft .NET Framework 3.5、4.5.2、4.8.1,适用于 Windows 版本的 .NET,Microsoft C Runtime等下载
.NET Framework是Windows平台的开发框架,包含CLR和FCL,支持多种语言开发桌面、Web应用。常用版本有3.5、4.5.2、4.8.1,系统可同时安装多个版本,确保软件兼容运行。
1344 0
Microsoft .NET Framework 3.5、4.5.2、4.8.1,适用于 Windows 版本的 .NET,Microsoft C Runtime等下载
|
Linux 虚拟化 数据安全/隐私保护
银河麒麟V10 VMWare安装保姆级教程
银河麒麟V10 VMWare安装保姆级教程
20823 5
银河麒麟V10 VMWare安装保姆级教程
|
Ubuntu 安全 Unix
使用LPD协议来共享打印机
【10月更文挑战第9天】LPD(Line Printer Daemon)协议用于在网络环境中共享打印机,广泛应用于Unix和类Unix系统。打印服务器监听特定端口(如515),接收并处理客户端的打印请求,维护打印队列。客户端需安装相应软件,通过特定格式请求提交打印任务。设置包括安装驱动、配置服务、启动服务及客户端连接配置。LPD协议跨平台性强、配置简单,但安全性较弱,功能有限。
3371 67
|
前端开发 Unix Linux
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
本文详细介绍了 `electron-builder` 在 Linux 平台上如何打包 Electron 应用程序,涵盖了 AppImage、Flatpak、Snap 等多种格式的打包原理和具体实现。文章从初始化 `LinuxPackager` 到创建各种目标格式的包,详细解析了每个步骤的代码逻辑和关键方法,帮助开发者更好地理解和使用 `electron-builder` 进行 Linux 应用的打包。
937 2
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
|
缓存 前端开发 API
|
网络协议 算法 网络性能优化
C语言 网络编程(十五)套接字选项设置
`setsockopt()`函数用于设置套接字选项,如重复使用地址(`SO_REUSEADDR`)、端口(`SO_REUSEPORT`)及超时时间(`SO_RCVTIMEO`)。其参数包括套接字描述符、协议级别、选项名称、选项值及其长度。成功返回0,失败返回-1并设置`errno`。示例展示了如何创建TCP服务器并设置相关选项。配套的`getsockopt()`函数用于获取这些选项的值。
621 12
|
Ubuntu Linux Docker
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
24490 4
|
Ubuntu Linux Windows
Electron如何在UOS操作系统(统信)下打包成桌面应用?
Electron如何在UOS操作系统(统信)下打包成桌面应用?
Electron如何在UOS操作系统(统信)下打包成桌面应用?