做了一个覆盖率验证的小实验,当运行dve_cov命令查看覆盖率时报错:提示缺少库文件libtermcap.so.2
于是去网上搜索原因以及解决办法:使用指令“yum install compat-libtermcap-2.0.8-49.el6.x86_64”来安装“compat-libtermcap-2.0.8-49.el6.x86_64”这个包,然后上面的这个error就可以解决了。
但是我用yum指令(首先获取root权限),又报错了:
提示:yum命令找不到这个安装包,原因是yum本地源设置在://mnt/hgfs/RPM_Packx64中了,
而这个本地源是没有挂载镜像的,需要手动挂载本地源;
解决办法:
1.disable原来的yum源
首先去/etc/yum.repos.d目录下,该目录是用来配置yum本地源的,在root权限下,使用GVIM打开目录下的.repo文件(不同电脑的文件目录可能不一样,找后缀为.repo即可):将该文件中的enable值设置为0,使这个配置路径失效。
2.下载镜像文件
打开一个终端,输入:lsb_release -a查看linux版本号,,根据版本号去找对应的rhel镜像文件,(我的是6.7,所以镜像文件为rhel-server-6.7-x86_64-dvd.iso)。所有镜像文件链接: https://pan.baidu.com/s/1kgPOikO0R-ff_8fCnfP3UQ 提取码: w7ya 复制这段内容后打开百度网盘手机App,操作更方便哦
3.将下载好的镜像文件放到/usr/local/src目录:
完成这步操作可以使用WinSCP.exe工具,也可以将镜像文件放在共享文件夹中(共享文件夹的创建见上一篇文章),然后使用mv命令,由于镜像文件比较大。该操作执行后会延迟半分钟左右。
去/usr/local/src/下面可以看到镜像文件已经移动到该目录下
4.挂载镜像文件
打开终端,进入root
mkdir /media/cdrom 新建镜像文件挂载目录
cd /usr/local/src 进入系统镜像文件存放目录
mount -t iso9660 -o loop /usr/local/src/rhel-server-6.7-x86_64-dvd.iso /media/cdrom 挂载系统镜像
cd /media/cdrom 进入挂载目录,使用ls命令可以看到已经有文件存在了
备注:umount /media/cdrom #卸载系统镜像
5.设置开机自动挂载系统镜像文件
打开终端,进入root
vi /etc/fstab
/usr/local/src/rhel-server-6.5-x86_64-dvd.iso /media/cdrom iso9660 defaults,ro,loop 0 0
保存退出
6、配置本地yum源
打开终端,进入root
cd /etc/yum.repos.d/ #进入yum配置目录
touch rhel-media.repo #建立yum配置文件,注意不要打错
vi rhel-media.repo #编辑配置文件,添加以下内容
[rhel-media]
name=Red Hat Enterprise Linux 6.5 #自定义名称
baseurl=file:///media/cdrom #本地光盘挂载路径
enabled=1 #启用yum源,0为不启用,1为启用
gpgcheck=1 #检查GPG-KEY,0为不检查,1为检查
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release #GPG-KEY路径
保存退出
7、使用yum命令自动安装软件
yum clean all #清除yum缓存
yum makecache #缓存本地yum源中的软件包信息
至此,yum本地源就配置好了,可以正常使用yum来安装确实的库文件,此时再执行yum install compat-libtermcap-2.0.8-49.el6.x86_64,就可以成功安装,一直按y即可。再次编译DVE-COV命令就可以成功调出覆盖率了。