Pages

Tuesday, September 18, 2012

Setting up a PXE BOOT server @RHEL,FEDORA

#This is a configuration script for making a pxe boot server for rhel
#Packages needed are
#1.sylinux
#2.any server to share rhel cd/dvd source and kickstarts ---here ve use httpd
#3.kickstart
#4.tftp-server
#5.xinet
#6.dhcp






#---------------------------------------------------------------
#configuring syslinux
yum install -y syslinux

#--------------------------------------------------------------
#configuring the httpd
yum install -y httpd
service httpd restart
chkconfig httpd on
#mount the rhel iso to /var/www/html/RHEL

#---------------------------------------------------------------
#creating the correct kickstart file in the httpd server
echo "
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url=\"http://192.168.122.1/RHEL\"
repo --name=\"Red Hat Enterprise Linux\" --baseurl=http://192.168.122.1/RHEL --cost=100

# Root password
rootpw --iscrypted $1$kUpEHfw2$tJfHCPSVuVvMn7NwcwzJG/
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Kolkata
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --append=\"crashkernel=auto rhgb quiet\" --location=mbr --driveorder=\"sda\"
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype=\"ext4\" --size=200
part pv.01 --grow --size=1
volgroup myclient --pesize=4096 pv.01
logvol / --fstype=\"ext4\" --vgname=myclient --size=50240 --name=redhat

%post --interpreter=/bin/bash
sed -ie 's/id:3:initdefault:/id:5:initdefault:/g' /etc/inittab
touch /usr/bin/install-client < "
virt-install -n client -r 1500  --disk path=/var/lib/libvirt/images/client,size=12  --pxe --os-type=linux"
install-client
%end

repo --name=\"Red Hat Enterprise Linux\" --baseurl=http://192.168.122.1/RHEL --cost=100
%packages
@base
@client-mgmt-tools
@console-internet
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
@hardware-monitoring
@input-methods
@java-platform
@kde-desktop
@large-systems
@legacy-x
@network-file-system-client
@performance
@perl-runtime
@remote-desktop-clients
@server-platform
@server-policy
@virtualization
@virtualization-client
@virtualization-platform
@virtualization-tools
@x11
mtools
pax
python-dmidecode
oddjob
squashfs-tools
sgpio
genisoimage
wodim
sabayon-apply
xguest
tigervnc-server
oprofile-gui
abrt-gui
xrestop
systemtap-grapher
bltk
qt-mysql
qt3-ODBC
qt-odbc
qt-postgresql
qt3-PostgreSQL
qt3-MySQL
certmonger
pam_krb5
krb5-workstation
cjkuni-fonts-ghostscript
bitmap-fixed-fonts
bitmap-lucida-typewriter-fonts
krb5-auth-dialog
gnome-pilot-conduits
gconf-editor
dvgrab
alacarte
seahorse-plugins
rhythmbox-upnp
gnome-games
gedit-plugins
gnome-pilot
totem-upnp
vim-X11
sabayon
system-config-lvm
audit-viewer
setroubleshoot
firstaidkit-gui
system-config-kickstart
policycoreutils-gui
kdebase-workspace-akonadi
kdebase-workspace-python-applet
xorg-x11-twm
openmotif
xorg-x11-fonts-ISO8859-1-75dpi
xterm
xorg-x11-fonts-cyrillic
xorg-x11-xdm
xorg-x11-fonts-ISO8859-9-100dpi
xorg-x11-fonts-ISO8859-14-100dpi
xorg-x11-fonts-75dpi
xorg-x11-fonts-ISO8859-9-75dpi
libXmu
xorg-x11-fonts-ISO8859-15-75dpi
libXp
openmotif22
xorg-x11-fonts-ISO8859-14-75dpi
xorg-x11-fonts-ISO8859-2-75dpi
xorg-x11-fonts-ethiopic
xorg-x11-fonts-ISO8859-2-100dpi
perl-DBD-SQLite
spice-xpi
tsclient
rdesktop
vinagre
tigervnc
spice-client
qemu-kvm-tools
fence-virtd-serial
fence-virtd-multicast
libvirt-java
libvirt-cim
fence-virtd-libvirt
perl-Sys-Virt
libvirt-qpid
libguestfs-java
virt-v2v
libguestfs-tools
libguestfs-mount
wacomcpl

