linux中"dig: command not found"问题解决办法

今天老蒋有在调试Dnsmasq创建本地DNS服务器的时候有需要用到dig命令测试效果,但是默认Linux系统中好像没有安装dig支持组件。于是有错误提示"-bash: dig: command not found"。

快速解决"dig: command not found"问题

主要问题是默认系统中缺少bind-utils工具包导致的,我们直接yum安装看看呗。

yum -y install bind-utils

这样,我们在安装工具包之后,再去dig命令就没有任何问题。

command not found各种情况解决方案

问题一

如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,悍然提示:bash:command not found。那么

首先就要考虑root 的$PATH里是否已经包含了这些环境变量。

主要是这四个:/bin ,/usr/bin,/sbin,/usr/sbin。

四个主要存放的东东:

./bin:

bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。

/usr/bin:
主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。

/sbin:
主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。

/usr/sbin:
放置一些网路管理的必备程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。

可以在家目录下查看.bash_profile里的PATH。如果是:PATH=$PATH:$HOME/bin则需要添加成如下:

PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin

问题二:
问题是在root权限下无法使用shutdown -h now ,提示command not found !!

这是基础命令 , 原以为是对方没有root权限.不过之后他截图给我看了下发现的确是#   , 而且命令也没有语法错误 , 有点莫名其妙的感觉................

后来一直在找解决的方法和问题所在! 最终还是给我找到了...答案如下::
-------------------------------------------------------------------------------------

使用linux过程中,发现一个问题,当我使用su命令成为超级用户的时候,使用管理系统的一些命令,例如shutdown时,会给我一个"bash:shutdown:command not found".根据解决问题的一般思路:

首先这个命令是一定存在的,现在找不到,估计是寻找的路径不对,我首先查看了一下,shutdown的命令位置:/sbin/shutdown,然后是超级用户的搜索路径:(可以通过环境变量得到)

env:

PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/xishan/bin

切换到root用户后,我看了下root用户的环境变量:

PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/ bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

对比很明显,su的超级用户的环境变量差别很大,怎么才能得到root的环境变量呢?

是不是su有其他用法,man su ,看了,果然,

su [OPTION] ...[-] [USER [ARG]...]

-,-l, --login

   make the shell a login shell

应该是su - root / su -l   /su --login 才能作为root用户登陆

问题得到解决了。
但是我以前用过NETBSD系统,使用su命令的时候,也可以使用shutdown的,而不用其他命令,这两个系统内核都差不多,应该可以通过修改环境变量达到目的吧?

vi ~/.bashrc

增加了一条 export PATH=$PATH:/sbin

重新启动之后,通过su命令,进入到超级用户,然后察看了一下环境变量,

PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/xishan/bin:/sbin

增加成功,然后测试了一下:shutdown ,OK,下次直接使用su即可了。

时间: 2024-10-22 04:42:51

linux中"dig: command not found"问题解决办法的相关文章

linux中Firefox浏览器flash 崩溃问题解决办法

这一篇介绍一种 Linux 系统下 flash 崩溃的解决办法. 环境如下: 操作系统:openSUSE 13.2 32 位 浏览器:Firefox 34 版本 状况:凡使用 flash 的页面均出现 Adobe Flash 插件已崩溃. 尝试 Chrome 浏览器,同样存在问题: Shockwave Flash has crashed. 排查步骤如下: 打开 Firefox 附加组件页面,检查 flash 相关插件的安装情况,如下图: 我们能看到两个版本的 flash 插件: Shockwav

linux中ssh登录很慢问题解决办法

使用ssh客户端(如:putty)连接Linux服务器,可能会等待10-30秒才有提示输入密码.严重影响工作效率.登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因: 1. DNS反向解析问题 OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法.如果客户机的IP没有域名,或者DNS服务器很慢或不通,那么登录就会很花时间. 解决办法: 在目标服务器上修改sshd服务器端配置,并重启sshd vi /e

linux中 Nginx 常见502错误问题解决办法

常见的Nginx 502 Bad Gateway解决办法如下: Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少. 针对这种情况的502错误,只需增加php-cgi的进程数.具体就是修改/usr/local/php/etc/php-fpm.conf 文件,将其中的max_children值适当增加.这个数据要依据你的VPS或独立服务器的配置进行设置.一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多. /usr/local/php/sbin/php-f

linux中安装PycURL出现的问题解决办法

使用pip安装PycURL时发现如下报错: src/pycurl.h:152:5: warning: #warning "libcurl was compiled with SSL support.... 但是系统中已经安装libcurl及libcrul-devel,最后google到了原因,是因为CentOS源中libcurl的版本过低,需要自行编译安装最新版本的curl: wget http://curl.haxx.se/download/curl-7.39.0.tar.gz tar xf

linux中ssh密钥登录失败问题解决办法

搞一个ssh的密钥登录,结果发现就是无法使用密钥登录,非让我输入密码.苦恼. 输入ssh连接代码 ssh -i private.key -v user@host.com -p22 从连接的信息中看不出有什么问题. debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password debug1: Next authentication method: publickey debug1

linux中root无法启动php-fpm问题解决办法

centos 6.5 64位的机器,用yum装的php-fpm,因为特殊原因需要用root账号启动php-fpm,但是发现,启动不了. 1,修改user和group # vim /etc/php-fpm.d/www.conf     ; RPM: apache Choosed to be able to access some dir as httpd  user = root        //改为root  ; RPM: Keep a group allowed to write in lo

linux中Neo4j Server启动失败问题解决办法

最近需要用到Neo4j做个小试验,看似顺利安装却在启动server的时候报错.最终发现问题是JDK1.7安装时,少修改了一个symlink. 我的安装步骤如下: 从Oracle下载了JDK1.7,在~/.bashrc里修改了JAVA_HOME变量.  代码如下 复制代码 export JAVA_HOME=/usr/libexec/java_home -v 1.7 检查了一下当前jdk版本.  代码如下 复制代码 > source ~/.bashrc > java -version java v

linux vps报错"easy_install command not found"问题解决办法

今天老蒋有在给公司的一台服务器环境下部署某个软件过程中有出现"easy_install command not found. please check it and try again."错误提示问题.这样的问题之前好像记得也有遇到过,当时没有当回事,好像那时候换了一个Linux发行版就解决问题.原因应该是默认的一些发行版本中没有安装easy_install导致的编译错误.   第一.错误提示     第二.解决问题    代码如下 复制代码 wget https://bootstra

Dreamweaver中光标定位不准确问题解决办法

  我以前碰到在Dreamweaver中光标定位不准的问题是在uft-8编码下,但是今天在Dreamweaver CC 设计模式也同样出现此问题了,下面我就整理了一些解决办法,下面我们一起来看看吧. UTF-8页面,Dreamweaver CC 设计模式 光标定位不准确,显示效果如下: 个人认为这里因为Dreamweaver对中文支持不好引起的问题, 我们知道当在utf8编码下, 中文是占两个字符的位置的. 可能DW没有考虑到这个, 把所有的文字做统一长度来处理, 也把中文也当作是一个字符位.