知る人ぞ知るlmutilとかlmstatというコマンドに関して・・・
CentOS6なホストがいくつかあるのですが、ホストによって、動いたり動かなかったり。
% /なんとか/かんとか/lmutil
/なんとか/かんとか/lmutil: Command not found.
動かない・・・なぜ?
% file lmutil
lmutil: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
動くホストで、ldd lmutilして確認してみると
/lib64/ld-lsb-x86-64.so.3 => /lib64/ld-linux-x86-64.so.2 (0x00007faf9bf9e000)
という、「ldなんとか.so」のところで、違いがあるようです。
うごかないホストでは
% ls -l /lib64/ld*
-rwxr-xr-x. 1 root root 154464 Jan 31 20:30 /lib64/ld-2.12.so*
lrwxrwxrwx. 1 root root 10 Feb 6 18:03 /lib64/ld-linux-x86-64.so.2 -> ld-2.
うごくホストでは
% ls -l /lib64/ld*
-rwxr-xr-x 1 root root 154464 Feb 21 22:12 /lib64/ld-2.12.so*
lrwxrwxrwx 1 root root 10 May 30 16:51 /lib64/ld-linux-x86-64.so.2 -> ld-2.12.so*
lrwxrwxrwx 1 root root 20 May 30 16:58 /lib64/ld-lsb-x86-64.so -> ld-linux-x86-64.so.2*
lrwxrwxrwx 1 root root 20 May 30 16:53 /lib64/ld-lsb-x86-64.so.3 -> ld-linux-x86-64.so.2*
straceしてみたり
% strace lmutil
execve("lmutil", ["/なんとか/かんとか"...], [/* 47 vars */]) = -1 ENOENT (No such file or directory)
dup(2) = 3
fcntl(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 6), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffaafc85000
lseek(3, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
close(3) = 0
munmap(0x7ffaafc85000, 4096) = 0
exit_group(1) = ?
なぜexecveで「No such file or directory」なのかよくわからなかったり。
というわけでネット検索。
http://stackoverflow.com/questions/5234088/execve-file-not-found-when-stracing-the-very-same-file
ふむ。
ld-lsb-x86-64.soでネット検索したりしてたら、わかりました。
http://software.intel.com/en-us/articles/flexlm-license-manager-20-may-fail-when-lsb-3-is-not-met
Linuxには「LSB」とかいうものがあるそうです。
http://ja.wikipedia.org/wiki/Linux_Standard_Base
動くホストでは、「redhat-lsbなんとか」というRPMパッケージがインストールされていました。
% rpm -q -a | grep redhat-lsb
redhat-lsb-compat-4.0-7.el6.centos.x86_64
redhat-lsb-printing-4.0-7.el6.centos.x86_64
redhat-lsb-4.0-7.el6.centos.x86_64
redhat-lsb-core-4.0-7.el6.centos.x86_64
redhat-lsb-graphics-4.0-7.el6.centos.x86_64
% lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
一方、動かないホストでは、redhat-lsbは1つもインストールされていませんでした。
というわけで、yum install redhat-lsb して解決。
えらくたくさんインストールされましたが
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
redhat-lsb x86_64 4.0-7.el6.centos base 11 k
Installing for dependencies:
at x86_64 3.1.10-43.el6_2.1 base 60 k
bc x86_64 1.06.95-1.el6 base 110 k
cdparanoia-libs x86_64 10.2-5.1.el6 base 47 k
cvs x86_64 1.11.23-15.el6 base 711 k
ed x86_64 1.1-3.3.el6 base 72 k
foomatic x86_64 4.0.4-1.el6_1.1 base 251 k
foomatic-db noarch 4.0-7.20091126.el6 base 980 k
foomatic-db-filesystem noarch 4.0-7.20091126.el6 base 4.4 k
foomatic-db-ppds noarch 4.0-7.20091126.el6 base 19 M
gettext x86_64 0.17-16.el6 base 1.8 M
gstreamer-plugins-base x86_64 0.10.29-2.el6 base 940 k
libmng x86_64 1.0.10-4.1.el6 base 165 k
liboil x86_64 0.3.16-4.1.el6 base 121 k
libtheora x86_64 1:1.1.0-2.el6 base 129 k
libvisual x86_64 0.4.0-9.1.el6 base 135 k
pax x86_64 3.4-10.1.el6 base 69 k
perl-CGI x86_64 3.51-131.el6_4 updates 208 k
perl-ExtUtils-MakeMaker x86_64 6.55-131.el6_4 updates 292 k
perl-ExtUtils-ParseXS x86_64 1:2.2003.0-131.el6_4 updates 44 k
perl-Test-Harness x86_64 3.17-131.el6_4 updates 230 k
perl-Test-Simple x86_64 0.92-131.el6_4 updates 111 k
perl-devel x86_64 4:5.10.1-131.el6_4 updates 421 k
phonon-backend-gstreamer x86_64 1:4.6.2-26.el6_4 updates 126 k
qt x86_64 1:4.6.2-26.el6_4 updates 3.9 M
qt-sqlite x86_64 1:4.6.2-26.el6_4 updates 51 k
qt-x11 x86_64 1:4.6.2-26.el6_4 updates 12 M
qt3 x86_64 3.3.8b-30.el6 base 3.5 M
redhat-lsb-compat x86_64 4.0-7.el6.centos base 10 k
redhat-lsb-core x86_64 4.0-7.el6.centos base 25 k
redhat-lsb-graphics x86_64 4.0-7.el6.centos base 13 k
redhat-lsb-printing x86_64 4.0-7.el6.centos base 11 k
time x86_64 1.7-37.1.el6 base 26 k
Transaction Summary
================================================================================
Install 33 Package(s)
Total download size: 46 M
0 件のコメント:
コメントを投稿