EVALUTION COPY. Unauthorized reproduction or distribution is prohibited. GL120 LINUX FUNDAMENTALS RHEL6 SLES11 U12.04

Size: px
Start display at page:

Download "EVALUTION COPY. Unauthorized reproduction or distribution is prohibited. GL120 LINUX FUNDAMENTALS RHEL6 SLES11 U12.04"

Transcription

1 GL120 LINUX FUNDAMENTALS RHEL6 SLES11 U12.04 The contents of this course and all its modules and related materials, including handouts to audience members, are copyright 2013 Guru Labs L.C. No part of this publication may be stored in a retrieval system, transmitted or reproduced in any way, including, but not limited to, photocopy, photograph, magnetic, electronic or other record, without the prior written permission of Guru Labs. This curriculum contains proprietary information which is for the exclusive use of customers of Guru Labs L.C., and is not to be shared with personnel other than those in attendance at this course. This instructional program, including all material provided herein, is supplied without any guarantees from Guru Labs L.C. Guru Labs L.C. assumes no liability for damages or legal action arising from the use or misuse of contents or details contained herein. Photocopying any part of this manual without prior written consent of Guru Labs L.C. is a violation of federal law. This manual should not appear to be a photocopy. If you believe that Guru Labs training materials are being photocopied without permission, please Alert@gurulabs.com or call Guru Labs L.C. accepts no liability for any claims, demands, losses, damages, costs or expenses suffered or incurred howsoever arising from or in connection with the use of this courseware. All trademarks are the property of their respective owners. Version: GL120S-R6S11U1204-I00

2 Table of Contents Chapter 1 WHAT IS LINUX? 1 Unix and its Design Principles 2 FSF and GNU 4 GPL General Public License 5 The Linux Kernel 6 Linux Kernel and Versioning 7 Components of a Distribution 9 Slackware 10 SUSE Linux Products 11 Debian 12 Ubuntu 13 Red Hat Linux Products 14 Oracle Linux 16 Mandriva 17 Chapter 2 LOGIN AND EXPLORATION 1 Logging In 2 Running Programs 3 Interacting with Command Line 4 The X Window System 6 Starting X 7 Gathering Login Session Info 9 Gathering System Info 10 got root? 11 Switching User Contexts 12 sudo 13 Help from Commands and Documentation 15 Getting Help with man & info 16 Lab Tasks Login and Discovery Help with Commands Switching Users With su 29 Chapter 3 THE LINUX FILESYSTEM 1 Filesystem Support 2 Unix/Linux Filesystem Features 3 Filesystem Hierarchy Standard 4 Navigating the Filesystem 6 ii Displaying Directory Contents 7 Filesystem Structures 8 Determining Disk Usage With df and du 9 Determining Disk Usage With baobab 10 Disk Usage with Quotas 12 File Ownership 13 Default Group Ownership 14 File and Directory Permissions 15 File Creation Permissions with umask 17 Changing File Permissions 19 SUID and SGID on files 21 SGID and Sticky Bit on Directories 22 User Private Group Scheme 23 Lab Tasks Navigating Directories and Listing Files Disk and Filesystem Usage File and Directory Ownership and Permissions 30 Chapter 4 MANIPULATING FILES 1 Directory Manipulation 2 File Manipulation 3 Deleting and Creating Files 4 Physical Unix File Structure 5 Filesystem Links 6 File Extensions and Content 7 Displaying Files 8 Previewing Files 9 Displaying Binary Files 10 Searching the Filesystem 11 Alternate Search Method 12 Producing File Statistics 13 Lab Tasks Manipulating Files and Directories File Examination & Search Commands 20 Chapter 5 SHELL BASICS 1 Role of Command Shell 2 Communication Channels 3 File Redirection 4

3 Piping Commands Together 5 Filename Matching 6 File Globbing and Wildcard Patterns 7 Brace Expansion 8 Shell and Environment Variables 9 Key Environment Variables 10 General Quoting Rules 11 Nesting Commands 12 Multiple and Multi-line Commands 13 Lab Tasks Connecting Commands Wildcard File Matching Shell Variables Shell Meta-Characters Command Substitution 27 Chapter 6 ARCHIVING AND COMPRESSION 1 Archives with tar 2 Archives with cpio 3 The gzip Compression Utility 4 The bzip2 Compression Utility 5 The XZ Compression Utility 6 The PKZIP Archiving/Compression format 7 Lab Tasks 8 1. Archiving and Compression 9 Chapter 7 TEXT PROCESSING 1 Searching Inside Files 2 The Streaming Editor 3 Text Processing with awk 4 Replacing Text Characters 5 Text Sorting 6 Duplicate Removal Utility 7 Extracting Columns of Text 8 Combining Files and Merging Text 9 Comparing File Changes 10 Lab Tasks Text Processing 13 Chapter 8 REGULAR EXPRESSIONS 1 Regular Expression Overview 2 Regular Expressions 3 RE Character Classes 4 RE Quantifiers 5 RE Parenthesis 6 Lab Tasks 7 1. Pattern Matching with Regular Expressions 8 2. Extended Regular Expressions Using Regular Expressions With sed 13 Chapter 9 TEXT EDITING 1 Text Editing 2 Pico/GNU Nano 3 Pico/Nano Interface 4 Pico/Nano Shortcuts 5 vi and Vim 6 Learning vi 7 Basic vi 8 Intermediate vi 9 Lab Tasks Text Editing with Nano Text Editing with Vim 16 Chapter 10 COMMAND SHELLS 1 Shells 2 Identifying the Shell 4 Changing the Shell 5 Bourne sh: Configuration Files 6 Script Execution 7 Bourne sh: Prompts 8 bash: Bourne-Again Shell 9 bash: Configuration Files 10 bash: Command Line History 11 bash: Command Editing 12 bash: Command Completion 14 bash: "shortcuts" 15 bash: prompt 16 Setting Resource Limits via ulimit 17 Lab Tasks Linux Shells Bash History 23 iii

4 3. Aliases Bash Login Scripts The Z Shell 30 Chapter 11 INTRODUCTION TO SHELL SCRIPTING 1 Shell Script Strengths and Weaknesses 2 Example Shell Script 3 Positional Parameters 4 Input & Output 5 Doing Math 7 Comparisons with test 8 Exit Status 9 Conditional Statements 10 Flow Control: case 11 The for Loop 13 The while and until Loops 14 Lab Tasks Writing a Shell Script 16 Chapter 12 PROCESS MANAGEMENT AND JOB CONTROL 1 What is a Process? 2 Process Lifecycle 3 Process States 4 Viewing Processes 5 Signals 6 Tools to Send Signals 7 Job Control Overview 8 Job Control Commands 9 Persistent Shell Sessions with Screen 10 Using screen 11 Advanced Screen 13 Lab Tasks Job Control Basics Process Management and Job Control Basics Screen Basics Using Screen Regions 28 Chapter 13 PROCESS ADMINISTRATION 1 Automating Tasks 2 at/batch 3 iv cron 5 The crontab Command 6 crontab Format 7 /etc/cron.*/ Directories 8 Anacron 10 Managing Processes 12 Tuning Process Scheduling 13 Lab Tasks Creating and Managing User Cron Jobs Adding System cron Jobs 19 Chapter 14 MANAGING SOFTWARE 1 Downloading with FTP 2 FTP 3 lftp 5 Command Line Internet Non-interactive 6 Command Line Internet Interactive 8 Managing Software Dependencies 9 Using the YUM command 11 YUM package groups 14 Configuring YUM 15 Popular Yum Repositories 16 Using the Zypper command 18 Zypper Services and Catalogs 20 The dselect & APT Frontends to dpkg 21 Aptitude 22 Configuring APT 23 Lab Tasks Command Line File Transfers Using YUM [R6] Using Zypper [S11] Managing YUM Repositories [R6] Managing Zypper Repositories [S11] 44 Chapter 15 MESSAGING 1 System Messaging Commands 2 Controlling System Messaging 4 Internet Relay Chat 5 Instant Messenger Clients 6 Electronic Mail 7 Sending with sendmail 8

5 Sending and Receiving with mailx 9 Sending and Receiving with mutt 11 Sending with Pine 12 Evolution 13 Lab Tasks Command Line Messaging Command Line 19 Chapter 16 PRINTING 1 Linux Printer Sub-systems 2 Legacy Print Systems 3 Common UNIX Printing System 4 Defining a Printer 5 Standard Print Commands 7 Format Conversion Utilities 8 Ghostscript 9 enscript and mpage 10 Lab Tasks Printing 12 Chapter 17 THE SECURE SHELL (SSH) 1 Secure Shell 2 ssh and sshd Configuration 3 Accessing Remote Shells 4 Transferring Files 5 Alternative sftp Clients 6 SSH Key Management 7 ssh-agent 8 Lab Tasks 9 1. Introduction to ssh and scp SSH Key-based User Authentication Using ssh-agent 15 Chapter 18 MOUNTING FILESYSTEMS & MANAGING REMOVABLE MEDIA 1 Filesystems Concept Review 2 Mounting Filesystems 3 NFS 4 SMB 5 Filesystem Table (/etc/fstab) 6 AutoFS 7 Removable Media 8 Lab Tasks Accessing NFS Shares On-demand filesystem mounting with AutoFS 13 Appendix A THE X WINDOW SYSTEM 1 The X Window System 2 X Modularity 3 X.Org Drivers 4 Configuring X Manually 5 Automatic X Configuration 6 Automatic X Configuration SLES 7 Xorg and Fonts 8 Installing Fonts for Modern Applications 10 Installing Fonts for Legacy Applications 12 The X11 Protocol and Display Names 13 Display Managers and Graphical Login 14 Starting X Apps Automatically 16 X Access Control 18 Remote X Access (historical/insecure approach) 20 Remote X Access (modern/secure approach) 22 XDMCP 24 Remote Graphical Access With VNC and RDP 26 Specialized X Servers 28 Lab Tasks Remote X with XDMCP [R6 S11] Configure X Security [R6 S11] Configure a VNC Server [R6] Configure a VNC Server [S11] Launching X Apps Automatically [R6 S11] Secure X [R6 S11] 58 Appendix B EMACS 1 Emacs 2 The Emacs Interface 3 Basic Emacs 4 More Emacs Commands 6 Lab Tasks 7 1. Text Editing with Emacs 8 v

6 Typographic Conventions The fonts, layout, and typographic conventions of this book have been carefully chosen to increase readability. Please take a moment to familiarize yourself with them. A Warning and Solution A common problem with computer training and reference materials is the confusion of the numbers "zero" and "one" with the letters "oh" and "ell". To avoid this confusion, this book uses a fixed-width font that makes each letter and number distinct. Typefaces Used and Their Meanings The following typeface conventions have been followed in this book: fixed-width normal Used to denote file names and directories. For example, the /etc/passwd file or /etc/sysconfig/directory. Also used for computer text, particularily command line output. fixed-width italic Indicates that a substitution is required. For example, the string stationx is commonly used to indicate that the student is expected to replace X with his or her own station number, such as station3. fixed-width bold Used to set apart commands. For example, the sed command. Also used to indicate input a user might type on the command line. For example, ssh -X station3. fixed-width bold italic Used when a substitution is required within a command or user input. For example, ssh -X stationx. fixed-width underlined Used to denote URLs. For example, variable-width bold Used within labs to indicate a required student action that is not typed on the command line. Occasional variations from these conventions occur to increase clarity. This is most apparent in the labs where bold text is only used to indicate commands the student must enter or actions the student must perform. 0 O The number 1 l "zero". The number "one". The letter "oh". The letter "ell". vi

