![14.04,setcap cap_sys_ptrace=eip 后 LD_LIBRARY_PATH 失败?](https://linux22.com/image/1120850/14.04%EF%BC%8Csetcap%20cap_sys_ptrace%3Deip%20%E5%90%8E%20LD_LIBRARY_PATH%20%E5%A4%B1%E8%B4%A5%EF%BC%9F.png)
wine notepad
将不会运行,除非我这样做:
sudo setcap cap_sys_ptrace=eip "`which wineserver`"
sudo setcap cap_sys_ptrace=eip "`which wine-preloader`"
之后我收到这个错误:
/home/myUser/wine1.7.19/usr/bin/wine:加载共享库时出错:libwine.so.1:无法打开共享对象文件:没有此文件或目录
$ ldd $(which wine)
:
linux-gate.so.1 => (0xf772b000)
libwine.so.1 => /home/myUser/wine1.7.19/usr/bin/../lib/i386-linux-gnu/libwine.so.1 (0xf7550000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7530000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7528000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7378000)
/lib/ld-linux.so.2 (0xf7708000)
它发现libwine.so.1
因为LD_LIBRARY_PATH
设置正确,除非设置了功能,否则仍然会找到该库!但我收到了错误消息......
有这个回答,但我不想使用,ldconfig
因为我的 wine 版本在用户主目录中,并且被 chown 给普通用户。
我也不想用 来设置整个系统/proc/sys/kernel/yama/ptrace_scope
。
LD_LIBRARY_PATH
有没有什么解决方法?如果可能的话,我也想知道失败的原因
答案1
答案实际上是我认为我会被迫做的(使用ldconfig
),但我认为这样要好得多:
将所有单独的 wine 版本安装在您理解可以的地方chown root:root
;您可能更喜欢使用/opt/Wine
?我只是把它们都放在了/Wine
(只要确保它的所有文件夹树,从父级到 ./Wine 都是root:root
)
然后你只需chown root:root
按照回答(修改 ptrace_scope 并在最后使用 ldconfig)说明,它将正常工作,我知道它将保持安全