当前位置:早雪网网络学院编程文档C/C++ → Unix编程/应用问答中文版 ---11. package相关问题

Unix编程/应用问答中文版 ---11. package相关问题

减小字体 增大字体 作者:不详  来源:supcode.com收集整理  发布时间:2005-7-22 19:40:45
11.   package相关问题 
11.1  Solaris下如何将二进制软件包安装到指定目标路径下 
11.2  Solaris下如何自己定制二进制安装包 
11.3  如何恢复/usr/bin/su的缺省安装属性 
11.4  如何获知指定包与其他包之间的依赖关系 
11.5  Linux中如何知道ifconfig属于哪个包 
11.6  Solaris下如何知道某包中有哪些文件 
-------------------------------------------------------------------------- 


11. package相关问题 

11.1 Solaris下如何将二进制软件包安装到指定目标路径下 

Q: pkgadd无法指定目标路径,而我不想使用缺省安装路径/usr/local 

A: lisuit@水木清华 2002-01-19 14:49 

pkgadd -R <basedir> ... 

11.2 Solaris下如何自己定制二进制安装包 

A: deepin <deepin@nsfocus.com> & scz <scz@nsfocus.com> 

[root@ /tmp/tools]> mkdir srcroot 
[root@ /tmp/tools]> cp -p /usr/ccs/bin/as srcroot  <-- 复制那些数据源到该目录下 
[root@ /tmp/tools]> cp -p /usr/ccs/bin/make srcroot 
[root@ /tmp/tools]> cp -p /usr/ccs/lib/cpp srcroot 
[root@ /tmp/tools]> ls -lR srcroot 
-rwxr-xr-x   1 bin      bin       342072 1999   1月 12 as* 
-rwxr-xr-x   1 bin      bin        91344 1998   4月 27 cpp* 
-rwxr-xr-x   1 bin      bin       273196 1998   4月 23 make* 
[root@ /tmp/tools]> cd srcroot 
[root@ /tmp/tools/srcroot]> find . -print | pkgproto > ../prototype 
[root@ /tmp/tools/srcroot]> cd .. 
[root@ /tmp/tools]> more prototype 
f none cpp 0755 bin bin 
f none as 0755 bin bin 
f none make 0755 bin bin 
[root@ /tmp/tools]> vi prototype  <-- 在头部增加如下行 
i pkginfo=./pkginfo 
[root@ /tmp/tools]> vi pkginfo 
PKG="Scz" 
NAME="Scz Package Cool Tools" 
VERSION="2000-01-09 14:53" 
CATEGORY="application" 
PSTAMP="小四" 
CLASSES="none" 
ARCH="Solaris 2.7 For SPARC" 
VENDOR="NSFocus" 
BASEDIR="/tmp/tools/opt/" 
EMAIL="scz@nsfocus.com" 
[root@ /tmp/tools]> pkgmk -o -f ./prototype -b /tmp/tools/srcroot 
[root@ /tmp/tools]> pkgtrans -s /var/spool/pkg /tmp/tools/SczPkg Scz 
[root@ /tmp/tools]> rm -rf /var/spool/pkg/Scz 
[root@ /tmp/tools]> pkgadd -d SczPkg 
[root@ /tmp/tools]> ls -lR opt 
-rwxr-xr-x   1 bin      bin       342072 1999   1月 12 as* 
-rwxr-xr-x   1 bin      bin        91344 1998   4月 27 cpp* 
-rwxr-xr-x   1 bin      bin       273196 1998   4月 23 make* 
[root@ /tmp/tools]> pkginfo -l Scz 
[root@ /tmp/tools]> pkgrm Scz 
[root@ /tmp/tools]> rm SczPkg 

11.3 如何恢复/usr/bin/su的缺省安装属性 

Q: 我怀疑/usr/bin/su被修改过了,如何证实呢 

A: John D Groenveld <groenvel@cse.psu.edu> 

$ pkgchk -l -p /usr/bin/su 

11.4 如何获知指定包与其他包之间的依赖关系 

A: Vitaly Filatov <vitaly@royint.com> 

详细信息查看 /var/sadm/pkg/<package>/install/depend 文件,这里指明了该包的 
三个特性 

    P 安装前必须已经存在的包 
    I 与自己不兼容的包 
    R 依赖自己的其他包 

11.5 Linux中如何知道ifconfig属于哪个包 

A: 

# rpm -qif /sbin/ifconfig  <-- 直接查找src.rpm 

11.6 Solaris下如何知道某包中有哪些文件 

A: 小四 <scz@nsfocus.com> 2001-12-10 21:39 

1) 已经安装了的包,对/var/sadm/install/contents文件做grep操作 

# grep SUNWcsd /var/sadm/install/contents 
       ~~~~~~~ 包名 

2) 尚未安装的包,先伪安装,然后检查pkgmap文件 

# pkgadd -s /var/spool/pkg -d less-340-sol7-sparc-local 
# cd /var/spool/pkg/GNUless 
# grep BASEDIR pkginfo  <-- 确认BASEDIR目录,比如/usr/local 
# vi pkgmap             <-- 注意第四列 
# rm -rf /var/spool/pkg/GNUless 

可以写个脚本完成这些工作。 

Tags:Unix,编程,应用,问答,中文版,package,相关,问题
[数据载入中...] [返回上一页] [打 印]