# Learning guidelines

### Content

1. Operating System families – Unix – from the beginning to current versions
2. Application hosted and where is it used &#x20;
3. PC architecture – where is the OS place
4. Virtualization concepts&#x20;
5. Overview for preparing the environment
6. Environment Prepare the environment.&#x20;
7. Application needed – Virtual Box or AWS account.&#x20;
8. Centos as basic OS for training Connecting to Linux
9. SSH and Putty 4 Lesson 1: Presentation of environments”
10. Environment in Cloud
11. AWS used as it have free tier option with one year free usage of one VM

* How to connect to AWS Cloud
* How to create an account
* What are basic AWS services – EC2 and VPC
* How to use them for quick VM provision
* How to connect – Putty and keys

DYI:

* Create own AWS account
* Provision new VM.
* Terminate the VM Tools needed: WEB Browser, valid email and valid credit card (no money will be taken from it)

### Putty and puttygen – download.

* What is putty why we need it
* How to convert a aws pem file to ppk
* What are pem and ppk formats for keys. What are ssh keys
* Connect to AWS provisioned VM

DYI:

* Convert own account pem to ppk file
* Connect to AWS Hosted VM
* Hit command: sudo poweroff Tools needed: browser, internet, aws account, putty and puttygen&#x20;

### Environment locally – Virtual Box application used as it is free of usage and no license usage costs:

* What is Virtual Box and what other application for virtualization on desktops
* How to create a VM and what are the components of a VM locally hosted

DYI:

* Download and Install Virtual Box
* Download Centos minimal
* Create a VM Tools needed – browser, PC or laptop, some space on disk, some RAM and internet connectivity 2.3 Lesson 4: Install Centos on local environment:

1. Environment locally – Install Centos

* Download and install Centos on Virtual Box
* What steps are needed during installation

DYI:

* Download and Install Centos on Virtual Box
* Connect to VM Tools needed – browser, PC or laptop, some space on disk, some RAM and internet connectivity

### Basic Linux Files. Folders/directories. Symlinks Tools – touch, cd, mkdir/rmdir, cp, mv, ll, ls, more, less, rm, grep, cat, df/du, tail&#x20;

Presentation of Linux filesystem:

* What is a file
* What is a folder
* What is linux filesystem format (not to be confused with disks/filesystems)&#x20;
* Directories: Managing directories
* Create/remove a directory – mkdir/rmdir
* List a directory – ls, ll - Managing files
* Create/remove a files – touch
* View file content – cat, less, more, grep, tail, head
* Copy files – cp, scp, mv - Working with symlinks
* What is a symlink
* Why to use it and where
* How to create a symlink
* Create a folder
* Create a file and move it between folders
* Create symlink to a folder and copy data to symlink
* Delete folders and files

### Basic Linux Users and Groups Useradd, passwd, /etc/passwd, /etc/shadow&#x20;

* Working with Users, Groups, and Directories
* Creating and Deleting User Accounts
* Change password with passwd
* Specific commands and data that can be added with useradd
* “root” user - important files for users
* /etc/passwd
* /etc/shadow - Understanding sudo
* What it is being used
* visudo
* sudoers and how to allow user to do root commands&#x20;

DYI:

* Add user with useradd and adduser (to be installed from repo)
* Delete user with userdel. Where and what should be removed

### Basic Linux Files. Folders/directories

#### Symlinks Permisions and owenship: Chmod and chown - User and Group Permissions

* Overview of the file and folder permissions - Read, Write & Execute Permissions
* chmod command
* ls, ln - Viewing File Permissions
* chown command - Changing permissions

DYI:

* Work with permission and ownership
* Changing permission and ownership

#### Locating needed info find, locate

* find
* locate

#### Working with archive – tar, gzip, unzip - archiving and de archiving

* archiving with tar command
* archiving with zip command
* untar and unzip - work with archived files
* why do we need archived files
* zcat and zgrep
* Basic Linux Package installation – repositories vs yum vs sources vs rpms&#x20;
* What is a software on Linux
* User and Group Permissions - Overview of the file and folder permissions
* Read, Write & Execute Permissions
* chmod command - Viewing File Permissions
* ls, ln: Changing permissions
* chown command 10 Basic Linux Package installation&#x20;
* working with directories – finding free space, find partitions space,&#x20;

### Basic Linux Processes&#x20;

* ps, kill 2 13 Basic Linux Networking – basic concepts&#x20;
* OSI, TCP/IP, IP addressing, IP and subnet mask, Ports (UDP/TCP), applications&#x20;

### Basic Linux Networking&#x20;

* check interfaces - route, ifconfig, ifup, ifdown, arp&#x20;
* Configure interface
* troubleshooting&#x20;
* tcpdump, netstat, ping, mtr, telnet&#x20;

### Advance Linux Networking&#x20;

* tunnels (SSH, GRE), iptables, mangle, routing tables, iproute, bind,&#x20;

### Advance Linux Operating System

* Daemon Management
* runlevels, chkconfig, init.d&#x20;
* Scripting&#x20;
* bash
* provision (vagrant and Ansible)&#x20;

### Advance Linux Package installation&#x20;

* Install basic LAMP server and have a web page working&#x20;
* Install files from source&#x20;

### Advance Linux File Systems&#x20;

* types, fstab, mounts
* check, volumes, LVMs, Storage&#x20;

### Advance Linux RAM&#x20;

* free, htop and top, balloon&#x20;

### Advance Linux Processes&#x20;

* lsof
