If you are new to Unix, you probably should go out and buy some books and do
some reading. The Unix
FAQ
contains a number of references to books and Usenet news groups
which should help you out. You can also take a look at the User-Friendly Unix
FAQ
.
Linux is an implementation of Unix. The Linux Documentation Project (LDP)
collects a number of HOWTOs and online books relating to Linux. Most of these
documents can be installed locally; just install the
doc-linux-html
package (HTML versions) or the
doc-linux-text
package (ASCII versions), then look in
/usr/share/doc/HOWTO
. International versions of the LDP HOWTOs
are also available as Debian packages.
Information specific to Debian can be found below.
To shut down a running Linux system, you must not reboot with the reset switch on the front or back of your computer, or just turn off the computer. Linux must be shut down in a controlled manner, otherwise files may be lost and disk damage incurred. You can press the key combination Ctrl-Alt-Del . You may also log in as root and type shutdown -h now, reboot, or halt if either of the key combinations do not work or you prefer to type commands.
Debian is a little different from other distributions. Even if you're familiar with Linux in other distributions, there are things you should know about Debian to help you to keep your system in a good, clean state. This chapter contains material to help you get oriented; it is not intended to be a tutorial for how to use Debian, but just a very brief glimpse of the system for the very rushed.
The most important concept to grasp is the Debian packaging system. In essence, large parts of your system should be considered under the control of the packaging system. These include:
/usr
(excluding /usr/local
)
/var
(you could make /var/local
and be safe in there)
/bin
/sbin
/lib
For instance, if you replace /usr/bin/perl
, that will work, but
then if you upgrade your perl
package, the file you put there will
be replaced. Experts can get around this by putting packages on ``hold'' in
dselect
.
One of the best installation methods is apt. You can use it as a method from dselect, or you can use the command line version (info apt-get). Note apt will also let you merge main, contrib, and non-free so you can have export-restricted packages as well as standard versions.
Alternative versions of applications are managed by update-alternatives. If you are maintaining multiple versions of your applications, read the update-alternatives man page.
Any jobs under the purview of the system administrator should be in
/etc
, since they are configuration files. If you have a root cron
job for daily, weekly, or nightly runs, put them in
/etc/cron.{daily,weekly,monthly}
. These are invoked from
/etc/crontab
, and will run in alphabetic order, which serializes
them.
On the other hand, if you have a cron job that (a) needs to run as a special
user, or (b) needs to run at a special time or frequency, you can use either
/etc/crontab
, or, better yet, /etc/cron.d/whatever
.
These particular files also have an extra field that allows you to stipulate
the user under which the cron job runs.
In either case, you just edit the files and cron will notice them
automatically. There is no need to run a special command. For more
information see cron(8), crontab(5), and
/usr/share/doc/cron/README.Debian
.
If you need information about a particular program, you should first try man program, or info program.
There is lots of useful documentation in /usr/share/doc
as well.
In particular, /usr/share/doc/HOWTO
and
/usr/share/doc/FAQ
contain lots of interesting information. To
submit bugs, look at /usr/share/doc/debian/bug*
. To read about
Debian-specific issues for particular programs, look at
/usr/share/doc/(package name)/README.Debian
.
The Debian web site
contains
a large quantity of documentation about Debian. In particular, see the
Debian FAQ
and the
Debian Mailing List
Archives
. The Debian community is self-supporting; to subscribe to
one or more of the Debian mailing lists, see the Mail List
Subscription
page.
Why would someone want to compile a new kernel? It is often not necessary since the default kernel shipped with Debian handles most configurations. However, it is useful to compile a new kernel in order to:
Don't be afraid to try compiling the kernel. It's fun and profitable.
To compile a kernel the Debian way, you need some packages:
kernel-package
, kernel-source-2.4.17
(the most recent
version at the time of this writing), fakeroot
and a few others
which are probably already installed (see
/usr/share/doc/kernel-package/README.gz
for the complete list).
This method will make a .deb of your kernel source, and, if you have
non-standard modules, make a synchronized dependent .deb of those too. It's a
better way to manage kernel images; /boot
will hold the kernel,
the System.map, and a log of the active config file for the build.
Note that you don't have to compile your kernel the ``Debian way'';
but we find that using the packaging system to manage your kernel is actually
safer and easier. In fact, you can get your kernel sources right from Linus
instead of kernel-source-2.4.17
, yet still use the
kernel-package
compilation method. Although the 2.4.17 kernel is
still used in Woody for installs, more-recent 2.4 kernels are available as
kernel-images.
Note that you'll find complete documentation on using
kernel-package
under /usr/share/doc/kernel-package
.
This section just contains a brief tutorial.
Hereafter, we'll assume your kernel source will be located in
/usr/local/src
and that your kernel version is 2.4.17. As root,
create a directory under /usr/local/src
and change the owner of
that directory to your normal non-root account. As your normal non-root
account, change your directory to where you want to unpack the kernel sources
(cd /usr/local/src), extract the kernel sources (tar xIf
/usr/src/kernel-source-2.4.17.tar.bz2), change your directory to it
(cd kernel-source-2.4.17/). Now, you can configure your kernel.
Run make xconfig if X11 is installed, configured and being run,
make menuconfig otherwise (you'll need ncurses-dev
installed). Take the time to read the online help and choose carefully. When
in doubt, it is typically better to include the device driver (the software
which manages hardware peripherals, such as Ethernet cards, SCSI controllers,
and so on) you are unsure about. Be careful: other options, not related to a
specific hardware, should be left at the default value if you do not understand
them. Do not forget to select ``Kernel module loader'' in ``Loadable module
support'' (it is not selected by default). If not included, your Debian
installation will experience problems.
Clean the source tree and reset the kernel-package
parameters. To
do that, do make-kpkg clean.
Now, compile the kernel: fakeroot make-kpkg --revision=custom.1.0 kernel_image. The version number of ``1.0'' can be changed at will; this is just a version number that you will use to track your kernel builds. Likewise, you can put any word you like in place of ``custom'' (e.g., a host name). Kernel compilation may take quite a while, depending on the power of your machine.
Once the compilation is complete, you can install your custom kernel like any
package. As root, do dpkg -i
../kernel-image-2.4.17-subarchitecture_custom.1.0_hppa.deb.
The subarchitecture part is an optional sub-architecture, depending
on what kernel options you set. dpkg -i kernel-image... will
install the kernel, along with some other nice supporting files. For instance,
the System.map
will be properly installed (helpful for debugging
kernel problems), and /boot/config-2.4.17
will be installed,
containing your current configuration set. Your new
kernel-image-2.4.17
package is also clever enough to automatically
use your platform's boot-loader to run an update on the booting, allowing you
to boot without re-running the boot loader. If you have created a modules
package, e.g., if you have PCMCIA, you'll need to install that package as well.
It is time to reboot the system: read carefully any warning that the above step may have produced, then shutdown -r now.
For more information on kernel-package
, read the fine
documentation in /usr/share/doc/kernel-package
.
Installing Debian GNU/Linux 3.0 For PA-RISC
version 3.0.23, 16 May, 2002