LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 779|回复: 4

opensuse11中使用locate

[复制链接]
发表于 2008-12-1 15:50:30 | 显示全部楼层 |阅读模式
写在前面:linux确实在易操作性上来说和windows区别不是一点两点,但是既然是好东西我们就要学习,慢慢的进步,刚接触linux的时候,我总是在安装一个软件后找不到应该在哪里才能打开它,于是查找文件就是一个很重要的问题了,哈哈,无奈,习惯了windows,连查找一个文件也不知道应该如何下手,痛苦的人生……
改变它吧,于是我开始学习find,locate这些基本的查找命令,不太喜欢find,感觉它的速度实在是太慢,如果你也和我一样,就来用locate吧(哈哈,貌似我有点像打广告的呢-.-)
用了很多的发行版,现在用了opensuse11,其实都很优秀,只是我很菜,于是opensuse11的YaST对我这样一个熟悉了windows的人来说,至少不会那么累,不过还是有一点埋怨的,opensuse和其它的linux发行版,很多软件的配置完全的不一样,这也造成了我在使用locate时候一个很麻烦的问题,默认它是没有安装这个包的,网上搜索的大把关于locate的资料不太对口,里面讲的配置文件什么之类的,在opensuse中,我连找也找不到,呵呵,那也就无法locate(使用locate就是为了查找文件,现在连locate都不能使用,那又如何能查找到文件呢?不过我承认,我确实是很笨-.-)

------------------------------------------------------------------------------------------------------------------------------------------

我配置locate的经过:留在这里,作个记号,忘记的时候,在来看看-.-

1.安装包findutils-locate,否则是不能使用locate的哦。
2.安装后,配置文件在/etc/sysconfig/locate,也可以通过YaST2修改(推荐):系统→/etc/sysconfig编辑器→Applications→Locate
RUN_UPDATEDB:是否使用cron.daily启用update,当然是yes了(yes后将使用/etc/cron.daily/suse.de-updatedb来进行数据索引,我没有选用过NO,所以NO后的结果不是很明白,不过估计会把我搞晕,这一点后面来说明)
UPDATEDB_NETPATHS:你特别额外想要加入索引的目录,这里自己根据需要填写了,默认为空(对于我而言已经足够)
UPDATE_PRUNEPATHS:你不想加入索引的目录(比如我们挂载的windows分区,我觉得是没有必要的,不过默认值就很好了:/mnt /cdrom /tmp /usr/tmp /var/tmp /var/spool /proc /media /sys)
其余参数略过,我想要的是实用,一些过于生僻的,就不说了。
在我们安装好findutils-locate这个包后,locate命令就可以使用了,偿试搜索一下文件,比如我刚安装了linuxqq,想看一下它安装在了哪里,或者说哪里有包含qq关键字的文件(当然rpm -ql可能更好,这只是一个例子):
#locate qq
#             //哈哈,返回是空,没有?怎么会呢?那是因为我们还没有索引数据库
对于很多的发行版,在这个时候只要root使用updatedb后,在来locate qq,应该就能找到一大堆的目录了,但是opensuse确有一点不一样,上面我们加入了过滤条件在UPDATE_PRUNEPATHS中,也就是说在/mnt /cdrom /tmp /usr/tmp /var/tmp /var/spool /proc /media /sys这几个目录中的文件我们不准备加入到索引,但是root执行updatedb后,执行locate qq,它将也会在上面我们过滤掉的文件目录中去查找,这也就说明我们在上面设置的参数通通不起作用了,汗……所以这里的设置有一些特别,注意看第一项:RUN_UPDATEDB:是否使用cron.daily启用update,关键就在这里我们进行数据索引的时候,不能直接以updatedb进行,而应该执行/etc/cron.daily/suse.de-updatedb以启动索引,这样我们的设置条件就会生效啦,现时你会发现索引的速度快了很多(这是当然,我们那么多文件目录不索引,自然就快啦)
updatedb生成的数据文件在/var/lib/locatedb,文件结构发生变化的时候(比如新建文件后),请用root重新执行/etc/cron.daily/suse.de-updatedb以重建索引(否则新建的文件找不到哦,这也locate工作原理,不要嫌麻烦,世上没有麻烦就没有方便了)。

哈哈是不是每次执行都得输入那么多,麻烦吧,郁闷来个软链接吧:ln -s /etc/cron.daily/suse.de-updatedb /usr/local/bin/updb(嘿嘿,你自己随便来了,updb你可能不会喜欢的)。好了,文档结构在发生变化的时候,执行updb就可以了

总结一下:
安装包:findutils-locate
建立软链接:ln -s /etc/cron.daily/suse.de-updatedb /usr/local/bin/updb
建立索引:updb
查找你想要查找的文件吧:locate *

检讨:简单的几句话就搞定的东西,写了一大堆,看得你很烦了吧-.-
请原谅,我确实很菜,于是详细一点,记得住,搞得懂。
发表于 2008-12-1 19:32:19 | 显示全部楼层
非常感谢楼主的这篇文章。从中我又多了解了一些知识。

这下用 locate 也方便多了,谢谢:)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-1 20:35:13 | 显示全部楼层
opensuse可能是国内用的人不多,文档资料很少很少,很多问题都得大家自己去摸索,但是不可否认的,它确实是非常易用的发行版,大家都分享一下心得,彼此帮助,相互进步-_-
回复 支持 反对

使用道具 举报

发表于 2008-12-1 21:22:02 | 显示全部楼层
确是如此。难怪一些配置和其他发行版都不太一样。

比如以前用 fedora 时看到的是GRUB 配置文件是 grub.conf;而在 SUSE 中似乎是变成了 menu.lst 了

还有很多的一些不同。

希望兄弟以后多发一些文章,我们都是很喜欢的:)
回复 支持 反对

使用道具 举报

发表于 2008-12-2 16:58:41 | 显示全部楼层
确实是这样的,opensuse的学习资料比较的少,大家互相帮助互相学习。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表