summaryrefslogtreecommitdiff
path: root/source/a/pkgtools/manpages/removepkg.8
blob: f9b1b9322aa6374a951d90be39a83dbd227ab05a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
.\" -*- nroff -*-
.ds g \" empty
.ds G \" empty
.\" Like TP, but if specified indent is more than half
.\" the current line-length - indent, use the default indent.
.de Tp
.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
.el .TP "\\$1"
..
.TH REMOVEPKG 8 "23 Nov 2001" "Slackware Version 8.1.0"
.SH NAME
removepkg \- remove Slackware packages.
.SH SYNOPSIS
.B removepkg
.BI packagename
.LP
[
.B ROOT=/mnt
]
.B removepkg
[
.B \--copy
]
[
.B \--keep
]
[
.B \--preserve
]
[
.B \--skip-douninst
]
[
.B \--terse
]
[
.B \--warn
]
.BI packagename
.SH DESCRIPTION
.B removepkg
removes a previously installed Slackware package, while writing a progress
report to the standard output.  A package may be specified either by the
full package name (as you'd see listed in /var/lib/pkgtools/packages/), or by the
base package name.  For example, the package foo-1.0-i586-1.txz may be removed
with any of the following commands:

removepkg foo-1.0-i586-1.txz (also recognized: .tgz, .tbz, .tlz)

removepkg foo-1.0-i586-1

removepkg foo.txz

removepkg foo

When deleting files,
.B removepkg
will analyze the contents of the other packages installed on your system, and
will only delete the files that are unique to the package being removed. 
Similarly, the installation scripts for all the other packages will be 
considered when deciding whether or not to delete symbolic links from the
package.
.LP
Removing a package (as well as installing one) can be a dangerous undertaking.
For this reason, there is the
.B \-warn
option available. When you use this,
.B removepkg
will not actually remove any files or links, but will output a detailed report
of what it would do if you actually did remove the package. It's suggested that
you do this (and maybe pipe the output to 
.B less
) before removing packages to make sure you've backed up anything that might
be important.
.LP
When removing a package, its original file index will be moved from 
/var/lib/pkgtools/packages to /var/log/pkgtools/removed_packages. Likewise, its installation
script will be moved from /var/lib/pkgtools/scripts to /var/log/pkgtools/removed_scripts.
.LP
.B removepkg
supports /bin/sh compatible uninstall scripts.
If the package shipped with an uninstall script, it will be run after the package
is removed. If present, the uninstall script resides in the /var/lib/pkgtools/douninst.sh/
directory and has the same full name as the package (without the extension). For example,
a package named foo-1.0-noarch-1.txz might contain an uninstall script named:
/var/lib/pkgtools/douninst.sh/foo-1.0-noarch-1
.LP
A package's uninstall script may either ship directly in /var/lib/pkgtools/douninst.sh/ as
the correctly-named file, or it may ship as /install/douninst.sh. In the latter case, it
will be renamed and placed in /var/lib/pkgtools/douninst.sh/ by installpkg.
.SH OPTIONS
.TP
.B \--copy packagename
Construct a copy of the package under /var/lib/pkgtools/setup/tmp/preserved_packages/packagename,
but don't remove it.  (same effect as \-warn \-preserve)
.TP
.B \--keep
Save the intermediate files created by removepkg (delete_list,
required_files, uniq_list, del_link_list, required_links,
required_list).  Mostly useful for debugging purposes.
.TP
.B \--preserve packagename
If specified, the complete package subtree is reconstructed in
/var/lib/pkgtools/setup/tmp/preserved_packages/packagename.
.TP
.B \--skip-douninst
Skip running the the uninstall script.
.TP
.B \--terse
Remove the package displaying only a single description line to stdout.
.TP
.B \--warn packagename
Generate a report to the standard output about which files and directories
would be removed, but does not actually remove the package.
.SH " "
It's possible to remove a package from a filesystem
other than / by supplying
.B removepkg
with a
.B ROOT
environment variable:
.TP
.B ROOT=/mnt removepkg package

.SH AUTHORS
Patrick J. Volkerding <volkerdi@slackware.com>,
with enhancements by Christian Franke <c.franke@acm.org>
.SH "SEE ALSO"
.BR installpkg(8),
.BR makepkg(8),
.BR pkgtool(8), 
.BR upgradepkg(8)