Skip to content
Open

Dev #632

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
41a0a0e
networking solution added
apurva-kri Nov 10, 2025
711704b
file edit saved
apurva-kri Nov 10, 2025
39f28a2
Initial Commit: Add infor.txt with introductory content
apurva-kri Nov 22, 2025
168fd58
Feature update: Enhance infor.txt with additional details
apurva-kri Nov 22, 2025
818e4a4
Merge pull request #1 from apurva-kri/feature-update
apurva-kri Nov 22, 2025
7f710f3
Create solution.md
apurva-kri Nov 22, 2025
7087821
Document Git and GitHub basics with detailed tasks
apurva-kri Nov 22, 2025
7dc8e4e
Merge pull request #2 from apurva-kri/feature-update
apurva-kri Nov 22, 2025
c86cf56
Create Task1
apurva-kri Nov 25, 2025
afaf68c
Added a new feature
apurva-kri Nov 25, 2025
4584ca5
Merge pull request #3 from apurva-kri/feature-branch
apurva-kri Nov 25, 2025
b51cf4c
Delete 2025/git/02_Git_and_Github_Advanced/Task1 del
apurva-kri Nov 25, 2025
951a5ea
Merge branch 'TrainWithShubham:master' into master
apurva-kri Jan 26, 2026
3d9b817
Task 2 added
apurva-kri Jan 26, 2026
cdc1f94
Merge branch 'master' into networking
apurva-kri Jan 26, 2026
1c8beea
Merge branch 'TrainWithShubham:master' into master
apurva-kri Jan 27, 2026
95cb47e
Merge branch 'master' of github.com:apurva-kri/90DaysOfDevOps into ne…
apurva-kri Jan 27, 2026
3418e8d
Merge branch 'TrainWithShubham:master' into dev
apurva-kri Jan 29, 2026
1fed891
Merge branch 'TrainWithShubham:master' into master
apurva-kri Jan 29, 2026
9c15246
day-02 task added
apurva-kri Jan 29, 2026
b23e84e
Merge branch 'TrainWithShubham:master' into master
apurva-kri Jan 30, 2026
43a7bd7
day-03 task added
apurva-kri Jan 30, 2026
4a10a42
Merge branch 'master' into dev
apurva-kri Jan 30, 2026
d7f8f1d
adding day 3 task
apurva-kri Jan 30, 2026
acdb526
task-04 added
apurva-kri Feb 3, 2026
5b60a4b
Merge branch 'TrainWithShubham:master' into dev
apurva-kri Feb 4, 2026
c9da829
task 05 added
apurva-kri Feb 8, 2026
c08f35e
Merge branch 'TrainWithShubham:master' into master
apurva-kri Feb 8, 2026
db803c4
Merge branch 'master' into dev
apurva-kri Feb 8, 2026
40819d9
task 6 added
apurva-kri Feb 8, 2026
25a72e6
task 7 added
apurva-kri Feb 10, 2026
6c71b35
Task 08 added
apurva-kri Feb 11, 2026
85f99b6
task 09 added
apurva-kri Feb 12, 2026
a6ec3af
task 10 added
apurva-kri Feb 13, 2026
7ded5bd
task 11 added
apurva-kri Feb 15, 2026
c3190df
task 13 added
apurva-kri Feb 15, 2026
88d2993
Merge branch 'TrainWithShubham:master' into dev
apurva-kri Feb 15, 2026
b1488fe
task 14 added
apurva-kri Feb 20, 2026
7cf1c53
task 14 added
apurva-kri Feb 20, 2026
15768b7
task 15 added
apurva-kri Feb 20, 2026
728d5dc
task 16 added
apurva-kri Feb 24, 2026
c7f3c01
task 17 added
apurva-kri Feb 25, 2026
4fcbb3d
changes are done
apurva-kri Feb 25, 2026
878fba0
changes done
apurva-kri Feb 25, 2026
171af8a
Day 10 task added
apurva-kri Feb 27, 2026
1cd01a9
Day 10 task added
apurva-kri Feb 27, 2026
7115196
task 19 added
apurva-kri Mar 5, 2026
cc0bb7a
task 20 added
apurva-kri Mar 6, 2026
4f3c410
Merge branch 'TrainWithShubham:master' into dev
apurva-kri Mar 6, 2026
b1e8aa4
task 21 added
apurva-kri Mar 6, 2026
c4934d7
task 21 added
apurva-kri Mar 6, 2026
1be16c0
file deleted
apurva-kri Mar 10, 2026
932229c
adding
apurva-kri Mar 10, 2026
16c9f66
Delete devops-git-practice directory
apurva-kri Mar 10, 2026
a9ee5b2
git commands added
apurva-kri Mar 11, 2026
c184c4d
commands added
apurva-kri Mar 11, 2026
03fe4b8
Changes made
apurva-kri Mar 11, 2026
305a509
Update git-commands.md
apurva-kri Mar 11, 2026
9508c1b
Refactor Git commands reference formatting
apurva-kri Mar 11, 2026
7e09df1
changes are added
apurva-kri Mar 12, 2026
9e134c0
new command file has been made
apurva-kri Mar 12, 2026
d18b226
new commands added
pp123456 Mar 12, 2026
4c85152
commands added
pp123456 Mar 12, 2026
6eef633
new commands added
pp123456 Mar 12, 2026
5e64a28
new command added
pp123456 Mar 12, 2026
2bda493
New term Squash added
pp123456 Mar 12, 2026
eb2487a
git stash practiced
pp123456 Mar 12, 2026
9fdf5d3
git stash command added
pp123456 Mar 12, 2026
93e5186
git cherry-pick notes added
pp123456 Mar 13, 2026
eee0189
corrected the spacing
apurva-kri Mar 13, 2026
ff132e0
Git Branching Startegies notes added
apurva-kri Mar 14, 2026
55d71f0
Github cli commands added
apurva-kri Mar 14, 2026
5468668
gh commands added
apurva-kri Mar 14, 2026
e0970d3
gh commands added
apurva-kri Mar 14, 2026
e2a5e34
gh commands added
apurva-kri Mar 14, 2026
4f3770f
Docker basics notes added
apurva-kri Mar 18, 2026
70a7957
Docker basics command added
apurva-kri Mar 18, 2026
d5010a9
Delete 2026/day-27/task-29 directory
apurva-kri Mar 18, 2026
dfb38cc
Docker commands added
apurva-kri Mar 20, 2026
ae9bc4d
Formatting applied
apurva-kri Mar 30, 2026
2fd8111
Docker Day 31 added
apurva-kri Apr 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions 2025/git/01_Git_and_Github_Basics/solution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Task 1: Fork and Clone the Repository
git clone <https://github.com/apurva-kri/90DaysOfDevOps.git>
cd 2025/git/01_Git_and_Github_Basics
mkdir week-4-challenge
cd week-4-challenge
git init
vim info.txt
git add info.txt
git commit -m "Initial commit: Add info.txt with introductory content"
Task 3: Configure Remote URL with PAT and Push/Pull
git remote set-url origin https://@github.com/apurva-kri/90DaysOfDevOps.git
git push -u origin main
git pull origin main
Task 4: Explore Your Commit History
git log
Task 5: Advanced Branching and Switching
git branch feature-update
git switch feature-update
git add info.txt
git commit -m "Feature update: Enhance info.txt with additional details"
git push origin feature-update

