我正在尝试使用以下包 lsleases:
https://github.com/j-keck/lsleases#usage
我尝试使用 deb 包以及通过 bintray.com 存储库进行安装,如安装说明中所述,结果相同。
据我所知,两种情况下安装均可顺利完成。
但是,当我尝试运行该命令时出现以下错误:
andrew@T61:~$ lsleases
bash: /usr/bin/lsleases: No such file or directory
andrew@T61:~$ /usr/bin/lsleases
bash: /usr/bin/lsleases: No such file or directory
如您所见,该文件确实存在:
andrew@T61:~$ ls -l /usr/bin/lsleases
-rwxr-xr-x 1 root root 3386272 Mar 28 16:05 /usr/bin/lsleases
如果有帮助的话,以下是其中的输出,类型,echo $PATH 和文件:
andrew@T61:~$ which lsleases
/usr/bin/lsleases
andrew@T61:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/game:/usr/local/games
andrew@T61:~$ type lsleases
lsleases is hashed (/usr/bin/lsleases)
andrew@T61:~$ file lsleases
lsleases: cannot open `lsleases' (No such file or directory)
以下是 ldd /usr/bin/lsleases 的输出:
andrew@T61:~$ ldd /usr/bin/lsleases
linux-vdso.so.1 => (0x00007ffe7a920000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc1241f4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc123e2a000)
/nix/store/pv9sza1cf2kpawck7wbwdnhlip5h57lg-glibc-2.23/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00005589d3780000)
任何能帮助我实现这个功能的建议都非常好,它看起来像一个方便的工具。
答案1
lsleases
(那就是我)的作者使用尼克斯他的开发环境。
动态链接二进制文件会咨询动态链接器/加载器来提供共享库。此路径在二进制文件的编译时是固定的:
root@debian8:~# readelf -l /usr/bin/lsleases | grep interpreter
[Requesting program interpreter: /nix/store/pv9sza1cf2kpawck7wbwdnhlip5h57lg-glibc-2.23/lib/ld-linux-x86-64.so.2]
但此路径仅在 下存在nix
。
go 编译器默认创建静态链接的二进制文件(如果不使用 cgo)——所以这没问题。但是——我目前不确定为什么,go 编译器创建了一个动态链接的二进制文件。
我已经发布了一个静态链接的新版本(1.4.3)。
一个简单的解决方案(如果您已经配置了 bintray repo):
apt-get update && apt-get install lsleases
你能找到的实际包这里。
抱歉造成破损!