old-www/LDP/LG/issue15/debian.html

1167 lines
51 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>LIGS -- Debian Issue 15</title>
</HEAD>
<BODY bgcolor="#eee1cc">
<H4>
&quot;Linux Gazette...<I>making Linux just a little more fun!</I>&quot;
</H4>
<P>
<HR>
<P>
SSC is expanding Matt Welsh's <i>Linux Installation & Getting Started</i> by
adding chapters about each of the major distributions. Each chapter is
being written by a different author in the Linux community. Here's a
sneak preview -- the Debian chapter by Boris Beletsky, one of the
Debian developers. --Editor
<P>
<HR>
<P>
<center>
<H2>Debian Linux Installation & Getting Started</H2>
<H4>By Boris D. Beletsky,
<a href="mailto:borik@isracom.co.il">borik@isracom.co.il</a></H4>
</center>
<P>
<HR>
<P>
Table of contents
<dl>
<dt>1. <A HREF="./debian.html#install">Getting and installing Debian
GNU/Linux.</A>
<dd>1.1 Getting floppy images.
<dd>1.2 Preparing the floppies.
<dd>1.3 Downloading the packages.
<dd>1.4 Booting from floppies and installing Debian GNU/Linux.
<dt>2. <A HREF="./debian.html#run">Running Debian GNU/Linux.</A>
<dd><dl>
<dt>2.1 Debian packaging system and package installation utilities.
<dd>2.1.1 Package Classifications.
<dd>2.1.2 Package Relationships.
<dd>2.1.3 Dselect.
<dd>2.1.4 Dpkg.
</dl>
<dt>3. <A HREF="./debian.html#about">About Debian.</A>
<dd>3.1 Debian community.
<dd>3.2 Mailing lists.
<dd>3.3 Bug tracing system.
<dt>4. <A HREF="./debian.html#end">Almost the end.</A>
<dd>4.1 Acknowledgments.
<dd>4.2 Last Note.
</dl>
<a name="install"></a>
<h2>1. Getting and installing Debian GNU/Linux</h2>
<p>META: I will not expand on system requirements here because this
subject is surely covered in previous chapters of this book or in
the "Linux Hardware Compatibility HOWTO" located at
<a href="http://sunsite.unc.edu/mdw/HOWTO/Hardware-HOWTO.html">
http://sunsite.unc.edu/mdw/HOWTO/Hardware-HOWTO.html</a>.
<p><b>1.1 Getting floppy images</b>
<p>If you have access to the Internet, the best way to get Debian is
via anonymous FTP (File Transfer Protocol). The home
<a href="ftp://ftp.debian.org/pub/debian">ftp site of Debian</a>
is located at ftp.debian.org in /pub/debian directory. The structure
of debian archive is built as following:
<p>
<blockquote>
<table border=1 cellpadding=6>
<tr><td valign=top>./stable/ </td><td valign=top>(latest stable debian
release)<br></td></tr>
<tr><td valign=top>./stable/binary-i386 </td><td valign=top>(debian packages for i386
architecture)<br></td></tr>
<tr><td valign=top>./stable/disks-i386 </td><td valign=top>(boot and root disks needed
for Debian installation)<br></td></tr>
<tr><td valign=top>./stable/disks-i386/current </td><td valign=top>(The current boot floppy
set)<br></td></tr>
<tr><td valign=top>./stable/disks-i386/special-kernels </td><td valign=top>(Special kernels and
boot floppy
disks, for hardware configurations
that refuse working with our regular
boot floppies)<br></td></tr>
<tr><td valign=top>./stable/msdos-i386 </td><td valign=top>(dos short file names for debian
packages)<br></td></tr>
</table>
</blockquote>
<p>
For base installation of Debian you will need about 12 megabytes of
disk space, and some floppies. First you will need boot and root
floppy images. Debian provides two sets of installation floppy
images, for floppy 1440 and 1200 floppy drives. Check what floppy
drive your system boots from, (it is the A: drive under Dos) and
download the appropriate disk set.
Files in ./stable/disks-i386/current:
<p><blockquote>
<table border=1 cellpadding=3>
<tr><td align=center><b>Filename</b> </td><td align=center> <b>Label</b> </td><td align=center> <b>Description</b>
<tr><td>rsc1440.bin </td><td> "Rescue Floppy" </td><td rowspan=7>Floppy set for systems with 1.44MB floppy drive and at least 5MB RAM.<br></td></tr>
<tr><td>drv1440.bin </td><td> "Device Drivers" <br></td></tr>
<tr><td>base14-1.bin </td><td> "Base 1" <br></td></tr>
<tr><td>base14-2.bin </td><td> "Base 2" <br></td></tr>
<tr><td>base14-3.bin </td><td> "Base 3" <br></td></tr>
<tr><td>base14-4.bin </td><td> "Base 4" <br></td></tr>
<tr><td>root.bin </td><td> "Root Disk" <br></td></tr>
<tr><td>rsc1440r.bin </td><td> "Rescue Floppy" </td><td> Optional Rescue Disk image for
low memory systems (less then 5MB
of RAM)</td></td>
<tr><td>rsc1200r.bin </td><td> "Rescue Floppy" </td><td rowspan=7>Floppy set for systems with 1.2MB floppy drive
<tr><td>drv1200.bin </td><td> "Device Drivers" <br></td></tr>
<tr><td>base12-1.bin </td><td> "Base 1" <br></td></tr>
<tr><td>base12-2.bin </td><td> "Base 2" <br></td></tr>
<tr><td>base12-3.bin </td><td> "Base 3" <br></td></tr>
<tr><td>base12-4.bin </td><td> "Base 4" <br></td></tr>
<tr><td>root.bin </td><td> "Root Disk" <br></td></tr>
</table>
</blockquote>
<p>
Choose the appropriate floppy set, corresponding to your hardware
setup (Ram and floppy drive). What ever you choose, at the end you
have to have 7 floppy images which contain, "Rescue Floppy", "Device
Drivers, "Base 1", "Base 2" ..., "Root Disk". (Note, "Root Disk"
image is the same for all drives and system types.)
<p><b>1.2 Preparing the floppies</b>
<p>Next step is to prepare the floppies for the installation by copying
the images into disks. Hence those files are disk images, they
should be copied block-by-block. In Dos you can use the RAWRITE
utility for that purpose located at
<a href="ftp://ftp.debian.org/pub/debian/tools/rawrite2.exe">
ftp://ftp.debian.org/pub/debian/tools/rawrite2.exe</a>.
Here is a brief explanation on how to use it:
<pre>
C:\> RAWRITE2 &lt;file&gt; &lt;drive&gt;
</pre>
By executing the <tt>RAWRITE2</tt> command as stated above, you will
accomplish the following, the file "&lt;file&gt;" will be copied
block-by-block into the drive "&lt;drive&gt;".
<p>
On any Unix like operation systems you can use <tt>dd(1)</tt>:
<pre>
# dd if=file of=/dev/fd0 bs=10k
</pre>
META: In some Unix systems the first floppy device maybe named
differently.
<p>
When you finish rawriting don't forget to mark the floppies else you
will get confused later.
<p>
<b>1.3 Downloading the packages</b>
<p>In order to install and use Debian you will need more then the base
system. To decide what packages you want on your system download the
file 'Packages' from
<a href="ftp://ftp.debian.org/pub/debian/stable/Packages">
ftp://ftp.debian.org/pub/debian/stable/Packages</a>.
This file is a list
of Debian packages available for the moment in stable Debian
distribution. This file comes in special format, evry package has
it's own entry separated by a blank line, here is an explanation of
each field in the package entry:
<p>
<blockquote>
<table border=1 cellpadding=6>
<tr><td valign=top>
Package: </td><td valign=top colspan=2> The name of the package.<br></td></tr>
<tr><td valign=top rowspan=5>Priority:</td> <td valign=top colspan=2>The state of importance of the package.<br></td></tr>
<tr> <td valign=top> Required - </td><td valign=top>Should be installed for system to work
properly.<br></td></tr>
<tr> <td valign=top>Important - </td><td valign=top>Not required though, important.<br></td></tr>
<tr> <td valign=top>Optional - </td><td valign=top>Doesn't have to be installed
but still useful.<br></td></tr>
<tr><td valign=top> Extra - </td><td valign=top>Package may conflict with.
other packages with higher
priorities.<br></td></tr>
<tr><td valign=top rowspan=21>Section: </td><td valign=top colspan=2> This field declares a Debian section of the package.
<tr><td valign=top>Base - </td><td valign=top>base system.<br></td></tr>
<tr><td valign=top>Devel - </td><td valign=top>development tools.<br></td></tr>
<tr><td valign=top>X11 - </td><td valign=top>XWindows packages.<br></td></tr>
<tr><td valign=top>Admin - </td><td valign=top>administration utilities.<br></td></tr>
<tr><td valign=top>Doc - </td><td valign=top>documentation.<br></td></tr>
<tr><td valign=top>Comm - </td><td valign=top>various communication utilities.<br></td></tr>
<tr><td valign=top>Editors - </td><td valign=top>various editors.<br></td></tr>
<tr><td valign=top>Electronics - </td><td valign=top>electronics utilities.<br></td></tr>
<tr><td valign=top>Games - </td><td valign=top>games (you knew that didn't you?).<br></td></tr>
<tr><td valign=top>Graphics - </td><td valign=top>graphics utilities.<br></td></tr>
<tr><td valign=top>Hamradio - </td><td valign=top>utilities for internet radio.<br></td></tr>
<tr><td valign=top>Mail - </td><td valign=top>email clients and servers.<br></td></tr>
<tr><td valign=top>Math - </td><td valign=top>mathematics utilities (such as
calculators, etc...).<br></td></tr>
<tr><td valign=top>Net - </td><td valign=top>various tools to connect to the network
(usualy TCP/IP).<br></td></tr>
<tr><td valign=top>News - </td><td valign=top>servers and clients for internet
news (NNTP).<br></td></tr>
<tr><td valign=top>Shells - </td><td valign=top>shells, such as tcsh, bash.<br></td></tr>
<tr><td valign=top>Sound - </td><td valign=top>any sound applications (such as,
cd players).<br></td></tr>
<tr><td valign=top>TeX - </td><td valign=top>anything that can read, write, and convert
TeX.<br></td></tr>
<tr><td valign=top>Text - </td><td valign=top>applications to manipulate texts.
(such as nroff)<br></td></tr>
<tr><td valign=top>Misc - </td><td valign=top>everything else that doesn't fit in
the above.<br></td></tr>
<tr><td valign=top>Maintainer: </td><td valign=top colspan=2>The name of the person who maintains the package
and his contact Email address.<br></td></tr>
<tr><td valign=top>Version: </td><td valign=top colspan=2>The version of the package in the following format:
&lt;upstream-version&gt;-&lt;debian-version&gt;.<br></td></tr>
<tr><td valign=top>Depends: </td><td valign=top colspan=2>That field declares the dependency of the package
with another one (or more), that means that this
package can not be used or installed without the other
packages listed in this field.<br></td></tr>
<tr><td valign=top>Recommends: </td><td valign=top colspan=2>Another level of package dependencies. It is
strongly recommended to install the packages
listed in this field together with the package
this entry entry describes.<br></td></tr>
<tr><td valign=top>Suggests: </td><td valign=top colspan=2>Packages listed in this field maybe useful to
the packages this entry entry describes.<br></td></tr>
<tr><td valign=top>Filename: </td><td valign=top colspan=2>Filename of the package on ftp/cdrom.<br></td></tr>
<tr><td valign=top>Msdos-Filename: </td><td valign=top colspan=2>Filename of the package in dos short format.<br></td></tr>
<tr><td valign=top>Size: </td><td valign=top colspan=2>The size of the package after the installation.<br></td></tr>
<tr><td valign=top>Md5sum: </td><td valign=top colspan=2>The md5sum check to be sure that this package
came from us.<br></td></tr>
<tr><td valign=top>Description: </td><td valign=top colspan=2>This field will tell you about the package
(finally!), DO NOT download the package without
reading it.<br></td></tr>
</table>
</blockquote>
<p>
META: More detailed explanation on Debian packaging scheme you can
find in section 2.1 of this chapter.
<p>
The above should give you an idea on how to build your personal
download list. When you have the list of packages you want to
download, you will have to decide how and when you want to download
them. If you are an experienced user you may want to download the
netbase package, and slip/ppp if needed, for later downloading from
linux. Otherwise you can download all the packages from your current
OS and install them later from mounted partition.
<p>
<b>1.4 Booting from floppies and installing Debian GNU/Linux</b>
<p>
<dl>
<dt><i>The Rescue Floppy</i>
<p>
<dd>Place the Rescue floppy in the a: floppy drive, and reset the system
by pressing reset, turning the system off and then on, or by
pressing Control-Alt-Del on the keyboard. The floppy disk should be
accessed, and you should then see a screen that introduces the
rescue floppy and ends with the boot: prompt. It's called the Rescue
floppy because you can use it to boot your system and perform
repairs if there is ever a problem that makes your hard disk
unbootable. Thus, you should save this floppy after you've installed
your system.
<p>
You can do two things at the boot: prompt. You can press the
function keys F1 through F10 to view a few pages of helpful
information, or you can boot the system. If you have any hardware
devices that aren't made accessible from Linux correctly when Linux
boots, you may find a parameter to add to the boot command line in
the screens you see by pressing F3, F4, and F5. If you add any
parameters to the boot command line, be sure to type the word linux
and a space before the first parameter. If you simply press Enter,
that's the same as typing linux without any special parameters.
<p>
If this is the first time you're booting the system, just press
Enter and see if it works correctly. It probably will. If not, you
can reboot later and look for any special parameters that inform the
system about your hardware.
<p>
Once you press Enter, you should see the message Loading..., and
then Uncompressing Linux..., and then a page or so of cryptic
information about the hardware in your system. There may be a many
messages in the form can't find something, or something not present,
can't initialize something, or even this driver release depends on
something. Most of these messages are harmless. You see them because
the installation boot disk is built to run on computers with many
different peripheral devices. Obviously, no one computer will have
every possible peripheral device, so the operating system may emit a
few complaints while it looks for peripherals you don't own. You may
also see the system pause for a while. This happens when it is
waiting for a device to respond, and that device is not present on
your system. If you find the time it takes to boot the system
unacceptably long, you can create a custom kernel once you've
installed your system without all of the drivers for non-existent
devices.
<p>
<dt><i>Low-Memory Systems</i>
<p>
<dd>If you system has 4MB RAM, you may now see a paragraph about low
memory and a text menu with three choices. If your system has enough
RAM you won't see this at all, and you'll go directly to the
color-or-monochrome dialog box. If you get the low-memory menu, you
should go through its selections in order. Partition your disk,
activate the swap partition, and start the graphical installation
system. The program that is used to partition your disk is called
cfdisk, and you should use the manual page for cfdisk as an aid in
its operation. Use cfdisk to create a Linux Swap partition (type
82). You need the swap partition to provide virtual memory during
the installation process, since that process will use more memory
than you have in your system. Select the size for the amount of
virtual memory you intend to use once your system is installed. 16
megabytes is probably the lowest amount that's practical, use 32
megabytes if you can spare the space, and 64 if your disk is large
enough that you won't miss that much.
<p>
<dt><i>The Color-or-Monochrome Dialog Box</i>
<p>
<dd>Once the system has finished booting, you should see the color or
monochrome choice dialog box. If your monitor displays
black-and-white, press Enter to continue with the installation.
Otherwise, use the arrow key to move the cursor to the Color menu
item and then press Enter. The display should change from
black-and-white to color. Then press Enter again to continue with
the installation.
<p>
<dt><i>The Main Menu</i>
<p>
<dd>You may see a dialog box that says The installation program is
determining the current state of your system. On some systems, this
will go by too quickly to read. You'll see this dialog box between
steps in the main menu. The installation program will check the
state of the system in between each step. This checking allows you
to re-start the installation without losing the work you have
already done if you happen to halt your system in the middle of the
installation process. If you have to restart an installation, you
will have to configure color-or-monochrome, configure your keyboard,
re-activate your swap partition, and re-mount any disks that have
been initialized. Anything else that you have done with the
installation system will be saved.
<p>
During the entire installation process, you will be presented with
the main menu. The choices at the top of the menu will change to
indicate your progress in installing the system. Phil Hughes wrote
in <i>Linux Journal</i> that you could teach a chicken to install Debian!
He meant that the installation process was mostly just pecking at
the return key. The first choice on the installation menu is the
next action that you should perform according to what the system
detects you have already done. It should say Next, and at this point
the next item should be Configure the Keyboard.
<p>
<dt><i>Configuring the Keyboard</i>
<p>
<dd>Make sure the highlight is on the Next item, and Press Enter to go
to the keyboard configuration menu. Select a keyboard that conforms
to the layout used for your national language, or select something
close if the keyboard layout you want isn't represented. Once the
system is installed, you'll be able to select a keyboard layout from
a wider range of choices. Move the highlight to the keyboard
selection you desire and press enter. Use the arrow keys to move the
highlight - they are in the same place in all national language
keyboard layouts, so they are independent of the keyboard
configuration.
<p>
<dt><i>The Shell</i>
<p>
<dd>If you are an experienced Unix or Linux user, press LeftAlt-F2 to
get to the second virtual console. That's the Alt key on the
left-hand side of the space bar, and the F2 function key, at the
same time. This is a separate window running a Bourne shell clone
called ash. At this point you are booted from the RAM disk, and
there is a limited set of Unix utilities available for your use. You
can see what programs are available with the command ls /bin /sbin
/usr/bin /usr/sbin. Use the menus to perform any task that they are
able to do - the shell and commands are only there in case something
goes wrong. In particular, you should always use the menus, not the
shell, to activate your swap partition, because the menu software
can't detect that you've done this from the shell. Press LeftAlt-F1
to get back to menus. Linux provides up to 64 virtual consoles,
although the Rescue floppy only uses a few of them.
<p>
<dt><i>Last Chance!</i>
<p>
<dd>Did we tell you to back up your disks? Here's your first chance to
wipe out all of the data on your disks, and your last chance to save
your old system. If you haven't backed up all of your disks, remove
the floppy from the drive, reset the system, and run backups.
<p>
<dt><i>Partition Your Hard Disks</i>
<p>
<dd>If you have not already partitioned your disks for Linux native and
Linux swap filesystems, the menu item Next will be Partition a Hard
Disk. If you have already created at least one Linux Native and one
Linux Swap disk partition, the Next menu selection will be
Initialize and Activate the Swap Disk Partition, or you may even
skip that step if your system had low memory and you were asked to
activate the swap partition as soon as the system started. Whatever
the Next menu selection is, you can use the down-arrow key to select
Partition a Hard Disk.
<p>
The Partition a Hard Disk menu item presents you with a list of disk
drives you can partition, and runs the cfdisk program, which allows
you to create and edit disk partitions. The cfdisk manual page is
included with this document, and you should read it now. You must
create one "Linux" (type 83) disk partition, and one "Linux Swap"
(type 82) partition.
<p>
Your swap partition will be used to provide virtual memory for the
system and should be between 16 and 128 megabytes in size, depending
on how much disk space you have and how many large programs you want
to run. Linux will not use more than 128 megabytes of swap, so
there's no reason to make your swap partition larger than that. a
swap partition is strongly recommended, but you can do without one
if you insist, and if your system has more than 16 megabytes of RAM.
If you wish to do this, please select the Do Without a Swap
Partition item from the menu.
<p>
The "Linux" disk partition will hold all of your files, and you may
make it any size between 40 megabytes and the maximum size of your
disk minus the size of the swap partition. If you are already
familiar with Unix or Linux, you may want to make additional
partitions - for example, you can make partitions that will hold the
/var, and /usr, filesystems.
<p>
<dt><i>Initialize and Activate the Swap Disk Partition</i>
<p>
<dd>This will be the Next menu item once you have created one disk
partition. You have the choice of initializing and activating a new
swap partition, activating a previously-initialized one, and doing
without a swap partition. It's always permissible to re-initialize a
swap partition, so select Initialize and Activate the Swap Disk
Partition unless you are sure you know what you are doing. This menu
choice will give you the option to scan the entire partition for
un-readable disk blocks caused by defects on the surface of the hard
disk platters. This is useful if you have MFM, RLL, or older SCSI
disks, and never hurts. Properly-working IDE disks don't need this
choice, as they have their own internal mechanism for mapping out
bad disk blocks.
<p>
The swap partition provides virtual memory to supplement the RAM
memory that you've installed in your system. It's even used for
virtual memory while the system is being installed. That's why we
initialize it first.
<p>
<dt><i>Initialize a Linux Disk Partition</i>
<p>
<dd>At this point, the Next menu item should be Initialize a Linux Disk
Partition. If it isn't, it's because you haven't completed the disk
partitioning process, or you haven't made one of the menu choices
dealing with your swap partition.
<p>
You can initialize a Linux Disk partition, or alternately you can
mount a previously-initialized one.
<p>
These floppies will not upgrade an old system without removing the
files - Debian provides a different procedure than using the boot
floppies for upgrading existing Debian systems. Thus, if you are
using old disk partitions that are not empty, you should initialize
them (which erases all files) here. You must initialize any
partitions that you created in the disk partitioning step. About the
only reason to mount a partition without initializing it at this
point would be to mount a partition upon which you have already
performed some part of the installation process using this same set
of installation floppies.
<p>
Select the Next menu item to initialize and mount the / disk
partition. The first partition that you mount or initialize will be
the one mounted as / (pronounced root). You will be offered the
choice to scan the disk partition for bad blocks, as you were when
you initialized the swap partition. It never hurts to scan for bad
blocks, but it could take 10 minutes or more to do so if you have a
large disk.
<p>
Once you've mounted the / partition, the Next menu item will be
Install the Base System unless you've already performed some of the
installation steps. You can use the arrow keys to select the menu
items to initialize and/or mount disk partitions if you have any
more partitions to set up. If you have created separate partitions
for /var, /usr, or other filesystems, you should initialize and/or
mount them now.
<p>
<dt><i>Install the Base System</i>
<p>
<dd>This should be the Next menu step after you've mounted your / disk,
unless you've already performed some of the installation steps on /.
Select the Install the Base System menu item. There will be a pause
while the system looks for a "local copy" of the base system. This
search is for CD-ROM installations and will not succeed, and you'll
be offered a menu of drives to use to read the base floppies. Select
the appropriate drive. Feed in the Base 1, 2, and 3 (and 4 if you
are using 1.2MB floppies) as requested by the program. If one of the
base floppies is unreadable, you'll have to create a replacement
floppy and feed all 3 (or 4) floppies into the system again. Once
the floppies have all been read, the system will install the files
it's read from them. This could take 10 minutes or more on slow
systems, less on faster ones.
<p>
<dt><i>Install the Operating System Kernel</i>
<p>
<dd>At this point, the Next menu item should be Install the Operating
System Kernel. Select it, and you will be prompted to select a
floppy drive and insert the rescue floppy. This will copy the kernel
on to the hard disk. In a later step this kernel will be used to
create a custom boot floppy for your system, and to make the hard
disk bootable without a floppy.
<p>
<dt><i>Install the Device Drivers</i>
<p>
<dd>Select the menu item to install the device drivers, and you'll be
prompted to insert the device drivers floppy. The device drivers
will be copied to your hard disk. Select the Configure Device
Drivers menu item and look for devices that are on your system.
Configure those device drivers, and they will be loaded whenever
your system boots.
<p>
There is a menu selection for PCMCIA device drivers, but you need
not use it . Once your system is installed, you can install the
pcmcia-cs package. This detects PCMCIA cards automatically, and
configures the ones it finds. It also copes with hot-plugging the
cards while the system is booted - they will all be configured as
they are plugged in, and de-configured when you unplug them.
<p>
<dt><i>Configure the Base System</i>
<p>
<dd>At this point you've read in all of the files that make up a minimal
Debian system, but you must perform some configuration before the
system will run. Select the Configure the Base System menu item.
<p>
You'll be asked to select your time zone. Look for your time zone or
region of the world in the menu, and type it at the prompt. This may
lead to another menu, in which you can select your actual time zone.
<p>
Next, you'll be asked if your system clock is to be set to GMT or
local time. Select GMT if you will only be running Linux and Unix on
your system, and select local time if you will be running another
operating system such as DOS or Windows. Unix and Linux keep GMT
time on the system clock and use software to convert it to the local
time zone. This allows them to keep track of daylight savings time
and leap years, and even allows users who are logged in from other
time zones to individually set the time zone used on their terminal.
If you run the system clock on GMT and your locality uses daylight
savings time, you'll find that the system adjusts for daylight
savings time properly on the days that it starts and ends.
<p>
<dt><i>Configure the Network</i>
<p>
<dd>You'll have to configure the network even if you don't have a
network, but you'll only have to answer the first two questions -
what is the name of your computer?, and is your system connected to
a network?.
<p>
If you are connected to a network, here come some questions that you
may not be able to figure out on your own - check with your system
administrator if you don't know:
<p>
<ul>
<li> Your host name.
<li> Your domain name.
<li> Your computer's IP address.
<li> The netmask to use with your network.
<li> The IP address of your network.
<li> The broadcast address to use on your network.
<li> The IP address of the default gateway system you should route to,
if your network has a gateway.
<li> The system on your network that you should use as a
DNS (Domain Name Service) server.
<li> Whether you connect to the network using Ethernet.
</ul>
<p>Some technical details you might, or might not, find handy: the
program will guess that the network IP address is the bitwise-AND of
your system's IP address and your netmask. It will guess the
broadcast address is the bitwise OR of your system's IP address with
the bitwise negation of the netmask. It will guess that your gateway
system is also your DNS server. If you can't find any of these
answers, use the system's guesses - you can change them once the
system has been installed, if necessary, by editing
/etc/init.d/network .
<p>
<dt><i>Make the Hard Disk Bootable</i>
<p>
<dd>If you select to make the hard disk boot directly to Linux, you will
be asked to install a master boot record. If you aren't using a boot
manager (and this is probably the case if you don't know what a boot
manager is), answer yes to this question. The next question will be
whether you want to boot Linux automatically from the hard disk when
you turn on your system. This sets Linux to be the bootable
partition - the one that will be loaded from the hard disk. If you
answer no to this question, you can set the bootable partition later
using the DOS fdisk program, or with the Linux fdisk or activate
programs.
<p>
If you are installing Linux on a drive other than the first hard
disk in your system, be sure to make a boot floppy. The boot ROM of
most systems is only capable of directly booting from the first hard
drive, not the second one. You can, however, work around this
problem once you've installed your system. To do so, read the
instructions in the directory /usr/doc/lilo.
<p>
<dt><i>Make a Boot Floppy</i>
<p>
<dd>You should make a boot floppy even if you intend to boot the system
from the hard disk. The reason for this is that it's possible for
the hard disk bootstrap to be mis-installed, but a boot floppy will
almost always work. Select Make a Boot Floppy from the menu and feed
the system a blank floppy as directed. Make sure the floppy isn't
write-protected, as the software will format and write it. Mark this
the "Custom Boot" floppy and write-protect it once it has been
written.
<p>
<dt><i>The Moment of Truth</i>
<p>
<dd>This is what electrical engineers call the smoke test - what happens
when you turn on a new system for the first time. Remove the floppy
disk from the floppy drive, and select the Reboot the System menu
item. If the Linux system doesn't start up, insert the Custom Boot
floppy you created and reset your system. Linux should boot. You
should see the same messages as when you first booted the
installation boot floppy, followed by some new messages.
<p>
<dt><i>Set the Root Password</i>
<p>
<dd>This is the password for the super-user, a login that bypasses all
security protection on your system. It should only be used to
perform system administration, and only for as short a time as
possible. Do not use root as your personal login. You will be
prompted to create a personal login as well, and that's the one you
should use to send and receive e-mail and perform most of your work,
not root. The reason to avoid using root's privileges is that you
might be tricked into running a trojan-horse program - that is a
program that takes advantage of your super-user power to compromise
the security of your system behind your back. Any good book on Unix
system administration will cover this topic in more detail -
consider reading one if it's new to you. The good news is that Linux
is probably more secure than other operating systems you might run
on your PC. DOS and Windows, for example, give all programs
super-user privilege. That's one reason that they have been so
plagued by viruses.
<p>
All of the passwords you create should contain from 6 to 8
characters, and should contain both upper and lower-case characters,
as well as punctuation characters.
<p>
Once you've added both logins, you'll be dropped into the dselect
program. The Dselect Tutorial is required reading before you run
dselect. Dselect allows you to select packages to be installed on
your system. If you have a CD-ROM or hard disk containing the
additional Debian packages that you want to install on your system,
or you are connected to the Internet, this will be useful to you
right away. Otherwise, you may want to quit dselect and start it
later, once you have transported the Debian package files to your
system. You must be the super-user (root) when you run dselect. If
you are about to install the X Window system and you do not use a US
keyboard, you should read the X11 Release note for non-US-keyboard
users.
<p>
<dt><i>Log In</i>
<p>
<dd>After you've quit dselect, you'll be presented with the login
prompt. Log in using the personal login and password you selected.
Your system is now ready to use.
</dl>
<a name="run"></a>
<h2>2. Running Debian GNU/Linux.</h2>
<p>This section will deal Debian packaging system and debian specific
utilities. Ab ovo.
<p><b>2.1 Debian packaging system and package installation utilities</b>
<p>
Debian distributions comes in archives called packages. Every
package is a collection of files (software, usually) that can be
installed using "dpkg" or "dselect". In addition the package
contains some information about it self that is read by the
installation utilities.
<p><b>2.1.1 Package Classifications</b>
<p>
The packages included with Debian GNU/Linux are classified according
to how essential they are (priority), and according to their
functionality (section).
<p>
The "priority" of a package indicates how essential or necessary it
is. We have classified all packages into four different priority
levels:
<p><dl>
<dt><i>Required</i>
<p><dd>
"Required" packages are packages that must be installed for the
system to correctly operate. The required packages are the packages
that were installed with the base system. Thus, they are already
installed. Never, never, never remove a required package from the
system unless you are <i>absolutely sure</i> what you are doing. This
bears repeating. Never, never, never remove a required package from
the system unless you are <i>absolutely sure</i> what you are doing. It
is likely that doing so will render your system completely unusable.
<p>
Required packages are abbreviated in dselect as "Req".
<p>
<dt><i>Important</i>
<p><dd>
"Important" packages are packages that are found on almost all
Unix-like operating systems. Such packages include cron', man', and
vi'.
<p>
Important packages are abbreviated in dselect as "Imp".
<p>
<dt><i>Standard</i>
<p><dd>
"Standard" packages are packages that, more or less,
comprise what we consider to be the "standard", character-based
Debian GNU/Linux system. The Standard system includes a fairly
complete software development environment and GNU Emacs.
<p>
Standard packages are abbreviated in dselect as "Std".
<p>
<dt><i>Optional</i>
<p><dd>
"Optional" packages are packages that comprise a fairly complete
system. The Optional system includes a fairly complete TeX
environment and the X Window System.
<p>
Optional packages are abbreviated in dselect as "Opt".
<p>
<dt><i>Extra</i>
<p><dd>
"Extra" packages are packages that are only useful to a small or
select group of people, or that would be installed for a specific
purpose rather than as a general part of an operating system. Such
packages include electronics and ham radio packages.
<p>
Extra packages are abbreviated in dselect as "Xtr".
</dl>
<p>
By default, dselect automatically selects the Standard system, if
the user doesn't want to individually select the packages to be
installed.
<p>
The "section" of a package indicates the functionality or use of a
package. Packages on the CD-ROM and in FTP archive are arranged
according to section. The section names are fairly
self-explanatory: for example, the category admin' contains packages
for system administration, and the category devel' contains packages
for software development and programming. Unlike priority levels,
there are many sections, and more will probably be added in the
future, so we do not individually describe any of them in the
manual.
<p>
<b>2.1.2 Package Relationships</b>
<p>
Each package includes information about how it relates to the other
packages included with the system. There are four package
relationships in Debian GNU/Linux: conflicts, dependencies,
recommendations, and suggestions.
<p>
A "conflict" occurs when two or more packages <i>cannot</i> be installed
on the same system at the same time. A good example of conflicting
packages are mail transfer agents (MTAs). A mail transfer agent is
a program that delivers electronic mail to other users on the system
or to other machines on the network. Debian GNU/Linux includes two
<i>alternative</i> mail transfer agents: sendmail' and smail'.
<p>
Only one mail transfer agent can be installed on the system at a
time, as they both do the same job and are not designed to coexist.
Therefore, the sendmail' and smail' packages conflict. If you try
to install sendmail' when smail' is already installed, the package
maintenance system will refuse to install it. Likewise, if you try
to install smail' when sendmail' is already installed, it will
refuse to install it.
<p>
A "dependency" occurs when one package requires another package to
function properly. Continuing our electronic mail example, users
read mail with programs called mail user agents (MUAs). Popular
mail user agents include elm', pine', and Emacs RMAIL. It is normal
to install several MUAs at once, so these packages do not conflict.
But a mail user agent does not deliver mail--it uses the mail
transfer agent to do that. Therefore, all mail user agent packages
depend on a mail transfer agent.
<p>
A package can also "recommend" or "suggest" other related packages.
<p>
<b>2.1.3 Dselect</b>
<p>
META: This section provides brief tutorial on Debian Dselect, for
more detailed explanation please refer to Dselect Manual located at
<a href="ftp://ftp.debian.org/debian/Debian-1.2/disks-i386/current/dselect.beginner.6.html">
ftp://ftp.debian.org/debian/Debian-1.2/disks-i386/current/dselect.beginner.6.html</a>
<p>
Dselect is simple menu driven interface that will help you install
packages. It is used to select packages you wish to install.
<p>
It will step you through the package installation process as follows:
<p>
<ul>
<li> Choose the access method to use.
<li> Update list of available packages, if possible.
<li> Request which packages you want on your system.
<li> Install and upgrade wanted packages.
<li> Configure any packages that are unconfigured.
<li> Remove unwanted software.
</ul>
<p>
The main dselect screen looks like that:
<pre>
------------------------------------------------------------------
Debian Linux `dselect' package handling front end.
0. [A]ccess Choose the access method to use.
1. [U]pdate Update list of available packages, if possible.
2. [S]elect Request which packages you want on your system.
3. [I]nstall Install and upgrade wanted packages.
4. [C]onfig Configure any packages that are unconfigured.
5. [R]emove Remove unwanted software.
6. [Q]uit Quit dselect.
------------------------------------------------------------------
</pre>
<p>
META: There are two ways of selecting the option from the menu, one
is choosing it with arrows, another one is pressing the key in []'s.
<p>
<dl>
<dt><i>Access</i>
<p><dd>
In this menu you can choose the method you will use for
obtaining/installing the packages.
<p>
<table border=1 cellpadding=6>
<tr> <td> <i>Abbrev.</i> </td><td><i> Description</i><br></td></tr>
<tr><td> cdrom </td><td>Install from a CD-ROM.<br></td></tr>
<tr><td> nfs </td><td>Install from an NFS server (not yet mounted).<br></td></tr>
<tr><td> harddisk </td><td>Install from a hard disk partition (not yet mounted).<br></td></tr>
<tr><td> mounted </td><td>Install from a filesystem which is already mounted.<br></td></tr>
<tr><td> floppy </td><td>Install from a pile of floppy disks.<br></td></tr>
<tr><td> ftp </td><td>Install using ftp.<br></td></tr>
</table>
<p>
<dt><i>Update</i>
<p><dd>
Dselect will read the packages list file (exactly the same file that
was discussed in the 1.3 section) and will create a database of
available packages locally on your system.
<p>
<dt><i>Select</i>
<p>
This is where you select the packages, choose your love and hit
&lt;Enter&gt;. If you have a slow machine be aware that the screen will
clear and can remain blank for 15 seconds so don't start bashing keys
at this point. The first thing that comes up on the screen is page 1 of
the Help file. You can get to this help by hitting ? at any point in the
Select screens and you can page through the help screens by hitting the
. (full stop) key.
<p>
To exit the Select screen after all selections are complete, hit &lt;Enter&gt;.
This will return you to the main screen _if_ there are no problems
with your selection. Else you will be asked to deal with those problems.
When you are happy with any given screen hit &lt;Enter&gt; to get out.
<p>
<i>Problems</i> are quite normal and are to be expected. If you select
package A and that package requires package B to run, then dselect
will warn you of the problem and will most likely suggest a solution.
If package A conflicts with package B (they are mutually exclusive)
you will be asked to decide between them.
<p>
<dt><i>Install</i>
<p><dd>
Dselect runs through the entire 800 packages and installs those selected.
Expect to get asked to make decisions as you go. It is often useful to
switch to a different shell to compare, say, an old config with a new one.
If the old file is conf.modules the new one will be conf.modules.dpkg-new.
<p>
The screen scrolls past fairly quickly on a new machine. You can stop/start
it with ^S/^Q and at the end of the run you will get a list of any
uninstalled packages. If you want to keep a record of everything that
happens use normal Unix features like tee or script.
<p>
<dt><i>Configure</i>
<p><dd>
Most packages get configured in step 3, but anything left hanging can be
configured here.
<p>
<dt><i>Remove</i>
<p><dd>
Remove packages that no longer needed.
<p>
<dt><i>Quit</i>
<p><dd>
Au revoir.
</dl>
<p>
<b> 2.1.4 Dpkg</b>
<p>
META: This section provides a brief tutorial on Debian Dpkg program.
<p>
Dpkg is command line tool for installing and manipulating debian
packages. It has several switches, which allow you to install,
configure, update, remove and do other operations on debian packages
(even build your own). Dpkg also allowd you to list the available
packages, list files 'owned' by packages, find which package the file
is owned by, et cetera.
<p>
<dl>
<dt><i>Installing new packages / updating existing ones.</i>
<p><dd>
It's as simple as any other dpkg operation. All you have to do is to
type the following command:
<pre>
# dpkg -i &lt;filename.deb&gt;
</pre>
where &lt;filename&gt; is the name of the file containing a debian package,
such as, 'tcsh_6.06-11_i386.deb'. Dpkg is partly interactive; during
the installation it may ask you additional questions, such as, wether
to install the new version of a configuration file, or to keep the old
one.
<p>
You may also unpack a package without configuring it: type:
<pre>
dpkg --unpack &lt;filename&gt;
</pre>
If the package you are trying to install depends on a non-existing
package or on a newer version of a package you have, or if any other
problem occurs during the installation, dpkg will abort with a verbose
error message.
<p>
<dt><i>Configure installed packages</i>
<p>
<dd>It happens that dpkg aborts during an installation and leaves the
package installed, though unconfigured. It also happens that the
users unpack packages without configuring it. Debian packaging system
requires the package to be configured to avoid dependency problems.
More than that, some packages require configuration to work properly.
<p>
To configure it, simply type:
<pre>
dpkg --configure &lt;package&gt;
</pre>
where &lt;package&gt; is the name of the package, such as, 'tcsh' (which is
not the same thing as a filename we mentioned above).
<p>
<dt><i>Removing installed packages</i>
<p>
<dd>In Debian package system, there are two ways to murder a package,
called 'remove' and 'purge'. The 'remove' switch just removes the
specified package; the 'purge' switch also purges the configuration
files. The usage is:
<pre>
dpkg -r &lt;package&gt;
dpkg --purge &lt;package&gt;
</pre>
Of course, if there are any installed packages that depend on the one
you wish to remove, the package will <i>not</i> be removed, and dpkg will
abort with a verbose error message.
<p>
<dt><i>Reporting package status</i>
<p><dd>
To report the status of the package (i.e., installed, not installed,
unconfigured, etc.), type:
<pre>
dpkg -s &lt;package&gt;
</pre>
<p>
<dt><i>Listing available packages</i>
<p><dd>
To list the installed packages that match some pattern, type:
<pre>
dpkg -l [&lt;package-name-pattern&gt;]
</pre>
where &lt;package-name-pattern&gt; is an optional argument specifying a
pattern for the package names to match, such as, "*sh". Yes, normal
shell wildcards are allowed. If you don't specify the pattern, all
the installed packages will be listed.
<p>
<dt><i>Listing files 'owned' by package</i>
<p><dd>
To list all the files owned by a particular package, simply type:
<pre>
dpkg -L &lt;package&gt;
</pre>
However, it will not list the files created by package-specific
installation scripts.
<p>
<dt><i>Finding package 'owning' a file</i>
<p><dd>
To find the package wich is 'owning' a particular file, type the
following command:
<pre>
dpkg -S &lt;filename-pattern&gt;
</pre>
where &lt;filename-pattern&gt; is the pattern for the file to search for.
Again, normal shell wildcards are allowed.
<p>
<dt><i>Summary</i>
<p>
<dd>Dpkg is very simple to use and is preferred over dselect when all you
have to do is to install, upgrade or remove a small number of
packages. It also has some functionality which dselect (which is, in
fact, an interface to dpkg) doesn't have, such as, finding package
'owning' a file. Here we haven't describe all the options dpkg have.
For the full list, refer to dpkg(8) man page.
</dl>
<a name="about"></a>
<h2>3. About Debian</h2>
<p><b>3.1 Debian community</b>
<p>
Debian project was created by Ian Murdock in 1993, initially under the
sponsorship of the Free Software Foundation's GNU project. Later,
Debian has parted from FSF. Debian was created is the result of a
volunteer effort to create a free, high-quality Unix-compatible
operating system based on Linux kernel, complete with a suite of
applications.
<p>
Debian community is a group of above 150 unpaid volunteers from over
the world who collaborate via the Internet. The founders of the
project have formed the organization "Software in the Public Interest"
to sponsor Debian GNU/Linux development.
<p>
<b>Software in the Public Interest</b>
<p>
Software in the Public Interest (SPI) is a non-profit organization
formed when FSF withdrew their sponsorship of Debian. The purpose of
the organization is to develop and distribute free software. Its
goals are very much like those of FSF, and it encourages programmers
to use the GNU General Public License on their programs. However, SPI
has a slightly different focus in that it is building and distributing
a Linux system that diverges in many technical details from the GNU
system planned by FSF. SPI still communicates with FSF, and it
cooperates in sending them changes to GNU software and in asking its
users to donate to FSF and the GNU project.
<p>
SPI can be reached at:
<p>
E-Mail: <a href="mailto:bruce@pixar.com">bruce@pixar.com</a></br>
Postal address:
<p>
Software in the Public Interest<br>
P.O. Box 70152<br>
Pt. Richmond, CA 94807-0152<br>
<p>
Phone: 510-215-3502 (Bruce Perens at work)
<p>
<b> 3.2 Mailing lists </b>
<p>
There are several Debian-related mailing lists:
<p>
<dl>
<dt>debian-announce@lists.debian.org
<dd> Moderated. Major system announcements. Usually about one message
per month.
<p>
<dt>debian-changes@lists.debian.org
<dd> Announcements of new package releases for the stable distribution.
Usually several messages per day.
<p>
<dt>debian-devel-changes@lists.debian.org
<dd> Announcements of new package releases for the unstable distribution.
Usually several messages per day.
<p>
<dt>debian-user@lists.debian.org
<dd> A mailing lists where users of Debian ask for and get support.
Usually about 50 packages per day.
<p>
<dt>debian-sparc@lists.debian.org,<br>
debian-alpha@lists.debian.org,<br>
debian-68k@lists.debian.org
<dd> Lists for those who are involved in porting Debian software to SPARC
/ DEC Alpha / Motorolla 680x0 platforms.
</dl>
<p>
There are also several mailing lists for Debian developers.
<p>
You can subscribe to those mailing list by mail or via www, for more
information please visit http://www.debian.org/
<p><b>
3.3 Bug tracing system.</b>
<p>
Debian project has a bug tracing system which handles the bug reports
provided by users. As soon as the bug report is received, the bug is
given a number and all the information provided on this particular bug
is stored in a file and mailed to the maintainer of the package. When
the bug is fixed, it must be marked as done ("closed") by the
maintainer; however, if it was closed by mistake, it may be reopened.
<p>
To receive more info on the bug tracing system, send e-mail to
<a href="mailto:request@bugs.debian.org">
request@bugs.debian.org</a>
with "help" in the body.
<a name="end"></a>
<h2>4. Almost the end.</h2>
<p><b> 4.1 Acknowledgments.</b>
<p>
Many thanks to Bruce Perens, and other authors of Debian related materials that
I've used in order to write this chapter.
<p>
Thanks a lot to Vadik Vygonets, my beloved cousin, that also
helped me very much.
<p>
And thanks a lot to all members of Debian community for their hard work,
let's hope that Debian will become even better.
<p>
<b>4.2 Last Note</b>
<p>
Hence Debian changes very fast, alot of facts may change faster then
the book, but this document will be updated regularly, you can find
it at
<a href="http://www.cs.huji.ac.il/~borik/debian/ligs/">
http://www.cs.huji.ac.il/~borik/debian/ligs/</a>
<P> <hr> <P>
<center><H5>Copyright &copy; 1997, Boris D. Beletsky <BR>
Published in Issue 15 of the Linux Gazette, March 1, 1997</H5></center>
<!--===================================================================-->
<P> <hr> <P>
<A HREF="./index.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif"
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../index.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./2cent.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./gm.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P>
</BODY>
</HTML>