A Tour of UNIX AfNOG 2007 April 23, 2007 Abuja, Nigeria Hervey Allen Thanks to Brian Candler & Phil Regnauld.

Slides:



Advertisements
Similar presentations
Linux Booting Procedure
Advertisements

Linux can be generally divided into four major components: 1. KERNEL – OS, ultimate boss The kernel is the core program that runs programs and manages.
FreeBSD startup and repair AfNOG 2007 Abuja, Nigeria Hervey Allen Materials from Brian Candler.
5 Basic utilities When a user logs in to the Linux operating system the directory that they will start in is their home directory. Most users will have.
Introduction to Unix (CA263) File System
Exploring the UNIX File System and File Security
GNU/Linux Filesystem 1 st AUT GNU/Linux Festival Computer Engineering & IT Department Bahador Bakhshi.
Linux Linux File System.
Guide To UNIX Using Linux Third Edition
File System and Directory Structure in Linux. What is File System In a computer, a file system is the way in which files are named and where they are.
Uniquely FreeBSD ccTLD Amman November 26, 2007 Amman, Jordan Hervey Allen.
UNIX ™ /Linux Overview Unix/IP Preparation Course June 9, 2013 Lusaka, Zambia.
UNIX ™ /Linux Overview Unix/IP Preparation Course May 6, 2012 Serrekunda, The Gambia.
Linux+ Guide to Linux Certification, Third Edition
CompTIA Linux+ Certification
Guide To UNIX Using Linux Fourth Edition
Introduction to Linux Installing Linux User accounts and management Linux’s file system.
Manage Directories and Files in Linux
workshop eugene, oregon UNIX ™ /Linux Overview Unix/IP Preparation Course July 19, 2009 Eugene, Oregon, USA
UNIX Concepts AfNOG 2009 May 11, 2009 Cairo, Egypt Hervey Allen presenting a presentation morphed from... Me, Brian Candler, Dorcas Muthoni & Phil Regnauld.
Introduction to UNIX AfNOG X May 2009 Cairo, Egypt.
Unix Basics Chapter 4.
AfNOG 2006 Track E0: Unix System Administration. Welcome! Who are we? Timetable and administrivia Objectives for the week  Learn your way around Unix/FreeBSD.
PacNOG 6: Nadi, Fiji UNIX ™ /Linux Overview Hervey Allen Network Startup Resource Center.
UNIX ™ /Linux Overview Unix/IP Preparation Course May 23, 2010 Kigali, Rwanda.
Installation Overview Lab#2 1Hanin Abdulrahman. Installing Ubuntu Linux is the process of copying operating system files from a CD, DVD, or USB flash.
UNIX ™ /Linux Overview Unix/IP Preparation Course May 25, 2014 Djibouti.
Chapter Two Exploring the UNIX File System and File Security.
UNIX ™ /Linux Overview Unix/Linux Preparation Course June 27, 2010 Pago Pago, American Samoa.
UNIX BootCamp AfNOG IX May 2008 Rabat, Morocco. BootCamp Summary Time Table.
Linux Administration. Pre-Install Different distributions –Redhat, Caldera, mandrake, SuSE, FreeBSD Redhat Server Install –Check HCL –Significant issues.
A Tour of UNIX SANOG 9 January 14, 2007 Colombo, Sri Lanka Hervey Allen Thanks to Brian Candler & Phil Regnauld.
Hands On UNIX II Dorcas Muthoni. Processes A running instance of a program is called a "process" Identified by a numeric process id (pid)‏  unique while.
Manage Directories and Files in Linux. 2 Objectives Understand the Filesystem Hierarchy Standard (FHS) Identify File Types in the Linux System Change.
Chapter Two Exploring the UNIX File System and File Security.
ITR3 lecture 6: intoduction to UNIX Thomas Krichel
CHAPTER 2. Overview 1. Pre-Installation Tasks 2. Installing and Configuring Linux 3. X Server 4. Post Installation Configuration and Tasks.
UNIX ™ /Linux Overview Unix/IP Preparation Course May 29, 2011 Dar es Salaam, Tanzania.
UNIX™/Linux Overview Unix/LINUX Intro Instructors: Reasons:
PTA Linux Series Copyright Professional Training Academy, CSIS, University of Limerick, 2006 © Workshop V Files and the File System Part B – File System.
The Unix File system (UFS) Presented by: Gurpreet Singh Assistant Professor Department of School of Computing and Engineering Galgotias University.
CS 245 – Part 1 Using Operating Systems and Networks for Programmers Jiang Guo Dept. of Computer Science California State University Los Angeles.
UNIX Concepts AfNOG 2008 May 26, 2008 Rabat, Morocco Dorcas Muthoni Kenya Thanks to Hervey Allen, Brian Candler & Phil Regnauld.
Lecture 02 File and File system. Topics Describe the layout of a Linux file system Display and set paths Describe the most important files, including.
LINUX Zhengli Zhu, School of Life Sciences. Outline 1. ABC of Linux 2. Basic orers of Linux 3. Bash Programming.
UNIX Filesystem and Hierarchy AfNOG 2008 Workshop May Rabat, Morocco.
Introduction to Linux PacNOG5 June 2009 Papeete, French Polynesia.
Linux Administration – Finding You Way on the Command Line The Linux File Directory or Tree.
Introduction to Unix AfNOG 2007 Workshop April 22, Abuja, Nigeria Hervey Allen Phil Regnauld.
BILKENT UNIVERSITY DEPARTMENT OF COMPUTER TECHNOLOGY AND INFORMATION SYSTEMS CTIS156 INFORMATION TECHNOLOGIES II FILES AND FILE SYSTEM STRUCTURE.
Getting Started with Linux
...looking a bit closer under the hood
UNIX Concepts AfNOG 2010 May 24, 2010 Kigali, Rwanda
Introduction to UNIX AfNOG X May 2009 Cairo, Egypt Instructors:
...looking a bit closer under the hood
Unix/IP Preparation Course
Welcome to Linux Chap#1 Hanin Abdulrahman.
Chapter 6 File Systems CSNB113 SYSTEM ADMINISTRATION
Hands On UNIX AfNOG 2010 Kigali, Rwanda
A Tour of UNIX SANOG 9 January 14, 2007 Colombo, Sri Lanka
UNIX Filesystem and Hierarchy
FreeBSD startup and repair
ccTLD Amman November 26, 2007 Amman, Jordan Hervey Allen
Hands On UNIX AfNOG X Cairo, Egypt
Exploring the UNIX File System and File Security
...looking a bit closer under the hood
Operating Systems Lecture 4.
Welcome to Linux Chap#1 Hanin Abdulrahman.
Welcome to Linux Chap#1.
January 26th, 2004 Class Meeting 2
Presentation transcript:

