2007年12月15日星期六

Hardy Heron

刚发现blogspot竟然没有被水产,终于不要用梯子了~~

实在不能忍受本本上的伤心硬盘,拿着刚到手的工资买了个Hitachi的HTS541612J9AT00,貌似有什么垂直技术,反正看着比伤心的好多了,顺带买个Pioneer的DVDRW,实习期的钱是花的一分不剩。

瓦卡卡~咱也用120G了,现在想放什么就放什么。立马买票回家!

想了几种分区方案,最后还是这么分:

Windows
C:20GB
D:20GB
E:40GB

Linux
/:20GB
/home:13GB
swap:2GB

本来是装gentoo的,无奈智商不够,还是回Ubuntu

装Hardy的 alpha1 ,alternate安装,一路顺利,进去后发现还是老样子,不管,删OOo先,然后修改源update,完成后reboot。
reboot没问题,把启动的splash去掉,改[OK]为绿色:

修改/etc/lsb-base-logging.sh ,找到"echo [ok]",修改成:
printf '[ '
$TPUT setaf 2 # green
printf OK
$TPUT op # normal
echo ' ]'

然后安装915resolution,虽然xwindows已经能认宽屏了,但是这个915resolution还是得装,可以实现控制台下的宽屏。先下个lrmi,make之后执行vbetest,得到几个值,我这是354,再编辑grub中的menu.list,在kernel行中加入:

video=intelfb:mode=1280x768-24@60,mtrr,ywrap vga=866


完成后先不重启貌似从7.10开始,U默认把frame buffer关掉了,需要手动开启一下:
编辑 /etc/initramfs-tools/modules,加入
fbcon
vesafb
vga16fb

然后把 /etc/modprobe.d/blacklist-framebuffer 里面的vesafb和vga16fb这两行给注释掉,最后sudo update-initramfs -u。
最后改一下控制台的字体,还是喜欢瘦字体,
sudo vim /etc/default/console-setup
或者
sudo dpkg-reconfigure console-setup

reboot后应该可以看到支持widescreen的控制台了,剩下的就是按照wiki里的一步步做下去了。

2007年7月13日星期五

弦动我心

十年前拥有第一部随身听——aiwa,听林忆莲,听小虎队,听张雨生……那时不知道什么是音乐;

三年后,还是aiwa,还是用原配的不知名的塞子,买10元一盒的磁带,听BackStreetBoys,听WestLife,听枪花……花家里的钱;

六年前,MD已经神话过了CD,和后劲的MP3打的不可开交;当别人开始MP3的时候我还在为选MD还是CD发愁……然而仅仅是一瞬的事,接踵而来的便是那万恶的1000天……;

三年前的那个夏天,封尘了卡带,取而代之的是那“方便”的USB口和iriver-395!开始听JAY,听王力宏,听孙燕姿……继续花家里的钱,对于未来充满幻想;

两年前,换掉了全部原配的耳塞,从生活费里省出了条MX500,开始听enya,听Yiruma,听Bandari……渐渐明白大学不是我想像中的那个样子;

一年前,Hi-MD被炒起来了,似乎要复活当年MD的王朝,于是开始淘碟,然后自己录歌,用$ONY的e888听王菲,听周蕙,听SHE……开始用所谓的“自己的钱”;

七个月前,厌烦了需要不断删减曲库的iriver395、麻烦至极的SS,于是我将所有的音乐连带心情都灌进了一个叫iPod的白盒子里!看着校园里行色匆匆的人群,感觉自己就像这iPod,平淡如水,没有激情却真实存在;

四个月前,用真正意义上自己的钱败了个OMX90,从此抛弃妖娆的e888和什么都好却不对味的MX500,开始听Paganini,听Beethoven,听Bach,听Mozart……开始平静,开始思考;

六天前,没有任何征兆的入UE的sf3,隔绝了外界的声响,感受到了自己心跳的声音,在这个夏天感受一抹清凉……

2007年4月24日星期二

Install OMNeT++ under feisty


昨天被小杨同学叫去装软件,本以为很easy的东西,没想到从下午4点弄到晚上近7点,还没弄好!主要是长时间待在Ubuntu下人变得越来越懒,configure后一堆warning & erro都没心思看!不甘心,今天下午自己实验,仔仔细细的看了一遍config.log把错误一条条的找出来解决,经过两个小时的奋斗终于搞定!


1、首先要下载OMNeT++ 貌似现在最新的是3.4b2.将压缩包解压到用户目录下:
$ tar -C ~/ -xvzf omnetpp-3.4b2-src.tgz


