安装 Oracle® Solaris 11.2 系统

退出打印视图

更新时间: 2014 年 7 月
 
 

如何创建和发布 IPS 软件包

  1. 创建目录分层结构。

    在本示例中,服务清单安装到 /lib/svc/manifest/site 中,首次引导脚本安装到 /opt/site 中。

    $ mkdir -p proto/lib/svc/manifest/site
    $ mkdir -p proto/opt/site
    $ cp first-boot-script-svc-manifest.xml proto/lib/svc/manifest/site
    $ cp first-boot-script.sh proto/opt/site
  2. 创建软件包清单。

    创建名为 first-boot-script.p5m 的以下文件。

    set name=pkg.fmri value=first-boot-script@1.0,5.11-0
    set name=pkg.summary value="AI first-boot script"
    set name=pkg.description value="Script that runs at first boot after AI installation"
    set name=info.classification value=\
        "org.opensolaris.category.2008:System/Administration and Configuration"
    file lib/svc/manifest/site/first-boot-script-svc-manifest.xml \
        path=lib/svc/manifest/site/first-boot-script-svc-manifest.xml owner=root \
        group=sys mode=0444
    dir  path=opt/site owner=root group=sys mode=0755
    file opt/site/first-boot-script.sh path=opt/site/first-boot-script.sh \
        owner=root group=sys mode=0555

    根据首次引导脚本执行的操作不同,可能需要指定依赖性。如果修改了此清单,请验证新清单是否正确。您可以忽略警告。有关如何创建软件包的信息(包括有关 pkgdependpkgmogrifypkglint 命令的信息),请参见在 Oracle Solaris 11.2 中使用映像包管理系统打包和交付软件 中的第 2  章 使用 IPS 打包软件

  3. 为软件包创建系统信息库。

    本示例在本地目录中创建系统信息库,其中 firstboot 作为发布者。


    注 - 在 AI 客户机在安装时可以访问的目录中创建系统信息库。
    $ pkgrepo create firstbootrepo
    $ pkgrepo -s firstbootrepo add-publisher firstboot
  4. 发布软件包。
    $ pkgsend publish -d ./proto -s ./firstbootrepo first-boot-script.p5m
    pkg://firstboot/first-boot-script@1.0,5.11-0:20140114T022508Z 
    PUBLISHED

    客户机可以通过 firstbootrepo 系统信息库安装软件包。具有 firstbootrepo 源的 firstboot 发布者是在 AI 清单中定义的,如下一部分所示。

  5. 验证软件包可用。

    列出软件包以检验软件包是否可用。

    $ pkg list -g ./firstbootrepo first-boot-script
    NAME (PUBLISHER)                 VERSION    IFO
    first-boot-script (firstboot)    1.0-0      ---
  6. (可选)测试软件包的安装。

    –n 选项意味着不安装软件包。

    # pkg set-publisher -g ./firstbootrepo firstboot
    # pkg publisher
    PUBLISHER  TYPE    STATUS P LOCATION
    solaris    origin  online F http://http://pkg.oracle.com/solaris/release/
    firstboot  origin  online F file:///home/user1/firstboot/firstbootrepo/
    # pkg list -af first-boot-script
    NAME (PUBLISHER)                 VERSION    IFO
    first-boot-script (firstboot)    1.0-0      ---
    # pkg install -nv first-boot-script
               Packages to install:        1
         Estimated space available: 50.68 GB
    Estimated space to be consumed: 64.66 MB
           Create boot environment:       No
    Create backup boot environment:       No
              Rebuild boot archive:       No
    
    Changed packages:
    firstboot
      first-boot-script
        None -> 1.0,5.11-0:20140114T022508Z
    Planning linked: 0/2 done; 1 working: zone:z2
    Linked image 'zone:z2' output:
    |      Estimated space available: 50.68 GB
    | Estimated space to be consumed: 62.07 MB
    |           Rebuild boot archive:       No
    `
    Planning linked: 1/2 done; 1 working: zone:z1
    Linked image 'zone:z1' output:
    |      Estimated space available: 50.67 GB
    | Estimated space to be consumed: 62.07 MB
    |           Rebuild boot archive:       No

接下来的步骤

有关使新系统信息库可供客户机系统通过 NFS 共享或 HTTP 进行访问的说明,请参见在 Oracle Solaris 11.2 中复制和创建软件包系统信息库