Hp-Ux

HP-UX swinstall 錯誤“源上的 INDEX 文件不存在或無法讀取。”有一個手工製作的倉庫

  • September 26, 2019

我想創建一個簡單的(?)軟體分發(包/SD-UX),其中包含一個簡單的 hello world shell 腳本**,而不**使用 hpux 出於 CI/CD 原因提供的任何工具。

我從最新的 cURL 軟體倉庫手工複製了這個佈局,chmodded 到 root:sys,並存檔,tar -C helloworld-hpux -czvf helloworld-7.6.6.depot.tar.gz .但是當我安裝它時,我得到一個 I/O 錯誤。

swagentd 日誌:

      * Registered RPC protocol "ncacn_ip_tcp" with endpoint "2121".
      * Registered RPC protocol "ncadg_ip_udp" with endpoint "2121".
      * Checking job queue at 1 minute intervals.
      * Started install agent on "/" for root@sovmh123.siteox.com,
        pid=25798, 09/26/19 04:48:54 CDT
      * Started source agent on "/tmp/helloworld-7.6.6.depot.gz" for
        root@sovmh123.siteox.com, pid=25799, 09/26/19 04:48:55 CDT
ERROR:   The INDEX file on the source did not exist or could not be
        read.
ERROR:   The target "/tmp/helloworld-7.6.6.depot.gz" could not be
        opened. pid=25799 09/26/19 04:48:55 CDT
      * Agent pid=25799 completed.  09/26/19 04:48:55 CDT
      * Agent pid=25798 completed.  09/26/19 04:48:55 CDT

我該如何解決?

除非swinstall在過去 5 年左右得到增強,否則我認為它無法讀取 gzipped .depot.gz。你必須gunzip提供一個簡單的.depot.

據我所知,INDEX 文件是一組層次結構的序列化:您應該查看swpackage(4)手冊頁並將 INDEX 文件的結構與描述的包規範文件 (PSF) 的結構進行比較。INDEX 文件有更多元素,但整體結構應該相似。

看起來helloworld-hpux/catalog/INDEX缺少product一行。換句話說:

...
media 
sequence_number 1
tag helloworld
data_model_revision 2.40
instance_id 1
control_directory helloworld
revision 7.66.0
title "helloworld"
...

應該是:

...
media 
sequence_number 1
product
tag helloworld
data_model_revision 2.40
instance_id 1
control_directory helloworld
revision 7.66.0
title "helloworld"
...

media在 PSF 語法中不存在,但它可能標識包含軟體分發的各個部分的各種磁帶/CD/其他媒體,如果有多個,因此它可能是 INDEX 語法中的一個子容器,包含任意數量的product子- 子容器。

即使在 PSF 中,也必須至少有一個product容器,並且tagcontrol_directoryrevisiontitle都適用product於 PSF 語法。data_model_revision並且instance_id沒有直接記錄在 PSF 中,但它們在swpackage(4)手冊頁productbundle級別上下文中有所提及。稍後,您有一個subproduct,它必須是 的子容器product

引用自:https://unix.stackexchange.com/questions/543817