A Tour of UNIX AfNOG 2007 April 23, 2007 Abuja, Nigeria Hervey Allen Thanks to Brian Candler & Phil Regnauld

AfNOG 2007 Abuja Why use UNIX? Quick Reminder ● 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 – Windows has a long and sad security history – Unix and its applications are not blameless though

AfNOG 2007 Abuja Simplified Unix family tree (Look at the wall... :-))

AfNOG 2007 Abuja Is free software really any good?! ● The people who write it also use it ● Source code is visible to all – The quality of their work reflects on the author personally – Others can spot errors and make improvements ● What about support? – documentation can be good, or not so good – mailing lists; search the archives first – if you show you've invested time in trying to solve a problem, others will likely help you –

AfNOG 2007 Abuja Is free software really any good? ● Core Internet services run on free software – BIND Domain Name Server – Apache web server (secure SSL as well) – Sendmail, Postfix, Exim for SMTP/POP/IMAP – MySQL and PostgreSQL databases – PHP, PERL, C languages ● Several very high profile end-user projects – Firefox, original Netscape browser – OpenOffice – Thunderbird

AfNOG 2007 Abuja First topics: ● Unix birds-eye overview ● Partitioning ● FreeBSD installation

AfNOG 2007 Abuja

AfNOG 2007 Abuja 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

AfNOG 2007 Abuja Shell ● 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. But distributed under GPL (more restrictive than BSD licence)

