Posts

Setting up Synergy between Mac OS and Linux

September 2, 2010 - No comment

This post should be OK for any kind of client/server combination. That’s just that I only had a MacBook and a Linux netbook under my hands at the moment of writing this.

Quoting their homepage : “Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, without special hardware. All you need is a LAN connection. It’s intended for users with multiple computers, where each system uses its own display.”

They forget to mention clipboard along with mouse and keyboard sharing. But it’s not completely working for some reason. See below.

For the setup, either see here : http://synergy-foss.org/pm/projects/synergy/wiki/Setup

Or for the quick way :

On the Mac (Synergy server, right screen) :

Edit synergy.conf somewhere on the filesystem :

section: screens
   mac.intranet.example.com:
   linux.intranet.example.com:
end
section: links
   mac.intranet.example.com:
       left = linux.intranet.example.com
   linux.intranet.example.com:
       right = mac.intranet.example.com
end

Start the server :
synergys -f --config synergy.conf

Under Linux (Synergy client, left screen) :

synergyc -f mac.intranet.example.com

Done !

By the way, I was able to capture the clipboard from Linux to Mac but the contrary didn’t work for some reason.

Don’t forget : if you want to get rid of any keyboard or mouse on the client computer, make sure synergy starts at boot ;-)

Force SSH password authentication

August 31, 2010 - 2 comments

If for some reason you want to disable public key authentication temporarily when SSH’ing into a machine, type :

ssh -o PubkeyAuthentication=no user@machine

You should get the prompt for the password.

This goes without saying, but ChallengeResponseAuthentication (at least on Debian) must be set to yes on the server side for this to work.

Thanks to Philip for proof-reading this post :-)

Red Hat Cluster Suite monitoring with SNMP

August 26, 2010 - No comment

I’ll consider your cluster is already up and running.

Install cluster-snmp (available in Red Hat Cluster repository) :

yum install cluster-snmp

Let’s see what we have in there :

# rpm -ql cluster-snmp
/usr/lib/cluster-snmp
/usr/lib/cluster-snmp/libClusterMonitorSnmp.so
/usr/share/doc/cluster-snmp-0.12.1
/usr/share/doc/cluster-snmp-0.12.1/COPYING
/usr/share/doc/cluster-snmp-0.12.1/README
/usr/share/doc/cluster-snmp-0.12.1/README.snmpd
/usr/share/doc/cluster-snmp-0.12.1/REDHAT-CLUSTER-MIB
/usr/share/doc/cluster-snmp-0.12.1/REDHAT-MIB
/usr/share/snmp/mibs/REDHAT-CLUSTER-MIB
/usr/share/snmp/mibs/REDHAT-MIB

Now on every node of the cluster, edit /etc/snmp/snmpd.conf and add this :

At the very beginning of the file :
dlmod RedHatCluster /usr/lib/cluster-snmp/libClusterMonitorSnmp.so

If you run a 64 bits node :
dlmod RedHatCluster /usr/lib64/cluster-snmp/libClusterMonitorSnmp.so

After other view items :
view systemview included REDHAT-CLUSTER-MIB:RedHatCluster

Now reload SNMP and restart modclusterd :
service snmpd reload
service modclusterd restart

You should now be able to query your nodes with any LDAP client.

On a Linux client, copy the MIB’s from the RPM under ~/.snmp/mibs and then run :

