Loomio

Basic command line and system administration online training camp for people want to contribute to Debian

PP
Pirate Praveen Public Seen by 85

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,

Reference: https://www.howtogeek.com/107808/how-to-manage-files-from-the-linux-terminal-11-commands-you-need-to-know/

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/

Notes: https://git.fosscommunity.in/jyothisjagan/notes-from-online-camp-for-newbies-to-debian/blob/master/session1.md

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/

Notes: https://git.fosscommunity.in/jyothisjagan/notes-from-online-camp-for-newbies-to-debian/blob/master/session2.md

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://www.loomio.org/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.

PP

Pirate Praveen started a check Sat 16 Nov 2019

Would you like to be a mentor? Closed Sat 23 Nov 2019

If you are comfortable with any of the proposed sessions, you can sign up as a mentor and list projects you are involved with as suggested projects to students.

6 - Yes
PP

Pirate Praveen
Yes
Sat 16 Nov 2019

I'd like to be a mentor and would like students to contribute to Debian and help maintain services run by FSCI.

DU

[deactivated account]
Yes
Sun 17 Nov 2019

only if happening on weekends and online via matrix/irc (and only for commandline)

AS

Akash Sarda
Yes
Sun 17 Nov 2019

I can if I am in Pune

KVM

Kannan V M
Yes
Tue 19 Nov 2019

I can teach GNU/Linux basics

B

Bady
Yes
Wed 20 Nov 2019

I am willing to handle any of the proposed sessions.

PP

Pirate Praveen started a check Sat 16 Nov 2019

Would you like to be a student? Closed Sat 30 Nov 2019

Outcome
by Pirate Praveen Wed 25 Dec 2019

We have 23 registrations so far and we will have 2 batches - first batch starting on December 7 and second batch starting at December 14. Session 2 date poll https://www.loomio.org/d/kVYl89A7/basic-command-line-and-system-administration-online-training-camp-for-people-want-to-contribute-to-debian/67

We are going to dedicate our time on you with the hope that you will contribute to the projects we are involved in. You will need a Debian bare metal installation on your laptop or willing to install it to qualify. You will also need to dedicate at least 8 hours a week for this. Once you vote yes here, contact @praveen:poddery.com via matrix to join the chat group.

23 - Yes
RD

Raju Devidas
Yes
Sat 16 Nov 2019

I want to re-visit my System Administration skills

AS

Akash Sarda
Yes
Sun 17 Nov 2019

I would love to contribute to debian

PM

Prateek Mishra
Yes
Mon 18 Nov 2019

The content of this course is just perfect for a begginer like me.

KB

Kurian Benoy
Yes
Fri 22 Nov 2019

Relearn about linux

KB

Kurian Benoy Fri 22 Nov 2019

PP

Pirate Praveen started a time poll Sun 24 Nov 2019

When should we start the camp? Closed Wed 4 Dec 2019

Outcome
by Pirate Praveen Sat 4 Jan 2020

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.

JJ
PP
SA
NP
PM
A
SG
A
KVM
B
SJ
SU
A
AA
PS
BSJ
MJN
SK
Total
Sat 7 Dec 2019, 20:00
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
Sat 14 Dec 2019, 20:00
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
PP

Pirate Praveen Mon 25 Nov 2019

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.

PP

Pirate Praveen Sat 7 Dec 2019

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.

KB

Kurian Benoy Sat 7 Dec 2019

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 )

( http://twitter.com/kurianbenoy2 )

( http://medium.com/@kurianbenoy1998 )

PP

Pirate Praveen Sun 8 Dec 2019

I have sent you email and SMS.

PP

Pirate Praveen Sun 8 Dec 2019

Thanks! This will be helpful for everyone. Others, please improve it via merge requests.

JKM

JOYS K MATHEW Mon 9 Dec 2019

How to access the workshopI had installed and signed in riot

PP

Pirate Praveen Mon 9 Dec 2019

Invited to the group.

PP

Pirate Praveen started a time poll Wed 25 Dec 2019

When do you want the second session? Closed Sat 28 Dec 2019

How about December 28th/29th?

SA
SK
JJ
PM
A
A
A
Total
Sat 28 Dec 2019, 20:00
 
 
 
 
 
 
 
4
Sun 29 Dec 2019, 23:30
 
 
 
 
 
 
 
4
PP

Pirate Praveen started a time poll Thu 2 Jan 2020

When do you want session 3? Closed Sat 4 Jan 2020

Outcome
by Pirate Praveen Sat 4 Jan 2020

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.

JJ
Total
Sat 4 Jan 2020, 20:00
 
1
Sun 5 Jan 2020, 20:00
 
1
PM

Prateek Mishra Fri 3 Jan 2020

4th will be fine for me.

B

Bady started a time poll Sat 15 Feb 2020

When do you want session 5? Closed Fri 21 Feb 2020

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?

JJ
Total
Sat 22 Feb 2020, 20:00
 
1
Sun 23 Feb 2020, 20:00
 
0