扬中市中国转运网

Solaris中对tar.z进行安装卸载详解

2026-04-12 12:05:01 浏览次数:0
详细信息

Solaris 系统中对 .tar.Z(使用 compress 工具压缩的 tar 归档文件)的处理与常见的 Linux 发行版略有不同,尤其在较老的 Solaris 版本(如 Solaris 10 及之前)中。下面将详细说明如何安装(解压)和卸载(删除)这类文件。

第一部分:理解 .tar.Z 文件

这是一个两阶段的复合文件:

.Z 扩展名: 表示它使用古老的 Unix compress 程序进行了压缩(不是 gzip 或 bzip2)。对应的解压工具是 uncompresszcat.tar: 表示压缩包内是一个 tar 归档文件,包含目录结构和多个文件。

因此,处理它需要先解压,再解包,或者使用能一步完成的管道操作。

第二部分:安装 / 解压 .tar.Z 文件

“安装”在这里通常意味着将文件解压到指定目录。在 Solaris 上,有几种方法:

方法一:两步法(最清晰,适合所有Unix系统)

此方法明确展示了两个独立步骤。

解压缩(.Z -> .tar)

uncompress filename.tar.Z

执行后,会生成一个 filename.tar 文件,同时原来的 .tar.Z 文件消失。

解 tar 包(.tar -> 文件)

tar xvf filename.tar

如果你想指定解压到某个目录(例如 /opt/myapp):

tar xvf filename.tar -C /opt/myapp
方法二:管道一步法(高效,不保留中间.tar文件)

这是更经典和专业的Unix方式,利用管道将解压流的输出直接送给 tar 读取。

zcat filename.tar.Z | tar xvf -

或者使用 uncompress -c

uncompress -c filename.tar.Z | tar xvf -

同样,若要解压到特定目录:

zcat filename.tar.Z | tar xvf - -C /opt/myapp
方法三:使用 GNU tar(如果已安装)

如果你在 Solaris 上安装了 GNU 版本的 tar(通常命令可能是 gtargnutar),它可能能自动识别压缩格式。但在默认的 Solaris tar 中,通常不支持 -Z 选项(这是关键区别)。对于 GNU tar,你可以尝试:

gtar xvZf filename.tar.Z

强烈建议先确认你的 tar 是否支持 -Z。对于原生 Solaris tar,请坚持使用方法一或二

第三部分:卸载 / 删除

在 Unix/Linux 世界中,从 .tar 包解压出来的文件没有集中式的注册表或安装记录(不像通过 pkgadd 安装的 Solaris 包)。因此,“卸载”意味着手动删除所有解压出来的文件。

如何操作:

最佳情况(在解压时记录了文件列表): 如果你在解压时保留了输出列表,可以直接根据列表删除。

# 解压时记录列表
zcat filename.tar.Z | tar tvf - > filelist.txt
# 随后需要卸载时,可以编写脚本或手动根据 filelist.txt 删除文件。

常见方法:重新解压到临时目录,对比或生成列表

# 1. 创建一个临时目录,并在其中列出tar包内容
mkdir /tmp/extract_temp
cd /tmp/extract_temp
zcat /path/to/filename.tar.Z | tar xvf -
# 2. 此时当前目录下就是所有要“卸载”的文件结构。你可以检查它们。
# 3. 使用 find 命令生成文件列表,然后删除原位置的文件。
find . -type f -print > /tmp/filelist.txt
# 4. 根据列表,回到根目录或目标目录,谨慎删除。
cd /  # 如果你解压时是绝对路径或从根目录开始的,要格外小心!
# 使用 while 循环删除 (务必先核对 filelist.txt!)
while read line; do rm -f "$line"; done < /tmp/filelist.txt
# 5. 删除空目录会更复杂,通常如果应用程序目录是独立的,直接删除整个目录更简单。

最直接的方法(如果解压到一个独立目录): 如果安装时你已经很规范地将所有文件解压到一个独立的目录(如 /opt/myapp),那么卸载就非常简单:

rm -rf /opt/myapp

这就是为什么总推荐将 tar 包解压到一个独立子目录,而不是直接解压到 //usr/local 根下的原因。

第四部分:针对 Solaris 的注意事项

工具路径: 在 Solaris 10 及之前,zcat, uncompress, tar 等工具通常位于 /usr/bin。而 GNU 版本可能安装在 /usr/sfw/bin/opt/csw/bin(如果安装了 Blastwave 或 OpenCSW)。 兼容性: 原生的 Solaris tar 在历史上功能较少,对于长文件名、大文件等支持可能不如 GNU tar。如果遇到问题,考虑安装 gtar安装第三方软件的最佳实践

总结步骤

安装(解压)到 /opt/myapp

mkdir -p /opt/myapp  # 如果目录不存在
zcat software.tar.Z | tar xvf - -C /opt/myapp

查看包内容(不解压):

zcat software.tar.Z | tar tvf -

卸载(如果所有文件都在 /opt/myapp 下):

rm -rf /opt/myapp

卸载(如果文件分散在系统各处): 需要重新解压生成列表,并极其谨慎地手动删除,或者寻找该软件是否提供了卸载脚本。

相关推荐