Professional Documents
Culture Documents
Linux Intro For Starters
Linux Intro For Starters
PacNOG5
June 2009
Papeete, French Polynesia
Why use Linux?
Scalability and reliability
has been around for many years
works well under heavy load
Flexibility
emphasises small, interchangeable components
Manageability
remote logins rather than GUI
scripting
Security
Due to modular design has a reasonable security model
Linux and its applications are not blameless though
Initial topics:
Linux birds-eye overview
Partitioning
Ubuntu'isms
Kernel
The "core" of the operating system
Device drivers
communicate with your hardware
block devices, character devices, network devices, pseudo
devices
Filesystems
organise block devices into files and directories
Memory management
Timeslicing (multiprocessing)
Networking stacks - esp. TCP/IP
Enforces security model
Shells
Command line interface for executing
programs
DOS/Windows equivalent: command.com or command.exe
Choice of similar but slightly different shells
sh: the "Bourne Shell". Standardised in POSIX
csh: the "C Shell". Not standard, but includes command
history
bash: the "Bourne-Again Shell". Combines POSIX
standard with command history.
User processes
The programs that you choose to run
Frequently-used programs tend to have short
cryptic names
"ls" = list files
"cp" = copy file
"rm" = remove (delete) file
Lots of stuff included in most base systems
editors, compilers, system admin tools
Lots more stuff available to install too
Using the Debian/Ubuntu repositories
System processes
Programs that run in the background; also
known as "daemons" ==>
Examples:
cron: executes programs at certain times of day
syslogd: takes log messages and writes them to files
inetd: accepts incoming TCP/IP connections and starts
programs for each one
sshd: accepts incoming logins
sendmail (other MTA daemon like Exim): accepts
incoming mail
Security model
Numeric IDs
user id (uid 0 = "root", the superuser)
group id
supplementary groups
Mapped to names
/etc/passwd, /etc/group (plain text files)
/etc/shadow
Suitable security rules enforced
e.g. you cannot kill a process running as a different user,
unless you are "root"
Any questions?
?
Standard PC boot sequence
The MBR contains a table allowing the disk
to be divided into partitions (4 max.).
Beyond that, you can nominate one partition
as an "extended partition" and then further
subdivide it into "logical partitions".
Windows wants to be in the first partition
(start of the disk). Linux can boot from most
any partition or drive (with modern BIOSes).
Linux partitions
Partitions referred to by device type, device,
partition number - or:
SATA disk 1 is /dev/sda
Partition 1 on SATA disk 1 is /dev/sda1
Partition 3 on SATA disk 2 is...?
/dev/sdb3
Partition 1 on IDE disk 2 is...?
/dev/hdb1
Simple partitioning: /dev/sda (20GB)
MBR Entire drive for SATA disk 1
/var may not be big enough
/usr contains the OS, 3rd party software, and
your own important data
If you reinstall from scratch and erase /usr, you will lose
your own data
Everything in “/” is now more common due to
RAID. Why? Valid?
What about /home?
/tmp?
Others?
Note...
Partitioning is just a logical division
If your hard drive dies, most likely everything
will be lost.
If you want data security, then you need to
set up mirroring with a separate drive.
Another reason to keep your data on a separate partition,
e.g. /u
Remember, “rm -rf” on a mirror works very well.
Or, as always “Data Security” <==> Backup
Any questions?
?
Ubuntu'isms
What's Different
• Software management
• dpkg
• apt (this is what we'll use)
• apt-cache
• aptitude
• synaptic
• meta-packages
• repositories
What's Different cont.
• Startup scripts
• In /etc/init.d/ (System V)
• Upon install services run!
• Controlling services
• update-rc.d
• sysvconfig
• rcconf
• rc-config
What's Different cont.
What's Different cont.
•Make and GCC
•Not installed by default. Why?
•32,000+ packages
•To get “apt-get install build-essential”
What's Different cont.
What's Different cont.
• The use of root is discouraged by default and
sudo is used instead.
• You can do apt-get dist-upgrade to move
between major and minor releases.
• Sources in /etc/apt/sources.list (how you
install from cd/dvd).
Important Reads
Critical Reads
man apt-get
man sources.list
Examples include:
• build-essential (libc, g++, gcc, make)
• ubuntu-desktop (xorg, gnome)
• xserver-xorg-video-intel
There's More
There's more...
But, hopefully enough to get us started...
Some Resources
•www.ubuntu.com
•ubuntuforums.org
•www.debian.org
•ubuntuguide.org
•http://en.wikipedia.org/wiki/Debian
•http://en.wikipedia.org/wiki/Ubuntu_(Linux_distribution)