再说说那个Ubuntu启动需要等2分钟的事

先来说说这是个什么事情,有时候,我们会在Ubuntu14.04或稍微再早一点的系统启动的时候,看见系统在等待,就是会在屏幕上输出

Waiting for network configuration...

然后又有

Waiting up to 60 more seconds for network configuration...

然后又是

Booting system without full network configuration...

这个时候,一般要过去两分钟,12.04的时候甚至3分钟。这个经常是发生在把一个网络端口从DHCP改成了静态IP地址之后发生的事情。[……]

继续阅读

发表在 软件使用与程序设计 | 再说说那个Ubuntu启动需要等2分钟的事已关闭评论

SSL的一点小折腾

自从用上了LetsEncrypt的SSL证书,就没少学习SSL的相关内容,毕竟在自己网站上自动出现一把绿色的小锁头还是很有成就感的。先说说怎样搞LetsEncrypt的证书吧。假设我的域名叫pufengdu.org,首先得把某个子域名,例如xxx.pufengdu.org解析做好,这个得修改DNS上记录,你的域名托管在那个地方,就去那个地方修改就是了。

修改好DNS之后,接着要做的就是使用LetsEncrypt的客户端来获取证书了,对于我这种只开443端口,不开80的情况。首先要做的是把apache服务器给停掉。然后执行

certbot-auto certonly –d xxx.pufengd[……]

继续阅读

发表在 玩电脑 | SSL的一点小折腾已关闭评论

校园网络的自动登录

校园网的管理系统升级之后,闹过很长一段时间的各种不正常,所以服务器也一直没有上线。刚刚某研究生怠工,所以偶下午有了几个小时空闲时间,然后就把登录脚本系统略微更新了一下。登录脚本的作用有两个:一个是要能够连上校园网,另一个是要能够检测校园网的连接状态,然后在断线的时候尝试自动重连。这对于远程使用的网络服务器是非常有用的,天杀的某大学校园网,竟然能想出来服务器需要登录,还得要web界面这种烂事。网络中心的亲们,你们见过几台服务器是有显示器的?

基本解决方案是,用curl模拟web界面登录,并利用ping来检测连通性。我们先来说ping的事情,这个够简单。

Linux里的ping有几个有[……]

继续阅读

发表在 玩电脑 | 校园网络的自动登录已关闭评论

在C++中如何动态分配一个二维数组

有日子没写blog了,都要长毛了。有了娃之后,能用来码字的时间骤减,加上这学期课多,事多,科研任务多,所以这是好容易出个差,才能闲出一个晚上来码点字。

这个问题的起源是C++课上有个学生问,能不能用new来生成动态的二维数组,这个事情,听起来超级容易,但是,事实上要完全搞清楚,还是要花点精力的。我们下面的讨论全部基于CodeBlocks 16.0 + MinGW的配置,采用CodeBlocks自带的MinGW G++编译器,默认开-std=c++11标准,并且默认兼容了C99特性。

我们先来看最简单的情况:

#include <iostream>
using[......]

继续阅读

发表在 软件使用与程序设计 | 在C++中如何动态分配一个二维数组已关闭评论

原来 cd 是需要 x 权限的

今天折腾学校的云桌面,让他从自己的云服务器上下载课件。中间发现,用 Windows SMB 访问过去,就能正常浏览文件。而 SSH 登录过去,或者 SFTP 过去居然无法列目录。先是发觉是没给 g 和 o 上 r 权限,SSH 和 SFTP 用的是 g 的权限。遂 chmod -R 给 g 上了 r 权限。但是,然并卵。比较了一下那些正常的目录,发现 g 和 o 不光有 r 权限,还有 x 权限,遂google之,方明白过来,如果要 cd 到某个路径里,当前用户得拥有这个路径的 x 权限。 Windows SMB 访问的时候,用的是 u 的权限,那个是上了 x 的。然后把所有目录给 chmod[……]

继续阅读

发表在 玩电脑 | 原来 cd 是需要 x 权限的已关闭评论