Package Mangement in Solaris

November 22, 2009

Here are the list of useful commands frequently used during package management.

pkgadd

Adds software packages to the system

pkgrm

Removes software packages from the system

pkginfo

Displays software package information

pkgchk

Checks the accuracy of a software package installation

So, we’ll take an example to use above commands. I’ve a package called SUNWant.Z, which I want to install.

So I use the following syntax to add a package.

pkgadd -d SUNWant.Z

To check whether your package has been installed, you can use pkginfo and grep the output to find a specific package.

pkginfo | grep SUNWant

To check the accuracy of the package, you can use pkgchk command as:

pkgchk SUNWant

To remove above package, we have the pkgrm command to use:

pkgrm SUNWant

Refer the Sun documentation for further details.


Solaris Run Levels

November 12, 2009

The run levels in Solaris are little different than what you know about run levels in Linux. So, if you come from Linux background this could be little confusing initially.

There are total 8 run levels in Solaris. Default run level is 3. At a given point of time, a system can be in only one run level.

0    Power Down State
To shut down the operating system so that it is safe to turn off power to the system. This will bring the machine to Open Boot Prompt (OK)

s or S    Single User State
To run as a single user with some file systems mounted and accessible.

1     Administrative State
To access all available file systems. User logins are disabled.

2    Multiuser State
For normal operations. Multiple users can access the system and all file system. All daemons are running except for the NFS server daemons.

3    Multiuser level with NFS resources shared
For normal operations with NFS resources shared. This is the default run level for the Solaris environment.

4    Alternative multiuser state
Currently unavailable.

5    Power-down state
To shut down the operating system so that it is safe to turn off power to the system. If possible, automatically turns off power on systems that support this feature.

6    Reboot state
To shut down the system to run level 0, and then reboot to multiuser level with NFS resources shared (or whatever level is the default in the inittab file).


How to create a Solaris Flash Archive (Flar)

October 22, 2009

A solaris filesystem can be copied into an flash archive. This archive can then be used to install the Solaris OS on another system. Installation through flar is fast and efficient.

The format of the command is as follows:

# flarcreate -n name options path/filename

name
The name that you give the archive.

options
For a description of options, see The flar Command.

path
The path to the directory in which you want to save the archive file. If you do not specify a path, flarcreate saves the archive file in the current directory.

filename
The name of the archive file.

So for example I wan to create a flar with the name Solaris9 and the filename as myarchive.flar, the command will look like as mentioned below:

# flarcreate -n solaris9 -c myarchive.flar

where -c is an option to create compressed flar.

See the manpages for more options.


How to configure telnet to login as root

September 23, 2009

By default, telnet is enabled to be access by remote logins for a non-root user. To allow a root user to access the telnet remotely you will have to explicitly allow it.

This can be done by commenting the following line in the file /etc/default/login:

# CONSOLE=/dev/console

But please understand the security threat behind this, first telnet is insecure and hence is not suggested method of remote access, instead use SSH. Besides allowing remote login for root via telnet is a big NO NO.

You’ve been warned!


Solaris 10 versions

September 21, 2009

Often the Solaris 10 versions are referred by two ways. Either by the date on which they were released or the update no. So the latest release of Solaris10 is U8 released in Oct-2009 (10/09).

But what about the rest?
Given below is a simple table mentioning the release date and its corresponding update no:

Update Release
1 01/06
2 06/06
3 11/06
4 08/07
5 05/08
6 10/08
7 05/09
8 10/09

How to Track Users on Solaris

June 20, 2009

So you want to check who have ever accessed your Solaris system. Tracking or monitoring users on a system is quite an important part of ‘Solaris Adminstrators’ role.

There are two parts to it:

– Who is currently logged in

– Who has previously accessed this machine

To the details of users who are currently logged in to the system, fire the following command:

# who

This gives the limited details of the user logged in. If you also want to know who is running what program, there is another command:

# w

But this is only about the users who currently logged in to the system. What about if they logged out some time back. Or if they used your system when you were not monitoring? No worry …

