跳轉到內容

TWW 與 CPAM/使用者指南

來自華夏公益教科書,開放世界開放書籍

軟體應用程式管理概述

[編輯 | 編輯原始碼]

計算機應用程式是由人類為計算機建立的。這種人機互動可以抽象為以下步驟。

  • 為計算機設計軟體。
  • 在計算機上構建軟體。
  • 為各種計算機打包軟體。
  • 從計算機安裝/刪除軟體。

最後三項活動可以細分為以下更詳細的步驟

  • 軟體構建過程 (SB)
    • 解包原始檔
    • 修補原始碼
    • 為特定作業系統配置原始檔
    • 編譯原始碼以生成二進位制檔案和文件
    • 如果需要,測試編譯後的二進位制檔案
    • 將二進位制檔案安裝到安裝路徑
    • 解除安裝二進位制檔案
  • 包構建 (PB) 過程非常直接
    • 準備指令碼以處理預安裝、後安裝、預刪除和後刪除所需的步驟。
    • 準備初始化指令碼以啟動/停止應用程式服務
    • 呼叫本地 PMS 將二進位制檔案、文件和指令碼打包到本地 PMS 格式。
  • 包管理 (PKGUTIL) 過程
    • 將包上傳並管理到包倉庫伺服器。
    • 安裝
    • 移除
    • 升級/修補
    • 根據包依賴關係自動安裝。

縮略詞:CPAD、CPAM、PMS、HPMS 和 TWW

[編輯 | 編輯原始碼]

"The Written Words" 用於描述系統管理員執行的跨平臺應用程式開發和管理活動。"The Written Words" 嘗試將執行的任務寫入 XML 語言。

為了提供通用命名來描述活動,定義了以下縮略詞以供輕鬆參考。這也為其他打包方法(如 gentoo 中的 openpkg 或 Portage)留下了空間。

  • CPAD:Cross-Platform Application Development,一種解決方案,使軟體應用程式開發能夠輕鬆地適用於人造、不相容和變化的作業系統。X windows、Java、OpenStep 和 GNUstep 是解決方案的例子。
  • CPAM:Cross-Platform Application Management,一種解決方案,使應用程式管理變得簡單且一致。TWW 的 HPMS 就是解決方案之一。
  • HPMS:Hbrid Package Management System。一種包裝解決方案,它與 PMS 一起工作,為包開發者遮蔽不相容的本地 PMS。它允許包開發者始終如一地建立和維護軟體包,而無需瞭解每個 PMS 的詳細資訊,因為他們不需要了解這些詳細資訊。
  • PMS:Package Management System。一種軟體系統,旨在以打包的格式建立、構建、安裝、刪除和升級軟體。例如:RPM、dpkg、inst、lpp、portage、Installsield、HP SD-UX。
  • PMS 格式:PMS 包格式。一個檔案或目錄,包含一組編譯後的二進位制檔案、文件或指令碼檔案。此檔案通常以壓縮形式存在,稱為軟體包。透過完成此工作,可以更好地維護軟體包。示例格式:rpm、msi、ipk、pkgadd、depot 和 GNUstep 的 .app。
  • TWW:The Written Word of wisdom to guide you through the maze of getting an open source software built and packaged. Better yet, the words are digitalized into a xml file that can be play back and repeated by others.
  • TWW Inc: A company specialize in open source building and packaging to make opensource easier to use across different OS platforms.

什麼是包管理系統?

[編輯 | 編輯原始碼]
  • 每個現代作業系統都帶有一個 PMS(包管理系統)。因為我們在 DOS 時代沒有 PMS,所以我們經歷了痛苦的時期。在沒有系統化打包的情況下,將軟體二進位制檔案新增到作業系統中被證明是不可管理的。

以下 ASCI 圖表描述了一些作業系統及其 PMS 的關係。

       |--------------------------------------------|
       |Software|Software   | Software  |  Software |
       |--------------------------------------------|
PMS    |  RPM   |  PKGADD   |   MSI     | SD-UX     |
       ---------------------------------------------|
       | Linux  | Solaris   | Windows   | HP-UX     |
OS     |        |           |           |           |
       --------  ----------   -----------  ----------

什麼是混合包管理系統?

[編輯 | 編輯原始碼]
  • 就像混合動力汽車一樣,很難直接拋棄舊技術(在發動機中燃燒汽油)並使用新技術(電池用於電動機),現有已安裝的作業系統需要一個侵入性較小的混合包管理系統來幫助我們過渡到新技術。
  • 為了與 IT 或家用計算機環境中現有的部署機器實現最佳相容性,我們需要儘可能多地使用本地 PMS 建立包,並使用不同的安裝路徑。撤消或移除現有應用程式安裝工作通常成本過高。The Written Word Inc. 設計和實施了他們的 HPMS 用於商業開源支援。這些工具可用於打包和管理不需要直接使用本地 PMS 的商業包。例如,IBM/Rational 的 clearcase 和 Oracle 資料庫軟體。使用 HPMS,我們可以使用 "pkg-inst clearcase-6.0" 安裝 clearcase,或者我們可以使用 "pkg-inst oracle-8.1.7" 安裝 Oracle 伺服器,而無需直接使用它們的安裝程式。
  • 以下是一個 ASCII 圖表,說明 HPMS 如何在現有本地 PMS 之上(超)工作以構建、打包和管理軟體應用程式。
       |--------------------------------------------|
HPMS   | TWW HPMS=sbutils,pbutils and pkgutils      |
       |--------------------------------------------|
PMS    |  RPM  | |  PKGADD |  |   MSI   |  | SD-UX  |
       --------- -----------  -----------  ----------
       | Linux | | Solaris |  | Windows |  | HP-UX  |
OS     |       | |         |  |         |  |        |
       --------  ----------   -----------  ----------

