sudo: dnf:找不到下令

打印 上一主题 下一主题

主题 1745|帖子 1745|积分 5235

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
当你遇到 "sudo: dnf: 找不到下令" 的错误时,通常是由于在使用 sudo 下令时,系统没有在 PATH 环境变量中找到 dnf 下令。这是由于在使用 sudo 时,系统的 PATH 变量会被重置为一个安全的默认值,如允许以防止非预期地执行某些下令。
以下是几种办理方法:
1. 修改 /etc/sudoers 文件
你可以修改 /etc/sudoers 文件,在此中添加一个额外的 PATH 条目来包含 dnf 的位置。你必要非常小心地编辑这个文件,由于它控制着 sudo 的权限。
1. 使用 visudo 编辑 /etc/sudoers 文件,这将使用文本编辑器(通常是 vi 或 vim)来编辑文件,并且会检查文件的语法:
sudo visudo
2. 在文件末尾添加以下行,确保 PATH 包含 /usr/bin 和 /usr/sbin(这些路径通常包含 dnf):
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
3. 保存并关闭文件。如果是使用 vi 或 vim,可以按 Esc 键,然后输入 :wq 并回车来保存并退出。
2. 创建符号链接
另一种方法是在 secure_path 默认包含的一个目录中创建 dnf 的符号链接。通常 /usr/bin 被包含在内,所以你可以在 /usr/bin 中创建 dnf 的符号链接。
1. 查找 dnf 的实际位置:
whereis dnf
2. 创建符号链接:
sudo ln -s /usr/libexec/dnf/dnf /usr/bin/dnf
留意,/usr/libexec/dnf/dnf 是一个假设的位置,你必要根据第一步的效果来调解路径。
3. 使用完全限定路径
你也可以直接使用 dnf 的完整路径来执行下令,比方:
sudo /usr/libexec/dnf/dnf install package-name
再次提醒,你必要更换 /usr/libexec/dnf/dnf 为你找到的实际路径。
4. 临时修改 PATH
你也可以临时修改当前用户的 PATH 环境变量,使其包含 dnf 的路径:
export PATH=$PATH:/usr/libexec/dnf
sudo dnf install package-name
这种方法仅实用于当前终端会话,一旦会话结束,环境变量就会规复原状。
5. 检查 dnf 的安装
确保 dnf 已经安装并且在精确的路径下。你可以使用以下下令来检查:
which dnf
如果没有安装 dnf,你可以使用包管理器安装它。比方,在 Fedora 或 CentOS 上,你可以使用 dnf 自身来安装:
sudo yum install dnf
或者在 Debian 或 Ubuntu 上使用 apt:
sudo apt install dnf
选择此中一个方法来办理问题。如果问题仍然存在,请提供更多详细信息以便进一步诊断。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

千千梦丶琪

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表