HP-UX swinstall 錯誤“源上的 INDEX 文件不存在或無法讀取。”有一個手工製作的倉庫
我想創建一個簡單的(?)軟體分發(包/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
容器,並且tag
、control_directory
、revision
和title
都適用product
於 PSF 語法。data_model_revision
並且instance_id
沒有直接記錄在 PSF 中,但它們在swpackage(4)
手冊頁product
或bundle
級別上下文中有所提及。稍後,您有一個subproduct
,它必須是 的子容器product
。