TWW 与 CPAM/用户指南
外观
计算机应用程序是由人类为计算机创建的。这种人机交互可以抽象为以下步骤。
- 为计算机设计软件。
- 在计算机上构建软件。
- 为各种计算机打包软件。
- 从计算机安装/删除软件。
最后三项活动可以细分为以下更详细的步骤
- 软件构建过程 (SB)
- 解包源文件
- 修补源代码
- 为特定操作系统配置源文件
- 编译源代码以生成二进制文件和文档
- 如果需要,测试编译后的二进制文件
- 将二进制文件安装到安装路径
- 卸载二进制文件
- 包构建 (PB) 过程非常直接
- 准备脚本以处理预安装、后安装、预删除和后删除所需的步骤。
- 准备初始化脚本以启动/停止应用程序服务
- 调用本地 PMS 将二进制文件、文档和脚本打包到本地 PMS 格式。
- 包管理 (PKGUTIL) 过程
- 将包上传并管理到包仓库服务器。
- 安装
- 移除
- 升级/修补
- 根据包依赖关系自动安装。
"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 | | | | | | | | -------- ---------- ----------- ----------
- 以下是一个 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 系统中的 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]
- 访问 http://www.thewrittenword.com/evaluate/ 查看当前支持的操作系统。以下列表可能已过时。
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兼容?
- 访问 http://www.thewrittenword.com/evaluate/
- 在操作系统菜单的右侧,单击您需要的操作系统版本
- 按照您单击的网页上的说明进行操作。
pkg-inst安装软件包。它将自动处理软件包依赖关系。自动化是通过应用程序存储库服务器上的pkg-db.xml中的软件包依赖关系描述实现的。以下示例命令是最常用的命令。
- pkg-inst bash : 这是与 "pkg-get -i bash"、"rpm -i bash" 相比,安装软件包的非常简单的语法。
- pkg-inst -N bash : -N 用于进行试运行,不安装实际软件包。这是一个提前查看将要发生的事情的好方法。
- pkg-inst—tempdir=/tmp clearcase: 默认情况下,/var 用于存储下载的软件包,当 /var/ 太小而无法容纳要安装的软件包时,我们可以指定其他目录作为临时目录。
- pkg-rm bash : 与 "pkg-get -d bash"、"rpm -e bash" 相比,删除软件包的简单语法。
- pkg-rm -N bash : -N 用于进行试运行,不安装实际软件包。
- pkg-rm clearcase: 默认情况下,/var 用于存储下载的软件包,当 /var/ 太小而无法容纳要安装的软件包时,我们可以指定其他目录作为临时目录。
- "pkg-info bash"
- "pkg-info -N bash" : -N 用于进行试运行,不安装实际软件包。这是一个提前查看将要发生的事情的好方法。
- "pkg-info": 找出应用程序存储库服务器上有哪些可用软件包。