Dec
30
2009
1

在fedora中安装lxr浏览内核源代码

说明:本文旨在在fedora中安装lxr,此安装方法与fedora版本无关,本文在fedora 11中进行的安装,参考的是fedora 4/9等文章说明,成功。使用普通用户安装,过程中使用到su命令,lxr设置为可以同时查看多个版本源代码。
1.下载lxr-0.3
下载地址:http://sourceforge.net/projects/lxr/files/
说明:lxr的最新版使用的是PostgreSQL,麻烦,0.3则不需要数据库,方便。
2.下载glimpse
http://webglimpse.net/download.php
http://webglimpse.net/trial/glimpse-latest.tar.gz
3.安装lxr
3.1解压lxr,进入解压后的文件夹lxr-0.3,修改Makefile文件,主要有两项:
Code:
# The location of your perl5 binary
PERLBIN=/usr/bin/perl
这是perl的路径名,/usr/bin/perl是大多数情况下的默认配置,如果不同,请用whereis perl查找。
# LXR will be installed here
INSTALLPREFIX=/var/www/html/lxr
这是lxr脚本的安装目录,其中/var/www/html取自Apache配置文件/etc/httpd/conf/httpd.conf中的DocumentRoot(文件根目录)的值。
3.2执行”make install”
Code:
su
make install
这会在上述INSTALLPREFIX目录安装相应的脚本和文件.
4.安装glimpse
进入解压后的文件夹,执行:
Code:
./configure
su
make install
以下操作需要root权限:
5.把源代码放在/var/www/html/lxr/source文件夹中
这里可以放多个,比如linux-1.0, linux-2.4.0, linux-2.6.18.8,其中linux-1.0.tar.bz2和linux-2.4.1.tar.bz2解压后的文件夹都是linux,请自行改名,原因后面说明。
6.在source中建立两个文件versions和defversion,其中versions为你的源代码版本(即你的目录),defversion为你的default version,即lxr默认展示的那个version。
versions的内容就是所有的源代码的版本,如下:
Code:
linux-1.0
linux-2.4.0
linux-2.6.18.8
defversion的内容如下:
Code:
linux-2.4.0
7.修改lxr的配置文件lxr.conf,先备份一下:
Code:
# cp lxr.conf lxr.conf.bak
需要修改的有variable v, baseurl, htmlhead, htmltail, htmldir, sourceroot, srcrootname, dbdir和glimpsebin,如下(这里用到了前面建立的两个文件versions和defversion):
Code:
# Configuration file.
# Define typed variable “v”, read valueset from file.
variable: v, Version, [/var/www/html/lxr/source/versions], [/var/www/html/lxr/source/defversion]
# Define typed variable “a”.  First value is default.
variable: a, Architecture, (i386, alpha, m68k, mips, ppc, sparc, sparc64)
# Define the base url for the LXR files.
baseurl: http://localhost/lxr/http/
# These are the templates for the HTML heading, directory listing and
# footer, respectively.
htmlhead: /var/www/html/lxr/http/template-head
htmltail: /var/www/html/lxr/http/template-tail
htmldir:  /var/www/html/lxr/http/template-dir
# The source is here.
sourceroot: /var/www/htl/lxr/source/$v/
srcrootname: $v
# “#include ” is mapped to this directory (in the LXR source
# tree)
incprefix: /include
# The database files go here.
dbdir: /var/www/html/lxr/source/dbdir/$v/
# Glimpse can be found here.
glimpsebin: /usr/local/bin/glimpse
# The power of regexps.  This is pretty Linux-specific, but quite
# useful.  Tinker with it and see what it does.  (How’s that for
# documentation?)
map: /include/asm[^\/]*/ /include/asm-$a/
map: /arch/[^\/]+/ /arch/$a/
8.创建lxr/http/.htaccess文件,即/var/www/html/lxr/http/.htaccess,内容如下:
Code:
SetHandler cgi-script
9.修改/etc/httpd/conf/httpd.conf文件的lxr设置和ServerName设置
9.1在文件最后添加如下几行
Code:
# Cross Reference Stuff
Options All
AllowOverride All
或者
Code:
Options All
AllowOverride All
order allow,deny
allow from all
9.2修改vim /etc/httpd/conf/httpd.conf中ServerName为localhost:
Code:
ServerName localhost
说明:原文件中可能把ServerName注释了,如果不修改则会在开启httpd的时候找不到ServerName而有如下相似的错误:
Code:
#service httpd start
Starting httpd: httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
Starting httpd:                                                       [  OK  ]
10.建立lxr的数据文件
由于前面设置的dbdir为/var/www/html/lxr/source/dbdir/$v/,我们在lxr/source/dbdir/下面建立 linux-1.0, linux-2.4.0, linux-2.6.18.8等相关文件夹,以linux-1.0为例,进入lxr/source/dbdir/linux-1.0,然后生成lxr数据 文件:
Code:
# cd /var/www/html/lxr/source/dbdir/linux-1.0
# /var/www/html/lxr/bin/genxref /var/www/html/lxr/source/linux-1.0/
生成fileidx和xref两个文件
# glimpseindex -H . /var/www/html/lxr/source/linux-1.0/
生成7个.glimpse_*文件
# chmod 755 *; chmod 755 .g*
(中间是分号)将这几个数据文件修改为任何人均可读可执行。
11.启动Apache服务器.
Code:
# /etc/rc.d/init.d/httpd start
或者
# service httpd start
12.完成,在浏览器中输入地址http://localhost/lxr/http/,点击source就可以浏览和查找不同版本的linux源代码了,或者直接http://localhost/lxr/http/source也可以,一样的效果。
13.如果开启了selinux,则可能会被selinux禁止,使用如下命令关闭selinux:
Code:
# setenforce 0
查看selinux状态:
# getenforce
如果需要安装在自己另外设置的目录的话,需要在/etc/httpd/conf/httpd.conf中把DocumentRoot改为自己的目录,所有相关的Directory也需要更改。
<Directory /…/lxr>
Options All
AllowOverride All
order allow,deny
allow from all
</Directory>
即可。
【作者: 怀恋在子夜】【访问统计:】【2009年07月26日 星期日 14:19】【注册】【打印】

