奇怪的CPP编译错误
如果编译CPP程序时出现类似如下的错误:
1 | /usr/bin/locale:111:128: error: stray ‘\\21’ in program |
那是因为有代码包含了locale头文件:
1 | #include <locale> |
而编译时include搜索路径包含了/usr/bin,导致编译器找到了/usr/bin/locale这个二进制程序当做了locale头文件,所以有时候就是这么莫名其妙,include路径为什么要包含/usr/bin呢,这是错误的。
仔细的检查你的
CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
等环境变量,还有编译指令的-I参数吧
我就是因为包含CPATH时写成了PATH,真无语了。
Untitled Post - 186
docker官方仓库里有瘦身精简版的debian镜像叫做slim,当前稳定版为debian:stretch-slim,也可以使用stable-slim,testing-slim,unstable-slim,jessie-slim等标签,debian:stretch-slim大小大约为55.3MB,虽然还是比alpine大了不少,不过已经算很轻量了。
linux内核开启TCP BBR拥塞控制算法
内核要求4.9及以上。
修改内核配置文件:
1 | # cat >> /etc/sysctl.conf << EOF |
或sudo vim /etc/sysctl.d/10-custom-kernel-bbr.conf添加以上两行
使配置生效:
1 | # sysctl -p |
sysctl -p不指定文件默认加载/etc/sysctl.conf
或
1 | $sudo sysctl --system |
会加载所有的系统级配置文件
确认是否生效:
1 | # sysctl net.core.default_qdisc |
References:
[1]Debian / Ubuntu 更新内核并开启 TCP BBR 拥塞控制算法
[2]Linux 升级内核开启 TCP BBR 有多大好处
Debian Stretch安装nodejs TLS版本
当前稳定发行版的nodejs有很多安全性问题,可以从nodesource安装当前的6.X TLS版本
1 | $ curl -sL https://deb.nodesource.com/setup_6.x sudo -E bash - |
有时可能会从源包构建组件,所以可以先安装build环境:
1 | $ sudo apt-get install -y build-essential libssl-dev |
References:
[1]Installation instructions
===
[erq]
debian testing 编译gcc 4
编译QCAD需要gcc 4,而当前debian系统的gcc版本为6.3.0,因此需要编译gcc 4。
Untitled Post - 185
alter database datafile ‘/path/to/datafile’ autoextend on;
alter database datafile ‘/path/to/datafile’ resize 100KMG;
Untitled Post - 183
uBlock Origin - the next generation opensource blocker, it is a wide-spectrum blocker, not just for ad block.