在有Internet環境下安裝podman是沒問題,而客戶端的SIT/UAT環境是不能上Internet,所以要在下本機下載podman離線安裝包,結果還是踩了一堆雷。
下載方式是在本機podman起一個RedHat的Container,再從容器裡下載離線安裝包。雷點如下:
爆雷完了,開始離線下載。在Mac安裝podman就下指令:brew install podman安裝搞定,若沒安裝brew則下安裝指令:/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
podman run --platform=linux/amd64 -v $PWD/podman-rpms:/rpms -it registry.access.redhat.com/ubi9/ubi bash--platform=linux/amd64是指容器的CPU架構指定為Intel的AMD64,也就是x86標準。(--arch amd64也有相同效果)-v $PWD/podman-rpms:/rpms:下載離線安裝包掛載本機的podman_rpms目錄下。cat /etc/os-release看RedHat的版本,目前是9.8[root@15f959684284 /]# cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="9.8 (Plow)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="9.8"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Red Hat Enterprise Linux 9.8 (Plow)"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:redhat:enterprise_linux:9::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9"
BUG_REPORT_URL="https://issues.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_BUGZILLA_PRODUCT_VERSION=9.8
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.8"
dnf download --resolve --destdir=/rpms podman指令下載podman相依套件到rpms目錄下,也就是本機的$PWD/podman_rpms目錄。[root@15f959684284 /]# dnf download --resolve --destdir=/rpms podman
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Red Hat Universal Base Image 9 (RPMs) - BaseOS 764 kB/s | 534 kB 00:00
Red Hat Universal Base Image 9 (RPMs) - AppStream 4.2 MB/s | 2.9 MB 00:00
Red Hat Universal Base Image 9 (RPMs) - CodeReady Builder 853 kB/s | 470 kB 00:00
(1/28): slirp4netns-1.3.3-1.el9.x86_64.rpm 252 kB/s | 47 kB 00:00
(2/28): conmon-2.2.1-2.el9_8.x86_64.rpm 267 kB/s | 54 kB 00:00
(3/28): libslirp-4.4.0-8.el9.x86_64.rpm 336 kB/s | 70 kB 00:00
(4/28): fuse-common-3.10.2-9.el9.x86_64.rpm 161 kB/s | 8.5 kB 00:00
(5/28): criu-libs-3.19-3.el9.x86_64.rpm 593 kB/s | 31 kB 00:00
(6/28): containers-common-5.8-1.el9.x86_64.rpm 1.7 MB/s | 166 kB 00:00
(7/28): criu-3.19-3.el9.x86_64.rpm 4.1 MB/s | 557 kB 00:00
(8/28): passt-0^20251210.gd04c480-6.el9_8.x86_64.rpm 3.2 MB/s | 288 kB 00:00
(9/28): crun-1.27-1.el9_8.x86_64.rpm 1.9 MB/s | 262 kB 00:00
(10/28): shadow-utils-subid-4.9-16.el9.x86_64.rpm 579 kB/s | 85 kB 00:00
(11/28): nftables-1.0.9-7.el9_8.x86_64.rpm 1.7 MB/s | 428 kB 00:00
(12/28): libnetfilter_conntrack-1.0.9-1.el9.x86_64.rpm 635 kB/s | 61 kB 00:00
(13/28): libnfnetlink-1.0.1-23.el9_5.x86_64.rpm 418 kB/s | 31 kB 00:00
(14/28): libnftnl-1.2.6-4.el9_4.x86_64.rpm 1.7 MB/s | 89 kB 00:00
(15/28): iptables-libs-1.8.10-11.el9_5.x86_64.rpm 4.1 MB/s | 466 kB 00:00
(16/28): libnl3-3.11.0-1.el9.x86_64.rpm 3.5 MB/s | 367 kB 00:00
(17/28): yajl-2.1.0-25.el9.x86_64.rpm 1.1 MB/s | 41 kB 00:00
(18/28): netavark-1.17.2-1.el9.x86_64.rpm 5.6 MB/s | 3.1 MB 00:00
(19/28): jansson-2.14-1.el9.x86_64.rpm 950 kB/s | 48 kB 00:00
(20/28): aardvark-dns-1.17.1-1.el9_8.x86_64.rpm 10 MB/s | 887 kB 00:00
(21/28): fuse-overlayfs-1.16-1.el9_7.x86_64.rpm 499 kB/s | 66 kB 00:00
(22/28): kmod-28-11.el9.x86_64.rpm 961 kB/s | 125 kB 00:00
(23/28): fuse3-3.10.2-9.el9.x86_64.rpm 606 kB/s | 57 kB 00:00
(24/28): fuse3-libs-3.10.2-9.el9.x86_64.rpm 1.0 MB/s | 93 kB 00:00
(25/28): libnet-1.2-7.el9.x86_64.rpm 621 kB/s | 60 kB 00:00
(26/28): protobuf-c-1.3.3-13.el9.x86_64.rpm 571 kB/s | 37 kB 00:00
(27/28): podman-5.8.2-5.el9_8.x86_64.rpm 15 MB/s | 17 MB 00:01
(28/28): iptables-nft-1.8.10-11.el9_5.x86_64.rpm 101 kB/s | 209 kB 00:02
再看本機的podman_rpms內容如下:
podman-rpms % ls
aardvark-dns-1.17.1-1.el9_8.x86_64.rpm libnet-1.2-7.el9.x86_64.rpm
conmon-2.2.1-2.el9_8.x86_64.rpm libnetfilter_conntrack-1.0.9-1.el9.x86_64.rpm
containers-common-5.8-1.el9.x86_64.rpm libnfnetlink-1.0.1-23.el9_5.x86_64.rpm
criu-3.19-3.el9.x86_64.rpm libnftnl-1.2.6-4.el9_4.x86_64.rpm
criu-libs-3.19-3.el9.x86_64.rpm libnl3-3.11.0-1.el9.x86_64.rpm
crun-1.27-1.el9_8.x86_64.rpm libslirp-4.4.0-8.el9.x86_64.rpm
fuse-common-3.10.2-9.el9.x86_64.rpm netavark-1.17.2-1.el9.x86_64.rpm
fuse-overlayfs-1.16-1.el9_7.x86_64.rpm nftables-1.0.9-7.el9_8.x86_64.rpm
fuse3-3.10.2-9.el9.x86_64.rpm passt-0^20251210.gd04c480-6.el9_8.x86_64.rpm
fuse3-libs-3.10.2-9.el9.x86_64.rpm podman-5.8.2-5.el9_8.x86_64.rpm
iptables-libs-1.8.10-11.el9_5.x86_64.rpm protobuf-c-1.3.3-13.el9.x86_64.rpm
iptables-nft-1.8.10-11.el9_5.x86_64.rpm shadow-utils-subid-4.9-16.el9.x86_64.rpm
jansson-2.14-1.el9.x86_64.rpm slirp4netns-1.3.3-1.el9.x86_64.rpm
kmod-28-11.el9.x86_64.rpm yajl-2.1.0-25.el9.x86_64.rpm
可以看到podman-5.8.2-5.el9_8.x86_64.rpm這個檔,表示下載的podman版本是最新的5.8.2版。
tar cvf ../podman-rpms.tar *.rpm
gzip podman-rpms.tar