免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1818 | 回复: 6
打印 上一主题 下一主题

如何在Solaris环境下制作程序安装包 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-17 16:56 |只看该作者 |倒序浏览
在Solaris9/10上开发的软件,现在想把它制作成可安装的工具,怎么来实现?有没有好的工具支持这方面的制作?请高手指点,不胜感激!
谢谢!

QQ:30520068
Email:leiwang_80@qq.com

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-03-19 06:20:00数据库技术版块每日发帖之星
日期:2016-07-05 06:20:00
2 [报告]
发表于 2008-08-18 09:06 |只看该作者
你可以看看SA200这本书,里面有这样一段话供你参考:
Translating Package Formats
Use the pkgtrans command to translate a package from file system format to data stream format, or from data stream format to file system format. The command syntax for the pkgtrans command is:

# pkgtrans file_or_dir_path file_or_dir_path [ package_name ...]

For example, to translate a package from file system format in /var/tmp to data stream format, use:

# pkgtrans /var/tmp /tmp/SUNWrsc.pkg SUNWrsc

Transferring <SUNWrsc> package instance

The first argument above is the directory where the file system format package is stored. The second argument is the package data stream file. The third argument is the package to translate.

If a package name is not given, the pkgtrans command provides a list of all packages in the directory, and prompts the user for the packages to translate.

论坛徽章:
0
3 [报告]
发表于 2008-08-18 10:18 |只看该作者
学习了

论坛徽章:
0
4 [报告]
发表于 2008-08-19 19:41 |只看该作者

回复 #1 leiwang_80 的帖子

thanks a lot. I will try as you suggest, and maybe ask you again for something...

论坛徽章:
0
5 [报告]
发表于 2008-08-19 21:06 |只看该作者

回复 #2 bencyber 的帖子

请问哪里可以下载SA200这本书?谢谢!

论坛徽章:
7
荣誉会员
日期:2011-11-23 16:44:17水瓶座
日期:2013-08-28 21:20:16丑牛
日期:2013-10-02 21:01:462015年迎新春徽章
日期:2015-03-04 09:54:45操作系统版块每日发帖之星
日期:2016-06-05 06:20:0015-16赛季CBA联赛之吉林
日期:2016-06-20 08:24:0515-16赛季CBA联赛之四川
日期:2016-08-18 15:02:02
6 [报告]
发表于 2008-08-20 08:06 |只看该作者
原帖由 leiwang_80 于 2008-8-17 16:56 发表
在Solaris9/10上开发的软件,现在想把它制作成可安装的工具,怎么来实现?有没有好的工具支持这方面的制作?请高手指点,不胜感激!
谢谢!

QQ:30520068
Email:leiwang_80@qq.com

