Wednesday, August 17, 2005

No space left on device" when installing packages

No space left on device" when installing packages
If you receive this error when running pkgadd on datastream packages,
you are likely filling up the /var file system, as pkgadd extracts the
contents of the package into /var/tmp.

Example errors when filling up the /var file system when running
pkgadd on a gcc 3.3 package:

Processing package instance <SMCgcc> from </tmp/gcc-3.3-sol7-sparc-local>

gcc
(sparc) 3.3
cpio: Cannot write "reloc/lib/libstdc++.a", errno 28, No space left on device
cpio: Cannot write "reloc/lib/libstdc++.so.5.0.4", errno 28, No space
left on device
cpio: Cannot write "reloc/lib/libsupc++.a", errno 28, No space left on device

The solution is either to symbolically link /var/tmp into a larger
file system that can accommodate extracting the package, or to
translate the package from datastream format (one monolithic file)
into file system format (extracting the package into its component
parts). I recommend the latter solution.

For example, if you have a large file system named /files1, you can
translate the package into file system format with:
pkgtrans package /files1
ex. pkgtrans gcc-3.3-sol7-sparc-local /files1

To install the package:
pkgadd -d /files1

After the package is installed, you can remove the package in file
system format with:
rm -r /files1/package
ex. rm -r /files1/SMCgcc

0 Comments:

Post a Comment

<< Home