Installing Debian Linux 8.x (Jessie)
Click here if you want the Debian 2.2 (Potato) Installation Page
Click here if you want the Debian 3.0 (Woody) Installation Page
Click here if you want the Debian 3.1 (Sarge) Installation Page
Click here if you want the Debian 4.0 (Etch) Installation Page
Click here if you want the Debian 5.0 (Lenny) Installation Page
Click here if you want the Debian 6.0 (Squeeze) Installation Page
Click here if you want the Debian 7.0 (Wheezy) Installation Page
The Jessie (8.0/8.5) version of Debian comes on 13 DVDs because it not only includes the operating system but over 43,000 packages containing software for applications, utilities, and OS enhancements. The primary improvements in Jessie include a new 'systemd' init (boot) system as default, as well as updated software (compilers, interpreters, applications, etc.).
Many Linux distros install the "full boat" by default and this isn't necessarily a good thing. If you want to learn Linux, the install routine does too much for you. And it sets up a system that's downright insecure if you want to use it as a server. The procedure below does a very basic OS install. This keeps things simple, results in a more secure configuration, and allows you learn more. Another advantage is that it doesn't clutter up memory with unnecessary processes. One good thing about the Debian installer is that, if you don't want a bare-bones system, it lets you specify exactly what additional functionality to install.
Do NOT plan to use the system you will create using these guide pages as a "production" (real) server. It will NOT be secure!
There are many steps involved in creating a secure Internet or LAN server and it begins with the installation of the OS. A secure server will have its hard-drives divided up into multiple partitions which is not something we do in this procedure. While we do refer to some things you can do to make your system more secure, there are many other measures related to system configurations, accounts, and services that also need to be taken and they also are not covered on these pages.
These guide pages are meant as a learning tool which will allow you to "get your hands dirty" so you can get accustomed to working with Linux. The knowledge gained on these pages will help you make informed decisions when you do want to set up secure production systems.
While it is possible to set up Debian on a second partition of an existing system and set up a dual-boot configuration, I wouldn't recommend it if this is your first time installing Linux. In order to set up a dual-boot you'll need to over-write the MBR (Master Boot Record) of your hard-drive, and if you mess that up you could lose access to your entire system.
Given that Linux has such modest hardware requirements, you should be able to pick up a used Pentium system on places like eBay for less than $30. Cheap insurance and a good investment in your education. If you've only got one system and money is tight, another alternative would be to get another hard-drive and install it in your current system (in addition to your current hard-drive). You just have to make sure you get the same type of drive (IDE or SATA) based on what your current hard-drive is. The key is to only have one hard-drive connected at a time. You'd have to do some cable swapping (the power and IDE ribbon or SATA cable) between hard-drives when you want to switch back and forth between your regular system and Linux. (Note that in the case of IDE drives, both hard-drives would be jumpered as master). But since you'd only need about four gigabytes of hard-drive space for our guide pages, this would be a very low-cost option. Being that it's getting hard to find a new hard-drive for anything less than 80 gigabytes, you should be able to find a used 20 to 40 gigabyte hard-drive for $10 to $20. If you do plan to run the GUI you'll want at least 512 meg or RAM. Crucial.com has good prices on RAM on their system selector tool makes it easy to find out exactly what type of memory you need to order.
The options we select in this procedure are more appropriate for a server system (external Internet server or internal file server).
Many organizations don't allow Internet access for servers for security reasons. Our installation selections assume that, while your system may be on a network, it does not have Internet access.
If you select "Go Back" on most of the screens during the installation you won't go back to the screen you were on. You'll go back to a list of installation steps ('Expert' mode) that you'll have to select one after the other (except for the two lines for Grub and LILO - you'll only want to do the Grub step because you don't want two boot loaders).
You can either continue the installation by selecting each step or you can just reboot and start the installation over again.
One thing you may want to check before you get started is in the BIOS setup of your system. Some systems have a
"PnP OS"option in the BIOS. Make sure this is set to No before you get started.
IDE Cable Select Warning
Dell sets all IDE drive jumpers (hard-drives and DVD-ROM drives) to the "Cable Select" position. Other PC vendors may do the same. If your system has IDE drives (wide ribbon cables connected to them) minimize any potential problems by manually configuring the drive jumpers to Master or Slave positions as is appropriate for each drive. If you only have one drive it should jumpered as Master.
Installing the OS
Unlike previous installation pages where we installed Debian on old hardware using the 'i386' disc set, this time we installed it on a newer i5-based PC using the 'amd64' disc set. However, we continue to use "safe" installation options in case your are installing onto older hardware. Using the following procedure on hardware with different configurations may also result in different prompts or windows appearing. It's important to READ the information presented on the various screens during the installation.
Don't worry about screwing things up. If you do, just hit the reset button on the PC and start over. Even if you don't screw something up, you can just boot off the #1 DVD to redo the install just to get more practice at it. I've gone through this install routine at least 30 times trying different options and, because you accept the default selections most of the time, you can literally whip through it in about 20 minutes once you're familier with it.
- Insert DVD #1 into the DVD-ROM drive and boot the system off of it. The Debian splash screen appears with the installer boot menu and the Install selection highlighted. Press the Tab key to bring up the command line for this menu selection at the bottom of the screen and look for the following:
Use your left arrow and backspace keys to replace the 788 with normal and hit the 'End' key to go back to the end of the command line.
If you don't do this you may end up with a bunch of small green characters across the top of your monitor saying something about "video undefined" along with some garbage.
At the end of the install command line (after the word "quiet") type in:
and hit Enter. Disabling DHCP allows us to assign a fixed "static" IP address because we don't want the IP address of our server changing. The "framebuffer" switch in the above command runs the installer in text mode which prevents any possible issues with arcane video cards.
- Select your desired language, country, and keymap. Once this is done hardware will be detected and installer componenets will be loaded.
- Because we disabled DHCP at the initial prompt you will now be prompted for your network settings such as the IP address, netmask, gateway address, DNS server addresses, hostname, and domain name. Lets cover these settings in more detail.
- Enter an IP address for your system. If you're installing this machine on an existing network, MAKE SURE IT'S AN AVAILABLE IP ADDRESS!. If you choose an IP address that's used by another system you'll cause all kinds of problems. (You can use a different system on the network to try and ping the address you plan to use to make sure there are no replies to it.) If you don't know what IP address to use don't accept the default since it's commonly assigned in home-network cable/DSL routers.
Note: If you're installing this machine on an existing network, even a home network, try this:
- Go to a Windows machine that's also on the network
- Open a DOS window (aka "command prompt")
- At the DOS prompt type in ipconfig and see what the IP address of the machine is
- Think of an address for your Linux system where the first three "octets" are the same. For example, if the Windows machine has an address of 172.28.1.101, the address for you Linux machine should be 172.28.1.xxx (you make up a number for "xxx" from 1 to 254)
- Try to ping the number you come up with. For example, if the number you come up with for xxx is 183, at the DOS prompt type in
ping 172.28.1.183and make sure there are no responses to the ping. This means the address isn't being used by another system so you can use it for your Linux system.
- Enter a subnet mask that's appropriate for the class of the IP address you entered and it should be OK as long as you're not on a subnetted LAN. If you're using a 192.168.x.x private address you'll probably want a 255.255.255.0 subnet mask. If you're using a 172.x.x.x private address you'll probably want a 255.255.0.0 subnet mask. (Private addresses and how to determine an appropriate subnet mask are covered on the Networking page.) Note that if you ran the ipconfig command on a Windows system as instructed above you will see the subnet mask that you need to use.
- Enter a gateway address if you know what it is (the default route off your network). If it's a home network you probably not have a gateway (unless you have a cable/DSL router). Don't just accept the default entry as a system that's not a gateway may already have this address. Note that if you ran the ipconfig command on a Windows system as instructed above you will see the default gateway that you need to use. If you're not sure which address to use just back-space out the default value and press Enter leaving the field blank. Your system will still work on a local network. it just won't be able to communicate with any other networks. How the default gateway value is used is explained on the Networking page.
- At the prompt for a DNS server address (Debian refers to DNS servers as "name servers") you have three options. One, at your workplace you'd typically enter the address of one of your internal DNS servers. If you have a Windows Active Directory domain at the office, the domain controllers are typically also DNS servers. Two, if you don't have any internal DNS servers (such as at home), you can use the IP address of one of your ISP's DNS servers. Your third option is to leave it blank which is what you want to do if the system will not have access to internal or ISP DNS servers. Here again you don't want to just accept the default address given on the installation screen because that address may be used by another machine on your network which isn't a DNS server.
Some Windows versions support the nslookup command which you can enter at a DOS prompt. The "Default server" name and address of the DNS server the Windows system is using will be listed and you can use that address. You could also try:
This expanded version of the DOS command we used earlier will show you the IP addresses of the DNS servers the Windows system is using. If you're not sure of your ISP's DNS server addresses, just backspace out the existing address and leave it blank for now.
Note: If you enter your ISP's DNS server addresses but you didn't enter a default gateway address earlier, your system won't be able to get to the DNS servers (because they're on a different network).
- Enter a "hostname" for your system. (A hostname is just the name you give your system.) If this is going to be set up as an Internet server, use a name that describes its function (ex: "www" or "mail"). If it's going to be used in an internal domain inside your company, use a name that uniquely identifies it.
- You will then be prompted for a domain name. Enter your domain name if you already have one. If you're just playing around, use your last name (for example smith.net). You'll see why on the
Internet Serverspage. If you accepted the default "debian" hostname earlier, your system will then be referred to as "debian.smith.net". Don't worry about conflicting with a real domain that may have that name since this machine won't have a DNS record created on any ISP's DNS server.
Note: There are up to three types of "domains" to consider when you are asked for a domain name in Linux. If this will be a system in your Internet domain space, naturally you would use that domain name. Companies can also set up an internal domain space which has the same type of naming hierarchy as the Internet domain naming system. This type of domain name can be anything you want because it is not visible to the outside world nor do you have to "register" the name with any domain naming authority. In other words, a company can have a public (Internet) domain name like widgets.com (registered through someone like Network Solutions) and a private (internal) domain name like widgets.corp. They can be the same or they can be different.
The third type of domain are familier to those who work with Windows networks. These domains only have a single-word domain, not the dotted hierarchy found on the Internet and in internal Linux/UNIX networks. Linux does not support these type of domains. However, starting with Windows 2000, Windows servers also started using the dotted hierarchy domain naming convention. If you have any such Windows servers on your network, your Linux system can be put into this domain space (i.e. be given the same dotted domain name as your Windows servers).
- The next series of dialogs will be password and account related.
- You'll be prompted to enter, and re-enter, a password for the root (super-user) account. REMEMBER IT.
- You'll be be asked to to create a non-root user account entering the full name, username, and password. Create one for yourself using your first name for the username. It may help to use the same password that you used for the root account.
- On the next menu select the time zone that your server is located in.
- Next is hard-drive partitioning. (If you're setting up a dual-boot system now is the time to go the Dual-boot page.) Since we're here to learn we'll manually create partitions we need, a small swap partition and one large root partition.
- If you're reading this step you obviously didn't go to the Dual-boot page so we're going to assume you want to use the entire hard-drive for Debain. Highlight the Manual selection and press Enter to bring up the partition list screen.
- You'll see your hard-drive listed (something like "IDE1 master" or "SCSI1"). If there are any partitions on the drive you'll see them listed under the drive indicated by a > character. Arrow down to highlight the drive (not a partition) and press Enter. You will be prompted for confirmation that you want to create an empty partition table (i.e. delete all the existing paratitions) for the drive. Tab to Yes and press Enter. You'll again see your hard-drive listed with the unpartitioned space under it identified by the pri/log "FREE SPACE" line.
- Now that we have a clean slate will create the two partitions we need. Highlight the pri/log "FREE SPACE" line and press Enter.
- We'll start out by creating the swap partition. This is usd by Linux as virtual memory and all Linux systems require a swap partition. (Windows uses a swap file rather than a separate partition.) Select Create a new partition and press Enter.
- When prompted for a size enter
512 MBand press Enter. This value really depends on the amount of RAM in your system. The value should be 1.5 to 2 times the amount of RAM you have.
- For a partition type select Primary and press Enter.
- For a partition location select Beginning and press Enter.
- Note on the partition settings screen that appears that by default the partition has been set up as the root partition using an Ext4 filesystem. That's not what we want. With the
Use as:line highlighted press Enter.
- Arrow down to
swap areaand press Enter.
- On the next screen arrow down to Done setting up the partition and press Enter and you'll return to the partition list screen with the swap partition listed.
- Again highlight the pri/log "FREE SPACE" line and press Enter.
- Select Create a new partition and press Enter.
- The indicated size is the remainder of the free space on the hard-drive which is what we want so just press Enter.
- For a partition type select primary and press Enter.
- Again the partition defaults to the root partition using an Ext4 filesystem which is exactly what we want this time. Press the down arrow key until Done setting up the partition is highlighted and press Enter and you'll return to the partition list screen with both the swap and root partitions listed.
- Arrow down to Finish partitioning and write changes to disk and press Enter.
- At the confirmation screen press the Tab key to highlight Yes and press Enter and the partitions will be formatted.
- When the root and swap partitions are formatted the "base system" installation will begin. Note that your system may appear to hang at different points during the install but it hasn't. Just be patient.
- During the base system install you may see a message about the disc being scanned. The disc is being scanned to inventory the software "packages" on it. It will then ask you if you want to scan another disc. Insert the next DVD in your set and close the drive drawer and give it a few seconds for the disc to get mounted. Then press the Tab key to highlight Yes and press Enter and the disc will be read. You'll be prompted to insert the next disc to be scanned. Repeat this for all the discs in your set. This will ensure that the system "knows" about all the software packages that are available to you. When you have scanned all the discs be sure to put
Disc No. 1back in and press the Tab key to highlight No and press Enter.
- If you didn't scan a set of DVDs you'll be asked if you want to use a network mirror. Accept the default No response. We'll set this up differently on the Packages page.
- Accept the default No answer when asked if you want to participate in the package usage survey.
- Next the "Software Selection" windows appears with several pre-defined software collections listed. DE-select (by hightlighting and pressing the space bar) everything that may be selected except the "Standard system utilities" collection. Press the Tab key to highlight Continue and press Enter.
The installation will continue by installing all of the software packages that were included in the "Standard system" collection.
- Near the end of the installation the Grub boot loader will be installed. If you are setting this system up to dual-boot with a Windows system you'll want to answer No to installing Grub in the MBR and see the Dual-boot page. Otherwise highlight Yes and press Enter.
Now you need to select the device you want to install the boot loader on. Given that you likely only have one hard-drive in your system /dev/sda there should only be one device listed. Highlight that device and press Enter.
- At this point the DVD drive will open. Be sure to remove the DVD to force it to boot off hard-drive and press Enter with Continue highlighted and the system will reboot.
THAT'S IT! The installation is complete.
- Start out by logging in as the 'root' superuser (i.e. enter root at the login: prompt and then whatever you entered above for a root password. This will place you at a shell prompt.
- If you've installed previous versions of Debian the first thing you notice is the extremely small console font size. If you prefer the traditional text-based 80x25 console screen (80 columns, or characters, across the screen by 25 horizontal lines of text) do the following:
- Type in the command
dpkg-reconfigure console-setupand press Enter.
- Accept the default (UTF-8 for English) encoding by pressing Enter.
- Accept the default (Latin 1 for English) character set by pressing Enter.
- At the 'console font' screen arrow down to VGA and press Enter.
- At the 'font size' screen arrow down to 16x32 and press Enter.
Your standard 80x25 shell prompt should now appear in the lower-left corner of the screen. You can enter the clear command and press Enter to clear the remnants of the dpkg screen.
- The other thing you may have noticed is different from previous versions of Debian is that there are no screen messages during the boot process. Given that it's good to know whats going on with your system we're going to restore those boot-up messages by editing the Grub configuration (text) file using the nano text editor. Type in the command:
and hit Enter and look for the line
- Arrow down and backspace out the word quiet leaving the two quotation marks. Press Ctrl-X and then press y followed by the Enter key to save the file. Now use the file to update the Grub configuation by entering the command (be sure to include the dash):
- Lets have a look at our boot-up messages by rebooting the system with the command:
shutdown -r now
Hopefully you'll see a lot of OKs along the left side of the screen as the system boots back up. (This is where you'll really see the benefit of using older, slower hardware. You may actually be able to read the messages as they scroll by.) Log back in as root when the login prompt reappears.
If see meesages popping up about "optical mouse" and "USB disconnect" I suspect it's because you have a mouse plugged in but no mouse driver gets loaded unless you run a GUI. Just disconnect the mouse. You don't use it when entering commands at the console anyway.
Our Debian system is up and running and it took less than
900 megof disk space. You can see this for yourself by typing in the following command and hitting Enter:
More important than the amount of hard-drive space used is the identifier for your root partition. You'll want to remember this in case you ever have hard-drive problems (which we cover near the end of this page). If you set up your partitions using the procedure above with a SATA or SCSI drive your root partition will be the /dev/sda2 listed on the top line. This means it's the 2nd partition (swap was first) on the 1st (sda) hard-drive.
Trying It Out
Once you log in the shell prompt root@debian:~# (or something similar) is displayed. The # indicates you're logged in as root. (Non-root users get a $ prompt.) The debian is the hostname you gave to the system during the install. The ~ indicates that you have been placed in root's home directory. Whenever you first log in you will see this prompt because every user defaults to their home directory at login. (User home directories are created automatically when the user accounts are created on the system.)
All non-root users have a sub-directory under the /home directory. The names of these home sub-directories for non-root users match the user names (ex: /home/fred). The root user is a little different. root's home directory is off the root of the file system. Instead of /home/root it's at /root. It's important to understand that /root is the root user's home directory. Don't confuse it with the "root" of the file system, which is denoted by a single slash (/).
Since you're in the root user's home directory, see what files are there by typing in ls and pressing Enter and you'll see that there's nothing. Kind of. There are also some hidden system files there. Try typing in ls -laF and pressing Enter. You'll see files that start with a period including the .bashrc and .profile files. They're both kind of the same thing, configuration files for your shell sessions.
The .bashrc file sets certain environment defaults when you use the bash shell. You can look at the contents of the .bashrc file by typing in:
('cat' is the equivalent of the DOS TYPE command which just "types out" the contents of a text file on the screen.) As you can see, you can cat out a hidden system file the same as any other file.
In most UNIX/Linux configuration files any line that begins with a pound character (#) are comments (or are commands that have been commented out as in the case of all of the commands in the .bashrc file).
Note: There is one case where a line starting with a pound character (#) is not a comment. The very first line is shell scripts will look something like this:
This is known as the "bang" or "shebang" line. It specifies the path to the shell that the script should be run in. (You can run a shell script under a different shell than the one you're currently using.)
alias commands let you substitute one command for another, or "create" your own command. Note the line in the .bashrc file:
# alias rm='rm -i'
This just substitutes the standard rm command with itself but using the -i command-line switch. The -i command-line switch is interactive mode, which means it will prompt you for a confirmation whenever you use the rm command to delete a file (a safety measure).
You can also "create" your own commands by aliasing existing commands with a different name. For example, you could enter the following line in the .bashrc file:
alias zapfilz='rm -i'
to "create" a zapfilz command.
Linux defaults it's "virtual terminal" sessions (what you use when you are working at a shell prompt) to a "tty" (teletype) specification. However, some text editors don't get along with the tty terminal type very well. They work better with a "VT100" type of terminal. (The term "terminal" refers to the old "green screen" keyboard/screen devices that were commonly used with mainframes.) Since you tend to work with text files and text editors quite a bit in Linux, it would be beneficial to set our virtual terminal sessions to use the VT100 terminal type.
Lets use the infamous vi text editor to edit the .bashrc file to change our default terminal type to VT100. We'll do this using an export statement.
Note that what we just did changes a startup file. It won't have any effect until the next time you log in. However, just enter that same export command at the shell prompt and it will take effect immediately. Once your enter it at the shell prompt, you can make sure it took effect by entering this command at the shell prompt:
- At the shell prompt type in
vi .bashrcto open the file in the editor and the contents will be displayed.
Note that all of the lines start with a pound sign commenting them out as we mentioned earlier.
- Press the down arrow key until you get to a blank line in the file (the position of the command in the file isn't important).
- Press the 'a' key (for append).
Note: If you screw things up and you want to quit without saving, just press the following keys in the given order:
Esc : q ! Enter
- Type in the following line (don't start the line with a pound sign):
- Now press the following keys in the given order to save the changes and exit vi:
Esc : w q Enter
You can also try entering this command the next time you log in to make sure that the statement you entered into the .bashrc file is correct. $TERM is the environment variable which stores the current terminal value. All environment variables are upper-case. You use the $ character in front of them to indicate you want to echo the contents of the variable. If you didn't use the $ in the above command the word TERM would simply be echoed to the screen.
The vi editor is legendary in it's difficulty to master. For one thing, it's a line editor, not a full-screen editor. For another, it has an "edit" mode and a "command" mode. (We went into edit mode when we pressed the 'a' key above, and went back to command mode when we hit the Esc key.) There are entire books written on vi. It's only fair to mention though, that vi's keystroke combinations were devised in such a manner that once you get really good with vi, you'll rarely have to take your fingers off the "home" positions on the keyboard. The reason you want to at least become familier with vi is because every Linux and UNIX system will have it, no matter how old or eccentric a distro it is. That can't be said about any other editor.
As mentioned, the .bashrc file sets up the user environment when they use the bash shell, which is the default shell for Linux. However, you can specify a different shell in the .profile file in the home directory.
Remember the TERM environment variable above. There's also a SHELL environment variable. If you type in:
you'll see that you are using the Linux-default bash shell.
Where to learn more - The best of our bookshelves:
Debian GNU/Linux Bible is your typical Bible-series book. It's nothing you'd want to sit down and read cover to cover but it's a good reference to have as a starting point when you want to play around with something new. It covers a very wide range of subjects without a lot of depth but throws in a lot of command and code examples. It gets into backups, scripting, multimedia, GUIs and GUI apps, adding peripherals, all the various types of servers you can set up (including NIS), and monitoring tools. While written for Sarge, most of the info is still current.
What's next? If your system is connected to a network you should try seeing if you can ping another workstation on your network. You can use the procedure in Step 3 of the installation above (using winipcfg or ipconfig) to find the IP address of any Windows system on your network. For example, if the address of another system on your network is 192.168.10.12 you'd type in
and see if you get "64 bytes from" the address. Left on its own, Linux ping will just keep pinging so press Ctrl-C to end it.
If you don't get any ping responses or get errors indicating that the "Network is unreachable" you can enter the ifconfig (not ipconfig as with Windows) and check the settings for your eth0 interface (this is the NIC). The lo interface is the local loopback which is only used for testing.
If no eth0 interface is listed, you want to check to see if the kernel driver module got loaded at boot up. Enter the lsmod command. You should see the driver module for your NIC. Typical driver module names are 3c59x, tulip and, for Intel-based NICs; e1000, and e1000e (gigabit). More information on checking the status of network cards and drivers are given on the Networking page.
NOTE: The listed of loaded modules will scroll off the screen. You can use the Shift-PgUp and Shift-PgDn key combos to scroll through this previously-displayed text.
If the module IS loaded (but eth0 doesn't show up in the ifconfig list) it means that the kernel "sees" the NIC. It's just not being brought up automatically at bootup. Check to see if it's set to be brought up automatically by typing out the contents of the interface configuration file with the command:
and look for the line:
iface eth0 inet static
If there is no line like this, or if it has a pound character (#) at the beginning of the line (commented out) that's the problem. You can edit it using the vi editor, or you can take the easy way out and use the nano editor with the the command:
When you're done press Ctrl-X to exit the editor and save the file.
If the module ISN'T loaded try loading it with the command:
Substitute the "e1000e" for the name of the module for the NIC in your system. After doing this you may also need to bring the interface up manually. Use the ifconfig command to see if eth0 is now listed. If not, bring it up with the command:
ifconfig eth0 up 192.168.10.50 netmask 255.255.255.0
substituting an address and subnet mask appropriate for your network. If you couldn't load the module you may have specified the wrong driver module above or your NIC may be bad or, if this is a used non-PCI NIC, may have had the default IRQ, etc. settings changed at some point.
Once everything is working, back up your server using our backup page. This will give you a default point to go back to if you royaly mess something up playing around (which is not a bad thing).
Solving Hard-Drive Problems
The one downside of using an older system to set up a Linux server is that the most likely devices to fail are the power supply and hard-drive. When a hard-drive starts to go bad on a Linux system you'll usually find out about it when you boot the system.
You'll need to know how Linux labeled the hard-drive partitions if you're going to try and fix disk problems. Enter the command:
That's a lower-case L for List. With older Linux kernels partitions on IDE hard-drives will be listed with hdax designations and partitions and SCSI or SATA drives will be listed with sdax designations. However, with newer Linux kernels, including the kernel used in Jessie, even IDE partitions will be listed with an sdax designation.
The messages displayed when disk errors are encountered duing boot-up are pretty ominous, and a little confusing. You're told to run fsck 'manually' but not really told how. The command to mount a file system as Read/Write is also given and that's NOT what you want to do. You're given the choice of pressing Control-D for "normal startup" (which is actually just a reboot which won't help the problem at all) or entering the root password for system maintenance. When presented with these errors and this choice, do the following:
- Enter the root password.
- Run the command fsck -fp /dev/sda2 (or whatever your root partition is).
- Repeat the above command until no errors are displayed.
- Reboot the system using the init 6 command.
- Run the command badblocks -sv /dev/sda2 (or whatever your root partition is). It will take awhile.
One way to tell if your hard-drive is starting to fail is to turn the system off for about 30 minutes after you encounter problems. If you don't have problems for the first hour or so, but then problems start popping up, the hard-drive is failing. That's because failing hard-drives are more sensitive to heat and the hotter the drive gets the more likely it is to have problems. Replace these heat-sensitive drives ASAP.
While the above installation procedure got you an operational system, it's pretty much bare-bones at this point. Next we'll install some optional packages on the Packages page to put some meat on the bones.
Did you find this page helpful ?
If so, please help keep this site operating
by using our DVD or book pages.
Site, content, documents, original images Copyright © 2003-2016 Keith Parkansky All rights reserved
Duplication of any portion of this site or the material contained herein without
the express written consent of Keith Parkansky, USA is strictly prohibited.
This site is in no way affiliated with the Debian Project, the debian.org Web site, or
Software In The Public Interest, Inc. No endorsement of this site by the Debian Project
or Software In the Public Interest is expressed or implied. Debian and the Debian logo
are registered trademarks of Software In The Public Interest, Inc. Linux is a registered
trademark of Linus Torvalds. The Tux penguin graphic is the creation of Larry Ewing.
IN NO EVENT WILL KEITH PARKANSKY OR BLUEHOST INCORPORATED OR ANY OF ITS' SUBSIDIARIES BE LIABLE TO ANY PARTY (i) FOR ANY DIRECT, INDIRECT, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF PROGRAMS OR INFORMATION, AND THE LIKE), OR ANY OTHER DAMAGES ARISING IN ANY WAY OUT OF THE AVAILABILITY, USE, RELIANCE ON, OR INABILITY TO USE THE INFORMATION, METHODS, HTML OR COMPUTER CODE, OR "KNOWLEDGE" PROVIDED ON OR THROUGH THIS WEBSITE, COMMONLY REFERRED TO AS THE "ABOUT DEBIAN" WEBSITE, OR ANY OF ITS' ASSOCIATED DOCUMENTS, DIAGRAMS, IMAGES, REPRODUCTIONS, COMPUTER EXECUTED CODE, OR ELECTRONICALLY STORED OR TRANSMITTED FILES OR GENERATED COMMUNICATIONS OR DATA EVEN IF KEITH PARKANSKY OR BLUEHOST INCORPORATED OR ANY OF ITS' SUBSIDIARIES SHALL HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, AND REGARDLESS OF THE FORM OF ACTION, WHETHER IN CONTRACT, TORT, OR OTHERWISE; OR (ii) FOR ANY CLAIM ATTRIBUTABLE TO ERRORS, OMISSIONS, OR OTHER INACCURACIES IN, OR DESTRUCTIVE PROPERTIES OF ANY INFORMATION, METHODS, HTML OR COMPUTER CODE, OR "KNOWLEDGE" PROVIDED ON OR THROUGH THIS WEBSITE, COMMONLY REFERRED TO AS THE "ABOUT DEBIAN" WEBSITE, OR ANY OF ITS' ASSOCIATED DOCUMENTS, DIAGRAMS, IMAGES, REPRODUCTIONS, COMPUTER EXECUTED CODE, OR ELECTRONICALLY STORED, TRANSMITTED, OR GENERATED FILES, COMMUNICATIONS, OR DATA. ALL INFORMATION, METHODS, HTML OR COMPUTER CODE IS PROVIDED STRICTLY "AS IS" WITH NO GUARANTY OF ACCURACY AND/OR COMPLETENESS. USE OF THIS SITE CONSTITUTES ACCEPTANCE OF ALL STATED TERMS AND CONDITIONS.