mirror of https://github.com/tLDP/LDP
4384 lines
118 KiB
XML
4384 lines
118 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
|
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
|
|
<!ENTITY GFDLDOC SYSTEM "fdl.xml">
|
|
]>
|
|
<!--"/usr/share/sgml/docbook/xml-dtd-4.1/docbookx.dtd" [-->
|
|
<!--"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [-->
|
|
<article class="whitepaper" id="rpmupgrade">
|
|
<title>UNDER DEVELOPMENT -- RPM download and upgrade -- UNDER
|
|
DEVELOPMENT</title>
|
|
|
|
<articleinfo>
|
|
<copyright>
|
|
<year id="copyyear">2002</year>
|
|
|
|
<holder id="authorname">Steven Sanfratello</holder>
|
|
</copyright>
|
|
|
|
<pubdate id="publicationdate" role="rcs">$Date: 2002/03/09
|
|
05:31:25 $</pubdate>
|
|
|
|
<releaseinfo id="releaseversion">v0.02</releaseinfo>
|
|
|
|
<abstract>
|
|
<para>The GNU/Linux world asserts that the operating system can
|
|
be downloaded from the Internet and installed for no money.
|
|
Upgrading is a fundamental task when maintaining a GNU/Linux
|
|
system. The easiest way to upgrade is by installing GNU/Linux
|
|
on a fresh partition. In my readings about upgrading I was
|
|
always left wondering if it is also possible to upgrade an
|
|
existing distribution without destroying it. Here is a
|
|
description of upgrading a GNU/Linux distribution up to the
|
|
next major release from the same vendor, using the downloaded
|
|
binary rpm packages.</para>
|
|
|
|
<para>Upgrading using downloaded, binary
|
|
<acronym>rpm</acronym>
|
|
|
|
packages has its advantages and disadvantages. It took me about
|
|
a week and a half to download a little over 600 Megabytes,
|
|
using a 56K modem. A few days after that I was done upgrading
|
|
the packages. Things did not go smoothly for me. But I'll
|
|
identify the pitfalls that I encountered and give tips on
|
|
avoiding them, so that you will spend less time when you
|
|
upgrade.</para>
|
|
</abstract>
|
|
|
|
<revhistory>
|
|
<revision>
|
|
<revnumber>0.2</revnumber>
|
|
|
|
<date>2002/03/10</date>
|
|
|
|
<authorinitials>srs</authorinitials>
|
|
|
|
<revremark>After discussing the issues with Greg Louis, we
|
|
decided not to merge his Upgrade HOWTO and mine.</revremark>
|
|
</revision>
|
|
|
|
<revision>
|
|
<revnumber>1.0</revnumber>
|
|
|
|
<date>2002/03/??</date>
|
|
|
|
<authorinitials>srs</authorinitials>
|
|
|
|
<revremark>Initial public release.</revremark>
|
|
</revision>
|
|
</revhistory>
|
|
</articleinfo>
|
|
|
|
<remark>THIS DOCUMENT IS STILL UNDER DEVELOPMENT. PLEASE, HOLD ANY
|
|
CRITICISMS UNTIL I'M FINISHED WRITING IT.</remark>
|
|
|
|
<sect1 id="copyleft">
|
|
<title>GNU Copyleft</title>
|
|
|
|
<sect2>
|
|
<title id="twolicense">Copyright and Licensing Notice</title>
|
|
|
|
<para>Copyright (c) Steven Sanfratello. Permission is granted
|
|
to copy, distribute and/or modify this document under the terms
|
|
of the GNU
|
|
<ulink url="http://www.gnu.org/copyleft/fdl.html#TOC2">Free
|
|
Documentation License, Version 1.1</ulink>
|
|
|
|
or any later version published by the Free Software Foundation;
|
|
with the Invariant Sections being
|
|
<link linkend="copyleft">GNU Copyleft</link>
|
|
|
|
with no Front-Cover Texts and no Back-Cover Text. A copy of the
|
|
license is included in the section entitled "
|
|
<link linkend="gfdl">GNU Free Documentation License</link>
|
|
|
|
".</para>
|
|
|
|
<!-- FIXME: extra white space -->
|
|
<para>The author can be contacted at
|
|
<email>nevets72@linuxmail.org</email>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
If you're commenting on text from this HOWTO then please
|
|
include
|
|
<xref endterm="releaseversion" linkend="releaseversion" />
|
|
|
|
and
|
|
<link linkend="publicationdate">$Date$</link>
|
|
|
|
to identify the version and release date of the HOWTO.</para>
|
|
|
|
<para>If you are profiting from the use or distribution of this
|
|
document please consider giving something back to the Linux
|
|
community or to the author and then act on those
|
|
considerations.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twowarranty">Warranty</title>
|
|
|
|
<para>Although this HOWTO has been carefully prepared, the
|
|
author assumes no responsibility for errors or omissions or the
|
|
risks that using these ideas creates. No liability is assumed
|
|
for damages resulting from the use of the information contained
|
|
herein.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="introduction">
|
|
<title>Introduction</title>
|
|
|
|
<sect2>
|
|
<title id="twowhere">Where is the latest version?</title>
|
|
|
|
<para>Get the latest version of this HOWTO from :
|
|
<simplelist type="vert">
|
|
<member>
|
|
<ulink url="http://members.linuxmail.org/nevets72/rpmupgrade/">
|
|
HTML Version on my web page</ulink>
|
|
</member>
|
|
|
|
<member>
|
|
<ulink
|
|
url="http://cvsview.linuxdoc.org/index.cgi/howto/docbook/rpmupgrade.sgml/">
|
|
Docbook XML LinuxDoc CVS</ulink>
|
|
</member>
|
|
|
|
<member>
|
|
<ulink
|
|
url="http://members.a1isp.net/nevets72/rpmupgrade/xml/">
|
|
Docbook XML source on my web page</ulink>
|
|
</member>
|
|
</simplelist>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twoconvetions">Conventions used in this
|
|
HOWTO</title>
|
|
|
|
<orderedlist inheritnum="ignore" continuation="restarts">
|
|
<listitem>
|
|
<para>There are some example commands in this HOWTO. They
|
|
are formatted like this:</para>
|
|
|
|
<para>
|
|
<prompt>application-name with
|
|
prompt-character(s)</prompt>
|
|
|
|
<command>command-name</command>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>command-parameter(s)</replaceable>
|
|
</parameter>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Sometimes I'll talk about my experiences during an
|
|
upgrade. These are meant to convey my experiences,
|
|
motivations and pitfalls to you. These experiences apply to
|
|
my system but may also apply to yours, with some adapting.
|
|
They are formatted like this:</para>
|
|
|
|
<sidebar>
|
|
<para>I appreciated having Linux and so I wrote this to
|
|
give back to the community. Also I wanted to preserve
|
|
this experience in writing so I wouldn't forget what I
|
|
learned. What better way to preserve it than with a
|
|
HOWTO?</para>
|
|
</sidebar>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<note>
|
|
<para>Notes like this one give you useful tokens of
|
|
information that stand beside the main text.</para>
|
|
</note>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<caution>
|
|
<para>Cautions like this one tell you that a procedure
|
|
can be dangerous to your system if done
|
|
carelessly.</para>
|
|
</caution>
|
|
</listitem>
|
|
|
|
<listitem id="linkdemo">
|
|
<para id="xrefdemo" xreflabel="this way">Cross references
|
|
to other sections of the text are formatted :
|
|
<!-- <xref endterm="xrefdemo" linkend="xrefdemo" /> -->
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
They are very similar to links which look :
|
|
<link linkend="linkdemo">like this</link>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twopurpose">Purpose of this document</title>
|
|
|
|
<itemizedlist>
|
|
<title>There are many reasons that you might want to read
|
|
this.</title>
|
|
|
|
<listitem>
|
|
<para>If you are considering taking advantage of the freely
|
|
downloadable versions of Linux you should know that it
|
|
takes some effort and know-how to accomplish. Reading this
|
|
HOWTO gives you a real picture of the effort required
|
|
before you start the process for yourself. In that way it
|
|
will help you decide if the big download and the upgrade is
|
|
worth the trouble.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If your installation program doesn't give you enough
|
|
control over which packages are installed, this method
|
|
gives you the control to eliminate what you don't need.
|
|
That control allows you to customize your installation to
|
|
almost any size that you want. While some installation
|
|
programs give you this level of control, some do
|
|
not.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Whether you decide to download or you obtain the rpm
|
|
packages on disk, then this will explain what it takes to
|
|
do the upgrade. Many commercial distributions are packaged
|
|
as binary rpms, so I thought that a HOWTO on a major rpm
|
|
oriented upgrade would make useful HOWTO. The most
|
|
important factor when upgrading the rpms is choosing the
|
|
right order
|
|
<emphasis>(hint: start with the libraries.)</emphasis>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>I'll give you a description of what I went through to
|
|
set up and upgrade my system and the reasoning behind it.
|
|
From that description you can get an idea of what's
|
|
involved when doing similar upgrades to your system. There
|
|
are many different programs that can be used for this
|
|
process. I'll touch on several of them.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>This is not a HOWTO about upgrading a single program,
|
|
with its dependencies. That knowledge can be obtained from
|
|
the
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
documentation. But if you find that there are so many new
|
|
dependencies that package requires, and you've worked the
|
|
dependencies all the way down to the kernel, you may decide
|
|
that it's time to upgrade the whole distribution. That is
|
|
the task that this HOWTO discusses.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>By using the rpm binary packages, you will have the
|
|
convenience of using the compilation options and
|
|
configuration options that the vendor has chosen. But, you
|
|
will lose the ability to customize the compilation
|
|
options.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twohowlong">How long does it really take?</title>
|
|
|
|
<sidebar>
|
|
<para>Over all, it took about one and a half weeks to
|
|
download the packages. The binary rpms total size was a
|
|
little over 600 Megabytes. It took a few more days to do the
|
|
upgrading.</para>
|
|
</sidebar>
|
|
|
|
<sidebar>
|
|
<para>I've also been told a 600 Mbyte CD-ROM image downloaded
|
|
at an average 180 kilobytes per second -- seven and a half
|
|
hours -- in one try, using a cable modem.</para>
|
|
</sidebar>
|
|
|
|
<sidebar>
|
|
<para>A more automated
|
|
<acronym>FTP</acronym>
|
|
|
|
procedure would reduce the download time
|
|
significantly.</para>
|
|
|
|
<para>The
|
|
<acronym>FTP</acronym>
|
|
|
|
server disconnected me often. I found that this was the
|
|
biggest time waster in the whole process. The timeout before
|
|
notifying me that the server wasn't responding (T
|
|
<subscript>nr</subscript>
|
|
|
|
),
|
|
<!-- FIXME: extra white space -->
|
|
added to the time it took me to notice and check that message
|
|
|
|
<!-- FIXME: extra white space -->
|
|
(T
|
|
<subscript>not</subscript>
|
|
|
|
),
|
|
<!-- FIXME: extra white space -->
|
|
added to the time it takes to reconnect (T
|
|
<subscript>rc</subscript>
|
|
|
|
),
|
|
<!-- FIXME: extra white space -->
|
|
multiplied by a disconnect every 20 to 60 minutes totaled
|
|
many wasted hours.</para>
|
|
|
|
<para>(T
|
|
<subscript>nr</subscript>
|
|
|
|
+ T
|
|
<subscript>not</subscript>
|
|
|
|
+ T
|
|
<subscript>rc</subscript>
|
|
|
|
)
|
|
<!-- FIXME: extra white space -->
|
|
* (20 to 60 minutes) = many wasted hours</para>
|
|
|
|
<para>In addition to all of that there is, of course the time
|
|
of waiting for the downloads. A program that reconnects to an
|
|
FTP server automatically would be a big help in reducing the
|
|
downloading time.</para>
|
|
</sidebar>
|
|
|
|
<para>
|
|
<application>ncftp</application>
|
|
|
|
has a feature which might help that problem. It can download
|
|
files in the background:</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command>bgget</command>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>foo</replaceable>
|
|
</parameter>
|
|
</para>
|
|
|
|
<para>which might make the download easier and possibly faster
|
|
too. After issuing a background command you might also want to
|
|
issue a
|
|
<command moreinfo="none">bgstart</command>
|
|
|
|
to give the download a kick in the pants.</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command>bgstart</command>
|
|
</para>
|
|
|
|
<sidebar>
|
|
<para>Upgrading would go smoother and quicker for someone
|
|
with more experience upgrading than I have. This was a
|
|
discovery effort, so there were many pitfalls for me. I am
|
|
writing this to help you avoid those pitfalls and so your
|
|
experience should go quicker than mine regardless of your
|
|
experience with upgrading.</para>
|
|
</sidebar>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twobenefits">The benefits and costs of upgrading
|
|
this way</title>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2" align="left">
|
|
<thead>
|
|
<row>
|
|
<entry align="center">Benefits</entry>
|
|
|
|
<entry align="center">Costs</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>Downloading the packages is free.</entry>
|
|
|
|
<entry>But the big cost is the time it takes to
|
|
download and the space it takes to store them.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>You don't have to buy the
|
|
<acronym>CD</acronym>
|
|
|
|
s.
|
|
<!-- FIXME: extra white space -->
|
|
</entry>
|
|
|
|
<entry>The purchase price of the CD could contribute
|
|
towards developing the future of the
|
|
distribution.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Upgrading each package by hand gives you control
|
|
over your system. You'll have the opportunity to choose
|
|
which components you want and which you don't want. Not
|
|
all of the installation software available gives you
|
|
that much control.</entry>
|
|
|
|
<entry>That control requires some knowledge of what to
|
|
do and what not to do. (Be careful to make sure that
|
|
any modification you make can be undone, so that you
|
|
can recover from your mistakes.)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Using the binary packages is more convenient
|
|
than compiling each package.</entry>
|
|
|
|
<entry>You will be dependent on the compilation options
|
|
that the packager has chosen for you. You will have to
|
|
trust that your packager knows the right options for
|
|
your system.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>This control could be very helpful when you have
|
|
to squeeze Linux into a small hard disk or tailor Linux
|
|
in any other way.</entry>
|
|
|
|
<entry>If you don't need the control, it is much easier
|
|
to get a commercial installer.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Upgrading one package at a time also gives you a
|
|
deeper understanding about the components of your
|
|
system and how they fit together.</entry>
|
|
|
|
<entry>There's sunlight, people and roller coasters out
|
|
there in the real world! :-)</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twoassume">What I'm assuming about you.</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>You'll need to know what rpm (Red Hat Package
|
|
Manager) is and have some basic experience using the
|
|
packages. (See
|
|
<xref endterm="rpmhowto" linkend="rpmhowto" />
|
|
|
|
)
|
|
<!-- FIXME : extra white space. -->
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You have a working Linux with rpm installed.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you are going to do the download, I assume that
|
|
you have more time on your hands than money (like me). Or
|
|
that you have a high speed Internet connection.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The upgrading will take some familiarity with Linux
|
|
and some knowledge of the what each package does. This
|
|
knowledge can be obtained from the package information, of
|
|
course. (See
|
|
<xref linkend="rpmtips" />
|
|
|
|
for how to show the summary information.)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You have to use that knowledge when choosing the
|
|
right packages to satisfy rpm dependencies. Normally these
|
|
will have similar names, which makes it simple to
|
|
do.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Writing this HOWTO as one procedure probably won't
|
|
work for everyone. You'll have to be informed and
|
|
<simplelist type="inline">
|
|
<member>stay aware of what you're doing</member>
|
|
|
|
<member>understand why you're doing it</member>
|
|
|
|
<member>and figure out the best way to apply it to your
|
|
system</member>
|
|
</simplelist>
|
|
|
|
.</para>
|
|
|
|
<!-- FIXME : extra white space. -->
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>This is aimed at an intermediate Linux, at-home,
|
|
administrator.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="distrothoughts">
|
|
<title>Some thoughts on distributions and upgrading</title>
|
|
|
|
<sect2>
|
|
<title id="twocharacteristics">Characteristics of a
|
|
distribution which would be a good choice for upgrading</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Current packages (so that your efforts in upgrading
|
|
are worth your while)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Well structured dependencies</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Compatibility with other distributions</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Well structured grouping</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Configured and tested packages</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Packages configured for versatility and
|
|
security</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Includes useful packages but skips unnecessary
|
|
ones</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Easy and flexible installation program</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>A bootable CD with a Linux that can be used to do
|
|
maintenance on your system</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Compliance with the
|
|
<ulink url="http://www.linuxbase.org">
|
|
<acronym>LSB</acronym>
|
|
</ulink>
|
|
|
|
standards will allow better compatibility between various
|
|
Linux distributions.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Of course, there are lots of other factors, each of which
|
|
will be important to different people. Many of the factors in
|
|
choosing a distribution are subjective. You'll have to weigh
|
|
them for yourself to decide which are important to you. I just
|
|
think that these were some relevant factors in regards to this
|
|
HOWTO.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twoswitching">Switching vendors when
|
|
upgrading</title>
|
|
|
|
<para>It's not impossible to switch to a different vendor when
|
|
upgrading but it is very difficult. You'll have to deal with
|
|
missing files, unsatisfied dependencies, incompatible groupings
|
|
and incompatible package names.</para>
|
|
|
|
<para>It would be nice to be able to switch vendors by
|
|
upgrading, allowing you to see the advantages of other vendor's
|
|
distributions. When building the rpms the builder can choose
|
|
which files are added to a package, how the packages are
|
|
grouped, the name of the package and the dependencies of the
|
|
package. These are some of the functions that vendors do. These
|
|
will vary from one vendor to another in quality and name. And
|
|
so when you try to use a package from one vendor to upgrade a
|
|
package of another vendor, you will find that it is not an
|
|
exact fit.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="download">
|
|
<title>Download</title>
|
|
|
|
<sect2>
|
|
<title id="twopacklicense">Licensing of rpm packages</title>
|
|
|
|
<para>There are several different licenses that cover a
|
|
complete Linux OS. The most famous one is the GNU GENERAL
|
|
PUBLIC LICENSE (
|
|
<acronym>GPL</acronym>
|
|
|
|
)
|
|
<!-- FIXME: extra white space -->
|
|
which is "intended to guarantee your freedom to share and
|
|
change free software". This includes derivative work made from
|
|
the software. According to the GPL a derivative work is, "a
|
|
work containing the Program or a portion of it, either verbatim
|
|
or with modifications." (
|
|
<application>rpm</application>
|
|
|
|
<!-- FIXME: extra white space -->
|
|
itself is covered by this license. When used as a library it's
|
|
covered under the LGPL.)</para>
|
|
|
|
<para>Binary rpm packages are derivative of the original
|
|
program. If the original program was covered by the
|
|
<acronym>GPL</acronym>
|
|
|
|
then so is the rpm package of it. Also from the GPL, "Our
|
|
General Public Licenses are designed to make sure that you have
|
|
the freedom to distribute copies of free software (and charge
|
|
for this service if you wish), that you receive source code or
|
|
can get it if you want it, that you can change the software or
|
|
use pieces of it in new free programs; and that you know you
|
|
can do these things." This permits the free distribution of
|
|
<acronym>GPL</acronym>
|
|
|
|
software. Not all Linux software in a distribution is licensed
|
|
under the
|
|
<acronym>GPL</acronym>
|
|
|
|
,
|
|
<!-- FIXME: extra white space -->
|
|
though. But the GPL allows you access to the ones that are
|
|
covered by it.</para>
|
|
|
|
<para>So, this HOWTO refers to downloading GPL software.
|
|
Software that isn't covered by the GPL may require different
|
|
steps to respect those licensing requirements and those
|
|
differences will not be addressed here, for the sake of
|
|
simplicity. The easiest way to tell if a package is under the
|
|
GPL is to look for it being mentioned in the Copyright field of
|
|
the rpm information.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twocandownload">Can Linux be downloaded?</title>
|
|
|
|
<para>Yes, it can, if you have the disk space to keep all of
|
|
the files.
|
|
<acronym>FTP</acronym>
|
|
|
|
is a good download method.
|
|
<acronym>HTTP</acronym>
|
|
|
|
can be used also but that isn't as convenient.</para>
|
|
|
|
<para>Here are some of the basics of
|
|
<application>ncftp</application>
|
|
|
|
and some pitfalls to avoid to make your downloading easier. A
|
|
quick summary of some
|
|
<application>ncftp</application>
|
|
|
|
commands follows but see the info in
|
|
<command>ncftp(1)</command>
|
|
|
|
for all of the details of each command.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twoncftpfeatures">ncftp features</title>
|
|
|
|
<para>The
|
|
<application>ncftp</application>
|
|
|
|
program is a nice tool. It can get the binary files off the
|
|
remote server and into the current working directory.
|
|
<itemizedlist mark="-">
|
|
<listitem>
|
|
<para>It is also possible to download files as a background
|
|
process using the bgget command which allows
|
|
<emphasis>unattended downloads</emphasis>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>For files that weren't completely downloaded,
|
|
<application>ncftp</application>
|
|
|
|
is capable of resuming the download from where it left off
|
|
rather than starting the file from the beginning.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To abort a get command, use two
|
|
<keycombo>
|
|
<keycap>Ctrl-C</keycap>
|
|
</keycombo>
|
|
|
|
keystrokes. This will stop your download quickly.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Use wild cards to get larger blocks of files.
|
|
<application>ncftp</application>
|
|
|
|
is also capable of getting directories, recursively.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twotimesaver">Time savers: Skip unnecessary files
|
|
and tweak time-outs</title>
|
|
|
|
<para>You probably will not want to spend the time getting all
|
|
the files from the remote directory. For instance you can skip
|
|
any of the
|
|
<application>X</application>
|
|
|
|
servers that aren't meant for your video card. If you want to
|
|
save a big chunk of time and disk space you can skip the
|
|
desktop packages but most home users won't want to do that.
|
|
Home users can skip many of the server packages, though. Base
|
|
your choices of what to download on the packages of your
|
|
current system, but understand that your vendor may have
|
|
introduced some new and necessary packages that cannot be
|
|
skipped.</para>
|
|
|
|
<tip>
|
|
<para>Generate a list of your current system's packages with
|
|
one simple command:</para>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>rpm</command>
|
|
|
|
<parameter>-qa</parameter>
|
|
|
|
<parameter moreinfo="none">></parameter>
|
|
|
|
<filename>currentrpms</filename>
|
|
</para>
|
|
</tip>
|
|
|
|
<para>There's a way you can get
|
|
<application>ncftp</application>
|
|
|
|
to skip over some files while getting files using wild cards.
|
|
Create an empty file in your local directory which has the same
|
|
name as the file that you want to skip. Create a name for every
|
|
file that you want to skip. If you have the
|
|
<varname>auto-resume</varname>
|
|
|
|
disabled :</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command>set</command>
|
|
|
|
<varname>auto-resume</varname>
|
|
|
|
<parameter>no</parameter>
|
|
</para>
|
|
|
|
<para>When
|
|
<application>ncftp</application>
|
|
|
|
comes to that file during a get it will ask how you want to
|
|
handle it. You can choose to
|
|
<computeroutput>[
|
|
<keycap>S</keycap>
|
|
|
|
]kip</computeroutput>
|
|
|
|
<!-- FIXME: extra white space -->
|
|
it.</para>
|
|
|
|
<para>To create the empty files in your local directory you can
|
|
first list the remote file system to see their exact
|
|
names.</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command>ls</command>
|
|
</para>
|
|
|
|
<para>To create an empty file with the same name:</para>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>touch</command>
|
|
|
|
<filename>FILE</filename>
|
|
</para>
|
|
|
|
<para>
|
|
<application>X</application>
|
|
|
|
allows you to highlight the file name and copy it with the
|
|
<mousebutton>middle mouse button</mousebutton>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
</para>
|
|
|
|
<para>Then start downloading the files :</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command>get</command>
|
|
|
|
<parameter moreinfo="none">foo*</parameter>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twotradeoff">Time saver trade off</title>
|
|
|
|
<para>The
|
|
<emphasis>trade-off</emphasis>
|
|
|
|
of setting
|
|
<application>ncftp</application>
|
|
|
|
in this way is that you'll have to tell
|
|
<application>ncftp</application>
|
|
|
|
to
|
|
<computeroutput>[
|
|
<keycap>S</keycap>
|
|
|
|
]kip</computeroutput>
|
|
|
|
<!-- FIXME: extra white space -->
|
|
each empty file as
|
|
<application moreinfo="none">ncftp</application>
|
|
|
|
encounters each one and asks you how to handle it. It also
|
|
means that you will have to attend to the download process
|
|
yourself in order to answer these questions.</para>
|
|
|
|
<sidebar>
|
|
<para>It is up to you if you want use this to save download
|
|
time, or not. I chose to use it because there were several
|
|
dozen files that I wanted to skip. In the end, I'm not sure
|
|
if saving the download time was worth the effort.</para>
|
|
</sidebar>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twotimeouts">Local timeouts and Server
|
|
disconnects</title>
|
|
|
|
<para>The FTP server might have a tendency to kick you off
|
|
after every few files you download, even if there are only a
|
|
few users logged onto it. Sometimes you might even get
|
|
disconnected in the middle of a large (10-20 Megabyte)
|
|
file.</para>
|
|
|
|
<tip>
|
|
<para>That is when the resume feature of
|
|
<application>ncftp</application>
|
|
|
|
really comes in handy.</para>
|
|
</tip>
|
|
|
|
<para>These disconnects get very frustrating and time
|
|
consuming. When the server does kick you off,
|
|
<application>ncftp</application>
|
|
|
|
will wait for a timeout before it informs you of the
|
|
disconnection. The variable which controls that timeout is
|
|
called
|
|
<varname>control-timeout</varname>
|
|
|
|
(isn't that a clever name?) I found that the default timeout
|
|
was way too long and slowed me down. This setting delays how
|
|
long
|
|
<application>ncftp</application>
|
|
|
|
will take before announcing that the server isn't
|
|
responding.</para>
|
|
|
|
<para>You'll probably want to decrease both your
|
|
<varname>connect-timeout</varname>
|
|
|
|
and
|
|
<varname>control-timeout</varname>
|
|
|
|
in order to speed up the download process. The more reliable
|
|
your connection with the server then the smaller you can make
|
|
them. As you download each chunk of files, turn the timeouts
|
|
down slowly, one at a time, and pay attention to see if
|
|
decreasing that timeout makes your connection less reliable. If
|
|
that happens then you have gone too low and you should increase
|
|
the timeout a little.</para>
|
|
|
|
<tip>
|
|
<para>See the
|
|
<application>ncftp</application>
|
|
|
|
man pages for descriptions of the timeout variables, there
|
|
are 3 of them.</para>
|
|
</tip>
|
|
|
|
<sidebar>
|
|
<para>My timeout variables are
|
|
<command>set</command>
|
|
|
|
as so:
|
|
<simplelist>
|
|
<member>connect-timeout : 20</member>
|
|
|
|
<member>control-timeout : 10</member>
|
|
|
|
<member>xfer-timeout : 3600</member>
|
|
</simplelist>
|
|
</para>
|
|
</sidebar>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="partitions" xreflabel="Partitions">
|
|
<title>Partitions when upgrading</title>
|
|
|
|
<sect2>
|
|
<title id="twoconsidermore">Using a spare partitions</title>
|
|
|
|
<para>You may find as you're upgrading that having a separate
|
|
partition can be very handy. You can choose to stick with the
|
|
distribution's original partitioning but consider the possible
|
|
flexibility that adding one or more spare partitions might give
|
|
you when upgrading.</para>
|
|
|
|
<caution>
|
|
<para>If you try to change a partition, which already has
|
|
data on it you will destroy the data. To change a partition
|
|
with data you will need program that can do non-destructive
|
|
repartitioning such as
|
|
<simplelist type="inline">
|
|
<member>
|
|
<application>fips</application>
|
|
</member>
|
|
|
|
<member>
|
|
<application>parted</application>
|
|
</member>
|
|
|
|
<member>or
|
|
<application>Partition Magic</application>
|
|
</member>
|
|
</simplelist>
|
|
</para>
|
|
</caution>
|
|
|
|
<para>A spare partition can be used to install a whole new
|
|
Linux, side by side with your current one. After that one is
|
|
running the old data can be copied or merged into the new
|
|
system. Then the old partitions, once the files on them aren't
|
|
needed any more, can be repartitioned and merged back into your
|
|
new system as its space requirements grow.</para>
|
|
|
|
<para>Or if you don't have the hard drive space for a second
|
|
Linux but your data is small enough, a spare partition can be
|
|
used to back up the data. For example, back up the /etc and
|
|
/home directories or store your downloaded rpm packages on the
|
|
partition.
|
|
<application>mount</application>
|
|
|
|
the partition to a temporary point while restoring the backups.
|
|
After restoring from the backups, that partition can be erased
|
|
and remounted at a more permanent point, integrating it into
|
|
the running system.</para>
|
|
|
|
<para>The choice of how to use your hard drive's spare space,
|
|
for the new Linux or for backup data, depends on how your drive
|
|
is partitioned. If Linux is all that you are running and you
|
|
have the space to make the partitions for a new Linux then that
|
|
will probably be the safest and easiest way to upgrade. If you
|
|
are dual booting, with seperate operating systems on seperate
|
|
partitions, then you might want to use the other OS's spare
|
|
space for tempoary back up while upgrading. Back up any data
|
|
which you are worried might be damaged during the upgrade.
|
|
Upgrade by overwriting the existing Linux sytem.</para>
|
|
|
|
<tip>
|
|
<para>There is a detailed HOWTO (
|
|
<xref endterm="partitionhowto" linkend="partitionhowto" />
|
|
|
|
)
|
|
<!-- FIXME: extra white space -->
|
|
on partitioning if you'd like to learn more about them and
|
|
their use. Also GNU's parted has
|
|
<ulink
|
|
url="http://www.gnu.org/software/parted/parted.html#documentation">
|
|
documentation</ulink>
|
|
|
|
that explains many issues about partitioning.</para>
|
|
</tip>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Growing into spare space</title>
|
|
|
|
<para>After the upgrade, you will eventually want to integrate
|
|
the spare space back into your new system. One way is dividing
|
|
the space into smaller partitions and mount them into the
|
|
directory tree of other partitions that are running out of
|
|
space.</para>
|
|
|
|
<sidebar id="expandrootpartition"
|
|
xreflabel="Expanding the root partition">
|
|
<para>As an example of integrating a small partition, I had
|
|
<filename>/</filename>
|
|
|
|
mounted on too small a partition. It ran out of space a
|
|
couple of times after the upgrade. But I had a spare
|
|
partition which was mounted to a temporary point called
|
|
<filename>/extra</filename>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
When I saw that the
|
|
<filename>/var</filename>
|
|
|
|
directory was the cause of the
|
|
<filename>/</filename>
|
|
|
|
partition getting filled, I was able to mount the spare
|
|
partition as
|
|
<filename>/var</filename>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
That freed up enough space on the
|
|
<filename>/</filename>
|
|
|
|
partition and gave the new
|
|
<filename>/var</filename>
|
|
|
|
partition more room to grow.</para>
|
|
</sidebar>
|
|
|
|
<sidebar>
|
|
<para>Here is a pitfall that scared me and how I got around
|
|
it. While upgrading my Linux I made a mistake that completely
|
|
prevented my kernel from booting. The mistake was improperly
|
|
upgrading the
|
|
<application>glibc</application>
|
|
|
|
libraries. As a result of that I had to re-install my old
|
|
version of Linux before being able to use the upgrade rpms
|
|
that I had downloaded. I was lucky to have a separate
|
|
partition (my Windows partition) to store the downloaded rpms
|
|
while I re-installed Linux. The spare partition saved me from
|
|
having to destroy over 600 Mbytes of downloads. Because that
|
|
spare partition held the data, I was able to re-partition,
|
|
re-format and re-install Linux without losing any of the
|
|
backup data.</para>
|
|
</sidebar>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twopartitiontools">Partition sizes</title>
|
|
|
|
<para>When you have multiple partitions in Linux the partitions
|
|
should be appropriately sized for the directory that they'll be
|
|
mounted as. You can estimate those sizes based on my setup, but
|
|
it would be better if you based those sizes on your existing
|
|
installation. To check the size of a directory issue the
|
|
command:</para>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>du</command>
|
|
|
|
<parameter>-sh</parameter>
|
|
|
|
<filename>
|
|
<replaceable>[FILE]</replaceable>
|
|
</filename>
|
|
</para>
|
|
|
|
<sidebar>
|
|
<para>Half of my 8 gigabyte drive is devoted to Windows and
|
|
the other half to Linux. The first primary partition (
|
|
<medialabel>/dev/hda1</medialabel>
|
|
|
|
)
|
|
<!-- FIXME: extra white space -->
|
|
was used to back up the rpm packages, as they were
|
|
downloaded. The second primary partition (
|
|
<medialabel>/dev/hda2</medialabel>
|
|
|
|
)
|
|
<!-- FIXME: extra white space -->
|
|
reserves the physical space for the logical partitions. Those
|
|
logical partitions are the ones that are mounted by Linux.
|
|
This second primary partition is never mounted directly.
|
|
While re-installing, I used one of these logical partitions
|
|
for back up in addition to the first primary partition just
|
|
for reduncancy.</para>
|
|
</sidebar>
|
|
|
|
<tip>
|
|
<para>Use
|
|
<application>fdisk</application>
|
|
|
|
or your distribution's installation program, to display
|
|
partition information. Run
|
|
<application>fdisk</application>
|
|
|
|
as root. The partitions can be manipulated later.</para>
|
|
|
|
<para>
|
|
<prompt>bash#</prompt>
|
|
|
|
<command>fdisk</command>
|
|
|
|
<parameter moreinfo="none">-l</parameter>
|
|
|
|
<medialabel>
|
|
<replaceable>device</replaceable>
|
|
</medialabel>
|
|
</para>
|
|
</tip>
|
|
|
|
<tip>
|
|
<para>Check how much free space is on your partitions.</para>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>df</command>
|
|
|
|
<parameter>-h</parameter>
|
|
|
|
<filename moreinfo="none">
|
|
<replaceable>[FILE]</replaceable>
|
|
</filename>
|
|
</para>
|
|
</tip>
|
|
|
|
<tip>
|
|
<para>The mount point information can be obtained from the
|
|
file
|
|
<ulink url="file:/etc/fstab" type="local file">
|
|
/etc/fstab</ulink>
|
|
|
|
or with
|
|
<application>mount</application>
|
|
|
|
using no arguments.</para>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>mount</command>
|
|
</para>
|
|
</tip>
|
|
|
|
<caution>
|
|
<para>Whichever partition(s) hold your backups, make sure
|
|
that you do not reformat or resize it during installation. In
|
|
most programs either of those actions would destroy your
|
|
backups.</para>
|
|
</caution>
|
|
|
|
<tip>
|
|
<para>You can use
|
|
<application>top</application>
|
|
|
|
or
|
|
<application>kpm</application>
|
|
|
|
to monitor how much swap space your system uses.</para>
|
|
</tip>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twopartitionexample">A partitioning example</title>
|
|
|
|
<sidebar>
|
|
<para>I chose to create several partitions. I'll explain what
|
|
partitions I made and my reasons for making them. Read on and
|
|
decide for yourself if you think that my examples are worth
|
|
trying on your system.</para>
|
|
</sidebar>
|
|
|
|
<sidebar>
|
|
<table id="partitiontable" xreflabel="Partition Table">
|
|
<title>Here is how my logical partitions are mounted and
|
|
their usage :</title>
|
|
|
|
<tgroup cols="5">
|
|
<thead>
|
|
<row>
|
|
<entry>Partition</entry>
|
|
|
|
<entry>Mount point</entry>
|
|
|
|
<entry>Size</entry>
|
|
|
|
<entry>Used space</entry>
|
|
|
|
<entry>Used percentage</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>/dev/hda5</entry>
|
|
|
|
<entry>/home</entry>
|
|
|
|
<entry>
|
|
<property>963 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>
|
|
<property>596 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>65%</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>/dev/hda6</entry>
|
|
|
|
<entry>/boot</entry>
|
|
|
|
<entry>
|
|
<property>15.9 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>
|
|
<property>3.32 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>22%</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>/dev/hda7</entry>
|
|
|
|
<entry>/usr</entry>
|
|
|
|
<entry>
|
|
<property>1.97 Gbytes</property>
|
|
</entry>
|
|
|
|
<entry>
|
|
<property>1.18 Gbytes</property>
|
|
</entry>
|
|
|
|
<entry>63%</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>/dev/hda8</entry>
|
|
|
|
<entry>swap (not mounted)</entry>
|
|
|
|
<entry>
|
|
<property>64.2 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>
|
|
<property>27.0 Kbytes</property>
|
|
</entry>
|
|
|
|
<entry>4.2%</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>/dev/hda9</entry>
|
|
|
|
<entry>/var</entry>
|
|
|
|
<entry>
|
|
<property>64.4 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>
|
|
<property>44.8 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>74%</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>/dev/hda10</entry>
|
|
|
|
<entry>/opt</entry>
|
|
|
|
<entry>
|
|
<property>884 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>
|
|
<property>352 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>42%</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>/dev/hda11</entry>
|
|
|
|
<entry>/</entry>
|
|
|
|
<entry>
|
|
<property>135 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>
|
|
<property>59.8 Mbytes</property>
|
|
</entry>
|
|
|
|
<entry>47%</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</sidebar>
|
|
|
|
<para>This table gives you an idea of how big Linux is with
|
|
XFree86,
|
|
<application>KDE 2</application>
|
|
|
|
and lots of other goodies. Check your distribution's size
|
|
requirements to find out how much space it takes up. I'll
|
|
quickly discuss each of these partitions so that you can
|
|
understand them and you can come up with your own
|
|
strategy.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twowhypartitions"
|
|
xreflabel="Why all of those partitions?">Why all of those
|
|
partitions?</title>
|
|
|
|
<para>My
|
|
<emphasis>
|
|
<filename>/home</filename>
|
|
</emphasis>
|
|
|
|
partition was used for back up during installation. During
|
|
installation this can be mounted as the normal
|
|
<filename>/home</filename>
|
|
|
|
directory. This is the directory that holds all of the user
|
|
accounts and the users' personal data. Make sure that none of
|
|
the existing directories on that partition have the same names
|
|
as any of the users that you will be adding during
|
|
installation. If they have the same name then your data could
|
|
get overwritten. Also don't name any of the directories as
|
|
<filename>/home/httpd</filename>
|
|
|
|
which
|
|
<application>apache</application>
|
|
|
|
might want to use or as
|
|
<filename moreinfo="none">/home/ftp</filename>
|
|
|
|
which an
|
|
<acronym>ftp</acronym>
|
|
|
|
program might use. Once mounted, the upgrade process can start
|
|
from these backups. Use temporary names for the backups of the
|
|
user accounts and allow the installation to create new users.
|
|
Restore the data to the new user directories after upgrading
|
|
the rest of system.</para>
|
|
|
|
<para>The
|
|
<emphasis>
|
|
<filename>/boot</filename>
|
|
</emphasis>
|
|
|
|
partition holds the kernel image and associated files and
|
|
possibly the boot loader (
|
|
<application>grub</application>
|
|
|
|
).
|
|
<!-- FIXME: extra white space -->
|
|
It tends to be small. It can be useful for putting the kernel
|
|
below cylinder 1024 on large hard disks in order to avoid the
|
|
well documented BIOS limitation. This partition will be too
|
|
small to be much use for back up.</para>
|
|
|
|
<para>The
|
|
<emphasis>
|
|
<filename>/usr</filename>
|
|
</emphasis>
|
|
|
|
partition tends to be large because it holds the majority of
|
|
your programs. It is probably big enough to be useful for
|
|
backing up but since so much will be placed here during
|
|
installation, it might be complicated to figure out how much
|
|
space to leave for the programs. Of course, if this partition
|
|
is larger than the total size of your Linux then it should be
|
|
fine to use the remaining space for backing up. That is because
|
|
this directory will surely be smaller than that
|
|
specification.</para>
|
|
|
|
<para>The
|
|
<emphasis>swap</emphasis>
|
|
|
|
partition supplements your RAM. It is used to hold data from
|
|
RAM which isn't currently being accessed, in order to free up
|
|
more RAM. There was a rule of thumb saying to make this twice
|
|
the size of your RAM. But the best way is to base this size on
|
|
your current sytem. Find out how much RAM you're using with the
|
|
|
|
<application moreinfo="none">kpm</application>
|
|
|
|
or
|
|
<application moreinfo="none">top</application>
|
|
|
|
program. Each will give you a number that varies depending on
|
|
how many programs you're running. So run the programs that you
|
|
normally use to get an idea of the normal amout of swap space
|
|
you use. Then size the partition a little bigger.</para>
|
|
|
|
<sidebar>
|
|
<para>My
|
|
<emphasis>swap</emphasis>
|
|
|
|
partition and the
|
|
<emphasis>
|
|
<filename>/extra</filename>
|
|
</emphasis>
|
|
|
|
partition were sized and positioned very specifically. With
|
|
64 Mbytes of RAM I wanted a swap partition that could be as
|
|
much as double the amount of RAM. That would mean that I'd
|
|
need about a 128 Mbyte swap file. In Linux kernel version
|
|
2.1, 128 Mbytes is the upper limit of the size of a single
|
|
swap partition but that limit has been raised since then. My
|
|
system doesn't usually use much swap space though, so I broke
|
|
128 in to two partitions. One was made into a swap partition
|
|
and the other was made mountable by formatting it as an ext2.
|
|
This gave me the option of later changing the second
|
|
partition to a swap partition, but to be able to use it as
|
|
file space for now.</para>
|
|
</sidebar>
|
|
|
|
<note>
|
|
<para>Note: The
|
|
<filename>/extra</filename>
|
|
|
|
was remounted as
|
|
<filename>/var</filename>
|
|
|
|
as explained in
|
|
<xref linkend="expandrootpartition" />
|
|
|
|
and that is why
|
|
<filename>/extra</filename>
|
|
|
|
doesn't appear in the previous table.</para>
|
|
</note>
|
|
|
|
<sidebar>
|
|
<para>I made the
|
|
<filename>/extra</filename>
|
|
|
|
and swap partitions about 64 Mbytes a piece. If I found that
|
|
I needed more swap space I could convert the
|
|
<filename>/extra</filename>
|
|
|
|
partition to a swap partition. For the time being, I can
|
|
mount the
|
|
<filename>/extra</filename>
|
|
|
|
partition and use it for storage. Finally, I also positioned
|
|
the
|
|
<filename>/extra</filename>
|
|
|
|
between the
|
|
<filename>/</filename>
|
|
|
|
and
|
|
<filename>/opt</filename>
|
|
|
|
partitions so that the
|
|
<filename>/extra</filename>
|
|
|
|
partition could be combined with either one of those
|
|
partitions to expand their size.</para>
|
|
</sidebar>
|
|
|
|
<para>The
|
|
<emphasis>
|
|
<filename>/opt</filename>
|
|
</emphasis>
|
|
|
|
partition holds some more programs. And in that way, it has the
|
|
same problems in using it for a backup partition as the
|
|
<filename>/usr</filename>
|
|
|
|
partition. You'll need to have and idea of how much space the
|
|
upgraded programs will take up and the remaining space is
|
|
available for backup data. Contributing to the 352 Mbytes (as
|
|
shown in the table above
|
|
<xref linkend="partitiontable" />
|
|
|
|
.)
|
|
<!-- FIXME: extra white space -->
|
|
of my
|
|
<filename>/opt</filename>
|
|
|
|
partition are
|
|
<application>acroread-4.0</application>
|
|
|
|
,
|
|
<!-- FIXME: extra white space -->
|
|
<application>KDE</application>
|
|
|
|
,
|
|
<!-- FIXME: extra white space -->
|
|
<application>KDE 2</application>
|
|
|
|
and
|
|
<application>rvplayer5.0</application>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
</para>
|
|
|
|
<note>
|
|
<para>Note that if you have
|
|
<application>Netscape</application>
|
|
|
|
it also gets installed in
|
|
<filename>/opt</filename>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
</para>
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twofreshinstall">Starting with a fresh
|
|
install</title>
|
|
|
|
<orderedlist>
|
|
<title>What are the good reasons for erasing your Linux and
|
|
starting with a fresh install?</title>
|
|
|
|
<titleabbrev>Why perform a fresh install?</titleabbrev>
|
|
|
|
<listitem>
|
|
<para>Your distribution may want you to.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Linux has a mess of programs and files that you don't
|
|
want to keep and would love an easy way to get rid of
|
|
them.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Installing on a new hard drive.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You've got no files that you care about
|
|
losing.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You don't have time to do anything more than the
|
|
minimum effort and your backups are complete and
|
|
up-to-date.</para>
|
|
</listitem>
|
|
|
|
<!-- GREG's comments
|
|
*** The most important reason is to make sure that you don't
|
|
inadvertently end up with both old and new libraries, programs,
|
|
configuration files and so forth scattered about your system. As just
|
|
one example, if your distributor has decided to change the installation
|
|
of some executables from /bin to /sbin or /usr/bin to /usr/sbin, you
|
|
could easily end up with the old versions still being invoked, by
|
|
default, on your new installation - depending on whether /bin precedes
|
|
or follows /sbin in $PATH. Most of the time, running the package
|
|
manager in upgrade mode takes care of this kind of thing - the vital
|
|
word there is Most.
|
|
-->
|
|
</orderedlist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twowrapup">Wrap up ideas</title>
|
|
|
|
<para>In conclusion, there are many possible ways of
|
|
re-arranging your data amung various partitions. The advantage
|
|
that a backup partition gives is to keep an undisturbed copy of
|
|
the data while doing a complete install. Or you can install a
|
|
whole new Linux on a spare partition to keep your old Linux
|
|
undisturbed while configuring your new sytem. This are just a
|
|
couple of possible schemes. This section gave you an idea of
|
|
how much space is needed for Linux in the various directories.
|
|
But gathering space requirements from your existing system
|
|
before installing will be very useful if you decide to
|
|
re-partition the drive.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="installprecautions">
|
|
<title>Prepare for trouble, before installing</title>
|
|
|
|
<sect2>
|
|
<title id="twolibraryupgrade">The dangers of upgrading the base
|
|
libraries</title>
|
|
|
|
<caution>
|
|
<para>The many programs are dependent on the GNU libraries.
|
|
If the libraries are removed then your system can't access
|
|
them and will stop running. That is a bad thing.
|
|
<emphasis>Do not erase, uninstall, upgrade or delete the GNU
|
|
libraries!</emphasis>
|
|
|
|
Wait until you are certain that the system is using the
|
|
upgraded libraries. I'll explain this more in the next
|
|
section.</para>
|
|
</caution>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twoupgradevsinstall">'rpm -U' verses 'rpm
|
|
-i'</title>
|
|
|
|
<para>
|
|
<itemizedlist>
|
|
<title>When
|
|
<application>rpm</application>
|
|
|
|
upgrades (
|
|
<parameter>-U</parameter>
|
|
|
|
) a package it will :</title>
|
|
|
|
<listitem>
|
|
<para>Compare the version of the rpm file with the
|
|
version of the corresponding, installed package to be
|
|
sure that the rpm file is more recent. There are other
|
|
checks that it runs for file conflicts, dependencies,
|
|
etc.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Install the new package files and register the new
|
|
package name.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Remove the old package files and the package name
|
|
from the rpm database.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
<itemizedlist>
|
|
<title>When
|
|
<application>rpm</application>
|
|
|
|
installs
|
|
<!-- FIXME : extra white space. -->
|
|
(
|
|
<parameter>-i</parameter>
|
|
|
|
)
|
|
<!-- FIXME : extra white space. -->
|
|
a package it will :</title>
|
|
|
|
<listitem>
|
|
<para>Do the same checks for installed versions, file
|
|
conflicts, dependencies, etc.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Install the new package files and register the new
|
|
package name.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>You'll notice that the main difference is that upgrading
|
|
removes the old package but installing doesn't try to remove an
|
|
old package. Install assumes that there isn't an older package
|
|
installed on your system. That is an important difference when
|
|
upgrading an application that your system is running. The
|
|
running application might be using the files of that package.
|
|
Removing the files can cause the application to crash.</para>
|
|
|
|
<para>Normally you will be upgrading (
|
|
<parameter moreinfo="none">-U</parameter>
|
|
|
|
)
|
|
<!-- FIXME : extra white space -->
|
|
the packages. But for packages that the system is running, like
|
|
the base GNU libraries, installing (
|
|
<parameter moreinfo="none">-i</parameter>
|
|
|
|
)
|
|
<!-- FIXME : extra white space -->
|
|
a package allows the old package to remain. This is necessary
|
|
when your running system is dependent on the files of the old
|
|
package. You can remove the old package later.</para>
|
|
|
|
<para>When you install a new package, and there is an old one
|
|
on your system,
|
|
<application>rpm</application>
|
|
|
|
will not notice the old package in the database but it will see
|
|
the files of the package.
|
|
<application>rpm</application>
|
|
|
|
will complain about file conflicts. The complaints mean that
|
|
some (or all) of the files of the new package have the same
|
|
name and location as the files of the old, running package.
|
|
<application>rpm</application>
|
|
|
|
won't install the new package as long as it's detecting this
|
|
error. You can use
|
|
<parameter moreinfo="none">--force</parameter>
|
|
|
|
to have rpm ignore the error, but be careful if you do. Be sure
|
|
that
|
|
<application>rpm</application>
|
|
|
|
reports no other errors before forcing the install. Correct all
|
|
|
|
<emphasis>other</emphasis>
|
|
|
|
errors before forcing. Once forced to install,
|
|
<application>rpm</application>
|
|
|
|
will overwrite the old files with the new ones. Since this
|
|
doesn't delete the old files, but overwrites them instead, your
|
|
system can still access the files and still run.</para>
|
|
|
|
<para>Once installed, querying
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
will accurately report to you that both the old and the new
|
|
packages are installed. The fact that the database has both
|
|
versions listed is harmless to the database. But make a note of
|
|
the redundant packages in case you want to remove the old one
|
|
later.</para>
|
|
|
|
<para>There is a possible problem with this technique though.
|
|
The new files might have some compatibility bugs with the
|
|
running system. I can't tell you how to avoid them. This is a
|
|
risk that you will be taking with this technique. This
|
|
technique lets you use the running system to upgrade itself.
|
|
After restarting the application (or the system, if necessary),
|
|
all of the upgraded files will be loaded and those problems
|
|
should be solved.</para>
|
|
|
|
<para>Reboot the system after the kernel and its dependencies
|
|
are upgraded to get them running. Restart each application
|
|
after each is upgraded to get the new files running. After
|
|
restarting you can remove the old packages by erasing (
|
|
<parameter>-e</parameter>
|
|
|
|
)
|
|
<!-- FIXME : extra white space -->
|
|
the old or upgrading (
|
|
<parameter>-U</parameter>
|
|
|
|
<parameter>--replacepkgs</parameter>
|
|
|
|
)
|
|
<!-- FIXME : extra white space -->
|
|
to the new package.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twokernelupgrade">The dangers of upgrading the
|
|
kernel</title>
|
|
|
|
<para>As you're upgrading the kernel dependencies, there could
|
|
be some incompatibilities between the running kernel and the
|
|
dependencies. That's because as you upgrade you have a mixture
|
|
of older and newer files. Incompatibilities could cause the
|
|
kernel to have trouble running properly.</para>
|
|
|
|
<note>
|
|
<para>To avoid overwriting the kernel packages, the packages
|
|
may create different directories or different file names. By
|
|
creating new names for the new files, the older kernel files
|
|
are preserved and can be booted if for any reason the new
|
|
ones don't work. It's a common practice to keep two verions
|
|
of the kernel installed so that if one has problems booting
|
|
you have another as a backup.</para>
|
|
</note>
|
|
|
|
<para>It is possible to upgrade (
|
|
<parameter moreinfo="none">-U</parameter>
|
|
|
|
)
|
|
<!-- FIXME : extra white space -->
|
|
the binary kernel package and dependancies all at once. To be
|
|
safe you should make backup copies of the kernel image under
|
|
<filename moreinfo="none">/boot/vmlinuz</filename>
|
|
|
|
or
|
|
<filename moreinfo="none">/vmlinuz</filename>
|
|
|
|
and also the modules under
|
|
<filename moreinfo="none">/lib/modules</filename>
|
|
|
|
before upgrading the kernel binary package. Restore those
|
|
backups in case the upgrade stops the kernel from
|
|
booting.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twoavoidmistakes">Ways to avoid mistakes</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Test an
|
|
<application>rpm</application>
|
|
|
|
command with
|
|
<parameter>--test</parameter>
|
|
|
|
before you perform one that might be dangerous. Look for
|
|
any error messages, understand why they're being generated
|
|
and fix them before issuing the
|
|
<application>rpm</application>
|
|
|
|
command.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Make sure that downloaded packages downloaded
|
|
successfully. The easiest way to check this is to compare
|
|
the file size on the server with the file size on your hard
|
|
drive. Or you could use
|
|
<parameter moreinfo="none">-K</parameter>
|
|
|
|
to have
|
|
<application>rpm</application>
|
|
|
|
do its more secure and reliable checks. If you've got
|
|
<application>PGP</application>
|
|
|
|
set up right do the full checks or use
|
|
<parameter moreinfo="none">--nopgp</parameter>
|
|
|
|
to skip the
|
|
<application>PGP</application>
|
|
|
|
check if you don't.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>For crucial packages (libraries, the kernel and
|
|
<application>rpm</application>
|
|
|
|
, for instance) it's a good idea to make backup copies of
|
|
the files before upgrading. If the upgrade doesn't work,
|
|
these backups can be used to restore without the need of
|
|
<application>rpm</application>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
If the upgrade fails for any reason copying the files back
|
|
in place won't restore the rpm database, of course, but it
|
|
will give the program the files that it needs to run
|
|
again.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Keep track of what you're doing. Knowing your
|
|
progress in downloading and upgrading helps you to avoid
|
|
silly mistakes such as downloading a package twice or
|
|
missing a package that you thought you had upgraded but
|
|
haven't even downloaded. There are lots of packages in any
|
|
distribution.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<tip>
|
|
<para>If you ever want to back up your rpm database it's
|
|
located at
|
|
<ulink url="file:/var/lib/rpm" type="local file">
|
|
/var/lib/rpm</ulink>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
</para>
|
|
</tip>
|
|
|
|
<sidebar>
|
|
<para>I have 576 packages installed on my system. Keeping
|
|
track of all of them in your head is complicated. Having some
|
|
written records of your progress will help ease your
|
|
burden.</para>
|
|
</sidebar>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twokeepingtrack">Keeping track of your
|
|
progress</title>
|
|
|
|
<para>rpm can generate a list of the installed packages for you
|
|
by querying all the packages.</para>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command moreinfo="none">rpm</command>
|
|
|
|
<parameter moreinfo="none">-qa</parameter>
|
|
|
|
<parameter>|</parameter>
|
|
|
|
<command>sort</command>
|
|
|
|
<parameter>></parameter>
|
|
|
|
<filename>currentrpms</filename>
|
|
</para>
|
|
|
|
<para>Compare that with a list of the upgrade rpms. Generate
|
|
the upgrade list by first, changing to the directory where you
|
|
downloaded the upgrade rpms, then issue this command to make a
|
|
list.
|
|
<application>sed</application>
|
|
|
|
removes the '.i386.rpm' file extensions.</para>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>ls</command>
|
|
|
|
<parameter>-1</parameter>
|
|
|
|
<parameter>*.rpm</parameter>
|
|
|
|
<parameter>|</parameter>
|
|
|
|
<command>sort</command>
|
|
|
|
<parameter>|</parameter>
|
|
|
|
<command>sed</command>
|
|
|
|
<parameter>-e</parameter>
|
|
|
|
<parameter>"s/\.i386\.rpm.*//"</parameter>
|
|
|
|
<parameter>></parameter>
|
|
|
|
<filename>upgraderpms</filename>
|
|
</para>
|
|
|
|
<para>Finally, to make it easier to compare those two sorted
|
|
lists, use
|
|
<command moreinfo="none">diff</command>
|
|
|
|
to highlight the differences.</para>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>diff</command>
|
|
|
|
<parameter>-u</parameter>
|
|
|
|
<filename>currentrpms</filename>
|
|
|
|
<filename>upgraderpms</filename>
|
|
|
|
<parameter>|</parameter>
|
|
|
|
<command moreinfo="none">less</command>
|
|
</para>
|
|
|
|
<para>Basically, packages with a '+' before the name are files
|
|
that are not upgraded/installed yet. Packages with a '-' are
|
|
installed on the system but have no upgrade file. Packages with
|
|
a space character are just listed as contextual
|
|
information.</para>
|
|
|
|
<para>While that gives you a nice written record of your
|
|
progress, it is cumbersome to read.
|
|
<application>Kpackage</application>
|
|
|
|
is a tool that arranges all of the packages into a categorized
|
|
tree. It can sort out the upgrade packages for you, giving you
|
|
a convenient, expandable tree to look at. I used both tools
|
|
while upgrading.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twootherproblems">Other problems, beyond your
|
|
control.</title>
|
|
|
|
<remark>
|
|
<emphasis>I CANNOT SAY THIS FOR CERTAIN. THE LIBRARY UPGRADES
|
|
DO SEE THAT THE FRONTEND ARE DEPENDIED ON THEM. THIS PROBABLY
|
|
HAPPEND TO ME WHEN I WAS --forcing THE PACKAGES.</emphasis>
|
|
</remark>
|
|
|
|
<remark>
|
|
Test out upgrading some library to refresh your memory.
|
|
Upgrade one that has several frontends depending on it.
|
|
</remark>
|
|
|
|
<para>"Ooops! After that upgrade, program
|
|
<application>
|
|
<replaceable>foo</replaceable>
|
|
</application>
|
|
|
|
won't run any more."
|
|
<application>
|
|
<replaceable>foo</replaceable>
|
|
</application>
|
|
|
|
could be the program that you just upgraded or one that you
|
|
didn't realize was related to that program that you just
|
|
upgraded.</para>
|
|
|
|
<para>Frontend programs are built to rely on other backend
|
|
programs to do some of the work, this is how upgrading one
|
|
package can affect others, if that package is a backend.
|
|
Libraries are always used as a backend of another program. So,
|
|
when upgrading backend programs or libraries, the frontend
|
|
program may stop working because of incompatibilities between
|
|
the old frontend and the new backend.</para>
|
|
|
|
<para>On the other hand, you shouldn't get that problem when
|
|
upgrading frontend programs because
|
|
<application>rpm</application>
|
|
|
|
will give you dependency errors as you try to upgrade. The
|
|
dependencies tell you which backends and libraries the frontend
|
|
is dependent on. These dependencies must be upgraded before, or
|
|
at the same time as, the frontend. But since the backend
|
|
programs don't need the frontends in order to be complete,
|
|
there tend to be very few dependencies errors when upgrading
|
|
backends.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="tworecover">Ways to recover from mistakes</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>If upgrading a backend or library causes a frontend
|
|
to stop working, the best solution, obviously, is to
|
|
upgrade the front end.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>This might not always be possible, though. There may
|
|
be so many dependencies to satisfy, before upgrading the
|
|
frontend, that it will take you too long to complete them
|
|
all before getting your program back online. It may be
|
|
worth it to downgrade back to the original version of the
|
|
backend so that you can get the frontend program working
|
|
immediately. This can be done by either :</para>
|
|
|
|
<para>
|
|
<prompt moreinfo="none">bash#</prompt>
|
|
|
|
<command>rpm</command>
|
|
|
|
<parameter>-U</parameter>
|
|
|
|
<parameter>--force</parameter>
|
|
|
|
<filename><packagenames></filename>
|
|
</para>
|
|
|
|
<para>
|
|
<prompt moreinfo="none">bash#</prompt>
|
|
|
|
<command>rpm</command>
|
|
|
|
<parameter>-U</parameter>
|
|
|
|
<parameter>--oldpackage</parameter>
|
|
|
|
<filename><packagenames></filename>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you can't upgrade nor downgrade, go to your
|
|
backups. If you made backups of the actual files that were
|
|
a part of the old package you can now use a simple
|
|
<application>cp</application>
|
|
|
|
command to restore the program. It can be complicated to
|
|
get all of the files of a package backed up. But even if
|
|
you miss a few, restoring some of them might get your
|
|
program running well enough to function for your needs. You
|
|
should be able to use an rpm upgrade (or maybe even a
|
|
downgrade) later, to get all of the files matching the
|
|
database.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>In the worst case, if the crippled program was so
|
|
crucial that you can't run your Linux system anymore,
|
|
you'll need to run an alternate system. Boot up your spare
|
|
Linux (
|
|
<xref linkend="progtomsrtbt" />
|
|
|
|
or
|
|
<xref linkend="proginstallcd" />
|
|
|
|
)
|
|
<!-- FIXME: extra white space -->
|
|
and try to use that to restore your backups or rpm
|
|
packages.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="upgrade">
|
|
<title>Upgrade the packages</title>
|
|
|
|
<sect2>
|
|
<title id="twoupandrunning">Does everybody have their Linux up
|
|
and running?</title>
|
|
|
|
<itemizedlist>
|
|
<title>Let's just get on the same page now. There have been
|
|
many paths you could have taken to get to this point.</title>
|
|
|
|
<listitem>
|
|
<para>Now, all of the partitioning of the hard drive is
|
|
done.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You have a working Linux system running on that hard
|
|
drive.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>That Linux should have a working copy of
|
|
<application>rpm</application>
|
|
|
|
with its database of packages up-to-date, relative to the
|
|
Linux system.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Your favorite GUI wrappers, frontends or replacements
|
|
to
|
|
<application>rpm</application>
|
|
|
|
are helpful and convenient to have at this point. (See
|
|
<xref linkend="othertools" />
|
|
|
|
for some of your options.)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Backups are on spare partitions or removable media,
|
|
are up-to-date and are safe.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You've obtained all of the packages needed to perform
|
|
the upgrade. (If you're still in the process of downloading
|
|
them, you'll need to have at least the base packages and
|
|
all of their dependencies. The web of dependencies can be
|
|
complicated and surprising. To be safe, obtain as much as
|
|
you can before starting the upgrade process. You don't want
|
|
to be caught without a necessary package in the middle of a
|
|
crucial upgrade, or your system might be harmed.)</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twodeterminebase">Determining which packages are the
|
|
base packages</title>
|
|
|
|
<para>Start by upgrading the base packages. Which packages are
|
|
they? There are several ways to identify them. Start with the
|
|
package name but realize that their names will vary depending
|
|
on which distribution you're working with.</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Base GNU/Linux system libraries:
|
|
<simplelist type="inline">
|
|
<member>glib</member>
|
|
|
|
<member>glibc</member>
|
|
|
|
<member>libc5 (for backward compatibility.)</member>
|
|
</simplelist>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>the Linux kernel's dependencies:
|
|
<simplelist type="inline">
|
|
<member>modutils</member>
|
|
|
|
<member>acpid</member>
|
|
|
|
<member>kernel headers</member>
|
|
|
|
<member>common kernel source</member>
|
|
|
|
<member>processor specific source packages (i386, Sparc,
|
|
Alpha, etc.)</member>
|
|
|
|
<member>etc.</member>
|
|
</simplelist>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>the Linux kernel:
|
|
<simplelist type="inline">
|
|
<member>linux</member>
|
|
|
|
<member>kernel</member>
|
|
|
|
<member>linux-kernel-binary</member>
|
|
|
|
<member>etc.</member>
|
|
</simplelist>
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Next check the Group field of the
|
|
<application>rpm</application>
|
|
|
|
information. Look for a string that indicates the system's base
|
|
libraries and base programs. For example, Caldera's groups look
|
|
like this :
|
|
<simplelist type="vert">
|
|
<member>"Group : System/Library"</member>
|
|
|
|
<member>"Group : System/Base"</member>
|
|
|
|
<member>"Group : System/kernel"</member>
|
|
|
|
<member>"Group : Base/Kernel"</member>
|
|
|
|
<member>"Group : System/Shell"</member>
|
|
</simplelist>
|
|
|
|
Red Hat's (Version 5.2) corresponding group names are :
|
|
<simplelist type="vert">
|
|
<member>"Group : Libraries "</member>
|
|
|
|
<member>"Group : Utilities/System"</member>
|
|
|
|
<member>"Group : Development/Tools"</member>
|
|
|
|
<member>"Group : Daemons"</member>
|
|
|
|
<member>"Group : Development/Libraries"</member>
|
|
|
|
<member>"Group : Base"</member>
|
|
|
|
<member>"Group : Shells"</member>
|
|
</simplelist>
|
|
|
|
These will include
|
|
<simplelist type="inline">
|
|
<member>the kernel packages</member>
|
|
|
|
<member>the GNU glib libraries</member>
|
|
|
|
<member>kernel-headers</member>
|
|
|
|
<member>the old libc package</member>
|
|
|
|
<member>glibc</member>
|
|
|
|
<member>etc</member>
|
|
</simplelist>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
Make sure you have all of the kernel dependencies satisfied
|
|
before you start installing any kernel packages.</para>
|
|
|
|
<tip>
|
|
<para>Check that the dependencies are satisfied by "test"
|
|
installing the kernel rpms first with the
|
|
<parameter>--test</parameter>
|
|
|
|
parameter. This will report back to you if you're missing any
|
|
dependencies.</para>
|
|
</tip>
|
|
|
|
<para>Here are the kernel requirements listed in the
|
|
<filename>
|
|
/usr/src/linux-2.4.17/Documentation/Changes</filename>
|
|
|
|
from kernel 2.4.17 to give you an idea of what packages support
|
|
the kernel. Upgrade the packages that you need before the
|
|
kernel is upgraded.
|
|
<screen format="linespecific">
|
|
o Gnu C 2.95.3 # gcc --version
|
|
o Gnu make 3.77 # make --version
|
|
o binutils 2.9.1.0.25 # ld -v
|
|
o util-linux 2.10o # fdformat --version
|
|
o modutils 2.4.2 # insmod -V
|
|
o e2fsprogs 1.25 # tune2fs
|
|
o reiserfsprogs 3.x.0j # reiserfsck 2>&1|grep reiserfsprogs
|
|
o pcmcia-cs 3.1.21 # cardmgr -V
|
|
o PPP 2.4.0 # pppd --version
|
|
o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version</screen>
|
|
|
|
</para>
|
|
|
|
<para>When doing an upgrade using the binary files, you don't
|
|
need
|
|
<application>make</application>
|
|
|
|
or the
|
|
<application>C compiler</application>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
Some of the other packages won't be needed on some
|
|
systems.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twostaycautious">Stay cautious</title>
|
|
|
|
<para>Once the base libraries, the kernel dependencies and the
|
|
kernel are upgraded you've gotten through the most risky part
|
|
of the upgrade. But not the only risk. There are other crucial
|
|
packages to your system like the
|
|
<application>libz</application>
|
|
|
|
,
|
|
<!-- FIXME: extra white space -->
|
|
<application>bash</application>
|
|
|
|
and
|
|
<application>ncurses</application>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
Be sure to satisfy any dependencies and solve any errors for
|
|
these or your prompt will not function and you may not be able
|
|
to boot. The system initialization scripts are crucial, also.
|
|
And so are the base libraries for
|
|
<application>KDE</application>
|
|
|
|
along with the
|
|
<application>Qt</application>
|
|
|
|
libraries.
|
|
<application>X</application>
|
|
|
|
has its crucial dependencies too.</para>
|
|
|
|
<para>So, in general, be aware of your packages. Try to read
|
|
the package information before upgrading it. From this
|
|
determine how cautious you need to be while upgrading
|
|
it.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="tworpmpitfall">Pitfall when upgrading rpm</title>
|
|
|
|
<para>There are a couple of problems with upgrading
|
|
<application>rpm</application>
|
|
|
|
that you should be aware of.
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
isn't just a frontend program, it is also a library and a
|
|
backend. Other programs might be dependent on it. In
|
|
particular, if you have a graphical frontend to
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
it will be dependent on it. Upgrading
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
can cause a conflict between it and any other program which
|
|
depends on it.
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
will run fine after the upgrade but the other application(s)
|
|
might stop running.</para>
|
|
|
|
<para>Also, packages that were built with the older version of
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
might not be compatible with the new version of
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
and so it might not be able to extract the files in the
|
|
package. There can be an incompatibility between the new
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
and older rpm packages.</para>
|
|
|
|
<para>For these reasons, I recommend that you hold off
|
|
upgrading
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
a long as you can. It will not hurt anything to wait, but it
|
|
could be slightly harmful if you do not.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twoignoretar">rpm ignores tar balls</title>
|
|
|
|
<para>
|
|
<application>rpm</application>
|
|
|
|
has some smarts built into it, but sometimes it is not smart
|
|
enough. If you have any tar balls installed that serve as a
|
|
dependency to an rpm package,
|
|
<application>rpm</application>
|
|
|
|
will not see those files and will give you dependency errors.
|
|
In that case, the files that rpm is looking for are in place
|
|
but since they weren't entered in the rpm database,
|
|
<application>rpm</application>
|
|
|
|
ignores the files. To work around this, you'll have to have
|
|
<application>rpm</application>
|
|
|
|
ignore dependencies
|
|
<parameter>--nodeps</parameter>
|
|
|
|
or even
|
|
<parameter moreinfo="none">--force</parameter>
|
|
|
|
it to stop complaining.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twofullspeed">Full speed ahead</title>
|
|
|
|
<para>Once you get through the base packages, upgrading will
|
|
start to go quicker. Soon you will get in the habit of how
|
|
cautious you need to be. As things get upgraded, you'll start
|
|
to feel the gratification and excitement of new features and
|
|
new looks to your applications!</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="restore">
|
|
<title>Restoring and Cleaning up</title>
|
|
|
|
<sect2>
|
|
<title id="twomountbackup">Restoring and mounting the backup
|
|
directory</title>
|
|
|
|
<para>If you were using a spare partition for backing up rpm
|
|
packages and system files it is now time to mount that into the
|
|
system.</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Choose the mount point that you planned on using from
|
|
the "
|
|
<xref endterm="twowhypartitions"
|
|
linkend="twowhypartitions" />
|
|
|
|
"
|
|
<!-- FIXME: extra white space -->
|
|
section.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>That mount point will already exist as a directory
|
|
with files in it as a part of the running system. Because
|
|
of this you'll need to integrate the new files with your
|
|
old, backed up files. Some old files many need to be
|
|
deleted. Some old files need to be merged with the new
|
|
files. And, some new files many need to be deleted.</para>
|
|
|
|
<para>It will take some work to merge old configuration
|
|
files with new ones. For some packages though, there will
|
|
be no work in integrating the configuration files because
|
|
the file format hasn't changed in the new version.</para>
|
|
|
|
<para>The directories
|
|
<filename>/etc</filename>
|
|
|
|
and
|
|
<filename moreinfo="none">/home</filename>
|
|
|
|
contain the majority of the configuration files.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>There are some more configuration files to merge once
|
|
you're done with those.
|
|
<application>rpm</application>
|
|
|
|
has a feature of saving backup copies of the configuration
|
|
files that it replaces. It will do this only when it can
|
|
not merge the files on its own. In that case it will save
|
|
the original file by appending ".rpmsave" to the file name.
|
|
Then it installs the new configuration file. You should
|
|
<application>locate</application>
|
|
|
|
all of the files with that string at the end of the name,
|
|
and merge them with the new configuration file, as
|
|
necessary.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Also, when
|
|
<application>rpm</application>
|
|
|
|
replaces a file that wasn't installed with
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
, the original will be saved with ".rpmorig" added to the
|
|
end of the filename. Find those files and merge them with
|
|
their replacements, as necessary.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Once the configuration files are merged, test out the
|
|
new mount point by mounting it. The system may be using
|
|
that mount point and not allow you to re-mount it. In that
|
|
case, you'll have to skip to the next step.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Make a backup of
|
|
<filename>/etc/fstab</filename>
|
|
|
|
to restore in case this modification doesn't work
|
|
correctly.
|
|
<filename>/etc/fstab</filename>
|
|
|
|
will have to be modified to make the new mounting
|
|
permanent. Reboot after modifying it to make sure that it
|
|
is working correctly.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<note>
|
|
<para>While all of this merging seems daunting, don't lose
|
|
heart. In general, the configuration files which haven't been
|
|
changed since they were originally installed on your system
|
|
shouldn't need to be merged by hand. For the most part, the
|
|
only time configuration files will need to be merged by hand
|
|
is when there are major changes to their format, done by the
|
|
program author. That should not happen often.</para>
|
|
|
|
<para>But if there were configuration files on your system
|
|
that had large changes from the default, they might need to
|
|
be merged.</para>
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twooldpackages">Old packages</title>
|
|
|
|
<para>Once all of the rpm files have been used to upgrade, you
|
|
might find that there are some packages that weren't upgraded.
|
|
This is because they were a part of the old distribution's
|
|
version but not the new version. Since they are not needed by
|
|
the new distribution they shouldn't be necessary for your
|
|
system. You can remove them if they aren't packages that you
|
|
use.</para>
|
|
|
|
<para id="tipupgraderedundancy"
|
|
xreflabel="Upgrade redundancy tip">You may also find some
|
|
duplicate packages installed, which only differ by version
|
|
number. This sometimes happens when
|
|
<application>rpm</application>
|
|
|
|
is forced (
|
|
<parameter>--force</parameter>
|
|
|
|
)
|
|
<!-- FIXME: extra white space -->
|
|
while installing. The database is accurate in saying that there
|
|
are duplicate packages. This isn't a problem for your system or
|
|
the
|
|
<application>rpm</application>
|
|
|
|
database. Basically the newer package overwrote the common
|
|
files between the two versions of the packages. So your system
|
|
winds up with all of the new versions of the files.</para>
|
|
|
|
<para>Eventually you will probably want to correct the
|
|
redundancy, though, in order to save hard drive space and avoid
|
|
complicating the dependencies.
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
makes it safe to erase the old package.
|
|
<blockquote>
|
|
<para>"4. [RPM] reviews the RPM database to find every file
|
|
listed as being part of the package, and if a file does not
|
|
belong to another package, deletes the file."
|
|
<footnote>
|
|
<para>From
|
|
<xref endterm="maximumrpm" linkend="maximumrpm" />
|
|
|
|
<!--xref linkend="maximumrpm" /-->
|
|
</para>
|
|
</footnote>
|
|
</para>
|
|
</blockquote>
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="rpmtips" xreflabel="rpm command line tips">
|
|
<title>rpm command line tips</title>
|
|
|
|
<sect2>
|
|
<title id="twowhyreadrpm">Why do I need to read this when I'm
|
|
using a graphical frontend for rpm?</title>
|
|
|
|
<para>Throughout the HOWTO you have seen some tips on how to
|
|
use
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
at the command line. This section adds additional tips. A
|
|
graphical frontend to
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
is very convenient but it doesn't necessarily offer the power
|
|
and versatility of the command line. For that reason, you might
|
|
want to read this section.</para>
|
|
|
|
<para>This section gives some further explanation of how to use
|
|
the commands mentioned in the HOWTO and it adds some more
|
|
examples.</para>
|
|
|
|
<sidebar>
|
|
<para>I made the mistake of upgrading the
|
|
<application moreinfo="none">rpm</application>
|
|
|
|
package before upgrading my frontend. That caused an
|
|
incompatibility between the two and I couldn't run the
|
|
frontend anymore. Since there were many libraries and other
|
|
programs to upgrade before I would have a chance to upgrade
|
|
the frontend I was forced to rely on the command line to do
|
|
the rest of the upgrading. This was inconvenient for me. What
|
|
follows are some suggestions to help you if you run into this
|
|
pitfall too, and have to use the command line. See
|
|
<xref endterm="tworpmpitfall" linkend="tworpmpitfall" />
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
</para>
|
|
</sidebar>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twoqueryinfomation">Query the package summary
|
|
information</title>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>rpm</command>
|
|
|
|
<parameter>-qi</parameter>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>packagename</replaceable>
|
|
</parameter>
|
|
</para>
|
|
|
|
<para>
|
|
<parameter>qi</parameter>
|
|
|
|
is the basic parameter to read the package descriptions and
|
|
some other fields. Querying the information is generally the
|
|
first query that you perform.</para>
|
|
|
|
<para>To look at the information from
|
|
<emphasis>all</emphasis>
|
|
|
|
of the packages, add an
|
|
<parameter>'a'</parameter>
|
|
|
|
to the parameter. This will produce lots of information that
|
|
can be used to examine the packages on your system. Redirect
|
|
the output to a file and use grep or a text editor to find text
|
|
in the file. You might want to search for all of the packages
|
|
named with a certain sub-string, all the packages of a
|
|
Distribution, all of the GPL licensed packages, etc.</para>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>rpm</command>
|
|
|
|
<parameter>-qia</parameter>
|
|
|
|
<parameter moreinfo="none">></parameter>
|
|
|
|
<filename moreinfo="none">allinfo</filename>
|
|
</para>
|
|
|
|
<para>If you want to apply the query information command to an
|
|
rpm file, add a ' '
|
|
<parameter moreinfo="none">p</parameter>
|
|
|
|
'
|
|
<!-- FIXME: extra white space -->
|
|
to the parameters.</para>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>rpm</command>
|
|
|
|
<parameter>-qip</parameter>
|
|
|
|
<filename moreinfo="none">
|
|
<replaceable>package-filename</replaceable>
|
|
|
|
.rpm</filename>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twolistcontents">List the package contents</title>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>rpm</command>
|
|
|
|
<parameter>-ql</parameter>
|
|
|
|
<filename moreinfo="none">
|
|
<replaceable>packagename</replaceable>
|
|
</filename>
|
|
</para>
|
|
|
|
<para>If you need to list all of the files belonging to a
|
|
package, this is the query you will use. This query is helpful
|
|
if you want to know which files to back up before a crucial
|
|
upgrade.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twoidentifyfile">Identify which package a file
|
|
belongs to</title>
|
|
|
|
<para>
|
|
<prompt moreinfo="none">bash$</prompt>
|
|
|
|
<command moreinfo="none">rpm</command>
|
|
|
|
<parameter moreinfo="none">-qf</parameter>
|
|
|
|
<filename moreinfo="none">
|
|
<replaceable>/foopath/foofile</replaceable>
|
|
</filename>
|
|
</para>
|
|
|
|
<para>If you know a file's name and location and you need to
|
|
know which package it belongs to, then this is the query that
|
|
you want to use.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twosummarizegroup">Summarize a group</title>
|
|
|
|
<para>
|
|
<prompt moreinfo="none">bash$</prompt>
|
|
|
|
<command>rpm</command>
|
|
|
|
<parameter>-qg</parameter>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>groupname</replaceable>
|
|
</parameter>
|
|
</para>
|
|
|
|
<para>The grouping arranges the various packages into a
|
|
hierarchy. This reveals one branch of that hierarchy to you.
|
|
This can be useful when looking for packages of a certain
|
|
category, the "System/Base" packages for instance.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twolistdependencies">List dependencies</title>
|
|
|
|
<para>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>rpm</command>
|
|
|
|
<parameter>-qp</parameter>
|
|
|
|
<parameter moreinfo="none">--requires</parameter>
|
|
|
|
<filename>
|
|
<replaceable>package filename</replaceable>
|
|
</filename>
|
|
</para>
|
|
|
|
<para>When you want to know the dependencies of a package file
|
|
this command will produce a list for you. You will have to
|
|
satisfy these dependencies before installing the package
|
|
because they are required by the package.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="packageorder">
|
|
<title>Suggestions for package order</title>
|
|
|
|
<para>This is the order that I installed the packages on my
|
|
system, as an example for you. Don't think that you have to
|
|
follow this list exactly. Your dependencies could require
|
|
something a little different. The order you follow can have lots
|
|
of variations from this list. This is just a guide to give you a
|
|
good start.</para>
|
|
|
|
<note>
|
|
<para>Note that not all of these package are GPL
|
|
licensed.</para>
|
|
</note>
|
|
|
|
<sect2>
|
|
<title id="twopackageorder">Order of the new packages</title>
|
|
|
|
<sidebar>
|
|
<para>
|
|
<literallayout>
|
|
glib
|
|
libjpeg
|
|
libstdc++-compat
|
|
libpwdb
|
|
glib-devel
|
|
glibc-localedata
|
|
libz
|
|
libmng
|
|
qt2-nsplugin
|
|
qt2-xt
|
|
gd
|
|
gd-devel
|
|
gdbm
|
|
gdbm-devel
|
|
gdbm-devel-static
|
|
libpam
|
|
libpam-devel
|
|
bzip2
|
|
modutils
|
|
ext2fs
|
|
ext2fs-devel
|
|
ext2fs-devel-static
|
|
qt2-opengl
|
|
qt2-qimgio
|
|
ldp
|
|
ldp-en-html
|
|
ldp-en-ascii
|
|
howto
|
|
howto-en-ascii
|
|
howto-en-html
|
|
glibc
|
|
|
|
------kernel dependencies--------
|
|
gcc
|
|
binutils
|
|
util-linux
|
|
e2fsprogs
|
|
ppp
|
|
|
|
-------------kernel--------------
|
|
kernel include
|
|
linux source
|
|
kernel binary
|
|
any additional kernel modules
|
|
|
|
---------------------------------
|
|
qt
|
|
qt-opengl
|
|
qt-qimgio
|
|
qt-tutorial
|
|
qt-doc-html
|
|
qt-examples
|
|
qt-devel
|
|
qt2
|
|
qt2-devel-static
|
|
qt2-devel
|
|
qt2-doc-html
|
|
qt2-examples
|
|
qt2-tutorial
|
|
jade
|
|
ncurses
|
|
cracklib
|
|
libstdc++
|
|
gcc-doc
|
|
libtiff
|
|
libtiff-devel
|
|
libpng
|
|
libpng-devel
|
|
libpng-devel-static
|
|
libtiff-devel-static
|
|
mm
|
|
mm-devel
|
|
SysVinit
|
|
SysVinit-scripts
|
|
net-scripts
|
|
OpenLinux
|
|
setup
|
|
DEV
|
|
OpenLinux-keys
|
|
bool
|
|
cgetty
|
|
cpio
|
|
PHI
|
|
PHI-data
|
|
bdflush
|
|
coas2
|
|
fbset
|
|
fileutils
|
|
grep
|
|
kbd
|
|
lisa
|
|
sed
|
|
setserial
|
|
sysklogd
|
|
tar
|
|
termcap
|
|
utempter
|
|
which
|
|
gtk+
|
|
gtk+-perl
|
|
imlib
|
|
imlib-devel
|
|
mesa
|
|
mesa-devel
|
|
xpm
|
|
xpm-devel
|
|
libpwdb-devel
|
|
libtool
|
|
libcap
|
|
libcap-devel
|
|
sh-utils
|
|
freetype
|
|
slang
|
|
slang-devel
|
|
libident-devel
|
|
libjpeg-devel
|
|
libz-devel
|
|
libz-devel-static
|
|
popt
|
|
imap-devel
|
|
isp-devel
|
|
gettext
|
|
freetype-devel
|
|
kdelibs-devel
|
|
cleandir
|
|
logrotate
|
|
fdutils
|
|
hdparm
|
|
isapnptools
|
|
pciutils
|
|
tcpdump
|
|
adduser
|
|
rsync
|
|
wget
|
|
dosemu
|
|
aumix
|
|
libmikmod
|
|
libmikmod-devel
|
|
tiff-utils
|
|
transfig
|
|
gdb
|
|
gdb-doc
|
|
expect
|
|
expect-devel
|
|
ppp-devel
|
|
Glide
|
|
afio
|
|
compat-ncurses
|
|
db
|
|
dhcp
|
|
doc-devguide-html
|
|
doc-install-html
|
|
doc-sag-html
|
|
doxygen
|
|
dump
|
|
freetype2
|
|
freetype2-devel
|
|
libstdc++-devel
|
|
libstdc++-devel-static
|
|
giftrans
|
|
jikes
|
|
eject
|
|
diffutils
|
|
gnupg
|
|
gpm
|
|
gpm-devel
|
|
gpm-devel-static
|
|
lsof
|
|
m4
|
|
m4-examples
|
|
mktemp
|
|
ncompress
|
|
strace
|
|
wdiff
|
|
dialog
|
|
col-tools
|
|
ipx
|
|
net-tools
|
|
readline
|
|
readline-devel
|
|
bc
|
|
readline-devel-static
|
|
netkit-base
|
|
netkit-ftp
|
|
netkit-rsh
|
|
netkit-telnet
|
|
pilot-link
|
|
pilot-link-devel
|
|
ed
|
|
vim
|
|
recode
|
|
sharutils
|
|
enscript
|
|
psutils
|
|
texinfo
|
|
LSM
|
|
copyrights
|
|
faq
|
|
fhs
|
|
ghostscript-doc
|
|
mailcap
|
|
mimetypes
|
|
mtabase
|
|
screen
|
|
gzip
|
|
unarj
|
|
unzip
|
|
zip
|
|
zoo
|
|
bzip2-devel
|
|
grub
|
|
lilo
|
|
file
|
|
fatfs
|
|
findutils
|
|
mkisofs
|
|
mtools
|
|
am-utils
|
|
rstatd
|
|
procps
|
|
psmisc
|
|
bash
|
|
bash2
|
|
tcsh
|
|
at
|
|
crontabs
|
|
ktzset
|
|
time
|
|
vixie-cron
|
|
zoneinfo
|
|
imap
|
|
procmail
|
|
nis-client
|
|
tcp_wrappers
|
|
xntp
|
|
apache
|
|
gnuplot
|
|
apache-devel
|
|
autoconf
|
|
automake
|
|
bin86
|
|
bison
|
|
byacc
|
|
dejagnu
|
|
flex
|
|
gawk
|
|
gawk-doc
|
|
gperf
|
|
indent
|
|
make
|
|
mawk
|
|
nasm
|
|
patch
|
|
rcs
|
|
cvs
|
|
cvs-doc-ps
|
|
ncftp
|
|
less
|
|
gv
|
|
mailx
|
|
info
|
|
doc-install-html
|
|
glib-devel-static
|
|
glibc-devel
|
|
glibc-devel-static
|
|
iptables
|
|
iptables-doc
|
|
ipxripd
|
|
ispell
|
|
ispell-english
|
|
jpeg-utils
|
|
kernel-addon
|
|
lha
|
|
libIDL
|
|
libgif
|
|
a2ps
|
|
libogg
|
|
libkwave
|
|
libmimelib
|
|
libminimagick
|
|
libqwsprite
|
|
libgif-devel
|
|
libgif-devel-static
|
|
libjpeg-devel-static
|
|
libmimelib-devel
|
|
libmimelib-devel-static
|
|
libmng-devel
|
|
libmng-devel-static
|
|
libpwdb-devel-static
|
|
libsidplay
|
|
libsigc++
|
|
libsigc++-devel
|
|
libsigc++-examples
|
|
libsmallrpc-devel
|
|
libuulib
|
|
libuulib-devel
|
|
libuulib-devel-static
|
|
libvorbis
|
|
libxml
|
|
lilo-doc
|
|
lilo-doc-ps
|
|
logcheck
|
|
ltrace
|
|
macutils
|
|
mc
|
|
mc-doc
|
|
mesa-devel-static
|
|
mgetty
|
|
mikmod
|
|
mm-devel-static
|
|
mod_backhand
|
|
minicom
|
|
openssl
|
|
man-pages
|
|
perl
|
|
perl-add
|
|
perl-cgi
|
|
perl-examples
|
|
perl-man
|
|
perl-modules
|
|
perl-pod
|
|
python
|
|
python-devel
|
|
python-doc
|
|
python-eclass
|
|
python-tk
|
|
mutt
|
|
webmin
|
|
lynx
|
|
plugger
|
|
fetchmail
|
|
tcl
|
|
tcl-devel
|
|
tclX
|
|
tclX-devel
|
|
tix
|
|
tix-devel
|
|
tk
|
|
tk-devel
|
|
tcl-devel-static
|
|
tcp_wrappers-devel
|
|
tk-devel-static
|
|
binutils
|
|
binutils-cross
|
|
kdevelop-c_c++_ref
|
|
kdelibs
|
|
kdelibs-doc
|
|
groff
|
|
groff-dvi
|
|
groff-misc
|
|
textutils
|
|
rpmcompat-devel
|
|
groff-ps
|
|
kdoc
|
|
netpbm
|
|
netpbm-devel
|
|
nfs
|
|
nfs-lockd
|
|
portmap-safer
|
|
portsentry
|
|
traceroute-safer
|
|
vim-X11
|
|
vim-help
|
|
gimp-data
|
|
teTeX
|
|
teTeX-font
|
|
teTeX-tex
|
|
jadetex
|
|
sgml-common
|
|
docbook-dtd41-sgml
|
|
docbook-dtd41-xml
|
|
sgml-tools
|
|
mysql
|
|
mysql-client
|
|
mysql-devel
|
|
openslp
|
|
openldap
|
|
openldap-devel
|
|
pam_ncp
|
|
pam_ldap
|
|
cups
|
|
cups-client
|
|
qtlinguist
|
|
teTeX-doc
|
|
xmms
|
|
mpeglib
|
|
mscompress
|
|
mt-st
|
|
nss_ldap
|
|
openmotif
|
|
parted
|
|
slocate
|
|
XFree86-server
|
|
XFree86-libs
|
|
XFree86-SVGA
|
|
XFree86-VGA16
|
|
XFree86-Mach64
|
|
XFree86-config
|
|
XFree86-fonts-75dpi
|
|
XFree86-contrib
|
|
XFree86-fonts-scale
|
|
XFree86-addons
|
|
XFree86-fonts
|
|
XFree86-imake
|
|
XFree86-programs
|
|
XFree86-setup
|
|
XFree86-twm
|
|
XFree86-xterm
|
|
XFree86-xsm
|
|
XFree86-devel
|
|
XFree86-devel-prof
|
|
XFree86-devel-static
|
|
XFree86
|
|
XFree86-Xvfb
|
|
XFree86-fonts-cyrillic
|
|
XFree86-fontserver
|
|
acpid
|
|
adjtimex
|
|
bonnie++
|
|
libaudiofile
|
|
libaudiofile-utils
|
|
kdelibs2
|
|
kdelibs2-devel
|
|
kdelibs2-devel-static
|
|
kdelibs2-doc
|
|
libao
|
|
libkdegames
|
|
lrzsz
|
|
rpm
|
|
rpm-devel
|
|
kdebase2
|
|
kdebase2-opengl
|
|
kdepasswd
|
|
kdeapps
|
|
kdebindings2
|
|
kdecoas
|
|
kdesdk2
|
|
kdestudio
|
|
kdeconfig
|
|
kpackage
|
|
xmms-devel
|
|
korganizer
|
|
ksaferppp
|
|
ghostscript-fonts
|
|
ghostscript
|
|
cervisia
|
|
kdevelop
|
|
ddd
|
|
ddd-doc
|
|
kdbg
|
|
ImageMagick
|
|
ImageMagick-devel
|
|
hwprobe
|
|
kviewshell
|
|
kdvi
|
|
qtcups
|
|
libsasl
|
|
sendmail
|
|
cupdate-console
|
|
cupdate
|
|
linux-kernel-binary
|
|
midi-instruments
|
|
SDL
|
|
htdig
|
|
arts
|
|
ark
|
|
cscope
|
|
doctool
|
|
docbook-style-dsssl
|
|
doctool-meta
|
|
ethereal
|
|
fetchmailconf
|
|
ipchains
|
|
iptables-doc-ps
|
|
tidy
|
|
tripwire
|
|
tmake
|
|
xemacs-base
|
|
xemacs-emacs-link
|
|
xemacs-icons
|
|
karm
|
|
kcalc
|
|
kdialog
|
|
kedit
|
|
kfind
|
|
kfloppy
|
|
kghostview
|
|
khexedit
|
|
khotplug
|
|
kmail
|
|
knode
|
|
knotes
|
|
koffice-libs
|
|
kspread
|
|
koffice-filters
|
|
konvert
|
|
kpm
|
|
ksirc
|
|
ksystemsnapshot
|
|
ktimemon
|
|
opera
|
|
kups
|
|
kwave
|
|
kword
|
|
perl-SGMLSpm
|
|
psgml
|
|
quanta
|
|
sendmail-cf
|
|
sendmail-doc
|
|
stunnel
|
|
tcsh-doc-html
|
|
teTeX-dvi
|
|
xemacs-mule
|
|
xmms-arts
|
|
xmms-crossfade
|
|
xmms-infinity
|
|
xmms-kj
|
|
xmms-liveice
|
|
xmms-midi
|
|
xselection
|
|
xterm-color
|
|
xtoolwait
|
|
samba
|
|
samba-doc
|
|
kscd
|
|
XFree86-server-modules
|
|
mpeglib_artsplug
|
|
nw-eps-icons
|
|
sgmltools-lite
|
|
htmldoc
|
|
expat
|
|
libxml2
|
|
libxml2-devel
|
|
libxslt
|
|
xpdf
|
|
XFree86-config-eg
|
|
groff-gxditview
|
|
gv-doc-html
|
|
klpq
|
|
mod_perl
|
|
mod_ssl
|
|
nedit
|
|
usbutils
|
|
kcharselect
|
|
pgg
|
|
man
|
|
buildkernel
|
|
samlib
|
|
util-Linux
|
|
reiserfs-utils
|
|
docbook-dtd30-sgml
|
|
docbook-dtd31-sgml
|
|
isp
|
|
gtk+-devel
|
|
gtk+-devel-static
|
|
gimp
|
|
</literallayout>
|
|
|
|
<!-- FIXME : tidy always messes up this text -->
|
|
</para>
|
|
</sidebar>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="twolostpackages">Lost packages between Caldera 2.4
|
|
and 3.1</title>
|
|
|
|
<para>Just for the sake of curiosity, here are the packages
|
|
that got lost between the old distribution and the new.</para>
|
|
|
|
<para>
|
|
<literallayout>
|
|
XFree86-misc
|
|
Xaw-3dlook
|
|
Xaw3d
|
|
Xaw3d-devel
|
|
acroread
|
|
drdos-hdimage-eval
|
|
jdk
|
|
kautorun
|
|
kde-translated-docs
|
|
kdegraphics
|
|
kdelibdocs
|
|
kdemultimedia
|
|
kdenetwork
|
|
kdesupport
|
|
kdesupport-devel
|
|
kdethemes
|
|
kdeutils
|
|
kpilot
|
|
lesstif
|
|
lesstif-devel
|
|
libc5
|
|
mico-devel
|
|
mico-examples
|
|
rvplayer
|
|
svgalib
|
|
svgalib-devel
|
|
xemacs-lispsource
|
|
xemacs-packages
|
|
xforms
|
|
xforms-devel
|
|
xv
|
|
</literallayout>
|
|
|
|
<!-- FIXME : tidy always messes up this text -->
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="othertools"
|
|
xreflabel="Upgrade tools from the text, plus others">
|
|
<title>Upgrade tools from the text, plus others</title>
|
|
|
|
<sect2>
|
|
<title id="twoncftp">ncftp</title>
|
|
|
|
<para>Here are some basic commands for the
|
|
<application>ncftp</application>
|
|
|
|
command prompt, which you will find useful when
|
|
downloading.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Set
|
|
<application>ncftp</application>
|
|
|
|
for binary transfers with
|
|
<command>binary</command>
|
|
|
|
. (This command isn't necessary because binary is the
|
|
default transfer type.)</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command moreinfo="none">binary</command>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>There are commands to change through the local and
|
|
remote directories.</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command moreinfo="none">lcd</command>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>directoryname</replaceable>
|
|
</parameter>
|
|
</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command moreinfo="none">cd</command>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>directoryname</replaceable>
|
|
</parameter>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Commands that list files of the local and remote
|
|
directories.</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command moreinfo="none">lls</command>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>wildcard-filename</replaceable>
|
|
</parameter>
|
|
</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command moreinfo="none">ls</command>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>wildcard-filename</replaceable>
|
|
</parameter>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Set a named bookmark for the server and directory
|
|
once you've connected to it, so that it will be easy to
|
|
open it the next time.</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command moreinfo="none">bookmark</command>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>bookmarkname</replaceable>
|
|
</parameter>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Open that bookmark by its name.</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command moreinfo="none">open</command>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>bookmarkname</replaceable>
|
|
</parameter>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<command>get</command>
|
|
|
|
files using a wildcard file specification for the filename.
|
|
Use the background version of the command if you would
|
|
like.</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command moreinfo="none">get</command>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>wildcard filename</replaceable>
|
|
</parameter>
|
|
</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command moreinfo="none">bgget</command>
|
|
|
|
<parameter moreinfo="none">
|
|
<replaceable>wildcard filename</replaceable>
|
|
</parameter>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Let
|
|
<application>ncftp</application>
|
|
|
|
find the files in your working directory and prompt you if
|
|
you'd like to [ [
|
|
<keycap>O</keycap>
|
|
|
|
]
|
|
<!-- FIXME: extra white space -->
|
|
verwrite,
|
|
<!-- FIXME: extra white space -->
|
|
[
|
|
<keycap>S</keycap>
|
|
|
|
]
|
|
<!-- FIXME: extra white space -->
|
|
kip, or
|
|
<!-- FIXME: extra white space -->
|
|
[
|
|
<keycap>R</keycap>
|
|
|
|
]
|
|
<!-- FIXME: extra white space -->
|
|
esume the download of that file. Turn off the auto-resume
|
|
feature in order to enable this feature.</para>
|
|
|
|
<para>
|
|
<prompt>ncftp></prompt>
|
|
|
|
<command moreinfo="none">set</command>
|
|
|
|
<varname>auto-resume</varname>
|
|
|
|
<parameter moreinfo="none">no</parameter>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Here is the
|
|
<application>ncftp</application>
|
|
|
|
home page :
|
|
<ulink url="http://www.ncftpd.com/">
|
|
http://www.ncftpd.com/</ulink>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="progkpackage">kpackage</title>
|
|
|
|
<para>Excellent
|
|
<application>KDE</application>
|
|
|
|
front end for
|
|
<application>rpm</application>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
All of the packages get arranged into a nice, graphical,
|
|
hierarchical tree. Satisfied and unsatisfied dependencies are
|
|
identified. Single or multiple packages can installed, upgraded
|
|
or uninstalled. Operations can be tested first. The replacepkgs
|
|
and replacefiles switches are available. FTP installs are
|
|
seamlessly integrated. There is support of package types other
|
|
than rpm. Download a copy from :
|
|
<ulink
|
|
url="http://www.general.uwa.edu.au/u/toivo/kpackage/doc/installation.html#HOW-TO-OBTAIN-KPACKAGE">
|
|
http://www.general.uwa.edu.au/u/toivo/kpackage/doc/installation.html#HOW-TO-OBTAIN-KPACKAGE</ulink>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="progtomsrtbt" xreflabel="tomsrtbt">
|
|
<title>tomsrtbt</title>
|
|
|
|
<para>Linux on a floppy, in case the Linux on your hard drive
|
|
isn't running. Its home page is
|
|
<ulink url="http://www.toms.net/rb/">
|
|
http://www.toms.net/rb/</ulink>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="proginstallcd"
|
|
xreflabel="Your bootable installation CD">
|
|
<title>Your bootable installation CD</title>
|
|
|
|
<para>If you have a Linux installation CD that is bootable, you
|
|
should be able to get a running Linux system from it. This
|
|
system will probably have some minimal console tools which
|
|
allow you to do some maintenance on your hard drive in case the
|
|
installed Linux is not functioning.
|
|
<orderedlist inheritnum="ignore" continuation="restarts">
|
|
<title>To gain access to this Linux on a CD:</title>
|
|
|
|
<listitem>
|
|
<para>Boot from the CD and get the installation program
|
|
started</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Do not start re-installing!</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Look for other virtual consoles by pressing
|
|
<keycombo>
|
|
<keycap>Left-Alt</keycap>
|
|
|
|
<keycap>F1</keycap>
|
|
</keycombo>
|
|
|
|
through
|
|
<keycombo>
|
|
<keycap>Left-Alt</keycap>
|
|
|
|
<keycap>F8</keycap>
|
|
</keycombo>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
One of them should give you either a
|
|
<application>shell</application>
|
|
|
|
prompt or a
|
|
<application>login</application>
|
|
|
|
prompt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you can't find a prompt on any of those consoles,
|
|
you may have to go through some of the basic initialization
|
|
steps of the installation such as setting up the keyboard,
|
|
screen, language and mouse. But again, do not start
|
|
installing! Look through the consoles again until you find
|
|
a prompt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Login to the Linux system, if necessary.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Find a mount point that has some free space for a new
|
|
directory. (Use the
|
|
<command moreinfo="none">df</command>
|
|
|
|
command.)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Make a new directory to used as a mount point.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<application>Mount</application>
|
|
|
|
a partition from the hard drive that you want to modify.
|
|
<application>Mount</application>
|
|
|
|
it under that mount point just created.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="progls">ls</title>
|
|
|
|
<para>Listing out the package files and comparing them to what
|
|
you have installed is how you can keep track of your progress.
|
|
This is a standard Linux command. If you don't recognize it,
|
|
then this HOWTO is too advanced for you.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="progcp">cp</title>
|
|
|
|
<para>Use
|
|
<application>cp</application>
|
|
|
|
to make backups of crucial files before they are upgraded, in
|
|
case you find that the upgrade didn't work for whatever reason.
|
|
If you don't recognize this command, then this HOWTO is too
|
|
advanced for you.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="progglint" xreflabel="glint">
|
|
<title>glint</title>
|
|
|
|
<para>
|
|
<application>Glint</application>
|
|
|
|
is an X program, made to be a frontend for rpm. There are some
|
|
<ulink
|
|
url="http://www.redhat.com/docs/manuals/Linux/RHL-5.2-Manual/install-guide/manual/doc069.html">
|
|
instructions for Glint</ulink>
|
|
|
|
from Red Hat's web site.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="progparted">parted</title>
|
|
|
|
<para>
|
|
<ulink url="http://www.gnu.org/software/parted/parted.html">
|
|
GNU's partitioning tool</ulink>
|
|
|
|
for creating, moving, copying and resizeing partions.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Disk Drake (Mandrake)</title>
|
|
|
|
<para>Partitioning
|
|
<ulink url="www.linux-mandrake.com/diskdrake">from Mandrake
|
|
Linux</ulink>
|
|
|
|
.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="progfips">fips (DOS)</title>
|
|
|
|
<para>Used for non-destructive partitioning of your hard drive.
|
|
Included in most distribution's installation CDs. Try looking
|
|
under a
|
|
<filename>tools</filename>
|
|
|
|
sub-directory on your installation CD.</para>
|
|
|
|
<para>The author was Arno Schaefer. You can download a copy
|
|
from :
|
|
<ulink url="http://www.igd.fhg.de/~aschaefe/fips/fips20.zip">
|
|
http://www.igd.fhg.de/~aschaefe/fips/fips20.zip</ulink>
|
|
|
|
The licensing is GPL. Most Linux distributions carry it under
|
|
the
|
|
<filename>/dostools</filename>
|
|
|
|
,
|
|
<filename>/dosutils</filename>
|
|
|
|
or
|
|
<filename moreinfo="none">tools</filename>
|
|
|
|
directory in the primary cd.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>apt and dpkg</title>
|
|
|
|
<para>This is Debian's method of download and upgrade. I've
|
|
heard this this is very good compared to
|
|
<application>rpm</application>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
The programs are :
|
|
<ulink url="http://packages.debian.org/stable/base/apt.html">
|
|
apt</ulink>
|
|
|
|
and
|
|
<ulink url="http://packages.debian.org/stable/base/dpkg.html">
|
|
dpkg</ulink>
|
|
|
|
.
|
|
<!-- FIXME: extra white space -->
|
|
Here is a presentation on using them :
|
|
<ulink
|
|
url="http://www.cinlug.org/education/Debian_Packaging/page1.html">
|
|
http://www.cinlug.org/education/Debian_Packaging/page1.html</ulink>
|
|
|
|
This is the HOWTO for apt :
|
|
<ulink url="http://www.debian.org/doc/manuals/apt-howto/index">
|
|
http://www.debian.org/doc/manuals/apt-howto/index</ulink>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="progdiskdruid" xreflabel="Red Hat's Disk Druid">
|
|
<title>Disk Druid (partitioning from Red Hat)</title>
|
|
|
|
<para>Used to partition your hard drive. It is part of Red
|
|
Hat's installation program.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="proglizard" xreflabel="Caldera's Lizard">
|
|
<title>Lizard (Caldera's graphical installation tool)</title>
|
|
|
|
<para>An installation program, used for partitioning,
|
|
installing, etc.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="proglisa">Lisa (Caldera's console based installation
|
|
tool)</title>
|
|
|
|
<para>A console based installation program.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="progcalupgrader">Caldera Upgrader</title>
|
|
|
|
<para>Caldera's graphical, automated, upgrade program. It
|
|
didn't work for me.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title id="progPHI">PHI</title>
|
|
|
|
<para>An automated, console based, upgrade program from
|
|
Caldera.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Other standard ones</title>
|
|
|
|
<para>These programs are standard Linux commands :
|
|
<simplelist type="inline">
|
|
<member>mount</member>
|
|
|
|
<member>top</member>
|
|
|
|
<member>bash</member>
|
|
|
|
<member>touch</member>
|
|
|
|
<member>df</member>
|
|
|
|
<member>sort</member>
|
|
|
|
<member>sed</member>
|
|
|
|
<member>diff</member>
|
|
|
|
<member>and less</member>
|
|
</simplelist>
|
|
|
|
. grub is a standard replacement for the lilo bootloader.
|
|
<application>kpm</application>
|
|
|
|
is a KDE replacement for the
|
|
<application moreinfo="none">top</application>
|
|
|
|
process displayer.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
&GFDLDOC;
|
|
<bibliography>
|
|
<title>Bibliography</title>
|
|
|
|
<bibliodiv>
|
|
<title>Referenced Documents</title>
|
|
|
|
<biblioentry>
|
|
<title id="upgradehowto">"Upgrading Your Linux Distribution
|
|
mini-HOWTO"</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Greg</firstname>
|
|
|
|
<surname>Louis</surname>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<copyright>
|
|
<year>1996</year>
|
|
|
|
<holder>Dynamicro Consulting Limited</holder>
|
|
</copyright>
|
|
|
|
<pubdate>6 June 1996</pubdate>
|
|
|
|
<pubsnumber>v1.11</pubsnumber>
|
|
|
|
<releaseinfo>
|
|
<ulink
|
|
url="http://www.linuxdoc.org/HOWTO/mini/Upgrade.html">The
|
|
<acronym>LDP</acronym>
|
|
|
|
has an online copy that you can refer to</ulink>
|
|
</releaseinfo>
|
|
</biblioentry>
|
|
|
|
<biblioentry>
|
|
<title id="rpmslackwarehowto">"RPM+Slackware
|
|
Mini-Howto"</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Dave</firstname>
|
|
|
|
<surname>Whitinger</surname>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<copyright>
|
|
<year>1998</year>
|
|
|
|
<holder>Dave Whitinger</holder>
|
|
</copyright>
|
|
|
|
<pubdate>13 April 1998</pubdate>
|
|
|
|
<pubsnumber>v1.3</pubsnumber>
|
|
|
|
<releaseinfo>
|
|
<ulink
|
|
url="http://www.linuxdoc.org/HOWTO/mini/RPM+Slackware.html">
|
|
The
|
|
<acronym>LDP</acronym>
|
|
|
|
has an online copy that you can refer to</ulink>
|
|
</releaseinfo>
|
|
</biblioentry>
|
|
|
|
<biblioentry>
|
|
<title id="rpmhowto">"RPM HOWTO"</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Donnie</firstname>
|
|
|
|
<surname>Barnes</surname>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<copyright>
|
|
<year>1999</year>
|
|
|
|
<holder>Red Hat, Inc.</holder>
|
|
</copyright>
|
|
|
|
<pubsnumber>V3.0</pubsnumber>
|
|
|
|
<pubdate>3 November 1999</pubdate>
|
|
|
|
<releaseinfo>
|
|
<ulink
|
|
url="http://www.linuxdoc.org/HOWTO/RPM-HOWTO/index.html">
|
|
The
|
|
<acronym>LDP</acronym>
|
|
|
|
has an online copy that you can refer to</ulink>
|
|
</releaseinfo>
|
|
</biblioentry>
|
|
|
|
<biblioentry>
|
|
<title id="rpmman">rpm(8) (a man page)</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Marc</firstname>
|
|
|
|
<surname>Ewing</surname>
|
|
</author>
|
|
|
|
<author>
|
|
<firstname>Jeff</firstname>
|
|
|
|
<surname>Johnson</surname>
|
|
</author>
|
|
|
|
<author>
|
|
<firstname>Erik</firstname>
|
|
|
|
<surname>Troan</surname>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<pubdate>22 December 1998</pubdate>
|
|
|
|
<publisher>
|
|
<publishername>Red Hat Software</publishername>
|
|
</publisher>
|
|
</biblioentry>
|
|
|
|
<biblioentry>
|
|
<title id="installationstratigieshowto">"Linux Installation
|
|
Strategies mini-HOWTO"</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Tobby</firstname>
|
|
|
|
<surname>Banerjee</surname>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<copyright>
|
|
<year>
|
|
</year>
|
|
|
|
<holder>
|
|
</holder>
|
|
</copyright>
|
|
|
|
<pubsnumber>1.0.1</pubsnumber>
|
|
|
|
<pubdate>2001-05-02</pubdate>
|
|
|
|
<releaseinfo>
|
|
<ulink
|
|
url="http://www.linuxdoc.org/HOWTO/mini/Install-Strategies/index.html">
|
|
The
|
|
<acronym>LDP</acronym>
|
|
|
|
has an online copy that you can refer to</ulink>
|
|
</releaseinfo>
|
|
</biblioentry>
|
|
|
|
<biblioentry>
|
|
<title id="redhatinstallguide">"THE COMPLETE redhat LINUX
|
|
INSTALLATION GUIDE 5.2"</title>
|
|
|
|
<publisher>
|
|
<publishername>Red Hat Software, Inc.</publishername>
|
|
</publisher>
|
|
|
|
<corpauthor>Red Hat Software, Inc.</corpauthor>
|
|
|
|
<pagenums>24-25</pagenums>
|
|
|
|
<copyright>
|
|
<year>1995, 1996, 1997, 1998</year>
|
|
|
|
<holder>Red Hat Software, Inc.</holder>
|
|
</copyright>
|
|
|
|
<isbn>1-57595-199-1B</isbn>
|
|
|
|
<corpname>Red Hat is a trademark of Red Hat Software, Inc.
|
|
Copy Writer</corpname>
|
|
|
|
<releaseinfo>
|
|
<ulink
|
|
url="http://www.redhat.com/docs/manuals/Linux/RHL-5.2-Manual/install-guide/manual/">
|
|
Red Hat has an online copy that you can refer to</ulink>
|
|
</releaseinfo>
|
|
</biblioentry>
|
|
|
|
<biblioentry>
|
|
<title id="partitionhowto">Linux Partition HOWTO</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Tony</firstname>
|
|
|
|
<surname>Harris</surname>
|
|
</author>
|
|
|
|
<author>
|
|
<firstname>Kristian</firstname>
|
|
|
|
<surname>Koehntopp</surname>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<pubsnumber>Revision 3.3</pubsnumber>
|
|
|
|
<pubdate>10 July 2001</pubdate>
|
|
|
|
<releaseinfo>
|
|
<ulink
|
|
url="http://www.linuxdoc.org/HOWTO/mini/Partition/index.html">
|
|
The
|
|
<acronym>LDP</acronym>
|
|
|
|
has an online copy that you can refer to</ulink>
|
|
</releaseinfo>
|
|
</biblioentry>
|
|
|
|
<biblioentry>
|
|
<title id="ncftpman">ncftp(1) Man page</title>
|
|
|
|
<pubsnumber>3.0.2</pubsnumber>
|
|
</biblioentry>
|
|
|
|
<biblioentry>
|
|
<title id="maximumrpm" xreflabel="Maximum RPM">Maximum
|
|
RPM</title>
|
|
|
|
<copyright>
|
|
<year>1997</year>
|
|
|
|
<holder>Red Hat Software, Inc.</holder>
|
|
</copyright>
|
|
|
|
<isbn>0-672-31105-4</isbn>
|
|
|
|
<corpname>
|
|
<trademark>RPM</trademark>
|
|
|
|
is a trademark of Red Hat Software, Inc.</corpname>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Edward</firstname>
|
|
|
|
<othername>C.</othername>
|
|
|
|
<surname>Bailey</surname>
|
|
</author>
|
|
</authorgroup>
|
|
</biblioentry>
|
|
</bibliodiv>
|
|
|
|
<bibliodiv>
|
|
<title>Related HOWTOs</title>
|
|
|
|
<biblioentry>
|
|
<title id="installationhowto">The Linux Installation
|
|
HOWTO</title>
|
|
|
|
<copyright>
|
|
<year>2000</year>
|
|
|
|
<holder>Eric S. Raymond</holder>
|
|
</copyright>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Eric</firstname>
|
|
|
|
<othername>Steven</othername>
|
|
|
|
<surname>Raymond</surname>
|
|
|
|
<affiliation>
|
|
<orgname>Thyrsus Enterprises</orgname>
|
|
</affiliation>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<pubsnumber>Revision 5.6</pubsnumber>
|
|
|
|
<pubdate>2001-09-06</pubdate>
|
|
|
|
<releaseinfo>
|
|
<ulink
|
|
url="http://www.linuxdoc.org/HOWTO/Installation-HOWTO/index.html">
|
|
The
|
|
<acronym>LDP</acronym>
|
|
|
|
has an online copy that you can refer to</ulink>
|
|
</releaseinfo>
|
|
</biblioentry>
|
|
|
|
<biblioentry>
|
|
<title id="swapspacehowto">Linux Swap Space
|
|
Mini-HOWTO</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Rahul</firstname>
|
|
|
|
<othername>U.</othername>
|
|
|
|
<surname>Joshi</surname>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<pubsnumber>v1.42</pubsnumber>
|
|
|
|
<pubdate>18 January 2000</pubdate>
|
|
|
|
<copyright>
|
|
<year>2000</year>
|
|
|
|
<holder>Tim Bynum</holder>
|
|
</copyright>
|
|
|
|
<releaseinfo>
|
|
<ulink
|
|
url="http://www.linuxdoc.org/HOWTO/mini/Swap-Space.html">
|
|
The
|
|
<acronym>LDP</acronym>
|
|
|
|
has an online copy that you can refer to</ulink>
|
|
</releaseinfo>
|
|
</biblioentry>
|
|
|
|
<biblioentry>
|
|
<title id="filesystemshowto">File Systems-HOWTO.html</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Martin</firstname>
|
|
|
|
<surname>Hinner</surname>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<copyright>
|
|
<year>1999</year>
|
|
|
|
<holder>Martin Hinner</holder>
|
|
</copyright>
|
|
|
|
<pubsnumber>Version 0.7.5</pubsnumber>
|
|
|
|
<pubdate>22 August 2000</pubdate>
|
|
|
|
<releaseinfo>
|
|
<ulink
|
|
url="http://www.linuxdoc.org/HOWTO/FileSystems-HOWTO.html">
|
|
The
|
|
<acronym>LDP</acronym>
|
|
|
|
has an online copy that you can refer to</ulink>
|
|
</releaseinfo>
|
|
</biblioentry>
|
|
</bibliodiv>
|
|
</bibliography>
|
|
</article>
|
|
|
|
<!--
|
|
$Id$
|
|
-->
|
|
|