13. INTRO TO LINUX.pdf

Document Details

ComfortingBauhaus

Uploaded by ComfortingBauhaus

University of Ghana

2021

Tags

Linux operating system open source computing technology

Full Transcript

Introduction to Linux Linux Fundamentals © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Welcome to Introduction to Linux. What you will learn At the core of the lesson You will learn how to: Define Linux Describe the main features...

Introduction to Linux Linux Fundamentals © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Welcome to Introduction to Linux. What you will learn At the core of the lesson You will learn how to: Define Linux Describe the main features and components of the Linux operating system Distinguish the different Linux user interfaces Use the built-in Linux documentation List different Linux distributions 2 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. In this lesson, you will learn how to: Define Linux Describe the main features and components of the Linux operating system (OS) Distinguish the different Linux user interfaces Use the built-in Linux documentation List different Linux distributions What is Linux? © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. First, define what Linux is. Hardware and operating systems Hardware Operating system Central processing unit (CPU) Interface between user and hardware Random access memory (RAM) Runs applications Storage Networking 4 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Computers consist of hardware and software. Hardware refers to a computer’s physical components, such as its central processing unit (CPU), memory, storage drive, and network card. Software is the collection of applications and programs that are installed on the computer. One key type of software that computers require is an operating system. An operating system manages a computer’s hardware and software resources and runs applications. The Linux operating system Is open source – Code is publicly available, and users can modify and expand it Supports multiple users and multi-tasking Is built to handle networking Provides system tools and utilities 5 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Linux is an operating system that is freely distributable under the terms of the Gnu is Not Unix (GNU) General Public License (GPL). It is open source because it provides the source code for the core functionality of an operating system, called a kernel, and users can modify and expand it. As a result, many distributions of Linux are available today. With Linux, multiple people can use the same computer at the same time and can run multiple applications simultaneously. It also supports network functionality and provides system tools and utilities to increase usability. Linux history and benefits Was created in 1991 by Linux Torvalds Is modular Is stable Is commonly used as a server operating system Is also used as a desktop operating system 6 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Linus Torvalds, a graduate student at the University of Helsinki in Finland, created Linux in 1991. Linux is similar to another operating system that is called Unix, which was developed in the late 1960s. In addition to being open source, Linux is modular, which means that you can extend it. It is also stable and does not experience frequent system freezes that require computer restarts. Because of these benefits, you can use Linux both as a desktop system and a server operating system. Distributions Definition A distribution or distro is a packaged version of Linux. Because Linux is open source, anyone can make a distribution and tailor it for a given purpose. A distribution is typically downloaded and can be installed by using various formats. – For example, by using an Amazon Machine Image (AMI) for Amazon Linux 2 Examples: – Amazon Linux 2 – Red Hat Enterprise Linux (RHEL) – Debian Amazon Linux 2 – Ubuntu 7 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. A Linux distribution is a packaged version of Linux that a group of individuals or a company develops. It includes the core operating system functionality (kernel) and additional complementary tools and software applications. Distributions are typically downloaded but can also be installed by using various media and formats. Examples include compact disk (CD), Universal Serial Bus (USB) device, and downloadable International Standardization for Organization (ISO) image. Examples of Linux distribution include Amazon Linux 2, Red Hat Enterprise Linux (RHEL), Debian, and Ubuntu. In the AWS Cloud, the Amazon Linux 2 operating system is readily distributed by using an Amazon Machine Image (AMI). An AMI contains an operating system and other pre-installed software relevant to the image. You will learn more about Amazon Linux 2 in a later section. Linux components © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. This section describes the main features and components of the Linux operating system. Major components of Linux Kernel Provides the core functionality of the operating system Daemons Provide extra support for the system or the user Include programs such as text editors, web browsers, and Applications databases Include user content such as text files, music files, and image Data files files Contain settings for Linux, services, and applications that are Configuration files stored in text files 9 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. The major components of a Linux distribution consist of a kernel, daemons, applications, data files, and configuration files. You will review them in more detail in the next slides. The Linux kernel An operating system kernel is: – A computer program – A controller of everything in the operating system The Linux kernel manages: – Scheduling of processor time – Memory allocation for the operating system and for applications – Access to peripheral devices (sound card, hard disk drive, network card, and others) 10 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. The kernel refers to the core component of an operating system. It controls everything in the operating system, including the allocation of CPU time and memory storage to running programs, and access to peripheral devices. Functions of the Linux kernel What does the kernel do? Kernel management as a map The kernel manages the running of multiple applications and the Memory sharing of resources among multiple users. File Processes system access Kernel Resource Devices allocation 11 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. The Linux kernel manages the running of multiple applications and the sharing of resources among multiple users. It also controls the interface to the input/output (I/O) devices that are connected to the computer, and it manages files and directories. Daemons Are computer programs that run in the background Are not under the control of an interactive user Typically provide a system service Process names that traditionally end with the letter d Examples: – syslogd – sshd 12 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. A daemon is computer program that runs in the background and is not under the control of an interactive user. It typically provides a service to other running programs. Examples of daemons include the following: syslogd: When system or user applications generate messages, the syslogd daemon captures the messages and stores them to a file, which is called a log. sshd: The sshd daemon handles Secure Shell (SSH) connections to the computer. This type of connection uses encryption to secure the communication between the client and the server. You will learn more about daemons in the Managing Processes lesson. Applications Are software that provides a set of functions that help a user perform a type of task or activity Examples: – Word processor – Web browser – Email client – Media player 13 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. An application, is a computer program that provides functions that help users perform a type of task or activity. For example, with a word processor app, users can create and edit text content, and this type of app facilitates document authoring and modification. Likewise, with a web browser app, users can access the internet and visit websites. Data files What are data files? How to name a file? Files contain the information that Files have a name that uniquely identifies programs use and can have different them and has the following format: types of data. – Examples: music file, text file, and image file [directoryName]fileName[.extension] Examples: Files can be grouped in directories. myFile /pictures/dog.gif 14 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. A file contains information, or data, that the user has created or captured. Files can be of different types depending on the type of data that they contain. A program can process the data in a file. Examples of data files include music, text, or image files. Files are also typically grouped in directories for organizational purposes. A file has a name that uniquely identifies it. The format of a complete file name consists of an optional directoryName, the actual fileName, and an optional extension. A period precedes the extension. In the last file name example that is shown: /pictures is the directory name. dog is the file name..gif is the extension. Configuration files Configuration files are a special type of file that contains initial settings or stores values for a system program. – Example: The /etc/group file contains the list of users that are allowed to use the system. Some configuration files run a set of commands at startup. Common configuration file name extensions are: –.cnf –.conf –.cfg –.cf –.ini 15 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. A Linux configuration file is a special type of file that stores initial settings or important values for a system program. These values configure the behavior of the associated program or capture the data that the program uses. For example, the /etc/group configuration file contains the list of authorized users for the system. Some configuration files are used to run a set of commands when the system is started or when the user logs in. With these commands, the Linux environment can be customized to the specific preferences of the user. Configuration file names use a common set of extensions, including.cnf and.conf. Linux user interface © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. This section covers the different Linux user interfaces. How to interface: CLI compared with GUI Command line interface (CLI) Graphical user interface (GUI) It consumes fewer hardware resources. It is visual and intuitive to navigate. It can be automated with scripts. It is similar in Linux, Microsoft Windows, and It provides more options. macOS. Most Linux servers use only the CLI. Most user workstations use the GUI. 17 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. You can use either the CLI or GUI based on your preference. The shell Memory File ~] # sudo hi! system Processes User interacts with access the shell Kernel User Bash shell Resource Devices allocation The kernel functions 18 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. When you use the CLI, the shell that you select defines the list of commands and functions that you can run. A shell interprets the command that you type and invokes the appropriate kernel component that runs the command. You can use many types of shells, and each Linux distribution defines the types that it can support. Shell types Different shell types Features of shell types Each shell has its own syntax or way of Shell Description formatting commands. The shell provides the command prompt. sh The original Bourne shell for Unix Note: Bash Shell is the default Linux shell. It is typically the only shell that you must bash The Bourne-again shell and the default know for Linux. Linux shell It is the only shell that is covered in this course. ksh The KornShell, a common Unix shell 19 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. There are different shell types, but the only one you need to know for Linux is the Bash Shell. An upcoming lesson will detail how to use the Bash Shell. Linux documentation © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. In this section, you learn to use the built-in Linux documentation. Manual pages The Linux manual pages, or man pages, contain the When you ask a Linux person for help: documentation for Linux commands. The man pages provide a brief summary of the purpose, syntax, and options that are associated with I'm lost and don’t understand this a particular command. command! You access the man pages by using the man command. Did you check the man pages? 21 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. The primary source of Linux documentation is the manual pages. They contain a description of the purpose, syntax, and options for a Linux command. When you ask a Linux person for help, the most likely first answer that you will get is, “Did you check the man pages?” You access the man pages by using the man command. The man command What is the man command? The output that is displayed You view the manual page for a command The following is common information that is displayed for a command: – Name – Synopsis – Description – Options Linux syntax: man Understanding the syntax The command: man man 22 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. The man command displays documentation information for the command that you specify as its argument. This information includes the following: Name: The name and a brief description of the purpose of the command Synopsis: The syntax of the command Description: A detailed description the command’s usage and functions Options: An explanation of the command’s options The example screen capture shows the output of the man command. Command features of the man command You typically use the man command to determine a command’s syntax and available options. You can navigate through the multiple pages of documentation by using keyboard keys: Up or Down arrow key: Scrolls up or down one line, respectively Page-up or Page-down key: Scrolls up or down one page, respectively Space bar: Scrolls down one page To search for a string in the documentation, use the forward slash key: / Enter q to exit the documentation. 23 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Using the man command, you can determine the syntax of a particular command. It is also very useful in understanding a command’s options. The documentation that is displayed for a command will typically consist of many pages. To navigate through the pages, use the following keyboard keys: Up arrow or Down arrow key: Scrolls up or down one line, respectively Page-up or Page-down key: Scrolls up or down one page, respectively Space bar: Scrolls down one page You can also search a command’s man page by using the forward slash (/) character: / To exit the manual pages, enter q. Linux distributions © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. This section lists the different Linux distributions. Sources of major distributions A distribution includes the Linux kernel and complementary tools and software applications. Fedora Debian OpenSUSE SUSE RHEL Ubuntu Enterprise Linux CentOS Amazon Linux 2 25 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. A Linux distribution includes the Linux kernel and the tools, libraries, and other software applications that the vendor has packaged. Most widely used distributions are derived from the following sources: Fedora: Red Hat, an IBM company, mainly sponsors this distribution. Fedora is used to develop, test, and mature the Linux operating system. Fedora is the source of the commercially distributed RHEL from which the Amazon Linux 2 and CentOS distributions are derived. Debian: This Linux distribution adheres strongly to the free software principles of open source. The Ubuntu distribution is derived from Debian, and the British company Canonical Ltd. maintains it. OpenSUSE: The German company SUSE sponsors this distribution, which is used as the basis for the company’s commercially supported SUSE Enterprise Linux offering. Amazon Linux 2 Enterprise-class Linux distribution Amazon Linux 2 Designed for use on AWS Derived from RHEL virtual machines 26 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Linux 2 is the latest Linux operating system that AWS offers. It is designed to provide a stable, secure, and high-performance runtime environment for applications that run on Amazon Elastic Compute Cloud (Amazon EC2). It supports the latest EC2 instance type features and includes packages that facilitate integration with AWS. Amazon Linux 2 enhances security by automatically applying critical or important security updates when an instance is booted. For more information on Amazon Linux 2, see https://aws.amazon.com/amazon- linux-2/. CentOS Stands for Community Enterprise Operating System Is an enterprise-class Linux distribution Is derived from RHEL Was replaced by CentOS Stream as of December 2020 27 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. CentOS (or Community Enterprise Operating System) is a free Linux distribution and is functionally compatible with its upstream source, RHEL. CentOS is currently used in the lab environment for this course. As of December 2020, Red Hat has cancelled any further development for CentOS Linux and replaced it with CentOS Stream. Connecting to a remote Linux server © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. This section discusses how to connect to a remote Linux server. Lab environment Starts the lab environment Opens up the details panel Opens up the AWS console 29 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. You will connect to Vocareum to work on your labs. The interface offers all the lab information and steps as well as buttons to start the AWS instance you will work with. The Start Lab button will generate your AWS working environment. The Details pane displays information such as the IP address of the EC2 instance that you will work with. It also displays the URL to download the private SSH connection key. The AWS button opens up the AWS console. You will not need to access this console when working on the Linux labs. However, you should get familiar with it because you will use it later. Lab architecture AWS Cloud Availability Zone 1 VPC Public subnet Security group Private key SSH EC2 instance ec2-user Client 30 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. When starting to work on your labs, an Amazon Linux 2 EC2 instance instantiates automatically. You will download a key to connect securely to this instance through Secure Shell (SSH) with the user ec2-user. SSH is a network protocol that provides a secure way to access a computer. To connect to a host by using SSH, you need an SSH client. MacOS or Linux usually gives you access to an SSH client directly from the terminal. On Windows, you can use a tool that is called PuTTY, which has a graphical interface. The SSH connection usually uses port 22. The security group that is linked to the EC2 instance opens up this port. Additional details Linux instances come with a default user. For the Amazon Linux 2 instance that you will use, the default user is ec2-user. To connect to the instance, you need a private key that is automatically generated for you. The format of the key is the.pem format, which stands for Privacy Enhanced Mail. 31 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. On Windows. PuTTY uses a slightly different format, the.ppk (which stands for PuTTY private key) format. PuTTYgen is a tool that can convert a.pem key into a.ppk key. Both.pem and.ppk keys are provided in the lab. How to access Linux AMI Use PuTTY if you are using a Use SSH if you are using a Mac or Linux Windows machine. machine. 32 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. After you launch an EC2 instance, you can connect to it and use it the way you'd use a computer sitting in front of you. Depending on the computer system, you have two ways to access the EC2 instance. The first way to connect is by using a client called PuTTY. PuTTY is an open-source SSH and telnet client. PuTTY allows you to connect to your instance from a Windows machine. If you are using a macOS or Linux machine, you access the EC2 instance differently. If you are using a Mac or Linux computer, it most likely includes an SSH client by default. You can check for an SSH client by entering ssh at the command line. Checkpoint questions What is a Linux distribution? True or false: The bash shell is the default shell for most Linux distributions. Which command provides help for Linux commands? 33 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is a Linux distribution? A Linux distribution is a packaged version of Linux that a group of individuals or a company develops. It includes the core operating system functionality (kernel) and additional complementary tools and software applications. True or false: The bash shell is the default shell for most Linux distributions. True Which command provides help for Linux commands? man Key takeaways Linux is an operating system that is similar to Unix. It is free and open source, and users can expand it. A Linux distribution combines the Linux kernel with other software applications to provide a complete operating system environment. All Linux distributions come with a CLI. Some also offer a GUI. The bash shell is the default shell in Linux. You can use the man command to read the Linux manual pages. 34 © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Some key takeaways from this lesson include: Linux is an operating system that is similar to Unix. It is free and open source, and users can expand it. A Linux distribution combines the Linux kernel with other software applications to provide a complete operating system environment. All Linux distributions come with a CLI. Some also offer a GUI. The bash shell is the default shell in Linux. You can use the man command to read the Linux manual pages. Thank you © 2021 Amazon Web Services, Inc. or its affiliates. All rights reserved. This work may not be reproduced or redistributed, in whole or in part, without prior written permission from Amazon Web Services, Inc. Commercial copying, lending, or selling is prohibited. Corrections, feedback, or other questions? Contact us at https://support.aws.amazon.com/#/contacts/aws-training. All trademarks are the property of their owners. Thank you.

Use Quizgecko on...
Browser
Browser