关于Apollo是否需要使用sudo 的三个问题


#1

我发现使用sudo执行bash docker/scripts/dev_start.sh拉取的镜像,和将当前用户加入docker用户组后不使用sudo拉取的镜像是不同的。并且在这之后不使用sudo指令的Apollo系统都不能使用sudo指令,比如说sudo docker/scripts/dev_into.sh就不行。并且没有sudo的Apollo docker是不会有log记录的,因为没有权限创建。
sudo%E9%97%AE%E9%A2%981
所以我**第一个问题是到底需不需要使用sudo,因为我发现如果不用sudo我甚至无法执行./apollo.sh clean
sudo%E9%97%AE%E9%A2%982
我的
第二个问题**是当我启动canbus模块之前,需要在容器外启动SocketCan的驱动,启动SocketCan需要使用sudo吗?因为我碰到了外部启动SocketCan成功并且可以cansend/candump的时候,却无法在Apollo内正常收发CAN信号,在log中可以看到是有这样的报错:


这段log是在sudo bash下的docker内操作留下的,因为如果不sudo bash docker/scripts/dev_start.sh,就会告诉我没有权限创建log和其他一些文件。
第三个问题,在设置Apollo环境的时候有没有什么必须重启的节点呢?


#2

@zhxt


#3

关于Apollo的操作,第一,不需要使用root用户;第二都不需要使用sudo。否则会碰到很多权限问题。
启动socketcan的时候需要加sudo,因为需要向内核中加载驱动,不加的话,socketcan加载肯定不成功,Apollo里打开can模块就会报错


#4

docker 的权限问题可以参考 FAQ Q3