免责声明
Hello,大家好啊!今天给大家带来一篇关于如何在中科方德桌面操作系统的安装镜像中封装常用软件,从而在安装系统后即可直接使用,避免多台机器重复安装软件的文章。这种方法不仅能够提升部署效率,还可以统一软件环境,特别适合企业或教育环境中的批量部署需求。欢迎大家分享点赞,点个在看和关注吧!
为什么要封装常用软件?
提高部署效率:避免在每台机器上重复安装常用软件。
统一环境:确保所有设备的基础软件版本一致,减少后续维护成本。
定制化镜像:根据实际需求预装特定软件,为用户提供即装即用的体验。
01
查看系统信息
pdsyw/桌面$ cat /etc/os-release -PC:~
pdsyw/桌面$ uname -a -PC:~
作用:检查当前系统的发行版信息和内核版本。 目的:确认系统版本和架构是否支持后续操作,如软件安装和镜像创建。
02
更新系统源
pdsyw/桌面$ sudo apt update -PC:~
作用:更新本地软件包索引。 目的:确保能够获取最新的软件包信息和依赖关系,为后续操作提供基础。
03
下载微信离线包
pdsyw@pdsyw-PC:~/桌面$ cd /var/cache/apt/archives/
pdsyw@pdsyw-PC:/var/cache/apt/archives$ ls -ltr
pdsyw@pdsyw-PC:/var/cache/apt/archives$ apt search wechat
pdsyw@pdsyw-PC:/var/cache/apt/archives$ sudo apt install -d -y wechat-beta
作用:在不安装的情况下,下载wechat-beta软件包及其依赖。 目的:为离线使用准备微信软件包,将其打包到自定义镜像中。
04
查看离线包
pdsyw/var/cache/apt/archives$ ls -ltr -PC:
作用:列出/var/cache/apt/archives/目录中下载的离线包。 目的:验证微信离线包是否已成功下载。
05
将官方镜像文件放置在桌面
pdsyw/桌面$ ls -ltr NFSDesktop-5.0-G230-240806-amd64.iso -PC:~
作用:确认官方镜像文件已正确下载到桌面。 目的:准备对该镜像进行挂载和修改。
06
挂载镜像并拷贝数据
pdsyw5.0-G230-240806-amd64.iso /mnt/ -PC:~/桌面$ sudo mount NFSDesktop-
pdsyw5.0-G230-PDSYW -PC:~/桌面$ mkdir NFSDesktop-
pdsyw5.0-G230-PDSYW/ -PC:~/桌面$ cp -ra /mnt/. NFSDesktop-
pdsyw5.0-G230-PDSYW/ -PC:~/桌面$ cd NFSDesktop-
pdsyw5.0-G230-PDSYW$ ls -lta -PC:~/桌面/NFSDesktop-
作用:
挂载镜像到/mnt目录以访问其内容。 创建目录NFSDesktop-5.0-G230-PDSYW以存储镜像内容的副本。 将挂载的镜像内容拷贝到新目录。
目的:创建镜像的工作副本,以便修改其中的文件。
方式一:默认安装微信
此方法用于将微信默认集成到镜像中,系统安装完成后微信默认安装,避免用户手动安装。
07
拷贝微信离线包到镜像
pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW$ sudo -s -PC:~
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW# cd updatepool/external/ -PC:
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW/updatepool/external# cp /var/cache/apt/archives/fonts-noto-cjk_1%3a20201206-cjk+repack1-1_all.deb ./ -PC:
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW/updatepool/external# cp /var/cache/apt/archives/wechat-beta_4.0.0.23_amd64.deb ./ -PC:
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW/updatepool/external# ls -ltr -PC:
作用:将微信离线包及字体包拷贝到镜像的updatepool/external/目录。 目的:将这些包集成到镜像中,供用户安装。
08
更新md5sum文件
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW# ls -ltr -PC:
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW# rm -rf md5sum.txt -PC:
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW# find -type f -print0 | xargs -0 md5sum | grep -v isolinux/boot.cat |tee md5sum.txt -PC:
作用:
删除旧的md5sum.txt文件。 重新计算镜像目录中所有文件的MD5校验和,并排除isolinux/boot.cat文件。
目的:更新校验和文件,确保镜像修改后能通过一致性检查。
09
打包新镜像
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW# mkisofs -J -r -V "NFSDesktop-5.0-G230-PDSYW" -cache-inodes -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -o /home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW-amd64.iso . -PC:
作用:
生成新的ISO镜像文件。 包括引导加载器设置(如isolinux.bin和efi.img)。 添加新集成的软件包和更新的校验和。
目的:生成可引导的自定义系统安装镜像。
10
终端安装后自带微信
11
使用正常
方式二:用户选择安装
此方法用于将微信默认集成到镜像中,但是系统安装时是否安装微信取决于用户是否在配置页面进行勾选,当用户勾选时,系统安装完成后,微信自带安装。
12
进入自定义路径
pdsyw@pdsyw-PC:~/桌面$ sudo -s
root@pdsyw-PC:/home/pdsyw/桌面# cd NFSDesktop-5.0-G230-PDSYW/updatepool/custompackages/
root@pdsyw-PC:/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW/updatepool/custompackages# ls -ltra
作用:
切换到超级用户模式:使用 sudo -s 进入 root 用户模式,确保对镜像文件目录有完全的读写权限。 切换目录:定位到 updatepool/custompackages/ 路径,这是镜像中存储自定义软件包的目录。 查看目录内容:使用 ls -ltra 检查该目录是否已有其他文件或包,并确保目录结构正确。
目的:为微信离线包的放置和配置做准备,确保路径清晰可用。
13
拷贝微信离线包到路径下
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW/updatepool/custompackages# cp /var/cache/apt/archives/fonts-noto-cjk_1%3a20201206-cjk+repack1-1_all.deb ./ -PC:
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW/updatepool/custompackages# cp /var/cache/apt/archives/wechat-beta_4.0.0.23_amd64.deb ./ -PC:
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW/updatepool/custompackages# ls -ltra -PC:
作用:
拷贝离线包:将字体包和微信包从 /var/cache/apt/archives/ 拷贝到镜像中的 custompackages/ 路径。 查看文件是否拷贝成功:使用 ls -ltra 再次检查 custompackages/ 目录,确认文件已存在。
目的:将需要的软件包存放到镜像中,方便后续安装程序调用。
14
将微信离线包拷贝到桌面并解压
pdsyw@pdsyw-PC:~/桌面$ sudo -s
root@pdsyw-PC:/home/pdsyw/桌面# cp /var/cache/apt/archives/wechat-beta_4.0.0.23_amd64.deb ./
root@pdsyw-PC:/home/pdsyw/桌面# dpkg-deb -R wechat-beta_4.0.0.23_amd64.deb wechat-beta
root@pdsyw-PC:/home/pdsyw/桌面# cp wechat-beta/usr/share/icons/hicolor/128x128/apps/wechat.png ./
root@pdsyw-PC:/home/pdsyw/桌面# chmod 777 wechat.png
作用:
拷贝微信包到桌面:将 wechat-beta_4.0.0.23_amd64.deb 复制到当前桌面目录,便于操作。 解压微信包:使用 dpkg-deb -R 命令将 .deb 包解压到 wechat-beta 文件夹中。 提取微信图标:从解压后的路径中提取 wechat.png 图标,存放到当前目录。 修改权限:使用 chmod 777 赋予图标文件完全权限,确保后续操作不会因权限问题失败。
目的:提取微信的资源文件(如图标),以便将图标集成到镜像中。
15
安装imagemagick工具
pdsyw/桌面$ sudo apt install imagemagick -PC:~
作用:
安装 imagemagick,这是一个图像处理工具。 它用于调整图标的分辨率和大小。 也可使用信创终端系统上使用Pillow库调整图片大小中的方式
目的:准备一个工具,用于修改微信图标的尺寸以适配自定义安装界面。
16
转换微信图标大小
pdsyw/桌面$ convert wechat.png -resize 72x72 ~/wechat.png -PC:~
作用:
使用 convert 命令将微信图标大小调整为 72x72 像素。 将调整后的图标保存到用户主目录下,命名为 wechat.png。
目的:生成一个适合在安装界面中显示的小图标,提高界面美观度。
17
拷贝微信图标到自定义路径
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW/updatepool/custompackages# cp /home/pdsyw/wechat.png ./ -PC:
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW/updatepool/custompackages# ls -ltr -PC:
作用:
拷贝图标:将调整后的微信图标复制到 custompackages/ 目录下。 检查文件是否存在:使用 ls -ltr 确认图标已正确存放。
目的:确保微信的图标能够与其软件包一同集成到镜像中。
18
编辑配置文件
root@pdsyw-PC:/home/pdsyw/桌面/test/updatepool/custompackages# vim custompackages.conf
root@pdsyw-PC:/home/pdsyw/桌面/test/updatepool/custompackages# cat custompackages.conf
foxitofficesuite:
show: true
showName: "福昕版式办公套件"
icon: "FoxitOfficeSuite.png"
check: true
debs: "foxitofficesuite_8.0.4.0430.11381_amd64.deb"
wechat-beta:
show: true
showName: "微信"
icon: "wechat.png"
check: true
debs: "fonts-noto-cjk_1%3a20201206-cjk+repack1-1_all.deb wechat-beta_4.0.0.23_amd64.deb"
作用:
编辑配置文件:使用 vim 打开 custompackages.conf 文件,定义微信软件包的安装逻辑。 配置参数: show: 表示是否在安装界面显示该软件。 showName: 定义显示的名称。 icon: 指定对应的图标文件。 check: 是否默认勾选安装。 debs: 列出需要的 .deb 包文件路径,两个deb之间用空格隔离。 验证配置:使用 cat 查看文件内容,确保编辑正确。
目的:为微信软件包配置显示和安装选项,确保集成后在安装界面中可见且可操作。
19
更新md5sum文件
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW# rm -rf md5sum.txt -PC:
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW# find -type f -print0 | xargs -0 md5sum | grep -v isolinux/boot.cat |tee md5sum.txt -PC:
作用:
删除旧的校验文件: 确保重新生成的校验文件中不会混入过期的数据。 计算新的校验和:遍历镜像目录下的所有文件,生成新的 MD5 校验值,并排除特定文件(如 isolinux/boot.cat)。 保存校验和:将新的校验和存入 md5sum.txt 文件中。
目的:更新镜像文件的完整性校验,确保定制后的镜像在安装时不会因校验失败而出错。
20
打包新镜像
root/home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW# mkisofs -J -r -V "NFSDesktop-5.0-G230-PDSYW" -cache-inodes -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -o /home/pdsyw/桌面/NFSDesktop-5.0-G230-PDSYW-amd64.iso . -PC:
作用:
使用 mkisofs 命令生成新的 ISO 文件。 指定镜像的标签、引导加载器、启动文件等关键配置。
目的:创建可引导的定制镜像文件,包含所有的更改和新增的软件包。
21
安装时可选择是否安装微信
在定制镜像的安装过程中,安装界面会显示微信作为可选软件包。
用户可以勾选是否安装微信。
目的:给用户提供选择,灵活定制安装内容。
22
选择安装微信后系统安装完成自带微信
如果用户勾选了微信,系统安装完成后会自动包含微信及相关字体包。
微信应用直接可用,无需手动安装。
目的:通过集成离线包实现开箱即用的用户体验。
23
微信使用正常
验证微信的启动和基本功能是否正常。
确保字体和图标正确显示,无任何功能缺失。
目的:确保所有集成内容能够无缝运行。
通过本文的介绍,大家学会了如何在中科方德桌面操作系统镜像中封装常用软件,从而实现即装即用的效果。这种方法适用于需要批量部署和定制化的场景。如果您觉得这篇文章对您有帮助,欢迎分享点赞,记得点个在看和关注哦!感谢大家的支持,我们下次再见!
扫码添加
添/加/好/友
进/群/交/流