sudo: command not found 的解决方法

sudo 是 Linux 系统管理指令,是允许系统管理员让普通用户执行一些或者全部的 root 命令的一个工具,如 halt,reboot,su 等等。这样不仅减少了 root 用户的登录和管理时间,同样也提高了安全性。sudo 不是对 shell 的一个代替,它是面向每个命令的。

在 Linux 系统中,使用 sudo 命令时如果提示 “command not found”,我们应该如何解决呢?

首先执行以下命令看一下 /etc/sudoers.d 文件是否存在,

find /etc/sudoers.d

1

1、如果返回 No such file or directory,就说明你的系统没有安装sudo,下面是安装命令 :

apt-get install sudo

1

如果提示 E: Unable to locate package sudo 的错误,先执行下面的命令:

apt-get update

1

再执行 sudo apt-get install 就可以了。

2、如果 /etc/sudoers.d 文件存在则说明系统已经安装了 sudo,只不过没有配置环境。

当你使用 sudo 去执行一个程序时,处于安全的考虑,这个程序将在一个新的、最小化的环境中执行,也就是说,诸如PATH这样的环境变量,在 sudo 命令下已经被重置成默认状态了。所以当一个刚初始化的 PATH 变量中不包含你所要运行的程序所在的目录,用 sudo 去执行,你就会得到 “command not found” 的错误提示。

要想改变 PATH 在 sudo 会话中的初始值,使用以下命令打开/etc/sudoers文件,

vi /etc/sudoers

1

找到"secure_path"一行,当你执行 sudo 命令时,"secure_path"中包含的路径将被当做默认 PATH 变量使用。

按 “i” 键就可以进入插入模式(Insert mode),添加所需要的路径(如 /usr/local/bin)到"secure_path"下,

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

编辑完成后,按 “ESC” 键切换为命令行模式,输入 “: wq” 保存并退出。

解决!!!

  • 10
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值