【UOS-MogDB】如何在未进入开发者模式的统信UOS上使用Mogeaver

前言

最近有使用UOS桌面办公环境的客户在问,目前MogDB提供的开发工具Mogeaver只有tar包,而UOS使用软件比较严格,未签名的软件无法直接使用,所以希望能有一个能在UOS上使用的deb包。
我和同事在网上搜了一下如何编写deb包,然后根据步骤在ubuntu下生成了一个deb包,但实测无法在UOS上使用,不过好在最后找到了办法,因为过程略微曲折,于是写下本文记录操作过程。

注册UOS账号

注册地址 https://account.uniontech.com/register

下载安装UOS

系统镜像下载 https://www.chinauos.com/resource/download-professional
安装略(我用的虚拟机,硬盘强制要求至少64GB,否则不给装)

进入开发者模式

进入操作系统后,打开控制中心-通用-进入开发者模式(需要登录UOS账号)
打开会要求重启系统,启动后再进来控制中心,可看到已进入开发者模式,且不可退出开发者模式(所以需要有一台开发机来做这件事,不能用生产环境)
image

制作deb包

这里是坑最大的地方了,UOS的deb包和Ubuntu的deb包,内部结构不一样。
最开始我们参考了这篇文章写了个打包脚本
https://juejin.cn/post/7029284097939734535
打出来的deb包在Ubuntu上可以正常安装,但在UOS上安装报错。

  1. 方法一:
    我搜到这篇文章
    https://blog.csdn.net/qq_43657810/article/details/115027883
    这篇文章的作者根据这个打包流程写了个开源的图形化打包工具,只需要填写一些信息即可
    https://gitee.com/uos-package/upTool
  2. 方法二:
    另外,还可以使用这个工具,只是需要填写的信息更多
    https://bbs.chinauos.com/en/post/10049
    而且这个工具已经上架UOS商店
    在这里插入图片描述
  3. 方法三:
    当然,如果需要经常打包,这些工具肯定就不适用了,可以参考工具打出来的包的目录(deb文件可以直接解压),手动写个sh脚本,这样之后每次软件有更新,就能一键出包了。以下目录结构可供参考(本文暂不提供脚本)
mogeaver_22.2.1_amd64_x86_64/
├── DEBIAN
│   ├── control
│   ├── postinst
│   ├── preinst
│   └── prerm
├── opt
│   └── apps
│       └── mogeaver
│           ├── entries
│           │   ├── applications
│           │   │  └── mogeaver.desktop
│           │   └── icons
│           │        └── dbeaver.png
│           ├── files
│           │        └── ...(tar包解压后的文件都在这里面)
│           └── info
└── usr
    └── share
        └── applications
            └── mogeaver.desktop

签名

签名参考UOS官方文档
https://doc.chinauos.com/content/LrnDinQB_uwzIp6HxF7k

  1. 打开统信应用商店,搜索“证书工具”,单击安装证书工具

  2. 生成证书文件

cert-tool -username="UOS帐号" -password="UOS密码"
  1. 签名
deepin-elf-sign-deb mogeaver-ce-22.2.1-linux.gtk.x86_64.deb

image-1671029556480
最后输出Signed successfully为成功

  1. 找到生成签名后的文件
    在当前目录的signed_deb下
    image-1671029741920

安装

将签名后的deb包复制到需要使用的UOS操作系统上,在文件管理里双击deb包即可安装
image-1671029841017
image-1671029967315

然后开始菜单里就有mogeaver的图标了,
image-1671031752278

不过此时打开可能会有下面两个报错之一
没有jdk环境
jdk版本低了

因为这个环境的mogeaver依赖jdk11的运行环境,因此需要再安装一下

sudo apt-get install openjdk-11-jdk

但是,你会发现,没进入开发者模式就不能用sudo。。。但我在网上搜的,UOS里默认的jdk版本就是11,估计是我本地环境有问题,暂时不管这个问题了。

最后附上在UOS里成功使用Mogeaver连接MogDB的图
image-1671032269605

一点感想

目前国产操作系统发展迅速,但软件生态依旧是个大问题。当时安卓的app数量能迅速超越苹果,我估计其中一个原因就是它不限制在商店外安装app,而且早期并不需要签名,所以有大量开发者涌入,开发了无数经典的app。
我很理解UOS现在基于安全需要,所有软件必须要签名,但是目前这种签名方式,只要注册个账号就能签,签完就能装,软件的安全性完全没有保障。而且根据签名也不一定能找到开发者,何必多此一举?

posted on 2022-12-15 00:44  DarkAthena  阅读(260)  评论(0编辑  收藏  举报

导航