Kylin(麒麟)搭建内网应用商店
这篇文章记录在麒麟系统环境中搭建内网应用商店的基本思路。核心目标是把公网的 APT 软件源镜像到内网服务器,再通过 Apache 发布出来,供内网客户端统一安装软件。
用到的软件
| 软件 | 作用 |
|---|---|
| apt-mirror | 同步 APT 仓库 |
| apache2 | 对外发布镜像内容 |
整体思路
整个流程可以分成三步:
- 在源服务器上用
apt-mirror同步麒麟软件源 - 通过 Apache 把同步后的目录发布出来
- 在客户端修改
sources.list,指向内网仓库地址
一、配置 apt-mirror
先编辑配置文件:
vi /etc/apt/mirror.list同时准备镜像目录,例如:
mkdir -p /data/apt/archives配置里几个关键项包括:
set base_path /data/apt/archives
set defaultarch amd64
set nthreads 20
set _tilde 0这里的重点是:
base_path决定镜像下载位置defaultarch决定镜像架构nthreads决定下载线程数
二、配置要同步的麒麟源
文中的场景只需要:
- 银河麒麟 V10
- 银河麒麟 V10 SP1
V10 SP1
deb https://archive2.kylinos.cn/deb/kylin/production/KY-V10-SP1-amd64/custom/kylin-desktop/V10-SP1-amd64 10.1 all main restricted universe multiverse
clean https://archive2.kylinos.cn/deb/kylin/production/KY-V10-SP1-amd64/custom/kylin-desktop/V10-SP1-amd64V10
deb https://archive2.kylinos.cn/deb/kylin/production/KY-V10-amd64/custom/kylin-desktop/V10-amd64 10.0 all main restricted universe multiverse
clean https://archive2.kylinos.cn/deb/kylin/production/KY-V10-amd64/custom/kylin-desktop/V10-amd64
三、同步软件源
配置完成后,可以让 apt-mirror 在后台运行:
nohup apt-mirror > /var/spool/apt-mirror/var/cron.log &查看同步进度:
tail -f -n 20 /var/spool/apt-mirror/var/cron.log注意,这两个库同步完会占用大量磁盘空间,文中的经验值大约是 148G。
四、发布镜像目录
同步完成后,把实际镜像目录软链接到 Apache 发布目录。
银河麒麟 V10 SP1
ln -s /data/apt/archives/archive2.kylinos.cn/deb/kylin/production/KY-V10-SP1-amd64/custom/kylin-desktop/V10-SP1-amd64 /var/www/html/kylin-desktop-v10-sp1-amd64银河麒麟 V10
ln -s /data/apt/archives/archive2.kylinos.cn/deb/kylin/production/KY-V10-amd64/custom/kylin-desktop/V10-amd64 /var/www/html/kylin-desktop-v10-amd64五、处理防火墙和 SELinux
防火墙
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reloadSELinux
semanage permissive -a httpd_t这样做的目的,是允许 Apache 正常访问软链接目录并对客户端提供 HTTP/HTTPS 服务。
六、在客户端配置内网源
客户端侧需要修改 sources.list,让软件商店或 apt 指向内网服务器。
先编辑:
vim /etc/apt/sources.list把原有公网源先注释掉,再按系统版本增加对应的内网源地址。
银河麒麟 V10 SP1
deb [arch=amd64] http://IP:PORT/kylin-desktop-v10-sp1-amd64 10.1 main restricted universe multiverse银河麒麟 V10
deb [arch=amd64] http://IP:PORT/kylin-desktop-v10-amd64 10.0 all main restricted universe multiverse这里的 IP:PORT 要替换成你内网软件源服务器的实际地址,例如 10.0.0.189:80。

七、验证是否生效
客户端修改完成后,执行:
apt-get clean
apt-get update如果更新过程正常,说明内网软件源已经配置成功。
后续就可以通过软件商店或命令行安装仓库中的软件。

补充说明
客户端可以在系统概述里查看自己是 V10 还是 V10 SP1,再决定用哪一套仓库地址。
文中的内网仓库本质上是同步麒麟自带的软件仓库,所以能提供的主要也是系统原生仓库里的软件。如果某些应用商店里找不到,仍然可能需要通过命令行或额外仓库处理。
总结
内网应用商店搭建的关键,不在于界面配置本身,而在于这三件事是否打通:
- 源服务器是否完整同步了目标仓库
- Apache 是否已经能把镜像目录正确发布出来
- 客户端是否指向了正确版本的内网源
把这三步做实之后,内网软件分发和批量安装会轻松很多。