Branching strategies are essential in collaborative development because they help teams work together efficiently and safely. By isolating features and bug fixes in separate branches, developers can work without affecting the stability of the main codebase. This separation also enables parallel development, allowing multiple team members to work on different tasks simultaneously without interfering with each other’s progress.

Well-defined branching practices help reduce merge conflicts by keeping changes organized and focused within their own branches. Finally, they make code reviews more effective, as reviewers can easily understand the purpose of a branch, evaluate changes in isolation, and ensure quality before merging into the main branch.

1 change: 1 addition & 0 deletions 2025/git/01_Git_and_Github_Basics/week-4-challenge
Submodule week-4-challenge added at 72f79f
1 change: 1 addition & 0 deletions 2025/networking/Solution/Task1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
this is my submission for week one challenge
2 changes: 2 additions & 0 deletions 2025/networking/Solution/task2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1 comment

57 changes: 57 additions & 0 deletions 2026/day-02/task-02/linux-architecture-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Day 02 – Linux Architecture, Processes, and systemd
# Core Components of Linux

## Kernel

- Core of the OS; talks directly to hardware
- Manages CPU, memory, disk, devices
- Handles process scheduling and system calls

## User Space

- Where users and applications run
- Includes shell (bash), utilities, libraries
- Programs request resources from the kernel

