xref: /titanic_44/usr/src/man/man1m/removef.1m (revision f4c46b1eda9212fd32ba197043d52239ef5c0a7f)
te
Copyright 1989 AT&T Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
REMOVEF 1M "Oct 30, 2007"
NAME
removef - remove a file from software database
SYNOPSIS

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

removef [ [-M] -R root_path] [-V fs_file] -f pkginst
DESCRIPTION

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).

OPTIONS

The following options are supported: -f

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

-M

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(1M) or pkgrm(1M), there is no need to use the removef -R option.

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(5).

-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.

OPERANDS

The following operands are supported: path

The pathname to be removed.

pkginst

The package instance from which the pathname is being removed.

EXAMPLES

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
do
 echo "$pathname"
 rm -f $pathname
done
removef -f $PKGINST || exit 2
ENVIRONMENT VARIABLES

removef inherits the value of the following environment variable. This variable is set when pkgadd(1M) or pkgrm(1M) is invoked with the -R option. PKG_INSTALL_ROOT

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
0

Successful completion.

>0

An error occurred.

SEE ALSO

pkginfo(1), pkgmk(1), pkgparam(1), pkgproto(1), pkgtrans(1), installf(1M), pkgadd(1M), pkgask(1M), pkgchk(1M), pkgrm(1M), attributes(5), largefile(5)

NOTES

Package commands are largefile(5)-aware. They handle files larger than 2 GB in the same way they handle smaller files. In their current implementations, pkgadd(1M), pkgtrans(1) and other package commands can process a datastream of up to 4 GB.