Loomio

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

Pirate Praveen
Pirate Praveen Public Seen by 188

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

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.

Pirate Praveen

Pirate Praveen is checking November 16th, 2019 10:20

Would you like to be a mentor? Closed 3:31pm - Saturday 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
Pirate Praveen

Pirate Praveen
Yes
November 16th, 2019 10:21

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

Pirate Praveen

Pirate Praveen is checking November 16th, 2019 10:26

Would you like to be a student? Closed 3:32pm - Saturday 30 Nov 2019

Outcome
by Pirate Praveen December 25th, 2019 17:33

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
Raju Devidas

Raju Devidas
Yes
November 16th, 2019 10:43

I want to re-visit my System Administration skills

S

suman
Yes
November 16th, 2019 11:29

Suhail

Suhail
Yes
November 16th, 2019 11:38

JJ

Jyothis Jagan
Yes
November 16th, 2019 14:55

AM

Adharsh M
Yes
November 16th, 2019 14:55

SA

Shameel Abdulla
Yes
November 16th, 2019 15:04

A

adarsh
Yes
November 16th, 2019 15:15

Nilesh Patra

Nilesh Patra
Yes
November 16th, 2019 15:50

BHADRA SANDHYA JAYAKUMAR

BHADRA SANDHYA JAYAKUMAR
Yes
November 16th, 2019 16:19

Utkarsh Gupta

Utkarsh Gupta
Yes
November 16th, 2019 16:54

Ayush

Ayush
Yes
November 16th, 2019 20:30

Pranshu Srivastava

Pranshu Srivastava
Yes
November 16th, 2019 23:48

Abhay Singh

Abhay Singh
Yes
November 17th, 2019 02:17

MS

Mohammed Sadiq
Yes
November 17th, 2019 05:25

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

Akash Sarda

Akash Sarda
Yes
November 17th, 2019 05:25

I can if I am in Pune

Akash Sarda

Akash Sarda
Yes
November 17th, 2019 06:37

I would love to contribute to debian

Samyak Jain

Samyak Jain
Yes
November 18th, 2019 08:07

PM

Prateek Mishra
Yes
November 18th, 2019 17:49

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

R

Rojan
Yes
November 19th, 2019 11:43

Kannan V M

Kannan V M
Yes
November 19th, 2019 18:44

I can teach GNU/Linux basics

Bady

Bady
Yes
November 20th, 2019 10:19

I am willing to handle any of the proposed sessions.

Sanchit Khurana

Sanchit Khurana
Yes
November 20th, 2019 14:52

Kiran S Kunjumon

Kiran S Kunjumon
Yes
November 21st, 2019 14:13

Kiran S Kunjumon

Kiran S Kunjumon
Yes
November 21st, 2019 14:13

Kurian Benoy

Kurian Benoy November 22nd, 2019 02:56

Kurian Benoy

Kurian Benoy
Yes
November 22nd, 2019 02:56

Relearn about linux

JOYS K MATHEW

JOYS K MATHEW
Yes
November 22nd, 2019 08:10

Pirate Praveen

Pirate Praveen started a time poll November 24th, 2019 16:56

When should we start the camp? Closed 10:32pm - Wednesday 4 Dec 2019

Outcome
by Pirate Praveen January 4th, 2020 17:41

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.

timezone
Sanchit Khurana
Mibin Joseph N M
BHADRA SANDHYA JAYAKUMAR
Pranshu Srivastava
Pranshu Srivastava
Ajmal Aju
A
Shubham Upreti
Samyak Jain
Bady
Kannan V M
Anmol
Shruti Gupta
Ayush
PM
Nilesh Patra
SA
Pirate Praveen
JJ
Total
December 7th, 2019 14:30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
December 14th, 2019 14:30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
JJ

Jyothis Jagan November 24th, 2019 17:07

December 7th, 2019 14:30

Shruti Gupta

Shruti Gupta
Yes
November 25th, 2019 07:28

Pirate Praveen

Pirate Praveen November 25th, 2019 08:05

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

Pirate Praveen November 25th, 2019 09:16

December 7th, 2019 14:30

SA

Shameel Abdulla November 25th, 2019 10:18

December 7th, 2019 14:30

Nilesh Patra

