如何迁移系统?

如何迁移系统?

其实一直被这个问题困扰。家里有台旧笔记本,想换SSD硬盘,可是一想到要重装系统,再加上一堆的软件、配置等,实在是耗时耗力,就这么拖着。今天在知乎上看到一篇大牛的文章《如何安全快速的迁移你的系统到固态硬盘》,实在是太棒了!

粗略地阅读了这篇文章,写得非常详细清晰,更主要的是,推荐使用的工具软件也完全可以免费获得,而且还非常好用。以前也看到过类似的文章,不过为了一次迁移专门去购买一套ghost软件,似乎又下不了决心。这下好了,在忙完这段后,就可以再仔细考虑这件事了。

升级树莓派系统至 Stretch 版本

升级树莓派系统至 Stretch 版本

Pi 官方的Raspbian版本已经正式升级到 Stretch,即 Debian 9 系统。目前使用的还是 Jessie 版本, 根据官方的指导文档,进行升级,总体是比较平顺的,当然也有一些需要总结和修订。

在升级之前,首先要把源系统更新(update)、升级(upgrade)。

然后修改软件源文件,将 jessie 修改为 stretch,共有两个文件需要修改:

/etc/apt/sources.list
/etc/apt/sources.list.d/raspi.list

修改完成后,直接更新版本即可:

sudo apt-get update
sudo apt-get -y dist-upgrade

更新过程耗时比较长,耐心等待即可。需要注意的是,Stretch 版本中将 MySQL 替换为 MariaDB 了,因此如果是安装了MySQL, 需要重新安装 MariaDB。 好在替换过程似乎也很顺利,如果是深度使用MySQL,建议仔细检查这个替换。

升级完成后,音频库没有必要,可以删掉;另外有个字体库则需要单独安装以支持中文:

sudo apt-get -y purge "pulseaudio*"
sudo apt-get install fonts-droid-fallback

在体验最新版本的过程中,发现 xrdp 无法使用。需要卸载以前的版本,同时重新安装 VNC 软件。

sudo apt-get remove xrdp vnc4server tightvncserver
sudo apt-get purge tightvncserver xrdp
sudo apt-get install -y xrdp vnc4server tightvncserver

在用 Windows 的远程桌面登录时, 也要明确指示采用 Xvnc 而不是 Xorg 。以前的版本倒是没有这么麻烦,不知道是升级导致的问题,还是新版本就有这个问题。

升级后感觉明显快了很多,这有点意外,毕竟硬件没有改变,基础 Debian 系统在效率方面改变似乎也并不很大。

两起投诉

两起投诉

今天一大早就进行了两起投诉,响应很快,结果很满意。

投诉1:深圳电信光纤改造

在以前的一篇文章中吐槽了深圳电信的网络,后来恰逢深圳电信年末大优惠,再加上比较了其他两家运营商的宽带网络,最后还是选择了电信的光纤改造(费用理所当然地也上升了)。改造后的网络确实快了很多,而且一根光纤搞定上网、IPTV 和电话,实际上整个布线都比以前清爽了,这个还是可以给电信点个赞的!

然而发现了一个不太好的地方。光猫默认居然是一个内网地址!内网地址,能相信吗? 感觉深圳电信默认将光纤网用户划入一个大局域网。平时如果仅仅是上网就没有任何影响,但是像我这样需要和外部客户互相通信的情况,就会受影响,客户无法访问我的网络资源。以前ADSL没有这个问题,都是默认外网地址。

我个人感觉是因为电信的IPv4地址池可能比较紧张,因此采用了局域网方式组网。可以理解这是不得不为的困窘措施,未来如果广泛部署IPv6,就不会有地址问题。考虑到ADSL能给公网地址,难道我要退回去吗?实在太让人纠结了。 思考再三,于是拨打 10000 号电话进行投诉,说明了目前的情况以及需要外网地址的原因。

客服小妹的服务态度非常之好,转到相关技术处理人员后,非常干脆地就修改了配置,重启光猫之后获得了外网地址。给深圳电信的客服人员点赞!

投诉2: outlook系列服务器拒接邮件

这实际上是老问题了,有我们本身配置的问题,也有SPF设置方面的问题。修改了这些配置后,公司服务器向Gmail、Yahoo等邮箱发送email都没有遇到问题,唯独向outlook系列(包括hotmail等)服务器发邮件时,总是被拒接,原因也很简单,直接将我们的IP地址屏蔽了,信息如下:

Diagnostic-Code: smtp; 550 5.7.1 Unfortunately, messages from [xxx.xxx.xxx.xxx] weren't sent. Please contact your Internet service provider since part of their network is on our block list (AS3140).