## Init / systemd (PID 1)

- First process started by the kernel
- Initializes the system after boot
- Starts and manages background services

# How Processes Are Created & Managed
## Process Creation

- fork() → Creates a copy of the parent process
- exec() → Replaces process memory with a new program
- Each process gets a unique PID

## Process States (Important for Troubleshooting)

- Running (R) → Actively using CPU
- Sleeping (S) → Waiting for event/input (most common state)
- Stopped (T) → Paused (e.g., via kill -STOP)
- Zombie (Z) → Finished execution but parent hasn’t collected status
- Idle → Kernel process doing nothing
- Uninterruptible Sleep (D) → Waiting on I/O (disk/network), cannot be interrupted

The kernel scheduler manages CPU time and priorities to ensure multitasking works efficiently.

## What systemd does and why it matters
# what it does:
- Starts services at boot(SSh, netwroking, docker, etc)
- Manages and monitor services
- Restart failed services automatically
- Handles logging(journald)
- Control targets(run levels like multi-user, graphical)
# Why it matters
- Faster boot with parallel startup
- Centralized service management
- Better reliability and monitoring
- Essential for Devops & server administration
## 5 Linux commands I'd use daily
- ps-aux -View running processes
- top/htop - Monitor CPU & Memory usage
- systemctl - Manages Services like start, stop, restart, status, enable, disable etc
- journalctl - check logs
- kill - stop or signal a process
25 changes: 25 additions & 0 deletions 2026/day-03/task-03/linux-commands-cheatsheet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## 🐧Linux Command Cheat Sheet
# 1. Process Management
- ps - Display currently running processes
- ps aux - show all processes with detailed info
- top - Real-time system process monitoring
- htop - interractive process viewer
- kill <PID> - Terminate a process by PID
- kill -9 <PID> - Force kill a process
- pkill <name> - Kill process by name

# 📁2. File System Commands
- ls -l - List files with detailed permissions
- ls -a - Show hidden files
- cd <dir> - Change directory
- pwd - show current directory
- rm -r <dir> - Remove directory recursively
- cat <file> - Display file content
- chmod 755 <file> - Change file permissions

