在笔记本中通过virtualbox装了好几个系统。winxp是用来网上支付的,ubuntu server(us)是用来做服务器端部署的。Oracle数据库、JBOSS服务器都是安装在us上的,于是从host连接到us上就十分必要了。在us上部署好openssh server,自己ssh登录自己完全没有问题,可是从host来ssh登录却总是被告知connect refused。这是怎么回事呢?us联网是完全没有问题的呀,为什么host却连不上us呢?
俗话说得好,有问题找谷哥!伟大的谷哥告诉我,是我的virtualbox的网络设置弄错了,使用了默认的NAT模式。NAT模式中网络地址是被转换过的,因此从host去连接这个NAT的地址自然是连接不上的。将virtualbox中us的连接方式改成Bridge adapter(桥代理)模式就可以了。
Enjoy~

现在Linux有这么多分发版本,哪个款才是我想要的呢?哪一个更适合我使用的呢?
如果你正在为这个问题烦恼,那么这篇blog或许能帮到你。最近zegenie Studios开通了一个“Linux选择器(Linux Distribution Chooser)”的版面,用来帮助我们选择合适我们使用的Linux分发版。
我做了一下这个测试,原以为会向我推荐Ubuntu,没想到向我推荐的是Fedora和OpenSuSE。看来有空的时候找找SUSE来玩玩看了。
Category: linux
Comments off
在windows下写C程序是一件很容易的事,装好Turbo C就可以了,相信各位学过编程的都十分了解Turbo C吧。特别是现在大学里人人忙考级的情况下,二级C语言大概成了每个人默认考过的等级考试吧。可是在linux下又如何写C程序呢?其实,linux下写C也是很容易的。IDE的话用 eclipse 集成 CDT 模块就行了。当然这属于重量级的了,就如同VC++之于windows一样。那有没有像Turbo C那样的小工具呢,主要也就是用到它的编译功能。恩,这就是这次我们要说的 GCC 了。
根据 wikipedia (google)上的定义,GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。它是GNU toolchain的关键部分,亦是开放源代码的类Unix操作系统的标准编译器。
GCC跟Turbo C的处理过程大同小异,其由C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤∶预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。所以,基本上可以这么说,用过Turbo C的,很容易就会习惯GCC了。
好了,现在我们来写个简单的程序吧。首先是安装GCC,如果你使用的是Ubuntu,则在终端中输入以下命令来安装GCC。
sudo apt-get install gcc
安装好GCC就可以写程序了?别急,现在GCC什么文件都还不能编译呢。还记得在Turbo C上我们不是还要设置头文件的路径吗?是的,我们需要安装这些头文件,这就是build- essential软件包。安装好这个包,系统就会自动安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1- dev等一些必须的软件和头文件的库。我们可以在终端中输入下面命令来安装:
sudo apt-get install build-essential
好了,环境搭建完毕,就让我们开始动手写程序吧。首先来个最经典的hello world热热身。用 gedit 或者 vi 写下这个程序,并保存为hello.c。
#include <stdio.h>
int main()
{
printf( "Hello world!\n" );
return 0;
}
将文件保存为hello.c后,在终端中使用敲入以下命令来使用GCC对程序进行编译。
gcc hello.c -o hello
编译通过后,我们会在当前目录中看到hello文件,这就是编译后生成的可执行文件。好了,我们来运行一下它,来跟world打个招呼。
./hello
我们可以看到在终端中输出了”Hello world!”,这就说明我们的程序运行成功了。
最后,需要特别说明的是GCC中对于文件后缀的规定有点特殊,特别是C++源代码文件的后缀不是cpp,而是cc或cxx。
- .c为后缀的文件,C语言源代码文件;
- .a为后缀的文件,是由目标文件构成的档案库文件;
- .C,.cc或.cxx 为后缀的文件,是C++源代码文件;
- .h为后缀的文件,是程序所包含的头文件;
- .i 为后缀的文件,是已经预处理过的C源代码文件;
- .ii为后缀的文件,是已经预处理过的C++源代码文件;
- .m为后缀的文件,是Objective-C源代码文件;
- .o为后缀的文件,是编译后的目标文件;
- .s为后缀的文件,是汇编语言源代码文件;
- .S为后缀的文件,是经过预编译的汇编语言源代码文件。
好了,发挥想象力尽情写程序吧!
在linux下,一般都自动安装好zip和7z压缩包的压缩/解压攻击的,如gzip、7-Zip和unzip。可是在windows下也十分流行的RAR压缩包的解压呢?哦,是的,linux下不默认安装RAR解压工具的。不错,估计你已经想到为什么了——zip是免费的,但rar不是免费的。这也是为什么国外的压缩包通常使用zip来压缩,而盗版猖獗的国内则常常是rar格式。
哦,有点跑题了,还是回来继续说说如何在linux下解压RAR压缩包吧。在linux下,我们使用unrar来解压RAR压缩包。如果你使用的linux分发版是Ubuntu的话,可以使用下面的命令来安装unrar。
sudo apt-get install unrar
安装完毕后,就可以使用unrar来解压RAR压缩包了。比如我们要解压myfiles.rar这个压缩包到当前路径下,在命令行下敲入以下命令即可:
unrar e myfiles.rar
好了,解压完成!
P.S. 如果你对zip、rar文件格式感兴趣的话,可以看看马健的“乱谈zip、rar文件格式”,肯定有所收获!
Category: linux
Comments off
今天去参加了2007软件自由日的活动,这是我参加的第二次技术日,第一次是在广州参加的由BEA主办的User Group,其主题是Portal技术。
今天这个活动人气很高,我1点左右到那儿的时候,FIT大楼的大厅基本挤满了人。四下环顾,发现很多展台都在派发宣传光盘和礼物,机不可失失不再来,于是我便立即投入到“战斗状态”。首先目标当然是Ubuntu展区,来到展区前,发现Ubuntu的派发光盘基本上发完了,只剩下不到5张了!虽然我的电脑上早已安装了Ubuntu7.04,可我还是凑上去“不要脸”地要了一张——正心里暗爽时,发现封面左下角写着这么一行小字:“Ubuntu 7.04 for your 64-bit PC”。呀,原来我拿了张64位的盘,可我的电脑是32位的。正欲再“劫掠”一张,发现展台已没有光盘了。唉,也罢,等以后家里的那台电脑升级为64位就有用武之地的。离开Ubuntu展区,我又“顺手”拿到了其他几个linux分发版,分别是SUSE Linux Enterprise 10、即时Linux7.0、Debian 4.0 Etch,以及红旗中文贰仟的RedOffice3.0和一张开源CD(含各种优秀的开源应用软件),嗯,还有一件大会的主题文化T-shirt。
在一楼展区有两个展台比较吸引我,一个是做3D动画的Blender,另外一个则是来自台湾的开源手机软件OpenMoko。喜欢Blender的原因大概是因为我本科时的专业的原因吧,捣弄过两年3D软件,虽然现在几乎是武功全废但看到3D的软件还是备有亲切感的。看了一下Blender的资料,虽然跟工业级别的Maya以及3D Max还相距甚远,不过已经做得相当不错了,做一些动画短片是绰绰有余了。至于OpenMoko,则是其理念特别——Free Your Phone——吸引人。正如其所说的,现在的手机被硬件所限制住了,我们要加个新功能时,往往需要重新买一部新手机,而不像电脑一样更新软件或增加部件就可以了。“以使用者为导向,由使用者客制化与自行设计手机的新使用方式”,这便是“未来的手机新生态观念”。呵呵,很令人激动呀,有空我也去研究研究openmoko。
在二楼的报告厅的报告也很精彩。先是SCIM的作者Google软件工程师苏哲、Mozilla Online的米嘉、MySQL AB社区关系经理Colin Charles、红旗老总胡才勇等等,都是自由软件牛人啊。
在会议上给我最深刻的一个理念就是“开源不等于免费”。开源、自由是指你可以免费、自由地使用软件、修改甚至再分发、当然更包括了源代码的查看(不然怎么修改啊,呵呵)。至于为什么说“开源不等于免费”呢?这里的收费是指服务收费。就像牛顿发现的牛N定律,我们可以自由地使用,但是如果我们懒于去学习、使用这些繁杂的公式定理进行计算呢?这时我们就需要付费去请人帮我们完成这些工作了。就像MySQL AB的Colin Charles说的那样:你可以选择用金钱换时间,也可以选择用时间换金钱(use money to save time, or use time to save time)。这真是一个伟大的理念呀!至少我当时是茅塞顿开啊。
最后,上传一些会场的照片。
OpenMoko的宣传海报 – Free Your Phone
OpenMoko的手机
OpenMoko – 那位姐姐很漂亮的哦!
SUSE Linux
Firefox与红旗
蓝色杰迪与Mandriva
红旗 – 这位姐姐也挺漂亮只比OpenMoko的那位差些
Debian
Blender做的动画
会场海报
Please don’t hurt the web
SCIM的作者 – 苏哲
更多照片,请看这里。