Gentoo 历程(3):配置slim自动登录、mlocate导致系统僵死、lxr配置

来源:互联网 发布:ad旋转网络标号 编辑:程序博客网 时间:2024/06/11 15:03

今天遇到的问题似乎有点多……  

     1.slim的自动登录:

    本人一直是kde的fans,直到我的膝盖中了一箭我换到了gentoo……kde的编译受不了啊!以前登录图形界面一直用kdm,漂亮又好用,换gentoo后xdm自然也得换个轻量的,于是选了slim。当时一起安装了一大票的软件,也就没有详细的去看每个软件的配置文件,slim除了换了个背景图片啥也没改,这样每次登录的时候都要手动输入用户名和密码,挺麻烦的,今天看了看/etc/slim.conf,发现原来slim本来就能自动登录,只是默认是禁用状态(废话),我笔记本有BIOS密码,根本用不到再次验证,干脆设成自动登录吧:

# default user, leave blank or remove this line# for avoid pre-loading the username.default_user        gentoo# Focus the password field on start when default_user is set# Set to "yes" to enable this featurefocus_password      yes# Automatically login the default user (without entering# the password. Set to "yes" to enable this featureauto_login          yes# current theme, use comma separated list to specify a set to # randomly choose fromcurrent_theme      fingerprint 

多说一句,fingerprint主题很赞!


    2.mlocate

    刚才正用火狐上网的时候,电脑突然开始疯狂读硬盘,鼠标反应巨迟钝,键盘基本废了,等了半天只好重启

这种问题明显是io太重导致的,看了下/var/log/messages,发现那段时间只有cron比较可疑,再去/etc看看cron的配置(不知道cron的log在哪,汗……),问题基本锁定在/etc/cron.daily/mlocate上了,去/etc/updatedb.conf看了看……只排除了/tmp、/var/tmp等几个文件夹,gentoo才装上没几天,没多少文件,arch的分区没自动挂载,看来问题应该是我的windows分区导致的,那个分区里有以前遗留的很多图片音乐之类的,非常多的零零碎碎的小文件,不知道是mlocate对ntfs支持不好,还是里面文件实在太多,总之把它排除了就是了,在PRUNEPATHS里添加个/media/windows,再updatedb,果然很快就完了

这个问题暂时没时间去解决,只能先这么凑合着,突然想起来windows上有个索引ntfs分区文件的小软件,叫everything,无论是生成数据库,更新数据库,还是查找数据都非常迅速,不知道mlocate将来能不能借鉴下,忘了那个软件是不是开源,要是开源的话,找个源码看看应该会受益匪浅。


3.lxr

最近准备毕业设计,有时候需要看看tcpdump,wireshark之类的软件的源代码,于是萌生了装个lxr的念头……

lxr需要lamp环境,不过此p非彼p,这个p指的是perl,emerge -av lxr,自动解决依赖,去上个厕所,回来编译完了……嗯,上厕所比较慢

打开/var/www/localhost/htdocs/lxr/lxr.conf一番配置,摘录修改过的部分如下:

# -*- mode: perl -*-# Configuration file#({               #据说glimpse的搜索效果比swish好,默认swish,换用glimpse'glimpsebin'   => '/usr/bin/glimpse','glimpseindex' => '/usr/bin/glimpseindex',               #'swishbin' => '/usr/bin/swish-e',               #设置各种文件的位置'ectagsbin' => '/usr/bin/exuberant-ctags','tmpdir' => '/tmp','genericconf' => '/usr/lib64/perl5/vendor_perl/5.12.4/LXR/Lang/generic.conf','ectagsconf' => '/usr/lib64/perl5/vendor_perl/5.12.4/LXR/Lang/generic.conf',},{'baseurl' => 'http://localhost/lxr',    # 本机用嘛,这样就成'baseurl_aliases' => [ 'http://localhost/lxr', 'http://mydomain/lxr' ],'virtroot'        => '/lxr',                'variables' => {'v' => {                'name' => 'Version','range' => [ readfile('/home/data/workspace/RTFSC/version') ],#这里改成想要放version文件的地方'default' => 'tcpdump-4.2.1' #默认版本……额,我是放了几个不同软件的源码,也可以用version控制不同软件,默认的是tcpdump},},'sourceroot' => '/home/data/workspace/RTFSC/', #源码位置'sourcerootname' => 'RTFSC',#名称'sourceparams' => {'cachepath' => '/home/data/workspcae/RTFSC/cache'}, #缓存位置# For using glimpse, the directory to store the .glimpse files in is required'glimpsedir' => '/home/data/workspace/RTFSC/glimpse', #索引位置'incprefix' => [ '/usr/include', '/usr/include/linux' ], #include头文件的位置

各位看官(如果有的话……)注意了,未列出的不是没用,而是没改,那些东西也很重要。


现在需要建立上面提到的所有文件夹,然后在RTFSC文件夹下放上需要的文件,比如我的:

[root@Gentoo RTFSC]# tree -L 1.├── fpb_2.0├── glimpse├── sendip-2.5├── tcpdump-4.2.1└── version
其中version文件保存项目名:
[root@Gentoo RTFSC]# cat version fpb_2.0sendip-2.5tcpdump-4.2.1

这样在源码目录生成一下索引lxr的配置就ok了:

[root@Gentoo RTFSC]# /var/www/localhost/htdocs/lxr/genxref --url=http://localhost/lxr --allversions

下一步配置apache,配置apache的时候遇到了一个很坑爹的问题:在gentoo上emerge lxr会自动安装apache2,但是在全局启用了threads这个use的时候不安装mod_perl,这就导致apache报500错误,修改/etc/portage/package.use,去掉这个use重新编译……太不低碳了

装完apache,现在开始配置:vim /etc/apache2/httpd.conf,添加这么一段:

Alias /lxr /var/www/localhost/htdocs/lxr<Directory /var/www/localhost/htdocs/lxr><Files ~ (find|search|source|ident|diff){1}gt;    SetHandler cgi-script    Options ExecCGI</Files></Directory> 
让这几个文件作为脚本执行。

这时候按理说配置全部完成了,鄙人满心欢喜满心期待的在小狐狸的地址栏敲上http://localhost/lxr/source……一个硕大的403蹦了出来!

gentoo把/var/www/localhost/htdocs/lxr这个文件夹的用户和组都给设成root了,坑爹啊……改成apache,我可爱的源码终于出来了: