1PACO(8) System PACO(8)
2
3
4
6 paco - a source code package organizer
7
9 paco [OPTIONS] <packages>
10 paco -l [OPTIONS] <package> <command>
11 paco -q <files>
12
14 Paco is a program to aid package management when installing packages
15 from source code.
16
17 When installing a package, paco can be used in log mode (with option
18 -l) to wrap the installation command (e.g. "make install"), and log the
19 created files. By default the log is stored in directory
20 '/var/log/paco'.
21
22 Once some packages are installed and properly logged, paco can be used
23 in list mode, which is the default, to display package information.
24 Several options are provided to print the information in different for‐
25 mats.
26
27 There are also options to remove packages, query for the owner of
28 files, or maintain the package database.
29
30 Mandatory arguments to long options are mandatory for short options
31 too.
32
33 The special option -- forces and end of option-scanning. This is spe‐
34 cially useful when entering the install command in log mode.
35
37 -a, --all
38 Apply the specified action to all logged packages. This doesn't
39 work with option -r.
40
41 -h, --help
42 Display a help message and exit.
43
44 -L, --logdir=DIR
45 Base log directory. Default is '/var/log/paco', unless variable
46 LOGDIR is set in the configuration file (type 'man pacorc' for
47 more information).
48
49 -v, --verbose
50 Verbose output. -vv prints also debugging messages (only mean‐
51 ingful with option -l).
52
53 --version
54 Display version information and exit.
55
57 -u, --update
58 Synchronize the log of the package with the current status of
59 the filesystem, calculating the size of the logged files and
60 checking whether they are missing. If a file becomes compressed
61 or uncompressed (with bzip2 or gzip), it is detected as well.
62 Use along with -a to update the whole database.
63
64 -U, --unlog
65 Remove the log of the package from the database.
66
68 -b, --block-size=SIZE
69 Use blocks of SIZE bytes for the sizes. SIZE may be an integer,
70 optionally followed by one of the following: k, K, m, M.
71
72 -k, --kilobytes
73 Like '--block-size=1k', or '--block-size=1024'.
74
75 --sort=WORD
76 Sort the list by WORD: When listing files, meaningful values for
77 WORD are: 'name' and 'size'. When listing packages, WORD may be
78 also: 'date' (or 'time'), 'files', 'missing-files' or 'missing-
79 size'.
80
81 -R, --reverse
82 Reverse order while sorting.
83
84 -t, --total
85 Print totals at the bottom of the list.
86
88 -1, --one-column
89 List one package per line.
90
91 -F Print the number of installed files.
92
93 -M Print the number of missing files.
94
95 -C Print the number of shared files (both installed and missing).
96
97 -d, --date
98 Show installation date (-dd shows the hour too).
99
100 -s, --size
101 Show the currently installed size of each package; in human
102 readable format by default (e.g. 1.2M, 13k).
103
104 -n, --missing-size
105 Print the missing size of each package (= original size - cur‐
106 rent size).
107
109 -f, --files
110 List currently installed files of the package.
111
112 -m, --missing-files
113 List missing files (those files removed after the installation
114 of the package). -f and -m options can be used together.
115
116 -c, --shared
117 With -f and/or -m, list only the shared files (those files also
118 logged by other packages).
119
120 -N, --non-shared
121 With -f and/or -m, list only the non shared files (those files
122 not logged by any other package).
123
124 -w, --who-shares
125 With -c, print the names of the packages that share each file.
126
127 -y, --symlinks
128 Print the contents of symbolic links.
129
130 -s, --size
131 Print the size of each file; in human readable format by default
132 (e.g. 1.2M, 13k).
133
134 -z, --no-package-name
135 Do not print the name of the package. Useful for scripts.
136
138 Note: Information may be not available for all packages.
139
140 -i, --info
141 Print package information.
142
143 -o, --configure-options
144 Print the configure options the package was built with.
145
146 -q, --query, --owner
147 Query for the packages that own one or more files.
148
150 -l, --log
151 Enable log mode: If a shell command is given as an argument,
152 execute and monitor it, logging the created files, otherwise the
153 list of files to log is read from the standard input.
154 The list of logged files is printed to the standard output,
155 unless any of -p or -D options is used, in which case is assumed
156 that a package is to be logged in the paco database.
157 When a shell comand is monitorized, paco returns the exit code
158 of that command.
159 See EXAMPLES below.
160
161 -p, --package=PKG
162 Specify the name of the package to log, which must begin with an
163 alphanumeric character. With -v, the list of logged files is
164 also printed to the standard error stream. With -vv, paco prints
165 detailed information about the install process. This holds for
166 option -D too.
167
168 -D, --dirname
169 Use the name of the current directory as the name of the package
170 to be logged.
171
172 -E, --exclude=PATH1:PATH2:...
173 Colon-separated list of paths to skip when logging. Default is
174 '/dev:/tmp:/usr/src:/media:/selinux:/sys:/usr/share/info/dir',
175 unless variable EXCLUDE is set in the configuration file (type
176 'man pacorc' for more information).
177 Shell wildcards are allowed in the PATHs. See PATH MATCHING
178 below for more details.
179
180 -I, --include=PATH1:PATH2:...
181 Colon-separated list of paths to scan when logging. Default is
182 '/', unless variable INCLUDE is set in the configuration file
183 (type 'man pacorc' for more information).
184 Shell wildcards are allowed in the PATHs. See PATH MATCHING
185 below for more details.
186
187 --ignore-errors
188 Do not exit if the install command fails. This allows for log‐
189 ging uncomplete installations, and cleanup the system upon an
190 installation failure. Errors are not ignored by default, unless
191 variable LOG_IGNORE_ERRORS is set to 1 in the configuration file
192 (type 'man pacorc' for more information).
193
194 --log-missing
195 Log also the missing files (they are skipped by default). See
196 EXAMPLES below.
197
198 -+, --append
199 With -p or -D, if the package is already logged, append the list
200 of files to its log.
201
203 -r, --remove
204 Remove a package, keeping the shared files and asking for con‐
205 firmation by default. Compressed files (with gzip or bzip2) are
206 also removed. If the option is doubled (-rr), or all logged
207 files are successfully removed, the package is removed from the
208 database.
209
210 -B, --batch
211 Don't prompt for confirmation when removing (and assume yes to
212 all questions).
213
214 -e, --skip=PATH1:PATH2:...
215 Don't remove files in these paths.
216 Shell wildcards are allowed in the PATHs. See PATH MATCHING
217 below for more details.
218
219 --remove-shared
220 Remove also the shared files.
221
223 Options -I, -E and -e accept a colon-separated list of paths, each of
224 which may contain shell-like wildcards (*, ? and [..]). Files are
225 matched against each of those paths, following the standard shell-like
226 expansion, but with the following exception: If a path in the list does
227 not contain any wildcard, and it is a directory, it matches any file
228 within that directory.
229 Note that if wildcards are to be used, the whole list of paths must be
230 enclosed in single quotes (') to protect it from being expanded by the
231 shell.
232
234 To log the installation of the package 'foo-1.0', which is installed
235 with the command 'make -C src install':
236
237 paco -lp foo-1.0 "make -C src install"
238
239 Note that in this example the quotes are required to prevent paco to
240 treat '-C' as a command line option.
241 Use single quotes if the command already contains double quotes:
242
243 paco -lp foo-1.0 'echo "hello world" > /var/log/foo.log'
244
245 The special end-of-option argument '--' may be used for the same pur‐
246 pose:
247
248 paco -lp foo-1.0 -- make -C src install
249
250 Alternatively, we can use the basename of the current directory as the
251 name of the package to log, using the option -D instead of -p:
252
253 paco -lD "make install && make install.man"
254
255 If we have forgotten to install a file, it can be added to a previously
256 created log with the option -+:
257
258 paco -lp+ foo-1.0 "install foo /bin/foo"
259
260 Note that the option -+ cannot be used to remove a file from the log.
261 For instance, the following command:
262
263 paco -lp+ foo-1.0 "rm /bin/foo"
264
265 would not unlog the file /bin/foo from the log of foo-1.0, but it would
266 mark it as missing instead.
267
268 To avoid such behaviour it is sometimes useful to join up composed
269 install commands into one single command and run paco once. For
270 instance, imagine that a package installs the file /bin/foo, but we
271 want it to be installed in /usr/bin/foo. If one runs this:
272
273 paco -lp foo-1.0 make install
274 paco -lp+ foo-1.0 "mv /bin/foo /usr/bin/foo"
275
276 Both files, /bin/foo and /usr/bin/foo remain in the log. /usr/bin/foo
277 is marked as installed, and /bin/foo is marked as missing. This is usu‐
278 ally not the desired behaviour. As a workaround one can join up both
279 commands in one single paco run:
280
281 paco -lp foo-1.0 "make install && mv /bin/foo /usr/bin/foo"
282
283 In this case only /usr/bin/foo is logged.
284
285 The understand the meaning of the option --log-missing, consider the
286 following example, where the file /foo/bar does not exist:
287
288 echo /foo/bar | paco --log-missing -lp foo
289
290 This would log the file /foo/bar, even if it is missing. Without the
291 option --log-missing /foo/bar is skipped.
292
293 To remove all versions of the package foo, keeping the files in /etc
294 and /root, and without asking for confirmation:
295
296 paco -r --batch -e /etc:/root foo
297
298 To remove the package foo-3.3, keeping the files in /var/log and the
299 files ending with ".conf":
300
301 paco -r -e '/var/log:*.conf' foo-3.3
302
303 We have installed the package 'bubble-1.9' in prefix '/opt/bubble-1.9',
304 but we haven't logged the installation with paco. No problem! Just cre‐
305 ate a log for it thusly:
306
307 find /opt/bubble-1.9 | paco -lp bubble-1.9
308
309
311 Due to LD_PRELOAD limitations, paco can't follow the trace of suid pro‐
312 grams.
313 For the same reason, paco does not work with programs that statically
314 link libc.
315
317 /etc/pacorc - configuration file
318 /var/log/paco - default log directory
319
321 The latest version of paco should be always available at:
322 http://paco.sourceforge.net
323
325 Copyright (C) 2004-2009 David Rosal <davidrr@sourceforge.net>
326 This is free software; see the source for copying conditions. There is
327 NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
328 PURPOSE.
329
331 pacorc(5), pacoball(8), superpaco(8), rpm2paco(8)
332
333
334
335paco-2.0.9 28 June 2010 PACO(8)