BUILD LIGHTOS OFFLINE KIT 3.18.3 — node AlmaLinux 9.6
Bản riêng cho node AlmaLinux 9.6. Flow giống hệt [Phần 5.1] Offline KIT - AlmaLinux 9.0, chỉ khác URL vault. Build trên chính máy 9.0 (172.16.102.2) — không cần máy build 9.6, vì mọi RPM resolve theo vault qua --disablerepo=* + --repofrompath.
Vì sao không dùng chung kit 9.0 cho node 9.6
Test dnf --installroot trên rootfs 9.6 @core, chỉ bật repo kit 9.0:
- Install 38 gói nhưng Downgrade 3: iptables-libs + iptables-nft 1.8.10 → 1.8.7, pciutils-libs.
- Nguyên nhân: management-node-manager cần iptables-services; bản el9_0 trong kit đòi đúng iptables-libs 1.8.7.
- nvme-cli cài bản 1.16 (el9_0) thay vì 2.x của 9.6.
→ Node chạy minor nào thì dùng kit resolve theo đúng minor đó.
Khác so với Phần 5.1 (9.0)
V=https://vault.almalinux.org/9.6(BaseOS/AppStream/CRB), tên repofrompathv96base/v96app/v96crb.- Thư mục kit:
~/lightos-offline-kit-alma96(không đè kit 9.0). - Repo 9.6 cũng không có
drpm→ deps chỉchrony mdadm createrepo_c(createrepo_c-0.20.1-2.el9). - Dùng lại nguyên từ kit 9.0 (không phụ thuộc OS):
02-ansible,03-controller/ansible(wheels + PyJWT + collections),03-controller/node-exporter,monitoring-docker-images.tar. - Controller 9.6: python3.12 có sẵn trong AppStream 9.6 (kit không kèm).
Lệnh build (chạy sau khi đã có kit 9.0 + các repo lightos/epel-kit/docker-ce như Phần 5.1)
SRC=~/lightos-offline-kit; KIT=~/lightos-offline-kit-alma96; V=https://vault.almalinux.org/9.6
mkdir -p $KIT/{01-repo/target_rpms,01-repo/deps,03-controller/{lbcli,docker,monitoring},04-docs}
# Phan khong phu thuoc OS: lay tu kit 9.0
cp -a $SRC/02-ansible $KIT/
cp -a $SRC/03-controller/ansible $SRC/03-controller/node-exporter $KIT/03-controller/
cp -a $SRC/03-controller/monitoring/monitoring-docker-images.tar $KIT/03-controller/monitoring/
R96="--disablerepo=* --repofrompath=v96base,$V/BaseOS/x86_64/os/ --repofrompath=v96app,$V/AppStream/x86_64/os/ --repofrompath=v96crb,$V/CRB/x86_64/os/ --setopt=v96base.gpgcheck=0 --setopt=v96app.gpgcheck=0 --setopt=v96crb.gpgcheck=0"
dnf $R96 --enablerepo=lightos,epel-kit download --resolve --alldeps --destdir=$KIT/01-repo/target_rpms \
lightos duroslight management-node-manager management-cluster-manager management-api-service \
management-profile-generator discovery-service discovery-client management-lightbox-exporter \
management-upgrade-manager etcd userlbe klight_utils nvme-cli
dnf $R96 download --resolve --alldeps --destdir=$KIT/01-repo/deps chrony mdadm createrepo_c
createrepo_c $KIT/01-repo/target_rpms && createrepo_c $KIT/01-repo/deps
dnf $R96 --enablerepo=lightos download --resolve --alldeps --destdir=$KIT/03-controller/lbcli management-lbcli
dnf $R96 --enablerepo=lightos download --resolve --alldeps --destdir=$KIT/03-controller/monitoring \
lightos-monitoring-images lightos-monitoring-clustering
dnf $R96 --enablerepo=docker-ce-stable download --resolve --alldeps --destdir=$KIT/03-controller/docker \
docker-ce docker-ce-cli containerd.io docker-ce-rootless-extras
# README: copy tu kit 9.0, doi 9.0 -> 9.6
→ Lần build 2026-10-19: target=126, deps=118, lbcli=21, monitoring=40, docker=129, el9_7/el9_8 = 0. Core: glibc-2.34-168.el9_6.24, openssl-libs-3.2.2-6.el9_5.1, iptables-libs-1.8.10-11.el9_5, nvme-cli-2.11-7.el9_6.
Đóng gói + checksum
cd ~
tar -czf lightos-offline-kit-alma96.tar.gz lightos-offline-kit-alma96
sha256sum lightos-offline-kit-alma96.tar.gz > lightos-offline-kit-alma96.tar.gz.sha256
→ Lần build 2026-10-19: 856M, sha256 f72c988f5dddb12871e60048663b56ec8df900ac4fa68e113bd1b8d3c67fb19d.
Test cài đặt không cần node thật (dnf --installroot)
Dựng rootfs 9.6 Minimal (@core), rồi resolve chỉ với repo kit — y như playbook offline (disablerepo: *):
V=https://vault.almalinux.org/9.6; R=/root/r96
dnf -y --installroot=$R --releasever=9.6 --setopt=reposdir=/dev/null --nogpgcheck \
--repofrompath=b,$V/BaseOS/x86_64/os/ --repofrompath=a,$V/AppStream/x86_64/os/ install @core
K=~/lightos-offline-kit-alma96/01-repo
dnf --installroot=$R --releasever=9.6 --setopt=reposdir=/dev/null --nogpgcheck \
--repofrompath=kt,file://$K/target_rpms --repofrompath=kd,file://$K/deps \
install --assumeno lightos createrepo_c chrony mdadm
# Controller RPM (cai bang file, khong co repodata)
C=~/lightos-offline-kit-alma96/03-controller
for d in lbcli monitoring docker; do
dnf --installroot=$R --releasever=9.6 --setopt=reposdir=/dev/null --disablerepo="*" --nogpgcheck \
install --assumeno $C/$d/*.rpm
done
Kết quả 2026-10-19 — bắt buộc không có dòng Upgrade/Downgrade/Remove:
| Rootfs @core | Kit | Kết quả |
|---|---|---|
| 9.6 | kit 9.6 — node | Install 38, Downgrade 0 ✓ |
| 9.6 | kit 9.6 — lbcli / monitoring / docker | Install 6 / 2 / 8 ✓ |
| 9.6 | kit 9.0 — node | Install 38, Downgrade 3 ✗ |
| 9.0 | kit 9.0 — node | Install 36, Downgrade 0 ✓ |
Chưa test: chạy playbook deploy thật trên node 9.6, docker load image tar.