Learning Linux Diversity
Dive into Linux Subsystem
for Personal Educational Purpose.
Click download in:
[PDF],
[Impress]
All slides in:
[slides]
About Me ππ»ββοΈ!
Yet, another underachiever π».
But hey, I have my own blog π.
About This Material π€
After watching this, you will understand:
- A more systematic steps to learn GNU/linux.
- How to make your own learning plan (syllabus).
ππ½
This material is not really comprehensive.
I still have so much to learn.
After first linux install π€?
You might desire to
- Join linux community.
- Read documentation (statistically rare person).
- Update system.
- Install a bunch of application.
- Get busy with command line terminal.
- Surfing wiki and search engine.
And then what ?
After first linux install π€
Where to go from here π€?
- Should I try other distro?
- What other distro should I try?
- So many distro, so little differences!
- Should I use VM or multiboot?
Learn part of system!
Instead of just switching distro.
How Modular is Linux π€?
- Package Manager:
APT, ALPM, DNF, XBPS, Zypper, Portage.
- Init:
SysV, systemd, openRC, runit, S6.
- Filesystem:
ext4, XFS, Reiserfs, BTRFS, ZFS.
- Standard C library in OS:
glibc or musl.
- DE (Desktop Environment):
GTK+ based, QT based, enlightenment.
- WM (Window Manager):
Stacking, Tiling, Dynamic, Compositor.
Modular Linux π
You still need to Switch distro.
by considering these three diversity
Package Manager, File system, Init.
Modular Linux π
When do I need a physical OS π€?
- You can learn Package Manager using Docker.
- You can also learn Init using Docker.
- But you cannot learn Filesystem using Docker.
File system experience require long time examination.
Thus you have to live with baremetal (physical) OS.
Desktop Environment/ Window Manager
Most beginner start from switching DE/WM π:
[Desktop Customization]
Yet Another Presentation.
Common Subsystem π€?
A few must have knowledge!
Package Manager with Docker π€
Docker Test Bed:
APT, ALPM, DNF, XBPS, Zypper, Portage
Docker is suitable for
old notebook with low resources.
Package Manager with Docker π€
More Articles about Docker Test Bed
Package Manager Feature π€?
Be Aware of Package Manager Advantage/Issue
Deep knowledge require long time experience.
Most of issues comes months after install.
Init π€?
Who use what.
- OpenRC:
Gentoo, Artix, Devuan
- runit:
Void, Artix
- s6:
Obarun, Artix
- SysV:
Slackware, Devuan
- systemd:
Most Major Distro
Elements π€
The four elements of an init system:
- /sbin/init
- pid 1
- Process Supervision
- Service Management
Reference: s6_lightning_talk.pdf
File System π€?
ext4, XFS, Reiserfs, BTRFS, ZFS.
Deep knowledge require long time experience.
Most of issues comes months after install.
You cannot just install, and just understand file system instantly.
File System π€
- ext4: most common in linux
- ZFS: common in BSD
- UFS: common in BSD
- BRTRFS: Default in openSUSE /
- XFS: can be installed in most linux
File System π€
Example Issues and Workarounds:
Standard C library in OS π€?
glibc or musl.
I must admit,
I do not have any experiece with musl.
Switching Distro π€?
While you are young and still have time.
Get yourself quarterly (three months) curriculum/plan.
Just get pass through it.
No need to go deep with coding.
Be an ordinary user.
After this one year,
you are already mature enough with broader view
to choose whatever linux you want.
If you want to get more wisdom.
Learn BSD land in the second year.
Switching Distro π€
Example Syllabus (learning plan):
Make a target of first year with linux.
- Q1: ubuntu/mint/manjaro
learn the DE universe: gnome-shell, plasma, xfce4
learn basic command line.
- Q2: opensuse
learn filesystem: btrfs, xfs
also learn yast2
- Q3: arch
know your system,
dive into the world of cli/terminal shell
- Q4: gentoo
learn init other than systemd
learn patience π
Switching Distro π€?
Example Q1: Ubuntu/ Mint/ Manjaro
- Basic Terminal Command
ls, cat, grep, ps, top, man, info, su, sudo
always use $ man for documentation before google.
- Also learn about basic linux briefly
Examine Filesystem Hierarchy Standard (FHS)
Examine boot process.
Solving audio or wireless issue.
- Read The Fine Manual
[ubuntu-manual] (GUI)
[debian-handbook] (hertzog)
- More Terminal Command
nmcli, ncdu, ntop, cfdisk
lspci, lsusb, lsmod, dmesg, ip, iw
Switching Distro π€?
Example Q3: Arch: Leverage yourself to Arch
- Install with command line only
add driver manually, add username manually, add DE manually, use pacman
- Read the holy arch wiki
there is a lot of good material here
- Use packer, cower, or other AUR Helper
automatic compilation, try any unofficial application from AUR
- Dare to use minimalis WM, rather than eyecandy DE
openbox, awesome, i3, bspwm
- Penetration Testing Application
add and install repo: BlackArch or maybe ArchStrike
Philosophy: Knowing Your System
Switching Distro π€?
Install Log/ Post Install Log
Multiboot π€?
For linux enthusiast.
Multiboot π€
Partition Schema using MBR (old example)
- Primary: Windows
- Extended: Linux
Swap
Shared Partition
First Distro
Second Distro
Third Distro
- Extended: BSD
[Multiboot - Partition Schema]
Multiboot π€
chroot
- Some OS is comfortably installed using chroot:
such as: Gentoo, LFS.
- Other OS can be updated using chroot:
beware of small issues.
[Multiboot - chroot]
Multiboot π€
Tips: Keep your samba's network share
persistence along multiboot.
[Multiboot - Samba]
Multiboot π€
Tips: Linux Multiboot with BSD,
can be done using UFS, instead of ZFS.
[GhostBSD: Multiboot]
Kernel π€?
make menuconfig
Interesting Diversity π€?
Project Trident
runit + zol + xbps + musl
Alpine Linux
Busybox (no GNU tools)
NixOS
Exotic Package Manager
LFS
No comment.
And many more
You name it!
What is Next π€?
More Wisdom!
ππ½
Learn BSD land!
Questions π€?
Don't be shy ππ»ββοΈ!
The End
ππ»
Thank You for Your Time.