杂记

关于linux上的locate

linux上的locate命令很好用。想找一个文件,比如想看看stdio.h文件在哪里,只需要locate一下就可以了。但是locate需要一个数据库。通常来说,这个数据库在电脑启动的时候会自动更新,所以直接使用就可以了。

但是,有的文件夹是不被数据库更新的,这样的话就不能用locate命令找到它们内部的文件。比如在我的电脑上,/home里面的所有东西实际上是网络硬盘。整个计算机学院有一个很大的NIS系统,用户名密码和home路径等等都在服务器上而不是本地。如果开机的时候对整个计算机学院的计算机系统进行文件数据库更新,显然是要很长的时间。在这种情况下,往往网络映射的磁盘是不被自动更新的。locate就只能搜索到本地磁盘的文件。

但是,很多EDA工具是在网络磁盘上的,如果有locate,我们就能够很快的找到一些小文件,比如关于某一个命令的帮助pdf等等。有一个办法我们可以手动更新一个专门的数据库。这样既可以保持开机时间短,又可以对特定的网络磁盘使用locate。

更新locate数据库的命令是updatedb。虽然在/usr/bin下面,但是我们需要用root权限执行,否则会出错。

updatedb会读取/etc/updatedb.conf中的信息,其中就会有屏蔽网络磁盘的设置,所以需要去看一下。另外,我们可以用-o属性生成一个数据库放在本地。比如所有的EDA工具放在了/home/edatools路径下,那么我们可以使用如下的命令专门为edatools建立一个数据库。

updatedb –prune-bind-mounts no -U /home/edatools -o edatools.db

其中,–prune-bind-mounts no就取代了updatedb.conf中的设置,将网络mount上的磁盘也纳入文件更新的范围。然后-U制定了只搜索/home/edatools中的文件,然后生成了一个edatools.db的本地数据库文件。

之后,比如我要在edatools中查找一个名称中含有dcug.pdf的文件,就可以使用locate

locate -d edatools.db dcug.pdf

就可以列出所有相关文件了。不过以后需要手动更新数据库。

 

游泳

哈哈,今天又去游泳了。感觉真的会了。能游400米了,而且换气的时候一点疲劳的感觉都没有。能停留换气的时间比较长,而且发现头埋下去居然已经自动落到了水面下面。在水面下面游的较快,等换气的时候,手拨一拨好像水自动又把我给顶到水面上,不用费力气了。

 

开会

下周去bristol开会一天,project meeting。Simulation model仍然有bug,不过大部分情况是对的,能出一些结果。唉,调试无极限呀!

Advertisements

好大的程序

今天在自己的电脑上跑了跑自己的仿真程序。
仅仅配置了一个4×4的网络加上每个link上有8个virtual channel。
以前在服务器上跑还不知道,自己的机器上跑,居然吃掉了2.6G的内存,看来服务器上的4G内存也支持不了多久了。
好大啊!我是不是要找点时间给它减减肥了。