About Me

- A little contribution to the linux newbies.

Monday, February 8, 2016

Converting .OVF to .OVA on linux

You will find lots of posts that talk about converting or extracting.OVA file to .OVF, which is simple to do.


$ tar -xvf file-name.ova


Converting the other way around is useful as well. ( make sure you have ovftool utility installed on your system )

$ ovftool file-name.ovf file-name.ova


And that's it.. The conversion process will take sometime and the files will be ready for deployment.



Monday, July 21, 2014

e1000e : The NVM Checksum Is Not Valid

[   19.934486] e1000e 0000:06:00.0: (unregistered net_device): The NVM Checksum Is Not Valid
[   20.042663] e1000e 0000:06:00.0: PCI INT A disabled
[   20.101079] e1000e: probe of 0000:06:00.0 failed with error -5



I ran into this issue and spent few hours looking for a solution.
the solution that I found ( the one that actually worked ) was through Intel's NIC tools.


1. download  Preboot.tar.gz
2. decpompress the file tar xvfz Preboot.tar.gz
3. cd APPS/BootUtil/
use appropriate bootutil binary "bootutil32" or "bootutil64e"
# cd Linux_x64/
# chmod 755  bootutil64e
# rmmod e1000e 
# ./bootutil64e -WOLD -ALL
# ./bootutil64e -WOLE -ALL
# modprobe e1000e

hope this might save some of your time looking for a working solution.

Thursday, August 11, 2011

Windows 7: format FAT32 Partition

1. run cmd.exe (in Administrative mode - use Ctrl+Shift+Enter)
2. format : /FS:FAT32

hope this little piece of information saves your time.

Monday, August 2, 2010

VMware ESXi 4.0 Headless (Unattended)Install

In order to achieve this you need to do some hacks and tricks with the vmware installer scripts

1. Modify the Installer-Steps

In order to achieve this you will need to modify the install.tgz file
--------------------------------------------------------------------------------------------------

- Extract ISO
- cd to the extracted directory

- mkdir tt
- cp install.tgz tt/
- cd tt/
- tar xvvf install.tgz

- $ ls
install.tgz sbin usr

- cd usr/lib/vmware/installer/
- chmod +w ThinESXInstall.py
- vi ThinESXInstall.py


modify following line (approx line 22 )

Steps = [ WelcomeStep, LicenseStep, TargetSelectionStep, ConfirmStep, \
WriteStep, PostConfigStep, CompleteStep, RebootStep ]
to

Steps = [ TargetSelectionStep, WriteStep, RebootStep ]

--------------------------------------------------------------------------------------------------

2. Automated the Disks Selection Step in the installer script

now go to ThinESX dircetory

- cd ThinESX/
- chmod +w ThinESXInstallSteps.py
- vi ThinESXInstallSteps.py


--- modify the target selection step (approx line 56)

copy paste the following lines in the Scripts :

--------------------------------------------------------------------------------------------------

def TargetSelectionStep(data):
"""TargetSelectionStep
This install step is responsible for presenting the user with the device
selection dialog and determining the target which is being installed to."""
targets = TargetEnumeration(NotPredicate(RACVirtualMediaFilter))

if len(targets) == 0:
raise NoValidDevicesException()

if len(targets) == 1 and targets[0].IsLocal():
data['Target'] = targets[0]
return data
else:
return LaunchDialog(DeviceSelectionDialog(targets, data))

--------------------------------------------------------------------------------------------------
- Save and Exit
- cd back to tt/ directory
- rm -rf install.tgz && tar -czvf install.tgz * && chmod 755 install.tgz

--------------------------------------------------------------------------------------------------
replace the existing install.tgz file to the modified one..

Your unattended installer is ready to go..

Wednesday, June 16, 2010

Script to display all duplicate line in a file once

this script will display all the duplicate lines only once

Example:

$cat file
I like oranges
I like apples
I like pears
I like apples
I like guavas
I like oranges
I like apples

$./test.pl file

I like apples
I like oranges




#!/usr/bin/perl
#
open(FILE,"$ARGV[0]");
my @contents = ;
my %dup;
foreach $line (@contents)
{
@keyz = keys %dup;
if(!(grep(/$line/, @keyz)) || $dup{$line})
{
$dup{$line}++;
if($dup{$line} > 1)
{
print $line;
$dup{$line} = 0;
}
}
}


Tuesday, June 15, 2010

Script to upload ssh key to skip password authentication



#!/bin/bash

## Script to auto upload ssh keys on the LINUX HOST

NO_ARGS=0
E_OPTERROR=65

if [ $# -eq "$NO_ARGS" ] # should check for no arguments
then
echo "Usage: `basename $0` -i "
exit $E_OPTERROR
fi

while getopts ":ih" Option

do
case $Option in

i)
remote_host_ipaddress="$2"
;;

h)
echo "Usage: `basename $0` -i "
exit $E_OPTERROR
;;
esac
done

shift $(($OPTIND - 1))

## This will generate ssh key on the remote host
echo "Generation ssh-keygen on remote linux host"
echo $remote_host_ipaddress

ssh root@$remote_host_ipaddress /usr/bin/ssh-keygen -t dsa

echo "uploading your ssh keys on remote linux host"
scp ~/.ssh/id_dsa.pub root@$remote_host_ipaddress:/root/.ssh/authorized_keys


Friday, October 9, 2009

Expect - Sample Scripts

Following scripts will "ssh" into the remote machine and will "execute the command" that you pass to be executed on the remote system.

#!/usr/bin/expect -f
# USAGE:
#----------------------------------------------------
# ./ssh-expect.exp 'command to be executed on remote machine'
#----------------------------------------------------
# set Variables
set password [lrange $argv 0 0]
set remote_ipaddr [lrange $argv 1 1]
set scriptname [lrange $argv 2 2]
set arg1 [lrange $argv 3 3]
set timeout -1
spawn ssh root@$remote_ipaddr $scriptname $arg1
match_max 100000
# Look for passwod prompt
expect "*?assword:*"
# Send password to the remote machine
send -- "$password\r"
send -- "\r"
#terminate the connection
expect eof