ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 解决无法使用VI的问题

解决无法使用VI的问题

原创 Linux操作系统 作者:space6212 时间:2019-03-30 14:54:07 0 删除 编辑

今天在一台sun solaris 5.10系统使用vi报错:
# vi a
Unable to setup term:'unknown' missing in the terminfo database: No such file or directory


从这个信息我们很难定位问题,我们用truss命令跟踪一下vi的命令需要调用那些东西:
# truss vi
execve("/usr/bin/vi", 0xFFBFFE1C, 0xFFBFFE24) argc = 1
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
resolvepath("/usr/bin/vi", "/usr/bin/vi", 1023) = 11
stat("/usr/bin/vi", 0xFFBFFBF8) = 0
open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
stat("/lib/libmapmalloc.so.1", 0xFFBFF718) Err#2 ENOENT
......
access("/usr/share/lib/terminfo/", F_OK) = 0
Unable to setup term:'unknown' missing in the terminfo databasewrite(2, " U n a b l e t o s e".., 63) = 63
: write(2, " : ", 2) = 2
No such file or directorywrite(2, " N o s u c h f i l e".., 25) = 25

write(2, " ", 1) = 1
_exit(1)

从跟踪信息可以看到,vi是在查找/usr/share/lib/terminfo/的文件时报错。
我们看看这个命令下的文件:
bash-3.00# cd /usr/share/lib/terminfo
bash-3.00# ls
G t w y z

找一个可以正常使用vi的系统看看有那些文件:
# cd /usr/share/lib/terminfo
# ls
1 3 5 7 9 B H P a c e g i k m o q s u w y
2 4 6 8 A G M S b d f h j l n p r t v x z

可以发现,两者相差很大。把vi出错的系统缺失的文件拷贝回去,vi就可以正常运行了。
实际上,要使vi正常运行,只需要拷贝文件夹v下面的文件过去即可。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/231499/viewspace-63850/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 数据库迁移手记
请登录后发表评论 登录
全部评论

注册时间:2005-01-25

  • 博文量
    245
  • 访问量
    168508