定制统信UOS镜像的方法?220


橙皮
橙皮 2024-01-09 14:18:38 52170
分类专栏:问题 问题分类: 基础硬件问题
已结题
3 个回答
  • Fhawking 新手 2024-01-09 16:49:45

    定制统信UOS镜像

    一:原因和目的

    原因:由于目前统信的UOS系统装好之后第三方软件集成度较低,用户拿到手之后不能做到开箱即用,需要安装各类软件,用户体验不够友好。

    目的:将需要预安装的软件或简单的执行脚本打包到镜像文件中,从而达到系统预装软件的效果,以节省时间和方便搭建系统环境,或可以直接给出项目的交付母盘等。

     

    二:前期准备

    需要提前准备好的主要有:

    1.统信UOS原版镜像文件

    2.需要预装的软件的deb包[ 由于统信UOS基于Debian,目前仅支持deb包的预安装]

    3.需要预装的软件相关依赖包[ 由于只是简单定制,需要手动解决依赖关系。同理需要deb包]

    4.用于制作镜像的PC,理论上可以使用windows(软碟通)制作但推荐在linux上操作,最好直接使用UOS进行制作,以方便对比安装效果

    5.用于安装系统的U盘或光碟,以及制作启动盘的工具(rufus或软碟通等)

    方法:图形操作

    1.将以下源添加到/etc/apt/sources.list[ 一行一个源,这里是两个源也就是两行]中

    1. deb [trusted=true] http://shuttle.deepin.com/cache/repos/eagle/release-candidate/5Y2O 5Li6S2VsdmluVemhueebrg/ unstable main

    deb-src [trusted=true] http://shuttle.deepin.com/cache/repos/eagle/release-candidate/5 Y2O5Li6S2VsdmluVemhueebrg/ unstable main

    2. deb [trusted=true] http://shuttle.deepin.com/cache/repos/eagle/release-candidate/5Y2O 5Li6S2VsdmluVemhueebrg/ unstable main

    deb-src [trusted=true] http://shuttle.deepin.com/cache/repos/eagle/release-candidate/5 Y2O5Li6S2VsdmluVemhueebrg/ unstable main

     

    2.打开命令行更新源:

    sudo apt update

     

     

    3.打开命令行安装:

    sudo apt install iso-customizer

     

    *一行一个源,这里是两个源也就是两行 *

     

    4.安装完成后,命令行输入:iso-customizer 打开工具

     

     

     

     

     

     

     

    5.【选择ISO】点击…按钮,选择原版UOS镜像文件,点击下一步

     

     

    6.【选择架构】选择ARM架构,点击下一步

     

     

    7.【程序配置】选择需要添加的所有deb包,点击下一步

     

     

    8.【前期准备】选择要添加的脚本文件(以.job结尾),没有则跳过,点击下一步

     

    9.【中期安装】选择要添加的脚本文件[ 将预装软件的快捷方式放置在桌面的脚本,需要放在【中期安装】这一步](以.job结尾),没有则跳过,点击下一步,图略

     

    10.【后期清理】选择要添加的脚本文件(以.job结尾),没有则跳过,点击下一步,图略

     

    11.【选择Kernel[ 其中kernel为任意文件,initrd必须为.lz后缀结尾]】默认使用原版内核,这一步可跳过,点击下一步

     

     

    *将预装软件的快捷方式放置在桌面的脚本,需要放在【中期安装】这一步

    *其中kernel为任意文件,initrd必须为.lz后缀结尾

     

    12.【输出】输出界面,点击下一步,开始制作

     

    13.制作完成后镜像文件会放置在桌面上,点击查看文件,生成的新ISO名为:new-原ISO名字-时间.iso

     

     

    四:简单脚本示范

    #!/bin/bash

    #

    #Copyright (C) 2017 ~ 2018 Deepin Technology Co., Ltd.

    # This program is distributed in the hope that it will be useful,

    # but WITHOUT ANY WARRANTY; without even the implied warranty of

    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

    # GNU General Public License for more details.

    #

    #You should have received a copy of the GNU General Public License

    # along with this program. If not, see <http://www.gnu.org/licenses/>.

    #

    #Copy desktop files to user skeleton folder.

    # Do this before creating any users.

    #for normal apps

    DESK_APPS_ARR=('FoxitOfficeSuite' 'isignature' 'qq' 'cn.suwell.reader'  'com.yozosoft.yozo' 'uos-browser')

    for DESK_APP_ITEM in ${DESK_APPS_ARR[@]}; do

    msg "Copy app icon to desktop: ${DESK_APP_ITEM}"

    if [ -f /usr/share/applications/${DESK_APP_ITEM}.desktop ]; then

    install -v -Dm644 /usr/share/applications/${DESK_APP_ITEM}.desktop /etc/skel/Desktop/

    else

    warn "Desktop file not found: ${DESK_APP_ITEM}"

    fi

    done

    #for wps family

    install -v -Dm644 /opt/apps/cn.wps.wps-office/entries/applications/wps-office-wps-aarch64.desktop /etc/skel/Desktop/

    install -v -Dm644 /opt/apps/cn.wps.wps-office/entries/applications/wps-office-wpp-aarch64.desktop /etc/skel/Desktop/

    install -v -Dm644 /opt/apps/cn.wps.wps-office/entries/applications/wps-office-prometheus.desktop /etc/skel/Desktop/

    install -v -Dm644 /opt/apps/cn.wps.wps-office/entries/applications/wps-office-et-aarch64.desktop /etc/skel/Desktop/

    #for 360 family

    install -v -Dm644 /opt/apps/cn.360.360player/entries/applications/cn.360.360player.desktop /etc/skel/Desktop/

    install -v -Dm644 /opt/apps/com.360.epp/entries/applications/com.360.epp.desktop /etc/skel/Desktop/

    install -v -Dm644 /opt/apps/com.qihoo.360safe/entries/applications/com.qihoo.360safe.desktop /etc/skel/Desktop/

    install -v -Dm644 /opt/apps/com.qihoo.360zip/entries/applications/com.qihoo.360zip.desktop /etc/skel/Desktop/

    return 0

     

    注意:以上是将需要的.desktop(快捷方式)放到桌面,该脚本应放在方式二的【中期处理】中,或方式一的iso/oem/hooks/in_chroot/目录下

     

     

     

    五:细节问题

    1.两种制作方式的区别

    两种制作方式并无本质区别,但需要注意的是,方式二中【前期准备】【中期安装】【后期清理】分别对应方式一中的iso/oem/hooks/before_chroot[ 存疑,待检验]、iso/oem/hooks/in_chroot、iso/oem/hooks/after_chroot目录,如果脚本放错地方可能会导致脚本未能执行或失效,但可以临时修改路径解决。

     

     

    2.关于如何获取deb包,以及所依赖的deb包

    关于预装软件的deb包,推荐使用UOS自带的应用商店缓存,可以先关闭“自动清除缓存”功能,然后在应用商店安装后,在/var/cache/apt/archives中寻找对应的deb包并拷贝出来。但如果应用商店没有的应用,通过其他方式获得deb包后通过这种方式安装的话,大概率会导致应用无法正常启动,但进入开发者模式后能正常启动。

    关于预装软件依赖的deb包,由于不管是用应用商店还是apt-get都会自动解决依赖关系,即便收集了所有依赖关系,一个个寻找deb包并测试也是特别繁琐的事情,所以只推荐这种方式:先做一个只含预装软件deb包但不含依赖的镜像[ 理论上,也可以不做镜像而是用dpkg -i单独安装deb包,再让apt-get修复依赖关系,但需要保证修复前没有装任何依赖包,也就是系统足够干净],安装之后[ 这个镜像由于依赖关系被破坏,所以应用商店无法正常使用]在命令行输入:sudo apt-get -f -y install让apt-get自动修复依赖关系,然后依赖的deb包缓存同理也会在/var/cache/apt/archives中,将其全部拷贝出来即可。

     

     

     

    3.关于如何寻找快捷方式的位置

    这个问题的核心在于并不知道快捷方式具体的文件名,因为桌面显示的名字并不是快捷方式的文件名。(会根据系统语言自动变更显示的名字)

    方法一:快捷方式一般放在/usr/share/applications/目录下,以.desktop结尾,当文件太多时可以尝试使用ls -l | grep -i 文件名开头 来尝试寻找。如果实在找不到,说明可能不在这个目录下,可以尝试方法二

    方法二:在开始菜单中,将快捷方式右键发送到桌面上,再在终端中查看对应的快捷方式的文件名,再通过find / -name “*文件名[ 用-name搜索的是全路径,所以需要在文件名前加*号表示匹配任意开头]” -type f`来寻找

     

    4.安装系统失败的原因

    制作完镜像后,如果安装失败,大概率的原因是脚本问题。如果deb包有问题的话只会装不上对应软件但系统能正常安装,但脚本的话会在系统安装最后报错。对于脚本问题,除了逐行检查语法之外,也可以尝试直接在系统上执行。但有一个很隐蔽的问题需要注意:windows下保存的文本文件和linux下保存的文本文件在行尾换行处有字符级别的区别,windows行尾是<CR><LF>(\r\n),linux的行尾是<LF>(\n),可以通过:cat -A filename.job查看,如果行尾有^M则表示带有\r字符,需要用sed -i “s/\r$//” filename.job将\r删掉。

     

     

     

     

    1.理论上,也可以不做镜像而是用dpkg -i单独安装deb包,再让apt-get修复依赖关系,但需要保证修复前没有装任何依赖包,也就是系统足够干净

     

    2.这个镜像由于依赖关系被破坏,所以应用商店无法正常使用

     

    3.用-name搜索的是全路径,所以需要在文件名前加*号表示匹配任意开头

    赞同 1 反对 0

    信创相关的一些分享,创作
  • 777 新手 2024-01-09 15:04:27

    定制统信UOS镜像的方法主要包括以下步骤:

    1. 准备原版统信UOS镜像文件,确保其完整性和可用性。

    2. 创建一个新的目录,用于存放定制后的镜像文件。

    3. 将原版统信UOS镜像文件挂载到新的目录中,以便进行操作。

    4. 进入挂载目录,复制其中的文件和目录到新创建的目录中。

    5. 根据需要定制镜像文件,例如添加或删除软件包、配置文件等。

    6. 安装必要的工具和依赖项,以便进行镜像文件的封装和制作。

    7. 使用统信UOS提供的工具或第三方工具将定制后的文件系统制作成镜像文件。

    8. 对镜像文件进行测试和验证,确保其功能和稳定性。

    9. 根据需要发布和分发镜像文件,例如上传到官方网站、云平台等。

    需要注意的是,在定制统信UOS镜像时,需要遵循官方的规范和标准,以确保镜像文件的兼容性和稳定性。同时,由于操作系统定制涉及到系统安全和稳定性等方面的问题,建议在专业人员的指导下进行操作,并确保对系统进行备份和恢复操作。

    赞同 0 反对 0

    随便写些什么刷下存在感
  • 定制统信UOS镜像的方法可以参考以下步骤:

    1. 准备原版统信UOS镜像文件,并确保其完整性和可用性。
    2. 准备要集成到新镜像中的软件包和文件,例如deb软件包和其他必要文件。
    3. 创建一个新的目录,用于挂载原版统信UOS镜像文件。可以使用以下命令:
    bash
     
    mkdir /mnt/uos20old
     
    1. 将原版统信UOS镜像文件挂载到新创建的目录中。可以使用以下命令:
    bash
     
    mount -o loop ~/Downloads/UOS_Home_22.0.iso /mnt/uos20old/
     
    1. 创建一个新的目录,用于存放定制后的镜像文件。可以使用以下命令:
    bash
     
    mkdir /mnt/uos20new
     
    1. 将挂载的原版镜像文件中的文件复制到新目录中。可以使用以下命令:
    bash
     
    rsync -av /mnt/uos20old/ /mnt/uos20new/
     
    1. 创建一个新的目录,用于放置要集成安装的软件包和其他文件。可以使用以下命令:
    bash
     
    mkdir /mnt/uos20new/oem/deb
     
    1. 将要集成安装的软件包和其他文件复制到新目录中。可以使用以下命令:
    bash
     
    cp xxx.deb /mnt/uos20new/oem/deb/
     
    1. 安装光盘镜像制作工具xorriso。可以使用以下命令:
    bash
     
    sudo apt-get install xorriso
     
    1. 编写一个脚本文件build-iso.sh,用于制作定制后的UOS镜像。可以使用任何文本编辑器创建该文件,并将其放置在适当的位置(例如/mnt目录下)。在脚本文件中,使用适当的命令行参数指定要使用的源文件和目标文件名。例如:
    bash
     
    #!/bin/bash
     
    xorriso -as mkisofs -D -r -V"UOS 20" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot --efi-boot boot/efi.img -input-charset utf-8 -o uos-20-home-amd64.iso /mnt/uos20new/
     
    1. 执行脚本文件,开始制作定制后的UOS镜像。可以使用以下命令:
    bash
     
     
    cd /mnt
     
    chmod +x build-iso.sh
     
    ./build-iso.sh
     

    等待脚本执行完成,即可获得定制后的UOS镜像文件。请注意,上述步骤仅为参考,实际操作中可能需要根据具体情况进行调整和修改。此外,制作定制的操作系统镜像涉及多个步骤和组件的配置,因此需要具备一定的Linux系统管理经验和知识。

    赞同 0 反对 0

    理智很乏味 清醒最孤独
橙皮新手
粉丝 0 发表 14 + 关注 私信
上周热门
统信系统能生成某一指定文件夹下的所有文件列表吗  2772
统信系统有自己的字幕屏幕保护程序吗  2533
统信软件能支持pandas吗  2456
统信系统如何在保证自己数据安全的基础上,进行数据分析,比如使用pandas进行大数据分析  2444
安全与发展,统信系统是如何在两者之间权衡,满足用户高效办公的要求  2104
统信系统的数据安全机制是什么  1770
统信软件支持python为什么不支持安装pandas  1115
您好,我想问一下,就是这银河麒麟系统,背景黑屏怎么办啊,其他的都正常,就是没有背景,设置里面的背景一点击系统就不响应了怎么解决?  177
我想连接共享打印机可是,搜索驱动时候没有,怎么办  162
uos有支持活体检测的软件吗  149
本周热议
麒麟系统登录输入密码后又需要重新输入密码,确定密码正确。如何处理? 12
求麒麟系统下的Broadcom 802.11n 无线网卡驱动 10
银河麒麟桌面操作系统V10 SP1安装应用时会反复提示安全授权认证,如何才能取消呢? 10
统信UOS系统下安装HP打印机驱动问题 10
银河麒麟系统登录时用户名是中文,如何将输入法切换成中文进行登录? 9
如何在统信系统使用VFP? 9
使用正版软件承诺书每年一签有相关的政策文件吗? 8
银河麒麟系统安装软件需要密码授权,单用户模式修改密码不行,如何解决 8
uos系统怎么装了向日葵,向日葵打不开啊? 7
有偿使用中国长城信创运维工程师(初级)证书 7

加入交流群

请使用微信扫一扫!