Nilesh Patra November 25th, 2019 12:03

December 14th, 2019 14:30

PM

Prateek Mishra November 26th, 2019 02:16

December 7th, 2019 14:30

Ayush

Ayush November 26th, 2019 18:53

December 14th, 2019 14:30

Shruti Gupta

Shruti Gupta November 27th, 2019 03:21

December 7th, 2019 14:30

Anmol

Anmol
Yes
November 27th, 2019 04:15

Anmol

Anmol November 27th, 2019 04:15

December 14th, 2019 14:30

Kannan V M

Kannan V M November 27th, 2019 12:05

December 14th, 2019 14:30

Bady

Bady November 27th, 2019 12:53

December 14th, 2019 14:30

Samyak Jain

Samyak Jain November 27th, 2019 13:13

December 14th, 2019 14:30

Shubham Upreti

Shubham Upreti November 27th, 2019 17:05

December 7th, 2019 14:30

A

adarsh November 28th, 2019 12:39

December 14th, 2019 14:30

Ajmal Aju

Ajmal Aju November 30th, 2019 13:14

December 14th, 2019 14:30

Pranshu Srivastava

Pranshu Srivastava November 30th, 2019 22:27

Pranshu Srivastava

Pranshu Srivastava November 30th, 2019 22:27

December 14th, 2019 14:30

BHADRA SANDHYA JAYAKUMAR

BHADRA SANDHYA JAYAKUMAR December 1st, 2019 01:12

December 14th, 2019 14:30

Mibin Joseph N M

Mibin Joseph N M December 2nd, 2019 14:18

December 14th, 2019 14:30

Sanchit Khurana

Sanchit Khurana December 3rd, 2019 16:09

December 7th, 2019 14:30

Pirate Praveen

Pirate Praveen December 7th, 2019 13:04

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

Kurian Benoy December 7th, 2019 13:30

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 )

JJ
Pirate Praveen

Pirate Praveen December 8th, 2019 08:06

I have sent you email and SMS.

Pirate Praveen

Pirate Praveen December 8th, 2019 08:07

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

JOYS K MATHEW

JOYS K MATHEW December 9th, 2019 01:59

How to access the workshopI had installed and signed in riot

Pirate Praveen

Pirate Praveen December 9th, 2019 04:36

Invited to the group.

Pirate Praveen

Pirate Praveen started a time poll December 25th, 2019 17:31

When do you want the second session? Closed 7:33pm - Saturday 28 Dec 2019

How about December 28th/29th?

timezone
A
Anmol
Ayush
Ayush
PM
JJ
JJ
Sanchit Khurana
SA
Total
December 28th, 2019 14:30
 
 
 
 
 
 
 
 
 
5
December 29th, 2019 18:00
 
 
 
 
 
 
 
 
 
4
SA

Shameel Abdulla December 25th, 2019 18:03

December 29th, 2019 18:00
December 28th, 2019 14:30

Sanchit Khurana

Sanchit Khurana December 25th, 2019 18:34

December 28th, 2019 14:30

JJ

Jyothis Jagan December 26th, 2019 02:25

December 28th, 2019 14:30

JJ

Jyothis Jagan December 26th, 2019 02:25

December 28th, 2019 14:30

PM

Prateek Mishra December 26th, 2019 05:58

December 29th, 2019 18:00

Ayush

Ayush December 27th, 2019 07:50

Ayush

Ayush December 27th, 2019 07:50

December 28th, 2019 14:30

Anmol

Anmol December 27th, 2019 15:33

December 29th, 2019 18:00

A

adarsh December 28th, 2019 06:36

December 29th, 2019 18:00
December 28th, 2019 14:30

Pirate Praveen

Pirate Praveen started a time poll January 2nd, 2020 18:31

When do you want session 3? Closed 7:33pm - Saturday 4 Jan 2020

Outcome
by Pirate Praveen January 4th, 2020 17:39

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.

timezone
JJ
Total
January 4th, 2020 14:30
 
1
January 5th, 2020 14:30
 
1
JJ

Jyothis Jagan January 2nd, 2020 20:28

January 5th, 2020 14:30
January 4th, 2020 14:30

PM

Prateek Mishra January 3rd, 2020 17:01

4th will be fine for me.