安装shadowsocksr-libdev
1 | $ git clone https://github.com/shadowsocksrr/shadowsocksr-libev |
1 | $ git clone https://github.com/shadowsocksrr/shadowsocksr-libev |
可以单独阻止个别软件包在执行update和dist-update命令时进行更新,也就是不让这些包从源里更新。
dpkg维护软件包的状态,分别有以下几种状态:
unknown – 用户并没描述他想对软件包进行什么操作。
install – 用户希望对软件包进行安装或升级。
remove – 用户希望删除软件包,但不想删除任何配置文件。
purge – 用户希望完全删除软件包,包括配置文件。
hold – 用户希望软件包保持现状,例如,用户希望保持当前的版本,当前的状态,当前的一切。
只要将软件包foobar的状态修改为hold就可以阻止更新:
1 | echo foobar hold sudo dpkg --set-selections |
如果要恢复软件包foobar的更新,只要将状态修改为install就可以了:
1 | echo foobar install sudo dpkg --set-selections |
===
[erq]
因为种种原因,自备机房联通和移动双物理链路接入互联网访问,联通线路经常挂掉,影响互联网访问,使用NQA(network quality analyzer)+track可以根据物理链路是否有效来自动选择静态默认路由。
两条默认路由的preference是不同的,网通链路优先,当两条链路都有效时,默认路由走联通链路,当联通链路失效时,联通默认路由自动被禁止,从而默认路由走移动链路。
配置步骤
启用nqa,默认是启动状态
1 | nqa agent enable |
1、配置nqa自动侦测两条物理链路
网通链路nqa侦测组(test group):
1 | # |
移动链路nqa侦测组(test group):
1 | # |
每个nqa侦测可以绑定多个reaction动作,比如reaction 1, reaction 2, reaction 3,…
2、创建侦测项目中reaction关联的track
1 | track 1 nqa entry admin yidong reaction 1 |
3、启动nqa侦测组
1 | nqa schedule admin wangtong start-time now lifetime forever #启动网通链路探测组 |
可以用undo来停止侦测组
1 | undo nqa schedule admin wangtong #停止网通链路侦测组 |
4、设置track联动的静态默认路由
1 | ip route-static 0.0.0.0 0.0.0.0 222.132.*.* track 2 #联通链路,默认preferece为60,低于80,所以优先使用联通链路 |
查看状态
查看track
1 | display track all #或者查看指定的track: display track 1 |
可以看到网通链路挂了,移动链路是有效的。
查看nqa统计
1 | display nqa statistics |
可以看到网通链路是无效的。
查看当前路由表
1 | display ip routing-table |
可以看到当前默认路由走的是移动链路。
References:
[1]H3C防火墙/路由器通过Track实现双线接入的链路备份
[2]H3C NQA Configuration
从头顺序播放:
1 | $ mplayer -cdrom-device /dev/sr0 cdda:// -cache 5000 |
播放指定音轨:
1 | $ mplayer -cdrom-device /dev/sr0 cdda://5 -cache 5000 |
播放部分音轨:
1 | $ mplayer -cdrom-device /dev/sr0 cdda://6-13 -cache 5000 |
一定要加cache参数,因为读取CDROM是很慢的,不缓存会爆音。
References:
[1] Mplayer: Play Audio CD Using Linux Command Line
安装certbot
stretch源里的版本太低,因此需要配置stretch backports源,然后用以下命令安装
1 | $ sudo apt-get install certbot -t stretch-backports |
或者直接去官方下载安装使用:
1 | $ wget https://dl.eff.org/certbot-auto |
申请统配证书
1 | $ sudo certbot certonly \\ |
或者如果手工安装certbot的话请用certbot-auto命令
这里只是申请证书,并不会自动安装,需要手工配置应用服务器,那些自动部署证书的插件并不是很好用。
要申请wildcard子域统配证书,certbot必须为0.22.0或以上版本,而且要使用ACMEv2服务器申请证书。
然后会有一通问题,看清楚回答即可,后面会要求为申请证书的域名配置TXT记录,类似如下:
1 | Please deploy a DNS TXT record under the name |
按照要求配置域名TXT记录,确认TXT记录生效
1 | $ host -t TXT _acme-challenge.openwares.net |
TXT记录生效可能稍微会需要一些时间,确认生效后继续,如果通过验证则会生成证书
1 | Waiting for verification... |
现在已经有了wildcard证书了,将证书配置到你的web服务器中就ok了。
证书的有效期只有三个月,距离失效期30日内,可以简单的执行以下命令来更新证书:
1 | $ sudo certbot renew |
===
[erq]
ubuntu 16.04.4
amdgpu-pro 17.40-492261
before install amdgpu-pro
UEFI:
peg0 -> gen2
peg1 -> gen2
pci latency time -> 96
above 4G memory -> disable
hd audio controller -> disable
intel serial i/o -> disable
legacy usb support -> enable
fastboot -> disable
boot mode -> legacy + uefi
comm port -> disable
LPT port -> disable
install amdgpu-pro
$> sudo update-pciids
reboot
UEFI:
above 4G memory -> enable
CPPFLAGS是C/C++ PreProcessor预处理器选项,适用于C和C++语言。CFLAGS是适用于C语言的编译器选项,而CXXFLAGS是适用于C++的编译器选项。
如果编译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,真无语了。