7 Typographic Conventions Terms and Definitions The following format is used to introduce and define a series of terms: deprecate To indicate that something is considered obsolete, with the intent of future removal. frob To manipulate or adjust, typically for fun, as opposed to tweak. grok To understand. Connotes intimate and exhaustive knowledge. hork To break, generally beyond hope of repair. hosed A metaphor referring to a Cray that crashed after the disconnection of coolant hoses. Upon correction, users were assured the system was rehosed. mung (or munge) Mash Until No Good: to modify a file, often irreversibly. troll To bait, or provoke, an argument, often targeted towards the newbie. Also used to refer to a person that regularly trolls. twiddle To make small, often aimless, changes. Similar to frob. When discussing a command, this same format is also used to show and describe a list of common or important command options. For example, the following ssh options: -X Enables X11 forwarding. In older versions of OpenSSH that do not include -Y, this enables trusted X11 forwarding. In newer versions of OpenSSH, this enables a more secure, limited type of forwarding. -Y Enables trusted X11 forwarding. Although less secure, trusted forwarding may be required for compatibility with certain programs. Representing Keyboard Keystrokes When it is necessary to press a series of keys, the series of keystrokes will be represented without a space between each key. For example, the following means to press the "j" key three times: jjj When it is necessary to press keys at the same time, the combination will be represented with a plus between each key. For example, the following means to press the "ctrl," "alt," and "backspace" keys at the same time: Ó Ô. Uppercase letters are treated the same: Ò A Line Wrapping Occasionally content that should be on a single line, such as command line input or URLs, must be broken across multiple lines in order to fit on the page. When this is the case, a special symbol is used to indicate to the reader what has happened. When copying the content, the line breaks should not be included. For example, the following hypothetical PAM configuration should only take two actual lines: password required /lib/security/pam_cracklib.so retry=3a type= minlen=12 dcredit=2 ucredit=2 lcredit=0 ocredit=2 password required /lib/security/pam_unix.so use_authtok Representing File Edits File edits are represented using a consistent layout similar to the unified diff format. When a line should be added, it is shown in bold with a plus sign to the left. When a line should be deleted, it is shown struck out with a minus sign to the left. When a line should be modified, it is shown twice. The old version of the line is shown struck out with a minus sign to the left. The new version of the line is shown below the old version, bold and with a plus sign to the left. Unmodified lines are often included to provide context for the edit. For example, the following describes modification of an existing line and addition of a new line to the OpenSSH server configuration file: File: /etc/ssh/sshd_config #LoginGraceTime 2m - #PermitRootLogin yes + PermitRootLogin no + AllowUsers sjansen #StrictModes yes Note that the standard file edit representation may not be used when it is important that the edit be performed using a specific editor or method. In these rare cases, the editor specific actions will be given instead. vii

8 Lab Conventions Lab Task Headers Every lab task begins with three standard informational headers: "Objectives," "Requirements," and "Relevance". Some tasks also include a "Notices" section. Each section has a distinct purpose. Objectives An outline of what will be accomplished in the lab task. Requirements A list of requirements for the task. For example, whether it must be performed in the graphical environment, or whether multiple computers are needed for the lab task. Relevance A brief example of how concepts presented in the lab task might be applied in the real world. Notices Special information or warnings needed to successfully complete the lab task. For example, unusual prerequisites or common sources of difficulty. Variable Data Substitutions In some lab tasks, students are required to replace portions of commands with variable data. Variable substitution are represented using italic fonts. For example, X and Y. Substitutions are used most often in lab tasks requiring more than one computer. For example, if a student on station4 were working with a student on station2, the lab task would refer to stationx and stationy stationx$ ssh root@stationy and each would be responsible for interpreting the X and Y as 4 and 2. station4$ ssh root@station2 Command Prompts Though different shells, and distributions, have different prompt characters, examples will use a $ prompt for commands to be run as a normal user (like guru or visitor), and commands with a # prompt should be run as the root user. For example: $ whoami guru $ su - Password: password # whoami root Occasionally the prompt will contain additional information. For example, when portions of a lab task should be performed on two different stations (always of the same distribution), the prompt will be expanded to: stationx$ whoami guru stationx$ ssh root@stationy root@stationy s password: password stationy# whoami root Truncated Command Examples Command output is occasionally omitted or truncated in examples. There are two type of omissions: complete or partial. Sometimes the existence of a command s output, and not its content, is all that matters. Other times, a command s output is too variable to reliably represent. In both cases, when a command should produce output, but an example of that output is not provided, the following format is used: $ cat /etc/passwd... output omitted... In general, at least a partial output example is included after commands. When example output has been trimmed to include only certain lines, the following format is used: $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash... snip... clints:x:500:500:clint Savage:/home/clints:/bin/zsh... snip... viii

9 Lab Conventions Distribution Specific Information This courseware is designed to support multiple Linux distributions. When there are differences between supported distributions, each version is labeled with the appropriate base strings: R S U Red Hat Enterprise Linux (RHEL) SUSE Linux Enterprise Server (SLES) Ubuntu The specific supported version is appended to the base distribution strings, so for Red Hat Enterprise Linux version 6 the complete string is: R6. Certain lab tasks are designed to be completed on only a sub-set of the supported Linux distributions. If the distribution you are using is not shown in the list of supported distributions for the lab task, then you should skip that task. Certain lab steps are only to be performed on a sub-set of the supported Linux distributions. In this case, the step will start with a standardized string that indicates which distributions the step should be performed on. When completing lab tasks, skip any steps that do not list your chosen distribution. For example: 1) [R4] This step should only be performed on RHEL4. Because of a bug in RHEL4's Japanese fonts... Sometimes commands or command output is distribution specific. In these cases, the matching distribution string will be shown to the left of the command or output. For example: [R6] [S11] $ grep -i linux /etc/*-release cut -d: -f2 Red Hat Enterprise Linux Server release 6.0 (Santiago) SUSE Linux Enterprise Server 11 (i586) Action Lists Some lab steps consist of a list of conceptually related actions. A description of each action and its effect is shown to the right or under the action. Alternating actions are shaded to aid readability. For example, the following action list describes one possible way to launch and use xkill to kill a graphical application: Callouts Ô Å Open the "Run Application" dialog. xkillõ Launch xkill. The cursor should change, usually to a skull and crossbones. Click on a window of the application to kill. Indicate which process to kill by clicking on it. All of the application s windows should disappear. Occasionally lab steps will feature a shaded line that extends to a note in the right margin. This note, referred to as a "callout," is used to provide additional commentary. This commentary is never necessary to complete the lab succesfully and could in theory be ignored. However, callouts do provide valuable information such as insight into why a particular command or option is being used, the meaning of less obvious command output, and tips or tricks such as alternate ways of accomplishing the task at hand. [S10] $ sux - Password: password # xclock On SLES10, the sux command copies the MIT-MAGIC-COOKIE-1 so that graphical applications can be run after switching to another user account. The SLES10 su command did not do this. ix

10

11 Content Unix and its Design Principles FSF and GNU GPL General Public License The Linux Kernel Linux Kernel and Versioning Components of a Distribution Slackware SUSE Linux Products Debian Ubuntu Red Hat Linux Products Oracle Linux Mandriva Chapter 1WHAT IS LINUX?

12 Unix and its Design Principles Inherits features from Multics such as the hierarchical filesystem Everything is a file Small single-purpose programs Ability to pipe small programs together to accomplish more complex tasks The kernel makes minimum policy decisions, leaving things up to easily modifiable userland programs All configuration data stored as text, (e.g. ASCII, UTF-8) Unix Origins The original batch processing systems of the 1950s were limited to processing only one job at a time. Batch processing systems were replaced with time sharing systems, such as the Compatible Time Sharing System. In 1964, AT&T began discussions with MIT and GE to create a second generation time sharing system, Multics. Work started at BTL in Over the next four years, cutting-edge research was done by the academics at MIT, and the computer scientists at GE and AT&T, changing the mind set of how computers should operate, such as the view that computing should be an interactive and multi-user experience. AT&T pulled out of the Multics project in The Multics project had been ambitious, and each party had differing visions that were hard to reconcile. Bell Labs researcher Ken Thompson started working on an alternative to Multics, later nick named Unics by Brian Kernighan, to distinguish it from the complexity of Multics. It was originally written in machine language for the DEC PDP-7 and 9, but ran primarily on the PDP-11 through Edition 7. Unix Design Principles The researchers, led by Doug McIlroy, developed a set of principles to guide their work. Among these principles were: 1. Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features. 2. Expect the output of every program to become the input to 1-2 another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input. 3. Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them. 4. Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them. (From M.D. McIlroy, E.N.Pinson, and B.A. Tague, Unix Time-Sharing System Forward, The Bell System Technical Journal, July -Aug vol 57, number 6 part 2, pg ) Small programs and pipes are flexible, and build simple, fast solutions to otherwise complex tasks. Plain text config data facilitates remote administration. The ANSI text originally used is limited by the 127 characters available on US keyboards. UTF-8 (Unicode), the Plan 9 character set developed by Thompson, is now used by many Unix systems, offering an international character set while remaining backwards compatible to ANSI text. The file command (covered later) will report most text files as ASCII text, as it is rare to see characters used outside Latin-1 (extended ASCII), though not as rare as it used to be.

13 The Unix family In February 1973, the third edition of Unix was released. The preface of the UNIX PROGRAMMER'S MANUAL claimed an increase from 10 installations to 16, but what was more important was reflected in this statement under "Writing a program": "The three principal languages in Unix are assembly language (see as(1)), FORTRAN (see fc(1)), and C (see cc(1))..." The new C language was a modification of Thompson's B interpreter, adding types, and a compiler. C's simplicity led to the fourth edition Unix being rewritten in C, and to its dominant use in the Unix family of operating systems. Starting with the sixth edition of Unix, AT&T licensed the source code at low cost; however, Bell Labs kept the UNIX name trademarked, and closely held. After AT&T sold UNIX to Novell, the UNIX trademark was sold to the Open Group, and the source code licensed to the Santa Cruz Operation. Each licensee had to come up with their own name, (hence groups that used names like USENIX). Though UNIX is a trademark, in common usage the capitalization "Unix" is used. See the preface to A Quarter Century of UNIX (Peter H. Salus ISBN-13: ) and There are two main branches in the Unix family tree, the System V branch and the BSD branch. The System V branch was maintained by AT&T and the BSD branch by the University of California at Berkeley, and enhancement of the research system. There was lots of cross-pollination of features between the two branches, especially in later editions of research Unix. System V Release 4 is essentially a merger of these two branches. Today, the BSD branch continues in several open-source projects, but System V exists primarily in commercial off-shoots, such as Oracle Solaris. Several clones are available including Minix and Linux. See for a graphical chart of Unix and its derivatives. Growth of Unix As the DEC series systems gave way to Sun workstations, mail order computer kits, and the PC era of home computers, it was realized by Thompson, Pike, and others that a redesign was needed to take advantage of these new, cheaper technologies. Plan 9 succeeded Unix as a from scratch rewrite, incorporating a distributed filesystem and applications, and rethinking computing in terms of multiple systems, not single time-sharing systems communicating with each other. Though Plan 9 brings along many tools from later editions of Unix (especially 8-10), it is a new system. Plan 9 is an open-source operating system carrying the Unix philosophy to its pinacle. Plan 9's most significant influence on Linux was UTF-8. Though Linux was intended as a free System V replacement, it has become a bridge system, incorporating ideas from Unix and Plan 9, and interoperating with other systems, such as Microsoft Windows. 1-3

