非インターネット環境のAIXにAIX Toolboxメディアを使用してdnfローカルレポジトリを作成するための手順です。
こちらを参考にしました。
Creating local repo with DNF and AIX Toolbox Media Image
メリット
セキュリティポリシー的にインターネットアクセスが許されない環境でも、オフラインでパッケージの導入や管理ができるようになります。
例えば、Power Systems Virtual Server上でデプロイしたAIX区画にパブリックI/Fを開けられない時、このローカルレポジトリを一度作成してしまえば、簡単にパッケージを導入できてちょっと楽ができます。
AIX Toolboxとは
AIX Toolboxとは、AIX用に構築されたオープンソースおよびGNUソフトウェアをインストールするためのリソースとなります。AIXで一般的なパッケージマネージャーであるrpmを使用して、簡単に導入することができます。
注意点として、こちらで導入したものはオープンソースソフトウェアのため、IBM Supportで問い合わせしてもサポートを受けることはできません。
手順
環境
今回はAIX7.3での手順になります。
# oslevel -s
7300-01-00-0000
必要なもの
AIX Toolboxのメディア(今回はISOメディアを使用しています)
手順
-
AIX ToolboxのメディアをAIXにコピーしマウントする
# ls ESD-AIX_Toolbox_for_Linux_Applications_Src_112023_LCD4113033.iso # loopmount -i ESD-Toolbox_for_Linux_Apps_Common_7.1-7.3_112023_LCD4107738.iso -o "-V udfs -o ro" -m /mnt
-
dnf_aixtoolbox_local.shを実行
# /mnt/ezinstall/ppc/dnf_aixtoolbox_local.sh /mnt <以下、略> dnf installed successfully. Please run 'dnf update' to update packages to the latest level. Please note, RPM packages are downloaded in dnf cache /var/cache/dnf. RPM packages install files go under the path /opt. Hence it is recommended to always keep at least 512MB of free space in /var & /opt to avoid any download and installation/update failures. Creating the dnf.conf file with required locale repositories. The default /opt/freeware/etc/dnf/dnf.conf has been saved as /opt/freeware/etc/dnf/dnf.conf_local_bak
スクリプトの実行が完了すると、以下のようにレポジトリが作成されています。
# /opt/freeware/bin/dnf repolist repo id repo name Local_AIX_Toolbox Local AIX generic repository Local_AIX_Toolbox_73 Local AIX 7.3 specific repository Local_AIX_Toolbox_noarch Local AIX noarch repository
-
dnf updateを実行して、パッケージを最新バージョンにします。
# /opt/freeware/bin/dnf update . . . Upgraded: ca-certificates-2023.2.60-2.ppc libcomps-0.1.15-101.ppc libmodulemd-1.5.2-100.ppc librepo-1.11.0-103.ppc libsmartcols-2.34-101.ppc libzstd-1.5.2-2.ppc p11-kit-0.24.1-1.ppc p11-kit-tools-0.24.1-1.ppc python3-3.9.18-1.ppc python3-gpg-1.13.1-101.ppc python3-libcomps-0.1.15-101.ppc python3-librepo-1.11.0-103.ppc python3.9-3.9.18-1.ppc python3.9-gpg-1.13.1-101.ppc python3.9-libcomps-0.1.15-101.ppc python3.9-librepo-1.11.0-103.ppc zchunk-libs-1.1.4-103.ppc dnf-4.2.17-64_53.ppc dnf-automatic-4.2.17-64_53.ppc dnf-data-4.2.17-64_53.ppc libdnf-0.39.1-64_52.ppc libsolv-0.7.9-64_52.ppc python3-dnf-4.2.17-64_53.ppc python3-hawkey-0.39.1-64_52.ppc python3-libdnf-0.39.1-64_52.ppc python3.9-dnf-4.2.17-64_53.ppc python3.9-hawkey-0.39.1-64_52.ppc python3.9-libdnf-0.39.1-64_52.ppc Installed: pinentry-1.0.0-1.ppc bzip2-1.0.8-2.ppc check-0.13.0-1.ppc curl-8.4.0-1.ppc cyrus-sasl-2.1.28-1.ppc db-1:5.3.28-1.ppc expat-2.5.0-1.ppc gdbm-1.23-1.ppc gettext-0.21-2.ppc glib2-2.76.3-1.ppc gmp-6.2.1-1.ppc gnupg2-2.2.35-1.ppc gnutls-3.7.9-1.ppc gpgme-1.13.1-101.ppc info-7.0.2-1.ppc json-c-0.15-2.ppc krb5-libs-1.20.1-1.ppc libassuan-2.5.5-1.ppc libffi-3.4.2-1.ppc libgcrypt-1.10.2-1.ppc libgpg-error-1.45-1.ppc libiconv-1.17-1.ppc libksba-1.6.3-1.ppc libnghttp2-1.55.1-1.ppc libssh2-1.10.0-2.ppc libtasn1-4.19.0-1.ppc libtextstyle-0.21-2.ppc libunistring-0.9.10-1.ppc libxml2-2.10.4-1.ppc libyaml-0.2.5-1.ppc ncurses-6.4-1.ppc nettle-3.7.3-1.ppc npth-1.5-1.ppc openldap-2.5.16-1.ppc pcre2-10.40-1.ppc readline-8.2-1.ppc sqlite-3.41.2-1.ppc xz-libs-5.4.3-1.ppc zlib-1.2.13-1.ppc libgcc-1:10-2.ppc libgcc10-10.3.0-6.ppc libgomp-1:10-2.ppc libgomp10-10.3.0-6.ppc libstdc++-1:10-2.ppc libstdc++10-10.3.0-6.ppc Complete!
これでローカルレポジトリの作成は完了です。
試しにsambaを導入してみる
# /opt/freeware/bin/dnf install samba
Last metadata expiration check: 0:04:31 ago on Wed Dec 6 15:30:45 CST 2023.
Dependencies resolved.
====================================================================================================================================================================================================================
Package Architecture Version Repository Size
====================================================================================================================================================================================================================
Installing:
samba ppc 4.18.5-1 Local_AIX_Toolbox 2.0 M
Installing dependencies:
coreutils ppc 9.3-1 Local_AIX_Toolbox 9.2 M
libsmbclient ppc 4.18.5-1 Local_AIX_Toolbox 93 k
popt ppc 1.19-1 Local_AIX_Toolbox 222 k
samba-client ppc 4.18.5-1 Local_AIX_Toolbox 502 k
samba-common ppc 4.18.5-1 Local_AIX_Toolbox 9.7 M
samba-devel ppc 4.18.5-1 Local_AIX_Toolbox 269 k
samba-libs ppc 4.18.5-1 Local_AIX_Toolbox 1.8 M
samba-winbind ppc 4.18.5-1 Local_AIX_Toolbox 524 k
samba-winbind-clients ppc 4.18.5-1 Local_AIX_Toolbox 131 k
Transaction Summary
====================================================================================================================================================================================================================
Install 10 Packages
Total size: 24 M
Installed size: 82 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : popt-1.19-1.ppc 1/10
Installing : coreutils-9.3-1.ppc 2/10
Running scriptlet: coreutils-9.3-1.ppc 2/10
Installing : libsmbclient-4.18.5-1.ppc 3/10
Installing : samba-client-4.18.5-1.ppc 4/10
Installing : samba-devel-4.18.5-1.ppc 5/10
Installing : samba-libs-4.18.5-1.ppc 6/10
Running scriptlet: samba-winbind-4.18.5-1.ppc 7/10
3004-686 Group "wbpriv" does not exist.
Installing : samba-winbind-4.18.5-1.ppc 7/10
Running scriptlet: samba-winbind-4.18.5-1.ppc 7/10
Installing : samba-winbind-clients-4.18.5-1.ppc 8/10
Installing : samba-common-4.18.5-1.ppc 9/10
Installing : samba-4.18.5-1.ppc 10/10
Running scriptlet: samba-4.18.5-1.ppc 10/10
A guide to installing Samba on AIX can be found in /opt/freeware/doc/samba-4.18.5/README.AIX_Samba_Usage_Guide
Verifying : coreutils-9.3-1.ppc 1/10
Verifying : libsmbclient-4.18.5-1.ppc 2/10
Verifying : popt-1.19-1.ppc 3/10
Verifying : samba-4.18.5-1.ppc 4/10
Verifying : samba-client-4.18.5-1.ppc 5/10
Verifying : samba-common-4.18.5-1.ppc 6/10
Verifying : samba-devel-4.18.5-1.ppc 7/10
Verifying : samba-libs-4.18.5-1.ppc 8/10
Verifying : samba-winbind-4.18.5-1.ppc 9/10
Verifying : samba-winbind-clients-4.18.5-1.ppc 10/10
Installed:
samba-4.18.5-1.ppc coreutils-9.3-1.ppc libsmbclient-4.18.5-1.ppc popt-1.19-1.ppc samba-client-4.18.5-1.ppc samba-common-4.18.5-1.ppc samba-devel-4.18.5-1.ppc samba-libs-4.18.5-1.ppc
samba-winbind-4.18.5-1.ppc samba-winbind-clients-4.18.5-1.ppc
Complete!
ちゃんと、依存関係のあるパッケージも一緒にsambaが導入できました。