List of LINUX troubleshooting commands/tools part # 1

by on November 18, 2004 · 12 comments· LAST UPDATED November 18, 2004


Generic troubleshooting tips

1) Use tail –f to watch log file in real time, advantage is simple you can spot error or warning message in real time.
tail –f /path/to/log/file
# tail –f /var/log/maillog

2) Use telnet command to see if you get response or not. Sometime you will also see some informative message:
telnet ip port

# telnet localhost 53
# telnet localhost 25

3) Make sure you can see PID of your service.
pidof service-name
cat /var/run/

# pidof sshd
# cat /var/run/

4) You need to make sure that your DNS server or third party DNS server (ISP) is accessible. This is an important step, as many network services depend upon DNS; especially sendmail/postfix or Squid etc for example. Run dig or nslookup. No timeout should occurred.

# dig
# nslookup
# more /etc/resolv.conf

5) For networking troubleshooting, make sure your ip address configuration is right, gateway, routine, hostname etc all configured. Here is list of tools on RedHat Linux to verify or modify information:

Hostname verification or setup tools

  • hostname : To get hostname of server.
  • hostname –s : To get FQDN hostname of server
  • more /etc/sysconfig/network : To setup hostname and networking can enabled or disabled.
  • dnsdomainname : List or setup domainname.
  • more /etc/hosts :Make sure at least localhost entry do exist.

Ethernet configuration tools

  • ifconfig : To see running network card information.
  • ifconfig eth0 up|down : To enable|disable network interface
  • service network reload|restart|stop|start : To reload (after changed made in ip config file)|restart|stop|start network interface with all properties.
  • route|netstat –rn : To print routing table
  • ping ip-address : To see if host is alive or dead
  • more /etc/modules.conf : To see your network card configuration alias for eth0 exists or not.
  • lsmod : To list loaded modules (read as drivers), here you need to see that eth0 module is loaded or not, if not loaded then use insmod to insert (load) driver.
  • dhclient : Dynamic Host Configuration Protocol Client, run this if your Ethernet card is not getting ip from DHCP box on startup; this command does by default shows useful information.

To see if service blocked because of access control

  • iptables –n –L : To list all iptable rules; useful to see if firewall blocks service or not.
  • service iptables stop|start : To start|stop iptables
  • more /etc/xinetd.conf


  • more /etc/xinetd.conf/SERVICENAME = To list configuration of xinetd server. Again useful to see if firewall xinetd based security blocks service or not (xinetd includes host-based and time-based access control)
  • more /etc/hosts.allow : To see list of hosts allowed to access service.
  • more /etc/hosts.deny : To see list of hosts NOT allowed to access service. NOTE first TCP wrappers (hosts.allow|hosts.deny) checked and then xinetd-based access control checked.
  • more /etc/path/to/application.conf : See your application configuration file for access control. For example smb.conf and many other applications/services got own access control list in application. You need to check that as well.

Read man pages of all above command for more details on syntax and usage.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 12 comments… read them below or add one }

1 karim June 21, 2007 at 1:12 pm

respected sir ,
i would like 2 know the steps of installing a firewall “centos 4.5″,mail server and the commands use to run it , i would be very greatful to hear from you
thank you in advance



2 nixCraft June 21, 2007 at 1:36 pm

Hello Karim,

Use our Linux tech support forum and post all your question, we have some good people on the forum and they will sort out your issues.


3 malik July 5, 2007 at 6:10 pm

I am suffering from the messages which refuse to be sent to some emails…

below you will find a sample of those messages, please advice and thanx in advance…

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
SMTP error from remote mail server after initial connection:
host []: 554 No reverse dns for IP Help at/Hilfe unter

—— This is a copy of the message, including all the headers. ——

Received: from afromap by with local (Exim 4.66)
(envelope-from )
id 1I6SxN-0001Ql-FC
for; Thu, 05 Jul 2007 18:09:21 +0300
Received: from ([])
(SquirrelMail authenticated user
by with HTTP;
Thu, 5 Jul 2007 18:09:21 +0300 (EAT)
Date: Thu, 5 Jul 2007 18:09:21 +0300 (EAT)
Subject: Re: Server
From: “Malik Youssef”
User-Agent: SquirrelMail/1.4.9a
MIME-Version: 1.0
Content-Type: text/plain;charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal


What should i do exactly step by step because i am not full professional in mailserver issues???


4 nixCraft July 5, 2007 at 6:18 pm

Create a reverse dns IP entry for your mail server hostname to get rid of this problem. If you need further assistance please use the our mail server forum.


5 jk May 1, 2009 at 1:28 pm

can you also solve my quries on rhel4? If yes, then how can i summit my qury.


6 nixCraft May 1, 2009 at 1:33 pm

Use our forums @


7 Ramachandra Rao Y September 13, 2009 at 7:21 am

Dear Sir,

Please send us Linux Basic Commands for write a small shell programs.


8 YRCRAO September 13, 2009 at 11:34 am

Dear Sir



9 naeem November 16, 2009 at 5:02 pm

update information via email thanks


10 ashish December 14, 2009 at 9:52 am

how to install hp laserjet p 1007 printer in linux 5.

i install properly but printer r show but when i give a print cmd there r no action.

plz help me.



11 Jorge Gomes February 26, 2013 at 5:37 pm

Thanks for this, was very helpfull, but there is a Part 2?



12 clyde May 9, 2013 at 9:42 am

When I ask the server to connect to wired network I am instructed yo “click the icon above” but there is no icon. What should I do


Leave a Comment

Previous post:

Next post: