| @@ -1,857 +1,869 @@ | | | @@ -1,857 +1,869 @@ |
1 | .\" $NetBSD: sup.1,v 1.14 2003/01/02 00:22:31 jschauma Exp $ | | 1 | .\" $NetBSD: sup.1,v 1.15 2008/10/01 12:43:46 christos Exp $ |
2 | .\" | | 2 | .\" |
3 | .\" Copyright (c) 1992 Carnegie Mellon University | | 3 | .\" Copyright (c) 1992 Carnegie Mellon University |
4 | .\" All Rights Reserved. | | 4 | .\" All Rights Reserved. |
5 | .\" | | 5 | .\" |
6 | .\" Permission to use, copy, modify and distribute this software and its | | 6 | .\" Permission to use, copy, modify and distribute this software and its |
7 | .\" documentation is hereby granted, provided that both the copyright | | 7 | .\" documentation is hereby granted, provided that both the copyright |
8 | .\" notice and this permission notice appear in all copies of the | | 8 | .\" notice and this permission notice appear in all copies of the |
9 | .\" software, derivative works or modified versions, and any portions | | 9 | .\" software, derivative works or modified versions, and any portions |
10 | .\" thereof, and that both notices appear in supporting documentation. | | 10 | .\" thereof, and that both notices appear in supporting documentation. |
11 | .\" | | 11 | .\" |
12 | .\" CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" | | 12 | .\" CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" |
13 | .\" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR | | 13 | .\" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR |
14 | .\" ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. | | 14 | .\" ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. |
15 | .\" | | 15 | .\" |
16 | .\" Carnegie Mellon requests users of this software to return to | | 16 | .\" Carnegie Mellon requests users of this software to return to |
17 | .\" | | 17 | .\" |
18 | .\" Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU | | 18 | .\" Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU |
19 | .\" School of Computer Science | | 19 | .\" School of Computer Science |
20 | .\" Carnegie Mellon University | | 20 | .\" Carnegie Mellon University |
21 | .\" Pittsburgh PA 15213-3890 | | 21 | .\" Pittsburgh PA 15213-3890 |
22 | .\" | | 22 | .\" |
23 | .\" any improvements or extensions that they make and grant Carnegie Mellon | | 23 | .\" any improvements or extensions that they make and grant Carnegie Mellon |
24 | .\" the rights to redistribute these changes. | | 24 | .\" the rights to redistribute these changes. |
25 | .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | | 25 | .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
26 | .\" HISTORY | | 26 | .\" HISTORY |
27 | .\" Revision 1.4 92/08/11 12:08:40 mrt | | 27 | .\" Revision 1.4 92/08/11 12:08:40 mrt |
28 | .\" .TP | | 28 | .\" .TP |
29 | .\" Add description of releases and use-rel-suffix | | 29 | .\" Add description of releases and use-rel-suffix |
30 | .\" [92/07/31 mrt] | | 30 | .\" [92/07/31 mrt] |
31 | .\" | | 31 | .\" |
32 | .\" Revision 1.3 92/02/08 18:24:31 mja | | 32 | .\" Revision 1.3 92/02/08 18:24:31 mja |
33 | .\" Added description of -k and -K switches and "keep" option. | | 33 | .\" Added description of -k and -K switches and "keep" option. |
34 | .\" [92/01/17 vdelvecc] | | 34 | .\" [92/01/17 vdelvecc] |
35 | .\" | | 35 | .\" |
36 | .\" 10-May-86 Glenn Marcy (gm0w) at Carnegie-Mellon University | | 36 | .\" 10-May-86 Glenn Marcy (gm0w) at Carnegie-Mellon University |
37 | .\" Replaced reference to /usr/cmu with /usr/cs. | | 37 | .\" Replaced reference to /usr/cmu with /usr/cs. |
38 | .\" | | 38 | .\" |
39 | .\" 29-Mar-86 Glenn Marcy (gm0w) at Carnegie-Mellon University | | 39 | .\" 29-Mar-86 Glenn Marcy (gm0w) at Carnegie-Mellon University |
40 | .\" Updated manual entry to version 5.14 of sup. | | 40 | .\" Updated manual entry to version 5.14 of sup. |
41 | .\" | | 41 | .\" |
42 | .\" 14-Jan-86 Glenn Marcy (gm0w) at Carnegie-Mellon University | | 42 | .\" 14-Jan-86 Glenn Marcy (gm0w) at Carnegie-Mellon University |
43 | .\" Updated manual entry to version 5.7 of sup. | | 43 | .\" Updated manual entry to version 5.7 of sup. |
44 | .\" | | 44 | .\" |
45 | .\" 04-Apr-85 Steven Shafer (sas) at Carnegie-Mellon University | | 45 | .\" 04-Apr-85 Steven Shafer (sas) at Carnegie-Mellon University |
46 | .\" Created. | | 46 | .\" Created. |
47 | .\" | | 47 | .\" |
48 | .TH SUP 1 02/08/92 | | 48 | .TH SUP 1 10/01/08 |
49 | .CM 4 | | 49 | .CM 4 |
50 | .SH "NAME" | | 50 | .SH "NAME" |
51 | sup \- software upgrade protocol | | 51 | sup \- software upgrade protocol |
52 | .SH "SYNOPSIS" | | 52 | .SH "SYNOPSIS" |
53 | \fBsup\fR [ \fIflags\fR ] [ \fIsupfile\fR ] [ \fIcollection\fR ...] | | 53 | \fBsup\fR [ \fIflags\fR ] [ \fIsupfile\fR ] [ \fIcollection\fR ...] |
54 | .SH "DESCRIPTION" | | 54 | .SH "DESCRIPTION" |
55 | .I Sup | | 55 | .I Sup |
56 | is a program used for upgrading collections of files from other machines | | 56 | is a program used for upgrading collections of files from other machines |
57 | to your machine. You execute | | 57 | to your machine. You execute |
58 | .IR sup , | | 58 | .IR sup , |
59 | the | | 59 | the |
60 | .I client | | 60 | .I client |
61 | program, which talks over the network using IP/TCP to a | | 61 | program, which talks over the network using IP/TCP to a |
62 | .I file server | | 62 | .I file server |
63 | process. | | 63 | process. |
64 | The file server process cooperates with | | 64 | The file server process cooperates with |
65 | .I sup | | 65 | .I sup |
66 | to determine which files of the collection need to be upgraded on | | 66 | to determine which files of the collection need to be upgraded on |
67 | your machine. | | 67 | your machine. |
68 | | | 68 | |
69 | Sup collections can have multiple releases. One use for such releases is | | 69 | Sup collections can have multiple releases. One use for such releases is |
70 | to provide different versions of the same files. At CMU, for example, | | 70 | to provide different versions of the same files. At CMU, for example, |
71 | system binaries have alpha, beta and default release corresponding to | | 71 | system binaries have alpha, beta and default release corresponding to |
72 | different staging levels of the software. We also use release names | | 72 | different staging levels of the software. We also use release names |
73 | default and minimal to provide complete releases or subset releases. | | 73 | default and minimal to provide complete releases or subset releases. |
74 | In both of these cases, it only makes sense to sup one release of the | | 74 | In both of these cases, it only makes sense to sup one release of the |
75 | collections. Releases have also been used in private or external sups to | | 75 | collections. Releases have also been used in private or external sups to |
76 | provide subsets of collections where it makes sense to pick up several | | 76 | provide subsets of collections where it makes sense to pick up several |
77 | of the releases. For example the Mach 3.0 kernel sources has a default | | 77 | of the releases. For example the Mach 3.0 kernel sources has a default |
78 | release of machine independent sources and separate releases of | | 78 | release of machine independent sources and separate releases of |
79 | machine dependent sources for each supported platform. | | 79 | machine dependent sources for each supported platform. |
80 | | | 80 | |
81 | In performing an upgrade, the file server constructs a list of | | 81 | In performing an upgrade, the file server constructs a list of |
82 | files included in the specified release of the collection. The list is sent to your machine, | | 82 | files included in the specified release of the collection. The list is sent to your machine, |
83 | which determines which files are needed. Those files are then sent | | 83 | which determines which files are needed. Those files are then sent |
84 | from the file server. | | 84 | from the file server. |
85 | It will be most useful to run | | 85 | It will be most useful to run |
86 | .I sup | | 86 | .I sup |
87 | as a daemon each night so you will continually have the latest version of the | | 87 | as a daemon each night so you will continually have the latest version of the |
88 | files in the needed collections. | | 88 | files in the needed collections. |
89 | | | 89 | |
90 | The only required argument to | | 90 | The only required argument to |
91 | .I sup | | 91 | .I sup |
92 | is the name of a supfile. It must either be given explicitly on the command | | 92 | is the name of a supfile. It must either be given explicitly on the command |
93 | line, or the | | 93 | line, or the |
94 | .B -s | | 94 | .B -s |
95 | flag must be specified. If the | | 95 | flag must be specified. If the |
96 | .B -s | | 96 | .B -s |
97 | flag is given, the system supfile will be used and a supfile command argument | | 97 | flag is given, the system supfile will be used and a supfile command argument |
98 | should not be specified. The list of collections is optional and if specified | | 98 | should not be specified. The list of collections is optional and if specified |
99 | will be the only collections upgraded. The following flags affect all | | 99 | will be the only collections upgraded. The following flags affect all |
100 | collections specified: | | 100 | collections specified: |
101 | .TP | | 101 | .TP |
102 | .B -s | | 102 | .B -s |
103 | As described above. | | 103 | As described above. |
104 | .TP | | 104 | .TP |
105 | .B -t | | 105 | .B -t |
106 | When this flag is given, | | 106 | When this flag is given, |
107 | .I sup | | 107 | .I sup |
108 | will print the time | | 108 | will print the time |
109 | that each collection was last upgraded, rather than | | 109 | that each collection was last upgraded, rather than |
110 | performing actual upgrades. | | 110 | performing actual upgrades. |
111 | .TP | | 111 | .TP |
112 | .B -u | | 112 | .B -u |
113 | When this flag is given, | | 113 | When this flag is given, |
114 | .I sup | | 114 | .I sup |
115 | will not try to restore the user access and modified times of files in | | 115 | will not try to restore the user access and modified times of files in |
116 | the collections from the server. | | 116 | the collections from the server. |
117 | .TP | | 117 | .TP |
118 | .B -S | | 118 | .B -S |
119 | Operate silently printing messages only on errors. | | 119 | Operate silently printing messages only on errors. |
120 | .TP | | 120 | .TP |
121 | .B -N | | 121 | .B -N |
122 | .I Sup | | 122 | .I Sup |
123 | will trace network messages sent and received that implement the | | 123 | will trace network messages sent and received that implement the |
124 | .I sup | | 124 | .I sup |
125 | network protocol. | | 125 | network protocol. |
126 | .TP | | 126 | .TP |
127 | .B -P | | 127 | .B -P |
128 | Sup will use a set of non-privileged network | | 128 | Sup will use a set of non-privileged network |
129 | ports reserved for debugging purposes. | | 129 | ports reserved for debugging purposes. |
130 | .i0 | | 130 | .i0 |
131 | .DT | | 131 | .DT |
132 | .PP | | 132 | .PP |
133 | | | 133 | |
134 | The remaining flags affect all collections unless an explicit list | | 134 | The remaining flags affect all collections unless an explicit list |
135 | of collections are given with the flags. Multiple flags may be | | 135 | of collections are given with the flags. Multiple flags may be |
136 | specified together that affect the same collections. For the sake | | 136 | specified together that affect the same collections. For the sake |
137 | of convenience, any flags that always affect all collections can be | | 137 | of convenience, any flags that always affect all collections can be |
138 | specified with flags that affect only some collections. For | | 138 | specified with flags that affect only some collections. For |
139 | example, | | 139 | example, |
140 | .B sup -sde=coll1,coll2 | | 140 | .B sup -sde=coll1,coll2 |
141 | would perform a system upgrade, | | 141 | would perform a system upgrade, |
142 | and the first two collections would allow both file deletions and | | 142 | and the first two collections would allow both file deletions and |
143 | command executions. Note that this is not the same command as | | 143 | command executions. Note that this is not the same command as |
144 | .B sup -sde=coll1 coll2, | | 144 | .B sup -sde=coll1 coll2, |
145 | which would perform a system upgrade of | | 145 | which would perform a system upgrade of |
146 | just the coll2 collection and would ignore the flags given for the | | 146 | just the coll2 collection and would ignore the flags given for the |
147 | coll1 collection. | | 147 | coll1 collection. |
148 | .TP | | 148 | .TP |
149 | .B -a | | 149 | .B -a |
150 | All files in the collection will be copied from | | 150 | All files in the collection will be copied from |
151 | the repository, regardless of their status on the | | 151 | the repository, regardless of their status on the |
152 | current machine. Because of this, it is a very | | 152 | current machine. Because of this, it is a very |
153 | expensive operation and should only be done for | | 153 | expensive operation and should only be done for |
154 | small collections if data corruption is suspected | | 154 | small collections if data corruption is suspected |
155 | and been confirmed. In most cases, the | | 155 | and been confirmed. In most cases, the |
156 | .B -o | | 156 | .B -o |
157 | flag should be sufficient. | | 157 | flag should be sufficient. |
158 | .TP | | 158 | .TP |
159 | .B -b | | 159 | .B -b |
160 | If the | | 160 | If the |
161 | .B -b | | 161 | .B -b |
162 | flag if given, or the | | 162 | flag if given, or the |
163 | .B backup | | 163 | .B backup |
164 | supfile | | 164 | supfile |
165 | option is specified, the contents of regular files | | 165 | option is specified, the contents of regular files |
166 | on the local system will be saved before they are | | 166 | on the local system will be saved before they are |
167 | overwritten with new data. The file collection maintainer | | 167 | overwritten with new data. The file collection maintainer |
168 | can designate specific files to be | | 168 | can designate specific files to be |
169 | worthy of backing up whenever they are upgraded. | | 169 | worthy of backing up whenever they are upgraded. |
170 | However, such | | 170 | However, such |
171 | backup will only take place if you specify this flag or the | | 171 | backup will only take place if you specify this flag or the |
172 | .B backup | | 172 | .B backup |
173 | option to allow | | 173 | option to allow |
174 | backups for a file collection on your machine. | | 174 | backups for a file collection on your machine. |
175 | The backup mechanism | | 175 | The backup mechanism |
176 | will create a copy of the current version of a file immediately | | 176 | will create a copy of the current version of a file immediately |
177 | before a new copy is received from the file server; the copy is | | 177 | before a new copy is received from the file server; the copy is |
178 | given the same name as the original file but is put into a directory | | 178 | given the same name as the original file but is put into a directory |
179 | called | | 179 | called |
180 | .B | | 180 | .B |
181 | BACKUP | | 181 | BACKUP |
182 | within the directory containing the original file. | | 182 | within the directory containing the original file. |
183 | For example, | | 183 | For example, |
184 | .B | | 184 | .B |
185 | /usr/sas/src/foo.c | | 185 | /usr/sas/src/foo.c |
186 | would have a backup copy called | | 186 | would have a backup copy called |
187 | .B | | 187 | .B |
188 | /usr/sas/src/BACKUP/foo.c. | | 188 | /usr/sas/src/BACKUP/foo.c. |
189 | There is no provision for automatically maintaining multiple old | | 189 | There is no provision for automatically maintaining multiple old |
190 | versions of files; you would have to do this yourself. | | 190 | versions of files; you would have to do this yourself. |
191 | .TP | | 191 | .TP |
192 | .B -B | | 192 | .B -B |
193 | The | | 193 | The |
194 | .B -B | | 194 | .B -B |
195 | flag overrides and disables the | | 195 | flag overrides and disables the |
196 | .B -b | | 196 | .B -b |
197 | flag and the | | 197 | flag and the |
198 | .B backup | | 198 | .B backup |
199 | supfile option. | | 199 | supfile option. |
200 | .TP | | 200 | .TP |
201 | .B -d | | 201 | .B -d |
202 | Files that are no longer in the collection on the | | 202 | Files that are no longer in the collection on the |
203 | repository will be deleted if present on the local | | 203 | repository will be deleted if present on the local |
204 | machine and were put there by a previous sup. | | 204 | machine and were put there by a previous sup. |
205 | This may also be specified in a supfile with the | | 205 | This may also be specified in a supfile with the |
206 | .B delete | | 206 | .B delete |
207 | option. | | 207 | option. |
208 | .TP | | 208 | .TP |
209 | .B -D | | 209 | .B -D |
210 | The | | 210 | The |
211 | .B -D | | 211 | .B -D |
212 | flag overrides and disables the | | 212 | flag overrides and disables the |
213 | .B -d | | 213 | .B -d |
214 | flag and the | | 214 | flag and the |
215 | .B delete | | 215 | .B delete |
216 | supfile option. | | 216 | supfile option. |
217 | .TP | | 217 | .TP |
218 | .B -e | | 218 | .B -e |
219 | Sup will execute commands sent from the repository | | 219 | Sup will execute commands sent from the repository |
220 | that should be run when a file is upgraded. If | | 220 | that should be run when a file is upgraded. If |
221 | the | | 221 | the |
222 | .B -e | | 222 | .B -e |
223 | flag is omitted, Sup will print a message | | 223 | flag is omitted, Sup will print a message |
224 | that specifies the command to execute. This may | | 224 | that specifies the command to execute. This may |
225 | also be specified in a supfile with the | | 225 | also be specified in a supfile with the |
226 | .B execute | | 226 | .B execute |
227 | option. | | 227 | option. |
228 | .TP | | 228 | .TP |
229 | .B -E | | 229 | .B -E |
230 | The | | 230 | The |
231 | .B -E | | 231 | .B -E |
232 | flag overrides and disables the | | 232 | flag overrides and disables the |
233 | .B -e | | 233 | .B -e |
234 | flag and the | | 234 | flag and the |
235 | .B execute | | 235 | .B execute |
236 | supfile option. | | 236 | supfile option. |
237 | .TP | | 237 | .TP |
238 | .B -f | | 238 | .B -f |
239 | A | | 239 | A |
240 | .I list-only | | 240 | .I list-only |
241 | upgrade will be performed. Messages | | 241 | upgrade will be performed. Messages |
242 | will be printed that indicate what would happen if | | 242 | will be printed that indicate what would happen if |
243 | an actual upgrade were done. | | 243 | an actual upgrade were done. |
244 | .TP | | 244 | .TP |
245 | .B -k | | 245 | .B -k |
246 | .I Sup | | 246 | .I Sup |
247 | will check the modification times of | | 247 | will check the modification times of |
248 | files on the local disk before updating them. Only files which are | | 248 | files on the local disk before updating them. Only files which are |
249 | newer on the repository than on the local disk will be updated; | | 249 | newer on the repository than on the local disk will be updated; |
250 | files that are newer on the local disk will be kept as they are. | | 250 | files that are newer on the local disk will be kept as they are. |
251 | This may also be specified in a supfile with the | | 251 | This may also be specified in a supfile with the |
252 | .B keep | | 252 | .B keep |
253 | option. | | 253 | option. |
254 | .TP | | 254 | .TP |
255 | .B -K | | 255 | .B -K |
256 | The | | 256 | The |
257 | .B -K | | 257 | .B -K |
258 | flag overrides and disables the | | 258 | flag overrides and disables the |
259 | .B -k | | 259 | .B -k |
260 | flag and the | | 260 | flag and the |
261 | .B keep | | 261 | .B keep |
262 | supfile option. | | 262 | supfile option. |
263 | .TP | | 263 | .TP |
264 | .B -l | | 264 | .B -l |
265 | Normally, | | 265 | Normally, |
266 | .I sup | | 266 | .I sup |
267 | will not upgrade a collection if the | | 267 | will not upgrade a collection if the |
268 | repository is on the same machine. This allows | | 268 | repository is on the same machine. This allows |
269 | users to run upgrades on all machines without | | 269 | users to run upgrades on all machines without |
270 | having to make special checks for the repository | | 270 | having to make special checks for the repository |
271 | machine. If the | | 271 | machine. If the |
272 | .B -l | | 272 | .B -l |
273 | flag is specified, collections | | 273 | flag is specified, collections |
274 | will be upgraded even if the repository is local. | | 274 | will be upgraded even if the repository is local. |
275 | .TP | | 275 | .TP |
276 | .B -m | | 276 | .B -m |
277 | Normally, | | 277 | Normally, |
278 | .I sup | | 278 | .I sup |
279 | used standard output for messages. | | 279 | used standard output for messages. |
280 | If the | | 280 | If the |
281 | .B -m | | 281 | .B -m |
282 | flag if given, | | 282 | flag if given, |
283 | .I sup | | 283 | .I sup |
284 | will send mail to the user running | | 284 | will send mail to the user running |
285 | .IR sup , | | 285 | .IR sup , |
286 | or a user specified with the | | 286 | or a user specified with the |
287 | .B notify | | 287 | .B notify |
288 | supfile option, that contains messages | | 288 | supfile option, that contains messages |
289 | printed by | | 289 | printed by |
290 | .IR sup . | | 290 | .IR sup . |
291 | .TP | | 291 | .TP |
292 | .B -o | | 292 | .B -o |
293 | .I Sup | | 293 | .I Sup |
294 | will normally only upgrade files that have | | 294 | will normally only upgrade files that have |
295 | changed on the repository since the last time an | | 295 | changed on the repository since the last time an |
296 | upgrade was performed. That is, if the file in the | | 296 | upgrade was performed. That is, if the file in the |
297 | repository is newer than the date stored in the | | 297 | repository is newer than the date stored in the |
298 | .I when | | 298 | .I when |
299 | file on the client. The | | 299 | file on the client. The |
300 | .B -o | | 300 | .B -o |
301 | flag, or the | | 301 | flag, or the |
302 | .B old | | 302 | .B old |
303 | supfile option, will cause | | 303 | supfile option, will cause |
304 | .I sup | | 304 | .I sup |
305 | to check all files | | 305 | to check all files |
306 | in the collection for changes instead of just the | | 306 | in the collection for changes instead of just the |
307 | new ones. | | 307 | new ones. |
308 | .TP | | 308 | .TP |
309 | .B -O | | 309 | .B -O |
310 | The | | 310 | The |
311 | .B -O | | 311 | .B -O |
312 | flag overrides and disables the | | 312 | flag overrides and disables the |
313 | .B -o | | 313 | .B -o |
314 | flag and the | | 314 | flag and the |
315 | .B old | | 315 | .B old |
316 | supfile option. | | 316 | supfile option. |
317 | .TP | | 317 | .TP |
318 | .B -z | | 318 | .B -z |
319 | Normally sup transfers files directly without any | | 319 | Normally sup transfers files directly without any |
320 | other processing, but with the | | 320 | other processing, but with the |
321 | .B -z | | 321 | .B -z |
322 | flag, or the | | 322 | flag, or the |
323 | .B compress | | 323 | .B compress |
324 | supfile option, sup will compress the file | | 324 | supfile option, sup will compress the file |
325 | before sending it across the network and | | 325 | before sending it across the network and |
326 | uncompress it and restore all the correct | | 326 | uncompress it and restore all the correct |
327 | file attributes at the receiving end. | | 327 | file attributes at the receiving end. |
328 | .TP | | 328 | .TP |
329 | .B -Z | | 329 | .B -Z |
330 | The | | 330 | The |
331 | .B -Z | | 331 | .B -Z |
332 | flag overrides and disables the | | 332 | flag overrides and disables the |
333 | .B -z | | 333 | .B -z |
334 | flag and the | | 334 | flag and the |
335 | .B compress | | 335 | .B compress |
336 | supfile option. | | 336 | supfile option. |
337 | .TP | | 337 | .TP |
338 | .B -v | | 338 | .B -v |
339 | Normally, | | 339 | Normally, |
340 | .I sup | | 340 | .I sup |
341 | will only print messages if there | | 341 | will only print messages if there |
342 | are problems. This flag causes | | 342 | are problems. This flag causes |
343 | .I sup | | 343 | .I sup |
344 | to also print | | 344 | to also print |
345 | messages during normal progress showing what | | 345 | messages during normal progress showing what |
346 | .I sup | | 346 | .I sup |
347 | is doing. | | 347 | is doing. |
348 | .i0 | | 348 | .i0 |
349 | .DT | | 349 | .DT |
350 | .PP | | 350 | .PP |
351 | .SH "SETTING UP UPGRADES" | | 351 | .SH "SETTING UP UPGRADES" |
352 | Each file collection to be upgraded must have a | | 352 | Each file collection to be upgraded must have a |
353 | .I base directory | | 353 | .I base directory |
354 | which contains a subdirectory called | | 354 | which contains a subdirectory called |
355 | .B sup | | 355 | .B sup |
356 | that will be used by the | | 356 | that will be used by the |
357 | .I sup | | 357 | .I sup |
358 | program; it will be created automatically if you do not create it. | | 358 | program; it will be created automatically if you do not create it. |
359 | .I Sup | | 359 | .I Sup |
360 | will put subdirectories and files into this directory as needed. | | 360 | will put subdirectories and files into this directory as needed. |
361 | | | 361 | |
362 | .I Sup | | 362 | .I Sup |
363 | will look for a subdirectory with the same name as the | | 363 | will look for a subdirectory with the same name as the |
364 | collection within the | | 364 | collection within the |
365 | .B sup | | 365 | .B sup |
366 | subdirectory of the | | 366 | subdirectory of the |
367 | .I base directory. | | 367 | .I base directory. |
368 | If it exists it may contain any of the following files: | | 368 | If it exists it may contain any of the following files: |
369 | .TP | | 369 | .TP |
370 | .B when.\*[Lt]rel-suffix\*[Gt] | | 370 | .B when.\*[Lt]rel-suffix\*[Gt] |
371 | This file is automatically updated by | | 371 | This file is automatically updated by |
372 | .I sup | | 372 | .I sup |
373 | when a collection is successfully upgraded and contains the | | 373 | when a collection is successfully upgraded and contains the |
374 | time that the file server, or possibly | | 374 | time that the file server, or possibly |
375 | .IR supscan , | | 375 | .IR supscan , |
376 | created the list of files in the upgrade list. | | 376 | created the list of files in the upgrade list. |
377 | .I Sup | | 377 | .I Sup |
378 | will send this time to the file server for generating the list | | 378 | will send this time to the file server for generating the list |
379 | of files that have been changed on the repository machine. | | 379 | of files that have been changed on the repository machine. |
380 | .TP | | 380 | .TP |
381 | .B refuse | | 381 | .B refuse |
382 | This file contains a list of files and directories, one per line, that | | 382 | This file contains a list of files and directories, one per line, that |
383 | the client is not interested in that should not be upgraded. | | 383 | the client is not interested in that should not be upgraded. |
384 | .TP | | 384 | .TP |
385 | .B lock | | 385 | .B lock |
386 | This file is used by | | 386 | This file is used by |
387 | .I sup | | 387 | .I sup |
388 | to lock a collection while it is being upgraded. | | 388 | to lock a collection while it is being upgraded. |
389 | .I Sup | | 389 | .I Sup |
390 | will get exclusive access to the lock file using | | 390 | will get exclusive access to the lock file using |
391 | .IR flock (2), | | 391 | .IR flock (2), |
392 | preventing more than one | | 392 | preventing more than one |
393 | .I sup | | 393 | .I sup |
394 | from upgrading the same collection at the same time. | | 394 | from upgrading the same collection at the same time. |
395 | .TP | | 395 | .TP |
396 | .B last.\*[Lt]rel-suffix\*[Gt] | | 396 | .B last.\*[Lt]rel-suffix\*[Gt] |
397 | This file contains a list of files and directories, one per line, that | | 397 | This file contains a list of files and directories, one per line, that |
398 | have been upgraded by | | 398 | have been upgraded by |
399 | .I sup | | 399 | .I sup |
400 | in the past. This information is used when the | | 400 | in the past. This information is used when the |
401 | .B delete | | 401 | .B delete |
402 | option, or the | | 402 | option, or the |
403 | .B -d | | 403 | .B -d |
404 | flag is used to locate files previously upgraded that are no longer | | 404 | flag is used to locate files previously upgraded that are no longer |
405 | in the collection that should be deleted. | | 405 | in the collection that should be deleted. |
406 | .i0 | | 406 | .i0 |
407 | .DT | | 407 | .DT |
408 | .PP | | 408 | .PP |
409 | | | 409 | |
410 | Each file collection must also be described in one or more supfiles. | | 410 | Each file collection must also be described in one or more supfiles. |
411 | When | | 411 | When |
412 | .I sup | | 412 | .I sup |
413 | is executed, it reads the specified supfile to determine what file | | 413 | is executed, it reads the specified supfile to determine what file |
414 | collections and releases to upgrade. | | 414 | collections and releases to upgrade. |
415 | Each collection-release set is described by a single | | 415 | Each collection-release set is described by a single |
416 | line of text in the supfile; this line must contain the name of the | | 416 | line of text in the supfile; this line must contain the name of the |
417 | collection, and possibly one or more options separated by spaces. | | 417 | collection, and possibly one or more options separated by spaces. |
418 | The options are: | | 418 | The options are: |
419 | .TP | | 419 | .TP |
420 | .BI release= releasename | | 420 | .BI release= releasename |
421 | If a collection contains multiple releases, you need to specify which | | 421 | If a collection contains multiple releases, you need to specify which |
422 | release you want. You can only specify one release per line, so | | 422 | release you want. You can only specify one release per line, so |
423 | if you want multiple releases from the same collections, you will need | | 423 | if you want multiple releases from the same collections, you will need |
424 | to specify the collection more than once. In this case, you should use | | 424 | to specify the collection more than once. In this case, you should use |
425 | the | | 425 | the |
426 | .I use-rel-suffix | | 426 | .I use-rel-suffix |
427 | option in the supfile | | 427 | option in the supfile |
428 | to keep the last and when files for the two releases separate. | | 428 | to keep the last and when files for the two releases separate. |
429 | .TP | | 429 | .TP |
430 | .BI base= directory | | 430 | .BI base= directory |
431 | The usual default name of the base directory for a collection is | | 431 | The usual default name of the base directory for a collection is |
432 | described below (see FILES); if you want to specify another | | 432 | described below (see FILES); if you want to specify another |
433 | directory name, use this option specifying the desired | | 433 | directory name, use this option specifying the desired |
434 | directory. | | 434 | directory. |
435 | .TP | | 435 | .TP |
436 | .BI prefix= directory | | 436 | .BI prefix= directory |
437 | Each collection may also have an associated | | 437 | Each collection may also have an associated |
438 | .I prefix directory | | 438 | .I prefix directory |
439 | which is used instead of the base directory to specify in what | | 439 | which is used instead of the base directory to specify in what |
440 | directory files within the collection will be placed. | | 440 | directory files within the collection will be placed. |
441 | .TP | | 441 | .TP |
442 | .BI host= hostname | | 442 | .BI host= hostname |
443 | .br | | 443 | .br |
444 | .ns | | 444 | .ns |
445 | .TP | | 445 | .TP |
446 | .BI hostbase= directory | | 446 | .BI hostbase= directory |
447 | .br | | 447 | .br |
448 | .I System | | 448 | .I System |
449 | collections are supported by the system maintainers, and | | 449 | collections are supported by the system maintainers, and |
450 | .I sup | | 450 | .I sup |
451 | will automatically find out the name of the host machine and | | 451 | will automatically find out the name of the host machine and |
452 | base directory on that machine. | | 452 | base directory on that machine. |
453 | However, you can also upgrade | | 453 | However, you can also upgrade |
454 | .I private | | 454 | .I private |
455 | collections; you simply specify with these options | | 455 | collections; you simply specify with these options |
456 | the | | 456 | the |
457 | .I hostname | | 457 | .I hostname |
458 | of the machine containing the files and the | | 458 | of the machine containing the files and the |
459 | .I directory | | 459 | .I directory |
460 | used as a base directory for the file server on that machine. | | 460 | used as a base directory for the file server on that machine. |
461 | Details of setting up a file collection are given in the section | | 461 | Details of setting up a file collection are given in the section |
462 | below. | | 462 | below. |
463 | .TP | | 463 | .TP |
464 | .BI login= accountid | | 464 | .BI login= accountid |
465 | .br | | 465 | .br |
466 | .ns | | 466 | .ns |
467 | .TP | | 467 | .TP |
468 | .BI password= password | | 468 | .BI password= password |
469 | .br | | 469 | .br |
470 | .br | | 470 | .br |
471 | .ns | | 471 | .ns |
472 | .TP | | 472 | .TP |
473 | .BI crypt= key | | 473 | .BI crypt= key |
474 | .br | | 474 | .br |
475 | Files on the file server may be protected, and network transmissions | | 475 | Files on the file server may be protected, and network transmissions |
476 | may be encrypted. | | 476 | may be encrypted. |
477 | This prevents unauthorized access to files via | | 477 | This prevents unauthorized access to files via |
478 | .IR sup . | | 478 | .IR sup . |
479 | When files are not accessible to the default account (e.g. | | 479 | When files are not accessible to the default account (e.g. |
480 | the | | 480 | the |
481 | .B anon | | 481 | .B anon |
482 | anonymous account), you can specify an alternative | | 482 | anonymous account), you can specify an alternative |
483 | .I accountid | | 483 | .I accountid |
484 | and | | 484 | and |
485 | .I password | | 485 | .I password |
486 | for the file server to use on the repository host. | | 486 | for the file server to use on the repository host. |
487 | Network | | 487 | Network |
488 | transmission of the password will be always be encrypted. | | 488 | transmission of the password will be always be encrypted. |
489 | You can | | 489 | You can |
490 | also have the actual file data encrypted by specifying a | | 490 | also have the actual file data encrypted by specifying a |
491 | .IR key ; | | 491 | .IR key ; |
492 | the file collection on the repository must specify the same key | | 492 | the file collection on the repository must specify the same key |
493 | or else | | 493 | or else |
494 | .I sup | | 494 | .I sup |
495 | will not be able to upgrade files from that collection. | | 495 | will not be able to upgrade files from that collection. |
496 | In this case, the default account used by the file server on the | | 496 | In this case, the default account used by the file server on the |
497 | repository machine will be the owner of the encryption key | | 497 | repository machine will be the owner of the encryption key |
498 | file (see FILES) rather than the | | 498 | file (see FILES) rather than the |
499 | .B anon | | 499 | .B anon |
500 | anonymous account. | | 500 | anonymous account. |
501 | .TP | | 501 | .TP |
502 | .BI notify= address | | 502 | .BI notify= address |
503 | If you use the | | 503 | If you use the |
504 | .B | | 504 | .B |
505 | -m | | 505 | -m |
506 | option to receive log messages by mail, you can have the mail | | 506 | option to receive log messages by mail, you can have the mail |
507 | sent to different user, possibly on another host, than the user | | 507 | sent to different user, possibly on another host, than the user |
508 | running the sup program. | | 508 | running the sup program. |
509 | Messages will be sent to the specified | | 509 | Messages will be sent to the specified |
510 | .IR address , | | 510 | .IR address , |
511 | which can be any legal netmail address. | | 511 | which can be any legal netmail address. |
512 | In particular, a | | 512 | In particular, a |
513 | project maintainer can be designated to receive mail for that | | 513 | project maintainer can be designated to receive mail for that |
514 | project's file collection from all users running | | 514 | project's file collection from all users running |
515 | .I sup | | 515 | .I sup |
516 | to upgrade that collection. | | 516 | to upgrade that collection. |
517 | .TP | | 517 | .TP |
518 | .B backup | | 518 | .B backup |
519 | As described above under the | | 519 | As described above under the |
520 | .B -b | | 520 | .B -b |
521 | flag. | | 521 | flag. |
522 | .TP | | 522 | .TP |
523 | .B delete | | 523 | .B delete |
524 | As described above under the | | 524 | As described above under the |
525 | .B -d | | 525 | .B -d |
526 | flag. | | 526 | flag. |
527 | .TP | | 527 | .TP |
528 | .B execute | | 528 | .B execute |
529 | As described above under the | | 529 | As described above under the |
530 | .B -e | | 530 | .B -e |
531 | flag. | | 531 | flag. |
532 | .TP | | 532 | .TP |
533 | .B keep | | 533 | .B keep |
534 | As described above under the | | 534 | As described above under the |
535 | .B -k | | 535 | .B -k |
536 | flag. | | 536 | flag. |
537 | .TP | | 537 | .TP |
538 | .B old | | 538 | .B old |
539 | As described above under the | | 539 | As described above under the |
540 | .B -o | | 540 | .B -o |
541 | flag. | | 541 | flag. |
542 | .TP | | 542 | .TP |
543 | .B use-rel-suffix | | 543 | .B use-rel-suffix |
544 | Causes the release name to be used as a suffix to the | | 544 | Causes the release name to be used as a suffix to the |
545 | .I last | | 545 | .I last |
546 | and | | 546 | and |
547 | .I when | | 547 | .I when |
548 | files. This is necessary whenever you are supping more than one | | 548 | files. This is necessary whenever you are supping more than one |
549 | release in the same collection. | | 549 | release in the same collection. |
550 | .i0 | | 550 | .i0 |
551 | .DT | | 551 | .DT |
552 | .PP | | 552 | .PP |
553 | .SH "PREPARING A FILE COLLECTION REPOSITORY" | | 553 | .SH "PREPARING A FILE COLLECTION REPOSITORY" |
554 | A set of files residing on a repository must be prepared before | | 554 | A set of files residing on a repository must be prepared before |
555 | .I sup | | 555 | .I sup |
556 | client processes can upgrade those files. | | 556 | client processes can upgrade those files. |
557 | The collection must | | 557 | The collection must |
558 | be given a | | 558 | be given a |
559 | .I name | | 559 | .I name |
560 | and a | | 560 | and a |
561 | .I base directory. | | 561 | .I base directory. |
562 | If it is a private collection, client users | | 562 | If it is a private collection, client users |
563 | must be told the name of the collection, repository host, and | | 563 | must be told the name of the collection, repository host, and |
564 | base directory; | | 564 | base directory; |
565 | these will be specified in the supfile via the | | 565 | these will be specified in the supfile via the |
566 | .B host | | 566 | .B host |
567 | and | | 567 | and |
568 | .B hostbase | | 568 | .B hostbase |
569 | options. | | 569 | options. |
570 | For a system-maintained file collection, entries must be | | 570 | For a system-maintained file collection, entries must be |
571 | placed into the host list file and directory list file as described | | 571 | placed into the host list file and directory list file as described |
572 | in | | 572 | in |
573 | .IR supservers (8). | | 573 | .IR supservers (8). |
574 | | | 574 | |
575 | Within the base directory, a subdirectory must be created called | | 575 | Within the base directory, a subdirectory must be created called |
576 | .B sup . | | 576 | .B sup . |
577 | Within this directory there must be a subdirectory for each | | 577 | Within this directory there must be a subdirectory for each |
578 | collection using that base directory, whose name is the name of the | | 578 | collection using that base directory, whose name is the name of the |
579 | collection; within each of these directories will be a | | 579 | collection; within each of these directories will be a |
580 | list file and possibly a prefix file, a host file, an encryption key | | 580 | list file and possibly a prefix file, a host file, an encryption key |
581 | file, a log file and | | 581 | file, a log file and |
582 | a scan file. | | 582 | a scan file. |
583 | The filenames are listed under FILES below. | | 583 | The filenames are listed under FILES below. |
584 | .TP | | 584 | .TP |
585 | .B prefix | | 585 | .B prefix |
586 | Normally, all files in the collection are relative to the base directory. | | 586 | Normally, all files in the collection are relative to the base directory. |
587 | This file contains a single line which is the name of a directory to be | | 587 | This file contains a single line which is the name of a directory to be |
588 | used in place of the base directory for file references. | | 588 | used in place of the base directory for file references. |
589 | .TP | | 589 | .TP |
590 | .B host | | 590 | .B host |
591 | Normally, | | 591 | Normally, |
592 | all remote host machines are allowed access to a file collection. | | 592 | all remote host machines are allowed access to a file collection. |
593 | If you wish to restrict access to specific remote hosts for this | | 593 | If you wish to restrict access to specific remote hosts for this |
594 | collection, | | 594 | collection, |
595 | put each allowed hostname on a | | 595 | put each allowed hostname on a |
596 | separate line of text in this file. | | 596 | separate line of text in this file. |
597 | If a host has more than one name, only one of its names needs to be | | 597 | If a host has more than one name, only one of its names needs to be |
598 | listed. | | 598 | listed. |
599 | The name | | 599 | The name |
600 | .B LOCAL | | 600 | .B LOCAL |
601 | can be used to grant access to all hosts on the local | | 601 | can be used to grant access to all hosts on the local |
602 | network. The host name may be a numeric network address | | 602 | network. The host name may be a numeric network address |
603 | or a network name. If a crypt appears on the same line as | | 603 | or a network name. If a crypt appears on the same line as |
604 | the host name, that crypt will be used for that host. Otherwise, | | 604 | the host name, that crypt will be used for that host. Otherwise, |
605 | the crypt appearing in the | | 605 | the crypt appearing in the |
606 | .I crypt | | 606 | .I crypt |
607 | file, if any will be used. | | 607 | file, if any will be used. |
608 | .TP | | 608 | .TP |
609 | .B crypt | | 609 | .B crypt |
610 | If you wish to use the | | 610 | If you wish to use the |
611 | .I sup | | 611 | .I sup |
612 | data encryption mechanism, create an encryption file containing, | | 612 | data encryption mechanism, create an encryption file containing, |
613 | on a single line of text, the desired encryption key. | | 613 | on a single line of text, the desired encryption key. |
614 | Client | | 614 | Client |
615 | processes must then specify the same key with the | | 615 | processes must then specify the same key with the |
616 | .B crypt | | 616 | .B crypt |
617 | option in the supfile or they will be denied access to the files. | | 617 | option in the supfile or they will be denied access to the files. |
618 | In addition, actual network transmission of file contents and | | 618 | In addition, actual network transmission of file contents and |
619 | filenames will be encrypted. | | 619 | filenames will be encrypted. |
620 | .TP | | 620 | .TP |
621 | .B list | | 621 | .B list |
622 | This file describes the actual list of files to be included in this | | 622 | This file describes the actual list of files to be included in this |
623 | file collection, in a format described below. | | 623 | file collection, in a format described below. |
624 | .TP | | 624 | .TP |
625 | .B releases | | 625 | .B releases |
626 | This file describes any releases that the collection may have. Each | | 626 | This file describes any releases that the collection may have. Each |
627 | line starts with the release name and then may specify any of the following | | 627 | line starts with the release name and then may specify any of the following |
628 | files: | | 628 | files: |
629 | .I prefix=\*[Lt]dirname\*[Gt] | | 629 | .I prefix=\*[Lt]dirname\*[Gt] |
630 | to use a different parent directory for the files in this release. | | 630 | to use a different parent directory for the files in this release. |
631 | .I list=\*[Lt]listname\*[Gt] | | 631 | .I list=\*[Lt]listname\*[Gt] |
632 | to specify the list of files in the release. | | 632 | to specify the list of files in the release. |
633 | .I scan=\*[Lt]scanfile\*[Gt] | | 633 | .I scan=\*[Lt]scanfile\*[Gt] |
634 | must be used in multi-release collections that are scanned to keep | | 634 | must be used in multi-release collections that are scanned to keep |
635 | the scan files for the different releases separate. | | 635 | the scan files for the different releases separate. |
636 | .I host=\*[Lt]hostfile\*[Gt] | | 636 | .I host=\*[Lt]hostfile\*[Gt] |
637 | to allow different host restrictions for this release. | | 637 | to allow different host restrictions for this release. |
638 | .I next=\*[Lt]release\*[Gt] | | 638 | .I next=\*[Lt]release\*[Gt] |
639 | used to chain releases together. This has the effect of making one release | | 639 | used to chain releases together. This has the effect of making one release |
640 | be a combination of several other releases. If the same file appears in | | 640 | be a combination of several other releases. If the same file appears in |
641 | more than one chained release, the first one found will be used. | | 641 | more than one chained release, the first one found will be used. |
642 | If these files are not specified for a release the default names: | | 642 | If these files are not specified for a release the default names: |
643 | prefix,list,scan and host will be used. | | 643 | prefix,list,scan and host will be used. |
644 | .TP | | 644 | .TP |
645 | .B scan | | 645 | .B scan |
646 | This file, created by | | 646 | This file, created by |
647 | .IR supscan , | | 647 | .IR supscan , |
648 | is the list of filenames that correspond to the instructions in the | | 648 | is the list of filenames that correspond to the instructions in the |
649 | list file. The scan file is only used for frequently updated file | | 649 | list file. The scan file is only used for frequently updated file |
650 | collections; it makes the file server run much faster. See | | 650 | collections; it makes the file server run much faster. See |
651 | .IR supservers (8) | | 651 | .IR supservers (8) |
652 | for more information. | | 652 | for more information. |
653 | .TP | | 653 | .TP |
654 | .B lock | | 654 | .B lock |
655 | As previously mentioned, this file is used to indicate that the | | 655 | As previously mentioned, this file is used to indicate that the |
656 | collection should be locked while upgrades are in progress. All | | 656 | collection should be locked while upgrades are in progress. All |
657 | file servers will try to get shared access to the lock file with | | 657 | file servers will try to get shared access to the lock file with |
658 | .IR flock (2). | | 658 | .IR flock (2). |
659 | .TP | | 659 | .TP |
660 | .B logfile | | 660 | .B logfile |
661 | If a log file exists in the collection directory, the file server | | 661 | If a log file exists in the collection directory, the file server |
662 | will append the last time an upgrade was successfully completed, | | 662 | will append the last time an upgrade was successfully completed, |
663 | the time the last upgrade started and finished, and the name of | | 663 | the time the last upgrade started and finished, and the name of |
664 | the host requesting the upgrade. | | 664 | the host requesting the upgrade. |
665 | .i0 | | 665 | .i0 |
666 | .DT | | 666 | .DT |
667 | .PP | | 667 | .PP |
668 | It should be noted that | | 668 | It should be noted that |
669 | .I sup | | 669 | .I sup |
670 | allows several different named collections to use the same base | | 670 | allows several different named collections to use the same base |
671 | directory. Separate encryption, remote host access, and file lists | | 671 | directory. Separate encryption, remote host access, and file lists |
672 | are used for each collection, since these files reside in subdirectories | | 672 | are used for each collection, since these files reside in subdirectories |
673 | .I \*[Lt]basedir\*[Gt]/sup/\*[Lt]coll.name\*[Gt]. | | 673 | .I \*[Lt]basedir\*[Gt]/sup/\*[Lt]coll.name\*[Gt]. |
674 | | | 674 | |
675 | The list file is a text file with one command on each line. | | 675 | The list file is a text file with one command on each line. |
676 | Each command | | 676 | Each command |
677 | contains a keyword and a number of operands separated by spaces. | | 677 | contains a keyword and a number of operands separated by spaces. |
678 | All filenames in the list file are evaluated on the repository machine | | 678 | All filenames in the list file are evaluated on the repository machine |
679 | relative to the host's base directory, or prefix directory if one is | | 679 | relative to the host's base directory, or prefix directory if one is |
680 | specified, and on your machine with respect | | 680 | specified, and on your machine with respect |
681 | to the base, or prefix, directory for the client. | | 681 | to the base, or prefix, directory for the client. |
682 | The | | 682 | The |
683 | .I filenames | | 683 | .I filenames |
684 | below (except \fIexec-command\fR) | | 684 | below (except \fIexec-command\fR) |
685 | may all include wild-cards and meta-characters as used by | | 685 | may all include wild-cards and meta-characters as used by |
686 | .IR csh (1) | | 686 | .IR csh (1) |
687 | including *, ?, [...], and {...}. The commands are: | | 687 | including *, ?, [...], and {...}. The commands are: |
688 | .TP | | 688 | .TP |
689 | \fBupgrade\fR \fIfilename\fR ... | | 689 | \fBupgrade\fR \fIfilename\fR ... |
690 | The specified file(s) (or directories) will be included in the list | | 690 | The specified file(s) (or directories) will be included in the list |
691 | of files to be upgraded. | | 691 | of files to be upgraded. |
692 | If a directory name is given, it recursively | | 692 | If a directory name is given, it recursively |
693 | includes all subdirectories and files within that directory. | | 693 | includes all subdirectories and files within that directory. |
694 | .TP | | 694 | .TP |
695 | \fBalways\fR \fIfilename\fR ... | | 695 | \fBalways\fR \fIfilename\fR ... |
696 | The always command is identical to upgrade, except that omit and | | 696 | The always command is identical to upgrade, except that omit and |
697 | omitany commands do not affect filenames specified with the always | | 697 | omitany commands do not affect filenames specified with the always |
698 | command. | | 698 | command. |
699 | .TP | | 699 | .TP |
700 | \fBomit\fR \fIfilename\fR ... | | 700 | \fBomit\fR \fIfilename\fR ... |
701 | The specified file(s) (or directories) will be excluded from the | | 701 | The specified file(s) (or directories) will be excluded from the |
702 | list of files to be upgraded. | | 702 | list of files to be upgraded. |
703 | For example, by specifying | | 703 | For example, by specifying |
704 | .B upgrade /usr/vision | | 704 | .B upgrade /usr/vision |
705 | and | | 705 | and |
706 | .B omit /usr/vision/exp, | | 706 | .B omit /usr/vision/exp, |
707 | the generated list | | 707 | the generated list |
708 | of files would include all subdirectories and files of /usr/vision | | 708 | of files would include all subdirectories and files of /usr/vision |
709 | except /usr/vision/exp (and its subdirectories and files). | | 709 | except /usr/vision/exp (and its subdirectories and files). |
710 | .TP | | 710 | .TP |
711 | \fBomitany\fR \fIpattern\fR ... | | 711 | \fBomitany\fR \fIpattern\fR ... |
712 | The specified patterns are compared against the files in the upgrade | | 712 | The specified patterns are compared against the files in the upgrade |
713 | list. If a pattern matches, the file is omitted. The omitany command | | 713 | list. If a pattern matches, the file is omitted. The omitany command |
714 | currently supports all wild-card patterns except {...}. Also, the | | 714 | currently supports all wild-card patterns except {...}. Also, the |
715 | pattern must match the entire filename, so a leading */, or a trailing /*, | | 715 | pattern must match the entire filename, so a leading */, or a trailing /*, |
716 | may be necessary in the pattern. | | 716 | may be necessary in the pattern. |
717 | .TP | | 717 | .TP |
718 | \fBbackup\fR \fIfilename\fR ... | | 718 | \fBbackup\fR \fIfilename\fR ... |
719 | The specified file(s) are marked for backup; if they are upgraded | | 719 | The specified file(s) are marked for backup; if they are upgraded |
720 | and the client has specified the | | 720 | and the client has specified the |
721 | .B backup | | 721 | .B backup |
722 | option in the corresponding | | 722 | option in the corresponding |
723 | line of the supfile, then backup copies will be created as described | | 723 | line of the supfile, then backup copies will be created as described |
724 | above. | | 724 | above. |
725 | Directories may not be specified, and no recursive filename | | 725 | Directories may not be specified, and no recursive filename |
726 | construction is performed; you must specify the names of the specific | | 726 | construction is performed; you must specify the names of the specific |
727 | files to be backed up before upgrading. | | 727 | files to be backed up before upgrading. |
728 | .TP | | 728 | .TP |
729 | \fBnoaccount\fR \fIfilename\fR ... | | 729 | \fBnoaccount\fR \fIfilename\fR ... |
730 | The accounting information of the specified file(s) will not be | | 730 | The accounting information of the specified file(s) will not be |
731 | preserved by | | 731 | preserved by |
732 | .IR sup . | | 732 | .IR sup . |
733 | Accounting information consists of the owner, | | 733 | Accounting information consists of the owner, |
734 | group, mode and modified time of a file. | | 734 | group, mode and modified time of a file. |
735 | .TP | | 735 | .TP |
736 | \fBsymlink\fR \fIfilename\fR ... | | 736 | \fBsymlink\fR \fIfilename\fR ... |
737 | The specified file(s) are to be treated as symbolic links | | 737 | The specified file(s) are to be treated as symbolic links |
738 | and will be transferred as such and not followed. By default, | | 738 | and will be transferred as such and not followed. By default, |
739 | .I sup | | 739 | .I sup |
740 | will follow symbolic links. | | 740 | will follow symbolic links. |
741 | .TP | | 741 | .TP |
742 | \fBrsymlink\fR \fIdirname\fR ... | | 742 | \fBrsymlink\fR \fIdirname\fR ... |
743 | All symbolic links in the specified directory and its | | 743 | All symbolic links in the specified directory and its |
744 | subdirectories are to be treated as symbolic links. That | | 744 | subdirectories are to be treated as symbolic links. That |
745 | is the links will be transferred and not the files to which | | 745 | is the links will be transferred and not the files to which |
746 | they point. | | 746 | they point. |
747 | .TP | | 747 | .TP |
748 | \fBexecute\fR \fIexec-command\fR (\fIfilename\fR ...) | | 748 | \fBexecute\fR \fIexec-command\fR (\fIfilename\fR ...) |
749 | The | | 749 | The |
750 | .I exec-command | | 750 | .I exec-command |
751 | you specified will be executed on the client process | | 751 | you specified will be executed on the client process |
752 | whenever any of the files listed in parentheses are upgraded. | | 752 | whenever any of the files listed in parentheses are upgraded. |
753 | A special token, | | 753 | A special token, |
754 | .B %s, | | 754 | .B %s, |
755 | may be specified in the | | 755 | may be specified in the |
756 | .I exec-command | | 756 | .I exec-command |
757 | and will be replaced by the name of the file that was upgraded. | | 757 | and will be replaced by the name of the file that was upgraded. |
758 | For example, if you say | | 758 | For example, if you say |
759 | \fBexecute ranlib %s (libc.a)\fR, | | 759 | \fBexecute ranlib %s (libc.a)\fR, |
760 | then whenever libc.a is upgraded, the client machine will execute | | 760 | then whenever libc.a is upgraded, the client machine will execute |
761 | .B | | 761 | .B |
762 | ranlib libc.a. | | 762 | ranlib libc.a. |
763 | As described above, the client must invoke | | 763 | As described above, the client must invoke |
764 | .I sup | | 764 | .I sup |
765 | with the | | 765 | with the |
766 | .B -e | | 766 | .B -e |
767 | flag to allow the automatic execution of command files. | | 767 | flag to allow the automatic execution of command files. |
768 | .TP | | 768 | .TP |
769 | \fBinclude\fR \fIlistfile\fR ... | | 769 | \fBinclude\fR \fIlistfile\fR ... |
770 | The specified | | 770 | The specified |
771 | .I listfiles | | 771 | .I listfiles |
772 | will be read at this point. This is useful | | 772 | will be read at this point. This is useful |
773 | when one collection subsumes other collections; the larger collection | | 773 | when one collection subsumes other collections; the larger collection |
774 | can simply specify the listfiles for the smaller collections contained | | 774 | can simply specify the listfiles for the smaller collections contained |
775 | within it. | | 775 | within it. |
776 | .i0 | | 776 | .i0 |
777 | .DT | | 777 | .DT |
778 | .PP | | 778 | .PP |
779 | The order in which the command lines appear in the list file does not | | 779 | The order in which the command lines appear in the list file does not |
780 | matter. Blank lines may appear freely in the list file. | | 780 | matter. Blank lines may appear freely in the list file. |
781 | .SH "FILES" | | 781 | .SH "FILES" |
782 | Files on the client machine for | | 782 | Files on the client machine for |
783 | .IR sup : | | 783 | .IR sup : |
784 | .TP | | 784 | .TP |
785 | .B /etc/supfiles/coll.list | | 785 | .B /etc/supfiles/coll.list |
786 | supfile used for -s flag | | 786 | supfile used for -s flag |
787 | .TP | | 787 | .TP |
788 | .B /etc/supfiles/coll.what | | 788 | .B /etc/supfiles/coll.what |
789 | supfile used for -s flag when -t flag is also specified | | 789 | supfile used for -s flag when -t flag is also specified |
790 | .TP | | 790 | .TP |
791 | .B /etc/supfiles/coll.host | | 791 | .B /etc/supfiles/coll.host |
792 | host name list for system collections | | 792 | host name list for system collections |
793 | .TP | | 793 | .TP |
794 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/last\fR\*[Lt]\fI.release\fR\*[Gt] | | 794 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/last\fR\*[Lt]\fI.release\fR\*[Gt] |
795 | recorded list of files in collection as of last upgrade | | 795 | recorded list of files in collection as of last upgrade |
796 | .TP | | 796 | .TP |
797 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/lock | | 797 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/lock |
798 | file used to lock collection | | 798 | file used to lock collection |
799 | .TP | | 799 | .TP |
800 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/refuse | | 800 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/refuse |
801 | list of files to refuse in collection | | 801 | list of files to refuse in collection |
802 | .TP | | 802 | .TP |
803 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/when\fR\*[Lt]\fI.release\fR\*[Gt] | | 803 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/when\fR\*[Lt]\fI.release\fR\*[Gt] |
804 | recorded time of last upgrade | | 804 | recorded time of last upgrade |
805 | .TP | | 805 | .TP |
806 | \fB/usr/sup/\fR\*[Lt]\fIcollection\fR\*[Gt] | | 806 | \fB/usr/sup/\fR\*[Lt]\fIcollection\fR\*[Gt] |
807 | default base directory for file collection | | 807 | default base directory for file collection |
808 | .i0 | | 808 | .i0 |
809 | .DT | | 809 | .DT |
810 | .PP | | 810 | .PP |
811 | | | 811 | |
812 | Files needed on each repository machine for the file server: | | 812 | Files needed on each repository machine for the file server: |
813 | .TP | | 813 | .TP |
814 | .B /etc/supfiles/coll.dir | | 814 | .B /etc/supfiles/coll.dir |
815 | base directory list for system | | 815 | base directory list for system |
816 | collections | | 816 | collections |
817 | .TP | | 817 | .TP |
818 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/crypt | | 818 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/crypt |
819 | data encryption key for a | | 819 | data encryption key for a |
820 | collection. the owner of this file is the | | 820 | collection. the owner of this file is the |
821 | default account used when data encryption is specified | | 821 | default account used when data encryption is specified |
822 | .TP | | 822 | .TP |
823 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/host | | 823 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/host |
824 | list of remote hosts allowed to | | 824 | list of remote hosts allowed to |
825 | upgrade a collection | | 825 | upgrade a collection |
826 | .TP | | 826 | .TP |
827 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/list | | 827 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/list |
828 | list file for a collection | | 828 | list file for a collection |
829 | .TP | | 829 | .TP |
830 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/lock | | 830 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/lock |
831 | lock file for a collection | | 831 | lock file for a collection |
832 | .TP | | 832 | .TP |
833 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/logfile | | 833 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/logfile |
834 | log file for a collection | | 834 | log file for a collection |
835 | .TP | | 835 | .TP |
836 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/prefix | | 836 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/prefix |
837 | file containing the name of the prefix directory | | 837 | file containing the name of the prefix directory |
838 | for a collection | | 838 | for a collection |
839 | .TP | | 839 | .TP |
840 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/scan | | 840 | \*[Lt]\fIbase-directory\fR\*[Gt]\fB/sup/\fR\*[Lt]\fIcollection\fR\*[Gt]\fB/scan |
841 | scan file for a collection | | 841 | scan file for a collection |
842 | .TP | | 842 | .TP |
843 | \fB/usr/\fR\*[Lt]\fIcollection\fR\*[Gt] | | 843 | \fB/usr/\fR\*[Lt]\fIcollection\fR\*[Gt] |
844 | default base directory for a file collection | | 844 | default base directory for a file collection |
845 | .i0 | | 845 | .i0 |
846 | .DT | | 846 | .DT |
847 | .PP | | 847 | .PP |
848 | .SH "SEE ALSO" | | 848 | .SH "SEE ALSO" |
849 | .IR supservers (8) | | 849 | .IR supservers (8) |
850 | .br | | 850 | .br |
851 | \fIThe SUP Software Upgrade Protocol\fR, S. A. Shafer, | | 851 | \fIThe SUP Software Upgrade Protocol\fR, S. A. Shafer, |
852 | CMU Computer Science Department, 1985. | | 852 | CMU Computer Science Department, 1985. |
853 | .SH "EXAMPLE" | | 853 | .SH "EXAMPLE" |
854 | \*[Lt]example\*[Gt] | | 854 | \*[Lt]example\*[Gt] |
855 | .SH "BUGS" | | 855 | .SH "BUGS" |
856 | The encryption mechanism should be strengthened, although it's | | 856 | The encryption mechanism should be strengthened, although it's |
857 | not trivial. | | 857 | not trivial. |
| | | 858 | .Pp |
| | | 859 | .I sup |
| | | 860 | can delete files it should not with the delete option. |
| | | 861 | This is because in the delete pass, it tries to delete all files |
| | | 862 | in the old list that don't exist in the new list. |
| | | 863 | This is a problem when a directory becomes a symlink to a hierarchy |
| | | 864 | that contains the same names. |
| | | 865 | Then sup will cross the symlink and start deleting files and directories |
| | | 866 | from the destination. |
| | | 867 | This is not easily fixed. |
| | | 868 | Don't use sup with symlink/rsymlink and the delete |
| | | 869 | option at the same time or *be careful*! |