%end"> /var/www/html/pxe.cfg
#------------------------------------------------------------------------------

#configure the tftp server
yum install -y tftp-server

#copying the needed file file pxelinux.0 from syslinux to /var/lib/tftpboot
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

#making a directory pxelinux.cfg to store the default menu
mkdir -p /var/lib/tftpboot/pxelinux.cfg

#making the default file with kernal to load and correct shared kickstart file
touch /var/lib/tftpboot/pxelinux.cfg/default
echo "
default menu.c32
menu title BOOT MENU

label redhat
kernel rhel/vmlinuz
append  initrd=rhel/initrd.img ks=http://192.168.122.1/pxe.cfg

" > /var/lib/tftpboot/pxelinux.cfg/default


vim /var/lib/tftpboot/pxelinux.cfg/default
#copying menu.c32 into /var/lib/tftpboot/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/

#copiying splash image for boot menu

cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/
#---------------------------------------------------------------------------
#configure xinet files

yum install -y xinetd

#change the disabled paremeter form yes to no in /etc/xinet.d/tftp
echo "diable = no ">> /etc/xinetd.d/tftp

vim /etc/xinetd.d/tftp

service xinetd restart
chkconfig xinetd on

#----------------------------------------------------------------------------
# Before starting this script you must configure the dhcp server properly
#do the needed dhcp setting for the pxe
yum install -y dhcp

echo "
option domain-name \"server.example.com\";
option routers 192.168.122.1;
Allow booting;
Allow bootp;
next-server 192.168.122.1; <<---------pxe server ip
filename \"pxelinux.0\";
" >> /etc/dhcp/dhcpd.conf
#Openeing the dhcp file for editing
vim /etc/dhcp/dhcpd.conf
#dhcpd service is restarted and chkconfig is done

service dhcpd restart
chkconfig dhcpd on

Setting DNS server@RHEL,fedora

#Packages needed are bind and bind-chroot
#1.install needed packages
yum -y install bind

#2.Configuration files are
rpm -qc bind

echo "The configuration files we use are"
echo "/etc/named.conf"
echo "/etc/named.rfc1912.zone"
echo "/var/named/named.localhost"
echo "/var/named/named.loopback"

#3. Opening the /etc/named.conf file for Editing
echo "EDIT THE
line no 11 -listen-port to any
line no 17 -allow-query to any"

vim /etc/named.conf

#4. Expalin the foward and reverse zone file in /etc/named.rfc1912.zones

echo "zone \"example.com\" IN {
type master;
file \"forward.zone\";
allow-update { none; };
};" >> /etc/named.rfc1912.zones


echo " zone \"122.168.192.in-addr.arpa\" IN {
type master;
file \"reverse.zone\";
allow-update { none; };
};" >> /etc/named.rfc1912.zones

vim /etc/named.rfc1912.zones
#5.make the copy of named.localhost as forward.zone

cp /var/named/named.localhost /var/named/forward.zone


#6.make the copy of named.loopback as reverse.zone

cp /var/named/named.loopback /var/named/reverse.zone


#7. Edit /var/named/forward.zone to get ip to host name resolution

echo "
@ IN SOA server.example.com. root.server.example.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS server.example.com.


server IN A 192.168.122.1
client IN A 192.168.122.25" >> /var/named/forward.zone

vim /var/named/forward.zone

#8. Edit /var/named/reverse.zone to get host name to ip resolution

