Basic command line and system administration online training camp for people want to contribute to Debian
Introduction
During many debian packaging workshops we had to work with people who are very new to GNU/Linux and that slowed down the sessions considerably even when we clearly stated it is an advanced workshop. Now we should make sure they know these basics before accepting them to packaging workshop.
Reference: http://write.flossmanuals.net/command-line/introduction/ (thanks to @Mohammed Sadiq for the suggestion)
Schedule
Session 1 (2 hours) Handling files
Shell and kernel - basic idea about command line interface and graphical shell
Reference: https://www.thegeekdiary.com/unix-linux-what-is-a-shell-what-are-different-shells/
File operations - ls, cd, cp, mv, cat, less, touch, mkdir, rm,
Hidden files for user specific configuration (.bashrc, .vimrc, .gitconfig etc).
Filesystem Hierarchy Standard (FHS) - location of various types of files in system. /etc, /usr/bin, /var/cache, /var/lib...
/usr/local and /opt
Reference: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
Exercise: Get root access via grub. Editing /boot for setting password for grub boot loader (could be completed later).
Documentation: man and /usr/share/doc
Environment variables and .bashrc/.zshrc
Reference: https://linuxhint.com/bash-environment-variables/
Session 2 (2 hours) Text editing and searching
Text Editing: vim/nano/emacs/micro
Search: grep, find
https://opensourceforu.com/2012/06/beginners-guide-gnu-grep-basics/
https://danielmiessler.com/study/find/
Find and replace: sed
https://www.poftut.com/ultimate-sed-tutorial-with-examples/
Session 3 (2 hours) Package management
Managing packages: apt (search, policy, install, remove, dist-upgrade),
https://wiki.debian.org/AptCLI
https://wiki.debian.org/apt-file
sources.list (installing from experimental/backports),
https://backports.debian.org/Instructions/
dpkg. Source packages (downloading, installing build dependencies and building).
https://wiki.debian.org/Packaging/SourcePackage
Setting up locales: apt install locales, dpkg-reconfigure locales (choose same locale as host like en_IN)
Session 4 (2 hours) File and User Permissions
Users and Groups: adduser, deluser
https://www.debianadmin.com/users-and-groups-administration-in-linux.html
File permissions: chmod, chown
https://ryanstutorials.net/linuxtutorial/permissions.php
Execution permission and $PATH. alias and creating custom commands.
root user and root privilege: sudo or su (never use root for something that can be done as normal user), gpasswd (give sudo access).
You are normally not supposed to login as root to reduce damages caused by mistakes. There are two common methods to gain root privileges after you login as normal user, su and sudo.
After you get # prompt with su -
command as normal user, anything you run on that prompt will be run as root user. You will need to enter the root password.
Alternatively, any command prefixed with sudo will be run as root user, provided the user running that command must be allowed to use sudo command during installation or explicitly by root user later. Learn more about sudo at https://wiki.debian.org/sudo
Advanced permissions https://linoxide.com/how-tos/stickbit-suid-guid/
Session 5 (2 hours) Basics of network services
/etc/hosts, ip, ss (ss -aut) (ip and ports), nslookup/host/dig, ping
nginx basic setup with a custom domain name.
https://linuxize.com/post/how-to-install-nginx-on-debian-10/
Free domain names like .tk, .ml and setting up home page with gitlab pages.
Session 6 (2 hours) Git and SSH access
Account in git.fosscommunity.in (create project, clone, add, commit and push).
SSH keys and ssh clone (public key crypto).
How to join?
We will be using a matrix group for this purpose. You will need a Debian bare metal installation on your machine (we want to help people who want to contribute to Debian and hence using Debian is a first step. If you are using other distributions as your main OS, you can dual boot or convince your distro community to offer something similar). We hope people who attend these sessions to contribute to the projects the mentors are involved in (since we are not charging money for the sessions). You can either join as a mentor or a student. Mentors can list the projects they are involved with as suggested projects to contribute.
What is different about it? We already have many technical workshops
Most technical workshops focus on just teaching skills without giving an orientation or guidance to contribute to a Free Software project. We want to propose these sessions as training for people who want to contribute.
Can i use something like debian vagrant box/virtual machine or docker instead of dual booting?
No. The idea is to mentor people to contribute to Debian, so only those who can install it on their laptops are eligible, it is also a kind of filter to see if people are really interested to contribute. We have been organizing workshops without such requirements in the past and the results have not been very exciting.
We also do debian packaging sessions and mentor people always without such requirements too where people just use a container or virtual machine or schroot to get a debian unstable environment. You can directly start there if you already know the basics. You can start directly at https://codema.in/d/LTpSdMuX/debian-packaging-pre-requisites and join #debian-browserify:diasp.in (via Matrix).
When will it start?
First batch is starting on December 7 and second batch starting on December 14. You can say hi to @praveen:poddery.com or @kannan:poddery.com or @bady:poddery.com on matrix to join the discussion group. If you are new to Matrix, checkout https://riot.im and install Riot app or any matrix client of your choice.
Kurian Benoy
Fri 22 Nov 2019 2:56AM
Relearn about linux
Poll Created Sun 24 Nov 2019 4:56PM
When should we start the camp? Closed Wed 4 Dec 2019 5:02PM
Session 3 happened today and session 4 will happen tomorrow
We should find a suitable date for us to start. Since its unlikely for all people to be free at same time, we can do it in batches. Choose start date suitable for you.
Results
UTC | Votes | ||||||||||||||||||
Sat 7 Dec 2019 2:30PM |
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sat 14 Dec 2019 2:30PM |
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 of 133 people have participated (13%)
Pirate Praveen Mon 25 Nov 2019 8:05AM
I have opened a date poll to find suitable time for the camp launch. I know many of you have exams right now, so you can add another date after exams. I think if minimum 5 people agrees to a time slot, we can start the first batch.
Pirate Praveen Sat 7 Dec 2019 1:04PM
We will be starting the first batch in around one and a half hours. If you have not yet joined the matrix group, contact the mentors for an invitation.
Kurian Benoy Sat 7 Dec 2019 1:30PM
Can you send me the invitation for joining matrix group?
Kurian Benoy
+91 9400125402 ( tel:+91+9400125402 ) | kurian.bkk@gmail.com
https://kurianbenoy.github.io/
( http://us.linkedin.com/in/kurian-benoy-75642b120 )
( http://github.com/kurianbenoy )
Pirate Praveen Sun 8 Dec 2019 8:06AM
I have sent you email and SMS.
Jyothis Jagan Sun 8 Dec 2019 5:03AM
You can find the notes for the first session at https://git.fosscommunity.in/jyothisjagan/notes-from-online-camp-for-newbies-to-debian/blob/master/session1.md
Pirate Praveen Sun 8 Dec 2019 8:07AM
Thanks! This will be helpful for everyone. Others, please improve it via merge requests.
JOYS K MATHEW Mon 9 Dec 2019 1:59AM
How to access the workshopI had installed and signed in riot
Pirate Praveen Mon 9 Dec 2019 4:36AM
Invited to the group.
Poll Created Wed 25 Dec 2019 5:31PM
When do you want the second session? Closed Sat 28 Dec 2019 2:03PM
How about December 28th/29th?
Results
UTC | Votes | |||||||
Sat 28 Dec 2019 2:30PM |
4 |
|
|
|
|
|
|
|
Sun 29 Dec 2019 6:00PM |
4 |
|
|
|
|
|
|
|
7 of 134 people have participated (5%)
Poll Created Thu 2 Jan 2020 6:31PM
When do you want session 3? Closed Sat 4 Jan 2020 2:03PM
Session 3 happened today and session 4 will happen tomorrow.
We will not be doing repeat sessions from now on. So we have to find a suitable time convenient to most.
Results
UTC | Votes | |
Sat 4 Jan 2020 2:30PM |
1 |
|
Sun 5 Jan 2020 2:30PM |
1 |
|
1 of 134 people have participated (0%)
Prateek Mishra Fri 3 Jan 2020 5:01PM
4th will be fine for me.
Poll Created Sat 15 Feb 2020 3:54PM
When do you want session 5? Closed Fri 21 Feb 2020 4:03PM
Session 5 already started and basic network related commands are covered. Next topics are about configuring Nginx and setting up a custom domain. When do you want this session?
Results
UTC | Votes | |
Sat 22 Feb 2020 2:30PM |
1 |
|
Sun 23 Feb 2020 2:30PM |
0 |
|
1 of 134 people have participated (0%)
Kurian Benoy · Fri 22 Nov 2019 2:56AM