版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZENGZISUZI/article/details/80990622
背景
Solaris11.4环境下,想安装、升级和删除 Oracle Solaris 操作系统的软件包等动作时。会使用 IPS工具。当然除以上功能外,IPS还可以创建自己的软件包、创建和管理软件包系统信息库以及镜像现有的软件包系统信息库。这里主要说基本的安装软件的功能。
必备文件
配置IPS,则需要IPS(Image Packaging System)库,即简单的软件包系统信息库。
下载地址
http://www.oracle.com/technetwork/server-storage/solaris11/114beta/114betarepo-4258266.html
需要下载的文件
Repository Assembly Script (install-repo.ksh)
sha256 digest
Oracle Solaris 11.4 Beta Repository (Part 1) (1.9 GB)
Oracle Solaris 11.4 Beta Repository (Part 2) (1.6 GB)
Oracle Solaris 11.4 Beta Repository (Part 3) (1.9 GB)
Oracle Solaris 11.4 Beta Repository (Part 4) (1.8 GB)
Oracle Solaris 11.4 Beta Repository (Part 5) (1.6 GB)
install-repo.ksh文件为解压5个Repository 的工具,
sha256 digest文件则是5个Repository 的md5值,用来对比下载文件与源文件是否一致的文件。
开始配置注意事项
- 确保 ZFS 存储池容量小于 90%。使用 zpool list 命令查看池容量。
- 关闭使用大量内存的应用程序。
开始配置
与Solaris11不同的是此IPS库不再是iso文件,而是zip文件,操作方法也与sol11有所不同
- 为新系统信息库创建 ZFS 文件系统。
# zfs create -o atime=off rpool/VARSHARE/pkgrepos
# zfs create rpool/VARSHARE/pkgrepos/solaris
# zfs get atime rpool/VARSHARE/pkgrepos/solaris
NAME PROPERTY VALUE SOURCE
rpool/VARSHARE/pkgrepos/solaris atime off inherited from rpool/VARSHARE/pkgrepos
- 获取软件包系统信息库文件。
在下载好的IPS库文件夹下,执行ksh脚本进行解压5个Repository
# ls -l
total 18833414
-rwxr-xr-x 1 root root 12262 Jul 11 01:17 install-repo.ksh
-rw-r--r-- 1 root root 1878475469 Jun 21 16:12 sol-11_4-beta1-repo_1of5.zip
-rw-r--r-- 1 root root 1917967131 Jun 21 16:14 sol-11_4-beta1-repo_2of5.zip
-rw-r--r-- 1 root root 2161127263 Jun 21 16:15 sol-11_4-beta1-repo_3of5.zip
-rw-r--r-- 1 root root 1861037941 Jun 21 16:09 sol-11_4-beta1-repo_4of5.zip
-rw-r--r-- 1 root root 1814226285 Jul 10 21:19 sol-11_4-beta1-repo_5of5.zip
# ./install-repo.ksh -d /var/share/pkgrepos/solaris
Using sol-11_4-beta1-repo download.
Uncompressing sol-11_4-beta1-repo_1of5.zip...done.
Uncompressing sol-11_4-beta1-repo_2of5.zip...done.
Uncompressing sol-11_4-beta1-repo_3of5.zip...done.
Uncompressing sol-11_4-beta1-repo_4of5.zip...done.
Uncompressing sol-11_4-beta1-repo_5of5.zip...done.
Repository can be found in /var/share/pkgrepos/solaris.
Initiating repository rebuild.
# echo $?
0
# ls /var/share/pkgrepos/solaris
COPYRIGHT NOTICES README-repo-iso.txt pkg5.repository publisher readme.txt
- 生成快照
# zfs snapshot rpool/VARSHARE/pkgrepos/solaris@sol-11_4_0
# echo $?
0
- 配置NFS共享使得用户通过文件接口检索到软件包
# zfs share -o share.nfs=on rpool/VARSHARE/pkgrepos%ipsrepo
# echo $?
0
- 确认已配置好(二者选其一)
# grep repo /etc/dfs/sharetab
/var/share/pkgrepos ipsrepo nfs sec=sys,rw
# dfshares
RESOURCE SERVER ACCESS TRANSPORT
solaris114:/var/share/pkgrepos solaris114 - -
- 确认发布者名称
# pkgrepo info -s /var/share/pkgrepos/solaris
PUBLISHER PACKAGES STATUS UPDATED
solaris 6419 online 2018-07-10T17:33:48.832016Z
- 检查此发布者源的适用性。
第二条命令显示指定的系统信息库不是此映像的合适发布者源
第三条命令显示指定的系统信息库是此映像的合适发布者源
# pkg list entire
NAME (PUBLISHER) VERSION IFO
entire 11.4-11.4.0.0.1.3.0 i--
# pkgrepo list -Hs http://pkg.oracle.com/solaris/release [email protected]
pkgrepo: Framework error: code: E_MULTI_UNKNOWN_OPTION (6) reason: Couldn't resolve host 'pkg.oracle.com'
URL: 'http://pkg.oracle.com/solaris/release/versions/0/'
# echo $?
1
# pkgrepo list -Hs /var/share/pkgrepos/solaris/ [email protected]
solaris entire 11.4-11.4.0.0.1.3.0:20180329T011527Z
- 设置发布者源
# pkg set-publisher -G '*' -M '*' -g /var/share/pkgrepos/solaris/ solaris
# echo $?
0
- 安装软件(或者pkg install /system/locale/extra)
# pkg install pkg:/system/locale/extra
Packages to install: 1
Services to change: 1
Create boot environment: No
Create backup boot environment: No
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 1/1 227/227 9.0/9.0 --
PHASE ITEMS
Installing new actions 622/622
Updating package state database Done
Updating package cache 0/0
Updating image state Done
Creating fast lookup database Done
Reading search index Done
Updating search index 1/1
Updating package cache 1/1
# echo $?
0
参考文档
https://docs.oracle.com/cd/E62103_01/html/E62538/accessrepo1.html#CCOSPfileaccess