summaryrefslogtreecommitdiff
path: root/slackbook/html/package-management-package-utilities.html
diff options
context:
space:
mode:
Diffstat (limited to 'slackbook/html/package-management-package-utilities.html')
-rw-r--r--slackbook/html/package-management-package-utilities.html330
1 files changed, 330 insertions, 0 deletions
diff --git a/slackbook/html/package-management-package-utilities.html b/slackbook/html/package-management-package-utilities.html
new file mode 100644
index 00000000..0179a5a8
--- /dev/null
+++ b/slackbook/html/package-management-package-utilities.html
@@ -0,0 +1,330 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content="HTML Tidy, see www.w3.org" />
+<title>Package Utilities</title>
+<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
+<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
+<link rel="UP" title="Slackware Package Management" href="package-management.html" />
+<link rel="PREVIOUS" title="Slackware Package Management"
+href="package-management.html" />
+<link rel="NEXT" title="Making Packages"
+href="package-management-making-packages.html" />
+<link rel="STYLESHEET" type="text/css" href="docbook.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+</head>
+<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
+alink="#0000FF">
+<div class="NAVHEADER">
+<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
+cellspacing="0">
+<tr>
+<th colspan="3" align="center">Slackware Linux Essentials</th>
+</tr>
+
+<tr>
+<td width="10%" align="left" valign="bottom"><a href="package-management.html"
+accesskey="P">Prev</a></td>
+<td width="80%" align="center" valign="bottom">Chapter 18 Slackware Package
+Management</td>
+<td width="10%" align="right" valign="bottom"><a
+href="package-management-making-packages.html" accesskey="N">Next</a></td>
+</tr>
+</table>
+
+<hr align="LEFT" width="100%" />
+</div>
+
+<div class="SECT1">
+<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES"
+name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES">18.2 Package Utilities</a></h1>
+
+<p>There are four main utilities for package management. They perform installation,
+removal, and upgrades of packages.</p>
+
+<div class="SECT2">
+<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL"
+name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-PKGTOOL">18.2.1 pkgtool</a></h2>
+
+<p><tt class="COMMAND">pkgtool</tt>(8) is a menu-driven program that allows installation
+and removal of packages. The main menu is shown in <a
+href="package-management-package-utilities.html#PKGTOOL-MAIN-MENU">Figure 18-1</a>.</p>
+
+<div class="FIGURE"><a id="PKGTOOL-MAIN-MENU" name="PKGTOOL-MAIN-MENU"></a>
+<p><b>Figure 18-1. Pkgtool's main menu.</b></p>
+
+<p><img src="package-management/pkgtool-w.png" /></p>
+</div>
+
+<p>Installation is offered from the current directory, another directory, or from floppy
+disks. Simply select the installation method you want and pkgtool will search that
+location for valid packages to install.</p>
+
+<p>You may also view a list of installed packages, as shown in <a
+href="package-management-package-utilities.html#PKGTOOL-VIEW-MODE">Figure 18-2</a>.</p>
+
+<div class="FIGURE"><a id="PKGTOOL-VIEW-MODE" name="PKGTOOL-VIEW-MODE"></a>
+<p><b>Figure 18-2. Pkgtool view mode</b></p>
+
+<p><img src="package-management/pkgtool-view-w.png" /></p>
+</div>
+
+<p>If you want to remove packages, select the remove option and you will be presented
+with a checklist of all the installed packages. Flag the ones you want to remove and
+select OK. <tt class="COMMAND">pkgtool</tt> will remove them.</p>
+
+<p>Some users prefer this utility to the command line utilities. However, it should be
+noted that the command line utilities offer many more options. Also, the ability to
+upgrade packages is only offered through the command line utilities.</p>
+</div>
+
+<div class="SECT2">
+<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG"
+name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-INSTALLPKG">18.2.2 installpkg</a></h2>
+
+<p><tt class="COMMAND">installpkg</tt>(8) handles installation of new packages on the
+system. The syntax is as follows:</p>
+
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> <kbd class="USERINPUT">installpkg option package_name</kbd>
+</pre>
+</td>
+</tr>
+</table>
+
+<p>Three options are provided for <tt class="COMMAND">installpkg</tt>. Only one option
+can be used at a time.</p>
+
+<div class="TABLE"><a id="AEN6446" name="AEN6446"></a>
+<p><b>Table 18-1. <tt class="COMMAND">installpkg</tt> Options</b></p>
+
+<table border="0" frame="void" class="CALSTABLE">
+<col width="1*" />
+<col width="3*" />
+<thead>
+<tr>
+<th align="LEFT">Option</th>
+<th align="LEFT">Effects</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td>-m</td>
+<td>Performs a makepkg operation on the current directory.</td>
+</tr>
+
+<tr>
+<td>-warn</td>
+<td>Shows what would happen if you installed the specified package. This is useful for
+production systems so you can see exactly what would happen before installing
+something.</td>
+</tr>
+
+<tr>
+<td>-r</td>
+<td>Recursively install all packages in the current directory and down. The package name
+can use wildcards, which would be used as the search mask when recursively
+installing.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
+class="COMMAND">installpkg</tt>, that path will be used for the root directory. This is
+useful for setting up new drives for your root directory. They will typically be mounted
+to <tt class="FILENAME">/mnt</tt> or something other than <tt
+class="FILENAME">/</tt>.</p>
+
+<p>The installed package database entry is stored in <tt
+class="FILENAME">/var/log/packages</tt>. The entry is really just a plain text file, one
+for each package. If the package has a postinstallation script, it is written to <tt
+class="FILENAME">/var/log/scripts/</tt>.</p>
+
+<p>You may specify several packages or use wildcards for the package name. Be advised
+that <tt class="COMMAND">installpkg</tt> will not tell you if you are overwriting an
+installed package. It will simply install right on top of the old one. If you want to
+ensure that old files from the previous package are safely removed, use <tt
+class="COMMAND">upgradepkg</tt>.</p>
+</div>
+
+<div class="SECT2">
+<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG"
+name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-REMOVEPKG">18.2.3 removepkg</a></h2>
+
+<p><tt class="COMMAND">removepkg</tt>(8) handles removing installed packages from the
+system. The syntax is as follows:</p>
+
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> <kbd class="USERINPUT">removepkg option package_name</kbd>
+</pre>
+</td>
+</tr>
+</table>
+
+<p>Four options are provided for <tt class="COMMAND">removepkg</tt>. Only one option may
+be used at a time.</p>
+
+<div class="TABLE"><a id="AEN6491" name="AEN6491"></a>
+<p><b>Table 18-2. <tt class="COMMAND">removepkg</tt> Options</b></p>
+
+<table border="0" frame="void" class="CALSTABLE">
+<col width="1*" />
+<col width="3*" />
+<thead>
+<tr>
+<th>Option</th>
+<th>Effects</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td>-copy</td>
+<td>The package is copied to the preserved packages directory. This creates a tree of the
+original package without removing it.</td>
+</tr>
+
+<tr>
+<td>-keep</td>
+<td>Saves temporary files created during the removal. Really only useful for debugging
+purposes.</td>
+</tr>
+
+<tr>
+<td>-preserve</td>
+<td>The package is removed, but copied to the preserved packages directory at the same
+time.</td>
+</tr>
+
+<tr>
+<td>-warn</td>
+<td>Shows what would happen if you removed the package.</td>
+</tr>
+</tbody>
+</table>
+</div>
+
+<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
+class="COMMAND">removepkg</tt>, that path will be used for the root directory. This is
+useful for setting up new drives for your root directory. They will typically be mounted
+to <tt class="FILENAME">/mnt</tt> or something other than <tt
+class="FILENAME">/</tt>.</p>
+
+<p><tt class="COMMAND">removepkg</tt> looks at the other installed packages and only
+removes files unique to the package you specify. It will also scan the postinstallation
+script for the specified package and remove any symbolic links that were created by
+it.</p>
+
+<p>During the removal process, a status report is displayed. After the removal, the
+package database entry is moved to <tt class="FILENAME">/var/log/removed_packages</tt>
+and the postinstallation script is moved to <tt
+class="FILENAME">/var/log/removed</tt>_scripts.</p>
+
+<p>Just as with <tt class="COMMAND">installpkg</tt>, you can specify several packages or
+use wildcards for the package name.</p>
+</div>
+
+<div class="SECT2">
+<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG"
+name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-UPGRADEPKG">18.2.4 upgradepkg</a></h2>
+
+<p><tt class="COMMAND">upgradepkg</tt>(8) will upgrade an installed Slackware package.
+The syntax is as follows:</p>
+
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> <kbd class="USERINPUT">upgradepkg package_name</kbd>
+</pre>
+</td>
+</tr>
+</table>
+
+<p>or</p>
+
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> <kbd
+class="USERINPUT">upgradepkg old_package_name%new_package_name</kbd>
+</pre>
+</td>
+</tr>
+</table>
+
+<p><tt class="COMMAND">upgradepkg</tt> works by first installing the new package and then
+removing the old package so that old files are no longer around on the system. If the
+upgraded package name has changed, use the percent sign syntax to specify the old package
+(the one that is installed) and the new package (the one you are upgrading it to).</p>
+
+<p>If you pass the <tt class="ENVAR">ROOT</tt> environment variable before <tt
+class="COMMAND">upgradepkg</tt>, that path will be used for the root directory. This is
+useful for setting up new drives for your root directory. They will typically be mounted
+to <tt class="FILENAME">/mnt</tt> or something other than <tt
+class="FILENAME">/</tt>.</p>
+
+<p><tt class="COMMAND">upgradepkg</tt> is not flawless. You should always back up your
+configuration files. If they get removed or overwritten, you'll want a copy of the
+originals for any needed repair work.</p>
+
+<p>Just as with <tt class="COMMAND">installpkg</tt> and <tt
+class="COMMAND">removepkg</tt>, you can specify several packages or use wildcards for the
+package name.</p>
+</div>
+
+<div class="SECT2">
+<h2 class="SECT2"><a id="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM"
+name="PACKAGE-MANAGEMENT-PACKAGE-UTILITIES-RPM">18.2.5 <tt
+class="COMMAND">rpm2tgz</tt>/<tt class="COMMAND">rpm2targz</tt></a></h2>
+
+<p>The Red Hat Package Manager is a popular packaging system available today. Many
+software distributors are offering their products in RPM format. Since this is not our
+native format, we do not recommend people rely on them. However, some things are only
+available as an RPM (even the source).</p>
+
+<p>We provide a program that will convert RPM packages to our native <tt
+class="FILENAME">.tgz</tt> format. This will allow you to extract the package (perhaps
+with <tt class="COMMAND">explodepkg</tt>) to a temporary directory and examine its
+contents.</p>
+
+<p>The <tt class="COMMAND">rpm2tgz</tt> program will create a Slackware package with a
+<tt class="FILENAME">.tgz</tt> extension, while <tt class="FILENAME">rpm2targz</tt>
+creates an archive with a <tt class="FILENAME">.tar.gz</tt> extension.</p>
+</div>
+</div>
+
+<div class="NAVFOOTER">
+<hr align="LEFT" width="100%" />
+<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
+cellspacing="0">
+<tr>
+<td width="33%" align="left" valign="top"><a href="package-management.html"
+accesskey="P">Prev</a></td>
+<td width="34%" align="center" valign="top"><a href="index.html"
+accesskey="H">Home</a></td>
+<td width="33%" align="right" valign="top"><a
+href="package-management-making-packages.html" accesskey="N">Next</a></td>
+</tr>
+
+<tr>
+<td width="33%" align="left" valign="top">Slackware Package Management</td>
+<td width="34%" align="center" valign="top"><a href="package-management.html"
+accesskey="U">Up</a></td>
+<td width="33%" align="right" valign="top">Making Packages</td>
+</tr>
+</table>
+</div>
+</body>
+</html>
+