14 FSF and GNU Richard Stallman founder of GNU and the FSF 1983 GNU (GNU's not Unix) goal: create the free GNU Operating System first programs: emacs and gcc 1985 Free Software Foundation nonprofit organization for promotion of free software manages the GNU project By 1991 the GNU system was almost complete only crucial component missing was a kernel FSF and GNU The GNU project was announced in September 1983 by Richard Stallman with the goal of creating a free software operating system: GNU. In addition to defining the guiding philosophy for the GNU project, Richard Stallman contributed code, and is the principal author of several important software components such as GCC (the GNU Compiler Collection), GDB (the GNU Symbolic Debugger), and the popular GNU Emacs text editor. Stallman graduated from Harvard with a degree in Physics. For several years, he worked in the Artificial Intelligence lab at MIT, resigning to work on GNU. He has been granted honorary PhDs from several universities, and won numerous prestigious awards for his continuing efforts to advance the ideals of free software as advocated by the FSF. The GNU project started work on the Alix kernel in The kernel is now called the Hurd, and runs on top of GNU Mach, a Mach 4 micro-kernel. Although a micro-kernel architecture is theoretically a superior kernel design, in practice the Mach design has proven cumbersome. The Debian project provides the official release of GNU/Hurd. 1-4

15 GPL General Public License Guarantees that free software remains free (as in freedom) All software under the GPL makes source available to the end user Changes to a GPL licensed software package must also be licensed under the GPL Source code from GPL licensed software can be incorporated into other GPL licensed software Other Licenses: In 1992, Linus Torvalds released 0.12 of the Linux kernel under the GPL. Free Software In the Linux community you will often hear the term "free software." What is meant by this term? What follows is an excerpt from the GNU website: "'Free software' is a matter of liberty, not price. To understand the concept, you should think of 'free speech', not 'free beer'." 'Free software' refers to the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software: The freedom to run the program, for any purpose (freedom 0). The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this. The freedom to redistribute copies so you can help your neighbor (freedom 2). The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. (freedom 3). Access to the source code is a precondition for this. A program is free software if users have all of these freedoms. Thus, you should be free to redistribute copies, either with or without modifications, either gratis, or charging a fee for distribution to anyone, anywhere. Copyleft To help guarantee that all software remains free, with the first GNU release of Emacs, Stallman wrote a copyright license so that GNU software cannot be hidden in proprietary, "non-free" code. He called this copyleft. See "Copyleft is a general method for making a program free software and requiring all modified and extended versions of the program to be free software as well...to copyleft a program, we first state that it is copyrighted; then we add distribution terms, which are a legal instrument that gives everyone the rights to use, modify, and redistribute the program's code or any program derived from it but only if the distribution terms are unchanged. Thus, the code and the freedoms become legally inseparable. Proprietary software developers use copyright to take away the users' freedom; we use copyright to guarantee their freedom. That's why we reverse the name, changing 'copyright' into 'copyleft'." Licenses While the GPL license is arguably the most important of the free software licenses. Many other licenses exist. 1-5

16 The Linux Kernel Linus Torvalds Finnish college student wanted to replace Minix, a UNIX-like feature-limited teaching OS The Linux kernel fresh re-implementation of the UNIX APIs under the GPL license The Linux kernel together with GNU and other programs forms a complete free operating system The Linux Kernel Linus Torvalds made the now famous first post about Linux in the comp.os.minix newsgroup in August of It is reproduced here: From: torvalds@klaava.helsinki.fi (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Message-ID: <1991Aug @klaava.Helsinki.FI> Date: 25 Aug :57:08 GMT Organization: University of Helsinki Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) Linus (torvalds@kruuna.helsinki.fi) PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc.), and it probably never will support anything other than AT-harddisks, as that's all I have :-(. 1-6

17 Linux Kernel and Versioning 1994 Linux kernel 1.0 released 1996 Linux kernel 2.0 released, based on 1.3 development branch 2003 Linux kernel 2.6 released, based on 2.5 development branch 2004 Linux kernel released, based on Linus' post development branch 2004 Linux kernel released to fix a NFS code problem 2005 Linux kernel released making stability patches to the mainline release kernel official 2006 Linux kernel was released, becoming the first of several longterm release kernels kernel released (after ), patched as kernel released, following up on 3.0 Linux Kernel Versioning The Linux kernel is maintained by a large group of developers headed by Linus Torvalds. Linus acts as a "benevolent dictator" and has final say over what changes are introduced into the official kernel. Linus is sponsored by the Linux Foundation, a merger of the Open Source Development Labs (OSDL) and the Free Standards Group. See The Linux kernel version is designated by a major and minor number, a release number, and optionally a patch level. Linux distributors may add an additional component, the EXTRAVERSION. For example, an errata kernel for Red Hat Enterprise Linux 6 is version Originally, Linux kernels with an even minor number (e.g. 1.2.x, 2.0.x, 2.2.x, 2.4.x) were considered stable production kernels. Only bug fixes and isolated features, such as new drivers, were added to the stable kernel tree, indicated by a third number, the patch level. Linux kernels with an odd minor number (e.g. 1.1.x, 2.1.x, 2.3.x) were development kernels, not to be used on production systems. The odd-numbered development kernel was where new features were introduced. When all the slated features were added, then the development kernel went into a feature freeze where only bug fixes were allowed. After the development kernels became stable, the version number was bumped so that the minor number was even. If the number or importance of features is large enough, the major number is incremented. In 2004, Linus Torvalds decided that it was not necessary to create a 2.7 development branch, as the overall structure and key components of the 2.6 kernel were sufficient for future development. Instead, further development kernels would be built within the 2.6 tree. Stable kernels typically now have a fourth version number. The first such release was Kernels with such a fourth digit are stable patch versions. Newly incremented third digit versions are made to signify the completion of sets of new and revised features. For further details, see the Documentation/HOWTO file in the kernel source documentation. 1-7

18 Kernels now have long term service releases. The first such release was , released 20 March 2006, and last patched 21 July 2008 with release Though the 2.2 series has not officially been made end-of-life, it has not received a patch update in years was released 18 December It is declared end-of-life, but still receives occasional patches upstream. Even though a kernel is declared end-of-life, i.e. it will receive no further updates, kernels are considered stable for 6 months from release. Other longterm supported kernels include , 3.0, and 3.4. Longterm kernel support is usually about two years, plus another 2 depending on the willingness of individuals to keep supporting a release. The mainline kernel is the current release kernel, and the kernel in development for the next release, e.g rc6. 1-8

19 Components of a Distribution Typical Linux distributions provide collection of applications along with the Linux kernel installation program documentation support some are very specialized (e.g. Linux Router Project) POSIX and Single Unix Specification compliance Most Linux distributions provide the same basic software: GNU software GNU Coding Standards BSD and Linux utilities X.Org, GNOME, KDE, and other GUI components Linux Distributions Most Linux companies producing distributions have teams of developers working full time to produce free software. The companies earn money from services related to their distribution including support, consulting, and selling boxed copies. Most distributions are available for download off of the Internet. Since 1999, most distributions have also made ISO CD-ROM images available for download. If you have a fast Internet connection and a CD/DVD writer, you can download an ISO image and create your own installation media. Linux Standards There are hundreds of different Linux distributions. At the API/ABI level, all Linux distributions share a common kernel, which conforms to the POSIX/IEEE interface specifications and the Single Unix Specification. The GNU Project follows the design standards of the GNU Operating System, which influence the userland, and other tools, provided by the GNU Project. This is documented in the standards info manual, found at Components of Distributions With the plethora of Linux distributions on the market, it might at first seem that Linux is repeating the same Balkanization that has hampered the Unix world for the past two decades. It's important to realize that, in spite of their brand differences, all main-stream Linux distributions are compatible with each other at the API and binary levels, because they all consist of the same core software: GNU and BSD libraries and utilities, the X Window System as implemented by the X.Org Project, the GNOME and KDE desktops, etc. In spite of this basic compatibility, distributions are still distinguishable because their developers tailor them for various markets. For example, some will include advanced software packaging functions, or commercial support, or automatic updating capabilities, while others may include features like commercial word-processing software, or additional free software targeted for more specialized audiences. Locating Linux Software Software for Linux is available for download all over the Internet. Most software projects have their own sites. In addition, there are several sites that maintain listings of many programs with links for downloading and more information. These sources are excellent starting places when looking for Linux software:

20 Slackware Oldest active distribution Fork of Softlanding Linux System (SLS) Added simple package management Uses compressed tarballs Added an automated installer Became extremely popular and continues to have a wide following SLS The SLS distribution was an early distribution, making it possible for non-überhackers to install a Linux system on their computer. Before Linux distributions, if you wanted to install Linux, you would first download and install Minix, or a 386BSD derivative, then after building the GNU toolkit (binutils, glibc, and perhaps gcc), you could begin the process of downloading, configuring, and compiling the Linux kernel, and a boot loader (e.g. LILO). This gave you a kernel, but no commands. Now you could begin downloading the GNU userland, and other source code. Slackware First released in April 1993, and a derivative of SLS, Slackware has long sought to be the most Unix-like of all the Linux distributions. In addition, Slackware primarily targets Intel-compatible architectures; few ports to other architectures have been completed and released. Slackware tends to be popular among those who prefer a minimalistic approach to Linux installation and configuration. The first commercial Linux was S.u.S.E., which originally distributed Slackware. Pat Volkerding assisted in the development of the early S.u.S.E. releases, until it switched to RPM and forked as its own distribution. SUSE still has many underlying similarities to Slackware. Additional information about how to Get Slack can be found at The name Slackware is derived from the teachings of the Church of the SubGenius,

21 SUSE Linux Products SUSE Linux Enterprise Family Server and Desktop releases 2 year release cycle 7-10 year maintenance life cycle Highly scalable, mature technology Five platforms: IA-32, AMD64/Intel64, IA-64 (Itanium series), ppc64, S390x(zSeries) ISV certifications The opensuse Project Cutting edge 8 month release cycle Limited security updates for years SUSE Linux Enterprise Family There are two SUSE Linux Enterprise products available from SUSE Linux Products GmbH: SUSE Linux Enterprise Server (SLES) and SUSE Linux Enterprise Desktop (SLED). SUSE Linux Enterprise has a 10 year life cycle. Customers can deploy SLES and SLED and have security and bug fixes available for the entire duration. The extended month release cycle coupled with the 10 year life cycle allows ISVs time to certify their products on a stable Linux platform. Life Cycle Considerations The SUSE Linux Enterprise family has three stages of support: general support, extended support, and self-support. The general support period is for the first 5 years of life, and is supported within periodic service pack releases. Each service pack has the option for long term support. Feature additions are only within the first 4 years of the general support life cycle. The extended support period provides 2 years of extended long term support for server editions, and with SLED11 for desktop editions, with critical bug maintence (such as security patches) for a subset of packages. The self-support period is for the remaining period of the 10 year life cycle. End-of-life, the end of the extended support cycle, is as follows: y SLES8: 31 October (Self support through October The extended support period was for x86/z series server only.) y SLES9: 31 August (Extended support was extended to the end of the self support cycle.) y SLES10: 31 July (Extended support was extended to the end of the self support cycle.) y SLES11: 31 March (Extended support is not available.) Some of the features included in SUSE Linux Enterprise Server are as follows. For a full list of features, see y Scalability y Scales up to 4096 CPUs y Supports up to 64 TiB of RAM y Clustering and High Availability (HA) y Support for load balance clustering and HA configurations y Platform Availability y IA-32, AMD64/Intel64, Itanium (not including Merced), ppc64, IBM zseries s/390x and s/390 The opensuse Project The opensuse project was founded by Novell to build and maintain an open-source Linux distribution. Focused on the most current and cutting edge open source technologies, opensuse provides early access to future SUSE Linux Enterprise features. opensuse life cycle is 8 months between releases, and supported 2 months after the next release (effectively 18 months). Versions previous to 11.2 were supported for 2 years. For more information on the opensuse project see:

22 Debian Second oldest active distribution Initially sponsored by the FSF Authored and Controlled by the Debian community Very committed to free software Uses own package management, DPKG Innovated with in-place, no reboot upgradability Easy to keep your system current apt-get update apt-get upgrade Debian Begun the same year, shortly before Red Hat Linux, the non-commercial Debian project sought to develop a package-based approach to GNU/Linux installation. Since that time, Debian has become popular for its dedication to free software principles and for its huge variety of packaged software. It is also the most widely ported GNU/Linux distribution, with ports to over a dozen architectures, completed or in progress. It has even begun to support non-linux kernels from the Hurd project, to various BSD projects. Much like Linux itself, Debian is developed and maintained by a cadre of thousands of volunteers from all over the world, working together over the Internet. Additional information about Debian can be found at

23 Ubuntu Founded by Mark Shuttleworth Licensed by Canonical Based closely on Debian Committed to free software Uses Debian's package management, DPKG Easy to keep your system current aptitude update aptitude upgrade Ubuntu Ubuntu was first released in October 2004 with the 4.10 release. Since that time Ubuntu has stuck to a strict six-month release cycle using a "Year.Month" versioning scheme. 4.10, 5.04, 6.06, 6.10, 7.04, 7.10, The LTS (Long Term Support) release is given additional preparation. Ubuntu supports each six month released version with eighteen-months of free security and errata updates. Each two years, beginning with 6.06, Ubuntu releases the LTS version, which is supported for three years on the desktop and five years on the server. Ubuntu also promises that they will never have an "Enterprise" release, meaning that the entire community--business or personal--will benefit from the same product. A few of the key things that separate Ubuntu from other distributions are: y Community first y Ubuntu Code of Conduct y No "Enterprise" release y Ubuntu will always be free of charge 1-13