# 🌐3. Networking & Troubleshooting
- ping <host> - Check network connectivity
- curl <url> - Fetch data from URL(API testing)
- wget <url> - Downloads file from internet
- dig <domain> - DNS lookup for domain
- ip addr - Show IP address configuration
37 changes: 37 additions & 0 deletions 2026/day-04/task-04/linux-practice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
## Day 04 – Linux Practice: Processes and Services
# Service Management (systemd)
- systemctl status ssh - Check the current status of the SSH service (running, stopped, failed, logs)
- systemctl status sshd -Check the status of the SSH daemon (used in some distributions like CentOS/RHEL)
- systemctl is-enabled ssh -Verify whether the SSH service is enabled to start automatically at boot
- systemctl cat ssh -Display the complete unit file configuration of the SSH service
- systemctl list-units -List all currently active units loaded in memory by systemd
- systemctl list-units --type=service -List only active service-type units (filters out other unit types like mount, socket, etc.)
- systemctl list-units --failed -Display all failed units to quickly identify services that crashed or failed to start
# Process Monitoring (ps)
- ps -Display processes running in the current terminal session
- ps aux -Show all running processes with detailed information (user, CPU, memory, etc.)
- ps aux | head -Show the first 10 processes from the detailed process list
- ps aux | head -n 5 -Display only the first 5 processes from the full process list
- ps aux | tail -n 5 -Display the last 5 processes from the full process list
- ps aux | grep ssh -Filter and show only processes related to SSH
- ps aux | grep ssh | grep -v grep -Show SSH-related processes while excluding the grep command itself
- ps aux --sort=-%cpu -Diplay all processes sorted by highest CPU usage first
- ps aux --sort=-%mem -Display all processes sorted by highest memory usage first
- ps aux --sort=-%cpu | head -n 5 -Show the top 5 processes consuming the most CPU
- ps aux --sort=-%mem | head -n 5 -Show the top 5 processes consuming the most memory
- ps aux --sort=-%cpu | grep ssh | head -n 5 -Display the top 5 SSH-related processes sorted by CPU usage
- ps -C sshd -Show processes that match the exact command name sshd
- ps -C sshd --sort=-%cpu | head -n 5 -Display the top 5 sshd processes sorted by CPU usage
# Log Inspection (tail, journalctl)
- tail -n 5 file.txt -Display the last 5 lines of a file
- tail -n 50 filename.log -Display the last 50 lines of a log file
- tail -n 50 filename.log -Display the last 50 lines of a log file (used for reviewing recent activity)
- tail -f filename.log -Monitor a file in real time as new lines are added
- tail -n 5 -f filename.log -Show the last 5 lines and continue monitoring the file live
- tail -n 5 /var/log/auth.log -Display the last 5 SSH authentication log entries (Ubuntu/Debian systems)
- tail -f /var/log/auth.log -Monitor SSH authentication logs in real time
- journalctl -u ssh -Display all logs related to the SSH service (systemd-based systems)
- journalctl -u ssh -n 5 -Show the last 5 log entries for the SSH service
- journalctl -u ssh -f -Monitor SSH service logs live using systemd journal


