about summary refs log tree commit diff stats
path: root/linux/package.html
diff options
context:
space:
mode:
Diffstat (limited to 'linux/package.html')
-rw-r--r--linux/package.html190
1 files changed, 190 insertions, 0 deletions
diff --git a/linux/package.html b/linux/package.html
new file mode 100644
index 0000000..5235d01
--- /dev/null
+++ b/linux/package.html
@@ -0,0 +1,190 @@
+<!DOCTYPE html>
+<html dir="ltr" lang="en">
+    <head>
+        <meta charset='utf-8'>
+        <title>2.3. Package Management</title>
+    </head>
+    <body>
+
+        <a href="index.html">Core OS Index</a>
+
+        <h1>2.3. Package Management</h1>
+
+        <p>For more information read crux handbook Package management
+        front-end:
+        <a href="https://crux.nu/Handbook3-3#ntoc20">prt-get</a>
+        and Introduction to
+        <a href="https://crux.nu/Main/Handbook3-3#ntoc14">pkgutils</a>.</p>
+        </p>
+
+
+        <dl>
+            <dt>pkgmk(8)</dt>
+
+            <dd>Makes a software package. A package is an archive of
+            files (.pkg.tar.gz, .pkg.tar.bz2 or  .pkg.tar.xz)
+            that can be installed using pkgadd(8).</dd>
+
+            <dt>pkgadd(8)</dt>
+
+            <dd>install a software package. A package is an
+            archive of files (.pkg.tar.gz).</dd>
+
+            <dt>pkginfo(8)</dt>
+
+            <dd>Displays information about software packages that
+            are installed on the system or  that  reside  in  a
+            particular directory.</dd>
+
+            <dt>pkgrm(8)</dt>
+
+            <dd>Removes/uninstalls a previously installed software
+            packages.</dd>
+
+            <dt>prt-get(8)</dt>
+
+            <dd>prt-get is a package management tool which
+            provides additional functionality to crux' package
+            management system. It works with the local ports tree
+            and is therefore fully compatible with ports(8) and
+            pkgmk(8)/pkgadd(8)</dd>
+        </dl>
+
+        <p>Test configuration by runing prt-get as admin user installing
+        ports that are related;</p>
+
+        <pre>
+        $ prt-get depinst prt-utils prt-get-bashcompletion
+        </pre>
+
+        <h2 id="sysup">2.3.1. Update System</h2>
+
+        <p>Before build software get latest version of port collections;</p>
+
+        <pre>
+        $ sudo ports -u
+        </pre>
+
+        <p>When coming from install or there is to much updates, I prefer to
+        update gcc, glibc, libtool and binutils before doing a sysup;</p>
+
+        <pre>
+        $ prt-get update gcc
+        $ prt-get update glibc
+        $ prt-get update libtool
+        $ prt-get update binutils
+        </pre>
+
+        <p>Build and install updated versions of ports;</p>
+
+        <pre>
+        $ prt-get sysup
+        </pre>
+
+        <p>Rebuild any revision dependency;</p>
+
+        <pre>
+        $ prt-get update -fr $(revdep)
+        </pre>
+
+        <h2 id="depinst">2.3.2. Install port and dependencies</h2>
+
+        <p>Installing using prt-get tool;</p>
+
+        <pre>
+        $ prt-get depinst git
+        </pre>
+
+        <p>Installing using pkgmk and pkgadd, first build the package;</p>
+
+        <pre>
+        $ cd /usr/ports/opt/git
+        $ sudo -H -u pkgmk fakeroot pkgmk -d
+        </pre>
+
+        <p>Install the package;</p>
+
+        <pre>
+        $ sudo pkgadd /usr/ports/packages/git#2.9.3-1.pkg.tar.gz
+        </pre>
+
+        <p>If you user pkgmk and pkgadd allways check if README, pre and post
+        instal files exist.</p>
+
+        <h3 id="ports">2.3.3. Ports collections</h3>
+
+        <p>Clone this documentation;</p>
+
+        <pre>
+        $ git clone git://tribu.semdestino.org/ports.git
+        </pre>
+
+        <p>Install collections later documented;</p>
+
+        <pre>
+        $ sudo cp doc/core/conf/ports/* /etc/ports/
+        </pre>
+
+        <p>Edit /etc/prt-get.conf to activate new collections;</p>
+
+        <pre>
+        # the following line enables the user maintained contrib collection
+        prtdir /usr/ports/contrib
+
+        # ports described on this documentation
+        prtdir /usr/ports/ports
+
+        # 6c37 team provides a collection with freetype-iu, fontconfig-iu
+        # and cairo-iu ports.
+        # prtdir /usr/ports/6c37-dropin
+        # prtdir /usr/ports/6c37
+        </pre>
+
+        <p>Get new ports;</p>
+
+        <pre>
+        $ sudo ports -u ports
+        </pre>
+
+        <h2 id="info">2.3.4. Show port information</h2>
+
+        <pre>
+        $ prt-get info port_name
+        </pre>
+
+        <p>List files port install into system;</p>
+
+        <pre>
+        $ pkginfo -l package_name
+        </pre>
+
+        <p>Discover to wich port a file belongs;</p>
+
+        <pre>
+        $ pkginfo -o filename
+        </pre>
+
+        <h2 id="depends">2.3.5. Show port dependencies</h2>
+
+        <pre>
+        $ prt-get depends port_name
+        </pre>
+
+        <h2 id="printf">2.3.6. Print information</h2>
+
+        <p>Example how to get ports installed from contrib. Maybe there is
+        a "cleaner" way to this, for now is ok;</p>
+
+        <pre>
+        prt-get printf "%p %i %n %v\n" | grep "/usr/ports/contrib yes"
+        </pre>
+
+        <a href="index.html">Core OS Index</a>
+        <p>This is part of the Tribu System Documentation.
+        Copyright (C) 2020
+        Tribu Team.
+        See the file <a href="../fdl-1.3-standalone.html">Gnu Free Documentation License</a>
+        for copying conditions.</p>
+
+    </body>
+</html>