Thursday, June 12, 2008

Managing File System Inconsistencies and Disk space in UNIX\Solaris:

This article explains how to manage disk space and file system inconsistencies. In general, Unix file system uses a set of tables to keep track of used inodes and available blocks. Inconsistencies will arise, for example, abrupt termination of the operating system. The reason for inconsistencies are listed below

1. Software error in the kernel.

2. Turning off the system without proper shutdown procedure.

3. Defective hardware, such as problem with the disk.

fsck Command:

Used to find the inconsistencies and repair them.


#fsck {option} {device}


-F {fstype} – limit to check the specified file system.
-m – check but do not repair, for checking the status of the file system.

df Command:

Used to monitor disk space usage at file system level, also used to determine the following,

1. The amount of disk space occupied by currently mounted or unmounted file systems.
2. The total amount of the used and available space.
3. The fraction of the file system’s total capacity that has been used.


#df {-F fstype} {option} {file system}

du Command:

Used to get the report on disk usage at the directory and file level, also used to determine the following,

1. Total space allocated to a directory.
2. Total space allocated to a directory subtree.
3. Total space allocated to a non-directory file.


#du {option} {file}

quot Command:

Used to get the report on disk usage by user name, if you want to know how much space is being used by each user on a given file system, can make use of this command.


#quot {option} {filesystem}

Hope this is informative.


91-98414 99143

Managing Hard and Symbolic Links in Solaris/Unix:

This article explains the purpose and usage of hard and symbolic links. A link is a file that points to another file. There are two kinds of link available

1.Hard Link:

a. A Hard Link is a pointer to a file that is indistinguishable from the original file.

b. Any changes made to a file are effective regardless of the name used to refer to the file – the link file or the original file name.

c. The link and the file are on the same file system because both have the same inode number.

d. A hard link can only point to a file, not to a directory.

e. You cannot create a hard link file without having the existing file.

f. The hard link file will consume the same amount of the disk as that of the original file.

g. If you delete the link file, the other will exist and the reverse is also applicable.

Syntax of the Hard Link file:

To create a hard link file,
#ln {source} {Target}

To remove the same file,
#rm {linkfile}

2.Symbolic Link:

a. A Symbolic Link is an indirect pointer to a file and it can span the file systems.

b. A symbolic link can be pointed to either file or directory.

c. You can create a symbolic link without having the existing file.

d. The symbolic link file will have the different inode number.

e. The symbolic link file will just have the details of the pointer information of the original file alone. Hence it won’t consume the same space as that of the original file.

f. It is just like a shortcut in the Windows.

g. If you delete the shortcut link file, the original file will exist. The reverse is obviously not applicable. It is better to clean up the shortcut files i.e, symbolic file before deleting the source file.

Syntax of the Symbolic Link file:

#ln –s {Source} {Target}


91-98414 99143

Directory Hierarchy in Solaris:

This articles the directory hierarchy structure in the Solaris file systems. Just like other OS, Solaris organized into directories and directories organized into a hierarchy called a directory tree. The understanding of the directories in Solaris file system is more important.

1./bin - symbolic link to the /usr/bin directory.

2./dev – Contains logical devices names for the devices.

3./device – device related files controlled by the file system: devfs.

4./lib – Contains shared libraries such as SMF executables.

5./etc – administrative and configuration files.

6./export – Commonly used to hold user home directories.(you can define as per your wish)

7./home – Default mount point for user home directories.

8./mnt – Default mount point used to temporarily mount file systems.

9./sbin – Contains system administration command s and utilities.

10./tmp – Contains temporary files that are deleted when the system is rebooted.

11./usr – UNIX system resources, Holds OS commands and programs.


91-98414 99143

Package administration in the Solaris:

This article helps in administering the package in the Solaris such as adding, removing, upgrading, patching, getting info, etc. As we already know that in Linux we use rpm and yum commands for installing or removing the packages. But in Solaris, the above said commands are non-functional.

1.Installing a Package:

