Skip to content

Commit 4f45c50

Browse files
committed
add comment feature for all lessons
1 parent a7d92a2 commit 4f45c50

20 files changed

+88
-10
lines changed

docs/02.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 2 - Basic navigation
25

36
* [Lesson video](https://youtu.be/x_VBskTUzxg)

docs/03.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 3 - Power trip!
25

36
* [Lesson video](https://youtu.be/B6fDvmmh2_Q)

docs/04.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1+
---
2+
comments: true
3+
---
14
# Day 4 - Installing software, exploring the file structure
25

3-
* [Complementary video](https://youtu.be/d8JzxgGNAx4)
6+
* [Lesson video](https://youtu.be/d8JzxgGNAx4)
47

58
## INTRO
69

@@ -57,8 +60,7 @@ Now use `apt search` to search for and install some more packages: Try searching
5760
## EXTENSION
5861

5962
* Use `mc` to view `/etc/apt/sources.list` where the actual locations of the repositories are specified. Often these will be “mirror” sites that are closer to your server than the main Ubuntu servers.
60-
* Read [Repositories - CommandLine
61-
](https://help.ubuntu.com/community/Repositories/CommandLine) for more of the gory details.
63+
* Read [Repositories - CommandLine](https://help.ubuntu.com/community/Repositories/CommandLine) for more of the gory details.
6264

6365
## RESOURCES
6466

docs/05.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 5 - More or less...
25

36
* [Lesson video](https://youtu.be/SdvrCmhsm2M)
@@ -19,7 +22,7 @@ Use the links in the Resources section to complete these tasks:
1922

2023
* Get familiar with using `more` and `less` for viewing files, including being able to get to the top or bottom of a file in `less`, and searching for some text
2124

22-
* Test how “tab completion” works - this is a handy feature that helps you enter commands correctly. It helps find both the command and also file name parameters (so typing `les` then hitting “Tab” will complete the command `less`, but also typing `less /etc/serv` and pressing “Tab” will complete to `less /etc/services`. Try typing `less /etc/s` then pressing “Tab”, and again, to see how the feature handles ambiguity.
25+
* Test how “tab completion” works - this is a handy feature that helps you enter commands correctly. It helps find both the command and also file name parameters, so typing `les` then hitting “Tab” will complete the command `less`, but also typing `less /etc/serv` and pressing “Tab” will complete to `less /etc/services`. Try typing `less /etc/s` then pressing “Tab”, and again, to see how the feature handles ambiguity.
2326

2427
* Now that you've typed in quite a few commands, try pressing the “Up arrow” to scroll back through them. What you should notice is that not only can you see your most recent commands - but even those from the last time you logged in. Now try the `history` command - this lists out the whole of your cached command history - often 100 or more entries. There are number of clever things that can be done with this. The simplest is to repeat a command - pick one line to repeat (say number 20) and repeat it by typing !20 and pressing “Enter”. Later when you'll be typing long, complex, commands this can be *very* handy. You can also press `Ctrl + r`, then start typing any part of the command that you are looking for. You'll see an autocomplete of a past command at your prompt. If you keep typing, you'll get more specific options appear. You can either run it by pressing return, or editing it first by pressing arrows or other movement keys. You can also keep pressing `Ctrl + r` to see other instances of the same command you used with different options.
2528

docs/06.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 6 - Editing with "vim"
25

36
* [Complementary video](https://youtu.be/dNd3BvJNDIo)

docs/07.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 7 - The server and its services
25

36
* [Lesson video](https://youtu.be/VzXwO0qq-bg)

docs/08.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 8 - The infamous "grep" and other text processors
25

36
* [Lesson video](https://youtu.be/kG5JGJN5iTc)

docs/09.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 9 - Diving into networking
25

36
* [Lesson video](https://youtu.be/47BWW-SyAa8)

docs/10.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 10 - Getting the computer to do your work for you
25

36
* [Complementary video](https://youtu.be/ktjabe8enxU)

docs/11.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 11 - Finding things...
25

36
* [Lesson video](https://youtu.be/gQ9nP9PN8KA)

docs/12.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 12 - Transferring files
25

36
* [Lesson video](https://youtu.be/qjd5eazfoC0)

docs/13.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 13 - Users and Groups
25

36
* [Lesson video](https://youtu.be/mBcExazxLU8)

docs/14.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 14 - Who has permission?
25

36
* [Lesson video](https://youtu.be/mBcExazxLU8)
@@ -92,8 +95,7 @@ If all of this is old news to you, you may want to look into Linux ACLs:
9295
Also, SELinux and AppArmour:
9396

9497
* [SELinux man page](https://manpages.ubuntu.com/manpages/impish/en/man8/selinux.8.html)
95-
* [SELinux User's and Administrator's
96-
Guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/pdf/selinux_users_and_administrators_guide/red_hat_enterprise_linux-7-selinux_users_and_administrators_guide-en-us.pdf)
98+
* [SELinux User's and Administrator's Guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/pdf/selinux_users_and_administrators_guide/red_hat_enterprise_linux-7-selinux_users_and_administrators_guide-en-us.pdf)
9799
* [SELinux For Mere Mortals](https://craigmbooth.com/blog/selinux-for-mortals/)
98100
* [Securing Ubuntu 18 04 with Apparmor](https://www.youtube.com/watch?v=lJFxexGZ-DY)
99101

docs/15.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
1+
---
2+
comments: true
3+
---
14
# Day 15 - Deeper into repositories...
25

3-
* [Complementary video](https://youtu.be/DMenSNaMiD4)
6+
* [Lesson video](https://youtu.be/DMenSNaMiD4)
7+
* [Complementary video](https://www.youtube.com/live/2lYo_FJxQR8?feature=shared)
48

59
## INTRO
610

711
Early on you installed some software packages to your server using `apt install`. That was fairly painless, and we explained how the Linux model of software installation is very similar to how "app stores" work on Android, iPhone, and increasingly in MacOS and Windows.
812

913
Today however, you'll be looking "under the covers" to see how this works; better understand the advantages (and disadvantages!) - and to see how you can safely extend the system beyond the main official sources.
1014

15+
## YOUR TASKS TODAY
16+
17+
* Add a new repo
18+
* Remove a repo
19+
* Find out where to get a program from (apt-search)
20+
* Install a program without apt
21+
1122
## REPOSITORIES AND VERSIONS
1223

1324
Any particular Linux installation has a number of important characteristics:

docs/16.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 16 - Archiving and compressing
25

36
* [Complementary video](https://youtu.be/r2Rfg6x-5MQ)
@@ -22,8 +25,9 @@ So, you could create a "snapshot" of the current files in your _/etc/init.d_ fol
2225

2326
This creates _myinits.tar_ in your current directory.
2427

25-
Note 1: The `-f` switch specifies that _“the output should go to the filename which follows”_ - so in this case the order of the switches is important. **VERY IMPORTANT**: `tar` considers anything after `-f` as the name of the archive that needs to be created. So, we should always use `-f` as the last flag while creating an archive.
26-
Note 2: The `-v` switch (verbose) is included to give some feedback - traditionally many utilities provide no feedback unless they fail.
28+
**Note 1:** The `-f` switch specifies that _“the output should go to the filename which follows”_ - so in this case the order of the switches is important. **VERY IMPORTANT**: `tar` considers anything after `-f` as the name of the archive that needs to be created. So, we should always use `-f` as the last flag while creating an archive.
29+
30+
**Note 2:** The `-v` switch (verbose) is included to give some feedback - traditionally many utilities provide no feedback unless they fail.
2731

2832
(The cryptic “tar” name? - originally short for "tape archive")
2933

docs/17.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 17 - Build from the source
25

36
* [Complementary video](https://youtu.be/a9_hry-8Hhw)
@@ -12,6 +15,11 @@ The applications we've been installing up to this point have come from repositor
1215

1316
(Another big part of what package managers like `apt` do, is to identify and install any required "dependencies". In the Linux world many open source apps take advantage of existing infrastructure in this way, but it can be a very tricky thing to resolve manually. However, the app we're installing today from source is relatively unusual in being completly standalone).
1417

18+
## YOUR TASKS TODAY
19+
20+
* Download a source code tarball
21+
* Extract and build the source
22+
1523
## FIRST WE NEED THE ESSENTIALS
1624

1725
Projects normally provide their applications as "source files", written in the C, C++ or other computer languages. We're going to pull down such a source file, but it won't be any use to us until we compile it into an "executable" - a program that our server can execute. So, we'll need to first install a standard bundle of common compilers and similar tools. On Ubuntu, the package of such tools is called “build-essential". Install it like this:

docs/18.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
# Day 18 - Log rotation
1+
---
2+
comments: true
3+
---
4+
# Day 18 - Logs, monitoring and troubleshooting
25

36
* [Lesson video](https://youtu.be/sd5NFUo5JYM)
47

docs/19.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 19 - Inodes, symlinks and other shortcuts
25

36
* [Complementary video](https://youtu.be/3WrBVRaNCqQ)
@@ -10,6 +13,12 @@ Linux supports a large number of different “filesystems” - although on a ser
1013

1114
The VFS is a key part of Linux, and an overview of it and some of the surrounding concepts is very useful in confidently administering a system.
1215

16+
## YOUR TASKS TODAY
17+
18+
* Create a hard link
19+
* Create a soft link
20+
* Create aliases
21+
1322
## THE NEXT LAYER DOWN
1423

1524
Linux has an extra layer between the filename and the file's actual data on the disk - this is the _inode_. This has a numerical value which you can see most easily in two ways:

docs/20.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 20 - Scripting
25

36
* [Complementary video](https://youtu.be/G7GyMuyauVk)

docs/21.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
---
2+
comments: true
3+
---
14
# Day 21 - What next?
25

36
* [Complementary video](https://youtu.be/MW9q6NWNDyM)

0 commit comments

Comments
 (0)