检测 Linux VPS 是 Xen、OpenVZ 还是 KVM 架构的方法

1. 检测 Linux VPS 是 Xen、OpenVZ 还是 KVM 架构的方法

使用一款叫做 virt-what 的小工具可以用来检测 VPS 具体使用的虚拟化技术。

virt-what 官网是:https://people.redhat.com/~rjones/virt-what/

  • 发行源码包:https://people.redhat.com/~rjones/virt-what/files/
  • git 源码仓库是:git://git.annexia.org/git/virt-what.git

从 git 源码仓库中可以推测出网站 http://git.annexia.org/ ,然后从中查找 virt-what,找到其 git 的提交历史网站:http://git.annexia.org/?p=virt-what.git;a=summary ,从而确定其目前最新版本是 1.18。

一、安装

1.1 使用内置软件包管理器安装

  • CentOS: $ sudo yum install virt-what
  • Ubuntu: $ sudo apt-get install virt-what

1.2 编译安装

wget http://people.redhat.com/~rjones/virt-what/files/virt-what-1.18.tar.gz
tar zxvf virt-what-1.18.tar.gz
cd virt-what-1.18/
./configure
make
# make install  # 其实不需要安装,下面有步骤,核心就是一个 virt-what-cpuid-helper

经过上面的编译,会生成一个 virt-what-cpuid-helper 的程序,将其拷贝到 /usr/local/libexec 下:

sudo cp virt-what-cpuid-helper /usr/local/libexec

然后执行 virt-what 就就可以了,它是一个 Bash 脚本。

二、使用

$ sudo bash ./virt-what
kvm

上面的示例说明当前的 VPS 采用的是 KVM 虚拟化技术。

三、遇到的问题

Issue 1: 运行shell脚本时报错 [[ : not found 解决方法

在运行至判断表达式时报错,sh 命令无法识别 [[]] 表达式。

最终也找到了问题的解决办法:bashsh 是有区别的,两者是不同的命令,且 bashsh 的增强版,而 [[]]bash 脚本中的命令,因此在执行时,使用 sh 命令会报错,将 sh 替换为 bash 命令即可:bash ./virt-what

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云满笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值