wsl里面安装使用locate

WSL:WSL(Windows Subsystem for Linux)是微软在Windows 10及更高版本中引入的一个功能,它允许用户在不需要传统虚拟机或双系统的情况下,直接在Windows上运行Linux二进制可执行文件(ELF格式)。WSL提供了一个兼容层,使得Linux应用能够在Windows内核上运行,同时提供了一套Linux环境,包括常见的Linux命令行工具、应用程序和服务。
在wsl里面安装ubuntu后,宿主机的硬盘会被挂载到/mnt里面

locate:在Ubuntu系统中,locate命令是一个非常快速且高效的工具,用于查找文件或目录。它使用一个预先构建的数据库(通常由updatedb命令创建)来查找文件或目录,因此查找速度非常快。

但是安装完locate后,使用时提示:/var/lib/plocate/plocate.db: No such file or director
就是没有文件数据库。使用sudo updatedb.plocate更新数据库时,遇到说:
Private: Too many open files
Hint: Try `ulimit -n 262144’ or similar (current limit is 131072).
经分析应该是他去扫描宿主windows的文件目录了,所以需要排除掉/mnt里面的宿主机目录。
这需要设置:
/etc/updatedb.conf
但这个文件是只读的,这时候可以切换到root用户(虽然很多大牛都看不起用root 用户的人)
用:sudo -i
然后用vim修改/etc/updatedb.conf:

PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/mnt /tmp /var/spool /media /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS afs autofs binfmt_misc ceph cgroup cgroup2 cifs coda configfs curlftpfs debugfs devfs devpts devtmpfs ecryptfs ftpfs fuse.ceph fuse.cryfs fuse.encfs fuse.glusterfs fuse.gvfsd-fuse fuse.mfs fuse.rclone fuse.rozofs fuse.sshfs fusectl fusesmb hugetlbfs iso9660 lustre lustre_lite mfs mqueue ncpfs nfs nfs4 ocfs ocfs2 proc pstore rpc_pipefs securityfs shfs smbfs sysfs tmpfs tracefs udev udf usbfs"

在PRUNEPATHS前面增加/mnt

然后更新数据库:sudo updatedb.plocate
很快就成功了(系统刚装,文件不多)
后面就可以愉快的使用locate了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值