疑难杂症及解法

字数 470阅读 563

重启 iptables或reload rules 后, docker 的网络转发会错乱

需要重启 dockerd 和所有 contianer

所以改 iptables 规则的时候,最好 -I 插到相应位置就可以了

不用重启 iptables

Windows环境下,Rstudio中使用testthat的中文编码问题

Sys.setlocale(category = "LC_ALL", locale = "English_United States.1252")

R里面打package,运行devtools::document()报错Error in file(con, "r") : cannot open the connection

有的代码里面把@examples 写成了 @example

jupyter r-notebook docker 安装lintr出错

安装lintr的依赖包stringdist时报错说:undefined symbol: GOMP_parallel debian
解决方案:到/opt/conda目录下执行:conda install -y gcc

rmysql包报一堆warning 如:invalid class “MySQLResult” object: invalid object for slot "Id" in class "MySQLResult"

具体错误:Error in validObject(.Object) :
invalid class “MySQLResult” object: invalid object for slot "Id" in class "MySQLResult": got class "list", should be or extend class "integer"
Calls: dbSendQuery ... .local -> new -> initialize -> initialize -> validObject
In addition: There were 50 or more warnings (use warnings() to see the first 50)
Execution halted
权威解答线索来自:https://github.com/rstats-db/RMySQL/issues/40。在这个帖子里,作者的权威解决方案是升级到dev版(0.11.x),他在dev版统一解决了。但dev毕竟没正式发布,为此围观群众群策群力,提出了临时解决方案,我试好的解决方案如下:
第一步:加dbColumnInfo(rs)在dbfetch(rs)之前,此步解决error的问题。
第二步:将dbSendQuery的warnings生生关闭,具体为:
suppressWarnings(
rs <- dbSendQuery(conn, sql)
)

修改sshd的端口号后启动sshd失败

修改/etc/ssh/sshd_config中的port的值后,启动sshd发现失败,报permission denied.
原因: If you want to change the port on a SELinux system, you have to tell SELinux about this change.
修正方法:semanage port -m -t ssh_port_t -p tcp #portnumber
然后启动服务成功

推荐阅读更多精彩内容