2、然后就是下载所依赖的包,好在这些包源里都有,直接apt得到:
$ sudo aptitude install bison byacc flex graphviz imagemagick tk8.4-dev doxygen giftrans blt-dev libxml2-dev blt-demo doxygen-doc doxygen-gui html2ps tcl8.4-doc tk8.4-doc bison-doc

3、设置环境变量:
$ vim ~/.bashrc
添加如下内容:
export PATH=$PATH:~/omnetpp-3.4b2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/omnetpp-3.4b2/lib
export TCL_LIBRARY=/usr/lib/tcl8.4
保存后最好logout一次,偶一开始就是没有logout,结果在configure的时候报错,导致make不了!最好还是logout一下吧!

4、进入omnetpp-3.4b2目录下config & make
$ ./configure
根据输出来判断是否正确,如果缺少某些包的话会提示(Akaroa,、MPI除外) 直到没有出现erro,并且看见三个Good后说明成功!然后就是make了!

5、一般config没错误的话make也应该没问题的,make通过后就可以运行了!
$ cd ~/omnetpp-3.4b2/samples/dyna
$ ./dyna


Q:What is OMNeT++?

A:
"The fact that OMNeT++ is highly modular and well structured is a big advantage when it comes to implementing new protocols to be used in the simulator. The process of implementing MQTT for OMNeT++ was quite straightforward and convenient especially thanks to the NED language." Master's Thesis of Julio Perez, September 2005, IBM Zurich Research Laboratory, Switzerland. Section 4.1, pp25.



2007年4月8日星期日

我们到底为什么用linux?

问题源自于fans上的新手们,为了让您少一点烦恼,请用ubuntu吧!

自从04年用linux以来,关于win和lin的争吵就没有停止过!偶尔愤青一下,过去瞎掰两句,也有和别人吵的面红耳赤的时候;但是这次看见的确是linux的窝里斗!争执起Distribution来了!

回顾一下偶的linux史,从asialinux->RedHat9->FC3->SUSE9->Ubuntu,用过的不多,但只有ubuntu才是最适合我的!linux仅仅是个工具罢了,而不是拿来炫耀的资本!

很多"老牌"的linuxer对于ubuntu这种傻瓜似的操作嗤之以鼻!认为那是丢弃了linux的本来面目!可是偶不禁要问:linux的本来面目是什么?成天无休止的下源码包编译、安装?还是为了那仅有的一点点所谓的速度就动不动make一下kernel?
看看论坛里的问题吧:什么显卡不显示了,声卡没声音了,网卡认不出了,SATA的盘没法装了……问一下
Distribution,结果来句RH7、FC2……试问在硬件发展如此迅速的今天这些tooooooold的Distribution还有什么意义?除了打击新手的信心还能干什么?为winfans提供辩论的证据?

Windows为什么成功?用户群是一方面,简单易用也是主要的问题!很多人曾经在论坛里跟我辨说linux不可能取代windows,因为她永远不会比windows易用!可是现在有个易用性和windows相当的ubuntu,linuxer们应该高兴才是,可是看看fans里面的反应!
linux是一个工具,不是少数所谓“高手”的玩具。 绝大多数人装完linux都希望无须太多配置就可以立即投入使用,而不是在那里查资料、捣鼓各种配置。
的确,运用最原始的方法去安装linux软件,去看linux的kernel,可以了解OS的机制!但是不是所有的人都是稿研究的,他们需要的是一个安全的、干净的操作环境!而不是在那跟人唠唠叨叨自己的OS是怎么工作的!

这些人不是在推广linux,而是在那拖linux的后退!他们以"高手"自居,以为自己会make一些software就很ZB?!恰恰相反,他们是linux界最大的SB!

2007年2月28日星期三

原来ZB可以"如此简单"

今天拿到返校的票──T732,可以说是从上学以来最便宜的票了(15RMB)也是第一次学生票……又得辛苦两小时~~

前天在QQ两天碰到一个不是很熟的却自称跟偶特熟的熟人,瞎掰了两句问偶在做什么,他/她说最近在研究什么JSP还是ASP的,然后貌似很牛X的跟偶吹WEB2.0!偶也属于比较无聊的那种了,抄起一段codes发给他/她,然后很ZB的说了句"没事自己写OS玩"……对方沉默的3秒后发来一个"弓虽"然后就offline了。。。。

