New User's Guide to Linux
by Brian Thurston
comments@linux-canada.com
As a Linux 'new user', I can empathize with anybody wishing to experiment with Linux before dedicating any resources. If you wish to try Linux without spending a dime, this is the document for you.
I recommend starting with a basic Slackware 3.4 installation which is freely available on the Internet. You will require ~35 megabytes of space on your DOS hard drive to download the required files for a basic installation.
Also required is an additional ~100 megabytes of non-DOS space to install the Linux operating system and a collection of helpful applications and utilities.
The required hardware for a basic installation of Linux:
Optional additions:
Large IDE Hard Drive Note:
Many older 386/486 motherboards are unable to correctly install +512 megabyte hard drives without a tiny driver hidden in the master boot record (MBR). These drivers are not truly compatible with Linux.
Late model 486 motherboards and newer have a BIOS option called LBA which enables +512 megabyte hard drives to be recognized and used by standard 16-bit BIOS calls.
A desperation solution is to take the BIOS defaults and lose some capacity. Were you to have a 540 megabyte Western Digital IDE hard drive (many of these were produced, and they are a quality, long-lived product) and you want to install it on your older 386DX 33Mhz motherboard without the benefit of the LBA BIOS option, you will lose ~8 megabytes of storage but Linux will install without difficulty (other problems notwithstanding).
Please note that this is 'a way', not 'the only way' to install a basic Linux system.
What you should know and record before you start:
Write this information down and keep it handy.
Think up a simple name for your computer; this is your 'HOSTNAME'.
Examples:
bob
chaos
mobius
3-12 characters preferable
First character must be a letter
Think up a simple name for your 'domain'. This will be the name of your home network, even if your network is only one computer. Do not use your ISP's domain name; make up one of your own.
Examples:
home.com
radical.net
super.org
If you selected 'chaos' as your HOSTNAME and 'radical.net' as your domain, your computer's FQDN (Fully Qualified Domain Name) would be 'chaos.radical.net'. If your login name is 'charlie', then you would be 'charlie@chaos.radical.net' when logged in to your computer.
Write your choices down and keep them handy.
Let us begin by downloading some basic Linux files.
(Slackware 3.4 - Kernel 2.0.30)
Create a DOS directory on your computer and call it '\Linux\'.
Create 3 subdirectories called '\Install\', '\Docs\' and '\Slakware\'.
The '\Slakware\' directory will have a number of subdirectories but they
will be created during the FTP download. (Note the spelling of the directory 'Slakware')
Late at night, connect to 'ftp.cdrom.com' on the Internet. (Slackware's home site)
When connected to 'ftp.cdrom.com', move to the '/pub/linux/slackware-3.4/' directory.
If 'ftp.cdrom.com' is too slow, try 'sunsite.unc.edu'.
This is the home of many Linux distributions.
If connected to 'sunsite.unc.edu', move to the '/pub/Linux/distributions/slackware/' directory.
You will be presented with a number of subdirectories such as 'Bootdsks.144', 'Rootdsks', 'Docs' and 'Slakware'. These are the important directories for our purposes. Notice how they all feature the DOS 8.3 file name convention.
Start by downloading some helpful documents. You will find a file called 'INSTALL.TXT' in the main 'Slackware' directory. Download it to your DOS '\Docs\' directory. This is an installation HowTO text file.
Go to the '/docs/install-guide/' directory and download 'install-guide- 2.2.2.txt' to your DOS '\Docs\' directory. Rename it 'guide.txt' for the purpose of telling the two files apart. This is a beginner's manual on Linux, including installation.
I recommend the 'txt' version over the other formats because they are virtually unreadable in the DOS world and may only be useable on an installed 'Unix-like' system. The fact that it is a document telling you how to install and run Linux and is only readable in Linux never fails to amuse me. It is a great book so format it and print it out. You will read it cover to cover many times when you have it in your hands.
You now have 'guide.txt' and 'install.txt' on your hard drive. Both documents are written by Matt Welsh and while there is some overlap, they are an excellent source of information for the new user. 'guide.txt' is a great starter book on Linux while 'install.txt' is about installation and basic configuration.
Next download the disc images; they are called 'Bare.i' from '/Bootdsks.144/' and 'Color.gz' from the '/Rootdsks/' directory. Put 'Bare.i' and 'Color.gz' into your DOS '\Install\' directory. If you have a non-standard IDE or an SCSI controller, download the help document 'readme.txt' from '/Bootdsks.144/' and read it during the download of the disk-sets.
Download the DOS utilities required for creating the image discs in DOS and adjusting your partitions, if required. You will need 'Rawrite.exe' from the '/Install/' directory and 'Fips.exe' and 'Fips.doc' from the '/Install/Fips/' directory. Download them all into your DOS '\Install\' directory.
'Fips.exe' will help you to non-destructively change the size of your DOS partition to make room for Linux - Read 'Fips.doc' - all of it including the warning before using Fips. I have not heard of any problems but I am new to Linux myself.
Download the system disc-sets for Linux. Change to your DOS directory called '\Slakware\' and the FTP site directory called '/Slakware/' (note the spelling). See the different directories named with letters + numbers. The letters represent the disk series whereas the numbers represent the disk number within the series. Each directory contains all the files that will fit onto one floppy disk. If you want to download the 'A' series (absolute minimum operable Slackware Linux system) onto floppy discs, you would need 9 x 1.44 megabyte floppy discs.
Download the entire 'A' series of disc-sets to your DOS '\Slakware\' directory so each disk-set gets its own subdirectory. Just highlight the whole 'A1' through 'A9' series of directories and instruct your FTP program to download them all, directory structure included.
You also require the 'Ap1' through 'Ap6' series - they contain basic Linux applications. Get them - same deal as the 'A' series, download them, directories and all.
Next the 'F1' through 'F3' series. These are FAQ's, HowTO's and other documents - required.
Download the 'Y1' through 'Y2' series. They are an assortment of games you can play on your Linux machine - required for mental health.
If you want to tool around on the Internet with Linux in text mode, download the 'N1' through 'N6' series - recommended.
Here is a list of everything you want:
I don't recommend downloading any of the 'X' discs until you acquire a taste for what Linux is about; primarily a powerful, robust, text-based, 32-bit, preemptive multitasking, multi-user, network aware, computer operating system.
When you have finished downloading (FTPing) all required disk sets, log off the Internet and jump into DOS mode - No Windows Please.
You have almost consumed 30 megabytes of hard drive space and haven't installed so much as a script file as yet.
Have 3 fresh (no bad sectors) DOS-formatted 1.44 megabyte floppies on hand.
Mark one 'Boot Image', one 'Root Image' and one 'Slackware Boot Disc'.
Change to your DOS directory '\Linux\Install\' on your hard drive.
Please Note: Everything within double "quotes" is your input or selection. Do not type the quotes.
Anything to be entered at an obvious prompt (such as ':' or '#' or a DOS 'C:\>') will not be contained within quotes. "^C" means <ctrl> and C are to be pressed simultaneously. Everything within < keystroke> is a keystroke or an action initiated by a keystroke. e.g. At the bottom of a screen may appear an < OK>. To continue will require the <OK> to be highlighted and then activated by hitting the <enter> key.
Put the freshly-formatted floppy disk called 'Boot Image' into the A: drive.
Run 'rawrite.exe' as follows:
C:\> rawrite bare.i a <enter>
Number of sectors per track for this disk is 18
Writing image to drive A:. Press ^C to abort.
Track: 32 Head: 1 Sector: 4
Done.
Remove your new 'Boot Image' disk and place the 'Root Image' disk in its place. Same deal, type as follows:
C:\> rawrite color.gz a <enter>
Number of sectors per track for this disk is 18
Writing image to drive A:. Press ^C to abort.
Track: 33 Head: 0 Sector: 1
Done.
You now have a way to boot an elemental Linux 2.0.30 operating system.
Decision time: How are you going to make room for Linux? You can use 'Fips.exe' to shrink your present hard drive partition to make room for Linux or you can move everything off an existing partition and delete it making room for Linux.
Let us take a hypothetical situation; You have a 200-meg hard drive to play with and you want to install a Linux system along with a working DOS partition.
Make the primary DOS partition 100 megs (for DOS 6.x, Win3.11, games and all the Linux files you downloaded). That will leave you with ~100 megabytes of empty space. Just leave it empty, don't create another partition with the DOS version of fdisk.
Make certain you have all the files you downloaded handy either on the DOS partition or on floppies. (A 'floppy disc' only installation is not recommended)
Place your 'Boot Image' floppy disk into drive A: and reboot!
When the computer restarts, you will be presented with a text notice. It will
then stop and wait for you to enter any special instructions (there are none), just
hit
LILO
(Read the on screen notice.)
boot: <enter>
Loading ramdisk........
VFS: Insert root floppy to be loaded into ramdisk and press ENTER
(VFS = virtual file system)
Remove the 'Boot Image' floppy disk from the A: drive and replace it with the 'Root Image' floppy disk and hit< enter>.
RAMDISK: Compressed image found at block 0
More text and then,
Welcome to the Slackware installation disk! (version 3.2.0)
At the 'Slackware login:' prompt, login as "root".
Slackware login: root <enter>
and finally,
Linux 2.0.30 (Posix)
To start the main installation, type 'setup'.
THIS IS THE MESSAGE ON THE SCREEN. DO NOT TYPE "setup" YET!
At the Linux '#' prompt, start 'fdisk'.
# fdisk <enter>
Using /dev/hda as default device!
If you have two hard drives, the first drive is called '/dev/hda' and the second drive is called '/dev/hdb' and so on - the first drive is selected by default so if you want to install onto the second drive, you must start 'fdisk' like this:
# fdisk /dev/hdb <enter>
'fdisk' presents as follows:
Command (m for help) :
(actually 'm for help' is really 'm for menu')
Here is a synopsis of the commands you require.
d displays your current partition table (print to screen) n creates a new partition l lists partition table types (for your reference) d deletes a partition q quit without saving changes (for the faint of heart) w writes the changes you have made and exits t changes the partition type
You can hit "l" (that's an 'el' not an 'eye') to see all partitions types but all you will require are the three designations listed below:
DOS 16 -bit >= 32M id 6 Linux native id 83 Linux swap id 84
You do not require the other commands but you can see them by hitting "m" anytime for a complete listing. Play at your peril.
Now let's take a look at your partition table.
Command (m for help): p <enter>
You will be presented with a table summarized like:
Disk /dev/hda: 20 heads, 20 sectors, 400 cylinders
Units = cylinders of 400 * 512 bytes
Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 200 100000 6 DOS 16-bit ...
'/dev/hda1' refers to the existing DOS partition on the first hard drive, '/dev/hda' means first hard drive and '1' means the first partition on the first hard drive. Simple, right?
Now you must make a 'Linux native' partition and a 'Linux swap' partition. We have ~100 megabytes available to play with so lets start with an ~84 megabyte 'Linux native' partition and a ~16 megabyte 'Linux swap' partition.
Each block equals 1024 bytes therefore 100000 blocks equals ~100 megabytes. We want 84,000 blocks for ~84 megabytes for the native partition and 16,000 blocks for ~16 megabytes for the swap partition.
The numbers under 'Begin Start End' refer to cylinders and for the purpose of brevity, we will state that in this purely imaginary setup (your mileage will vary), each cylinder = 512 kilobytes of space, ergo 400 cylinders = ~200 megabytes. You will have to do the math for your own hard drive.
You are going to create two new partitions, called '/dev/hda2' and '/dev/hda3'.
'/dev/hda2' is going to be your 'Linux native' partition and it will have cylinders 201 to 369 which equal 84000 blocks of 1024 bytes each or ~84 megabytes. Warning - your math will be different. Be prepared with paper, a pen and a calculator.
'/dev/hda3' is going to be your 'Linux swap' partition and it will have cylinders 370 to 400 which equal 15000 blocks of 1024 bytes each or ~16 megabytes.
Here is how we do it. Proceed as follows:
Command (m for help) : n <enter> Command action e extended p primary (1-4) p <enter>
Partition number (1-4) : 2 <enter> First cylinder (201 - 400) : 201 <enter> Last cylinder or +size or +sizeM or +sizeK (201 - 400) : 369 <enter>
As you can see, we have many options in the way we make the final entry. We can either just enter "369" which means our last cylinder for this partition will be '369'. If we entered '+88080384' that would have meant the same thing only expressed as cylinder '201' plus '88080384' bytes which would have equaled cylinder '369' as well. The other designations are for Megabytes and Kilobytes respectively.
Now let's designate the number 2 partition a 'Linux native' partition:
Command (m for help) : t <enter> Partition number (1-4) : 2 <enter> Hex code (L to list) : 82 <enter>
Now for the 'Linux swap' partition:
Command (m for help) : n <enter> Command action e extended p primary (1-4) p <enter>
Partition number (1-4) : 3 <enter> First cylinder (370 - 400) : 370 <enter> Last cylinder or +size or +sizeM or +sizeK (370 - 400) : 400 <enter>
We now designate the number 3 partition a 'Linux swap' partition:
Command (m for help) : t <enter>
Partition number (1-4) : 3 <enter>
Hex code (L to list) : 83 <enter>
We will now have a look at the results so far:
Command (m for help) : p <enter>
Disk /dev/hda: 20 heads, 20 sectors, 400 cylinders
Units = cylinders of 400 * 512 bytes
Device Boot Begin Start End Blocks Id Start /dev/hda1 * 1 1 200 100000 6 DOS 16-bit ... /dev/hda2 201 201 369 84000 82 Linux native /dev/hda3 370 370 400 15000 83 Linux swap
Check over your figures and make sure everything is correct. You can still go back and change things. Nothing has been written to the hard drive at this point.
If you'd like to bail out and think about it:
Command (m for help) : q <enter>
The 'q' command quits without writing your changes to the partition table of your hard drive.
If you are satisfied with your figures, proceed:
Command (m for help) : w <enter>
The partition table has been altered!
Calling ioctl() to re-read partition table
(reboot to ensure the partition table has been updated)
hda: hda1 hda2 hda3
Syncing disks.
We should be back at the '#' prompt now.
Remove the 'Root Image' floppy from the A: drive and replace it with the 'Boot Image' floppy.
Reboot as follows:
# reboot <enter>
What follows is a standard Linux shutdown. It may pause for a moment, so be patient.
When your computer reboots, it will go through the same procedure as your first boot so just follow the same procedures as before.
Slackware login: root <enter>
Now it is time to run 'setup'!
If at any time you wish to stop the installation or bail out of 'setup', hit C to bring you back to the Linux prompt '#'. Most procedures in 'setup' can be started again by simply selecting the appropriate menu item in the 'setup' opening screen.
Proceed as follows:
# setup <enter>
Select "ADDSWAP" <enter>
SWAP SPACE DETECTED <Yes>
MKSWAP WARNING <OK>
USE MKSWAP <Yes>
ACTIVATE SWAP SPACE <Yes>
This can take over two minutes, so be patient.
SWAP SPACE CONFIGURED <OK>
CONTINUE WITH INSTALLATION <Yes>
Select Linux Installation partition "/dev/hda2"< OK>
FORMAT PARTITION /dev/hda2 "Format" <OK>
or
FORMAT PARTITION /dev/hda2 "Check" <OK>
Choose the "Check" option if the hard drive has errors.
SELECT INODE DENSITY FOR /dev/hda2 "4096 ..."< OK>
Select other Linux partitions for /etc/fstab "add none" <OK>
DOS AND OS/2 PARTITION SETUP <Yes>
CHOOSE PARTITION "/dev/hda1" <OK>
SELECT MOUNT POINT "/dos" <OK>
CURRENT DOS/HPFS PARTITION STATUS
/dev/hda1 /dos msdos ... <OK>
CHOOSE PARTITION "q" <OK>
CONTINUE <Yes>
SOURCE MEDIA SELECTION "1 Install from a hard drive partition" <OK>
INSTALLING FROM HARD DISK "/dev/hda1" <OK>
SELECT SOURCE DIRECTORY "/linux/slakware/"< OK>
(Note the spelling and forward slash after 'slakware'.)
CONTINUE <Yes>
Scroll up and down using the arrows keys.
Select with <spacebar> as follows:
[X] A
[X] Ap
[X] F
[X] N
[X] Y
<OK>
CONTINUE <Yes>
SELECT PROMPTING MODE "MENU" <OK>
SELECTING PACKAGES FROM SERIES A
Select as follows;
[X] ide [X] bsdlpr [X] loadlin [X] pnp [X] getty [X] aoutlibs [X] minicom [X] cpio [X] kbd [X] gpm [X] zoneinfo
<OK>
(installation anomaly)
Package Name: ==>bsdlpr<== Priority: [unknown]
Yes Install package bsdlpr
<OK>
SELECTING PACKAGES FROM SERIES Ap [X] ispell [X] jove [X] manpgs [X] diff [X] sudo [X] ghostscr [X] jed [X] joe [X] jpeg [X] bc [X] workbone [X] mc [X] groff [X] sc [X] texinfo
<OK>
SELECTING PACKAGES FROM SERIES F
[X] manfaqs [X] mini [X] howto
<OK>
SELECTING PACKAGES FROM SERIES N
[X] ppp [X] mailx [X] tcpip [X] bind [X] lynx [X] elm [X] pine [X] sendmail [X] metamail [X] smallcfg [X] cnews [X] inn [X] tin [X] trn-nntp [X] nn-nntp
<OK>
SELECTING PACKAGES FROM SERIES Y
[X] bsdgames [X] sastroid [X] koules [X] tetris [X] lizards
<OK>
INSTALL LINUX KERNEL "Skip" <Yes>
CONFIGURE YOUR SYSTEM <Yes>
Put your floppy disk marked 'Slackware Boot Disk' into drive A:
MAKE BOOTDISK "Format floppy disk in /dev/fd0"< OK>
SPECIFY FLOPPY SIZE "1.44 megabytes" <OK>
Formatting /dev/fd0u1440
MAKE BOOTDISK "make simple vmlinuz > /dev/fd0 bootdisk" <OK>
BOOT DISK CREATION <Yes>
CREATING DISK
MAKE BOOTDISK "continue" <OK>
MODEM CONFIGURATION <Yes>
SELECT CALLOUT DEVICE "cua1 com2: under DOS"< OK>
(Select your modem com port.)
MOUSE CONFIGURATION <Yes>
SELECT MOUSE TYPE "1 Microsoft compatible serial mouse" <OK>
(Select your mouse type.)
SELECT SERIAL PORT "ttyS0 com1: under DOS"< Yes>
(select your mouse com port.)
CONFIGURE CD-ROM (assuming you have one)<Yes>
Configuring CD-ROM link (/dev/cdrom)
"1 Works with most ATAPI/IDE CD drives" <OK>
(Select your CD-ROM type.)
SELECT IDE DEVICE "/dev/hdb Primary IDE slave"< OK>
(This is only applicable to ATAPI/IDE devices.)
SCREEN FONT CONFIGURATION <No>
LILO INSTALLATION "Skip" <OK>
CONFIGURE NETWORK <Yes>
NETWORK CONFIGURATION <OK>
(Read the notice.)
ENTER HOSTNAME "chaos" <OK>
(Enter your own personal choice in place of "chaos".)
ENTER DOMAINNAME "radical.net" <OK>
(Enter your own personal choice in place of "radical.net".)
LOOPBACK ONLY <Yes>
NETWORK SETUP COMPLETE <Yes>
(Read the notice.)
GPM CONFIGURATION <Yes>
(Read the notice.)
SENDMAIL CONFIGURATION "SMTP" <OK>
TIMEZONE CONFIGURATION "Canada/Pacific" <OK>
(Enter your own timezone here.)
SETUP COMPLETE <OK>
Slackware Linux Setup (version 3.4.0) "EXIT"< OK>
Leave your new 'Linux Boot Disc' floppy in drive A:
# reboot <enter>
Your computer now reboots...
Welcome to Linux 2.0.30.
chaos login: root <enter>
Linux 2.0.30
You Have Mail.
(message of the day - occasionally humorous)
chaos:~#_
CONGRADULATIONS - You are running Linux
Space used ~58 megabytes
Space left ~26 megabytes
To Exit Linux - very important
remove 'Linux Boot Disk' from drive A: and,
chaos:~# shutdown -h now <enter>
(also 'reboot <enter>' or '<ctrl><alt><del>' )
This will gracefully shutdown linux and reboot your computer. Turning off your computer without using 'reboot' or 'shutdown -h now' or the 'three finger salute' will damage your file system. This is a bad thing.
Now your first order of business will be to connect to the Internet.
chaos:~# cd /etc <enter>
chaos:/etc# vi hosts.allow <enter>
'vi' is the name of one of the many editors used in Linux. It has a somewhat unusual editing command system so bear with me. We want to enter two little lines of text to the file 'hosts.allow'.
i <enter>
ALL: LOCAL <enter>
< esc>
:qw <enter>
chaos:/etc# vi hosts.deny <enter>
i <enter>
ALL: ALL <enter>
< esc>
:qw <enter>
In the next editing session, substitute your ISP's nameserver or DNS number for '204.113.121.2'. If more than one number, make another line and add a second entry like 'nameserver 204.113.121.3'. If you have three numbers, make three entries. Three entries is the limit at this time.
chaos:/etc# vi resolv.conf <enter>
i <enter>
search . <enter>
nameserver 204.113.121.2 <enter>
< esc>
:qw <enter>
chaos:/etc# cd <enter>
To start an Internet session:
chaos:~# pppd /dev/modem 57600 lock crtscts -d defaultroute \< enter>
> connect 'chat "" atdt555-1234 ogin: MyName word: MyPassWord' <enter>
'555-1234' put your ISP's telephone number here.
'MyName' put your login name here.
'MyPassWord' put your login password here.
To see a running list of system messages:
chaos:~# tail -f /var/log/messages <enter>
To stop the message listing or many other running programs:
<ctrl>c
You can leave the message listing running for the moment.
!REALLY NEAT LINUX THING COMING UP!
Let's use some of that 'multi-user' stuff Linux/Unix people are always so fond of talking about. While the messages are displayed in this 'virtual console' (Linux user-speak for text window), login to another virtual console.
<ctrl><F2>
chaos login: root <enter>
Linux 2.0.30
You Have Mail.
(message of the day)
chaos:~#_
This is an entirely separate session from your first 'login'.
To return to the first console,
<ctrl><F1>
There is your list of messages, just as you left them. You have the ability to startup and login to six separate sessions F1 through F6. (more if required)
Another great Linux utility is called 'mc' - sort of like 'Norton Commander'.
To test your new Internet connection, try some of the following,
chaos:~# lynx
www.cdrom.com<
enter>
(the home of Slackware)
'lynx' is a non-graphical web browser - it is fast compared to GUI browsers.
Basic commands at the bottom of screen.
and/or
chaos:~#ftp sunsite.unc.edu <enter>
(the home of SunSITE)
login: anonymous <enter>
password:
me@isp.com< enter>
(enter your e-mail address as a password)
'ftp' is the unix non-graphical File Transfer Protocol application that allows you to login to remote computers and transfer files back and forth.
To see a list of commands, type '? <enter>'.
To end an 'ftp' session, type 'close <enter>'.
To quit the 'ftp' program, type 'quit <enter>'.
and/or
chaos:~# ping 204.74.120.13 <enter>
(the address of download.com)
'ping' will produce pages of 'Internet radar bounces' off responding hosts around the net. Solid fun for minutes at a time. To terminate 'ping', type '<ctrl>c'.
and/or
chaos:~# telnet vpl.vancouver.bc.ca <enter>
(Vancouver Public Library - my home town)
login: netpac <enter>
password: netpac1 <enter>
Select VT100 Emulation and you are in business.
'telnet' is a non-graphical communication program that allows you to login to remote computers and run programs, just like being on another console.
To terminate the ISP Internet connection:
chaos:~# ppp-off <enter>
Some other tools for network and ppp connections are 'netstat' and 'pppstats'. Check out their man pages for more details.
chaos:~# man netstat <enter>
chaos:~# man pppstats <enter>
This document is a work in progress - please forward any recommendations you may have that will make it simpler or clearer.
I hope this helps all the new users out there who are looking for a taste of contemporary Linux.
You are now on your own. Good luck and have fun.
Recommended books:
Copyright 1998 Brian Thurston
E-mail: comments@linux-canada.com
Source: http://linux-canada.com/newuser.html