openpkg/openpkg.pod

Thu, 04 Oct 2012 20:30:05 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 04 Oct 2012 20:30:05 +0200
changeset 715
c10fb90893b9
parent 13
cb59d6afeb61
permissions
-rw-r--r--

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@13 1 ##
michael@13 2 ## openpkg -- OpenPKG Tool Chain
michael@428 3 ## Copyright (c) 2000-2012 OpenPKG GmbH <http://openpkg.com/>
michael@13 4 ##
michael@428 5 ## This software is property of the OpenPKG GmbH, DE MUC HRB 160208.
michael@428 6 ## All rights reserved. Licenses which grant limited permission to use,
michael@428 7 ## copy, modify and distribute this software are available from the
michael@428 8 ## OpenPKG GmbH.
michael@13 9 ##
michael@428 10 ## THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
michael@13 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@13 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@13 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@13 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@13 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@13 16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@13 17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@13 18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@13 19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@13 20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@13 21 ## SUCH DAMAGE.
michael@13 22 ##
michael@13 23 ## openpkg.pod: Minimum Execution Frontend (Language: Perl POD)
michael@13 24 ##
michael@13 25
michael@13 26 =pod
michael@13 27
michael@13 28 =head1 NAME
michael@13 29
michael@428 30 B<OpenPKG> -- Cross-Platform Unix Software Packaging
michael@13 31
michael@13 32 =head1 SYNOPSIS
michael@13 33
michael@13 34 $ B<openpkg> [I<opt> ...] I<cmd> [I<cmd_opt> ...] [I<cmd_arg> ...]
michael@13 35
michael@13 36 $ B<openpkg> B<man> I<cmd>
michael@13 37
michael@428 38 =head1 DESCRIPTION
michael@13 39
michael@13 40 OpenPKG is the world leading instrument for deployment and maintenance
michael@13 41 of Open Source software when administration crosses Unix platform
michael@13 42 boundaries. The OpenPKG project is a collaboration effort with the
michael@13 43 goal of creating and maintaining portable and easy to install software
michael@13 44 packages for use on the major Unix server platforms.
michael@13 45
michael@13 46 The unique OpenPKG architecture leverages proven technologies like
michael@13 47 Red Hat Package Manager (RPM) to establish a unified administration
michael@13 48 environment, independent of the underlying operating system. OpenPKG
michael@13 49 is completely self-contained and does not even need a preinstallation
michael@13 50 of RPM. Instead, RPM is provided as an OpenPKG RPM package itself plus
michael@13 51 a tricky bootstrapping procedure in order to allow one to create from
michael@13 52 scratch the initial state of the whole OpenPKG software packaging
michael@13 53 system.
michael@13 54
michael@428 55 =head1 TUTORIAL
michael@428 56
michael@428 57 =over 3
michael@428 58
michael@428 59 =item B<1. System Preparation (optional)>
michael@428 60
michael@428 61 Before you start, the Unix system optionally should be prepared. Here
michael@428 62 especially the necessary disk space requirements of OpenPKG have to be
michael@428 63 taken into account.
michael@428 64
michael@428 65 # optionally direct /openpkg to at least 150MB free disk space:
michael@428 66 $ mkdir /storage/openpkg
michael@428 67 $ ln -s /storage/openpkg /openpkg
michael@428 68
michael@428 69 # optionally direct temp-directory to at least 250MB free disk space:
michael@428 70 $ TMPDIR=/var/tmp
michael@428 71 $ export TMPDIR
michael@428 72
michael@428 73 # switch to temporary directory:
michael@428 74 $ cd $TMPDIR
michael@428 75
michael@428 76 =item B<2. Instance Bootstrapping>
michael@428 77
michael@428 78 The next step is to bootstrap the OpenPKG instance. Here we are using
michael@428 79 the standard /openpkg filesystem prefix. An arbitrary prefix can be
michael@428 80 used as long as at least the "Bootstrap From Source" approach is used.
michael@428 81
michael@428 82 # download bootstrap source shell package:
michael@428 83 $ wget http://openpkg.org/go/download/openpkg.src.sh
michael@428 84
michael@428 85 # build bootstrap binary shell package from source shell package:
michael@428 86 $ sh openpkg.src.sh \
michael@428 87 --prefix=/openpkg --tag=openpkg \
michael@428 88 --user=openpkg --group=openpkg \
michael@428 89 --tag=openpkg
michael@428 90
michael@428 91 # install bootstrap binary script package:
michael@428 92 $ sh openpkg-*-*.*-openpkg.sh
michael@428 93
michael@428 94 =item B<3. Software Deployment>
michael@428 95
michael@428 96 Now you can install arbitrary OpenPKG software packages by either using
michael@428 97 the lower-level OpenPKG RPM command or the higher-level OpenPKG tool
michael@428 98 chain build command. As a simple illustration example the GNU Bash
michael@428 99 package of OpenPKG is installed.
michael@428 100
michael@428 101 # build and install GNU Bash:
michael@428 102 $ /openpkg/bin/openpkg build bash | sh
michael@428 103
michael@428 104 =item B<4. Software Usage>
michael@428 105
michael@428 106 Finally, you can use the deployed software. Either through explicit
michael@428 107 paths (reasonable if leveraging OpenPKG's multiple-instance feature) or
michael@428 108 implicitly by merging the OpenPKG instance into the local environment.
michael@428 109
michael@428 110 # explicit usage:
michael@428 111 $ /openpkg/bin/bash --version
michael@428 112
michael@428 113 # implicit usage (alternatively)
michael@428 114 $ eval `/openpkg/bin/openpkg rc --eval all env`
michael@428 115 $ bash --version
michael@428 116
michael@428 117 =item B<5. Go Ahead!>
michael@428 118
michael@428 119 Want to know more now? Please read the manual pages of at least the
michael@428 120 deployment commands and then proceed by searching and deploying even
michael@428 121 more software into your OpenPKG instance.
michael@428 122
michael@428 123 # read manual pages:
michael@428 124 $ /openpkg/bin/openpkg man search
michael@428 125 $ /openpkg/bin/openpkg man build
michael@428 126
michael@428 127 # search for a package
michael@428 128 $ /openpkg/bin/openpkg search [-v] <regex>
michael@428 129
michael@428 130 # deploy even more packages
michael@428 131 $ /openpkg/bin/openpkg build \
michael@428 132 [-D[<package1>::]with_<name>] \
michael@428 133 [-D[<package2>::]with_<name>] \
michael@428 134 <package1> <package2> ... | sh
michael@428 135
michael@428 136 For instance, to install and start an Apache HTTP server with SSL/TLS
michael@428 137 support you can use:
michael@428 138
michael@428 139 $ /openpkg/bin/openpkg search -v apache | more
michael@428 140 $ /openpkg/bin/openpkg build -D with_mod_ssl=yes apache | sh
michael@428 141 $ /openpkg/bin/openpkg rc apache start
michael@428 142
michael@428 143 =item B<6. Cleanup>
michael@428 144
michael@428 145 OpenPKG has not convinced you? Well, it's a pity, but no problem. You
michael@428 146 can easily get rid of anything you installed at once (both the OpenPKG
michael@428 147 instance and any of its OpenPKG packages) with the following simple
michael@428 148 command:
michael@428 149
michael@428 150 $ /openpkg/bin/openpkg rc all stop
michael@428 151 $ /openpkg/bin/openpkg rpm -e `/openpkg/bin/openpkg rpm -qa`
michael@428 152
michael@428 153 =back
michael@428 154
michael@428 155 =head1 SEE ALSO
michael@428 156
michael@428 157 OpenPKG local documentation can be viewed the command "B<openpkg man>
michael@428 158 I<cmd>", where I<cmd> is one of the following commands:
michael@428 159
michael@428 160 index OpenPKG package indexing
michael@428 161 search OpenPKG package searching
michael@428 162 mirror OpenPKG package mirroring
michael@428 163 build OpenPKG package building and installing
michael@428 164 rc OpenPKG run-command facility
michael@428 165 lsync OpenPKG local area synchronization
michael@428 166
michael@428 167 stack OpenPKG software stack generation
michael@428 168 makeproxy OpenPKG proxy package generation
michael@428 169 dev OpenPKG development tool
michael@428 170
michael@428 171 rpm RPM package manager
michael@428 172 rpm2cpio RPM payload utility
michael@428 173 rpm-config RPM C API utility
michael@428 174 rpmtool OpenPKG RPM packaging helper tool
michael@428 175
michael@428 176 license OpenPKG license management
michael@428 177 release OpenPKG release information
michael@428 178 register OpenPKG registry client (obsolete)
michael@428 179
michael@428 180 sea Shell Execution Archive tool
michael@428 181 uuid Universal Unique Identifiers tool
michael@428 182
michael@428 183 Additionally, OpenPKG can be found under the following locations on the
michael@428 184 Internet:
michael@428 185
michael@428 186 http://openpkg.org/ OpenPKG Project (Distribution)
michael@428 187 http://openpkg.com/ OpenPKG GmbH (Framework, Support)
michael@428 188 http://openpkg.net/ OpenPKG Foundation e.V. (Packages)
michael@428 189
michael@13 190 =cut
michael@13 191

mercurial