niyue

Archive for the ‘ubuntu’ Category

l2tpvpn puppet module for Ubuntu

In programming, ubuntu on November 10, 2012 at 11:31 PM

之前用Microsoft的MSDN订阅里面附带的Windows Azure的额度建了个Ubuntu的服务器,主要就在上面搭了一个L2TP的VPN服务用来翻墙。SSH tunnel倒是很容易翻墙,但是iPad和iPhone之类的设备没办法直接用SOCKS的代理,所以只好整了这么个VPN来翻墙,Mac上用起来也很方便。

在11月1日凌晨的时候微软忽然发邮件说MSDN带的Windows Azure额度上限到了,微软自动关闭了Windows Azure的服务。我确实是设置了超出额度就自动停止的条件的,所以预期下个月能够自动恢复。到了11月1日中午的时候,收到了额度恢复的通知邮件,开始没太在意,觉得是预期中的事情。不过后来使用VPN的时候发现没法连接上了,再去Windows Azure Portal里面看发现原来创建的两台虚拟机都不存在了,这个完全出乎我的意料,服务停止居然把数据都一下删掉了。刚好又临近十八大,一堆网站都被封了,于是只好考虑重新搭一次VPN。

之前主要是参考「Ubuntu下为Android/iOS搭建L2TP/IPSec VPN代理服务器」搭的VPN,再做一次当然也没啥难的,只是觉得很没意思,最后考虑这次用Puppet来自动化这个过程。以前写过些小的web app,都需要涉及搭一些环境来部署,碰到过好几次由于环境造成的问题,后来看到过Puppet这类的工具感觉很适合用来解决这类问题,这次借这个VPN的搭建顺便学习下。

用下来发现Puppet还是一个不错的产品,文档写的也比较好,我主要就看了Learning Puppet这个文档,之后具体用的时候参考了下Puppet的Type Reference就完成了这个l2tpvpn的Puppet module。前后大致一共花了20个小时,最后其实还没做到开始计划的一条命令行完成整个部署的程度,不过对Puppet有了个大概的了解,同时整个搭建VPN的过程大致简化到了一个十分钟的过程,其中大概还有五分钟是用在等待Windows Azure Portal的操作上面的。

最后剩余的一些自动化工作有些繁琐,也没有什么太大干劲去完成,就简单写了个文档描述了一下,所有的东西都丢到Github上面去了,https://github.com/niyue/l2tpvpn,以后如果要在Amazon EC2或者Windows Azure里面搭这么个环境应该都是非常容易的。这个Puppet module还是很简单的一个module,主要用来学习了。有些服务和文件配置的依赖的顺序什么的没有太仔细推敲,除了client/server的配置,基本也算把使用Puppet的整个流程走了一遍,几个部署的时候需要的参数都自动获取了,基本只要填个VPN的用户名密码就可以了。

重新建虚拟机的同时还顺带用iperf测试了一下家里连接到Windows Azure的东亚和东南亚数据中心的带宽。大概查了一下,东亚的数据中心应该是在香港,东南亚的数据中心是在新加坡,很不科学的手工测试了几次,iperf出来的结果差不太多,连接到两个数据中心里面的虚拟机都是大约600~800kbps的带宽,感觉连到新加坡还略快一些。

总的来说:

  1. 以后可以尽量多的使用Puppet来管理配置,越复杂的配置以及越长期的配置管理收益越大
  2. TODO: 使用Puppet来自动化管理更加复杂的配置文件,Puppet + Augeas, http://projects.puppetlabs.com/projects/1/wiki/Puppet_Augeas。目前的l2tpvpn为了能够达到idempotence,对/etc/ipsec.conf这个文件的修改可能会覆盖旧有的其他的修改,像我这种个人使用就搭一个VPN的情况不会有问题,但是如果更复杂的系统里面可能就会有问题
  3. Vagrant, http://vagrantup.com/, 看起来有点意思,以后有机会可以试试
  4. 比起Amazon EC2的console,Windows Azure Portal的性能真是弱爆了,创建新的虚拟机和添加新的endpoint感觉比Amazon EC2里面的操作都慢了一个数量级
  5. 终于能在十八大期间继续VPN了 🙂

CJK-Lyx @ Ubuntu

In software, ubuntu on October 25, 2006 at 5:09 PM

最近准备开始写论文了,正所谓”工欲善其事,必先利其器”,一个好的编辑器当然很重要(Word直接被排除在外:-p).早就听说了LaTex的大名,不过一直觉得学起来太困难没有下手,不过它有一个图形化的前端Lyx,原来稍微用过一阵,感觉很不错,唯一没有解决的问题就是中文的编辑问题,这两天终于决定把它给解决掉.