24 Red Hat Linux Products Invented the RPM Package Manager Easy-to-use installer integrates partitioning and leverages RPM Loyal to free software ideals: only ships open-source software with few exceptions that restrict modification and redistribution. Fedora Cutting edge, community oriented project Provides new technology for future RHEL releases Red Hat Enterprise Linux (RHEL) Enterprise targeted distribution with commercial support CentOS: community maintained, enterprise targeted, distribution Scientific Linux Oracle Linux Red Hat Enterprise Linux First released in 1994, Red Hat Linux (RHL) quickly became the most popular Linux distribution in the United States. Red Hat introduced a variety of tools which simplify system management, such as RPM and Kickstart, and has been ported to several architectures. The fast pace of RHL releases lead ISVs to ask Red Hat for a long-term option to allow product certification on a stable platform. The result was the introduction of what became Red Hat Enterprise Linux (RHEL), a stability branch of RHL/Fedora. See y RPMs bundled with purchased support contract y Source RPMs freely available and accessible y Ten year life cycle for feature additions and bug/security fixes y Up to three years extended support after end-of-life Red Hat Enterprise Linux comes in several variants, including: Red Hat Enterprise Linux for Server The primary Enterprise Linux release, but requires a key to unlock add-on software (at install), and in some cases extra media. Not all packages built from source RPMs are included on the installation media, but instead are only available from RHN. These packages are labeled optional, and are not covered by the ABI compatibility guarantees, or errata support (though errata may extend from related updates), similar to supplementary packages Red Hat Enterprise Linux for HPC Head/Compute Node Increased RHEL Server support options (e.g. more CPUs, SAN) intended for High Performance Computing Red Hat Enterprise Linux for SAP Business Applications Ships with the Server component, plus SAP Business Applications support Red Hat Enterprise Linux Client Desktop oriented, with more add-ons, but less server, software. Red Hat Enterprise Linux Workstation The same as Client, but with development add-ons. For a complete breakdown of the differences between RHEL variants, and other options, such as support for IBM System Z and POWER systems, see Fedora With the release of RHEL3, Red Hat decided to rename RHL to eliminate confusion with RHEL. What would have been called Red Hat Linux 10 became Fedora Core 1. The name change to Fedora Core wasn't only about the name. Fedora is a community project, open to the public. The Fedora Core and Fedora Extras repositories were merged for the release of Fedora 7. The word "Core" has, therefore, been dropped. y Release cycle of 6 months y 13 month life cycle for bug/security fixes y Commercial support is not available from Red Hat 1-14

25 CentOS CentOS is a community release based on Red Hat Enterprise Linux sources. It removes trademarked components to allow legal redistribution of "an enterprise class OS without the cost or support of the prominent North American Enterprise Linux vendor." See Similar projects exist, such as Scientific Linux, and Oracle Linux. 1-15

26 Oracle Linux Oracle Linux Matched release cycles with RHEL Binary and Source compatible with RHEL Highly scalable, mature technology Three platforms: x86, AMD64, and Itanium ISV certifications Oracle Linux Oracle Linux is an Oracle provided Linux distribution that is source and binary compatible to Red Hat Enterprise Linux. Oracle uses the publicly available source code from Red Hat Enterprise Linux for the core of its distribution. While Oracle does incorporate additional patches and updates, they maintain compatibility with both Red Hat Enterprise Linux, and the certified ISV products which run on it. Patches and modifications to Oracle Linux are released to the Linux community under the GPL license and are available for anyone, including Red Hat, to use and incorporate into their products. Oracle Linux (6.2) features include: CPU up to 32 cores (x86), 256 cores (x86_64) Physical memory up to 64GB (x86), 2TB(x86_64) ext4 up to 16TB filesystems ocfs2 up to 4PB filesystems Kernel base version For a complete list of features refer to: Oracle Linux is available free of charge from

27 Mandriva Formerly Mandrake Mandrake bought Connectiva, renamed Mandriva "User-Friendly" distribution Powerful installation program (able to resize NTFS and FAT partitions) Mandriva Online update tool Drax configuration tool Uses RPM Mandriva Mandrake Linux was created in 1998 with the goal of being an "easy to use" distribution. In 2005, Mandrakesoft purchased Linux distributor Connectiva; the combined company was named Mandriva. A fork of Mandriva, employing many of the Mandriva developers is called mageia. Updates are for one year, with 18 months for the base system, and 24 months for server. Mandriva has been the distro of choice for those trying to migrate from a Windows or MacOS environment. Mandriva has a very impressive installation program that allows you to resize NTFS and FAT partitions to enable a dual-boot system. Updates and dependency problems are all but eliminated by using the MandrivaUpdate software. Mandriva is a good choice for a first Linux distribution. 1-17

28

29 Content Logging In Running Programs Interacting with Command Line The X Window System Starting X Gathering Login Session Info Gathering System Info got root? Switching User Contexts sudo Help from Commands and Documentation Getting Help with man & info Lab Tasks Login and Discovery Help with Commands Switching Users With su Chapter 2LOGIN AND EXPLORATION

30 Logging In Serial terminals Text mode login via serial port mgetty+login Handles modems agetty+login Handles VT100/VT220 dumb terminals Virtual terminals Text mode login(s) on local console mingetty+login Graphical GUI login on local console xdm, gdm, kdm, etc. Terminal Emulator xterm, rxvt, gnome-terminal, konsole Network logins Remote text mode login in.telnetd+login, in.rlogind, sshd, etc. Logging In It is essential on a multi-user system that the Operating System be able to identify each user on the system. User identification can be accomplished in a variety of ways: hardware-based passkeys; biometrics (such as fingerprints, voiceprints, retina scans, etc.); and many others. The most common method is to prompt the user to enter a username and corresponding password. To provide authentication services and permit access to the system, Linux will run special processes that are designed to gather a user's username and authentication token(s) (such as a password). To understand the processes involved, you must examine some basics of the boot process: 1. When a Linux system boots, it must first locate and load the kernel. 2. When the kernel finishes its loading process, it loads and passes control to some initial process, usually the program init. 3. The init process goes through its initialization procedures, part of which is to enter the currently defined run-level. Run-levels (among other things) determine if the system will display a text or graphical login prompt at the console. 4. For a text mode login, init spawns one or more getty-like processes and associates them with the appropriate terminals. A "getty" is a program responsible for configuring the terminal hardware settings. In the case of a modems, the process started is usually /sbin/mgetty. Although rarely used today, 2-2 for direct attached serial terminals, agetty is preferred. In the case of the virtual terminals where no serial port management code is needed, the light-weight /sbin/mingetty is usually invoked. 5. The mgetty or mingetty process is the second of the three programs (init, mgetty/mingetty and login) used by the system to allow users to login. mgetty or mingetty is invoked by init to: y Open tty lines and set their modes. y Print the login banner, usually the contents of the /etc/issue file. y Spawn a login process for the user, usually /bin/login. 6. The login program is what actually prompts the user to input their password. login will then validate the user's credentials and start the shell defined in the user's corresponding /etc/passwd entry. If configured, graphical logins are provided by one of the graphical display managers, commonly: xdm, gdm, or kdm. After logging in graphically, a terminal emulator can be run (such as the gnome-terminal command) to get a command shell, or from within GNOME or KDE, the key combination Ô Å can be used. Network login access is provided by daemons such as in.telnetd, in.rlogind, or sshd which are launched as stand alone services, or from a super-server such as xinetd. These programs take the place of mgetty, and in some cases login as well. For security reasons, SSH has replaced rlogin and telnet in most environments and provides both strong authentication and encryption.

31 Running Programs Graphical environment (e.g. X+GNOME) Command line (e.g. Bash) Running Programs Within the GUI Linux includes a graphical server called X and several full-featured desktop environments such as GNOME and KDE. Most Linux workstations boot automatically to a graphical login. Server systems may have the graphical interface installed, but more commonly boot directly to a text login. Most graphical desktops provide an intuitive interface for launching programs such as a simple menu. If the name of the program is known, an alternative is to type that name from a terminal command prompt and press enter. In the GNOME desktop and KDE, pressing Ô Å opens a dialog where programs can be launched by typing the command name. Advantages of the GUI include: y Aesthetically compelling and inviting to new users. y Ease of multitasking (click and drag to move and resize program windows, click on a program to bring it to focus and interact with it, etc.) y Graphical display can convey, and allow interaction with, certain types of information very efficiently. y Some advanced applications require the GUI (e.g. The Gimp) Running Programs From the Command Line (Text Interface) Linux includes special programs called shells that provide a command line interface to the system. Modern shell programs such as Bash (the default shell) are highly configurable and feature rich. When launched, shells present a text interface with a string called a prompt being displayed. Typing the name of a program at this prompt and then pressing Õ will launch the program. Advantages of the command line include: y Most tasks can be accomplished more quickly verses the equivalent option performed within the GUI. y The ability to pass options and arguments to programs provides finer grained control than most GUI interfaces. y Lower overhead: most command line programs use less memory and CPU than equivalent GUI programs. y Ease of automation due to shell scripting features and non-captive program interfaces. Once packaged into a script, a sequence of commands can be run on hundreds of systems nearly as easily as a single system. y Easily accommodates remote access and interaction. Programs such as SSH can allow secure interaction with a command shell on a remote system, even over low bandwidth links. y The shell provides powerful ways to connect programs together to accomplish more complex tasks. Almost any command line program can be connected to any other, (although not all combinations are useful or make sense). 2-3

32 Interacting with Command Line What happens when I press Õ at the command prompt? expansion, substitution, and splitting performed redirection setup execution Command options Command arguments Common errors Tips and Tricks Processing of the Command Line The shell command prompt provides an interactive text interface for running programs. Under normal usage, you type the name of the program you want to run and hit Õ. The shell executes the program and it may return results which are printed to the same text window. This process is then repeated as needed, (running commands and analyzing the results). With a modern shell, several types of pre-processing are performed on the command line before a program is run. For example, many characters have special meaning to the shell and cause it to perform expansion or substitution, replacing these special characters with other values. The shell must also break the input into logical pieces, an operation called word splitting, with whitespace acting as the primary delimiter between words. By default, commands run from the shell can continue to accept input typed into the same terminal while they execute. Output or errors generated by the program will be displayed on the same terminal. Alternatively, you can tell the shell to redirect input and output to another place. For example, input might be read from a file, or output sent to a file or another program. Finally, the shell will attempt to run the specified program. If the shell can't locate the program then an error is displayed. When run, some programs will exit quickly returning you to a command prompt. Other programs may continue accepting input from the terminal effectively preventing you from running other programs from that shell. Command Options Depending on how they are run, most commands can change their behavior. These extra command features are accessed by passing the corresponding "option" when running the program. To help the shell and command recognize options, they are almost always preceded with either a single dash "-" or two dashes "--". Letters that follow a single dash are called short options and will activate the corresponding feature of the program when it runs. Generally, the order of options does not matter. For example, each of the following would be operationally identical (causing the command to run with the a, b, and c options selected: $ command -abc $ command -cba $ command -a -b -c $ command -c -b -a Short options are quick to type and generally have some mnemonic significance. Some commands support long options as a more descriptive alternative. These are specified with a preceding double dash: $ command --alpha --beta --charlie Often commands support both short (Unix) and long (GNU) options for the same feature. Other times, a feature will be accessible via only one type or the other. A mix of option types can be used: $ command -a --beta -c --delta 2-4

