Saturday, December 20, 2008

How to create/increase swap on the fly in Linux?

We can either create swap file or swap partition and make it as swap space.

How to create swap space from file?

To create 512MB swap file, run below commands. Make sure the file system has enough diskspace, where you are creating swap file.

dd if=/dev/zero of=swapfile bs=1024 count=524288
chmod 600 swapfile
mkswap swapfile
swapon swapfile

To automate this while rebooting, add following entry to /etc/fstab. (Assumed that you created swapfile under /opt)

/opt/swapfile swap swap defaults 0 0

How to create swap space from partition?

Create a partition using "fdisk" with type swap i.e. make partition type to 82. Type "t" to set the partition type. (Assumed that you created a partition /dev/hdb1 as swap). To activate, run following commands

mkswap /dev/hdb1
swapon /dev/hdb1

To automate this while rebooting, add following entry to /etc/fstab.

/dev/hdb1 swap swap defaults 0 0

Use "free" command before and after executing above methods to verify that the swap has been created / increased

Have Fun .....

Sikkandar.Linux at Gmail.Com

Saturday, December 6, 2008

How to Setup or Check Network Speed and Duplex on Linux?

What is Half and Full Duplex?

In Full duplex, the data (signal) can flow in both directions

In Half duplex, the data (signal) can flow in one direction at a time

So, the duplex settings is very important. To check duplex and speed settings, ethtool is the best tool.

To see the duplex and speed setting of interface eth0 just run following command

# ethtool eth0

To setup, 100 Mbps speed, Full duplex and make it static on interface eth0 , run below command:

# ethtool -s eth0 autoneg off duplex full speed 100

autoneg off make sure that this setting does not change in response to the port setting on which this interface is connected, such as switch.

In newer version, this settings can be done in configuration file. For example in newer version SUSE such as 10.x, this setting can be done in respective interface configuration file, which can be found under /etc/sysconfig/network. The interface configuration file looks like ifcfg-eth-id-00:c0:0d:01:75:05

In older versions such as SUSE 9, we need to set up manually. I added this settings in a bash shell script and placed under /etc/sysconfig/network/scripts and created symbolic links from /etc/sysconfig/network/if-up.d.

# ls -al
total 8
drwxr-xr-x 2 root root 4096 Apr 22 2008 .
drwxr-xr-x 6 root root 4096 Feb 19 2008 ..
lrwxrwxrwx 1 root root 21 Apr 22 2008 eth0-setup -> ../scripts/eth0-setup

# cat ../scripts/eth0-setup

#!/bin/bash
#
# This script has been added by Sikkandar to make sure
# that the NIC Configuration is set to FULL DUPLEX with SPEED 100
#
# Date : 04.Oct.2007
#
# OS : SUSE LINUX Enterprise Server 9
#
/usr/sbin/ethtool -s eth0 autoneg off duplex full speed 100


Have Fun ........


Sikkandar.Linux at GMail.Com

Wednesday, December 3, 2008

What is "/etc/fstab" and how it is important for "mount" command.

fstab stands for File System Table, contains device or partitions details and indicates how they are to be initialized. This file is mostly used by mount command.

Let us have a look at what each column means on this file:

Sample content of /etc/fstab (on Solaris it is /etc/vfstab)

1st Column (device-name): This column contains devices or partitions name

2nd Column (mount point):Mount point of device or partition

3rd Column (fs-type): The type of file system

4th Column (mount-options): Mount options such as ro, rw, noauto, user, exec and acl, etc. use man

5th Column (dump-frequency): useful when we use dump command for backup larger numbers than one are to avoid too many backups of idle file-systems

6th Column (pass-number): This tells on which order, the fsck to be done while booting. "0" zero means don't do fsck.

Whenever we issue mount -a, it reads the /etc/fstab and mount the file systems according to the settings. If it is "noauto" on mount-options for any file systems, it will not mount. Default is auto.

For more, do a "man mount"

Have a fun ....

Sikkandar.Unix at Gmail.Com

Monday, December 1, 2008

Sendmail - How to Override MX Record

The following settings force the mails to forward particular server:

1. Add following line into /etc/mail/mailertable

domain mailer:[destinationhost.domain.name]

2. rebuild mailertable

makemap hash mailertable < mailertable

3. restart sendmail

rcsendmail restart

Sendmail - How to process mail from mail queue for particular Email Address


sendmail -q -v -qREmailID@domain.name

Example: sendmail -q -v -qRnsikkandar@gmail.com

sendmail - How to reprocess mail from mail queue for particular domain

sendmail -q -v -qR@valid.domain.name

Example:

sendmail -q -v -qR@gmail.com
sendmail -q -v -qR@my.example.com