执行searchsploit -u更新失败,求助解决Git相关报错
解决searchsploit -u更新报错问题
报错原因
- exploit-database仓库的默认分支已从
master切换为main,但searchsploit脚本仍在尝试拉取master分支,导致fatal: couldn't find remote ref master错误。 - 权限不足:无论是通过包管理器还是手动克隆,exploitdb目录默认归root所有,普通用户执行更新时无法写入
.git目录下的文件,触发Permission denied错误。
分步解决方案
场景1:通过pacman安装的exploitdb
- 先确认exploitdb的git目录路径,通常是
/usr/share/exploitdb,不确定的话执行:
whereis exploitdb
- 进入该目录并修正跟踪分支:
cd /usr/share/exploitdb sudo git branch -m master main sudo git fetch origin sudo git branch -u origin/main main
- 用sudo权限执行更新:
sudo searchsploit -u
场景2:手动克隆到/opt/exploit-database的版本
- 进入克隆目录:
cd /opt/exploit-database
- 修正分支跟踪:
sudo git branch -m master main sudo git fetch origin sudo git branch -u origin/main main
- 带sudo执行更新:
sudo searchsploit -u
关键说明
git config --global init.defaultBranch main只对新创建的git仓库生效,无法修改已存在仓库的跟踪分支,所以之前执行这个命令没用。- 必须使用
sudo执行searchsploit -u,否则会因权限不足无法写入仓库文件。
内容的提问来源于stack exchange,提问作者Chilli Dev
相关产品推荐
相关产品推荐