AfNOG 2007 Abuja 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 the base system – editors, compilers, system admin tools ● Lots more stuff available to install too – packages / ports

AfNOG 2007 Abuja 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

AfNOG 2007 Abuja 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/pwd.db (fast indexed database) ● Suitable security rules enforced – e.g. you cannot kill a process running as a different user, unless you are "root"

AfNOG 2007 Abuja Filesystem security ● Each file and directory has three sets of permissions – For the file's uid (user) – For the file's gid (group) – For everyone else (other) ● Each set of permissions has three bits: rwx – File: r=read, w=write, x=execute – Directory: r=list directory contents, w=create/delete files within this directory, x=enter directory ● Example: brian wheel rwxr-x---

AfNOG 2007 Abuja Key differences to Windows ● Unix commands and filenames are CASE-SENSITIVE ● Path separator: / for Unix, \ for Windows ● Windows exposes a separate filesystem tree for each device – A:\foo.txt, C:\bar.txt, E:\baz.txt – device letters may change, and limited to 26 ● Unix has a single 'virtual filesystem' tree – /bar.txt, /mnt/floppy/foo.txt, /cdrom/baz.txt – administrator choses where each FS is attached

AfNOG 2007 Abuja Standard filesystem layout /bin essential binaries /boot kernel and modules /dev device access nodes /etc configuration data /etc/defaults configuration defaults /etc/rc.d startup scripts /home/username user's data storage /lib essential libraries /sbin essential sysadmin tools /stand recovery tools /tmp temporary files /usr progs/applications /var data files (logs, messages, status files)

AfNOG 2007 Abuja Standard filesystem layout (cont) /usr /usr/bin binaries /usr/lib libraries /usr/libexec daemons /usr/sbin sysadmin binaries /usr/share documents /usr/src source code /usr/local/... 3rd party applications /usr/X11R6/... graphical applications /var /var/log log files /var/mail mailboxes /var/run process status /var/spool queue data files /var/tmp temporary files

AfNOG 2007 Abuja Why like this? ● It's good practice to keep /usr and /var in separate filesystems in separate partitions – So if /var fills up, the rest of the system is unaffected – So if /usr or /var is corrupted, you can still boot up the system and repair it ● That's why we have a small number of essential tools in /bin, /sbin; the rest go in /usr/bin and /usr/sbin ● Third-party packages are separate again – /usr/local/bin, /usr/local/sbin, /usr/local/etc...

AfNOG 2007 Abuja A note about devices ● e.g. /dev/ad0 = the first ad (ATAPI/IDE disk) ● In FreeBSD, entries for each device under /dev are created dynamically – e.g. when you plug in a new USB device ● Some "devices" don't correspond to any hardware (pseudo-devices) – e.g. /dev/null is the "bit bucket"; send your data here for it to be thrown away

AfNOG 2007 Abuja Any questions? ?

AfNOG 2007 Abuja Some reminders about PC architecture ● When your computer turns on, it starts a bootup sequence in the BIOS ● The BIOS locates a suitable boot source (e.g. floppy, harddrive, CD-ROM, network) ● Disks are devided into 512-byte blocks ● The very first block is the MBR (Master Boot Record) ● The BIOS loads and runs the code in the MBR, which continues the bootup sequence

AfNOG 2007 Abuja Partitioning ● The MBR contains a table allowing the disk to be divided into (up to) four partitions ● Beyond that, you can nominate one partition as an "extended partition" and then further subdivide it into "logical partitions" ● FreeBSD has its own partitioning system, because Unix predates the PC ● FreeBSD recognises MBR partitions, but calls them "slices" to avoid ambiguity

AfNOG 2007 Abuja FreeBSD partitions ● Partitions (usually) sit within a slice ● Partitions called a,b,c,d,e,f,g,h ● CANNOT use 'c' – for historical reasons, partition 'c' refers to the entire slice ● By convention, 'a' is root partition and 'b' is swap partition ● 'swap' is optional, but used to extend capacity of your system RAM

