Thu, 04 Oct 2012 20:30:05 +0200
Correct out of date build configuration, porting to Solaris 11 network
link infrastructure and new libpcap logic. This additionally allows for
device drivers in subdirectories of /dev. Correct packaged nmap
personalities and signatures to work out of the box. Finally, hack
arpd logic to properly close sockets and quit on TERM by repeating
signaling in the run command script. Sadly, all this fails to correct
the run time behaviour of honeyd which fails to bind to the IP layer.
michael@428 | 1 | .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22) |
michael@13 | 2 | .\" |
michael@13 | 3 | .\" Standard preamble: |
michael@13 | 4 | .\" ======================================================================== |
michael@13 | 5 | .de Sp \" Vertical space (when we can't use .PP) |
michael@13 | 6 | .if t .sp .5v |
michael@13 | 7 | .if n .sp |
michael@13 | 8 | .. |
michael@13 | 9 | .de Vb \" Begin verbatim text |
michael@13 | 10 | .ft CW |
michael@13 | 11 | .nf |
michael@13 | 12 | .ne \\$1 |
michael@13 | 13 | .. |
michael@13 | 14 | .de Ve \" End verbatim text |
michael@13 | 15 | .ft R |
michael@13 | 16 | .fi |
michael@13 | 17 | .. |
michael@13 | 18 | .\" Set up some character translations and predefined strings. \*(-- will |
michael@13 | 19 | .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
michael@428 | 20 | .\" double quote, and \*(R" will give a right double quote. \*(C+ will |
michael@428 | 21 | .\" give a nicer C++. Capital omega is used to do unbreakable dashes and |
michael@428 | 22 | .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, |
michael@428 | 23 | .\" nothing in troff, for use with C<>. |
michael@428 | 24 | .tr \(*W- |
michael@13 | 25 | .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
michael@13 | 26 | .ie n \{\ |
michael@13 | 27 | . ds -- \(*W- |
michael@13 | 28 | . ds PI pi |
michael@13 | 29 | . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
michael@13 | 30 | . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
michael@13 | 31 | . ds L" "" |
michael@13 | 32 | . ds R" "" |
michael@13 | 33 | . ds C` |
michael@13 | 34 | . ds C' |
michael@13 | 35 | 'br\} |
michael@13 | 36 | .el\{\ |
michael@13 | 37 | . ds -- \|\(em\| |
michael@13 | 38 | . ds PI \(*p |
michael@13 | 39 | . ds L" `` |
michael@13 | 40 | . ds R" '' |
michael@13 | 41 | 'br\} |
michael@13 | 42 | .\" |
michael@428 | 43 | .\" Escape single quotes in literal strings from groff's Unicode transform. |
michael@428 | 44 | .ie \n(.g .ds Aq \(aq |
michael@428 | 45 | .el .ds Aq ' |
michael@428 | 46 | .\" |
michael@13 | 47 | .\" If the F register is turned on, we'll generate index entries on stderr for |
michael@428 | 48 | .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index |
michael@13 | 49 | .\" entries marked with X<> in POD. Of course, you'll have to process the |
michael@13 | 50 | .\" output yourself in some meaningful fashion. |
michael@428 | 51 | .ie \nF \{\ |
michael@13 | 52 | . de IX |
michael@13 | 53 | . tm Index:\\$1\t\\n%\t"\\$2" |
michael@13 | 54 | .. |
michael@13 | 55 | . nr % 0 |
michael@13 | 56 | . rr F |
michael@13 | 57 | .\} |
michael@428 | 58 | .el \{\ |
michael@428 | 59 | . de IX |
michael@428 | 60 | .. |
michael@428 | 61 | .\} |
michael@13 | 62 | .\" |
michael@13 | 63 | .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
michael@13 | 64 | .\" Fear. Run. Save yourself. No user-serviceable parts. |
michael@13 | 65 | . \" fudge factors for nroff and troff |
michael@13 | 66 | .if n \{\ |
michael@13 | 67 | . ds #H 0 |
michael@13 | 68 | . ds #V .8m |
michael@13 | 69 | . ds #F .3m |
michael@13 | 70 | . ds #[ \f1 |
michael@13 | 71 | . ds #] \fP |
michael@13 | 72 | .\} |
michael@13 | 73 | .if t \{\ |
michael@13 | 74 | . ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
michael@13 | 75 | . ds #V .6m |
michael@13 | 76 | . ds #F 0 |
michael@13 | 77 | . ds #[ \& |
michael@13 | 78 | . ds #] \& |
michael@13 | 79 | .\} |
michael@13 | 80 | . \" simple accents for nroff and troff |
michael@13 | 81 | .if n \{\ |
michael@13 | 82 | . ds ' \& |
michael@13 | 83 | . ds ` \& |
michael@13 | 84 | . ds ^ \& |
michael@13 | 85 | . ds , \& |
michael@13 | 86 | . ds ~ ~ |
michael@13 | 87 | . ds / |
michael@13 | 88 | .\} |
michael@13 | 89 | .if t \{\ |
michael@13 | 90 | . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
michael@13 | 91 | . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
michael@13 | 92 | . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
michael@13 | 93 | . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
michael@13 | 94 | . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
michael@13 | 95 | . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
michael@13 | 96 | .\} |
michael@13 | 97 | . \" troff and (daisy-wheel) nroff accents |
michael@13 | 98 | .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
michael@13 | 99 | .ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
michael@13 | 100 | .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
michael@13 | 101 | .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
michael@13 | 102 | .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
michael@13 | 103 | .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] |
michael@13 | 104 | .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
michael@13 | 105 | .ds ae a\h'-(\w'a'u*4/10)'e |
michael@13 | 106 | .ds Ae A\h'-(\w'A'u*4/10)'E |
michael@13 | 107 | . \" corrections for vroff |
michael@13 | 108 | .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
michael@13 | 109 | .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
michael@13 | 110 | . \" for low resolution devices (crt and lpr) |
michael@13 | 111 | .if \n(.H>23 .if \n(.V>19 \ |
michael@13 | 112 | \{\ |
michael@13 | 113 | . ds : e |
michael@13 | 114 | . ds 8 ss |
michael@13 | 115 | . ds o a |
michael@13 | 116 | . ds d- d\h'-1'\(ga |
michael@13 | 117 | . ds D- D\h'-1'\(hy |
michael@13 | 118 | . ds th \o'bp' |
michael@13 | 119 | . ds Th \o'LP' |
michael@13 | 120 | . ds ae ae |
michael@13 | 121 | . ds Ae AE |
michael@13 | 122 | .\} |
michael@13 | 123 | .rm #[ #] #H #V #F C |
michael@13 | 124 | .\" ======================================================================== |
michael@13 | 125 | .\" |
michael@13 | 126 | .IX Title "LSYNC 8" |
michael@13 | 127 | .TH LSYNC 8 "OpenPKG" "LSYNC(8)" "OpenPKG" |
michael@428 | 128 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
michael@428 | 129 | .\" way too many mistakes in technical documents. |
michael@428 | 130 | .if n .ad l |
michael@428 | 131 | .nh |
michael@13 | 132 | .SH "NAME" |
michael@428 | 133 | openpkg lsync \- Access Layer Synchronization Tool |
michael@13 | 134 | .SH "SYNOPSIS" |
michael@13 | 135 | .IX Header "SYNOPSIS" |
michael@13 | 136 | \&\fBopenpkg lsync\fR |
michael@13 | 137 | [\fB\-\-version\fR|\fB\-v\fR] |
michael@13 | 138 | [\fB\-\-help\fR|\fB\-h\fR] |
michael@13 | 139 | [\fB\-\-init\fR|\fB\-i\fR] |
michael@13 | 140 | [\fB\-\-nop\fR|\fB\-n\fR] |
michael@13 | 141 | [\fB\-\-quiet\fR|\fB\-q\fR] |
michael@13 | 142 | [\fB\-\-trace\fR|\fB\-t\fR] |
michael@13 | 143 | [\fB\-\-local\fR|\fB\-l\fR] |
michael@13 | 144 | [\fB\-\-uninstall\fR|\fB\-u\fR] |
michael@13 | 145 | [\fB\-\-root=\fR\fIroot\fR] |
michael@13 | 146 | [\fB\-\-pkgdir=\fR\fIpkgdir\fR] |
michael@13 | 147 | [\fB\-\-subdirs=\fR\fIsubdir\fR[,\fIsubdir\fR,...]] |
michael@13 | 148 | .SH "DESCRIPTION" |
michael@13 | 149 | .IX Header "DESCRIPTION" |
michael@13 | 150 | This program activates software packages which were locally |
michael@13 | 151 | installed in a sub-directory of a package hierarchy (located under |
michael@13 | 152 | \&\fIroot\fR/\fIpkgdir\fR/) by managing symbolic links in an access layer |
michael@13 | 153 | (located under \fIroot\fR/) corresponding to package installation |
michael@13 | 154 | files (found in \fIroot\fR/\fIpkgdir\fR/pkgname/subdir/) which need to be |
michael@13 | 155 | collected in global directories (located under \fIroot\fR/subdir/). |
michael@13 | 156 | .PP |
michael@13 | 157 | The purpose of this is that individual packages can be installed and |
michael@13 | 158 | deinstalled seperately without interfering with other packages while |
michael@13 | 159 | all packages as a whole still can be treated like a single package |
michael@13 | 160 | (installed into the access layer). |
michael@13 | 161 | .PP |
michael@13 | 162 | The |
michael@13 | 163 | actual creation of symbolic links is as following (\*(L"foo\*(R" indicating an |
michael@13 | 164 | arbitrary file; \*(L"bar\*(R" indicating an arbitrary package name): |
michael@13 | 165 | .IP "\fIroot\fR\fB/bin/\fRfoo \-> \fB../\fR\fIpkgdir\fR\fB/\fRbar\fB/bin/\fRfoo" 4 |
michael@13 | 166 | .IX Item "root/bin/foo -> ../pkgdir/bar/bin/foo" |
michael@13 | 167 | This activates the user executeable |
michael@13 | 168 | \&\fIroot\fR\fB/\fR\fIpkgdir\fR\fB/\fRbar\fB/bin\fR/foo as \fIroot\fR\fB/bin/\fRfoo. It can |
michael@13 | 169 | be found by the shell by placing \fIroot\fR\fB/bin\fR into the environment |
michael@13 | 170 | variable \f(CW\*(C`PATH\*(C'\fR (\fBPATH="..:\fR\fIroot\fR\fB/bin:.."\fR). |
michael@13 | 171 | .IP "\fIroot\fR\fB/sbin/\fRfoo \-> \fB../\fR\fIpkgdir\fR\fB/\fRbar\fB/sbin/\fRfoo" 4 |
michael@13 | 172 | .IX Item "root/sbin/foo -> ../pkgdir/bar/sbin/foo" |
michael@13 | 173 | This activates the system executeable |
michael@13 | 174 | \&\fIroot\fR\fB/\fR\fIpkgdir\fR\fB/\fRbar\fB/sbin\fR/foo as \fIroot\fR\fB/sbin/\fRfoo. It can |
michael@13 | 175 | be found by the shell by placing \fIroot\fR\fB/sbin\fR into the environment |
michael@13 | 176 | variable \f(CW\*(C`PATH\*(C'\fR (\fBPATH="..:\fR\fIroot\fR\fB/sbin:.."\fR). |
michael@13 | 177 | .IP "\fIroot\fR\fB/man/man\fR\fIN\fR\fB/\fRfoo \-> \fB../\fR\fIpkgdir\fR\fB/\fRbar\fB/man/man\fR\fIN\fR\fB/\fRfoo" 4 |
michael@13 | 178 | .IX Item "root/man/manN/foo -> ../pkgdir/bar/man/manN/foo" |
michael@13 | 179 | This activates the Unix manual page |
michael@13 | 180 | \&\fIroot\fR\fB/\fR\fIpkgdir\fR\fB/\fRbar\fB/man/man\fR\fIN\fR\fB/\fRfoo as |
michael@13 | 181 | \&\fIroot\fR\fB/man/man\fR\fIN\fR\fB/\fRfoo. It can be found by the \fIman\fR\|(1) tool |
michael@13 | 182 | by placing \fIroot\fR\fB/man\fR into the environment variable \f(CW\*(C`MANPATH\*(C'\fR |
michael@13 | 183 | (\fBMANPATH="..:\fR\fIroot\fR\fB/man:.."\fR). Keep in mind that \fBopenpkg lsync\fR |
michael@13 | 184 | activates any files found in the \fBman/man\f(BIN\fB\fR sub-directory of the |
michael@13 | 185 | package, but the \fIman\fR\|(1) tool usually requires the filename scheme |
michael@13 | 186 | foo\fB.\fR\fIN\fR before it can find the file. |
michael@13 | 187 | .IP "\fIroot\fR\fB/info/\fRfoo \-> \fB../\fR\fIpkgdir\fR\fB/\fRbar\fB/info/\fRfoo" 4 |
michael@13 | 188 | .IX Item "root/info/foo -> ../pkgdir/bar/info/foo" |
michael@13 | 189 | This activates the \s-1GNU\s0 info page \fIroot\fR\fB/\fR\fIpkgdir\fR\fB/\fRbar\fB/info/\fRfoo |
michael@13 | 190 | as \fIroot\fR\fB/info/\fRfoo. It can be found by the \fIinfo\fR\|(1) and \fIpinfo\fR\|(1) |
michael@13 | 191 | tools by placing \fIroot\fR\fB/info\fR into the environment variable |
michael@13 | 192 | \&\f(CW\*(C`INFOPATH\*(C'\fR (\fBINFOPATH="..:\fR\fIroot\fR\fB/info:.."\fR). Keep in mind that |
michael@13 | 193 | \&\fBopenpkg lsync\fR activates any files found in the \fBinfo/\fR sub-directory of the |
michael@13 | 194 | package, but the \fIinfo\fR\|(1) and \fIpinfo\fR\|(1) tools usually require the filename |
michael@13 | 195 | scheme foo\fB.info\fR before it can find the file. |
michael@13 | 196 | .IP "\fIroot\fR\fB/include/\fRfoo \-> \fB../\fR\fIpkgdir\fR\fB/\fRbar\fB/include/\fRfoo" 4 |
michael@13 | 197 | .IX Item "root/include/foo -> ../pkgdir/bar/include/foo" |
michael@13 | 198 | This activates the C header \fIroot\fR\fB/\fR\fIpkgdir\fR\fB/\fRbar\fB/include\fR/foo |
michael@13 | 199 | as \fIroot\fR\fB/include/\fRfoo. It can be found by the C/\*(C+ compilers |
michael@13 | 200 | by adding \fIroot\fR\fB/include\fR to their include search path (\fBcc .. |
michael@13 | 201 | \&\-I\fR\fIroot\fR\fB/include\fR \fB...\fR). Keep in mind that \fBopenpkg lsync\fR activates any |
michael@13 | 202 | files found in the \fBinclude/\fR sub-directory of the package, but the |
michael@13 | 203 | C/\*(C+ compiler usually by convention use the filename scheme foo\fB.h\fR. |
michael@13 | 204 | .IP "\fIroot\fR\fB/lib/\fRfoo \-> \fB../\fR\fIpkgdir\fR\fB/\fRbar\fB/lib/\fRfoo" 4 |
michael@13 | 205 | .IX Item "root/lib/foo -> ../pkgdir/bar/lib/foo" |
michael@13 | 206 | This activates the C library \fIroot\fR\fB/\fR\fIpkgdir\fR\fB/\fRbar\fB/lib\fR/foo |
michael@13 | 207 | as \fIroot\fR\fB/lib/\fRfoo. It can be found by the C/\*(C+ compilers (and |
michael@13 | 208 | the linker they use) by adding \fIroot\fR\fB/lib\fR to their library search |
michael@13 | 209 | path (\fBcc .. \-L\fR\fIroot\fR\fB/lib\fR \fB...\fR). It can be found by the Unix |
michael@13 | 210 | Dynamic Loader by adding \fIroot\fR\fB/lib\fR to the environment variable |
michael@13 | 211 | \&\f(CW\*(C`LD_LIBRARY_PATH\*(C'\fR (\fBLD_LIBRARY_PATH="..:\fR\fIroot\fR\fB/lib:.."\fR). |
michael@13 | 212 | Keep in mind that \fBopenpkg lsync\fR activates any files found in the \fBlib/\fR |
michael@13 | 213 | sub-directory of the package, but the C/\*(C+ compiler usually require the |
michael@13 | 214 | filename scheme \fBlib\fRfoo\fB.a\fR and the Unix Dynamic Loader the filename |
michael@13 | 215 | scheme \fBlib\fRfoo\fB.so\fR before they actually can use the file. |
michael@13 | 216 | .PP |
michael@13 | 217 | It is obvious that more sub-directories in a package installation |
michael@13 | 218 | might exist \*(-- for instance \fBshare/\fR, \fBvar/\fR, \fBlibexec/\fR, etc. But |
michael@13 | 219 | \&\fBopenpkg lsync\fR intentionally does not link files in those directories into |
michael@13 | 220 | corresponding directories of the access layer, because those files do |
michael@13 | 221 | not require that they are located in a global area in order to be used. |
michael@13 | 222 | So \fBopenpkg lsync\fR only creates the access layer for files where a common area |
michael@13 | 223 | is required for (easy) use. |
michael@13 | 224 | .SH "SPECIAL FEATURES" |
michael@13 | 225 | .IX Header "SPECIAL FEATURES" |
michael@13 | 226 | There are two special features supported by \fBopenpkg lsync\fR: |
michael@13 | 227 | .IP "\fBRun-Command Files\fR" 4 |
michael@13 | 228 | .IX Item "Run-Command Files" |
michael@13 | 229 | \&\fBopenpkg lsync\fR on startup implicitly reads command line options from |
michael@13 | 230 | \&\f(CW\*(C`.lsyncrc\*(C'\fR files. They are searched in all parent directories and in |
michael@13 | 231 | the callers home directory. Their contents is prepended to the list of |
michael@13 | 232 | given command line options. |
michael@13 | 233 | .IP "\fBMultiple Package Versions\fR" 4 |
michael@13 | 234 | .IX Item "Multiple Package Versions" |
michael@13 | 235 | \&\fBopenpkg lsync\fR skips all directories under \fIroot\fR/\fIpkgdir\fR/ which contain |
michael@13 | 236 | the pattern \*(L"\-[0\-9]\*(R" in their directory name. On the other hand, |
michael@13 | 237 | \&\fBopenpkg lsync\fR follows also symbolic links under \fIroot\fR/\fIpkgdir\fR/. |
michael@13 | 238 | This can be used for installing multiple versions of a package and |
michael@13 | 239 | switching between them. For instance, if version 1.0 of package |
michael@13 | 240 | \&\*(L"foo\*(R" is installed into directory \fIroot\fR/\fIpkgdir\fR/foo\-1.0, |
michael@13 | 241 | version 1.1 into \fIroot\fR/\fIpkgdir\fR/foo\-1.1 and version 1.2 into |
michael@13 | 242 | \&\fIroot\fR/\fIpkgdir\fR/foo\-1.2, \fBopenpkg lsync\fR does skip all three. To enable |
michael@13 | 243 | version 1.1 one just creates a symbolic link \fIroot\fR/\fIpkgdir\fR/foo |
michael@13 | 244 | pointing to foo\-1.1. Then \fBopenpkg lsync\fR picks up the files in |
michael@13 | 245 | \&\fIroot\fR/\fIpkgdir\fR/foo\-1.1. If you want to temporarily upgrade to |
michael@13 | 246 | foo\-1.2, all you have to do is to change the symlink pointing from |
michael@13 | 247 | foo\-1.1 to foo\-1.2. |
michael@13 | 248 | .IP "\fBTemporarily Deactivated Package\fR" 4 |
michael@13 | 249 | .IX Item "Temporarily Deactivated Package" |
michael@13 | 250 | One can deactivate a package \*(L"foo\*(R" by going to \fIroot\fR/\fIpkgdir\fR/foo/ |
michael@13 | 251 | and running \*(L"openpkg lsync \-\-local \-\-uninstall\*(R", of course. Alternatively |
michael@13 | 252 | one can set the sticky bit on the directory \fIroot\fR/\fIpkgdir\fR/foo. |
michael@13 | 253 | Then \fBopenpkg lsync\fR also skips the package. Alternatively, assume |
michael@13 | 254 | package \*(L"foo\*(R" as a whole should not be deactivated, but its |
michael@13 | 255 | \&\fIroot\fR/\fIpkgdir\fR/foo/lib directory (usually because this directory |
michael@13 | 256 | unfortunately contains non-library files), one just sets the sticky bit |
michael@13 | 257 | on \fIroot\fR/\fIpkgdir\fR/foo/lib. |
michael@13 | 258 | .SH "OPTIONS" |
michael@13 | 259 | .IX Header "OPTIONS" |
michael@13 | 260 | .IP "\fB\-\-version\fR, \fB\-v\fR" 4 |
michael@13 | 261 | .IX Item "--version, -v" |
michael@13 | 262 | Display program version information only. |
michael@13 | 263 | .IP "\fB\-\-help\fR, \fB\-h\fR" 4 |
michael@13 | 264 | .IX Item "--help, -h" |
michael@13 | 265 | Display program usage information only. |
michael@13 | 266 | .IP "\fB\-\-init\fR, \fB\-i\fR" 4 |
michael@13 | 267 | .IX Item "--init, -i" |
michael@13 | 268 | Create an initial access layer hierarchy under \fIroot\fR. |
michael@13 | 269 | .IP "\fB\-\-nop\fR, \fB\-n\fR" 4 |
michael@13 | 270 | .IX Item "--nop, -n" |
michael@13 | 271 | No Operation \*(-- causes \fBopenpkg lsync\fR to not perform any filesystem |
michael@13 | 272 | operations. In conjunction with \fB\-\-trace\fR you can at least see what |
michael@13 | 273 | would be executed. |
michael@13 | 274 | .IP "\fB\-\-quiet\fR, \fB\-q\fR" 4 |
michael@13 | 275 | .IX Item "--quiet, -q" |
michael@13 | 276 | Forces \fBopenpkg lsync\fR to perform the operations quietly, i.e., without any |
michael@13 | 277 | verbose messages. |
michael@13 | 278 | .IP "\fB\-\-trace\fR, \fB\-t\fR" 4 |
michael@13 | 279 | .IX Item "--trace, -t" |
michael@13 | 280 | Forces \fBopenpkg lsync\fR to show what filesystem operations are performed. |
michael@13 | 281 | .IP "\fB\-\-local\fR, \fB\-l\fR" 4 |
michael@13 | 282 | .IX Item "--local, -l" |
michael@13 | 283 | This restricts the operations to a local package area. This option can |
michael@13 | 284 | only be used if you are physically staying below a package sub-directory |
michael@13 | 285 | under \fIroot\fR/\fIpkgdir\fR/. For instance, when you are staying in |
michael@13 | 286 | \&\fIroot\fR/\fIpkgdir\fR/bar or \fIroot\fR/\fIpkgdir\fR/bar/bin and use \fB\-\-local\fR, |
michael@13 | 287 | all operations are restricted to the package \*(L"bar\*(R". |
michael@13 | 288 | .IP "\fB\-\-uninstall\fR, \fB\-u\fR" 4 |
michael@13 | 289 | .IX Item "--uninstall, -u" |
michael@13 | 290 | This performs only package uninstallation operations, i.e., only |
michael@13 | 291 | symbolic links are removed. This can be used to completely empty the |
michael@13 | 292 | access layer. Additionally it is very useful in combination with |
michael@13 | 293 | \&\fB\-\-local\fR in order to uninstall a particular package without having to |
michael@13 | 294 | remove its files. |
michael@13 | 295 | .IP "\fB\-\-root=\fR\fIroot\fR" 4 |
michael@13 | 296 | .IX Item "--root=root" |
michael@13 | 297 | Sets the root directory where the access layer and package subdirectory |
michael@13 | 298 | is located. The default can be determined by running \f(CW\*(C`openpkg lsync \-\-help\*(C'\fR |
michael@13 | 299 | (see section \*(L"Current configuration\*(R"). |
michael@13 | 300 | .IP "\fB\-\-pkgdir=\fR\fIpkgdir\fR" 4 |
michael@13 | 301 | .IX Item "--pkgdir=pkgdir" |
michael@13 | 302 | Sets the sub-directory under the root directory where packages are |
michael@13 | 303 | located. The default can be determined by running \f(CW\*(C`openpkg lsync \-\-help\*(C'\fR (see |
michael@13 | 304 | section \*(L"Current configuration\*(R"). |
michael@13 | 305 | .IP "\fB\-\-subdirs=\fR\fIsubdirs\fR[,\fIsubdir\fR,...]" 4 |
michael@13 | 306 | .IX Item "--subdirs=subdirs[,subdir,...]" |
michael@13 | 307 | Sets one or more sub-directories of the access layer on which \fBopenpkg lsync\fR |
michael@13 | 308 | should act. The default can be determined by running \f(CW\*(C`openpkg lsync \-\-help\*(C'\fR |
michael@13 | 309 | (see section \*(L"Current configuration\*(R"). |
michael@13 | 310 | .SH "RESULTS" |
michael@13 | 311 | .IX Header "RESULTS" |
michael@13 | 312 | This program uses the following return codes on exit: 0 (operation |
michael@13 | 313 | successful), 1 (system error), 2 (command line error) and 3 (other user |
michael@13 | 314 | error). |
michael@13 | 315 | .SH "HISTORY" |
michael@13 | 316 | .IX Header "HISTORY" |
michael@13 | 317 | The idea of filesystem access layers consisting of symbolic links |
michael@13 | 318 | pointing to actual package installation areas is a rather old one. It |
michael@13 | 319 | dates back to the early days of Unix and was implemented many times over |
michael@13 | 320 | the last decades. One of many implementation was \fBGenOPT\fR, written by |
michael@13 | 321 | Ralf S. Engelschall for sd&m GmbH & Co \s-1KG\s0, Munich in 1992. The name |
michael@13 | 322 | indicates the programs purpose: to generate symbolic links in an access |
michael@13 | 323 | layer which was located under \f(CW\*(C`/opt\*(C'\fR. \fBGenOPT\fR was very flexible, but |
michael@13 | 324 | hence also very complex. Because of lack of documentation it was never |
michael@13 | 325 | released and so only used at sd&m and on all machines which were under |
michael@13 | 326 | control of Ralf S. Engelschall. |
michael@13 | 327 | .PP |
michael@13 | 328 | For Cable & Wireless, Munich, the old \fBGenOPT\fR principle was again |
michael@13 | 329 | needed to manage the \f(CW\*(C`/cw/local\*(C'\fR area on their servers. For this in |
michael@13 | 330 | November 2000 the functionality of \fBGenOPT\fR was revised, heavily |
michael@13 | 331 | stripped down and finally implemented from scratch. The result is the |
michael@13 | 332 | current \fBopenpkg lsync\fR. |
michael@13 | 333 | .SH "AUTHOR" |
michael@13 | 334 | .IX Header "AUTHOR" |
michael@13 | 335 | .Vb 3 |
michael@13 | 336 | \& Ralf S. Engelschall |
michael@13 | 337 | \& rse@engelschall.com |
michael@13 | 338 | \& www.engelschall.com |
michael@13 | 339 | .Ve |