我的系统是Ubuntu Dapper 6.0.6,上面安装Latex和cjk-latex都是轻而易举的事情(sudo apt-get latex cjk-latex),但是后面的中文化工作连续折腾了我两天时间还是没有完全解决.主要有下面的几个困难:

  • 给LaTex添加中文字体,比如Windows下的simsun.ttf。添加字体的时候涉及到需要修改的文件夹和文件太多了,网上的一些文档又大多过时或者不符合Ubuntu系统上的实际,很难派上用场,自己琢磨试验了好久时间。
  • 在Ubuntu上编译并安装CJK-Lyx。这个工作也是很困难的,因为Ubuntu的软件库里面只有Lyx,但是没有CJK-Lyx,而且CJK-Lyx的binary distribution又没有debian系统上可用的,只有rpm,所以只好从源代码开始编译,结果configure,make,make install三部曲我就搞了一个下午时间,而且在自己的机器上死都找不到zlib库,明明有啊,只好到其他的机器上面(也是Ubuntu dapper)编译好了再拷贝过来。
  • CJK-Lyx的配置使用。这个问题也是很麻烦的,网上的资料就两三篇,绝大多数都是转贴,而且就那两三篇还是过时的,现在的1.4版也有出入。又是一阵琢磨。

直到现在这个CJK-Lyx还是有问题,编辑的每部分文字最后几个字虽然能够正常保存,但是在Lyx编辑器里面看不到,存在乱码问题。虽然可以用latex转换成其他格式再看,但是总是不是很很爽,还不如直接用LaTex呢。sigh,现在只能在Windows上面试着编译看看了,等问题解决了有时间我会把它整理出来,相关文档实在太少了。

参考文献:

  1. TeX和LaTeX中的字体
  2. TeX Font Guide
  3. 用LaTeX写漂亮学位论文

Update: Windows上的编译也失败了,懒得在Windows上再看一遍原因了,先考虑直接Vim+LaTex了。

Update2:有用的LaTex模板

  1. Tex/LaTex模板
  2. thuthesis@gforge

几个有用的ubuntu的软件库

In software, ubuntu on September 9, 2006 at 10:34 AM

在Ubuntu上面安装软件真的很方便,只要记得apt-get install/remove就能够搞定大多数的软件了.不过有的时候有些软件的最新版本刚刚发行,还没有添加到官方的软件库中,这个时候想用新版本但是没得用就比较痛苦了.这时有三个选择:

  1. 放弃使用新版本,继续使用旧版本直到官方软件库发布新版本
  2. 自己编译新软件而后手动安装
  3. 寻找uptodate的软件库,添加新的软件库并安装想要的新软件

无疑方法1并不是什么很好的办法,还是不能立刻用上需要的新特性;而方法2则退回到了原始的状态,每次安装一个软件可能都要看半天如何编译如何安装,其中可能会碰到的问题等等,一个简单的软件可能都需要半天时间才能顺利装好,这当中耗费的时间很不值得.所以我的一般选择都是方法3,如果3不能解决的话可能就会先不使用新版本,一直等到官方的repository上面有release为止了.

这里列举几个有用的软件库,包含了最近我想要的一些新软件的发布(当然其他的软件库可能也有,这里只是列几个我知道的):

  1. Opera 9以及Real Player 10(deb http://archive.canonical.com/ubuntu dapper-commercial main)
  2. Skype (deb http://download.skype.com/linux/repos/debian/ stable non-free)
  3. Vim7 (deb http://mirror.ubuntulinux.nl dapper-seveas all)

完全切换到Ubuntu

In ubuntu on June 24, 2006 at 3:03 PM

今天在Ubuntu上搞定了两个事情,和Windows又远离了一些.

  1. Install Internet Explorer on Ubuntu Dapper in 3 easy steps
  2. 在Linux上使用Sopcast

这两样事情是我最近一段时间去Windows下面干的最多的事情,装IE是为了想看看www.niyue.com在IE下面的效果,Sopcast当然是为了最近的世界杯+NBA Final啦.

好像现在大多数我需要做的事情都可以在Ubuntu上办到了,嗯,事实上还差最后的几小步.
一个是我的IrDA设备还不行用,手机上的东西没有办法从USB红外线转接器上拷过来.另一个是Windows下面虽然相对Linux来说开发工具少一些,但是有一些非常好的工具也在Windows下面,比如AltovaXMLSpy和DataDirect的Stylus Studio,要找到他们在Linux下面的替代品还是很困难的.最后一个感觉比较重要的恐怕就是Linux下面的Game Support了,Wine好像完全没有希望支持新游戏,不知道哪年才能在Ubuntu上play HOMM V.