今天下午又是这个人,又开始海侃,反正偶也没事干,瞎吹呗!最后还带有意思挑衅的口吻问"你的OS什么时候能写好阿?让我来运行一下嘛!"崩溃……于是翻课件,找了段最简单的用VHDL描述的门电路,当然不忘在里面加点垃圾代码一并发给他/她,再次偶认为很ZB的说:"偶的OS不是运行在x86构架上的,所以只能先自己弄个CPU出来,然后在这块CPU上跑……"

原来ZB是可以如此简单的^_^!以后要是再有人问偶"最近在忙什么"的时候,偶一定会这样给他们说:"没事干,无外乎就是给自己写个OS,顺带造个CPU,都是小把戏!"

2007年2月16日星期五

SB了一次……

在erji.com里潜水N月之久,两次长时间一言不发被踢……

估计全国90%的HiFi米人都在erji吧?!偶身上这点装备都不好意思拿出手~~一直关注着iPod+Lineout的输出是否真的那么强,得到N多人的证实后下了狠心花了100个RMB从某位烧友手中购得一个发烧级的Pocketdock,比起apple的来说是便宜的了=_=!(这里先来赞一下张扬!东西好,人也不错!)由于不想随身带着二房,所以特地作了个母头的方便接耳塞/机;也正是这个极端SB的想法使偶的888彻底报废!

偶低估了lineout的输出,音量不是一般的大!!由于不经过iPod内部本身的放大电路而是直接输出,所以iPod那独有的促模式音量调节没了用处!一开始就选了张韶涵的《梦里花》,那种独特的高音直接把e888枪毙掉了,那个$ONY引以为豪的生物震膜被震裂了…………没办法,只能在iTunes里把音量降低90%,再接麻叉五洞洞开最小量才勉强入耳。在erji里问了N多人,得到的回答都是一样的:iPod+lineout不接二房的话就是浪费,声音在某些塞子上甚至比phoneout还要惨……刚又试着推了一下M11,发现M11只要开一点量就可以了,而以前偶都是开最大才能听清的!仔细看了看M11的参数:10kΩ的阻抗~~崩溃……凝固……看来888是彻底没救了!

难道真的要弄个二房?!

最近和监控对上了……

以前对NB运行状态的监控一直就是在Panel上加个System Monitor就OK了。可是最近看Snowz在弄CACTI做服务器的监控,手痒就也装了一个,结果就变成了cacti+mrtg+conky……

先来看看MRTG吧~基本要放弃了!每次重启后就没用了!
安装还是比较简单的,所有的包都apt-get,主要是依赖snmp这个协议,按照wiki的说明配了一下apache,接着就是修改一下snmp的配置:
sudo vi /etc/snmp/snmpd.conf
查找到类似的行,修改为:
# sec.name source community
# com2sec paranoid default public
com2sec readonly default public
#com2sec readwrite default private

重启snmpd服务: sduo /etc/init.d/snmpd restart

生成mrtg的配置文件: sudo cfgmaker public@localhost > /etc/mrtg.cfg

生成mrtg的主页: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

安装CPU负载监视: sudo apt-get install sysstat
建立CPU脚本:
sudo mkdir /opt/mrtg
sudo vim /opt/mrtg/mrtg.cpu
#!/bin/bash
cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'`
cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'`
UPtime=`/usr/bin/uptime | awk '{print $3""$4""$5}'`
echo $cpuusr
echo $cpusys
echo $UPtime
hostname

使脚本可以执行: sudo chmod 755 /opt/mrtg/mrtg.cpu

修改 /etc/mrtg.cfg 在文件最后加入cpu项目
Target[cpu]: `/opt/mrtg/mrtg.cpu`
MaxBytes[cpu]: 100
Options[cpu]: gauge, nopercent, growright
YLegend[cpu]: CPU loading (%)
ShortLegend[cpu]: %
LegendO[cpu]: CPU us;
LegendI[cpu]: CPU sy;
Title[cpu]: CPU Loading

PageTop[cpu]: CPU Loading

重新生成索引页面: sudo indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html


内存使用监视:
建立RAM脚本:
sudo mkdir /opt/mrtg
sudo vim /opt/mrtg/mrtg.ram
#!/bin/bash
# run this script to check the mem usage.
totalmem=`/usr/bin/free |grep Mem |awk '{print $2}'`
usedmem=`/usr/bin/free |grep Mem |awk '{print $3}'`
UPtime=`/usr/bin/uptime | awk '{print $3""$4""$5}'`
echo $totalmem
echo $usedmem
echo $UPtime
hostname

