Learning Cloud Engineering with Altschool

Learning Cloud Engineering with Altschool

Version Control and File Permissions

I feel like i have broken a promise to my readers, i meannn, even if it's just one person, i promised to drop articles about my learning every week and i have failed you by being away for two weeks now. That wasn't the plan and i apologise to those who were looking forward to my next read the week after and got dissapointed. Forgive me

soft cat.jpeg

Thank you!

So without wasting time , let's jump right into what i learnt in week 3, 4 and 5. Week 5 is month 2 week 1 on the LMS

Week 3

This week, I learnt more about Open Source and Version Control(git), I made some contributions to projects and i won a $20 cash gift on Twitter courtesy of Chimoney for my contribution to Open Source. It was more like a way to encourage people to keep on contributing to Open Source and a few number of people with recent contributions were picked to be awarded, which i happened to be a part of. Safe to say that was my first cash earning from Tech, although i am yet to receive the cash due to some technicalities. It is a win and I am celebrating

Dancing Dance GIF - Dancing Dance Dancing Baby - Discover & Share GIFs.gif

The week generally wasn't so pack filled with content on the LMS as the content for week 2 was used for week 3 as well. I however focused on other materials i was studying on learntocloud and Edx linux foundation.

week 4

Week 4 was more handson as we went on a deep dive into Linux. I learnt how to create users on the terminal using the useradd and adduser command. The difference between the two commands is; the adduser command will automatically create a user account with a home directory for you while for the useradd command, you have to add a flag m (-m) useradd -m to create a user with a home directory.

I also learnt about groups, the different types, Login and Supplementary groups. How to manage groups, how to set file ownerships and permissions using the chown and chmod commands for the former and later. We have the read(4), write(2) and execute(1) permissions for files and the image below explains how the permissions are spread amongst target users.

File Permissions in Linux _ Unix_ How to Read, Write & Change_.png

To change the permission of a file, you simply type on your terminal chmod 777 filename (read4+write2+execute1 to get 7) this will give user, group and all read write and execute permissions.

Further into this week, i learnt about Secure Shell(SSH) and how to generate secure shell keys (sshkeys) for users with the command ssh-keygen. We were given a task to run multiple remote machines on one local machine using ssh. It was a struggle for me at first but i later got a hang of it after a 3hours long google meet call with a colleague who was also trying to figure it out. A call with a happy ending for both of us as we eventually got it

Well Done GIF - Well Done Despicable Me Minions - Discover & Share GIFs.gif

Moving further into the week, I learnt Linux Process Management and the different types of processes

  1. The Parent process which creates and leads to the creation of more processes called;
  2. The Child processes which is a process under the parent process(like a family tree)
  3. The orphaned process which have no parent process, perhaps as a result of a kill command executed on the parent process. This process then becomes the child of the grandparent process 'init'
  4. The Zombie process are processes that have completed the execution but are still listed among processes
  5. Daemon process are processes that run in the background.

We have process management commands like ps which is used to check the process running

  • ps aux used to list all the processes and their parents
  • top this is used to give details of the processes
  • htop used to give more detailed and colorful display of the processes. To exit the htop command , you press q or F10 on your keyboard. I found that F10 doesn't work on my machine to exit the command but q does.
  • kill is used to kill processes
  • sleep used to pause processes and many more commands i won't list here in other not to make this a lengthy read. Google Linux process commands and you will find a ton of them.

I also learnt about file system , virtual storage, how to mount storage , and Linux memory management

We went further into the week learning about application package management, Linux application packaging and Distribution like: DEB packaging RPM packaging Tarball / Source code Different package managers like apk (Alpine Systems) apt (Debian Systems) dpkg (Debian Systems) snap (Ubuntu Systems) yum (RPM Systems) and how to work our around downloading and installing different packages and softwares on the terminal.

You must be wondering how i got to learn all these in one week, i mean even i am shocked with all learnt in one week writing about it. They say "to whom much is given, much is expected" and Altschool doesn't relent in turning up the heat to learn, the pressure is getting wesser but we will conquer.

Patrick Star Evil Laugh GIF - Patrick Star Evil Laugh Fire - Discover & Share GIFs.gif

Week 5

Week 5 which is this week, we learnt more about Version Control and navigating Github and Gitlab. It also created more time for me to practice more on things previously learnt, while enjoying life on my Terminal.

If it is not already so clear, I should add that I am very much enjoying and excited about my learning journey with Altschool Africa and in the tech space generally. Some days i feel lazy and don't want to open my computer. I sometimes feel guilty about it, feeling like i am not doing enough, but i always remind myself that rest is important so i give in to the lazy days guilt free to avoid burnout and relax my body.

Meditation.gif

Thank you for walking with me through my learning journey. I appreciate you Mental Health - Mindfulness.gif