说明:本文旨在在fedora中安装lxr,此安装方法与fedora版本无关,本文在fedora 11中进行的安装,参考的是fedora 4/9等文章说明,成功。使用普通用户安装,过程中使用到su命令,lxr设置为可以同时查看多个版本源代码。 (more…)

Written by liuhongdan in: Kernel | Tags: , ,
Dec
22
2009
5

使用crontab+espeak/fesitival+mplayer提醒自己早点休息

大凡折腾Linux的Linuxer们都曾有熬夜的习惯,第二天又会后悔,为什么不早点睡把事情放到今天做呢,何必糟蹋自己呢,就我自己而言,以前常常会有24:00以后入睡的情况,而且每过24:00,头脑更空明,思维更活跃,那时早把那些律己扔到九霄云外去了,不过第二天却又开始不断的责怪自己,如此往复…,简直是炼狱啊。

我安装过gnome clock之类,也在纸上写过口号,也在手机上定了时,不过怕就怕做一件事情的时候钻进去了,特别是Linux上的事情,那么的有趣,于是一切都忘了。常常在想要是身边有个人提醒自己多好,既然没有人提醒,只能自己给自己提醒了。

于是想到crontab, mplayer, espeak, festival, gnome-sound-recorder。 (more…)

Written by liuhongdan in: Linux | Tags: , , , ,
Dec
22
2009
2

Mplayer音量控制详解

转贴,感谢原作者fennng,原帖:
http://www.linuxdiyf.com/viewarticle.php?id=74861

其实我注册这个论坛初衷就是要问这个问题的,后来自己研究出来了…分析一下,写出来…就这么长了…有点复杂… (more…)

Written by liuhongdan in: Linux | Tags: ,
Dec
12
2009
4

世界太匆忙,我自静静绽放

每天的早晨,行色匆匆的上班族,一边带着早餐一边奔向公司
每天的晚上,回家心切的加班族,一边挤着地铁一边打着电话
为什么这个世界这么匆忙,抑或只是我们的世界才如此的匆忙?

在我加入驴队后,逛绿野论坛8264驴友论坛的时候,才发现,匆忙的原来是我们自己!

后来在8264上看到青衣佐刀大哥的《我的09珠峰攀登,活着真好》这篇图文并茂的精彩帖子,颇受感触,下面摘录部分:

我的09珠峰攀登,活着真好

只有我这样的忠贞
才敢于倒在这样荒寒的乡野
只有我这样威武的狮子
才敢于倒在这样寂然无声的水面
我流着
永不停息……
—摘自好友杨键的诗作《古寺》送给遇难的老吴

