Official documentation for installing Debian is located at http://www.debian.org/releases/stable/
and http://www.debian.org/releases/stable/installmanual
.
The development versions are located at http://www.debian.org/releases/testing/
and http://www.debian.org/releases/testing/installmanual
(work in progress, sometimes this may not exist).
Although this chapter was initially written during the days of the Potato
installer, most of the contents have been updated to the Woody installer and
they are very similar installers. Since Sarge will use a totally new
installer, please use this as a reference point for the Sarge installer. Also
some key packages have changed names and priorities. For example, default MTA
of Sarge is exim4
instead of exim
, and
coreutils
has been introduced to replace several packages. You
may need to adjust actions.
Do not forget to check http://www.debian.org/CD/netinst/
if you are looking for a compact CD image of the Debian installer.
Running the testing or unstable distribution
increases the risk of hitting serious bugs. This risk can be managed by
deploying a multibooting scheme with a more stable Debian distribution or by
using the nice trick provided by chroot
as described in chroot
, Section 8.6.35. The
latter will enable running different Debian distributions simultaneously on
different consoles.
Linux is compatible with most PC hardware and can be installed to almost any system. For me it was as easy as installing Windows 95/98/Me. The hardware compatibility list just seems to keep growing.
If you have a laptop PC, check Linux on Laptops
for
installation pointers by brand and model.
My recommendation for desktop PC hardware is "Just be conservative":
If you have a slow machine, yanking out the hard drive and plugging it into another faster machine for installation is a good idea.
During installation, one will be asked to identify the hardware or chip set of the PC. Sometimes that information may not seem easy to find. Here is one method:
The following commands on a Linux system should give some idea of actual hardware and configuration.
$ pager /proc/pci $ pager /proc/interrupts $ pager /proc/ioports $ pager /proc/bus/usb/devices
These commands can be run during the install process from the console screen by pressing Alt-F2.
After the initial installation, with the installation of optional packages such
as pciutils
, usbutils
, and lshw
, you can
obtain more extensive system information.
$ lspci -v |pager $ lsusb -v |pager # lshw |pager
Typical uses of interrupts:
/dev/ttyS1
)
/dev/ttyS0
)
/dev/fd0
,
/dev/fd1
)
/dev/lp0
)
/dev/hda
, /dev/hdb
)
/dev/hdc
, /dev/hdd
)
For old non-PnP ISA cards, you may want to set IRQ5, IRQ10, and IRQ11 as non-PnP from the BIOS.
For USB devices, device classes are listed in
/proc/bus/usb/devices
as Cls=nn:
If the device class of a device is not 255, Linux supports the device.
Hardware information can also be obtained from other OSs:
Install another commercial Linux distribution. Hardware detection on those
tends to be better than on Debian as of now. (This situation should even out
once debian-installer
is introduced with Sarge.)
Install Windows. Hardware configuration can be obtained by right-clicking "My Computer" to get to Properties / Device Manager. Record all resource information such as IRQ, I/O port address, and DMA. Some old ISA cards may need to be configured under DOS and used accordingly.
"Lilo is limited to 1024 cylinders." Wrong!
The newer lilo
used after Debian Potato has lba32 support. If the
BIOS of your motherboard is recent enough to support lba32, lilo
should be able to load beyond the old 1024-cylinder limitation.
Just make sure to add a line reading "lba32" somewhere near the
beginning of your lilo.conf
file if you have kept an old
lilo.conf
. See /usr/share/doc/lilo/Manual.txt.gz
.
The new boot loader grub
from the GNU Hurd project can be
installed on a Debian Woody system:
# apt-get update # apt-get install grub-doc # mc /usr/share/doc/grub-doc/html/ ... read contents # apt-get install grub # pager /usr/share/doc/grub/README.Debian ... read it :)
To edit the GRUB menu, edit /boot/grub/menu.lst
. See Setting GRUB boot parameters, Section
8.1.6 for how to set boot parameters during the boot process since it is
slightly different from lilo
configuration.
For Potato, I liked the IDEPCI disk set for normal install to a desktop. For
Woody, I like the bf2.4 boot disk set. They both use a version of
boot-floppies
to create boot floppies.
If you have a PCMCIA network card, you need to use the standard boot disk set (largest number of floppies but all driver modules available) and configure the NIC in the PCMCIA setup; do not try to set up an NIC card in the standard network setup dialog.
For special systems, you may need to create a custom rescue disk. This can be
done by replacing the kernel image named "linux" on the Debian rescue
disk by overwriting it with another compressed kernel image compiled off-site
for the machine. Details are documented in readme.txt
on the
rescue disk. The rescue floppy uses the MS-DOS filesystem, so you can use any
system to read and edit it. This should make life easier for people with a
special network card, etc.
For Sarge, debian-installer
and/or pgi
is expected to
be used for creating boot floppies.
Follow the official instructions found in http://www.debian.org/releases/stable/installmanual
or http://www.debian.org/releases/testing/installmanual
(work in progress, sometimes this may not exist).
If you are installing a system using boot-floppies
in the
testing distribution, you may need to open a console terminal
during the install process by pressing Alt-F2 and manually edit
/etc/apt/sources.list
entries, changing "stable" to
"testing" to adjust APT sources.
I tend to install lilo
into places like /dev/hda3
,
while installing mbr
into /dev/hda
. This minimizes
the risk of overwriting boot information.
Here is what I choose during the install process.
See dselect
, Section
6.2.4. Even if you are an Emacs fan, avoid it now and be content with nano
during install. Also avoid installing other large packages such as TeX (Potato
used to do this) at this stage. See Rescue editors, Section 11.2 for the
reason for installing nano-tiny or elvis-tiny here.
exim
: select 2 for machine since I send mail through my ISP's SMTP
server.
For more information on dselect, see dselect
, Section 6.2.4.
Example of LAN configuration (C subnet: 192.168.1.0/24):
Internet | +--- External ISP provides POP service (accessed by fetchmail) | Access point ISP provides DHCP service and SMTP relay service | : Cable modem (Dialup) | : LAN Gateway machine external port: eth0 (IP given by ISP's DHCP) use old notebook PC (IBM Thinkpad, 486 DX2 50MHz, 20MB RAM) run Linux 2.4 kernel with ext3 filesystem. run "ipmasq" package (with stronger patch, NAT, and firewall) run "dhcp-client" package configured for eth0 (override DNS setting) run "dhcp" package configured for eth1 run "exim" as the smarthost (mode 2) run "fetchmail" with a long interval (fallback) run "bind" as the cache nameserver for Internet from LAN as authoritative nameserver for LAN domain from LAN run "ssh" on port 22 and 8080 (connect from anywhere) run "squid" as the cache server for the Debian archive (for APT) LAN Gateway machine internal port: eth1 (IP = 192.168.1.1, fixed) | +--- LAN Switch (100base T) ---+ | | Some fixed IP clients on LAN Some DHCP clients on LAN (IP = 192.168.1.2-127, fixed) (IP = 192.168.1.128-200, dynamic)
See Network configuration, Chapter 10 for the details of configuring the network. See Building a gateway router, Section 10.14 for the details of configuring the LAN gateway server.
In order to have a consistent feel across machines, the first few accounts are always the same in my system.
I always create a first user account with a name like "admin"
(uid=1000). I forward all root email there. This account is given membership
in the adm group (see "Why
GNU su
does not support the wheel group",
Section 9.2.2), which can be given a good amount of root privilege through
su
using PAM or the sudo
command. See Add a user account, Section 4.1.3 for
details.
I prefer to use different partitions for different directory trees to limit damage upon system crash. E.g.,
/ == (/ + /boot + /bin + /sbin) == 50MB+ /tmp == 100MB+ /var == 100MB+ /home == 100MB+ /usr == 700MB+ with X /usr/local == 100MB
The size of the /usr
directory is very dependent on X Window
applications and documentation. /usr/
can be 300MB if one runs a
console terminal only, whereas 2GB–3GB is not an unusual size if one has
installed many Gnome applications. When /usr/
grows too big,
moving out /usr/share/
to a different partition is the most
effective cure. With the new large prepackaged Linux 2.4 kernels,
/
may need more than 200MB.
For example, the current status of my Internet gateway machine is as follows (output of the df -h command):
Filesystem Size Used Avail Use% Mounted on /dev/hda3 300M 106M 179M 38% / /dev/hda7 100M 12M 82M 13% /home /dev/hda8 596M 53M 513M 10% /var /dev/hda6 100M 834k 94M 1% /var/lib/cvs /dev/hda9 596M 222M 343M 40% /usr /dev/hda10 596M 130M 436M 23% /var/cache/apt/archives /dev/hda11 1.5G 204M 1.2G 14% /var/spool/squid
(The large area reserved for /var/spool/squid/
is for a proxy
cache for package downloading.)
Following is fdisk -l output to provide an idea of partition structure:
# fdisk -l /dev/hda # comment /dev/hda1 1 41 309928+ 6 FAT16 # DOS /dev/hda2 42 84 325080 83 Linux # (not used) /dev/hda3 * 85 126 317520 83 Linux # Main /dev/hda4 127 629 3802680 5 Extended /dev/hda5 127 143 128488+ 82 Linux swap /dev/hda6 144 157 105808+ 83 Linux /dev/hda7 158 171 105808+ 83 Linux /dev/hda8 172 253 619888+ 83 Linux /dev/hda9 254 335 619888+ 83 Linux /dev/hda10 336 417 619888+ 83 Linux /dev/hda11 418 629 1602688+ 83 Linux
A few unused partitions exist. These are for installing a second Linux distribution or as expansion space for growing directory trees.
Mounting the above filesystems properly is accomplished with the following
/etc/fstab
:
# /etc/fstab: static filesystem information. # # filesystem mount point type options dump pass /dev/hda3 / ext2 defaults,errors=remount-ro 0 1 /dev/hda5 none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /floppy auto defaults,user,noauto 0 0 /dev/cdrom /cdrom iso9660 defaults,ro,user,noauto 0 0 # # keep partitions separate /dev/hda7 /home ext2 defaults 0 2 /dev/hda8 /var ext2 defaults 0 2 /dev/hda6 /var/lib/cvs ext2 defaults 0 2 # noatime will speed up file access for read access /dev/hda9 /usr ext2 defaults,noatime 0 2 /dev/hda10 /var/cache/apt/archives ext2 defaults 0 2 # very big partition for proxy cache /dev/hda11 /var/spool/squid ext2 rw 0 2 # backup bootable DOS /dev/hda1 /mnt/dos vfat rw,noauto 0 0 # backup bootable Linux system (not done) /dev/hda2 /mnt/linux ext2 rw,noauto 0 0 # # nfs mounts mickey:/ /mnt/mickey nfs ro,noauto,intr 0 0 goofy:/ /mnt/goofy nfs ro,noauto,intr 0 0 # minnie:/ /mnt/minnie smbfs ro,soft,intr,credentials={filename} 0 2
For NFS, I use noauto,intr combined with the default hard option. This way, it is possible to recover from a hung process due to a dead connection using Ctrl-C.
For a Windows machine connected with Samba (smbfs), rw,auto,soft,intr may be good idea. See Samba configuration, Section 3.5.
For a floppy drive, using noauto,rw,sync,user,exec instead prevents file corruption after accidental disk eject before unmount, but this slows the write process.
Key points to auto mount:
/etc/auto.misc
to
contain -fstype=auto:
# modprobe vfat # prior to the floppy access attempt ... or to automate this setting, # echo "vfat" >> /etc/modules ... and reboot the system.
/etc/auto.misc
as follows:
floppy -fstype=auto,sync,nodev,nosuid,gid=100,umask=000 :/dev/fd0 ... where gid=100 is "users".
cdrom
and floppy
links in
/home/user
, that point to
/var/autofs/misc/cdrom
and /var/autofs/misc/floppy
respectively.
The external Linux NFS server (goofy) resides behind a firewall (gateway). I
have a very relaxed security policy on my LAN since I am the only user. To
enable NFS access, the NFS server side needs to add /etc/exports
as follows:
# /etc/exports: the access control list for filesystems which may be # exported to NFS clients. See exports(5). / (rw,no_root_squash)
This is needed to activate the NFS server in addition to installing and activating the NFS server and client packages.
For simplicity, I usually create a single partition of 2GB for an experimental
or secondary lazy Linux install. I optionally share swap and /tmp
partitions for these installs. A multipartition scheme is too involved for
these usages. If only a simple console system is needed, 500MB may be more
than sufficient.
Following are rough guidelines for DRAM.
4MB: Bare minimum for Linux kernel to function. 16MB: Minimum for reasonable console system. 32MB: Minimum for simple X system. 64MB: Minimum for X system with GNOME/KDE. 128MB: Comfortable for X system with GNOME/KDE. 256MB (or more): Why not if you can afford it? DRAM is cheap.
Using the boot option mem=4m (or lilo append="mem=4m") will show how the system would perform with 4MB of memory installed. A lilo boot parameter is needed for a system containing more than 64MB of memory with an old BIOS.
I use the following guidelines for swap space:
/etc/fstab
. This ensures that
the kernel does a striping RAID of the swap partitions and offers the maximum
swap performance.
Even if you never need it, some swap space (128MB) is desirable so the system will slow down before it crashes hard with a program which leaks memory.
I modify shell startup scripts to my taste across the system:
/etc/bash.bashrc Replace with private one /etc/profile Keep distribution copy ( \w -> \W) /etc/skel/.bashrc Replace with private copy /etc/skel/.profile Replace with private copy /etc/skel/.bash_profile Replace with private copy ~/.bashrc Replace with private copy for all accounts ~/.profile Replace with private copy for all accounts ~/.bash_profile Replace with private copy for all accounts
See details in my example scripts
. I like
a transparent system, so I set umask
to 002 or 022.
PATH
is set by the following configuration files in this order:
/etc/login.defs - before the shell sets PATH /etc/profile (may call /etc/bash.bashrc) ~/.bash_profile (may call ~/.bashrc)
In the case of a PS/2-connector mouse on an ATX motherboard, the signal flow should be:
mouse -> /dev/psaux -> gpm -> /dev/gpmdata = /dev/mouse -> X
Here, a symlink /dev/mouse
is created and is pointing to
/dev/gpmdata
to make some configuration utilities happy and to
make reconfiguration easy. (E.g., if you decide not to use the
gpm
daemon after all, just point the symlink
/dev/mouse
to /dev/psaux
after getting rid of the
gpm
daemon.)
This signal flow allows the keyboard and mouse to be unplugged and
reinitialized by restarting gpm
upon reconnect. X will stay
alive!
The protocol of the signal flow between gpm
output and X input can
be implemented in either of two ways, as "ms3" (use the Microsoft
3-button serial mouse protocol) or "raw" (use the same protocol as
the mouse that is connected), and this choice dictates the choice of protocol
used in X configuration.
I will demonstrate the configuration examples using a Logitech 3-button (traditional Unix-style mouse) PS/2 mouse as an example in the following.
If you are one of the unfortunate whose graphics card is not supported by the new X4 and need to use the old X3 (some ATI 64 bit cards), configure /etc/X11/XF86Config instead of /etc/X11/XF86Config-4 in the following examples while installing X3 packages.
/etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=ms3 | Driver "mouse" type=autops2 | Option "CorePointer" append="" | Option "Device" "/dev/mouse" sample_rate= | Option "Protocol" "IntelliMouse" | EndSection
If this approach is used, the mouse type adjustment is done only by editing
gpm.conf
and X configuration stays constant. See my example scripts
.
/etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=raw | Driver "mouse" type=autops2 | Option "CorePointer" append="" | Option "Device" "/dev/mouse" sample_rate= | Option "Protocol" "MouseManPlusPS/2" | EndSection
If this approach is used, the mouse type adjustment is done by editing
gpm.conf
as well as adjusting X configuration.
The gpm
device type autops2 is supposed to autodetect
most of the PS/2 mice in the market. Unfortunately it doesn't always work and
it isn't available in pre-Woody versions. Try using ps2, or
imps2 in gpm.conf
instead of autops2 for
such cases. To find out the specific types of mouse gpm
knows
about, type: gpm -t help. See gpm(8)
.
If a 2-button PS/2 mouse is used, set the X protocol to enable
Emulate3Buttons. The difference of protocol between the 2-button
mouse and the 3-button mouse is autodetected and auto-adjusted for
gpm
after tapping the middle button once.
For X protocol with The raw protocol approach, Section
3.3.1.2 or without gpm
, use:
gpm
repeater with
"ms3")
See more at Mouse
Support in XFree86
.
A typical Microsoft scroll mouse is reported to work best with:
/etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=raw | Driver "mouse" type=autops2 | Option "CorePointer" append="" | Option "Device" "/dev/mouse" sample_rate= | Option "Protocol" "IMPS/2" | Option "Buttons" "5" | Option "ZAxisMapping" "4 5" | EndSection
For some recent thin Toshiba notebook PCs, activating gpm
before
PCMCIA in the System-V init script may help prevent system lockup. Weird but
true.
Make sure you have all required kernel functions activated through kernel compile time configuration or modules:
input.o
),
mousedev.o
),
usbcore.o
),
usb-uhci.o
|| uhci.o
||
usb-ohci.o
),
hid.o
), and
Here, lower case names are module names.
If you're not using devfs, create a device node /dev/input/mice
with major 13 and minor 63 as follows:
# cd /dev # mkdir input # mknod input/mice c 13 63
For typical scroll USB mice, configuration combinations should be:
/etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/input/mice | Section "InputDevice" responsiveness= | Identifier "Generic Mouse" repeat_type=raw | Driver "mouse" type=autops2 | Option "SendCoreEvents" "true" append="" | Option "Device" "/dev/input/mice" sample_rate= | Option "Protocol" "IMPS/2" | Option "Buttons" "5" | Option "ZAxisMapping" "4 5" | EndSection
See the Linux USB Project
for more information.
Although the touchpad on a laptop computer emulates a 2-button PS/2 mouse as
the default behavior, the tpconfig
package enables full control of
the device. For example, setting OPTIONS="--tapmode=0"
in /etc/default/tpconfig
will disable pesky "click by
tap" behavior. Set /etc/gpm.conf
as follows to use both
touchpad and USB external mouse on the console:
device=/dev/psaux responsiveness= repeat_type=ms3 type=autops2 append="-M -m /dev/input/mice -t autops2" sample_rate=
Set up NFS by setting /etc/exports
.
# apt-get install nfs-kernel-server # echo "/ *.domainname-for-lan-hosts(rw,no_root_squash,nohide)" \ >> /etc/exports
See my example scripts for details
.
References:
http://www.samba.org/
samba-doc
package
Setting up Samba with "share" mode is much easier since this creates WfW-type share drives. But it is preferable to set it up with "user" mode.
Samba can be configured through debconf
or vi
:
# dpkg-reconfigure --priority=low samba # in Woody # vi /etc/samba/smb.conf
See my example scripts for details
.
Adding a new user to the smbpasswd
file can be done via
smbpasswd
:
$ su -c "smbpasswd -a username"
Make sure to use encrypted passwords for optimum compatibility.
Set os level according to the following system equivalences (the larger the number, the higher the priority as server):
0: Samba with a loose attitude (will never become a master browser) 1: WfW 3.1, Win95, Win98, Win/Me? 16: Win NT WS 3.51 17: Win NT WS 4.0 32: Win NT SVR 3.51 33: Win NT SVR 4.0 255: Samba with mighty power
Make sure that users are members of the group owning the directory that gives shared access and that the directory path has its execution bit set to access.
The traditional method is lpr
/lpd
. There is a new
CUPS™ system (Common UNIX Printing System). PDQ is another approach.
See the Linux
Printing HOWTO
for more information.
lpr
/lpd
For the lpr
/lpd
type spoolers (lpr
,
lprng
, and gnulpr
), set up /etc/printcap
as follows if they are connected to a PostScript or text-only printer (the
basics):
lp|alias:\ :sd=/var/spool/lpd/lp:\ :mx#0:\ :sh:\ :lp=/dev/lp0:
Meaning of the above lines:
This is a good configuration if you are connected to a PostScript printer. Also, when printing from a Windows machine through Samba, this is a good configuration for any Windows-supported printer (no bidirectional communication is supported). You have to select the corresponding printer configuration on the Windows machine.
If you do not have a PostScript printer, you need to set up a filtering system
using gs
. There are many autoconfiguration tools provided for
setting up /etc/printcap
. Any of these combinations is an option:
gnulpr
, (lpr-ppd
) and printtool
—I
use this.
lpr
and apsfilter
lpr
and magicfilter
lprng
and lprngtool
lprng
and apsfilter
lprng
and magicfilter
In order to run GUI configuration tools such as printtool
, see Getting root in X, Section 9.4.12 to gain
root privilege. Printer spools created with printtool
use
gs
and act like PostScript printers. So when accessing them, use
PostScript printer drivers. On the Windows side, "Apple LaserWriter"
is the standard one.
The Common UNIX Printing System (or CUPS™) is installed by using
aptitude
and installing all packages under "Tasks" ->
"Servers" -> "Print Server". (Sarge) For the best
result, you should set aptitude
with "F10" ->
"Options" -> "Dependency handling" -> "[X]
Install Recommended packages automatically".
KDE and Gnome Desktop Environments provide easy printer configuration.
Alternatively, you can configure the system using any web browser if
swat
is installed:
$ mybrowser http://localhost:631
For example, to add your printer on some port to the list of accessible printers:
See more information at http://localhost:631/documentation.html
and http://www.cups.org/cups-help.html
.
For a 2.4 kernel, see also Parallel port support, Section 7.2.6.
Once you have made it this far, you have a small but functioning Debian system. It is a good time to install bigger packages.
tasksel
. See Installing tasks, Section 6.2.2.
You may choose these if you need them:
tasksel
as a guide by looking into
their components listed under <Task Info> and installing them selectively
through dselect
.
dselect
.
Here the first thing you may want to do is select your favorite editor and any
programs you need. You can install many Emacs variants at the same time. See
dselect
, Section 6.2.4
and Popular editors, Section 11.1.
Also you may replace some of the default packages with full-featured ones.
I usually edit /etc/inittab
for easy shutdown.
... # What to do when CTRL-ALT-DEL is pressed. ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now ...
Modules for the device drivers are configured during the initial installation.
modconf
provides menu-driven module configuration afterward. This
program is quite useful when some modules were left out during the initial
installation or a new kernel was installed after the initial installation.
All preloading module names need to be listed in /etc/modules
. I
also use lsmod
and depmod
to control them manually.
Also make sure to add a few lines in /etc/modules
to handle IP
masquerading (FTP, etc.) for 2.4 kernels. See The modularized 2.4 kernel, Section
7.2, specifically Network
function, Section 7.2.3.
For IDE connected CD-RW drive with 2.4 kernel, edit the following files:
/etc/lilo.conf (add append="hdc=ide-scsi ignore=hdc", run lilo to activate) /dev/cdrom (symlink # cd /dev; ln -sf scd0 cdrom) /etc/modules (add "ide-scsi" and "sg". If needed "sr" after this.)
See CD writers, Section 9.3 for details.
Edit /etc/lilo.conf
as follows to set boot-prompt parameters for
large memory (for 2.2 kernels) and auto power-off (for APM):
append="mem=128M apm=on apm=power-off noapic"
Run lilo
to install these settings. apm=power-off is
needed for a SMP kernel and noapic is needed to avoid problems for
my buggy SMP hardware. The same can be done directly by entering options at
the boot prompt. See Other boot tricks
with the boot prompt, Section 8.1.5.
If APM is compiled as a module, as in Debian default 2.4 kernels, run
insmod apm power_off=1 after boot or set /etc/modules
by:
# echo "apm power_off=1" >>/etc/modules
Alternatively, compiling ACPI support achieves the same goal with newer kernels and seems to be more SMP-friendly (this requires a newer motherboard). The 2.4 kernel on newer motherboards should detect large memory correctly.
CONFIG_PM=y CONFIG_ACPI=y ... CONFIG_ACPI_BUSMGR=m CONFIG_ACPI_SYS=m
and add the following lines in /etc/modules
in this order:
ospm_busmgr ospm_system
Or recompile the kernel with all of the kernel options above set to "y". In any case, none of the boot-prompt parameters are needed with ACPI.
Recent Linux kernels enable ECN by default, which may cause access problems with some websites on bad routers. To check ECN status:
# cat /proc/sys/net/ipv4/tcp_ecn ... or # sysctl net.ipv4.tcp_ecn
To turn it off, use:
# echo "0" > /proc/sys/net/ipv4/tcp_ecn ... or # sysctl -w net.ipv4.tcp_ecn=0
To disable TCP ECN on every boot, edit /etc/sysctl.conf
and add:
net.ipv4.tcp_ecn = 0
Install the pppconfig
package to set up dialup PPP access.
# apt-get install pppconfig # pppconfig ... follow the directions to configure dialup PPP # adduser user_name dip ... allow user_name to access dialup PPP
Dialup PPP access can be initiated by the user (user_name):
$ pon ISP_name # start PPP access to your ISP ... enjoy the Internet $ poff ISP_name # stop PPP access, ISP_name optional
See Configuring a PPP interface, Section 10.2.4 for more details.
/etc/
You may want to add an /etc/cron.deny
file, missing from the
standard Debian install (you can copy /etc/at.deny
).
Debian Reference
1.08-3, Sun May 1 07:45:18 UTC 2005osamu@debian.org
dsewell@virginia.edu