一些小技巧

linux 中通过非 root 账户使用 ifconfig 设置 ip 的方法

  1. 创建一个 ifconfig 的副本;
  2. 通过 setcap 向副本授予 CAP_NET_ADMIN 能力,而不必授予 root(用户 ID 0)的完整权限;
  3. 为了避免非法用户使用这个副本来修改网络,需要给ifconfig副本设置新的权限,仅允许该组的成员执行。
1
2
3
4
cp /sbin/ifconfig .
sudo setcap cap_net_admin=eip ./ifconfig
./ifconfig eth0 1.2.3.4 # succeeds
chmod 750 ./ifconfig

FastDDS 无法发送超过 255 string

可能会有 log [RTPS_READER_HISTORY Error] Change payload size of 'xxx' bytes is larger than the history payload size of '271' bytes and cannot be resized. -> Function can_change_be_added_nts

在 subscriber 加 rqos.endpoints().history_memory_policy = eprosima::fastrtps::rtps::DYNAMIC_RESERVE_MEMORY_MODE;