问题:
你是 Sun 的 FE, 一个客户来电话说误删了 /usr/lib 下的一个文件 libc.so.1,客户现场只有这一台机器并且没有联网。 你怎样才能帮他恢复呢?
先找出这个文件所属的包
# grep /usr/lib/libc.so.1 /var/sadm/install/contents
/usr/lib/libc.so.1 f none 0755 root bin 866400 2238 1061603407 SUNWcsl 然后放入光盘,查找这个文件 /cdrom/cdrom0/s0/Solaris_8/Product/*/pkgmap Solaris10为/cdrom/cdrom0/Solaris_10/Product/SUN*这个路径 然后安装,这是288上说的. /var/sadm/install/contents文件 /var/sadm/install/contents文件是一个完整的记录了所有软件包安装到本地系统磁盘的。他附注的每个软件包中的软件,并且可以查看产品安装时的记录。 pkgadd命令在添加新软件包的时候会自动升级这个文件 pkgrm命令利用contents文件来找出软件包文件的位置。当包被删除时,pkgrm命令也会自动升级contents文件。 识别一个命令的位置 使用grep命令去搜索/var/sadm/install/contents文件,用来查找特殊的文件和他所在的目录。比如,检查被安装到系统的命令showrev。 # grep showrev /var/sadm/install/contents 在Solaris操作环境光盘上搜索命令信息 与搜索本地系统磁盘的contents文件不同,光盘上的命令信息是在pkgmap文件中的 # grep showrev /cdrom/cdrom0/s0/Solaris_8/Product/*/pkgmap 也可以用以下方法寻找安装包: pkgchk -l -p /usr/lib/libc.so.1 Pathname: /usr/lib/libc.so.1 Type: regular file Expected mode: 0755 Expected owner: root Expected group: bin Expected file size (bytes): 866400 Expected sum(1) of contents: 2238 Expected last modification: Aug 22 21:50:07 2003 Referenced by the following packages: SUNWcsl Current status: installed