file system full in Sun Solaris 9 sparc

I am trying to install the JDK 1.6 on Solaris9 Sparc machine but after downloaded .tar file from Sun website and when I am trying to untar that, I an getting the following error-
zcat jdk-6u7-solaris-sparc.tar.Z | tar -xf -
Sep 2 18:42:36 mgsun ufs: NOTICE: alloc: /: file system full
tar: SUNWj6rt/reloc/jdk/instances/jdk1.6.0/jre/lib/sparc/libmlib_image_v.so: HELP - extract write error

After getting this error, I check out the free space using df -k.then I am getting the following info-
# df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t0d0s0 2148263 2143078 0 100% /
/proc 0 0 0 0% /proc
mnttab 0 0 0 0% /etc/mnttab
fd 0 0 0 0% /dev/fd
swap 651480 40 651440 1% /var/run
swap 651792 352 651440 1% /tmp
/export/home/emerson1
2148263 2143078 0 100% /home/emerson1

After that I restarted the machine and it is going in maintenance mode rather then the normal mode. It is showing the

WARNING: Unable to repair the / file system.
So please help me to solve this problem.

Pls boot the system using cdrom to single user.
check your dump device if there's any core files in it to remove them
/var/crash/`hostname`

Or perform du -sk * |sort -rn |head to check the top ten Large files/directories to housekeep.
Do fsck on ALL the slices and bring up the system

Your root fs is full, and is definitely unhealthy for the system already, hope this is clear.

i was searching the large files and I found 2 dir (dsk & rdsk) inside /dev.
I want to know these 2 dir r same or not? If not what is difference between these 2 dir?
I more thing both contains the almost same files.

# pwd:(
/dev/rdsk
# ls
c0t0d0s0 c0t0d0s2 c0t0d0s4 c0t0d0s6 c0t1d0s0 c0t1d0s2 c0t1d0s4 c0t1d0s6
c0t0d0s1 c0t0d0s3 c0t0d0s5 c0t0d0s7 c0t1d0s1 c0t1d0s3 c0t1d0s5 c0t1d0s7

# cd dsk
# ls
c0t0d0s0 c0t0d0s2 c0t0d0s4 c0t0d0s6 c0t1d0s0 c0t1d0s2 c0t1d0s4 c0t1d0s6
c0t0d0s1 c0t0d0s3 c0t0d0s5 c0t0d0s7 c0t1d0s1 c0t1d0s3 c0t1d0s5
# pwd
/dev/dsk

Logical device:-->used by user. all logical device name are kept in /dev dir. logical name contain the controller number,target number,disk number and slice number.

For every disk device, there are usually two device files - the block device and the character ("raw") device.

In general:
block devices are generally stored under /dev/dsk and used for filesystem type access (e.g mount)
character devices are generally stored under /dev/rdsk used for everything else (e.g. fsck, newfs, etc..)

These contains device path/links. you should not do any attempt to modify or remove them.. Check on application logs or other home dirs..

Please paste the output of below commands.

df -k /usr
df -k /var
df -k /opt

If everything sits on /, then you need to find out which one is consuming most of the space. Try to find out files with .tar, .z, .gz and move to different location. You will be ending with getting some space.

Thanks..Manas

clear up any log files at /var/adm
u can zip them and empty logs by using the ">" command
also ... you can remove the core files using :

"find / -name core -exec rm -f {} \"

...high chances...this will reduce the treshold...good luck

An earlier df -k shows that this system does not have separate /usr, etc. slices, running:
# cd /
# du -sk ./* | sort -n
will show which sub-directory of root contains the the most files, you may then CD into it and repeat, looking for core files, large archive files (either tar, zip, etc.) that may be moved off the system without breaking it.

I am sending the output of /usr,/var and /opt

# df -k /usr
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t0d0s0 2148263 1733247 372051 83% /

# df -k /var
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t0d0s0 2148263 1733247 372051 83% /

# df -k /opt
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t0d0s0 2148263 1733247 372051 83% /

now what i have to do to solve this problem

You're in the best position to know what to remove or not than any of us here dude..
Under /var,
check the /var/crash/`hostname`, remove or save the core files (if any to tape of disk if you need it.

under /var/tmp
remove all the unnecessary or unneeded files, usually ppl would unpack the patches in there before applying patch to the system. If the patches is already installed, removed the whole /var/tmp/9 or /var/tmp/10/ dir (based on your OS version)

under /var/adm
check all the messages file. messages is the latest followed my messages.0 , messages.1 and so on.. Tar/zip up the old logs in there..

under /opt,
check if unwanted packages are in there uncompressed .. If the package is already installed in the system, you might back it up somewhere.. again the same..
under /usr .. usually I wont touch anything there first..

there will be huge logs at /var/adm and /var/logs

lastlog and wtmpx at /var/adm

syslog at /var/logs

compress those logs...