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了

### 解决 WSL Ubuntu安装 GCC 时出现 `unable to locate package gcc` 的方法 当在 Windows Subsystem for Linux (WSL) 下的 Ubuntu 子系统中尝试安装 GCC 编译器却收到错误提示 `unable to locate package gcc`[^1],这通常意味着包管理系统的软件源配置存在问题。 #### 更新并修复 APT 软件源列表 如果默认的 APT 源失效或被移除,则可能导致无法找到所需的软件包。此时应考虑更新现有的 APT 源列表或将官方源更换为更稳定的第三方镜像站,比如阿里云提供的国内加速镜像站点[^3]: ```bash sudo sed -i 's@archive.ubuntu.com@mirrors.aliyun.com@g' /etc/apt/sources.list sudo sed -i 's@security.ubuntu.com@mirrors.aliyun.com@g' /etc/apt/sources.list ``` 上述命令会将所有的官方源替换为阿里云提供的镜像地址,从而提高下载速度以及解决问题的可能性。 #### 添加特定版本 PPA 并重新同步索引文件 对于某些特殊需求来说可能还需要指定某个具体版本号来完成安装操作,在这种情况下可以通过添加额外的 Personal Package Archives(PPA),然后再执行一次完整的更新流程以确保能够获取最新的可用资源[^2]: ```bash sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update ``` #### 清理缓存数据后再重试安装过程 有时旧有的残留记录也会影响新请求的成功率,因此建议先清理掉之前失败留下的痕迹再继续下一步骤: ```bash sudo apt clean all sudo rm -rf /var/lib/apt/lists/* sudo apt update && sudo apt install build-essential ``` 通过以上措施应当能有效处理因网络连接不稳定或是本地环境设置不当所引发的一系列问题,并成功实现在 WSL 环境中的 Ubuntu 发行版里部署 GCC 工具链的目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

code .

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

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

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

打赏作者

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

抵扣说明:

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

余额充值