我正在尝试在我不是 root 的多个用户的 linux 服务器上运行 ADB(与我的 android 模拟器一起玩)。adb 守护进程将其日志写入文件/tmp/adb.log
,不幸的是,该文件似乎已硬编码到 ADB 中,并且这种情况不会改变。
因此, adb 无法运行,给出了明显的错误:cannot open '/tmp/adb.log': Permission denied
. 这个文件是由另一个用户创建的,并且/tmp
有粘性位。如果我启动 adb 并adb nodaemon server
使其写入 stdout,则不会发生错误(我还将其端口设置为唯一值以避免冲突)。
我的问题是:有什么方法可以让 ADB 写入另一个文件而不是/tmp/adb.log
? 更一般地说,有没有办法创建一种特定于进程的符号链接?我想将所有文件访问重定向/tmp/adb.log
到一个文件~/tmp/adb.log
。
再次,我不是根服务器上,因此chroot
,mount -o rbind
并chmod
不能有效的选项。如果可能,我不想修改 ADB 源,但如果没有其他解决方案,我肯定会这样做。
PS对于具体ADB情况下,我可以诉诸运行adb nodaemon server
与nohup
输出重定向,但总的问题仍然是相关的。