Consider the following scenario:
Your (l)users can't connect to the mail server! What's wrong! They're spamming you for help and the pressure is on dude. In this particular scenario (which is real, and happened this morning in fact) the problem is quite simple, it's that the Ethernet cable has somehow died overnight and needs replacing. You could tell this easily if you checked for a link light or whatever on the switch, but lets pretend you can't see that right now, and besides, Ethernet cables don't often just 'stop working' for no reason.. so, the troubleshooting needs to be done on the server:
1. Troubleshooting this under Windows
There's quite a few ways you'd find the solution under windows. If you did an ipconfig it'd tell you see pretty quickly the 'Media Disconnected' message displaying, if you didn't know ipconfig you might even see the Network icon with a big fucking cross on it sitting in the tasktray depending on your config. So from one of those 2 places, you'd probably get the idea pretty quickly and start screwing about with cables. You could throw a few pings and tracert's in there, but really unless you were hungover or stupid or something you'd nail it with ipconfig.
2. Troubleshooting this under Linux
The distro in question here is Red Hat, but really, who gives a fuck they're all the same (oooh I can hear a thousand slashdotters crying out in pain, and then suddenly silenced as they realised no one cares). After a quick reboot and a couple of ifconfig's I decided that the nasty as hell ipchains error message could only be bad. I know enough about ipchains to not want to touch it and the error was rather obscure and sounded like a b0rked config.
So I called in a Linux guru, who set about troubleshooting, and eventually coming to the right conclusion. Note that the Linux guru is quite switched on, I've worked with him a lot and he's by far the best Linux fella I've met so far, so the following is by no means meant to lay aspersions on his technical ability. Anyway, after 30 mins or so he found the problem - here's a dump of the .bash_history showing his exact steps before deciding the thing wasn't connected, replacing the cable, and restarting the adapter:
[ BEGIN LOADS OF STUPID COMMANDS ]
ifconfig
dmesg
cd /etc/sysconfig/
ls
dc network-scripts/
ls
pwd
cd network-scripts/
ls
lspci
ifconfig
ifconfig |grep 99.30
ping 192.168.99.255
ping -b 192.168.99.255
tail /var/log/messages
cd /var/log
ls -altr
df -h
dig www.xtra.co.nz
cat /etc/resolv.conf
ping 192.168.10.11
lsmod
/etc/init.d/ipchain stop
/etc/init.d/ipchains stop
lsmod
ping 192.168.10.11
/etc/init.d/ipchains start
lsmod
ping 192.168.10.11
cd /var/log/
ls -altr
c ..
cd ..
ls -al
cat /etc/host
cat /etc/hosts
grep log /etc/hosts
ifconfig
ifconfig -a
ping 192.168.10.11
ping 192.168.9930
ping 192.168.99.30
cd /etc/init.d/
ls -altr
cat ipchains
grep CONFIG ipchains
cd /etc/sysconfig/
ls
cat ipchains
vi ipchains
grep -i notes ipchains
grep -i notes ipchains
ps -ef
telnet akl1nt1 1352
ping akl1nt1
grep akl1nt1 /etc/hosts
telnet 192.168.10.11 1352
netstat -rn
cd network-scripts/
ls
cat ifcfg-eth0
grep -i gate *
cd ..
ls
cat network
netstat -rn
ping 192.168.99.254
cd -
cat network
cat ifcfg-eth0
./ifdown eth0
icon
ifconfig
ifconfig -a
./ifup eth0
ifon
ifconfig
ping 192.168.99.254
cd /proc/
ls
find .|grep route
find .|grep router
cd netstat -rn
netstat -rn
cd -
./ifdown eth0
netstat -rn
cat ifcfg-eth0
ifconfig eth0 192.168.99.17 broadcast 192.168.99.255 netmask 255.255.255.0
ifconfig
netstat -rn
route add default gw 192.168.99.254
netstat -rn
ping 192.168.99.254
/etc/init.d/ipchains stop
ping 192.168.99.254
netstat -rn
ping 192.168.99.255
ping -b 192.168.99.255
lsmod
ps -ef|grep chain
ps -ef|grep ip
w
netstat -rn
w
last|more
dmesg |more
lsmod
ping -b 192.168.99.255
ping -b 192.168.99.254
pwd
./ifdown eth0
./ifup eth0
ifconfig
ping -b 192.168.99.254
dig www.xtra.co.nz
lsmod
[ END FUCKLOADS OF COMMANDS ]
Uhmmm, dude! I know which server I'd rather troubleshoot! What the hell is so hard about updating ifconfig so it can detect when the damned cable is disconnected?! The above list of commands would be quite excusable for some dude who dabbles with Linux, but when it takes a professional this long (and that's about an average amount of commands for anything I've ever asked a Linux expert to do, right after they assure me 'thats a simple change') to squeeze the fact that a cable is disconnected out of the OS, I think something is wrong.
So to re-iterate: DEAR LINUX, I HAVE 2 WORDS FOR YOU!
(..and now if I want to upgrade to the next version of Domino I need to PAY $2000 to get the latest version of 'Enterprise Linux' so the damn thing isn't even free anymore!)
Thom if you're reading this, dude you rock and I'm not trying to be cunty about your skills, I just find it amazing that something which is so simple to communicate under Windows can be such a fucking headache somewhere else...