用你的帖子标题在google里面搜索了一把
http://www.chmhome.com/plus/view.php?aid=8836

  1. here you are.
  2. --------------------------------------------------------------------------------
  3. 在 Solaris 下建立可使用 pkgadd 的软体 package
  4. --------------------------------------------------------------------------------
  5. 这篇文章主要是说明如何作在 Solaris 2.5,2.6 及 7 上面, 能够使用 pkgadd 来读取, 并安装的 package程
  6. 式. 在 AnswerBook 2 里有详细的讨论作 package 的过程. 以下将会一步一步
  7. 说明如何作 package.

  8. 注意: 在以下某些步骤中, 需要在你的机器上有 root 的权利才能使用.

  9. ** 选择你的软体
  10. 找寻软体的原始程式码, 将它下载. 读取所有和安装有关的文件. 并注意所有的设
  11. 定档, 当然也包含检查 Makefile. 解可执行档案及它们的 link 情况.

  12. ** 读取 manuals 和 man page
  13. 虽然许多人都不太愿意去读这些 man page, 或许你会觉得看 man pgae 是很累的事
  14. 但是最好还是看一下, 下面这些指令的 man page.

  15. pkgadd, pkginfo,pkgmk,pkgparam,pkgproto,pkgtrans,pkgrm

  16. 这里有许多的 option 还有详细的说明, 你必需解, 以方便以下的说明.

  17. ** 设定目录结构
  18. 通常, 我惯建立一个目录, 如 /opt/SoftWare . 一般而言, 大部份的软体都会安装
  19. 在 /usr/local 下, 建立 /opt/SoftWare 是要存放将要做成 package 的软体, 而
  20. 避免和原来 /usr/local 下的档案混在一起. 在下一个步骤将会说明如何使用它.

  21. ** 编译并安装软体在 /usr/local 或其它地方
  22. 改变目录至你存放软体原始程式的位置, 并且读取相关的指令使用. 大部份的软体都
  23. 会有详细的安装指令, 这些指令通常以 README INSTALL 等方式的档名出现. 仔细的
  24. 读取, 并将你的软体编译成可执行档. 当你的软体编译完成, 你会执行如 "make install"
  25. 之类的指令, 用以安装你的程式到 /usr/local 或其它地方. 在执行 "make install"
  26. 之前, 你需要做以下的动作:

  27. % su
  28. % cd /usr
  29. % mv local local.full
  30. % ln -s local /opt/SoftWare

  31. 然後再执行 "make install" , 这样一来, 虽然是装在 /usr/local , 但实际上是
  32. 放在 /opt/SoftWare 里面.

  33. ** 建立 prototype 和 pkginfo 这两个档

  34. 改变目录至 /usr/local ...

  35. % cd /usr/local

  36. 执行以下的指令 ...

  37. % find . -print | pkgproto >; prototype

  38. 这行指令会建立一个 prototype 档在 /usr/local  
  39. 来, 使用你的文字编辑器 (如 vi), 来编辑 prototype 这个档, 加入下面那行

  40. i pkginfo=./pkginfo

  41. 并将 user 和 group 均改成 bin. 以下是一个修改完的例子...

  42. i pkginfo=./pkginfo
  43. d none bin 0755 bin bin
  44. f none bin/prog 0755 bin bin
  45. d none doc 0755 bin bin
  46. f none doc/doc1 0644 bin bin
  47. d none lib 0755 bin bin
  48. f none lib/lib1 0644 bin bin
  49. d none man 0755 bin bin
  50. f none man/man1 0644 bin bin

  51. 将 user 和 group 均改成 bin 是非常重要的, 如果 user 和 group 不是 bin 时
  52. 在使用 pkgadd 安装时, 将无法正常执行.

  53. 再来, 在 /usr/local 下建立 pkginfo 这个档案, 格式如下 :

  54. PKG="SCprog"
  55. NAME="prog"
  56. ARCH="sparc"
  57. VERSION="1.00"
  58. CATEGORY="application"
  59. VENDOR="Computer Science of Chun-Hua University"
  60. EMAIL="chunpo@csie.chu.edu.tw"
  61. PSTAMP="PodsCat Kuo"
  62. BASEDIR="/usr/local"
  63. CLASSES="none"

  64. 这些参数说明如下:

  65. PKG=      你所选择 package 的目录名称
  66. NAME=     程式名称
  67. ARCH=     作业系统的版本
  68. VERSION=  程式的版本编号
  69. CATEGORY= 这个程式是一个 application
  70. VENDOR=   写这个程式的公司
  71. EMAIL=    e-mail 的内容
  72. PSTAMP=   是谁作这个软体
  73. BASEDIR=  /usr/local 是档案安装的地方
  74. CLASSES=  只要写 none 就好了

  75. ** 执行 pkgmk

  76. 在 /usr/local 内执行以下的指令...

  77. % pkgmk -r `pwd`

  78. 执行这个指令之後, 会在 /var/spool/pkg 建立一个 package 的目录(以上面的例子,
  79. 会建立一个 SCprog 的目录), 里面则存放你做好的 package.

  80. 基本上, package 已经可以算做完成, 你可以把这个 SCprog 用 tar 和 gzip 压起
  81. 来就可以了. 安装时, 只需要把它解开成 SCprog 的目录型式, 然後执行

  82. % pkagdd -d .  

  83. 这样就可以了...

  84. ** 执行 pkgtrans

  85. 使用 pkgtrans 可以将你的 package 由档案系统(file system)的格式, 转成datastream
  86. 的格式. 使用方法如下 :

  87. %cd /var/spool/pkg
  88. %pkgtrans -s `pwd` /tmp/prog-1.00

  89. 执行这个指令之後, 会在 /tmp 下产生 prog-1.00 这个 datastream 格式的package  
  90. 用这个档来安装 package , 可用下列的指令来安装.

  91. % pkagdd -d prog-1.00

  92. 以上就是整个 package 做的方法, 希望对大家有所帮助.

  93. 接下来是真对 pkgtrans 加以说明.......

  94. 所谓的 file system 格式, 就是我们一般的格案格式, 如果同时有好几个 package 在
  95. 该目录下, 使用 "pkgadd -d ." 即会列出所有的 package.

  96. 而 datastream 的格式, 则是将整个 file system 做成一个档案, 有点类似 tar
  97. 的做用. 使用 datastream 格式的 package 来安装时, 必需指定档名, 而不能用 "."
  98. 来指定, 而且每次只能安装一个 package. 但好处是只需要一个档而已.

  99. 要把 file system 的格式转成 datastream 的格式, 可用以下的指令

  100. % pkgtrans source dest.
  101. 要把 datastream 的格式转成 file system 的格式, 可用以下的指令
  102. % pkgtrans -s `pwd` dest.

复制代码


文档编号: 817-0406.pdf

Application Packaging Developer’s   Guide

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-03-19 06:20:00数据库技术版块每日发帖之星
日期:2016-07-05 06:20:00
7 [报告]
发表于 2008-08-20 08:59 |只看该作者
不错,真详细呀。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP