在虚拟机里安装tar压缩工具,正确做法是先确认系统是否已预装GNU tar,再用发行版自带的包管理器补装;多数Linux虚拟机不需要从源码编译。 如果tar --version有输出,直接使用;报command not found再按Ubuntu/Debian、CentOS/RHEL、Alpine等分支处理。
虚拟机里怎么安装tar压缩工具:先查预装再按发行版补包
先做三步检查,避免重复安装
- 查命令:
command -v tar - 查版本:
tar --version - 查路径:
type -a tar
如果输出/usr/bin/tar,并且版本信息正常,说明GNU tar已经可用,不要急着从第三方下载站找“tar安装包”覆盖系统文件,虚拟机操作前建议拍快照,尤其是修改软件源、安装rpm/deb包时,回滚成本更低,近年来云主机和本地虚拟机模板常用最小化镜像,相当一部分只带基础命令,tar可能未装,这并不奇怪。
理解tar与压缩后端的关系
据GNU tar官方手册,tar负责归档,压缩交给gzip、bzip2、xz等外部程序,行业共识认为,装好tar不等于所有压缩格式都能用,比如tar -czvf依赖gzip,-xjvf依赖bzip2,-xJvf依赖xz,业内专家指出,最小化镜像为了控制体积,常把文档工具和压缩后端拆成可选包,因此安装tar时,顺手补齐常用后端更省事。
Ubuntu虚拟机安装tar命令教程:apt更新与依赖补齐
在线安装步骤
- 更新索引:
sudo apt update - 安装tar:
sudo apt install tar - 补压缩后端:
sudo apt install gzip bzip2 xz-utils - 验证:
tar --version
如果提示找不到包,先检查/etc/apt/sources.list和sources.list.d/,确认虚拟机网络和DNS正常。ping -c 3 archive.ubuntu.com可辅助判断,安装后执行dpkg -l tar查看包状态,再用tar --version确认命令。
离线deb安装
挂载Ubuntu ISO后,在pool/main/t/tar/目录找tar_.deb,执行:
sudo dpkg -i ./tar_.deb
若依赖缺失,可用sudo apt install -f修复,前提是本地源或缓存可用,不要直接双击来源不明的deb,安装后仍用tar --version验证,这个路径在Ubuntu桌面版和服务器版ISO中结构相近,具体以ISO实际目录为准(据Ubuntu官方文档)。
CentOS虚拟机tar未找到命令怎么解决:dnf/yum与离线rpm
在线安装
CentOS 8/Stream、RHEL 8+、Rocky Linux、AlmaLinux常用:
sudo dnf install tar sudo dnf install gzip bzip2 xz
CentOS 7用:
sudo yum install tar
安装后rpm -q tar查看包版本,tar --version确认命令可用。
离线rpm安装
挂载ISO,进入Packages/,找tar-.rpm,执行:
sudo rpm -ivh tar-.rpm
若提示依赖,优先用ISO做本地仓库,而不是一个个手装,临时用--nodeps跳过依赖不建议,可能破坏系统依赖关系,更稳妥的方式是配置baseurl=file:///mnt/iso的本地repo,再执行sudo dnf install tar,这是虚拟机离线环境的常见做法,安装完执行tar --version。
其他发行版对照
| 系统 | 包管理器 | 常用安装命令 | 验证命令 |
|---|---|---|---|
| Ubuntu/Debian | apt | sudo apt install tar |
tar --version |
| CentOS 7 | yum | sudo yum install tar |
rpm -q tar |
| CentOS 8+/Rocky | dnf | sudo dnf install tar |
rpm -q tar |
| Alpine | apk | sudo apk add tar |
tar --version |
| Arch | pacman | sudo pacman -S tar |
tar --version |
虚拟机tar压缩包解压安装步骤:验证命令与压缩后端
做一次可验证的压缩解压
- 建目录:
mkdir -p ~/tar-test ~/tar-out - 写文件:
echo hello > ~/tar-test/a.txt - 压缩:
tar -czvf ~/test.tar.gz -C ~/tar-test . - 查看:
tar -tzvf ~/test.tar.gz - 解压:
tar -xzvf ~/test.tar.gz -C ~/tar-out - 检查:
ls ~/tar-out
如果能列出a.txt,说明tar和gzip链路正常,再测-xjvf和-xJvf,可发现bzip2、xz是否缺失。
常见报错与处理
tar: command not found:回看发行版安装命令,别先改PATH。tar: gzip: Cannot exec:装gzip;Debian系sudo apt install gzip,RHEL系sudo dnf install gzip。tar: xz: Cannot exec:装xz;Debian系xz-utils,RHEL系xz。Permission denied:检查目标目录权限,必要时用sudo,但不要对不明压缩包直接root解压。- 解压路径错:
-C目录必须存在,先mkdir -p。
虚拟机里安装tar压缩工具并不复杂,关键是先查预装、再按发行版用包管理器补装,离线环境优先用ISO本地源,把tar --version和一次压缩解压测试跑通,比反复找下载站更可靠。
虚拟机安装tar压缩工具Q&A
Linux虚拟机安装tar工具需要联网吗?
在线用apt/dnf/yum安装需要能访问软件源;离线环境可用ISO里的deb/rpm,或配置本地仓库,源码编译一般还要构建工具,除非特殊需求,不建议在虚拟机里走这条路。
tar命令找不到但系统有busybox怎么办?
BusyBox里的tar功能有限,参数支持不完整,安装GNU tar包后,用type -a tar确认优先调用/usr/bin/tar,Alpine可执行sudo apk add tar,Ubuntu执行sudo apt install tar,执行tar --version能看到GNU tar版本号,就说明当前shell调用的是完整版tar。