#pkgadd – used for installing the package, the default installation spool directory is /var/spool/pkg.


#pkgadd –a {admin} – indicate to use the installation administration file specified by admin instead of the default file.

#pkgadd –d {device} – the package to be installed must be copied from the device.

2.Checking a Package:

#pkgchk – used to check the accuracy of the installed files


To check the content of an installed package SUNWbash,
#pkgchk –c SUNWbash

To check the file attribute of an installed package SUNWPython,
#pkgchk –a SUNWPython

3. Retrieving information about Packages:

#pkginfo – to retrieve the information about the s/w package installed in the system,


To get information on the list of fully installed package,
#pkginfo –i

To get information on the list of partially installed package,
#pkginfo –p

To get the information on the selective category, can be retrieved by the category value set in the pkginfo for the attribute values.
#pkginfo –c {category value}

4. Removing a Package:

#pkgrm – to remove the completely or partially installed package

To remove the source package by using the admin specified installation file instead of the default file,
#pkgrm –a {admin}

To remove all the files of the package including those shared by other packages.
#pkgrm –A packagename

To remove the package in the non-interactive mode, the default is the interactive mode,
#pkgrm –n SUNWPython

Hope the above information is useful while dealing with some packages.


91-98414 99143

Installation of Solaris 10:

This article explains the step by step procedure for installing the Solaris 10 on the SPARC machine and X86 machines. The installation of Solaris 10 in X86 is somewhat similar to the deployment of the Linux. Installation of Solaris 10 in SPARC machine is bit different.

Hardware Requirements:

Before starting the installation process, all the hardware components must be checked for the hardware compatibility first. Please make sure all the needed drivers available for the X86 machines.

Installation in the X86 Machine:

1.Insert the Solaris 10 CD or DVD into the appropriate drive.

2.Set the Boot priority as required in the BIOS.

3.On the initial, Solaris Booting Systems. Decide whether you need to modify the device settings.
a.Install device driver or install time updates.
b.Disable ACPI – Advanced Configuration and Power Interfaces.
c.Set up a serial console.
d.Reset the default boot device.

4.Select the installation type
a.Solaris Interactive. (Default GUI)
b.Custom Jumpstart.
c.Solaris Interactive Text (Desktop session).
d.Solaris Interactive Text (Console session).

5.Two scenario to proceed
a.If it detects all the devices, then proceed to step 7.
b.If the problem in detecting the keyboard, monitor and mouse, go to step 6.

6. Two ways to go from here
a.Configure the keyboard, Monitor and Mouse as per the instruction on the screen.
b.If you want to do the text installation, press f4 to skip the steps related to the GUI display and will let directly to the step 7.

7.Select the language.

8.Please precede the installation and configure the disk space for the file system. Can use the automatic partitioning or can do the manual partitioning as well. The recommended disk partitioning is /boot (100 MB), /swap (twice the RAM) and / (remaining space).

9.Select the default package list or select the package manually.

10.Answer any additional configuration questions, if you are prompted.

11.After the installing the package, it will automatically reboot.

Installation in the SPARC Machine:

1.Insert the Solaris 10 CD or DVD into the appropriate drive.

2.Set the Boot priority as required in the BIOS.

3.Start the Solaris installation program by booting through CD / DVD
a.For GUI installation, type the below command in the ok prompt
Ok boot cdrom
b.For Text installer in a desktop session, type the below command in the ok prompt
Ok boot cdrom –text
c.For Text installer in a console session, type the below command in the ok prompt
Ok boot cdrom –nowin

4.Select the language.

5.Answer the system configuration questions such as hostname, IP address and others.

6.Select the reboot option at the end of installation and specify the media you are using to install.

7.Please precede the installation and configure the disk space for the file system. Can use the automatic partitioning or can do the manual partitioning as well. The recommended disk partitioning is /boot (100 MB), /swap (twice the RAM) and / (remaining space).

8.Select the default package list or select the package manually.

