Home

Kylin(麒麟)搭建内网应用商店

这篇文章记录在麒麟系统环境中搭建内网应用商店的基本思路。核心目标是把公网的 APT 软件源镜像到内网服务器,再通过 Apache 发布出来,供内网客户端统一安装软件。

用到的软件

软件作用
apt-mirror同步 APT 仓库
apache2对外发布镜像内容

整体思路

整个流程可以分成三步:

  1. 在源服务器上用 apt-mirror 同步麒麟软件源
  2. 通过 Apache 把同步后的目录发布出来
  3. 在客户端修改 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-amd64

V10

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 --reload

SELinux

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,再决定用哪一套仓库地址。

文中的内网仓库本质上是同步麒麟自带的软件仓库,所以能提供的主要也是系统原生仓库里的软件。如果某些应用商店里找不到,仍然可能需要通过命令行或额外仓库处理。

总结

内网应用商店搭建的关键,不在于界面配置本身,而在于这三件事是否打通:

  1. 源服务器是否完整同步了目标仓库
  2. Apache 是否已经能把镜像目录正确发布出来
  3. 客户端是否指向了正确版本的内网源

把这三步做实之后,内网软件分发和批量安装会轻松很多。

Linux VMware 网络