33 Command Arguments Many commands are designed to operate on one or more objects (often files). This list of objects are called "arguments" and are generally listed after the command name options. When the shell runs a command, it passes the list of arguments to the command as an array. Arguments not preceded by a dash are normally delimited by whitespace. For example: $ command --option1 arg1 arg2 Common Errors The shell searches a configurable list of locations for programs. If the program you want to run is not installed into one of the configured directories, or if you make a typo in specifying the name of the program then an error is returned: $ command bash: command: command not found If the file containing the program does not grant you execute permissions then attempts to run it result in an error: $ command bash: command: Permission denied If an invalid (unknown) option is specified, then an error is displayed. Often some basic usage information, or help, for the command is also displayed: $ command -a command: invalid option -- a Try `command --help' for more information. If an invalid argument is specified (such as a file that doesn't exist), then a command specific error is generated. The following is a common example: $ command file1 command: cannot stat `file1': No such file or directory Command Line Tips and Tricks Modern command shells have a large number of features designed to make command line access more efficient and increase productivity. The following is a brief list of features. More extensive coverage of each of these features is found in later chapters. History The shell keeps a record of commands run in each session. Use the arrow keys to bring back previously run commands to save typing. Completion Context sensitive auto-completion functions can save huge amounts of typing. With default settings, press the Ð key to attempt completion. Aliases Give your own names to commands by defining aliases. For example, after running alias p="cd..", typing põ at the prompt would change to the parent directory. Clear screen Pressing Ó l will clear the screen. Copy & Paste The act of highlighting text with the mouse (by left clicking and dragging to select it) automatically places a copy of that text into a copy buffer. Clicking the middle mouse button will paste from that buffer. 2-5