echo "
@ IN SOA server.example.com. root.server.example.com (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS server.example.com.


1 IN PTR server.example.com.
25 IN PTR client.example.com. " >> /var/named/reverse.zone

vim /var/named/reverse.zone

#9.changing the group of forward and reverse zone to named

chgrp named /var/named/reverse.zone /var/named/forward.zone

#10. Service restarting and chkconfig on

service named restart
chkconfig named on

Monday, September 17, 2012

Setting DHCP server in rhel ,fedora

#Steps to Configure dhcp...
#First give static ip for the server machine ie dhcp server

#1.Packages needed
#-dhcp-

yum -y install dhcp

#2.Copying the config file from
#    /usr/share/doc/dhcp*/dhcpd.conf to /etc/dhcp/dhcpd.conf
echo "Configuration files are"
rpm -qc dhcp

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

echo "Configuration Files Copied"

#3.Opening the config file
vim /etc/dhcp/dhcpd.conf

#4.Starting and Chkconfig the service . After adding needed subnetworks

service dhcpd start
chkconfig dhcpd on

echo "Service started and chkconfig is on"

############################################################################
# dhcpd.conf file
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
#############option domain-name "example.com";
#option domain-name-servers ns1.example.org, ns2.example.org;

##############default-lease-time 600;
##############max-lease-time 7200;

# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
###############authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
################log-facility local7;

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

#subnet 10.152.187.0 netmask 255.255.255.0 {
#}

# This is a very basic subnet declaration.

##############subnet 192.168.122.0 netmask 255.255.255.0 {
################  range 192.168.122.10 192.168.122.250;
#  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
################}

# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.

#subnet 10.254.239.32 netmask 255.255.255.224 {
#  range dynamic-bootp 10.254.239.40 10.254.239.60;
#  option broadcast-address 10.254.239.31;
##  option routers rtr-239-32-1.example.org;
#}

# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
#  range 10.5.5.26 10.5.5.30;
#  option domain-name-servers ns1.internal.example.org;
#  option domain-name "internal.example.org";
#  option routers 10.5.5.1;
#  option broadcast-address 10.5.5.31;
#  default-lease-time 600;
#  max-lease-time 7200;
#}

# Hosts which require special configuration options can be listed in
# host statements.   If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific information
# will still come from the host declaration.

#host passacaglia {
#  hardware ethernet 0:0:c0:5d:bd:95;
#  filename "vmunix.passacaglia";
#  server-name "toccata.fugue.com";
#}

# Fixed IP addresses can also be specified for hosts.   These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP.   Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
#host fantasia {
#  hardware ethernet 08:00:07:26:c0:a5;
#  fixed-address fantasia.fugue.com;
#}

# You can declare a class of clients and then do address allocation
# based on that.   The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.

##class "foo" {
#  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
#}
#
#shared-network 224-29 {
#  subnet 10.17.224.0 netmask 255.255.255.0 {
#    option routers rtr-224.example.org;
#  }
#  subnet 10.0.29.0 netmask 255.255.255.0 {
#    option routers rtr-29.example.org;
#  }
#  pool {
#    allow members of "foo";
#    range 10.17.224.10 10.17.224.250;
#  }
#  pool {
#    deny members of "foo";
#    range 10.0.29.10 10.0.29.230;
# }
#}

Wednesday, July 25, 2012

Creating local directory for yum installation using createrepo @ rhel ,fedora

To create a local directory from which we can install through yum,Mainly we need the "createrepo plugin of yum"

first make the directory

>mkdir pak

then copy the rpms into the directory

then use createrepo to create the repository files inside the folder

>createrepo pak

then it will make repository files and show following on success

Saving Primary metadata
Saving file lists metadata
Saving other metadata

then make a file @ /etc/yum.repos.d/pak.repo

>vim /etc/yum.repo.d/pak.repo

inside that we need name url and enable option
enable should be equal to 1 to make the repository
active all the time.the url will have destination to
the folder

as follows


[pal]
Name=pak $releasever $basearch local repository
baseurl=file:///pak
enabled=1

Sunday, July 22, 2012

fedora 17 and grub2

Fedora 17 and grub2...While installing fedora 17 from the live cd  at the end of finishing the installations i got an error like "installing bootloader failed ..system any not boot properly " the problem was maily with grub2 version .Even though the grub2 is much better than the older one it has some bugs .it shows some problem whiling installing to a system with older grub.

We can try reinstall the grub with the distro dvd rescue mode...

1.chroot  /mnt/sysimage

the root file system will be loaded to /mnt/image

2. grub2-install /dev/sda
installing the grub to ur harddisk ..in normal mode this wont work we should also give --force and --recheck

grub2-install --force --recheck /dev/sda

3.to get all the operating system use

grub2-mkconfig -o /boot/grub2/grub.cfg

the -o will create the config file

 

 

Saturday, July 14, 2012

To create keyboard shortcut for terminal in linux

open the terminal then type

>gnome-keybinding-properties

Then an window will pop up that window can be used to create custom keyboard shortcuts.

Click add and give name for the entry and terminal command which should be activated with shortcut and click Apply

now in the window backward an entry such as custom entry will appear and now click in shortcut then the disabled option changes to New shortcut .now press the needed shortcut it will be set.

command for terminal is gnome-terminal and give needed shortcuts

Resizable linux partions --LVM-logical volume management

In linux we can can create resizable partition  which can be resized if free space is available. That type of partitions logical volumes.
lvm-digram

1.-------->First we need to create normal logical partitions.
i have a partion  /dev/sda4  in /dev/sda
2.--------->Then we need to select the partition and change the partition type to 0x8e or create the partition as physical volume using given option in palimpsest
using fdisk command we could change the partion type to 0x8e . we could use the 't' option in fdisk to change the type ,after seleting the 't' option it will prompt for the partition no of which type need to be changed .using the 'l' option will list types of  partition type.
fdisk /dev/sda
At the Linux fdisk command prompt,

  1. press n to create a new disk partition,

  2. press p to create a primary disk partition,

  3. press 1 to denote it as 1st disk partition,

  4. press ENTER twice to accept the default of 1st and last cylinder – to convert the whole secondary hard disk to a single disk partition,

  5. press t (will automatically select the only partition – partition 1) to change the default Linux partition type (0×83) to LVM partition type (0x8e),

  6. press L to list all the currently supported partition type,

  7. press 8e (as per the L listing) to change partition 1 to 8e, i.e. Linux LVM partition type,

  8. press p to display the secondary hard disk partition setup. Please take note that the first partition is denoted as /dev/hdb1 in Linux,

  9. press w to write the partition table and exit fdisk upon completion.


3.-------->Next, this LVM command will create a LVM physical volume (PV) on a regular hard disk or partition:
pvcreate /dev/sda4

4---------->Now, another LVM command to create a LVM volume group (VG) called vg0 with a physical extent size (PE size) of 16MB:
vgcreate -s 16M vg0 /dev/hdb1

 

5---------->Create a 400MB logical volume (LV) called lvol0 on volume group vg0:
lvcreate -L 400M -n lvol0 vg0

This lvcreate command will create a softlink /dev/vg0/lvol0 point to a correspondence block device file called /dev/mapper/vg0-lvol0.

6----------->Formatting the partition to the needed type ..here i am going to format it to ext4 type

mkfs.ext4 /dev/vg0/lvol0
Finally mounting the partition to the needed place.here i will be mounting the partition to /data

mkdir  /data

mount /dev/vg0/lvol0 /data

some of the useful commands in this are

pvs

vgs

lvs

pvdisplay

vgdisplay

lvdisplay

more useful commands are lvextend and lvreduce

reduced should be used carefully because  cutting of the file system may cause data loose if not done properly