"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