Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022



removef - remove a file from software database


removef [ [-M] -R root_path] [-V fs_file] pkginst path...
removef [ [-M] -R root_path] [-V fs_file] -f pkginst


removef informs the system that the user, or software, intends to remove a pathname. Output from removef is the list of input pathnames that may be safely removed (no other packages have a dependency on them).


The following options are supported:


After all files have been processed, removef should be invoked with the –f option to indicate that the removal phase is complete.


Instruct removef not to use the $root_path/etc/vfstab file for determining the client's mount points. This option assumes the mount points are correct on the server and it behaves consistently with Solaris 2.5 and earlier releases.

–R root_path

Define the full path name of a directory to use as the root_path. All files, including package system information files, are relocated to a directory tree starting in the specified root_path. The root_path may be specified when installing to a client from a server (for example, /export/root/client1).

removef inherits the value of the PKG_INSTALL_ROOT environment variable. (See ENVIRONMENT VARIABLES, below.) If PKG_INSTALL_ROOT is set, such as when the –R option is used with pkgadd(8) or pkgrm(8)

Note - The root file system of any non-global zones must not be referenced with the –R option. Doing so might damage the global zone's file system, might compromise the security of the global zone, and might damage the non-global zone's file system. See zones(7).
–V fs_file

Specify an alternative fs_file to map the client's file systems. For example, used in situations where the $root_path/etc/vfstab file is non-existent or unreliable.


The following operands are supported:


The pathname to be removed.


The package instance from which the pathname is being removed.


Example 1 Using removef

The following example uses the removef command in an optional pre-install script:

echo "The following files are no longer part of this package
      and are being removed."
removef $PKGINST /myapp/file1 /myapp/file2 |
while read pathname
     echo "$pathname"
     rm –f $pathname
removef –f $PKGINST || exit 2

Environment Variables

removef inherits the value of the following environment variable. This variable is set when pkgadd(8) or pkgrm(8)


If present, defines the full path name of a directory to use as the system's PKG_INSTALL_ROOT path. All product and package information files are then looked for in the directory tree, starting with the specified PKG_INSTALL_ROOT path. If not present, the default system path of / is used.

Exit Status


Successful completion.


An error occurred.


See attributes(7) for descriptions of the following attributes:


See Also

pkginfo(1), pkgmk(1), pkgparam(1), pkgproto(1), pkgtrans(1), attributes(7), installf(8), pkgadd(8), pkgask(8), pkgchk(8), pkgrm(8)


In their current implementations, pkgadd(8), pkgtrans(1) and other package commands can process a datastream of up to 4 GB.