# last

This command records all login and logouts. So you may have to use more or less to control the output.

There is one more log that keeps record of user switching. So if anybody has used su command to swith to some other user it will keep a log of it under /var/adm/sulog. You can cat this file to see the output.

# cat /var/adm/sulog

SU 06/26 16:25 + syscon root-root

SU 06/26 17:39 + syscon root-root

SU 07/02 11:11 + console root-sysadmin

SU 07/02 11:19 + console root-mgreen

SU 07/07 09:11 + pts/1 sysadmin-root

SU 07/08 10:45 + pts/4 testuser-root

So if somebody logged in as root directly then it would come under last command and if someone is logging in as normal user but later switching to root with ‘su’ command you can check that in the sulog.

Now you have complete information of users logging in to your system.


How to share a directory through nfs

June 10, 2009

This is quite simple than you thought. First just make sure that your nfs server is enabled or not with the following command:

# svcs network/nfs/server
STATE          STIME    FMRI
online         16:01:36 svc:/network/nfs/server:default

And if working you will get an output as shown above or else you will get something like…

STATE          STIME    FMRI
disabled       17:42:25 svc:/network/nfs/server:default

If this is the case you need to enable your nfs server with svcadm command as shown below:

# svcadm enable network/nfs/server

Confirm that your nfs server is running with the above command.

Once you are sure that your nfs is running, next task is to share the directory.

Now for example purpose, say you want to share ‘/export/home/share’ directory. Fire the following command straight away:

#/usr/sbin/share -F nfs -o ro,anon=0 /export/home/share

To check all the directories shared on your Solaris system, use the share command:

#share

-               /nbsin_share   ro,anon=0   ""   /export/home/share

And you should get the output as shown above.

But make a note that this is a temporary sharing of the directory. If you happen to reboot your system or restart the nfs service the sharing will be disabled.

By default only those directories are shared by the nfs server who have an entry into its configuration file located at ‘/etc/dfs/dfstab’

So to make our above directory sharing persist forever we will append our share command into dfstab file:

#echo "/usr/sbin/share -F nfs -o ro,anon=0 /export/home/share" >> /etc/dfs/dfstab

Then we’ll ask the nfs service to share all the directories as metioned in dfstab file with the following command:

#shareall

You can crosscheck your sharing by ‘share’ command as now you already know.


How to set the hostname in Solaris 10

May 23, 2009

If you have a system with a fresh installed Solaris 10 and it does not have an entry with ‘name server’, there are chances that it’ll set the hostname as ‘unknown’. To change this hostname you need to edit 3 files, follow the following steps:

For the sake of example, say the IP of my system is 192.168.1.32 and I want to set the hostname to ‘sol10_sparc’

File 1

Use a text editor like vi to open and edit the following file:

# vi /etc/hosts

By default you’ll find the following line in the above file:

192.168.1.32 unknown #set by DHCP

Simply edit the file to replace ‘unknown’ with your hostname to make it look like as:

192.168.1.32 sol10_sparc #set by DHCP

File 2

Next we need to edit the file called nodename

# vi /etc/nodename

Just insert the hostname ‘sol10_sparc’ into this file.

File 3

And now last, find out the name of your ethernet card with the ‘ifconfig -a’ command. Say my ethernet card is called ‘rge0’. I’ll create and edit the following file:

# vi /etc/hostname.rge0

Insert your new hostname ‘sol10_sparc’ in this file, save and exit.

Restart your machine:

# init 6

That’s it, after your machine restarts, check the hostname:

# hostname

Done, enjoy 🙂


How to enable root access to SSH

May 23, 2009

To perform this you need to access the terminal physically or via telnet. And obviously you have to be a root user.

From terminal, use a text editor like vi to open the configuration file of SSH

# vi /etc/ssh/sshd_config

Now look for following line in the file:

PermitRootLogin no

You need to replace the ‘no’ with ‘yes’ to enable SSH.

Save the file and exit.

Restart the SSH service with the following command:

# svcadm restart network/ssh

That’s it, you’re done.