summaryrefslogtreecommitdiffstats
path: root/slackbook/html/package-management-package-utilities.html
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /slackbook/html/package-management-package-utilities.html
downloadcurrent-5a12e7c134274dba706667107d10d231517d3e05.tar.gz
current-5a12e7c134274dba706667107d10d231517d3e05.tar.xz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
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 000000000..0179a5a81
--- /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>
+