序:


下山后,这么长的时间里,我已不能写出自己的悲怆了,我也写不出内心的欢喜。当我尝试着用一个人的卑微,去体悟一座山的庄严时,我似乎触碰到了它,却怎么也写不出那种永恒。
面对着山,也许根本没有必要去写什么了,但我还是写了出来。
我是一个普通人,有着普通人的梦想,也有着普通人的虚荣,我所能做的,就是将所经历的,不论梦想还是虚荣,将那些细节都一一写出来,并尽量真实完整地呈现。
登上世界巅峰,就攀登本身来说,我能不悲不喜。但后来,老吴的死和自己在下撤途中所经历的那七小时、三百五十米时空生死的跌宕,以及在机场见到妻儿,重温亲情后的喜悦,悲喜间,生命本身就像月光一样,刹那便在内心映照了出来,不能不说这是我此行最大的收获了。
下山后,我看到的一切还是以前的一切,却已有所不同了,马路更坦荡了,楼梯的过道里也充满感激,以前做的好多事情,现在看起来,都是自己错了。
在山的面前,生命如果是一条河,我知道,我流得很不彻底。
但三生有幸,作为09春季攀登珠峰劫后的一个幸存者,此刻,我还能坐在电脑前,夜空中,再次攀爬上8844米,那一段风雪弥漫的故事里……

09zhufeng

想起我那尘封到期的健身卡,为什么我不可以?我没有珠峰那么远大的理想,却也不想每天混混噩噩,我不想有多么惊天动地,却也有自己的虚荣和梦想。我也想看看自己,能不能坚持自我。每天21:00~22:00,跑步锻炼,已坚持半月有余,在此鼓励自己,继续坚持!

最后今天跑步的时候想起《Friends》中Monica曾对Rachel说的那句话:
“Welcome to the real world! It sucks. You’re gonna love it!”
But, basically it’s entirely up to ourselves.

Written by liuhongdan in: Thinking & Feeling |
Dec
12
2009
0

It’s a Wonderful Life(美好人生)

昨天晚上在IMDB闲逛的时候,想看看IMDb Top 250 Films中那些还没看过的,想看看,最近一段时间没怎么看电影了,有点消沉,于是点击了我最喜欢的Fantasy排名栏目,其中前五名的排名如下:

Rank Rating Title Votes
1. 8.8 The Lord of the Rings: The Return of the King (2003) 327,335
2. 8.8 Star Wars (1977) 296,587
3. 8.7 The Lord of the Rings: The Fellowship of the Ring (2001) 353,709
4. 8.6 It’s a Wonderful Life (1946) 92,360
5. 8.6 The Lord of the Rings: The Two Towers (2002) 296,795

1,2,3,5都看看过,却没听说过1946年拍摄的It’s a Wonderful Life这部电影,得分8.6(打开介绍页是8.7分),这么高,怀疑自己怎么没听说过。于是决定看看。

fedora下,只能在youku上看了,不过这么老的片子,其他资源上一般都是很少有的,像迅雷看看,pplive什么的,上次看《黄金三镖客》(Il buono, il brutto, il cattivo. (1966),应该是意大利文吧)就是翻阅了好几个地方才找到能看的地方(现在广电总局的《视听许可证》又来了,不知道以后看电影是不是更难了)。昨天看了上半部,感觉有点平淡无奇,我知道8.6的高分,精彩部分肯定在下半部分,今天回来后,先irc会议,然后《火影》,然后看下半部,看到男主角要跳河那一段,真的很悲伤,为什么好人的命运总是如此?然后天使来了,然后…,最后我竟然哭了,在他的妻子和比利叔叔以及街坊邻居都进来的那一刻,还有最近英雄弟弟回来的时候,控制不住自己了。

主人公乔治在圣诞夜丧失了对生活的信心,准备自杀。于是,上帝派了一个天使,来帮他渡过这个危机。在天使的指引下,乔治看到了如果自己没有来到这个世界,很多人的人生会变得不幸和痛苦。他由此明白了自己生命的价值何在,重新鼓起了生活的勇气。故事很温暖,也很鼓舞人心。(电影《It’s a wonderful life》,阮一峰的网络日志)。

电影的最后时间是圣诞节,今天是2009年的12月11日,也快到圣诞节了,里面的两句话送给还在北京单身的自己 :)

