# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.arkannis.net/os/linux/learning-guidelines.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
