start restructuring
This commit is contained in:
parent
086b48a665
commit
6e011ab399
|
@ -0,0 +1,232 @@
|
||||||
|
# Linux essentials [source](https://github.com/sudomateo/lsa-i/tree/master/docs/linux-essentials)
|
||||||
|
|
||||||
|
1. Change into the `/tmp` directory using the command `cd /tmp`.
|
||||||
|
2. Confirm you are in the `/tmp` directory using the command `pwd`.
|
||||||
|
3. Change back into your home directory using the command `cd`.
|
||||||
|
4. Confirm you are in your home directory using the command `pwd`.
|
||||||
|
5. Print the text `This is file01.` to the file `/tmp/file01` using the command `echo "This is file01." > /tmp/file01`.
|
||||||
|
6. Confirm the `/tmp/file01` file has the correct content using the command `cat /tmp/file01`.
|
||||||
|
7. Append the text `This is appended.` to the file `/tmp/file01` using the command `echo "This is appended." >> /tmp/file01`.
|
||||||
|
8. Confirm the `/tmp/file01` file has the updated content using the command `cat /tmp/file01`.
|
||||||
|
9. Send the output of the `printenv` command to a new file named `/tmp/myenv` using the command `printenv > /tmp/myenv`.
|
||||||
|
10. View the first five lines of the `/tmp/myenv` file using the command `head -n 5 /tmp/myenv`.
|
||||||
|
11. Declare and export a new environment variable with the command `export COURSE_NAME="LSA1"`.
|
||||||
|
12. Verify your newly exported environment variable exists using the command `printenv | grep COURSE_NAME`.
|
||||||
|
13. Practice these and other commands until you feel comfortable with them.
|
||||||
|
14. When finished, use the `exit` command to exit the shell and logout.
|
||||||
|
|
||||||
|
# Managing files [source](https://lsa-i.sudomateo.com/managing-files/)
|
||||||
|
|
||||||
|
1. Create a directory for these exercises by using the command `mkdir /tmp/managing-files`.
|
||||||
|
2. Change into the newly created directory using the command `cd /tmp/managing-files`.
|
||||||
|
3. Create six empty files using the command `touch file{01..06}`.
|
||||||
|
4. Run each of the following commands to change the permissions of each file. See if you can guess what the permissions will be before you run each command:
|
||||||
|
1. `chmod 764 file01`
|
||||||
|
2. `chmod 400 file02`
|
||||||
|
3. `chmod 651 file03`
|
||||||
|
4. `chmod 4744 file04`
|
||||||
|
5. `chmod 4664 file06`
|
||||||
|
6. `chmod 1444 file06`
|
||||||
|
5. Run the command `ls -l`. You should see output similar to the following.
|
||||||
|
```
|
||||||
|
$ ls -l
|
||||||
|
total 0
|
||||||
|
-rwxrw-r--. 1 vagrant vagrant 0 Aug 23 01:10 file01
|
||||||
|
-r--------. 1 vagrant vagrant 0 Aug 23 01:10 file02
|
||||||
|
-rw-r-x--x. 1 vagrant vagrant 0 Aug 23 01:10 file03
|
||||||
|
-rwsr--r--. 1 vagrant vagrant 0 Aug 23 01:10 file04
|
||||||
|
-rw-rw-r--. 1 vagrant vagrant 0 Aug 23 01:10 file05
|
||||||
|
-r--r--r-T. 1 vagrant vagrant 0 Aug 23 01:10 file06
|
||||||
|
```
|
||||||
|
6. Run the commmand `tar -zcvf /tmp/managing-files.tgz -C /tmp/managing-files .` to create an archive named `/tmp/managing-files.tgz` of all the files in the `/tmp/managing-files` directory.
|
||||||
|
7. Run the command `rm -f file0*` to remove all six files that were created earlier. Verify the files were removed using the command `ls -l`.
|
||||||
|
8. Run the command `tar -zxvf /tmp/managing-files.tgz -C /tmp/managing-files` to extract the contents of your archive back into the `/tmp/managing-files` directory.
|
||||||
|
9. Verify the files were restored correctly using the command `ls -l`. You should see output similar to the following. **NOTE: `tar` does not restore special permissions (SUID, SGID, sticky bit) so you will only see the read, write, and execute permissions.**
|
||||||
|
```
|
||||||
|
$ ls -l
|
||||||
|
total 0
|
||||||
|
-rwxrw-r--. 1 vagrant vagrant 0 Aug 23 01:10 file01
|
||||||
|
-r--------. 1 vagrant vagrant 0 Aug 23 01:10 file02
|
||||||
|
-rw-r-x--x. 1 vagrant vagrant 0 Aug 23 01:10 file03
|
||||||
|
-rwxr--r--. 1 vagrant vagrant 0 Aug 23 01:10 file04
|
||||||
|
-rw-rw-r--. 1 vagrant vagrant 0 Aug 23 01:10 file05
|
||||||
|
-r--r--r--. 1 vagrant vagrant 0 Aug 23 01:10 file06
|
||||||
|
```
|
||||||
|
10. Practice these and other commands until you feel comfortable with them.
|
||||||
|
11. When finished, use the `exit` command to exit the shell and logout.
|
||||||
|
|
||||||
|
# Managing software [source](https://lsa-i.sudomateo.com/managing-software/)
|
||||||
|
|
||||||
|
1. Install the `screen` package using the command `sudo yum install screen`. Press ++y++ if prompted.
|
||||||
|
2. Verify the screen package is installed using the command `sudo yum list installed | grep -i screen`. You should see the matching output.
|
||||||
|
3. Remove the `screen` package using the command `sudo yum remove screen`.
|
||||||
|
4. Verify the screen package is removed using the command `sudo yum list installed | grep -i screen`. You should see no matching output.
|
||||||
|
5. Run the command `ps aux` to view all of the processes currently executing on the system.
|
||||||
|
6. Run the command `top` to view all of the processes and their resource usage. Notice how the output refreshed every 2 seconds. Press ++q++ to quit when done looking around.
|
||||||
|
7. Run the command `sleep 60`. Press ++ctrl+c++ to quit the command early.
|
||||||
|
8. Run the command `sleep 15 &` to run `sleep` in the background. Run the `jobs` command to verify the background command is still running. Wait for 15 seconds and run the `jobs` command again to verify that the job is no longer executing in the background.
|
||||||
|
9. Run the command `sleep 600 &` to run the `sleep 600` command in the background. You will be shown the PID of the background process. Keep a note of this for the next steps.
|
||||||
|
1. Verify the PID exists using the command `ps aux | grep PID` where `PID` is the PID from earlier.
|
||||||
|
2. Use the `kill -15 PID` command where `PID` is the PID from earlier to send a `SIGTERM` command to that process.
|
||||||
|
3. Run the `jobs` command to verify your background process was terminated.
|
||||||
|
10. Run the command `sleep 444 &` to run the `sleep 444` command in the background. You will be shown the PID of the background process. Keep a note of this for the next steps.
|
||||||
|
1. Verify the PID exists using the command `ps aux | grep PID` where `PID` is the PID from earlier.
|
||||||
|
2. Use the `kill -9 PID` command where `PID` is the PID from earlier to send a `SIGKILL` command to that process.
|
||||||
|
3. Run the `jobs` command to verify your background process was killed.
|
||||||
|
11. Run the command `sudo yum install epel-release` to install the EPEL repository.
|
||||||
|
12. Run the command `sudo yum install nginx` to install the nginx webserver. Press ++y++ if prompted.
|
||||||
|
13. Run the command `sudo systemctl status nginx` to see the status of the nginx webserver. It should show inactive or dead.
|
||||||
|
14. Run the command `sudo systemctl start nginx` to start the nginx webserver.
|
||||||
|
15. On your local workstation, open a web browser and navigate to `http://127.0.0.1:8080`. You should see an nginx test page.
|
||||||
|
16. Run the command `sudo systemctl stop nginx` to stop the nginx webserver.
|
||||||
|
17. Try to reload the web page on your local workstation. It should not load this time.
|
||||||
|
18. Verify the nginx service is not running using the command `sudo systemctl status nginx`.
|
||||||
|
19. Practice these and other commands until you feel comfortable with them.
|
||||||
|
20. When finished, use the `exit` command to exit the shell and logout.
|
||||||
|
|
||||||
|
# Configuring hardware [source](https://lsa-i.sudomateo.com/configuring-hardware/)
|
||||||
|
|
||||||
|
1. Drop down to the `root` user using the command `sudo su -`.
|
||||||
|
2. Verify the `/dev/sdb` and `dev/sdc` devices are attached to your system by running the command `lsblk`. You should see output similar to the following:
|
||||||
|
```
|
||||||
|
[root@lsa-i ~]# lsblk
|
||||||
|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||||||
|
sda 8:0 0 40G 0 disk
|
||||||
|
├─sda1 8:1 0 1M 0 part
|
||||||
|
├─sda2 8:2 0 1G 0 part /boot
|
||||||
|
└─sda3 8:3 0 39G 0 part
|
||||||
|
├─VolGroup00-LogVol00 253:0 0 37.5G 0 lvm /
|
||||||
|
└─VolGroup00-LogVol01 253:1 0 1.5G 0 lvm [SWAP]
|
||||||
|
sdb 8:16 0 1G 0 disk
|
||||||
|
sdc 8:32 0 1G 0 disk
|
||||||
|
```
|
||||||
|
3. Run the command `fdisk /dev/sdb` to begin formatting the device `dev/sdb`. Follow the subtasks below to format the device with 1 partition that takes up all the space:
|
||||||
|
1. Type `n` and hit ++enter++ to create a new partition.
|
||||||
|
2. Type `p` and hit ++enter++ to make this a primary partition.
|
||||||
|
3. Type `1` and hit ++enter++ to make this primary partition the first partition on this device.
|
||||||
|
4. Hit ++enter++ to accept the default first sector.
|
||||||
|
5. Hit ++enter++ to accept the default last sector.
|
||||||
|
6. Type `p` and hit ++enter++ to print the proposed partition changes. You should see the partition `/dev/sdb1`.
|
||||||
|
7. Type `w` and hit ++enter++ to write these changes to the device and exit.
|
||||||
|
4. Verify the `/dev/sdb1` partition was created successfully by running the command `lsblk`. You should see output similar to the following:
|
||||||
|
```
|
||||||
|
[root@lsa-i ~]# lsblk
|
||||||
|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||||||
|
sda 8:0 0 40G 0 disk
|
||||||
|
├─sda1 8:1 0 1M 0 part
|
||||||
|
├─sda2 8:2 0 1G 0 part /boot
|
||||||
|
└─sda3 8:3 0 39G 0 part
|
||||||
|
├─VolGroup00-LogVol00 253:0 0 37.5G 0 lvm /
|
||||||
|
└─VolGroup00-LogVol01 253:1 0 1.5G 0 lvm [SWAP]
|
||||||
|
sdb 8:16 0 1G 0 disk
|
||||||
|
└─sdb1 8:17 0 1023M 0 part
|
||||||
|
sdc 8:32 0 1G 0 disk
|
||||||
|
```
|
||||||
|
5. Run the command `mkfs.xfs /dev/sdb1` to create an XFS file system on the `/dev/sdb1` partition.
|
||||||
|
6. Run the command `lsblk -f` to list the UUID and file system type of the `/dev/sdb1` partition. You'll need this information for the `/etc/fstab` file.
|
||||||
|
7. Run the command `mkdir /mnt/exercise01` to create a directory to use for mounting the `/dev/sdb1` partition.
|
||||||
|
8. Add an entry to the `/etc/fstab` file to mount your `/dev/sdb1` device to the `/mnt/exercise01` directory. Your new entry should be similar to the following:
|
||||||
|
```
|
||||||
|
UUID=<DEVICE_UUID> /mnt/exercise01 xfs defaults 0 2
|
||||||
|
```
|
||||||
|
9. Run the command `mount -a` to read the `/etc/fstab` file and mount all currently unmounted devices.
|
||||||
|
10. Verify the `/dev/sdb1` partition was mounted successfully by running the `lsblk` command. You should see output simiar to the following:
|
||||||
|
```
|
||||||
|
[root@lsa-i ~]# lsblk
|
||||||
|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||||||
|
sda 8:0 0 40G 0 disk
|
||||||
|
├─sda1 8:1 0 1M 0 part
|
||||||
|
├─sda2 8:2 0 1G 0 part /boot
|
||||||
|
└─sda3 8:3 0 39G 0 part
|
||||||
|
├─VolGroup00-LogVol00 253:0 0 37.5G 0 lvm /
|
||||||
|
└─VolGroup00-LogVol01 253:1 0 1.5G 0 lvm [SWAP]
|
||||||
|
sdb 8:16 0 1G 0 disk
|
||||||
|
└─sdb1 8:17 0 1023M 0 part /mnt/exercise01
|
||||||
|
sdc 8:32 0 1G 0 disk
|
||||||
|
```
|
||||||
|
11. Run the command `df -h` to see the current disk usage of the system. Take note of the value in the Used column for `/dev/sdb1`. My output is below.
|
||||||
|
```
|
||||||
|
[root@lsa-i ~]# df -h
|
||||||
|
Filesystem Size Used Avail Use% Mounted on
|
||||||
|
/dev/mapper/VolGroup00-LogVol00 38G 823M 37G 3% /
|
||||||
|
devtmpfs 910M 0 910M 0% /dev
|
||||||
|
tmpfs 920M 0 920M 0% /dev/shm
|
||||||
|
tmpfs 920M 8.5M 911M 1% /run
|
||||||
|
tmpfs 920M 0 920M 0% /sys/fs/cgroup
|
||||||
|
/dev/sda2 1014M 63M 952M 7% /boot
|
||||||
|
tmpfs 184M 0 184M 0% /run/user/1000
|
||||||
|
/dev/sdb1 1020M 33M 988M 4% /mnt/exercise01
|
||||||
|
```
|
||||||
|
12. Run the command `dd bs=1M count=50 if=/dev/urandom of=/mnt/exercise01/myfile` to create a file /mnt/exercise01/myfile with a size of around 50 MiB. This command may take a few seconds to run.
|
||||||
|
13. Run the command `df -h` to see the current disk usage of the system. Take note of the value in the Used column for `/dev/sdb1`. Notice how the value has increased by roughly 50 MiB. My output is below.
|
||||||
|
```
|
||||||
|
[root@lsa-i ~]# df -h
|
||||||
|
Filesystem Size Used Avail Use% Mounted on
|
||||||
|
/dev/mapper/VolGroup00-LogVol00 38G 823M 37G 3% /
|
||||||
|
devtmpfs 910M 0 910M 0% /dev
|
||||||
|
tmpfs 920M 0 920M 0% /dev/shm
|
||||||
|
tmpfs 920M 8.5M 911M 1% /run
|
||||||
|
tmpfs 920M 0 920M 0% /sys/fs/cgroup
|
||||||
|
/dev/sda2 1014M 63M 952M 7% /boot
|
||||||
|
tmpfs 184M 0 184M 0% /run/user/1000
|
||||||
|
/dev/sdb1 1020M 83M 938M 9% /mnt/exercise01
|
||||||
|
```
|
||||||
|
14. Run the command `fdisk /dev/sdc` to begin formatting the device `/dev/sdc`. Follow the subtasks below to format the device with 2 partitions with 256 MiB and 512 MiB respectively:
|
||||||
|
1. Type `n` and hit ++enter++ to create a new partition.
|
||||||
|
2. Type `p` and hit ++enter++ to make this a primary partition.
|
||||||
|
3. Type `1` and hit ++enter++ to make this primary partition the first partition on this device.
|
||||||
|
4. Hit ++enter++ to accept the default first sector.
|
||||||
|
5. Type `+256M` and hit ++enter++ to give the partition a size of 256 MiB.
|
||||||
|
6. Type `p` and hit ++enter++ to print the proposed partition changes. You should see the partition `/dev/sdc1`.
|
||||||
|
7. Type `n` and hit ++enter++ to create another new partition.
|
||||||
|
8. Type `p` and hit ++enter++ to make this a primary partition.
|
||||||
|
9. Type `2` and hit ++enter++ to make this primary partition the second partition on this device.
|
||||||
|
10. Hit ++enter++ to accept the default first sector.
|
||||||
|
11. Type `+512M` and hit ++enter++ to give the partition a size of 512 MiB.
|
||||||
|
12. Type `p` and hit ++enter++ to print the proposed partition changes. You should see the partition `/dev/sdc2`.
|
||||||
|
13. Type `w` and hit ++enter++ to write these changes to the disk and exit.
|
||||||
|
15. Verify the `/dev/sdc1` and `/dev/sdc2` partitions were created successfully by running the command `lsblk`. You should see output similar to the following:
|
||||||
|
```
|
||||||
|
[root@lsa-i ~]# lsblk
|
||||||
|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||||||
|
sda 8:0 0 40G 0 disk
|
||||||
|
├─sda1 8:1 0 1M 0 part
|
||||||
|
├─sda2 8:2 0 1G 0 part /boot
|
||||||
|
└─sda3 8:3 0 39G 0 part
|
||||||
|
├─VolGroup00-LogVol00 253:0 0 37.5G 0 lvm /
|
||||||
|
└─VolGroup00-LogVol01 253:1 0 1.5G 0 lvm [SWAP]
|
||||||
|
sdb 8:16 0 1G 0 disk
|
||||||
|
└─sdb1 8:17 0 1023M 0 part /mnt/exercise01
|
||||||
|
sdc 8:32 0 1G 0 disk
|
||||||
|
├─sdc1 8:33 0 256M 0 part
|
||||||
|
└─sdc2 8:34 0 512M 0 part
|
||||||
|
```
|
||||||
|
16. Run the command `mkfs.ext4 /dev/sdc1` to create an EXT4 file system on the `/dev/sdc1` partition.
|
||||||
|
17. Run the command `mkfs.xfs /dev/sdc2` to create an XFS file system on the `/dev/sdc2` partition.
|
||||||
|
18. Run the command `lsblk -f` to list the UUIDs and file system types of the `/dev/sdc1` and `/dev/sdc2` partitions. You'll need this information for the `/etc/fstab` file.
|
||||||
|
19. Run the command `mkdir /mnt/small` to create a directory to use for mounting the `/dev/sdc1` partition.
|
||||||
|
20. Run the command `mkdir /mnt/large` to create a directory to use for mounting the `/dev/sdc2` partition.
|
||||||
|
21. Add two entries to the `/etc/fstab` file to mount your `/dev/sdc1` and `/dev/sdc2` devices to the `/mnt/small` and `/mnt/large` directories respectively. Your new entries should be similar to the following:
|
||||||
|
```
|
||||||
|
UUID=<DEVICE_UUID> /mnt/small ext4 defaults 0 2
|
||||||
|
UUID=<DEVICE_UUID> /mnt/large xfs defaults 0 2
|
||||||
|
```
|
||||||
|
22. Run the command `mount -a` to read the `/etc/fstab` file and mount all currently unmounted devices.
|
||||||
|
23. Verify the `/dev/sdc1` and `/dev/sdc2` partitions were mounted successfully by running the `lsblk` command. You should see output simiar to the following:
|
||||||
|
```
|
||||||
|
[root@lsa-i ~]# lsblk
|
||||||
|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||||||
|
sda 8:0 0 40G 0 disk
|
||||||
|
├─sda1 8:1 0 1M 0 part
|
||||||
|
├─sda2 8:2 0 1G 0 part /boot
|
||||||
|
└─sda3 8:3 0 39G 0 part
|
||||||
|
├─VolGroup00-LogVol00 253:0 0 37.5G 0 lvm /
|
||||||
|
└─VolGroup00-LogVol01 253:1 0 1.5G 0 lvm [SWAP]
|
||||||
|
sdb 8:16 0 1G 0 disk
|
||||||
|
└─sdb1 8:17 0 1023M 0 part /mnt/exercise01
|
||||||
|
sdc 8:32 0 1G 0 disk
|
||||||
|
├─sdc1 8:33 0 256M 0 part /mnt/small
|
||||||
|
└─sdc2 8:34 0 512M 0 part /mnt/large
|
||||||
|
```
|
||||||
|
24. Practice these and other commands until you feel comfortable with them. You'll need to run `vagrant destroy` and then `vagrant up` to reset your virtual machine if you wish to do these exercises over.
|
||||||
|
25. When finished, use the exit command to exit the shell and logout.
|
10
personal.md
10
personal.md
|
@ -1,10 +0,0 @@
|
||||||
## Follow up of personal project
|
|
||||||
|
|
||||||
* **Id:** personal_project.followup
|
|
||||||
* **Effort:** 2.0
|
|
||||||
|
|
||||||
## Presentation of personal projects
|
|
||||||
|
|
||||||
* **Id:** personal_project.presentation
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
301
readme.md
301
readme.md
|
@ -1,300 +1,7 @@
|
||||||
---
|
# Bruxelles Formation - Linux course
|
||||||
|
|
||||||
# Prerequisite Modules
|
This repository houses all documentation for the linux course organized by Bruxelles Formation at IRISIB.
|
||||||
* **Note:** Not part of the reference but essential for the course.
|
The course runs for about six [months](https://taskjuggler.86thumbs.net), is divided into three main [modules](modules) and aims at passing three [certificates](certificates).
|
||||||
* **Id:** prerequisite
|
Each student also has to complete a [personal project](personal_project).
|
||||||
* **Effort:** 3.5
|
|
||||||
|
|
||||||
## Classes
|
|
||||||
* **Id:** prerequisite.theory
|
|
||||||
* **Effort:** 1.8
|
|
||||||
|
|
||||||
### Overview of communication channels
|
|
||||||
* **Note:** Account creation for gitea, matrix etc
|
|
||||||
* **Id:** prerequisite.theory.communication
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
### Introduction to markdown for notekeeping
|
|
||||||
* **Note:** markdown syntax
|
|
||||||
* **Id:** prerequisite.theory.markdown
|
|
||||||
* **Effort:** 0.3
|
|
||||||
|
|
||||||
### Short introdution to git for notekeeping
|
|
||||||
* **Note:** git tutorial
|
|
||||||
* **Id:** prerequisite.theory.git
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Resource Modules
|
|
||||||
* **Note:** Modules part of the resource curriculum.
|
|
||||||
* **Id:** resources
|
|
||||||
* **Effort:** 30.4
|
|
||||||
|
|
||||||
## Networking
|
|
||||||
* **Id:** resources.networking
|
|
||||||
* **Effort:** 15.5
|
|
||||||
|
|
||||||
### MR03/R61 Introduction to centralized administration of networking services
|
|
||||||
* **Id:** resources.networking.services
|
|
||||||
* **Effort:** 6.8
|
|
||||||
|
|
||||||
### Classes
|
|
||||||
* **Id:** resources.networking.services.theory
|
|
||||||
* **Effort:** 2.5
|
|
||||||
|
|
||||||
### Debian implementations of essential services
|
|
||||||
* **Note:** Focus on DHCP, DNS, SFTP, SSH, CUPS, LDAP following chapter 10 and chapter 11 of the Debian system administrator handbook
|
|
||||||
* **Id:** resources.networking.services.theory.debian
|
|
||||||
* **Effort:** 2.5
|
|
||||||
|
|
||||||
## MR04/R71 Introduction to linux
|
|
||||||
* **Note:** Introduction to the history and usage of Linux as an OS with both graphical and shell interfaces.
|
|
||||||
* **Id:** resources.linux
|
|
||||||
* **Effort:** 5.0
|
|
||||||
|
|
||||||
### Classes
|
|
||||||
* **Id:** resources.linux.theory
|
|
||||||
* **Effort:** 3.0
|
|
||||||
|
|
||||||
### History of unix/linux and Debian
|
|
||||||
* **Id:** resources.linux.theory.intro
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
### Quick dive into a GUI installation
|
|
||||||
* **Id:** resources.linux.theory.gui
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
### Introduction to the shell
|
|
||||||
* **Note:** Based on Ryan's tutorials
|
|
||||||
* **Id:** resources.linux.theory.cli
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
### Introduction to vim
|
|
||||||
* **Note:** complete vimtutor and create a custom vimrc
|
|
||||||
* **Id:** resources.linux.theory.vimtutor
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
### Very brief introdution to bandit and SSH
|
|
||||||
* **Note:** bandit
|
|
||||||
* **Id:** resources.linux.theory.bandit
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
## MR05/XX Introduction to hardware components of servers and clients
|
|
||||||
* **Note:** In this module we will focus on hardware and the exposure to Raspberry Pi's as an alternative target platform
|
|
||||||
* **Id:** resources.hardware
|
|
||||||
* **Effort:** 6.0
|
|
||||||
|
|
||||||
### Classes
|
|
||||||
* **Id:** resources.hardware.theory
|
|
||||||
* **Effort:** 2.5
|
|
||||||
|
|
||||||
### Breakdown of IT internals and externals
|
|
||||||
* **Id:** resources.hardware.theory.breakdown
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
### Overview of computer architectures
|
|
||||||
* **Id:** resources.hardware.theory.architectures
|
|
||||||
* **Effort:** 0.3
|
|
||||||
|
|
||||||
### ARM vs x86
|
|
||||||
* **Id:** resources.hardware.theory.rpi
|
|
||||||
* **Effort:** 0.3
|
|
||||||
|
|
||||||
### Introduction to compiled languages and compilation targets
|
|
||||||
* **Id:** resources.hardware.theory.compilation
|
|
||||||
* **Effort:** 0.3
|
|
||||||
|
|
||||||
### Comparison of platforms vs protocols
|
|
||||||
* **Id:** resources.hardware.theory.protocols
|
|
||||||
* **Effort:** 0.3
|
|
||||||
|
|
||||||
### Group deployment of RPI clients and headless servers
|
|
||||||
* **Id:** resources.hardware.theory.deployment
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Qualifying Modules
|
|
||||||
* **Note:** Modules part of the qualifying curriculum.
|
|
||||||
* **Id:** qualifying
|
|
||||||
* **Effort:** 67.0
|
|
||||||
|
|
||||||
## MQ06/QB2 Install, deplay, configure and maintain client machines
|
|
||||||
* **Id:** qualifying.clients
|
|
||||||
* **Effort:** 5.0
|
|
||||||
|
|
||||||
### Classes
|
|
||||||
* **Id:** qualifying.clients.theory
|
|
||||||
* **Effort:** 2.0
|
|
||||||
|
|
||||||
### TODO
|
|
||||||
* **Note:** TODO
|
|
||||||
* **Id:** qualifying.clients.theory.sub1
|
|
||||||
* **Effort:** 2.0
|
|
||||||
|
|
||||||
### Labo
|
|
||||||
* **Id:** qualifying.clients.practice
|
|
||||||
* **Effort:** 2.0
|
|
||||||
|
|
||||||
### Labo one
|
|
||||||
* **Note:** TODO
|
|
||||||
* **Id:** qualifying.clients.practice.supervised
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
## MQ03/QB4 Conceive and improve networking architecture
|
|
||||||
* **Note:** Deep dive into networking and the securisation of exposed services.
|
|
||||||
* **Id:** qualifying.networking
|
|
||||||
* **Effort:** 21.3
|
|
||||||
|
|
||||||
### Classes
|
|
||||||
* **Id:** qualifying.networking.theory
|
|
||||||
* **Effort:** 11.5
|
|
||||||
|
|
||||||
### iptables and fail2ban
|
|
||||||
* **Id:** qualifying.networking.theory.firewall
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
### Introduction to cryptography
|
|
||||||
* **Id:** qualifying.networking.theory.crypto
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
### Theory and application of OpenWRT
|
|
||||||
* **Id:** qualifying.networking.theory.openwrt
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
### Exposing local services to the internet
|
|
||||||
* **Note:** Theory and application of VPN, nginx reverse proxy, SSH, DNS and dynamic DNS
|
|
||||||
* **Id:** qualifying.networking.theory.exposing_services
|
|
||||||
* **Effort:** 3.5
|
|
||||||
|
|
||||||
## Linux server machines
|
|
||||||
* **Id:** qualifying.servers
|
|
||||||
* **Effort:** 26.8
|
|
||||||
|
|
||||||
### MQ07/QE7 Installation and configuration of a Linux server
|
|
||||||
* **Note:** Installation and configuration of Debian and Redhat servers.
|
|
||||||
* **Id:** qualifying.servers.deployment
|
|
||||||
* **Effort:** 9.1
|
|
||||||
|
|
||||||
### Classes
|
|
||||||
* **Id:** qualifying.servers.deployment.theory
|
|
||||||
* **Effort:** 6.0
|
|
||||||
|
|
||||||
### The Debian OS
|
|
||||||
* **Note:** Follows the Debian System Administrator handbook
|
|
||||||
* **Id:** qualifying.servers.deployment.theory.debian
|
|
||||||
* **Effort:** 4.0
|
|
||||||
|
|
||||||
### Redhat as an alternative
|
|
||||||
* **Id:** qualifying.servers.deployment.theory.redhat
|
|
||||||
* **Effort:** 2.0
|
|
||||||
|
|
||||||
### Labo
|
|
||||||
* **Id:** qualifying.servers.deployment.practice
|
|
||||||
* **Effort:** 3.0
|
|
||||||
|
|
||||||
### Deployment of Debian on hardware and VM
|
|
||||||
* **Note:** TODO
|
|
||||||
* **Id:** qualifying.servers.deployment.practice.debian
|
|
||||||
* **Effort:** 2.0
|
|
||||||
|
|
||||||
### Test
|
|
||||||
* **Note:** Test through certificate
|
|
||||||
* **Id:** qualifying.servers.deployment.test
|
|
||||||
* **Effort:** 0.1
|
|
||||||
|
|
||||||
### Linux Professional Institute LPIC-1
|
|
||||||
* **Note:** https://www.lpi.org/our-certifications/lpic-1-overview
|
|
||||||
* **Id:** qualifying.servers.deployment.test.certificate
|
|
||||||
* **Effort:** 0.1
|
|
||||||
|
|
||||||
### MQ08/QE8 Administrate, exploit and maintain a Linux server
|
|
||||||
* **Note:** More in depth usage of the command line and an introdution to scripting in BASH and python3.
|
|
||||||
* **Id:** qualifying.servers.maintenance
|
|
||||||
* **Effort:** 17.6
|
|
||||||
|
|
||||||
### Classes
|
|
||||||
* **Id:** qualifying.servers.maintenance.theory
|
|
||||||
* **Effort:** 14.0
|
|
||||||
|
|
||||||
### Deep dive into CLI tools
|
|
||||||
* **Note:** Focus on essential tools such as tmux, zsh, ohmyzsh, vim
|
|
||||||
* **Id:** qualifying.servers.maintenance.theory.tools
|
|
||||||
* **Effort:** 3.0
|
|
||||||
|
|
||||||
### Advanced system management
|
|
||||||
* **Note:** Focus on systemd, dbus, udev, apt, pip3
|
|
||||||
* **Id:** qualifying.servers.maintenance.theory.debian
|
|
||||||
* **Effort:** 4.0
|
|
||||||
|
|
||||||
### Introduction to scripting in BASH and python3
|
|
||||||
* **Id:** qualifying.servers.maintenance.theory.scripting
|
|
||||||
* **Effort:** 5.0
|
|
||||||
|
|
||||||
### Advanced python scripting
|
|
||||||
* **Id:** qualifying.servers.maintenance.theory.advanced_python
|
|
||||||
* **Effort:** 2.0
|
|
||||||
|
|
||||||
### Labo
|
|
||||||
* **Id:** qualifying.servers.maintenance.practice
|
|
||||||
* **Effort:** 3.5
|
|
||||||
|
|
||||||
### Tools and system maintenance in practice
|
|
||||||
* **Id:** qualifying.servers.maintenance.practice.general
|
|
||||||
* **Effort:** 2.5
|
|
||||||
|
|
||||||
## MQ09/XX Administrate, exploit and maintain a virtual environnement
|
|
||||||
* **Note:** Extends on the general knowledge built up throughout the coarse but adds freenas as a platform to deploy VM's
|
|
||||||
* **Id:** qualifying.vm
|
|
||||||
* **Effort:** 6.0
|
|
||||||
|
|
||||||
### Classes
|
|
||||||
* **Id:** qualifying.vm.theory
|
|
||||||
* **Effort:** 2.5
|
|
||||||
|
|
||||||
### General configuration of VM's
|
|
||||||
* **Id:** qualifying.vm.theory.general
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
### Freenas as a platform to deploy VM's and docker instances
|
|
||||||
* **Id:** qualifying.vm.theory.freenas
|
|
||||||
* **Effort:** 2.0
|
|
||||||
|
|
||||||
### Labo
|
|
||||||
* **Id:** qualifying.vm.practice
|
|
||||||
* **Effort:** 2.5
|
|
||||||
|
|
||||||
### Deployment of diverse VM's via Windows, Debian and Freenas
|
|
||||||
* **Id:** qualifying.vm.practice.supervised
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Personal project
|
|
||||||
* **Note:** Research, write and present an expose on a relevant topic of choice.
|
|
||||||
* **Id:** personal_project
|
|
||||||
* **Effort:** 7.0
|
|
||||||
|
|
||||||
## Follow up of personal project
|
|
||||||
* **Id:** personal_project.followup
|
|
||||||
* **Effort:** 2.0
|
|
||||||
|
|
||||||
## Presentation of personal projects
|
|
||||||
* **Id:** personal_project.presentation
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Certificates
|
|
||||||
* **Id:** certificates
|
|
||||||
* **Effort:** 11.0
|
|
||||||
|
|
||||||
## In class followup for certifications with supervision
|
|
||||||
* **Id:** certificates.supervised
|
|
||||||
* **Effort:** 3.0
|
|
||||||
|
|
||||||
## Passing the certificate
|
|
||||||
* **Id:** certificates.test
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue