"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

Back to brandonhutchinson.com.
Last modified: 09/19/2003