尝试完成包名称时,制表符完成挂起。例如dnf info fire[TAB]
。我怎样才能解决这个问题?
它通常适用于 bash,也适用于完成dnf
选项,但不适用于包名称。它似乎冻结了命令行,我必须按 Ctrl-C 两次才能恢复命令提示符。
制表符补全功能曾经在 Fedora 28 上运行,升级到 Fedora 29 后出现此问题。
我已经安装了完成所需的bash-completion
和软件包。sqlite
使用sudo strace -pXXXX -fro /tmp/strace.log
(其中 XXXX 是尝试 Tab 补全的 bash 终端的进程 ID)这里生成了 9MB 80k+ 行日志文件并附加了 55 个进程。在那里寻找什么提示的建议?
dnf
对包名称选项卡补全的观察
- 不适用于我的用户
- 适用于 root
dnf install
或之后不起作用dnf info
- 之后工作
dnf remove
(包括我的用户)
答案1
这里有一些解决方法https://bugzilla.redhat.com/show_bug.cgi?id=1625674。在某些时候也会有修复。
答案2
DNF补全是redhat开发制作的垃圾。
我这样做是为了清除垃圾:
sudo rm /usr/share/bash-completion/completions/dnf
注意:更新/升级 DNF 后您可能再次需要此命令
答案3
存储库中有数千个包。 TAB-包名扩展将要需要很长时间。要有耐心...或者不要这样做。