110 changes: 110 additions & 0 deletions 2026/day-05/task-05/linux-troubleshooting-runbook.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Day 05 – Linux Troubleshooting Drill: CPU, Memory, and Logs
Target Service : SSH
## Environment basics
- `uname -a` -> Tell me everything about this system. uname is unix name and -a indicates all information.
```
Linux ip-172-31-44-23 6.14.0-1018-aws #18~24.04.1-Ubuntu SMP Mon Nov 24 19:46:27 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
```
- `lsb_release -a` -> Tell me the Linux distribution details
```
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
```
# Filesystem sanity
- `mkdir /tmp/runbook-demo`
- `cp /etc/hosts /tmp/runbook-demo/hosts-copy`
- `ls -l /tmp/runbook-demo` - Filesystem writable. Copy successful. Permissions intact.
```
total 4
-rw-r--r-- 1 ubuntu ubuntu 221 Feb 8 22:08 hosts-copy
```
# CPU / Memory
- `ps -o pid,pcpu,comm -p 30607` -Process-level view
```
PID %CPU COMMAND
30607 0.1 sshd
```
- `free -h` -Memory overview
```
total used free shared buff/cache available
Mem: 914Mi 383Mi 129Mi 2.8Mi 569Mi 530Mi
Swap: 0B 0B 0B
```
# Disk / IO
- `df -h`
```
Filesystem Size Used Avail Use% Mounted on
/dev/root 6.8G 2.9G 3.9G 42% /
tmpfs 458M 0 458M 0% /dev/shm
tmpfs 183M 928K 182M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/nvme0n1p16 881M 151M 669M 19% /boot
/dev/nvme0n1p15 105M 6.2M 99M 6% /boot/efi
tmpfs 92M 12K 92M 1% /run/user/1000
```
- `du -sh /var/log` - log directory size
```
178M /var/log -Total visible log size ≈ 178 MB /Disk usage normal
```
# Network
-`ss -tlunp` - “Show me all TCP & UDP ports that are currently listening, with numeric IPs and the process name.”
- ss = socket statistics
- t → TCP
- l → Listening sockets only
- u → UDP
- n → Show numbers (don’t resolve names)
- p → Show process using the port
```
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:*
udp UNCONN 0 0 127.0.0.54:53 0.0.0.0:*
```
# ping - Can I reach this host over the network? It sends small network packets (ICMP Echo Requests) and waits for replies.
- `ping google.com`
```
--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
```
# Logs
- `journalctl -u ssh -n 2` -Modern Linux systems (like your Ubuntu 24.04) use systemd, and it stores service logs in a centralized logging system called the journal. This shows the last 2 log entries.
```
Feb 08 22:33:53 ip-172-31-44-23 sshd[30508]: Accepted publickey for ubuntu from 157.49.9.58 port 51173 ssh2: RSA>
Feb 08 22:33:53 ip-172-31-44-23 sshd[30508]: pam_unix(sshd:session): session opened for user ubuntu(uid=1000) by>
```
- `tail -n 50 /var/log/auth.log | grep ssh`- Take only the last 5 lines of the log file.
- `grep ssh /var/log/auth.log | tail -n 5` - Find all sshd logs first, then show the last 5 of those.
```
2026-02-08T21:24:51.274485+00:00 ip-172-31-44-23 sshd[30011]: Accepted publickey for ubuntu from 157.49.28.21 port 64832 ssh2: RSA SHA256:HBvpRqJvL+gVCvTfZNpc5T6VWAfFukD48PFoOIj5s08
2026-02-08T21:24:51.276370+00:00 ip-172-31-44-23 sshd[30011]: pam_unix(sshd:session): session opened for user ubuntu(uid=1000) by ubuntu(uid=0)
```
# If This Worsens (Next Steps)
If SSH becomes unstable (high CPU, refusing connections, hanging sessions):
- `sudo systemctl restart ssh`
If issue persists:
- `sudo systemctl status ssh`
- `journalctl -u ssh -n 100`
If repeated failures:
Check port conflicts (ss -tlunp)
Confirm firewall rules (sudo ufw status)
Validate no disk full issues (df -h)
# Increase Log Verbosity (Temporary) -If logs are unclear or insufficient:
- edit ssh config - `sudo nano /etc/ssh/sshd_config`
- Change or add: `LogLevel VERBOSE`
- Then restart SSH: -`sudo systemctl restart ssh`
- This provides: Detailed authentication logs ,Connection debugging info, More granular failure reasons
# Deep Process & System Analysis -If CPU/memory spikes or SSH freezes:
- Check live process behavior: `top`
- If disk-related symptoms appear: - `df -h`










50 changes: 50 additions & 0 deletions 2026/day-06/task-06/file-io-practice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@

# Practice Basic File Read/Write

## 1. Creating file And Writing text to a file
`touch notes.txt`

`echo "Learning basic linux file operations." > notes.txt`

## 2. Appending new lines

`echo "Using touch to create files" >> notes.txt` { append new line to a file }

`echo "Using echo to write content" >> notes.txt`

`echo "understanding overwite with >" >> notes.txt`

`echo "Appending new lines using >>" | tee -a notes.txt` { -a = append and **tee** use to write text on file along with display}

## 3. Reading Full And Part of File
`cat notes.txt`

**Output Snippet:**
```
Learning basic Linux file operations
Using touch to create files
Using echo to write content
Understanding overwrite with >
Appending new lines using >>
Reading files using cat
Viewing partial content with head
Checking last lines with tail
Using tee to write and display
```

`head -n 3 notes.txt` {head -n 3 = print 3 lines from top}

**Output Snippet:**
```
Learning basic Linux file operations
Using touch to create files
Using echo to write content
```
`tail -n 3 notes.txt` {tail -n 3 = print last three lines}

**Output Snippet:**
```
Viewing partial content with head
Checking last lines with tail
Using tee to write and display
```
Loading