AfNOG 2007 Abuja Simple partitioning: /dev/ad0 MBR Single slice /dev/ad0s1 ad0s1aad0s1bad0s1d ad0s1e ad0s1f / swap /var/tmp/usr / (root partition) ad0s1a 256MB swap partition ad0s1b ~ 2 x RAM /var ad0s1d 256MB (+) /tmp ad0s1e 256MB /usr ad0s1f rest of disk

AfNOG 2007 Abuja 'Auto' partition does this: ● Small root partition – this will contain everything not in another partition – /boot for kernel, /bin, /sbin etc. ● A swap partition for virtual memory ● Small /tmp partition – so users creating temporary files can't fill up your root partition ● Small /var partition ● Rest of disk is /usr – Home directories are /usr/home/

AfNOG 2007 Abuja Issues ● /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 ● So you might want to split into /usr and /u – Suggest 4-6GB for /usr, remainder for /u ● Some people prefer a ramdisk for /tmp # /etc/fstab: 64MB ramdisk md /tmp mfs -s131072,rw,nosuid,nodev,noatime 0 0 Or, see /etc/rc.conf later today. We can't do this due to limted RAM.

AfNOG 2007 Abuja Core directory refresher ● / (/boot, /bin, /sbin, /etc, maybe /tmp) ● /var (Log files, spool, maybe user mail) ● /usr (Installed software and home dirs) ● Swap (Virtual memory) ● /tmp (May reside under “/”) Don't confuse the the “root account” (/root) with the “root” partition. d

AfNOG 2007 Abuja Note... ● Slicing/partition 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.

AfNOG 2007 Abuja Summary: block devices ● IDE (ATAPI) disk drives – /dev/ad0 – /dev/ad1...etc ● SCSI or SCSI-like disks (e.g. USB flash, SATA) – /dev/da0 – /dev/da1...etc ● IDE (ATAPI) CD-ROM – /dev/acd0...etc ● Traditional floppy drive – /dev/fd0 ● etc.

AfNOG 2007 Abuja Summary ● Slices – /dev/ad0s1 – /dev/ad0s2 – /dev/ad0s3 – /dev/ad0s4 ● Defined in MBR ● What PC heads call "partitions" ● BSD Partitions – /dev/ad0s1a – /dev/ad0s1b – /dev/ad0s1d...etc – /dev/ad0s2a – /dev/ad0s2b – /dev/ad0s2d...etc ● Conventions: – 'a' is / – 'b' is swap – 'c' cannot be used

AfNOG 2007 Abuja Any questions? ?

AfNOG 2007 Abuja Installing FreeBSD ● Surprisingly straightforward ● Boot from CD or floppies, runs "sysinstall" ● Slice your disk – Can delete existing slice(s) – Create a FreeBSD slice ● Partition ● Choose which parts of FreeBSD distribution you want, or "all" ● Install from choice of media – CD-ROM, FTP, even a huge pile of floppies!

AfNOG 2007 Abuja Installing Software in FreeBSD ● Several different methods – ports – packages – source – binary ● Meta installation wrapper we recommend is portupgrade ● We will go in to detail on these methods later in the workshop.

AfNOG 2007 Abuja How Does FreeBSD Start? ● The BIOS loads and runs the MBR – The MBR is not part of FreeBSD ● A series of "bootstrap" programs are loaded – see “man boot” – /boot.config parameters for the boot blocks (optional) – /boot/boot1 first stage bootstrap file – /boot/boot2 second stage bootstrap file – /boot/loader third stage bootstrap ● Kernel is loaded, and perhaps some modules – controlled by /boot/loader.conf

AfNOG 2007 Abuja How Does FreeBSD Start? ● The root filesystem is mounted – “root” = “/” or something like “ad0s1a” ● /sbin/init is run and executes the main startup script /etc/rc ● This in turn runs other scripts /etc/rc.d/* – /etc/rc.conf is used to decide whether a service is started or not and to specify options.

AfNOG 2007 Abuja Finding more information ● Our reference handout – a roadmap! ● man pages – esp. when you know the name of the command ● – handbook, searchable website / mail archives ● "The Complete FreeBSD" (O'Reilly) ● comp.unix.shell FAQ – by-newsgroup/comp/comp.unix.shell.html ● STFW (Search The Friendly Web)