3CX 官方镜像如何修改国内镜像源

起因

最近 3CX 删除了使用命令行在 Debian9 上安装 3CX 的文章,原链接如下:

https://www.3cx.com/docs/manual/installation-linux/

现在这个链接已经跳转到使用 3CX 镜像安装的向导了。我们网站上的命令行安装方法依然是可用的:在Debian Linux上手动安装3CX (58voip.com)

国内客户大多数客户是先安装 Debian 系统,再使用命令行安装。究其原因也是因为 3CX 镜像的网络链接非常差,要不根本装不了,可以安装下去也需要耗费几个小时到十几个小时不等的时间。

我们将 3CX 的镜像解压后发现 /boot/grub/grub.cfg 文件和 /isolinux/txt.cfg 文件中都包含了 3CX 的链接,指向了一个名为 preseed_9.13.0.txt 的文件。

我们打开这个 preseed_9.13.0.txt 文件,如下图所示:

在原文件中又打开了新的文件 post-install_9.13.0.txt,我们打开这个新的文件可以发现这个文件就是安装 3CX 使用的脚本文件,安装 3CX 和 SBC 的命令都在里面。其中也包含了 3CX 防火墙的一些设置。

红框圈出来的三行就是 3CX 镜像安装慢的罪魁祸首了,使用的是 debian 的官方镜像源。

那么我们就想是不是可以把这三行换成国内的镜像源再重新打包。

前期准备工作

经过我们的测试,在 windows 下使用 UltraISO 软件对镜像解压,修改,打包后的 ISO 文件都无法使用。所以我们搭建了一个 Ubuntu 平台进行这个操作。由于我们对于镜像制作这块不是很了解,如果有可以在 windows 下制作的方法请联系我们。

使用的平台是 Ubuntu 的 20.04 桌面版本,建议是安装好 open-vm-tools,支持粘贴板复制,这样可以把修改好的 ISO 直接复制到 PC 硬盘中。

在进行 ISO 的修改前,我们需要先修改两个 txt 的文件。

对 post-install 文件修改

我们的目的是修改镜像源以优化安装速度。所以只修改上图红框中的三行,那么国内的镜像源应该如何选择呢,我们使用测速脚本来进行查看:

curl -sSL https://cdn.jsdelivr.net/gh/lework/script/shell/os_repo_speed_test.sh | bash

上海联通的测速结果如下所示:

从上表中可以看出 中科大(ustc),阿里云(aliyun),清华大学(tsinghua)的镜像源速度都是不错的。但是一次测速结果不一定能说明问题。不同地区的不同宽带也会有区别。建议大家自己修改的话可以多试几次。

选好国内镜像源后我们将镜像源替换就可以了,可以比原来的三条多。替换方式可以查看镜像源提供的文档(别替换错版本,debian9 对应的是 stretch):

替换后如下显示:

修改好 post-install 文件后需要上传到 http 服务器,并生成一个 http 的链接。这里我们使用的是七牛云。

修改 preseed 文件

修改 preseed 文件非常简单,只需要将里面的链接替换成 post-install 文件的 http 即可,再将这个文件也上传,生成一个 http 链接。

那么我们只需要将 preseed 的链接替换 3CX 镜像里面的链接就可以了。

修改镜像

首先我们需要下载 3CX ISO 镜像:Download the ISO – Debian for 3CX (includes SBC)

然后安装 ISO Master,Ubuntu 在软件商店就可以下载:

下载好后打开软件,选择 3CX 镜像:

我们到 /boot/grub/ 目录下,选中 grub.cfg 文件进行编辑。如果没有设置默认的编辑器,也可以先把文件 extract 到上方目录中再编辑。编辑完后把原来的文件删除后再添加到 ISO 文件中。

把 url 改成我们上传的 preseed 的链接即可。

用同样的方式修改 /isolinux/txt.cfg 文件。

修改好以后将 ISO 另存为,再复制到本地电脑上就可以了。