Strange, isn’t it? Each man’s life touches so many other lives. When he isn’t around he leaves an awful hole, doesn’t he?

“Dear George, remember no man is a failure who has friends. Thanks for the wings, Love Clarence.”

Written by liuhongdan in: Living | Tags:
Dec
05
2009
9

宇智波-鼬死了

在《火影忍者》358集里,宇智波一族的天才忍者,7岁从忍者学校毕业,8岁写轮眼开眼,13岁成为暗部分队长的宇智波 鼬终于倒在了至亲的弟弟佐助面前,这一生付出太多,承载太多,安息吧。

转载一下鼬的生平与简介:

戒指の朱――宇智波 鼬(Itachi)

代号:朱
戒指位置:右手无名指
流派:木叶忍者
所属国:火之国
叛变原因:???(真实原因不明,表面原因是为了追求力量)
特别忍术:  (more…)

Written by liuhongdan in: Living | Tags: ,
Dec
04
2009
8

fedora 12中配置thinkpad的trackpoint与中键的滚动功能

前言:
周五irc会议上遇到asin问thinkpad的trackpoint与中键的滚动功能,后顺利解决,才有了这篇文章。

关于trackpoint的原文在thinkwiki上,我只是照着做了一遍(:-D),原文是How to configure the TrackPoint, 具体如下:
默认情况下,中键在linux上是用作粘贴操作的,而不是和win上一样能和小红点一起组合来上下左右滚动功能的,因此我们需要配置一下。在Ubuntu 8.10 和Fedora 10 以上(fedora 12当然是),是使用udev和HAL配置这些输入设备的。

1.使用lshal|grep input.product查看自己的设备,我的如下:
[liuhongdan@dan ~]$ lshal | grep input.product
input.product = ‘ThinkPad Extra Buttons’  (string)
input.product = ‘Lid Switch’  (string)
input.product = ‘Macintosh mouse button emulation’  (string)
input.product = ‘Sleep Button’  (string)
input.product = ‘Video Bus’  (string)
input.product = ‘Power Button’  (string)
input.product = ‘SynPS/2 Synaptics TouchPad’  (string)
input.product = ‘TPPS/2 IBM TrackPoint’  (string)
input.product = ‘AT Translated Set 2 keyboard’  (string)
input.product = ‘HDA Digital PCBeep’  (string)

2.使用root新建文件/etc/hal/fdi/policy/mouse-wheel.fdi,加入如下内容:
<match key=”info.product” string=”TPPS/2 IBM TrackPoint”>
<merge key=”input.x11_options.EmulateWheel” type=”string”>true</merge>
<merge key=”input.x11_options.EmulateWheelButton” type=”string”>2</merge>
<merge key=”input.x11_options.YAxisMapping” type=”string”>4 5</merge>
<merge key=”input.x11_options.Emulate3Buttons” type=”string”>true</merge>
<merge key=”input.x11_options.EmulateWheelTimeout” type=”string”>200</merge>
</match>

2.如果希望水平滚动则加入:
<merge key=”input.x11_options.XAxisMapping” type=”string”>6 7</merge>

3.重启机器,或者重启hal服务与xorg,OK。如果设备是PS/2 Generic Mouse,需要4。

4.如果你的机器是PS/2 Generic Mouse,则需要使用PS/2 Generic Mouse替换”TPPS/2 IBM TrackPoint”即可。

5.Enjoy!

Written by liuhongdan in: Linux | Tags: ,
Dec
03
2009
8

Fedora 12中NVIDIA显卡的安装

现在fedora中对于NVIDIA的默认驱动,采用的是开源的nouveau模块(The nouveau project aims to build high-quality, open source drivers for nVidia cards. “Nouveau” [nuvo] is the French word for “new”.),因此想开3D或者使用gnome-shell的NV用户可能需要自己安装官方的NV驱动了,比如我,没有安装,则gnome自带的桌面效果不能使用,报错,安装之后就可以了,gnome-shell也可以使用。官方的NV最新驱动发布贴在这里:http://www.nvnews.net/vbulletin/forumdisplay.php?f=14
Current releases
Current beta release: 195.22
Current official release: 190.42 (x86 / x86_64) (more…)

Written by liuhongdan in: Linux | Tags: ,

Theme: TheBuckmaker.com Wordpress Themes | Hosting Serendipity/a>, SqueezeCenter 7.3.3