什麼是 HPMS?

[編輯 | 編輯原始碼]
  • 以下是一個 ASCII 圖表,說明在建立本地包時作業系統、PMS 和 HPMS 之間的關係。
  • 從原始碼建立軟體二進位制檔案時。
    • 在使用 RPM PMS 的 Linux 上,您需要使用 rpmbuild 命令來解析包規範檔案中配置和構建部分的說明。
    • 在 Oracle Solaris 上,您通常輸入 make 命令來解析 Makefile,其中包含有關原始碼和編譯器選項的說明,以構建二進位制檔案。
       |--------------------------------------------------------|
HPMS   |                   TWW sbutils                          |
       |--------------------------------------------------------|
PMS    | rpmbuild  | |  make   |  |  VisualStudio   |  | ?      |
       ------------- -----------  ------------------   ---------
       | Linux     | | Solaris |  | Windows         |  | HP-UX  |
OS     |           | |         |  |                 |  |        |
       ------------- ----------   ------------------   ---------
  • 為不同的作業系統打包軟體時。
       |-----------------------------------------------|
HPMS   |                   TWW pbutils                 |
       |-----------------------------------------------|
PMS    | rpmbuild | |pkgmk    |  | Wix     |  | SD-UX  |
       |----------| |---------|  |---------|  |--------|
       | Linux    | | Solaris |  | Windows |  | HP-UX  |
OS     |          | |         |  |         |  |        |
       -----------  ----------   -----------  ----------
  • 從不同的作業系統中移除軟體時。
       |------------------------------------------------|
HPMS   |                   TWW pkg-rm                   |
       |------------------------------------------------|
PMS    | rpm -e   | |pkgrm    |  | msiexec |  | swremove|
       |----------| |---------|  |---------|  |---------|
       | Linux    | | Solaris |  | Windows |  | HP-UX   |
OS     |          | |         |  |         |  |         |
       -----------  ----------   -----------  -----------
  • 為不同的作業系統安裝軟體時。
       |---------------------------------------------------|
HPMS   |                   TWW pkg-inst                    |
       |---------------------------------------------------|
PMS    | rpm -i   | |pkgadd   |  | msiexec -i |  |swinstall|
       |----------| |---------|  |------------|  |---------|
       | Linux    | | Solaris |  | Windows    |  | HP-UX   |
OS     |          | |         |  |            |  |         |
       -----------  ----------   --------------  -----------

TWW HPMS 簡介

[編輯 | 編輯原始碼]
  • 包管理:建立、構建、安裝、刪除、更新和查詢作業系統上已安裝應用程式的活動。
  • TWW HPMS 系統中的 pkgutils 有以下四個主要命令來執行包管理活動。
[root] ls -l /opt/TWWfsw/pkgutils15/bin/
total 542
-rwxr-xr-x   1 root     root       32434 Jan 25  2004 chk-pkg-updates    <- Check newer version of applications.
-rwxr-xr-x   1 root     root       18751 Jan 25  2004 pkg-config
-rwxr-xr-x   1 root     root       48281 Jan 25  2004 pkg-info           <- Display package information.
-rwxr-xr-x   1 root     root       70570 Jan 25  2004 pkg-inst           <- Install packages.
-rwxr-xr-x   1 root     root       35692 Jan 25  2004 pkg-rm             <- Remove packages.
[root]

開始使用 TWW 包管理工具

[編輯 | 編輯原始碼]

在受支援的作業系統上安裝 TWW HPMS

[編輯 | 編輯原始碼]

當前 TWW 支援的作業系統

[編輯 | 編輯原始碼]
AIX 4.3.3
AIX 5.1
AIX 5.2
HP-UX 10.20
HP-UX 11.00
HP-UX 11i
IRIX 6.5
Redhat Ent. Linux 2.1
Redhat Ent. Linux 3
Redhat Linux 7.1
Redhat Linux 9
Solaris 2.6
Solaris 7
Solaris 8
Solaris 9
Tru64 UNIX 4.0D
Tru64 UNIX 5.1
  • 如果您的作業系統未列出,為什麼不 移植它 以使其與CPAM相容?

安裝TWW HPMS的步驟

[編輯 | 編輯原始碼]

pkg-inst安裝軟體包。它將自動處理軟體包依賴關係。自動化是透過應用程式儲存庫伺服器上的pkg-db.xml中的軟體包依賴關係描述實現的。以下示例命令是最常用的命令。

  1. pkg-inst bash : 這是與 "pkg-get -i bash"、"rpm -i bash" 相比,安裝軟體包的非常簡單的語法。
  2. pkg-inst -N bash : -N 用於進行試執行,不安裝實際軟體包。這是一個提前檢視將要發生的事情的好方法。
  3. pkg-inst—tempdir=/tmp clearcase: 預設情況下,/var 用於儲存下載的軟體包,當 /var/ 太小而無法容納要安裝的軟體包時,我們可以指定其他目錄作為臨時目錄。
  1. pkg-rm bash : 與 "pkg-get -d bash"、"rpm -e bash" 相比,刪除軟體包的簡單語法。
  2. pkg-rm -N bash : -N 用於進行試執行,不安裝實際軟體包。
  3. pkg-rm clearcase: 預設情況下,/var 用於儲存下載的軟體包,當 /var/ 太小而無法容納要安裝的軟體包時,我們可以指定其他目錄作為臨時目錄。
  1. "pkg-info bash"
  2. "pkg-info -N bash" : -N 用於進行試執行,不安裝實際軟體包。這是一個提前檢視將要發生的事情的好方法。
  3. "pkg-info": 找出應用程式儲存庫伺服器上有哪些可用軟體包。

chk-pkg-updates

[編輯 | 編輯原始碼]
華夏公益教科書