使脚本可以执行: sudo chmod +755 /opt/mrtg/mrtg.ram

修改 /etc/mrtg.cfg 在文件最后加入ram项目
Target[ram]: `/opt/mrtg/mrtg.ram`
#Unscaled[ram]: dwym
MaxBytes[ram]: 2048000
Title[ram]:Memory
ShortLegend[ram]: &
kmg[ram]:kB,MB
kilo[ram]:1024
YLegend[ram]: Memory Usage :
Legend1[ram]: Total Memory :
Legend2[ram]: Used Memory :
LegendI[ram]: Total Memory :
LegendO[ram]: Used Memory :
Options[ram]: growright,gauge,nopercent
PageTop[ram]:Memory

重新生成索引页面: sudo indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html


硬盘读写监视:
建立硬盘读写脚本:
sudo mkdir /opt/mrtg
sudo vim /opt/mrtg/mrtg.disk
#!/bin/bash
hd=sda
disk=/dev/$hd
UPtime=`/usr/bin/uptime |awk '{print $3""$4""$5}'`
KBread_sec=`iostat -x $disk|grep $hd |awk '{print 8$}'`
KBwrite_sec=`iostat -x $disk|grep $hd |awk '{print 9$}'`
echo $KBread_sec
echo $KBwrite_sec
echo $UPtime
hostname

使脚本可以执行: sudo chmod +755 /opt/mrtg/mrtg.disk

修改 /etc/mrtg.cfg 在文件最后加入硬盘读写
Target[disk]: `/opt/mrtg/mrtg.disk`
Title[disk]: Disk HDA I/O Utilization Report
#Unscaled[disk]: dwym
MaxBytes[disk]: 10240000
PageTop[disk]:
Disk I/O Utilization Report
kmg[disk]: KB,MB,GB
LegendI[disk]: Disk I/O KBread/sec
LegendO[disk]: Disk I/O KBwrite/sec
Legend1[disk]: Disk I/O KBread/sec
Legend2[disk]: Disk I/O KBwrite/sec
YLegend[disk]: Megabytes
ShortLegend[disk]: &
Options[disk]: growright,gauge,nopercent

重新生成索引页面: sudo indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

只要
sudo env LANG=C mrtg /etc/mrtg.cfg运行一下mrtg的配置文件,再访问: http://localhost/mrtg/就可以看到机器运行状态。

不过偶现在碰到的最大问题是一旦关机或者重启后mrtg就不再运行了?!重新运行:
sudo env LANG=C mrtg /etc/mrtg.cfg 后一直提示:
"ERROR: Creating templock /var/lock/mrtg/_etc_mrtg.cfg_l_10391: No such file or directory at /usr/bin/mrtg line 1761."
到底问题出在哪呢?在论坛上发的贴也是石沉大海……


再来看看CACTI,用到现在还是蛮稳定的。

cacti是一套PHP程序,它用snmpget来采集数据,再用rrdtools绘图,功能和MRTG类似,不过貌似更强大点,不过就是要用到MySQL~~
本着能懒则懒的原则,所有相关包都去apt-get,然后先按照wiki的方法架apache+MySQL+PHP的环境,再按照cacti上的指南开始操作,结果问题来了;建好一个cacti表后竟然找不到SQL文件,然后就是cacti的配置文件config.php竟然是空的?!!百思不得其解??Google了好久都没什么结果,最后用最原始的方法:下源码包装,把

cacti直接放到apache的web目录下,然后编辑cacti的数据库连接文件:
sudo vim /var/www/cacti/include/config.php
如下这段根据你的数据库设置更改
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "beetle";
$database_password = "*******";
$database_port = "3306";

还要修改/etc/crontab,给cacti的数据抓取添加一个定时Job:
*/5 * * * * root php /var/www/cacti/poller.php > /dev/null 2>&1
然后登录http://localhost/cacti/ 第一次进入会让你进行一个简单的配置,主要是一些工具的路径,如果系统找不到,还要手动指定。第一次登录的密码默认是admin,登录后会让你更改密码。

直到后来才发现为什么一开始一直不对,原来apt自作聪明了,她把这些软件按照系统的一贯要求全部拆开存放到各个文件夹下,寻找起来还是比较麻烦的……


最后来瞄瞄conky,一个桌面级的监控程序。ubuntu的源里有,直接apt就可以了,偶也就不贴图了,把配置文件放上来share一下,感觉比System Monitor强大,唯一不解的是启动比较慢~~

.conkyrc