diff options
Diffstat (limited to 'slackbook/html/package-management-package-utilities.html')
-rw-r--r-- | slackbook/html/package-management-package-utilities.html | 330 |
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> + |