34 The X Window System GUI infrastructure for Unix and Linux systems Created in 1984 Both a Protocol and an Implementation Advantages of X Operating System Independent Modular and Extensible Client-server (Network Transparent!) XFree86 Original Open Source implementation of the X Window System X.Org Forked XFree86 with a more open development model The X Window System The graphical environment for Linux is not a core part of the operating system. Rather, it is a service provided by a running process much like a Web server. This design has many advantages. For example, a fatal failure in the graphical environment will rarely take down the entire system. Most of the time it is possible to just restart the graphical environment without rebooting. Depending on the needs of the system, one of several graphical environments can be chosen. In fact, it is even possible to build a system without any graphical environment at all. This is common for systems used as network servers. By far the most common graphical environment for Linux is the X Window System, often referred to as X or X11. Originally created in 1984 by MIT, the name X refers to both a network protocol and a software implementation of that protocol. By 1987, the X protocol had seen several major redesigns before finally reaching version 11. The X11 protocol was deliberately designed to be modular and extensible allowing interesting and useful features to be added while maintaining backwards compatibility. An X server is responsible for controlling the video card on a system. An X client, for example a graphical text editor, communicates with the X server in order to display graphical content. One of the greatest advantages of X is the fact that X clients only communicate with the X server via the X protocol. This means that X clients and X servers can natively and transparently communicate over a network. In fact, they can even be running on entirely different operating systems. The X Consortium, XFree86 and the X.Org Foundation Although originally created and maintained by MIT, responsibility for X was first passed to the X Consortium in 1993, and then The Open Group in The X Consortium and The Open Group maintained the official reference implementation of X, but over time development of official X releases slowed. Starting in 1992, the XFree86 Project ( took the X386 reference source code, optimized it, added device drivers for many different video cards, and integrated support for advanced features such as hardware-accelerated OpenGL. Originally XFree86 only supported x86-compatible hardware, but today it also supports many other architectures, such as Alpha, PowerPC, and Sparc. For many years, XFree86 was the standard Linux X Window System. Eventually XFree86 also began to stagnate. In 2004, internal developer disputes and a license change resulted in a fork of XFree86 and the creation of the X.Org Foundation ( The Open Group gave not only control of the x.org domain to the X.Org Foundation, it also made the X.Org Foundation responsible for the official reference implementation of the X protocol. The X.Org Foundation's main goal is to have a more open and transparent development process. As a result of its more open culture, development of X has again accelerated. Nearly all Linux distributions have switched, or are in the process of switching, from XFree86 to X.Org. 2-6

35 Starting X X already running with a graphical login On Red Hat Enterprise Linux and SUSE Linux Enterprise Server, runlevel 5 by default On Ubuntu, runlevels 2-5 by default From a text virtual terminal login, use startx startx is a shell script that eventually runs xinit can run xinit manually, but by default only starts the X server Starting X X can be started in a variety of ways. Often, X will already be started for you; Linux systems can be configured to boot either to a graphical login screen, or a text login prompt. Starting X on boot Whether Red Hat Enterprise Linux and SUSE Linux Enterprise Server boots by default to a text-based login, or to a graphical login, is controlled by the /etc/inittab file. To configure the system boot to a text login prompt, make the following change: File: /etc/inittab - id:5:initdefault: + id:3:initdefault: To configure the system to start with a graphical login, the following line would be present in the /etc/inittab file: File: /etc/inittab - id:3:initdefault: + id:5:initdefault: Starting X at boot on Ubuntu Whether Ubuntu boots to a text-based login, or graphical login, by default is controlled by whether or not the graphical login manager is installed. To configure the system to no longer boot to a graphical login, while leaving the display manager installed, requires a modification to the GRUB boot loader: File: /etc/default/grub GRUB_CMDLINE_LINUX="text" To complete this change, run the update-grub command. $ sudo update-grub The display manager can be manually started from its init script in the /etc/init.d/ directory, or using the service or start command. To reenable the display manager, revert the change made to /etc/default/grub. $ sudo sed -i 's/text//' /etc/default/grub $ sudo update-grub Starting X manually If X is not started automatically, you can start it manually by running the X command to start just the X server, or xinit to start the X server and a single xterm (but no window manager), or startx to start a more usable, full-featured graphical environment. Since X is modular, you can control exactly how much of it you start. Accessing Virtual Terminal Running one or more X graphical servers on a system does not preclude having simultaneous text login sessions. Each graphical or 2-7

36 text session will be associated with a virtual terminal. The first twelve virtual terminals can be accessed by pressing Ô Ä through Ô Ï respectively (when in X, Ó is also necessary). Optionally, using Ô or Ô works when not in X and can be used to access high numbered terminals (moving sequentially from one terminal to the next). 2-8

37 Gathering Login Session Info Who are you really? UID user id GID group id terminal: tty, pts, etc. Commands for gathering information: id id -un whoami id -Gn groups tty Identifying Users, Groups, and Terminals Although it is common to identify users by their username, at a lower level the system uses simple numbers to identify the various users on the system. Each user account on the system is associated with a user identification number called the UID. This UID identifies the user, and is used to track processes and files created by that user. For ease of administration and use, Linux makes use of a group scheme. Each group defined on the system has both a name and a unique identification number called a GID. Although a user may be a member of several groups on the system, they can only have one group active at any given instant. When you are interacting with the system, some type of terminal will be associated with your session. Following the Unix design philosophy mentioned earlier, terminals are represented on the system as files. The following list shows several types of logins, and the ttys used by each: Serial terminals /dev/ttys0, /dev/ttys1, etc. Virtual terminal /dev/tty0, /dev/tty1, etc. Network connected terminals (i.e. via ssh) /dev/pts/x Text terminals in an X Window System terminal emulator /dev/pts/x 2-9

38 Gathering System Info Who else is logged into the system? users who w finger What type of system is this? uname -a free What is the system's network name hostname ip and ifconfig Determining Who is Using the System On a multi-user system, sometimes it is helpful to see which other users are currently logged onto the system. Maybe you just want to send a quick message to the console of a friend, or perhaps you want to run a process that you know will largely monopolize a certain resource on the system, and you want to wait for a time when system usage is low. Even more likely, you notice that some resource is being largely consumed (memory, CPU, disk, etc.) and you want to see who is using it so you can go complain. Linux provides several commands such as users, who, w and finger that allow you to query the system and determine who is currently logged on, as well as gain other useful information such as: y when they logged on y how long they have been idle y what process they are currently running y what tty they are attached to Many of the commands mentioned above return largely the same information, differing only in supported options, how they obtain the information, or in the formatting of the output. The amount of physical memory in the system and usage can be obtained by running the free command. The uname command can be used to list information about the host to which you are currently connected. If your terminal prompt does not list the host name of the system, it is very easy to forget on which system that terminal is connected. This is further complicated by the fact that it is not at all uncommon to have multiple terminals open simultaneously, connected to different machines. Networking Details To determine network details, the hostname command can be used to determine the hostname as well as the domain name. To view just the hostname, type: $ hostname -s To view the domain name run: $ hostname -d To view IP settings run the command ip addr. To see what DNS servers are configured look in the file /etc/resolv.conf. 2-10

39 got root? Many operating systems have the concept of a super user This super, or privileged, user has special access rights and privileges on the system The root user is the privileged user on most Unix systems Has the user ID (UID) of zero (0) root Many network operating systems support the concept of a privileged user. On Linux (as on most Unix systems), this user is called the root user. The root user is in many respects all-powerful on the system. Below is a short list of some of the things that the root user can do: y Change to any directory and read and write to files regardless of the permissions set on those files y Install software and make it available system wide (because root can create/modify/delete files anywhere) y Modify device settings y Modify the network configuration y Change the time on the system y Add/modify/remove users on the system y Assume the identity of any user on the system Although the name of the all-powerful, privileged user is normally root, the name assigned to the user is not actually important. The system identifies users by assigning a number to each called the user identifier or UID. The privileged user is identified by the UID of 0. However, it is recommended that the root user name not be changed, as there are some user-space pieces that actually look at the username rather than the UID. [U1204] The following applies to U12.04 only: On Ubuntu the root account is disabled, though present, by default. 2-11

40 Switching User Contexts su: launch a new shell as another user (using the target user's credentials) Use - -l --login to inherit login profile Default user is root sudo: run a single command with another user's privilege Remembers authentication per-terminal (typically five minutes) Configuration affects authentication and available privilege (/etc/sudoers) Switching User Contexts On a multi-user system, an individual may have more than one account. Logged in from one account, there may be a need to do something using another account. This would require the following procedure: 1. log out 2. log in using the new account 3. execute the needed commands 4. log out of the new account 5. log back in using the old account To avoid the above, use the substitute user command (su) to temporarily use the other account. For example: 1. type su - new_username 2. execute the needed commands 3. type exit to return to the old user account The original purpose of the su command was to perform system administration tasks as the root user. This remains its most common use. Unfortunately, in an attempt to avoid being forced to switch between accounts, new users are often tempted to log in initially as root. Using the root account to perform routine tasks is a bad idea! The sudo command provides administrative access using user authorization. For example: configuration), type sudo -i. y To run a single command using another user's privilege, type sudo command_name. In both cases, the sudo command will ask for the user's password, and based on the configuration in the file /etc/sudoers, will allow the user to execute an administrative command. sudo remembers authentication by username and terminal, typically for five minutes. To extend the time out, run sudo -v. To cancel the time out, run sudo -k. [S11] The following applies to SLES11 only: By default, the sudo command on SUSE Linux Enterprise Server will ask for the root user's password, the default target user. [U1204] The following applies to U12.04 only: Ubuntu has disabled the root account by default, relying solely on sudo for administration. See the sudo_root(8) man page for details. y To switch to a login shell (typically root's, depending on 2-12

41 sudo sudo a more powerful su more fine-grained security able to log commands sudoedit a safer way to edit files sudo -e visudo a safer way to manage sudo /etc/sudoers Replacing su with sudo sudo -i Using sudo with ssh ssh -t hostname "sudo reboot" Delegating Privileges sudo makes it possible to run commands as a different user. It can be used to replace or complement su. In most situations, sudo is superior because it supports more fine-grained configuration. When evaluating security rules, sudo considers many variables including: y The command being run y Arguments being passed to the command y The user launching the command y The user the command will run as y The host the command will run on By default, sudo logs all commands to syslog. It can also be configured to log to another file. Unless a different user is requested, sudo runs commands as root. Unlike su, by default sudo does not prompt for the target user's password. Instead, the user is required to re-authenticate using his or her own password. For example: $ sudo reboot [sudo] password for guru: work Õ... output omitted... [S11] The following applies to SLES11 only: SLES11 changes the default behavior of sudo by enabling the targetpw option. Instead of requiring the user's own password, the target user's password is required. This is done so that all users can be safely allowed to use sudo without first being granted permission by an administrator. $ sudo reboot root's password: makeitso Õ... output omitted... Editing Files with sudo Failure to consider edge conditions when configuring sudo can compromise system security. For example, a user permitted to run "sudo vi some_file" can get complete root access by typing ":!/bin/bash" within vi. When granting a user permission to edit files, using the sudoedit command may be safer. When launched as either sudoedit or sudo -e, sudo will make a temporary copy of the file to be edited then launch an editor running with normal user privileges. When the user finishes editing, the contents of the file will be copied back. However, creating temporary copies may not be appropriate for sensitive files. Configuring sudo sudo security rules are defined in /etc/sudoers. The visudo command should be used when editing /etc/sudoers because it prevents simultaneous modifications, and it verifies syntax to prevent typos or other mistakes in the configuration file. 2-13

42 File: /etc/sudoers %wheel ALL = (ALL) NOPASSWD: ALL %operator ALL = /usr/local/bin/backup,a /usr/sbin/lpc, /usr/sbin/lprm guru = sudoedit /etc/hosts.allow In this example, members of group wheel can run any command on any host without entering a password. Members of group operator can run backup and printing commands on any host. And guru can edit /etc/hosts.allow using sudoedit only on a host named Replacing su with sudo To launch an interactive shell, similar to default behavior of the su command, use the -i option. For example: $ sudo -i [sudo] password for guru: work Õ # whoami root Using sudo with ssh When the requiretty option is enabled in /etc/sudoers, sudo can not be used as part of an ssh command unless the -t option is used. For example: $ ssh station1.example.com "sudo service cups restart" sudo: sorry, you must have a tty to run sudo $ ssh -t station1.example.com "sudo service cups restart"... output omitted (cups is restarted)

43 Help from Commands and Documentation command --help Documentation for installed packages RHEL6 /usr/share/doc/package_name-version SLES11 /usr/share/doc/packages/package_name U12.04 /usr/share/doc/package_name Shipped or online distribution documentation Linux Documentation Project - TLDP Online help: web sites, FAQs, Howtos, newsgroups, mailing lists Linux User Group(s) (LUGs) membership typically by mailing list subscription (no dues) monthly presentations/meetings Getting Help Most commands have some basic help features built-in. If you type a GNU command with the --help option, you will get at least a list of the supported options. Most Unix commands will print a usage summary if an incorrect option or argument is used. Some commands have a dedicated option to print the usage summary, which in some cases includes descriptions of the options and arguments printed. The Linux community has produced lots of documentation to assist users. One of the most organized and ambitious projects of this nature is The Linux Documentation Project (TLDP). This goal is stated in their manifesto: The Linux Documentation Project is working on developing free, high quality documentation for the GNU/Linux operating system. The overall goal of the TLDP is to collaborate in all of the issues of Linux documentation. This includes the creation of HOWTOs and Guides. We hope to establish a system of documentation for Linux that will be easy to use and search. This includes the integration of the manual pages, info docs, HOWTOs, and other documents. TLDP's goal is to create the canonical set of free Linux documentation. While online (and downloadable) documentation can be frequently updated in order to stay on top of the many changes in the Linux world, we also like to see the same docs included on CDs and printed in books. Help Syntax When invoking a command with the --help option, a usage summary with option descriptions will be printed to the screen. This uses syntax which may not be readily identifiable: $ date --help Usage: date [OPTION]... [+FORMAT] or: date [-u --utc --universal] [MMDDhhmm[[CC]YY][.ss]] For instance, capital letters (angle brackets < > are sometimes used) specify a variable: OPTION. This variable is enclosed in square brackets, indicating an optional argument. Also, a vertical bar ( ) separates arguments where only one in a list can be chosen: [-u --utc --universal]. Ellipses (...) are used to specify that more than one argument may follow. Finally, notice the difference in types of optional arguments: GNU long (--universal), SysV or POSIX (-u), and those often called BSD style (such as in ps ax). 2-15

44 Getting Help with man & info It may seem cryptic, but at least it's well-documented man [section] name man sections useful options info created by the GNU project meant as a "superior" replacement for man uses HTML like navigation with links if info pages exist, they usually provide better documentation than the corresponding man page use pinfo to view pages Getting Help If you are new to Linux, and especially if you have no previous experience using the system from the command line, you may feel intimidated or even confused by the commands. Some commands have what seem to be countless different options, each causing the command to behave in a slightly different manner. Often, even the names of the commands can seem non-intuitive and confusing. Fear not! What at first may seem like an insurmountable task is actually far easier than you may think. Linux has excellent online documentation for the commands and programs found on the system. After learning the help systems, and practicing with the commands, soon what you once found short and cryptic you may consider efficient and elegant. Commands that you thought had far too many options you will soon describe as flexible or versatile. The mainstays for command line help are the electronic manual pages commonly called "man pages." Almost all of the commands on the system have corresponding man pages, and when new software is installed it usually comes with additional man pages. Man pages are organized into sections or books that group similar things together. Although additional sections can be added, the following sections are defined by default: man Sections: (1) User Commands (2) System Calls (3) Subroutines (4) Devices (5) File Formats (6) Games (7) Miscellaneous (8) System Administration (n) new (used for writing and testing new and/or updated man pages for other sections) The man command will search the sections in the following order: 1,8,2,3,4,5,6,7,n. Usually this will not be a problem, but occasionally you will be looking for help on a command that is found in several sections. In this case, man will return the page for the first instance it finds. For example, suppose you are adding a new task to the system crontab and need to check syntax for the file. You type man crontab and get this output: 2-16

45 CRONTAB(1) CRONTAB(1) NAME crontab - maintain crontab files for individual users (V3) SYNOPSIS crontab [ -u user ] file crontab [ -u user ] [ -l -r -e ] DESCRIPTION Crontab is the program used to install, deinstall or list the... snip... This is not what you were after, and you notice that the very first line of output starts with CRONTAB(1) indicating that this page is from section one. To override the normal search order of the man command, you type man 5 crontab and get the output you were after: CRONTAB(5) CRONTAB(5) NAME crontab - tables for driving cron DESCRIPTION A crontab file contains instructions to the cron(8) daemon of the general form: ``run this command at this time on this date'... snip... Notice the CRONTAB(5) convention of referring to the manual and its chapter. This was a convention started in the first Unix Programmer's Manual, which was broke up alphabetically into chapters. When looking at the manual online (on the system, not the Internet), it means type man 5 crontab. It is therefore common to see 'crontab(5)' as a way to reference the crontab entry in chapter 5 of the manual. Another command for getting help is the info command. info is similar to man and just requires one parameter, the command you want help on. info organizes help into different topic pages with links leading from page to page. It is the format preferred by the FSF to man pages, and if the software, or command, in question is from the FSF, the info pages will likely be more complete than the man pages for that command. A good viewer to use to read info pages is pinfo. Also, the Emacs editor provides an excellent info viewer, (info was originally designed as the documentation system for Emacs). 2-17

46 Graphical Help The Linux Programmer's Manual and GNU info manuals can be viewed graphically with the GNOME yelp command, or the KDE Help Center (the khelpcenter command). Yelp can also be used with GNOME applications. The KDE Help Center can also be used with any KDE application. In GNOME, typing Ä will bring up an active program's documentation. In KDE, individual application handbooks can be located from the Help menu. [R6 S11] The following applies to RHEL6/SLES11 only: [S11 U1204] The following applies to SLES11/U12.04 only: The xman command can also be used to browse man pages. 2-18

LINUX FUNDAMENTALS. Supported Distributions: Red Hat Enterprise Linux 6 SUSE Linux Enterprise 11 Ubuntu LTS. Recommended Class Length: 5 days

LINUX FUNDAMENTALS. Supported Distributions: Red Hat Enterprise Linux 6 SUSE Linux Enterprise 11 Ubuntu LTS. Recommended Class Length: 5 days LINUX FUNDAMENTALS The course is a challenging course that focuses on the fundamental tools and concepts of Linux and Unix. Students gain proficiency using the command line. Beginners develop a solid foundation

More information

Prerequisites: Students should be comfortable with computers. No familiarity with Linux or other Unix operating systems is required.

Prerequisites: Students should be comfortable with computers. No familiarity with Linux or other Unix operating systems is required. GL-120: Linux Fundamentals Course Length: 4 days Course Description: The GL120 is a challenging course that focuses on the fundamental tools and concepts of Linux and Unix. Students gain proficiency using

More information

Linux Fundamentals (GL120) U8583S

Linux Fundamentals (GL120) U8583S Course data sheet Linux Fundamentals (GL120) U8583S HPE course number Course length Delivery mode View schedule, local pricing, and register View related courses Why HPE Education Services? U8583S 5 days

More information

LINUX FUNDAMENTALS (5 Day)

LINUX FUNDAMENTALS (5 Day) www.peaklearningllc.com LINUX FUNDAMENTALS (5 Day) Designed to provide the essential skills needed to be proficient at the Unix or Linux command line. This challenging course focuses on the fundamental

More information

The student will have the essential skills needed to be proficient at the Unix or Linux command line.

The student will have the essential skills needed to be proficient at the Unix or Linux command line. Table of Contents Introduction Audience At Course Completion Prerequisites Certified Professional Exams Student Materials Course Outline Introduction This challenging course focuses on the fundamental

More information

Linux Fundamentals (L-120)

Linux Fundamentals (L-120) Linux Fundamentals (L-120) Modality: Virtual Classroom Duration: 5 Days SUBSCRIPTION: Master, Master Plus About this course: This is a challenging course that focuses on the fundamental tools and concepts

More information

Prerequisites: General computing knowledge and experience. No prior knowledge with Linux is required. Supported Distributions:

Prerequisites: General computing knowledge and experience. No prior knowledge with Linux is required. Supported Distributions: This course prepares students to take the 101 exam of the LPI level 1 certification. The Linux Professional Institute (LPI) is the go to certification body for vendor independent Linux certifications.

More information

client X11 Linux workstation

client X11 Linux workstation LPIC1 LPIC Linux: System Administrator LPIC 1 LPI command line LPIC-1 Linux LPIC-1 client X11 Linux workstation Unix GNU Linux Fundamentals Unix and its Design Principles FSF and GNU GPL - General Public

More information

Prerequisites: Students must be proficient in general computing skills but not necessarily experienced with Linux or Unix. Supported Distributions:

Prerequisites: Students must be proficient in general computing skills but not necessarily experienced with Linux or Unix. Supported Distributions: This GL124 course is designed to follow an identical set of topics as the Red Hat RH124 course with the added benefit of very comprehensive lab exercises and detailed lecture material. The Red Hat Enterprise

More information

1Z Oracle Linux Fundamentals (Oracle Partner Network) Exam Summary Syllabus Questions

1Z Oracle Linux Fundamentals (Oracle Partner Network) Exam Summary Syllabus Questions 1Z0-409 Oracle Linux Fundamentals (Oracle Partner Network) Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-409 Exam on Oracle Linux Fundamentals (Oracle Partner Network)... 2 Oracle

More information

COURSE OUTLINE. UNIX Programming 2014 Fall by Euiseong Seo

COURSE OUTLINE. UNIX Programming 2014 Fall by Euiseong Seo COURSE OUTLINE UNIX Programming 2014 Fall by Euiseong Seo Overview What this course is about Who teaches this course Why you have to take this course What you will learn in this course What you will earn

More information

Unix to Linux. CS 3113 Fall 2018 Dr. Christan Grant

Unix to Linux. CS 3113 Fall 2018 Dr. Christan Grant Unix to Linux CS 3113 Fall 2018 Dr. Christan Grant Outline A Brief History of Unix, C, Linux and the people involved. 2 https://commons.wikimedia.org/wiki/file:unix_history-simple.png 3 UNIX Unix definitions

More information

Introduction to Linux

Introduction to Linux Introduction to Operating Systems All computers that we interact with run an operating system There are several popular operating systems Operating Systems OS consists of a suite of basic software Operating

More information

Computer System Management - Unix/Linux

Computer System Management - Unix/Linux Computer System Management - Unix/Linux Amarjeet Singh August 30, 2011 Partly adopted from Computer System Management Slides by Navpreet Singh Logistics Learn-it-yourself topic assignment Many students

More information

a story of alternatives

a story of alternatives a story of alternatives There was a time when computers were big... really big. For the next 30 or so years computers would find a place in the academic institution, government agency and corporation.

More information

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1 Linux Essentials Smith, Roderick W. ISBN-13: 9781118106792 Table of Contents Introduction xvii Chapter 1 Selecting an Operating System 1 What Is an OS? 1 What Is a Kernel? 1 What Else Identifies an OS?

More information

History of Unix, Linux and the Open Source

History of Unix, Linux and the Open Source History of Unix, Linux and the Open Source 12.2.2012 George Ajam College of Science /Computer Science Dept. DEC PDP 7 History of UNIX 1969: First version of "Unics" by Ken Thompson and Dennis Richie Multi

More information

Introduction to Linux Overview and Some History

Introduction to Linux Overview and Some History Introduction to Linux Overview and Some History Computational Science and Engineering North Carolina A&T State University Instructor: Dr. K. M. Flurchick Email: kmflurch@ncat.edu Operating Systems and

More information

Brief Linux Presentation. July 10th, 2006 Elan Borenstein

Brief Linux Presentation. July 10th, 2006 Elan Borenstein Brief Linux Presentation July 10th, 2006 Elan Borenstein History 1965 - Bell Labs (AT&T), GE and MIT Project to develop a new (multiuser, multitasking) operating system - MULTICS. (not successful) History

More information

Practical Computing-II. Programming in the Linux Environment. 0. An Introduction. B.W.Gore. March 20, 2015

Practical Computing-II. Programming in the Linux Environment. 0. An Introduction. B.W.Gore. March 20, 2015 Practical Computing-II March 20, 2015 0. An Introduction About The Course CMS M.2.2 Practical Computing-II About The Course CMS M.2.2 Practical Computing-II 25 credits (33.33% weighting) About The Course

More information

Introduction To Linux. Rob Thomas - ACRC

Introduction To Linux. Rob Thomas - ACRC Introduction To Linux Rob Thomas - ACRC What Is Linux A free Operating System based on UNIX (TM) An operating system originating at Bell Labs. circa 1969 in the USA More of this later... Why Linux? Free

More information

CS108 Software Systems: UNIX. Fall 2011

CS108 Software Systems: UNIX. Fall 2011 CS108 Software Systems: UNIX Fall 2011 CS108 Fall 2011 2 Course Info cs.utexas.edu/ edwardsj/teaching/2011fall/cs108 CS108 Fall 2011 3 Why Linux? Multi-user, multi-process operating system Open-source

More information

Linux for Beginners. Windows users should download putty or bitvise:

Linux for Beginners. Windows users should download putty or bitvise: Linux for Beginners Windows users should download putty or bitvise: https://putty.org/ Brief History UNIX (1969) written in PDP-7 assembly, not portable, and designed for programmers as a reaction by Bell

More information

Overview of Unix / Linux operating systems

Overview of Unix / Linux operating systems Overview of Unix / Linux operating systems Mohammad S. Hasan Staffordshire University, UK Overview of Unix / Linux operating systems Slide 1 Lecture Outline History and development of Unix / Linux Early

More information

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions Lanka Education and Research Network Linux Architecture, Linux File System, Linux Basic Commands 28 th November 2016 Dilum Samarasinhe () Overview History of Linux Linux Architecture Linux File System

More information

LPI102 EXAM PREPARATION LPIC-1 (LINUX PROFESSIONAL INSTITUTE)

LPI102 EXAM PREPARATION LPIC-1 (LINUX PROFESSIONAL INSTITUTE) LPI102 EXAM PREPARATION LPIC-1 (LINUX PROFESSIONAL INSTITUTE) COURSE DESCRIPTION: This course prepares students to take the LPI 102 exam of the LPI level 1 certification. The LPI objectives covered are

More information

tech. solutions T2G Page1 ALT_01_Ch1 : Introduction to Linux ideas and history The History of Linux starts with the earlier development of UNIX.

tech. solutions T2G Page1 ALT_01_Ch1 : Introduction to Linux ideas and history The History of Linux starts with the earlier development of UNIX. Page1 ALT_01_Ch1 : Introduction to Linux ideas and history The History of Linux starts with the earlier development of UNIX. UNIX In 1969-1970, Kenneth Thompson, Dennis Ritchie, and others at AT&T Bell

More information

ULI101 Introduction to Unix and Linux Week 1 Origin and History of Unix

ULI101 Introduction to Unix and Linux Week 1 Origin and History of Unix ULI101 Introduction to Unix and Linux Week 1 Origin and History of Unix 1. Welcome to ULI101! This Internet has become part of our daily lives. This course introduces you to the operating system and network

More information

Systems Programming. The Unix/Linux Operating System

Systems Programming. The Unix/Linux Operating System Systems Programming The Unix/Linux Operating System 1 What is UNIX? A modern computer operating system Operating system: a program that acts as an intermediary between a user of the computer and the computer

More information

Chapter 01: Introduction to Linux

Chapter 01: Introduction to Linux True / False 1. Open Source Software (OSS) is freely developed and continuously improved by a large community of software developers ANSWER: True 2. The term hacker refers to someone who illegally uses

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Kisik Jeong (kisik@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Basics of system administration on a Unix system

Basics of system administration on a Unix system Basics of system administration on a Unix system Contents Introduction 3 Unix 9 User environment: the shell 10 File management: starting from / 11 Text editing 12 Package management 13 User management

More information

Linux Introduction. Simon COTER Director of Product Management Oracle VM & VirtualBox

Linux Introduction. Simon COTER Director of Product Management Oracle VM & VirtualBox Linux Introduction Simon COTER Director of Product Management Oracle VM & VirtualBox simon.coter@oracle.com https://blogs.oracle.com/scoter December 19 th, 2018 Safe Harbor Statement The following is intended

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

CNT 4603, Spring 2009: Introduction

CNT 4603, Spring 2009: Introduction , : A practical hands-on approach Also higher-level concepts Expertise is distributed: system administration happens everywhere from your PC to large servers, and system administration is generally collaborative.

More information

Linux Essentials Objectives Topics:

Linux Essentials Objectives Topics: Linux Essentials Linux Essentials is a professional development certificate program that covers basic knowledge for those working and studying Open Source and various distributions of Linux. Exam Objectives

More information

Welcome to ULI101! The Internet has become part of our daily lives.

Welcome to ULI101! The Internet has become part of our daily lives. ULI101 Week 01 Week Overview Course introduction Obtaining your Seneca accounts Changing passwords The Matrix server The role of an operating system *nix overview Open source philosophy Linux GUI The terminal

More information

"Charting the Course... MOC B: Linux System Administration. Course Summary

Charting the Course... MOC B: Linux System Administration. Course Summary Description Course Summary This four-day instructor-led course is designed to provide students with the necessary skills and abilities to work as a professional Linux system administrator. The course covers

More information

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an

More information

Introduction to Linux

Introduction to Linux Introduction to Linux University of Bristol - Advance Computing Research Centre 1 / 47 Operating Systems Program running all the time Interfaces between other programs and hardware Provides abstractions

More information

Free & Open Source Software: The Academic Future

Free & Open Source Software: The Academic Future Free & Open Source Software: The Academic Future Paul E. Johnson University of Kansas http://lark.cc.ku.edu/~pauljohn Presentation at Ukrainian National University of L'viv May 27, 2005

More information

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023 Operating Systems Autumn 2017-2018 Outline 1 2 What is an Operating System? From the user s point of view an OS is: A program that acts as an intermediary between a user of a computer and the computer

More information

CNT 5605, Fall 2009: Introduction

CNT 5605, Fall 2009: Introduction , Fall 2009: A practical hands-on approach. We will build new servers and configure them with a variety of packages. Expertise is distributed: system administration happens everywhere from your PC to large

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon Han(sanghoon.han@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Announcement (1) Please come

More information

Introduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview

Introduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview Introduction to Operating Systems Note Packet # 1 CSN 115 Operating Systems Genesee Community College CSN Lab Overview Dual booted Windows/Linux Workstations Linux workstations currently run CentOS and

More information

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG *nix Crash Course Presented by: Virginia Tech Linux / Unix Users Group VTLUUG Ubuntu LiveCD No information on your hard-drive will be modified. Gives you a working Linux system without having to install

More information

At course completion. Overview. Audience profile. Course Outline. : 55187B: Linux System Administration. Course Outline :: 55187B::

At course completion. Overview. Audience profile. Course Outline. : 55187B: Linux System Administration. Course Outline :: 55187B:: Module Title Duration : 55187B: Linux System Administration : 4 days Overview This four-day instructor-led course is designed to provide students with the necessary skills and abilities to work as a professional

More information

Introduction to Open Source. Marco Zennaro Carlo Fonda

Introduction to Open Source. Marco Zennaro Carlo Fonda Introduction to Open Source Marco Zennaro mzennaro@ictp.it Carlo Fonda cfonda@ictp.it Agenda Open Source Linux Linux history Distributions License Types OS and Development OS Definition Why is it called

More information

www highskills pt pt

www highskills pt pt Linux Basic Administration Objetivos Gerais Este curso é dirigido a todos os que pretendem tornar-se profissionais em Linux, e pretende dotar os participantes dos conhecimentos técnicos e experiência nas

More information

UNIX. The Very 10 Short Howto for beginners. Soon-Hyung Yook. March 27, Soon-Hyung Yook UNIX March 27, / 29

UNIX. The Very 10 Short Howto for beginners. Soon-Hyung Yook. March 27, Soon-Hyung Yook UNIX March 27, / 29 UNIX The Very 10 Short Howto for beginners Soon-Hyung Yook March 27, 2015 Soon-Hyung Yook UNIX March 27, 2015 1 / 29 Table of Contents 1 History of Unix 2 What is UNIX? 3 What is Linux? 4 How does Unix

More information

ENTERPRISE LINUX SYSTEM ADMINISTRATION

ENTERPRISE LINUX SYSTEM ADMINISTRATION ENTERPRISE LINUX SYSTEM ADMINISTRATION COURSE DESCRIPTION: The GL250 is an in-depth course that explores installation, configuration and maintenance of Linux systems. The course focuses on issues universal

More information

Projects and Environment Introduction

Projects and Environment Introduction Projects and Environment Introduction A lot to go over today History of Linux Projects Overview Project partners Programming environment Programming language Useful Tools History of Linux The Beginning:

More information

Acronis Backup Version 11.5 Update 6 INSTALLATION GUIDE. For Linux Server APPLIES TO THE FOLLOWING PRODUCTS

Acronis Backup Version 11.5 Update 6 INSTALLATION GUIDE. For Linux Server APPLIES TO THE FOLLOWING PRODUCTS Acronis Backup Version 11.5 Update 6 APPLIES TO THE FOLLOWING PRODUCTS For Linux Server INSTALLATION GUIDE Copyright Statement Copyright Acronis International GmbH, 2002-2015. All rights reserved. Acronis

More information

Unix/Linux: History and Philosophy

Unix/Linux: History and Philosophy Unix/Linux: History and Philosophy History and Background Multics project Unix Linux Multiplexed Information and Computing Service Collaborative venture between General Electric, Bell Telephone Labs, and

More information

ICT and Open Source Software

ICT and Open Source Software ICT and Open Source Software ITU/ICTP Workshop on New Radiocommunication Technologies for ICT in Developing Countries Africa Region Trieste-Italy, 17-21 May 2004 Marco Zennaro mzennaro@ictp.trieste.it

More information

Mastering Linux. Paul S. Wang. CRC Press. Taylor & Francis Group. Taylor & Francis Croup an informa business. A CHAPMAN St HALL BOOK

Mastering Linux. Paul S. Wang. CRC Press. Taylor & Francis Group. Taylor & Francis Croup an informa business. A CHAPMAN St HALL BOOK Mastering Linux Paul S. Wang CRC Press Taylor & Francis Group Boca Raton London New York CRC Press is an Imprint of the Taylor & Francis Croup an informa business A CHAPMAN St HALL BOOK Contents Preface

More information

UNIX Concepts COMPSCI 386

UNIX Concepts COMPSCI 386 UNIX Concepts COMPSCI 386 Topics History of C and UNIX The GNU Project Linux Command-Line Basics UNIX-Style File System Multics Multiplexed Information and Computing Service Time-sharing system for mainframes

More information

COPYRIGHTED MATERIAL. Unix Fundamentals. Brief History

COPYRIGHTED MATERIAL. Unix Fundamentals. Brief History 1 Unix Fundamentals The Unix operating system was created more than 30 years ago by a group of researchers at AT&T s Bell Laboratories. During the three decades of constant development that have followed,

More information

CompTIA Linux Course Overview. Prerequisites/Audience. Course Outline. Exam Code: XK0-002 Course Length: 5 Days

CompTIA Linux Course Overview. Prerequisites/Audience. Course Outline. Exam Code: XK0-002 Course Length: 5 Days CompTIA Linux+ 2009 Exam Code: XK0-002 Course Length: 5 Days Course Overview This instructor-led course will prepare students for the 2009 CompTIA Linux+ certification exam. It provides a comprehensive

More information

Cucumber Linux Distribution

Cucumber Linux Distribution An Overview of How I Created the Cucumber Linux Distribution Scott Court February 16, 2018 Who am I? What is Cucumber Linux? A Linux distribution built entirely from source, from scratch An independent

More information

How to Use This Lab Manual

How to Use This Lab Manual 3 Contents How to Use This Lab Manual........................................ 5 Lab 1: Setting Up the Student System.................................. 7 Lab 2: Installing Fedora............................................

More information

Course Outline. LPIC-1 Exam 1 - Linux Server Professional Certification V4.0 (Course & Labs)

Course Outline. LPIC-1 Exam 1 - Linux Server Professional Certification V4.0 (Course & Labs) Course Outline LPIC-1 Exam 1 - Linux Server Professional Certification V4.0 (Course & Labs) 17 Dec 2018 Contents 1. Course Objective 2. Pre-Assessment 3. Exercises, Quizzes, Flashcards & Glossary Number

More information

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018 EECS 470 Lab 5 Linux Shell Scripting Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 1 st February, 2018 (University of Michigan) Lab 5:

More information

Perl and R Scripting for Biologists

Perl and R Scripting for Biologists Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications

More information

History of Unix and Linux

History of Unix and Linux License and cost Linux stand for Linus Unix. Linux originally developed by Linus Tarwalds of Finland, who currently owns the Linux trademark. Linux is Free (as in beer [freedom]). Using the open source

More information

Scientific Computing I

Scientific Computing I Scientific Computing I Linux and the Commandline Jens Saak Computational Methods in Systems and Control Theory (CSC) Max Planck Institute for Dynamics of Complex Technical Systems Winter Term 2016/2017

More information

RHCSA Rapid Track Course (RH199)

RHCSA Rapid Track Course (RH199) RHCSA Rapid Track Course (RH199) DESCRIPTION: Course overview On completion of course materials, students should be prepared to take the Red Hat Certified System Administrator (RHCSA) exam. Note: This

More information

UNIX and Linux Essentials Student Guide

UNIX and Linux Essentials Student Guide UNIX and Linux Essentials Student Guide D76989GC10 Edition 1.0 June 2012 D77816 Authors Uma Sannasi Pardeep Sharma Technical Contributor and Reviewer Harald van Breederode Editors Anwesha Ray Raj Kumar

More information

Learning Linux! Labs and more labs!

Learning Linux! Labs and more labs! Developing Technology Professionals www.netdevgroup.com Thank you. Learning Linux! Labs and more labs! Speaker name: Richard Weeks Title : President Date : 7/26/16 Who is NDG? www.netdevgroup.com Focus:

More information

OpenNMS User Guide

OpenNMS User Guide OpenNMS 1.9.0 User Guide A User's Manual for OpenNMS Mike Danko User Guide Draft OpenNMS 1.9.0 User Guide A User's Manual for OpenNMS Edition 0 Author Mike Danko mike@l4m3.com Copyright 2010 The OpenNMS

More information

TNM093 Practical Data Visualization and Virtual Reality Laboratory Platform

TNM093 Practical Data Visualization and Virtual Reality Laboratory Platform November 8, 2016 1 Introduction The laboratory exercises in this course are to be conducted in an environment that might not be familiar to many of you. It is based on open source software. We use an open

More information

Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12)

Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12) Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12) Objective: Learn some basic aspects of the UNIX operating system and how to use it. What is UNIX? UNIX is the operating system used by most computers

More information

SA2 v6 Linux System Administration II Net Configuration, Software, Troubleshooting

SA2 v6 Linux System Administration II Net Configuration, Software, Troubleshooting SA2 v6 Linux System Administration II Net Configuration, Software, Troubleshooting Synopsis: This is the second System Administration class, a follow-on class for new administrators with limited networking

More information

Operating System Labs. Yuanbin Wu

Operating System Labs. Yuanbin Wu Operating System Labs Yuanbin Wu cs@ecnu Operating System Labs Introduction to Unix (*nix) Course Overview Operating System Labs Introduction to Unix (*nix) Course Overview Unix / *nix What A family of

More information

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines Introduction to UNIX Logging in Basic system architecture Getting help Intro to shell (tcsh) Basic UNIX File Maintenance Intro to emacs I/O Redirection Shell scripts Logging in most systems have graphical

More information

Linux Operating System

Linux Operating System Linux Operating System IT250 Unit 1 Chapters 1, 2, and 3 An Introduction to Linux Linux Operating Systems Wednesday, 9:00 am 1:20 pm Attendance is Mandatory! Each class may begin with a quiz from previous

More information

Downloading and installing Db2 Developer Community Edition on Ubuntu Linux Roger E. Sanders Yujing Ke Published on October 24, 2018

Downloading and installing Db2 Developer Community Edition on Ubuntu Linux Roger E. Sanders Yujing Ke Published on October 24, 2018 Downloading and installing Db2 Developer Community Edition on Ubuntu Linux Roger E. Sanders Yujing Ke Published on October 24, 2018 This guide will help you download and install IBM Db2 software, Data

More information

Introduction to Linux

Introduction to Linux Why Linux? Nothing is hidden (opensource is good for education) It runs anywhere, on almost anything Android, OS X, Raspberry Pi, Old PCs Low resource requirements You are likely to use it in your job,

More information

Course Wiki. Today s Topics. Web Resources. Amazon EC2. Linux. Apache PHP. Workflow and Tools. Extensible Networking Platform 1

Course Wiki. Today s Topics. Web Resources. Amazon EC2. Linux. Apache PHP. Workflow and Tools. Extensible Networking Platform 1 Today s Topics Web Resources Amazon EC2 Linux Apache PHP Workflow and Tools Extensible Networking Platform 1 1 - CSE 330 Creative Programming and Rapid Prototyping Course Wiki Extensible Networking Platform

More information

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Introduction to Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Why OS? 2 What is an OS? Software that converts hardware into

More information

Fedora Core: Made Simple

Fedora Core: Made Simple Table of Contents Installing Fedora...2 Before you begin...2 Compatible Hardware...2 Minimum Requirements...2 Disk Space Requirements...2 Help! Booting from the CD ROM Drive Fails!...2 Installing Fedora

More information

Introduction to Linux (Part I) BUPT/QMUL 2018/03/14

Introduction to Linux (Part I) BUPT/QMUL 2018/03/14 Introduction to Linux (Part I) BUPT/QMUL 2018/03/14 Contents 1. Background on Linux 2. Starting / Finishing 3. Typing Linux Commands 4. Commands to Use Right Away 5. Linux help continued 2 Contents 6.

More information

About the Presentations

About the Presentations About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning of each presentation. You may customize the presentations

More information

An Introduction to Unix Power Tools

An Introduction to Unix Power Tools An to Unix Power Tools Randolph Langley Department of Computer Science Florida State University August 27, 2008 History of Unix Unix Today Command line versus graphical interfaces to COP 4342, Fall History

More information

GNU/Linux Course Lesson 1. Puria Nafisi

GNU/Linux Course Lesson 1. Puria Nafisi GNU/Linux Course Lesson 1 Puria Nafisi Azizi @pna http://netstudent.polito.it Netstudent is an students volunteer association within the Politecnico di Torino. Is build of different people and students

More information

INSTALLING INSTALLING INSTALLING

INSTALLING INSTALLING INSTALLING Architect Version 7.0 Release Notes May 2015 0898600-7.0 READ READ READ ME ME ME BEFORE BEFORE BEFORE INSTALLING INSTALLING INSTALLING THIS THIS THIS PRODUCT PRODUCT PRODUCT Disclaimer The information

More information

Introduction: What is Unix?

Introduction: What is Unix? Introduction Introduction: What is Unix? An operating system Developed at AT&T Bell Labs in the 1960 s Command Line Interpreter GUIs (Window systems) are now available Introduction: Unix vs. Linux Unix

More information

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Introduction to Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics What is OS? History of OS 2 What is OS? (1) Application

More information

CISC 220 fall 2011, set 1: Linux basics

CISC 220 fall 2011, set 1: Linux basics CISC 220: System-Level Programming instructor: Margaret Lamb e-mail: malamb@cs.queensu.ca office: Goodwin 554 office phone: 533-6059 (internal extension 36059) office hours: Tues/Wed/Thurs 2-3 (this week

More information

Linux Session Part I. Kesavan M

Linux Session Part I. Kesavan M Linux Session Part I Kesavan M 180976 Overview What is an Operating System? UNIX History Parts of the UNIX OS Flavors of UNIX Before Linux GNU project Beginning of Linux Linux Today Linux - free software

More information

Computer Architecture Lab 1 (Starting with Linux)

Computer Architecture Lab 1 (Starting with Linux) Computer Architecture Lab 1 (Starting with Linux) Linux is a computer operating system. An operating system consists of the software that manages your computer and lets you run applications on it. The

More information

Red Hat Network Satellite 5.0.0: Virtualization Step by Step

Red Hat Network Satellite 5.0.0: Virtualization Step by Step Red Hat Network Satellite 5.0.0: Virtualization Step by Step By Máirín Duffy, Red Hat Network Engineering Abstract Red Hat Network Satellite 5.0 is the first Satellite release to include virtual platform

More information

CS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang

CS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang Department of Computer Sciences THE UNIVERSITY OF TEXAS AT AUSTIN CS 378 (Spring 2003) Linux Kernel Programming Yongguang Zhang (ygz@cs.utexas.edu) Copyright 2003, Yongguang Zhang Read Me First Everything

More information

CS Operating Systems (OS) Introduction. Lecture 2 Sept 12, 2018

CS Operating Systems (OS) Introduction. Lecture 2 Sept 12, 2018 CS 3305 Operating Systems (OS) Introduction Lecture 2 Sept 12, 2018 Operating System (OS) What is an Operating Systems (OS)? The software layer between user applications and hardware Manages / Optimizes

More information

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we? Topics Operating System What is an OS? OS History OS Concepts OS Structures Introduction Let s Get Started! What is an Operating System? What are some OSes you know? Guess if you are not sure Pick an OS

More information

INSTALLING INSTALLING INSTALLING

INSTALLING INSTALLING INSTALLING Architect Version 6.0 Update 2 Release Notes April 2012 0898600-6.0-2 READ READ READ ME ME ME BEFORE BEFORE BEFORE INSTALLING INSTALLING INSTALLING THIS THIS THIS PRODUCT PRODUCT PRODUCT Disclaimer The

More information

Introduction to Operating Systems

Introduction to Operating Systems Introduction to Operating Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong

More information

Linux Systems Administration Getting Started with Linux

Linux Systems Administration Getting Started with Linux Linux Systems Administration Getting Started with Linux Network Startup Resource Center www.nsrc.org These materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International

More information

Chapter-3. Introduction to Unix: Fundamental Commands

Chapter-3. Introduction to Unix: Fundamental Commands Chapter-3 Introduction to Unix: Fundamental Commands What You Will Learn The fundamental commands of the Unix operating system. Everything told for Unix here is applicable to the Linux operating system

More information

Gateway Guide. Leostream Gateway. Advanced Capacity and Connection Management for Hybrid Clouds

Gateway Guide. Leostream Gateway. Advanced Capacity and Connection Management for Hybrid Clouds Gateway Guide Leostream Gateway Advanced Capacity and Connection Management for Hybrid Clouds Version 9.0 June 2018 Contacting Leostream Leostream Corporation 271 Waverley Oaks Rd Suite 206 Waltham, MA

More information