Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commitc9a1483157317af618f655af97b73686e5459ca5 (patch)
Author
 Syndamia <kamen@syndamia.com>
2023-01-22 17:49:50 +0200
Committer
 Syndamia <kamen@syndamia.com>
2023-01-22 17:49:50 +0200
Files8a2f3ec259804c858a88e4d71142e3f65a614822
syndamia.com-c9a1483157317af618f655af97b73686e5459ca5.tar
syndamia.com-c9a1483157317af618f655af97b73686e5459ca5.tar.gz
syndamia.com-c9a1483157317af618f655af97b73686e5459ca5.zip
Parent68c1774aebbd894d1c7cdb9b8a6a4963c5a5b096 (diff)
[talks/lbs] Finished 5th and 6th chapters
1 files changed, 102 insertions, 11 deletions
-rw-r--r--src/talks/linuxgraphy-by-strabo/index.md113
diff --git a/src/talks/linuxgraphy-by-strabo/index.md b/src/talks/linuxgraphy-by-strabo/index.md
index 945c408..e198e26 100644
--- a/src/talks/linuxgraphy-by-strabo/index.md
+++ b/src/talks/linuxgraphy-by-strabo/index.md
@@ -52,18 +52,12 @@ Today, I'll lay out Linux as it is known to me.
&&/cont &&cont
5. What makes up a useful OS
- 0. File systems
1. Bootloader
1. Init system
- 2. Package (software) manager
+ 2. Package manager
3. Desktop manager
6. War on distros
- 1. What is a distribution
- 2. Comparison
-<!-- 1. Slackware 2. Debian (and Ubuntu) 3. Red Hat 4. Enoch (and Gentoo) 5. Arch Linux -->
- 3. Non-desktop distros
-<!-- 1. AOSP 2. OpenWRT -->
-&&lineb2
+&&lineb5
7. Demo - setup from zero
&&/cont &&/table
@@ -655,19 +649,116 @@ This is important, since pretty much everything can be freely modified by anyone
-&&slide
+&&font35 &&slide
# 5. What makes up a useful OS
We talked about the modularity of a Linux-based operating system.
Overall, these are the main elements that make up a desktop operating system you might want to use:
+&&lineb1
+
1. **Bootloader**: load the kernel and operating system
-2. **Init system**: a well managed way to start everything inside the OS
+2. **Init system**: well managed way to start everything inside the OS
3. **Package manager**: way to manage our binaries
4. **Desktop manager**: graphical shell
-&&/slide
+&&/slide &&/font
+
+
+
+&&font35 &&slide
+
+## 5.1. Bootloader
+
+&&lineb2
+
+When a computer boots, it needs to start an operating system, but you can't expect it to know how to boot any operating system.
+Skipping over the details, the computer starts a small program called the bootloader, which handles loading the OS.
+
+On Linux, the most used one is called [GRUB](TODO).
+With it you can also specify which kernel to load, with which parameters to load the kernel and which OS to start.
+
+&&/slide &&/font
+
+
+
+&&font35 &&slide
+
+## 5.2. Init system
+
+&&lineb1
+
+In Minimal Linux Live, the whole system is started by some hard written scripts, this isn't very modular and extensible, that is why we need a special system.
+
+Generally, the [init system](https://en.wikipedia.org/wiki/Init) loads a series of services, where each service is just a file that specifies what and how something needs to be ran.
+
+The most common init systems are
+
+- [systemd](https://en.wikipedia.org/wiki/Systemd), which also aims to also provide easy system configuration
+- [openrc](https://en.wikipedia.org/wiki/OpenRC), a simple and modern system
+
+&&/slide &&/font
+
+
+
+&&font35 &&slide
+
+## 5.3. Package manager
+
+&&lineb1
+
+Running a program is as simple as putting the executable in a nice folder, like `/usr/bin`.
+However this process isn't very convinent if you're only using a shell and more tedius if using a graphical shell.
+
+The solution is to have all programs in one location, where you can download, install and potentially update a program with one simple command, just using the program's name.
+Other good features include installing dependencies and checking if a package is tampered with.
+
+There is another "type" of package managers, those similar to `portage`, where packages are actually instructions on how to download and compile a specific version of the program.
+
+&&/slide &&/font
+
+
+
+&&font30 &&slide
+
+## 5.4. Window systems
+
+&&lineb2
+
+A widow system is your graphical shell: the graphical way to interact with your computer (the kernel).
+It's main components are:
+
+- **Window manager**: the overall system with which you create, remove, resize, etc. windows. They are generally separated into two types:
+ + Stacked: this is what you know, a windows are just rectangles floating about, and can be put one over each other
+ + Tiled: windows take up a predefined (but changeable) portion of the screen
+- **Compositor**: windows have an unseen buffer, allowing them to be be processed beforehand. This allows for adding transparency, animation effects and more.
+- **Session manager**: application that manages the window managers, allowing to use different managers or for multiple users to start their own graphical sessions.
+
+&&/slide &&/font
+
+
+
+&&font27 &&slide
+
+# 6. War on distros
+
+A distribution is a complete set of of all applications that we've talked so far.
+
+Overall, there are five distributions from which 90% of all other distros are based upon:
+
+1. Slackware: as the oldest still maintained distro, it served as insparation for a lot of other distros. It aims to be as simple and as close to UNIX as possible.
+2. Debian (and Ubuntu): it is the most popular distribution (if we also include Ubuntu, since they're so similar). Ubuntu aims to be modern and fancy, while debian aims to be as stable as possible, which makes it the most popular in server usage.
+4. Gentoo: the distribution which defined non-binary software distribution
+5. Arch Linux: a very popular and modern distribution with the goal of providing the latest and greatest software.
+
+We haven't touched too much, but Linux distributions aren't limited to desktop or server computers.
+Two more uncommon ones are:
+
+1. AOSP: the base of the whole Android operating system
+2. OpenWRT: a router operating system
+
+&&/slide &&/font