9.Answer any additional configuration questions, if you are prompted.

Please revert if you have any issue while deploying the package.


91-98414 99143

Monday, June 9, 2008

Evolution/History of UNIX:

This article gives information on the history and evolution of the UNIX. UNIX was the first operating system; it also has been a trail blazer in the field of operating systems. Other OS like windows, Linux and others have adopted the features first proposed by and implemented in UNIX. UNIX is not an operating system that was built by one company with a wonderful marketing department.

UNIX, pronounced as yoo-niks, is not the name of one operating system; it refers to a family of operating systems.

Brief History of UNIX:

1. The roots lie in Comprehensive time sharing system CTSS developed by Corbato at MIT in the early 1960s.
2. In 1969, emergence of UNIX at the AT & T Bell labs.
3. After several hits, first BSD Berkeley Software Distribution version released in 1978.
4. In 1982, Sun Microsystems released first UNIX workstation based on the BSD flavor of UNIX.
5. Finally in the year, SPARC station1 introduced.

UNIX Flavors:

UNIX is the oldest OS that pioneered several OS concepts used by other OS such as Microsoft DOS and Microsoft Windows. Originally, Bell Lab distributed UNIX along with the source code so that, anybody could modify and customize the OS to meet specific needs. The following are the different flavors of UNIX with Vendor and Chip architecture.

1. Solaris – Sun Microsystems – SPARC, X86
2. HP-UX – Hewlett Packard – IA 64 and HP PA-RISC
3. Irix- Silicon Graphics – MIPS
4. AIX – IBM – PowerPC
5. UNIXWare – SCO/Caldera – Xeon, Pentium, X86
6. Linux – Freeware – Alpha, SPARC, PowerPC and Intel

Characteristics of UNIX:

1. UNIX is built from small components; each component does one job and does it well.
2. Support for virtually all n/w protocols.
3. Many flavors of UNIX.
4. Wide variety of s/w available for UNIX.
5. Open standard and open source.
6. Multitasking and multiprocessing.

The underlying philosophy of UNIX may be classified as independence, interconnection and innovation.

Hope the above information is useful.


91-98414 99143

Saturday, June 7, 2008

SMTP Connectors in Exchange server 2007:

This article explains the working of SMTP Connectors and new SMTP topology in the exchange server 2007 when compared to the previous versions. Simple Mail Transfer Protocol is a protocol used for sending messages between different servers. Because most email systems that are connected to the internet uses SMTP as a messaging standard. In exchange server 2003, SMTP relies on the service provided by the Windows OS, whereas in exchange 2007 has its own built in SMTP with interesting new features.

SMTP Connectors:

In exchange, the SMTP connectors are the logical representations of connections between a source and destination server. In previous version of exchange, SMTP connector is used for both incoming and outgoing message flow, i.e. two way communications for message flow. But in exchange server 2007, the concept of the SMTP Connector is classified into two types Send Connector and Receive Connector. Each of these types of connector represents a one way communication.

Receive Connectors:

1. Acts as an incoming point for SMTP traffic.
2. Actively listens for all incoming connections.
3. The parameters like Number of active connections allowed, Maximum incoming message size and Maximum recipients per message can be set in the Receive Connector.

Send Connectors:

1. Used for relaying outgoing SMTP communications.
2. It is not scoped to single server or single point, the end message is addressed to remote destination and reaches the appropriate Connector.

Hope the above is informative.


Information Rights Management:

Introduced in Microsoft Office 2003 products, Information Rights Management (IRM) helps organizations protect digital information from unauthorized use. By integrating with a Windows Server 2003 technology called Microsoft Windows Rights Management Services (RMS), IRM enables workers to define how a recipient can use the information contained in a Microsoft Office document. Users can define exactly who can open, modify, print, forward, or take other actions with protected documents. In addition, users can specify an expiration date, after which the document cannot be viewed or acted upon.