我们是良民,没干什么坏事啊,怎么就拉黑了呢? 一怒之下,找到以下地址递交资料进行投诉:
https://support.microsoft.com/en-us/getsupport?oaspworkflow=start_1.0.0.0&wfname=capsub&productkey=edfsmsbl3&ccsid=636554612673022658

很快收到了回复,outlook确认了相关信息,并承诺48小时之内将我们从名单中删除。

今天天气晴朗,阳光明媚!

清除Putty主机指纹

清除Putty主机指纹

最近修改了主机上的公钥,结果导致Putty无法登录到主机,仔细检查后发现Putty还在使用原有的主机指纹,因此删除原有的记录即可(Putty似乎可以改进一下,重新提示用户是否保存或者修改,不是更合理吗?)。

删除方法比较简单,直接打开注册表,找到以下目录:

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

然后删除对应的主机记录即可。

企业VPN设置的注意事项

企业VPN设置的注意事项

公司建立了自己的VPN网络用于内部系统接入和管理,出于成本和部署简化的考虑,采用了相对比较简单的PPTP-VPN方案。服务端采用Debian 8系统,客户端就直接是windows和Linux自带的PPTP拨号软件。由于是私有的网络,因此在配置上可以尽量简化、统一,去掉一些没有必要的协商环节。

Debian服务端配置

服务端只保留一种协议(即MS-CHAP v2),同时强制要求MPPE-128bit加密(Microsoft Point-to-Point Encryption-微软点对点加密术)。在“/etc/ppp/pptpd-options”文件中,设置以下值即可:

refuse-pap
refuse-chap
refuse-mschap

require-mschap-v2
require-mppe-128

Windows客户端配置

以Windows自带的拨号网络配置为例。直接指定为“PPTP”的VPN类型,要求数据必须加密,同时协议部分只保留MS-CHAP v2即可。如下图所示。

Windows VPN拨号设置
Windows VPN 拨号设置

Linux客户端配置

与Windows客户端的配置基本一致,只是需要单独指示出MPPE-128bit加密方式,如下图所示。

Linux VPN 客户端配置
Linux VPN 客户端配置
设置SPF记录

设置SPF记录

最近发现的一个问题,如果邮件没有 SPF 记录,某些邮件服务器可能会过滤为垃圾邮件甚至直接拉入黑名单,比如 outlook 的服务器。相对而言,gmail 服务器要聪明很多,似乎在没有 SPF 记录的情况下,会反查MX记录及IP地址并进行匹配检验。

SPF的全称是:Sender Policy Framework, 由RFC7208文档定义详细规格。具体细节就不介绍了,基本意思就是让接收方的邮件服务器对发送者的域名和IP地址等进行检查。

在Linode的DNS管理中,仅仅添加MX记录是不够的,需要单独添加一条TXT记录,如图所示:

添加SPF的DNS记录
添加SPF的DNS记录

根据RFC7208的定义,可以进行很细致的控制。如果想省事,就如上图一样,设置一条”-all”的记录即可:

v=spf1 mx -all
Bootstrap 4!

Bootstrap 4!

最近真是好消息不断,经过多年的开发,bootstrap v4终于发布了,可喜可贺!

我们一直在关注这个版本,其中一些特性非常有吸引力,值得为此升级。我们的产品管理系统、网站等各方面都应用了bootstrap。悲剧性的事情是bootstrap当年推出v3后,过早地放弃了对v2的支持,同时变动实在太大,导致我们目前同时使用了v2和v3两个版本,一直困扰我们的维护工作。

而随着v4版本的推出,我们有机会统一内部的使用情况,将网站、软件产品管理系统的bootstrap都升级到v4的版本。当然,工作量估计非常巨大。

关于V4版本发布的细节,请参考以下文章:

http://blog.getbootstrap.com/2018/01/18/bootstrap-4/

DigitalOcean 免费升级

DigitalOcean 免费升级

早上开始工作时,收到了DO的邮件,非常惊喜。DO更新了各项套餐,增加了一些新套餐,也对老套餐进行了免费升级,真是良心企业。比如原有的“$10/mo”套餐,内存从1G升级到2G,存储从30G SSD升级为50G SSD。

不过默认情况下不会自动升级,需要手工对droplet进行resize。另外需要注意的是,可以只升级CPU和Memory,如果disk也同时升级到更高容量的话,则不支持降级回原有容量。

resize操作非常简单,请参考官方文档:

https://www.digitalocean.com/community/tutorials/how-to-resize-your-droplets-on-digitalocean