$ snmpwalk -v 2c -c public node1.example.com REDHAT-CLUSTER-MIB::RedHatCluster
REDHAT-CLUSTER-MIB::rhcMIBVersion.0 = INTEGER: 1
REDHAT-CLUSTER-MIB::rhcClusterName.0 = STRING: "MailServerExample"
REDHAT-CLUSTER-MIB::rhcClusterStatusCode.0 = INTEGER: 1
REDHAT-CLUSTER-MIB::rhcClusterStatusDesc.0 = STRING: "All services and nodes functional"
REDHAT-CLUSTER-MIB::rhcClusterVotesNeededForQuorum.0 = INTEGER: 1
REDHAT-CLUSTER-MIB::rhcClusterVotes.0 = INTEGER: 2
REDHAT-CLUSTER-MIB::rhcClusterQuorate.0 = INTEGER: 1
REDHAT-CLUSTER-MIB::rhcClusterNodesNum.0 = INTEGER: 2
REDHAT-CLUSTER-MIB::rhcClusterNodesNames.0 = STRING: "node1.example.com, node2.example.com"
REDHAT-CLUSTER-MIB::rhcClusterAvailNodesNum.0 = INTEGER: 2
REDHAT-CLUSTER-MIB::rhcClusterAvailNodesNames.0 = STRING: "node1.example.com, node2.example.com"
REDHAT-CLUSTER-MIB::rhcClusterUnavailNodesNum.0 = INTEGER: 0
REDHAT-CLUSTER-MIB::rhcClusterUnavailNodesNames.0 = ""
REDHAT-CLUSTER-MIB::rhcClusterServicesNum.0 = INTEGER: 1
REDHAT-CLUSTER-MIB::rhcClusterServicesNames.0 = STRING: "MailServer"
REDHAT-CLUSTER-MIB::rhcClusterRunningServicesNum.0 = INTEGER: 1
REDHAT-CLUSTER-MIB::rhcClusterRunningServicesNames.0 = STRING: "MailServer"
REDHAT-CLUSTER-MIB::rhcClusterStoppedServicesNum.0 = INTEGER: 0
REDHAT-CLUSTER-MIB::rhcClusterStoppedServicesNames.0 = ""
REDHAT-CLUSTER-MIB::rhcClusterFailedServicesNum.0 = INTEGER: 0
REDHAT-CLUSTER-MIB::rhcClusterFailedServicesNames.0 = ""
REDHAT-CLUSTER-MIB::rhcNodeName."node1.example.com" = STRING: "node1.example.com"
REDHAT-CLUSTER-MIB::rhcNodeName."node2.example.com" = STRING: "node2.example.com"
REDHAT-CLUSTER-MIB::rhcNodeStatusCode."node1.example.com" = INTEGER: 0
REDHAT-CLUSTER-MIB::rhcNodeStatusCode."node2.example.com" = INTEGER: 0
REDHAT-CLUSTER-MIB::rhcNodeStatusDesc."node1.example.com" = STRING: "Participating in cluster"
REDHAT-CLUSTER-MIB::rhcNodeStatusDesc."node2.example.com" = STRING: "Participating in cluster"
REDHAT-CLUSTER-MIB::rhcNodeRunningServicesNum."node1.example.com" = INTEGER: 1
REDHAT-CLUSTER-MIB::rhcNodeRunningServicesNum."node2.example.com" = INTEGER: 0
REDHAT-CLUSTER-MIB::rhcNodeRunningServicesNames."node1.example.com" = STRING: "MailServer"
REDHAT-CLUSTER-MIB::rhcNodeRunningServicesNames."node2.example.com" = ""
REDHAT-CLUSTER-MIB::rhcServiceName."MailServer" = STRING: "MailServer"
REDHAT-CLUSTER-MIB::rhcServiceStatusCode."MailServer" = INTEGER: 0
REDHAT-CLUSTER-MIB::rhcServiceStatusDesc."MailServer" = STRING: "running"
REDHAT-CLUSTER-MIB::rhcServiceStartMode."MailServer" = STRING: "automatic"
REDHAT-CLUSTER-MIB::rhcServiceRunningOnNode."MailServer" = STRING: "node1.example.com"

You are now provided with very interesting information, like :
REDHAT-CLUSTER-MIB::rhcClusterStatusDesc
REDHAT-CLUSTER-MIB::rhcServiceRunningOnNode

Debugging Multicast

August 16, 2010 - No comment

On the “client” side :
iperf -u -c 239.192.95.98 -p 10000 -b 1 -i 5 -T 10 -t 120

-u : use UDP
-c : run in client mode
-p : port
-b : bandwidth in bits/sec
-i : interval in second
-T : TTL
-t : time to transmit in seconds

On the “server” side :
iperf -s -i 1 -u -B 239.192.95.98 -p 10000

-s : run in server mode
-B : bind to multicast address

Debian : purge packages marked with rc status

August 4, 2010 - 3 comments

Packages with rc status are not completely removed from the system, configuration files are still present.

If you have a bunch of rc packages you need to purge, as root, type :

dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge

Source : http://joysofprogramming.com/remove-packages-marked-rc/

Next Page »