To create IRM-protected documents and email messages, the sending user must be using the Professional or Enterprise version of Office 2007. Users of Office Standard 2007 can still read and use IRM-protected documents, but cannot create them or apply policies to email messages. The exchange server 2003 must have the windows Rights Management Services (RMS) to be installed, so that the end users will be able to protect their mail with the information rights management services.


Wednesday, June 4, 2008

Exchange Power Shell - EMS:

This article explains the features of the exchange management shell EMS. Unlike the previous version of the exchange, the exchange server 2007 has this new feature of accomplishing all the exchange related activity in the command shell. The PowerShell uses the cmdlets as a core technology. A cmdlet is a lightweight command that is used in the PowerShell and Exchange Management Shell environments. Within that environment, the PowerShell command interpreter (PS.exe) executes these cmdlets within the context of automation scripts. The .NET framework is the core package which executes the PowerShell. Nearly 350 exchange related cmdlets are available in the EMS. The EMS works in the back end of the exchange management console.

Uses of EMS:

1. EMS main usage is to perform the administrative functions such as Mailbox management, setting limits for users, Moving mailbox b/w servers, configuring the exchange related parameters, etc.
2. EMS also helps in generating the reports such as recipient details, messaging routing traffic, message size distributions, etc.

General Syntax of the PowerShell Commands:

#Verb-Noun format. The PowerShell commands are auto-tab complete.
Eg., Move-Mailbox, Get-Mailbox, etc.
The commands in the PowerShell can be chained using the pipe option.

Interpreting the PowerShell Commands:

In order to move the mailbox to other server,
In General, Move the Mailbox of the user Stephen to the Mailbox Store2. This can be put syntactically
#Move-Mailbox “Mcgrorty, Stephen” –Targetdatabase “Mailbox Store 2”

Help Option in the EMS:

1. #Get-Help command
2. #Get-Help Set-Mailbox –Parameter *quota*
3. #Get-Help -Role *Mailbox*
Eg, Get-mailboxpermission,Get-mailboxdatabase,etc.
4. #Get-Help -Role *Mailbox* | fl name, synopsis
5. #Get-Help -Component *Recipient*
Eg, Get-mailbox,get-mailboxstatistics,etc.
6. #Get-Help -Functionality *Server*
Eg, Get-mailboxserver,Get-sendconnector,etc.

Pipeline Option:

To move all mailbox in the server1 to the server2
#Get-Mailbox –server server1 | Move-Mailbox –targetdatabase “server2\Mailbox Store1”

To set the maximum send size attribute for the recipient “Andreo Nel”
#Get-Mailbox | where-object { $ –like “And*” } | Set-Mailbox –MaxSendSize 10mb

WhatIf and Confirm Option:

To move the mailbox with the name “sandy” to the server2. The –WhatIf parameter informs the administrator what action the script would take and the –Confirm parameter prompts for confirmation before taking action.

#Get-Mailbox | where-object { $ –like “sandy*” } | Move-Mailbox –targetdatabase “Server2\Mailbox Store1” –WhatIf

Sample Output:

What if: Performing operation “move-Mailbox” on Target “Move mailbox for:Administrator ( to Database: Mailbox Database 2,09014bc6-f977-4961-b4eb-8829fb13e5d6. The operation can take a long time and the mailbox will be inaccessible until the move is complete”.

#Get-Mailbox | where-object { $ –like “sandy*” } | Move-Mailbox –targetdatabase “Server2\Mailbox Store1” –Confirm

Sample Output:

Are you sure you want to perform this action? Performing operation “move-Mailbox” on Target “Move mailbox for: Administrator ( to Database: Mailbox Database 1,09014bc6-f977-4961-b4eb-8829fb13e5d6. The operation can take a long time and the mailbox will be inaccessible until the move is complete”. [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “Y”):

Some Important and Useful PowerShell Commands In exchange server 2007:

1. To create a new mail database in the first storage group on server2.
#New-MailboxDatabase –StorageGroup “SERVER2\First Storage Group” –name “Mailbox Store2”

2. To mount the above database,
#Mount-database “SERVER2\First Storage Group\Mailbox Store2”

3. To test the connectivity of the recipient mailbox and also to check the latency.

4. To get the list of mailbox with the maximum mailbox size,
#Get-wmiobject -class Exchange_Mailbox -Namespace ROOT\MicrosoftExchangev2 -ComputerName SERVER1 | select-object MailboxDisplayName,TotalItems,Size | sort -descending “Size” | select-object -first 25

5. The above can also be viewed in the HTML format and also can be directed to some file. This makes it portable.
#Get-wmiobject -class Exchange_Mailbox -Namespace ROOT\MicrosoftExchangev2 -ComputerName SERVER1 | select-object MailboxDisplayName,TotalItems,Size | sort -descending “Size” | select-object -first 25 | ConvertTo-html -title “Top 25 Largest Mailboxes on SERVER1” > “D:\Stats\25 Largest Mailboxes.html”

6. To get the events in the application log with the source starting with the word “Exchange” ,
#get-eventlog Application | where {$_.Source -ilike “Exchange*”} | export-csv c:\events.csv

7. To get the information of particular user mailbox
# Get-Mailbox –Identity "Rudi Kutz"
#Get-Mailbox "Rudi Kutz"

8. To get the list of exchange servers in the organization,
#Get-ExchangeServer -Domain
#Get-ExchangeServer –Status

9. To get the mailbox database details,
# Get-MailboxDatabase -Server Server
#Get-MailboxDatabase -StorageGroup StorageGroup

10. To set the quota limit parameter for particular database,
# Set-MailboxDatabase -Identity MailboxDatabase -IssueWarningQuota 500MB

11. To set the user’s mailbox properties like external Email Email address value,
# Set-MailUser -Identity user2 -ExternalEmailAddress

12. To get all the records which matching the namespace “logu”, it check in all the possible recipients like user mailbox, contacts, etc.
# Get-Recipient -Anr "logu"

13. To Enable/Disable the user,
# Disable-MailUser -Identity user2
# Enable-Mailbox -Identity company\user1 -Database MailboxDatabase

14. To get the mailbox statistics of the database,
# Get-MailboxStatistics -Database MailboxDatabase
#Get-MailboxStatistics -Server Server

15. To give full access permission for the user1 on the mailbox user2,
#Add-MailboxPermission user2 -User user1 -AccessRights FullAccess

16. The same case if it is a linked mailbox (external mail account which has mailbox in this server),
#Add-MailboxPermission user2 -user CODE1\user1 -AccessRights:FullAccess,ExternalAccount

Likewise there are large number of useful commands in the EMS. Hope the above is informative.

91-98414 99143

Integrating Exchange server 2007 in a Non-Windows Environment:

This article explains the basic understanding of the MIIS application and the integration feature of exchange with Non-windows email systems like UNIX, Novell, Lotus Notes and LDAP directory. In most enterprises today, each individual application or system has its own user database or directory to track who is permitted to use that resource. Each has its own definition of the user’s “identity” (for example name, title, ID numbers, roles, membership in groups). Microsoft invented a tool to facilitate the administration of these multiple repositories. The product is called Microsoft Identity Integration Server.The use of MIIS 2003 for Exchange 2007 is particularly useful because it can synchronize Information between the AD forest that contains Exchange and the other messaging systems in use within the organization.

Understanding MIIS 2003:

MIIS is a system that manages and coordinates identity information from multiple data sources in an organization, enabling you to combine that information into a single logical view that represents all of the identity information for a given user or resource. MIIS enables a company to synchronize identity information across a wide variety of heterogeneous directory and non-directory identity stores. This enables customers to automate the process of updating identity information across heterogeneous platforms while maintaining the integrity and ownership of that data across the enterprise. Password management capabilities enable end users or help desk staff to easily reset passwords across multiple systems from one easy-to-use web interface. End users and help desk staff no longer have to use multiple tools to change their passwords across multiple systems.

91-98414 99143