December 7, 2015

0 Counting number of users in a group - Linux

Here is a small command to find number of users in particular group on a *nix system. An example for wheel group:


grep wheel /etc/group | fgrep -o , | wc -m

Now here's a catch, this command actually counts the commas in the line from the group file. So if there are 5 users in the group, the output will be 4. You will have to add a 1 to the output.

So when using it in scripts, one can use it like this:


VAR1=$(($(grep wheel /etc/group | fgrep -o , | wc -m) + 1))
echo $VAR1
5

Explanation:

First grep will print only the group and its members. The members are seperated by a comma. Next we print the commas using -o option and later count them using wc command. The second example will just add a 1 to it.

Let me know if you have a better idea for the same!

January 12, 2015

3 SystemManager.ks corrupted NetApp

NetApp OnCommand System Manager Fails to load with following error message:

OnCommand System Manager is unable to load the credentials because the file SystemManager.ks is corrupted. For more information, see the following section in the Release Notes: Unable to Launch System Manager.

Rename the following file and restart the OnCommand System Manager:

C:\Users\<UserName>\NetApp\SystemManager\SystemManager.ks

to

C:\Users\<UserName>\NetApp\SystemManager\SystemManager.ks.old

Done!

September 5, 2014

0 Kickstart and Hostnames

The basic purpose to use kickstarts is to install numerous systems at a time with given para.
Configuring each system post install is tedious.
I found a workaround (that worked for me on Oracle Linux 6 and RHEL 6 and should most probably work for similar distros) to automate this task post install as well. If you know better solution, drop a comment below.

In the %post% section,

Add this:

 exec < /dev/tty6 > /dev/tty6 2> /dev/tty6  
 chvt 6  

This will switch to the 6th TTY and will drop into interactive shell. This allows installer to ask for information.

Let's try to ask for information:

 echo -n "Enter Hostname: "  
 read HOSTNAME1  
 echo -n "Enter IP Address: "  
 read IPADDR  
 echo -n "Enter Netmask: "  
 read NETMASK  
 echo -n "Enter Gateway: "  
 read GATEWAY  

Now that we have information, we can use the inbuilt cmd to configure the interface. I assumed first interface as eth0 (which it is in most cases. If you are not sure, you might want to add this to automation to detect what interface you have).


  echo -n "Applying network settings..."  
 echo "DeviceList.Ethernet.eth0.BootProto=static  
 DeviceList.Ethernet.eth0.IP=$IPADDR  
 DeviceList.Ethernet.eth0.Netmask=$NETMASK  
 DeviceList.Ethernet.eth0.Gateway=$GATEWAY  
 ProfileList.default.DNS.Hostname=$HOSTNAME1.domain.com  
 ProfileList.default.DNS.Domainname=domain.com" > /tmp/network-config  
 system-config-network-cmd -i -f /tmp/network-config &> /dev/null  
 service network restart &> /dev/null 

The system-config-network-cmd helps us import /tmp/network-config file.

Restarting network service later loads the new configuration.

To drop out of the TTY 6 and resume back to anaconda use chvt trick again:


 chvt 1  
 exec < /dev/tty1 > /dev/tty1 2> /dev/tty1  

Credits for chvt trick: Hintshop blog.

 

Kaustubh Ghanekar Copyright © 2011 - |- Template created by O Pregador - |- Powered by Blogger Templates