Ravindra BagaleCourses & study guides English

Linux Troubleshooting Playbook: Commands आणि Fixes सह 20 खरे Production Cases

हा chapter एक playbook आहे: Linux servers वर घडणारे 20 खरे problems, प्रत्येकाचं लक्षण, कारण शोधायच्या commands, आणि fix. आधीच्या chapters मधलं सगळं वापरतात: systemd, logs, disks, networking, performance, security आणि kernel. आधी पद्धत वाचा, मग cases चा सराव करा जोपर्यंत पहिल्या तीन commands विचार न करता येत नाहीत.

या chapter मध्ये तुम्ही काय शिकाल

  • प्रत्येक incident साठी एक शांत पद्धत
  • Disk, memory आणि CPU cases सोडवा
  • Service, boot आणि log cases सोडवा
  • Network, DNS आणि TLS cases सोडवा
  • Permission, SELinux आणि SSH cases सोडवा
  • छोटी incident note लिहा

1. रोजचं उदाहरण: family doctor

हे का लागतं?

Sadashiv Peth मधल्या family doctor कडे ताप घेऊन गेलात की ती अंदाज लावत नाही. कधी सुरू झालं विचारते, temperature, pulse आणि BP तपासते, जुने reports बघते, मग ठरवते. गंभीर असेल तर आधी आराम देते, मग मूळ कारण शोधते.

हे काय आहे?

कधी सुरू = काय बदललं (deploys, updates). Temperature आणि pulse = uptime, df, free, systemctl --failed. जुने reports = journalctl, sar. आधी आराम = service restore (restart, rollback). नंतर मूळ कारण = incident note.

कसं करायचं (step by step)

Playbook पद्धतExact error आणि वेळ वाचाविचारा: काय बदललं?Health check: uptime, df -h, free -h, systemctl --failedLogs: journalctl -p err -S -1hLayer वेगळा करा: app, OS, disk, network, securityService restore, मग मूळ कारण fix आणि लिहून ठेवा
एका वेळी एक गोष्ट बदला आणि वेळेसह notes ठेवा.

2. Case 1: Disk full, app लिहू शकत नाही

हे का लागतं?

लक्षण: App logs मधे 'No space left on device'.

हे काय आहे?

कारण आणि fix: du ने मोठा folder शोधा; जुने logs किंवा वाढणारी file. Clean, मग logrotate.

कसं करायचं (step by step)

  1. कोणता filesystem?
df -h

Output:

/dev/nvme0n1p1 20G 20G 0 100% /

याचा अर्थ: Root full.

  1. मोठे folders.
sudo du -xh --max-depth=2 / | sort -h | tail -5

Output:

14G /var/log/app

याचा अर्थ: Logs.

  1. Journal पण.
sudo journalctl --vacuum-size=200M

Output:

Vacuuming done, freed 1.1G

याचा अर्थ: जागा परत.

3. Case 2: df full, du कमी

हे का लागतं?

लक्षण: df 100% पण du खूप कमी.

हे काय आहे?

कारण आणि fix: Delete केलेली file process ने अजून उघडी ठेवली. तो process restart.

कसं करायचं (step by step)

  1. Delete पण उघड्या files.
sudo lsof +L1

Output:

java 3011 app 9w REG ... 9.8G /var/log/shop.log (deleted)

याचा अर्थ: 9.8 GB अडकले.

  1. मोकळं.
sudo systemctl restart shop-api

Output:

(no output)

याचा अर्थ: सुटलं.

4. Case 3: Inodes संपले

हे का लागतं?

लक्षण: 'No space left' पण df -h मधे जागा आहे.

हे काय आहे?

कारण आणि fix: लाखो छोट्या files (sessions, cache). df -i ने मोजा आणि जुन्या delete.

कसं करायचं (step by step)

  1. Inodes.
df -i /var

Output:

/dev/nvme1n1 6.5M 6.5M 0 100% /var

याचा अर्थ: Inodes संपले.

  1. कुठे?
sudo find /var -xdev -type f | cut -d/ -f2-4 | sort | uniq -c | sort -n | tail -3

Output:

5900000 var/lib/php

याचा अर्थ: PHP sessions.

  1. जुन्या delete.
sudo find /var/lib/php/sessions -type f -mmin +1440 -delete

Output:

(no output)

याचा अर्थ: साफ.

5. Case 4: Service start होत नाही

हे का लागतं?

लक्षण: systemctl start error देतो; site down.

हे काय आहे?

कारण आणि fix: status आणि unit चा journal वाचा; बहुतेक चुकीचा config, file नाही किंवा busy port.

कसं करायचं (step by step)

  1. Status.
systemctl status nginx --no-pager | tail -3

Output:

nginx: [emerg] unknown directive "servr_name" in /etc/nginx/conf.d/shop.conf:3

याचा अर्थ: Typo.

  1. Config test.
sudo nginx -t

Output:

nginx: configuration file /etc/nginx/nginx.conf test failed

याचा अर्थ: Line 3 fix.

  1. Start.
sudo systemctl restart nginx && systemctl is-active nginx

Output:

active

याचा अर्थ: Up.

6. Case 5: Port आधीच वापरात

हे का लागतं?

लक्षण: 'bind() to 0.0.0.0:80 failed (98: Address already in use)'.

हे काय आहे?

कारण आणि fix: दुसरा process (जुनी copy, apache) port धरून आहे. शोधा आणि थांबवा.

कसं करायचं (step by step)

  1. :80 कोणाकडे?
sudo ss -ltnp 'sport = :80'

Output:

LISTEN 0 511 *:80 users:(("httpd",pid=901,fd=4))

याचा अर्थ: Apache.

  1. थांबवा आणि disable.
sudo systemctl disable --now httpd

Output:

Removed ... httpd.service

याचा अर्थ: Port मोकळा.

7. Case 6: Service सतत restart

हे का लागतं?

लक्षण: Status 'activating (auto-restart)' आणि दर काही seconds restart.

हे काय आहे?

कारण आणि fix: App start ला crash (env नाही, DB down). Restart आधीचे logs वाचा.

कसं करायचं (step by step)

  1. Logs.
journalctl -u shop-api -n 20 --no-pager

Output:

Error: DATABASE_URL is not set
shop-api.service: Main process exited, code=exited, status=1

याचा अर्थ: Env नाही.

  1. Env जोडा.
sudo systemctl edit shop-api

Output:

[Service]
EnvironmentFile=/etc/shop/api.env

याचा अर्थ: मग restart.

8. Case 7: CPU जास्त, site slow

हे का लागतं?

लक्षण: 4 cores वर load 12; pages time out.

हे काय आहे?

कारण आणि fix: top ने process शोधा; traffic, loop की cron job. Restart किंवा scale, मग code fix.

कसं करायचं (step by step)

  1. कोण?
top -b -n 1 -o %CPU | head -9

Output:

3011 app 395 12.0 java

याचा अर्थ: Java.

  1. कोणते threads?
top -H -b -n 1 -p 3011 | head -10

Output:

3044 app 99.0 java
3045 app 98.0 java

याचा अर्थ: Hot threads.

  1. Devs साठी thread dump.
sudo -u app jstack 3011 | grep -A5 'nid=0xbe4'

Output:

"report-worker" ... RUNNABLE at ...ReportService.loop

याचा अर्थ: Infinite loop.

9. Case 8: Out of memory kills

हे का लागतं?

लक्षण: App random मरतो; dmesg 'Killed process'.

हे काय आहे?

कारण आणि fix: Memory leak किंवा जास्त workers. OOM confirm, MemoryMax ने cap, swap किंवा RAM, leak fix.

कसं करायचं (step by step)

  1. Confirm.
journalctl -k | grep -i 'killed process' | tail -2

Output:

Out of memory: Killed process 4121 (node) total-vm:3.1G

याचा अर्थ: OOM.

  1. वाढ बघा.
ps -o pid,rss,cmd -C node --sort=-rss | head -3

Output:

4500 2900120 node server.js

याचा अर्थ: RSS वाढतो.

  1. Cap.
sudo systemctl set-property web.service MemoryMax=1500M

Output:

(no output)

याचा अर्थ: नुकसान मर्यादित.

10. Case 9: Slow disk, जास्त iowait

हे का लागतं?

लक्षण: vmstat wa 40 वर; DB queries slow.

हे काय आहे?

कारण आणि fix: iostat आणि iotop ने busy disk आणि process. बहुतेक peak वेळी backup किंवा EBS burst credits संपले.

कसं करायचं (step by step)

  1. Disk.
iostat -xz 1 3

Output:

nvme1n1 ... w_await 85.0 %util 100

याचा अर्थ: Saturated.

  1. Process.
sudo iotop -oPa -n 3 -b | head -5

Output:

2810 root 3.1 G tar czf /backup

याचा अर्थ: दुपारी backup.

  1. Backup रात्री.
sudo systemctl edit --full backup.timer

Output:

OnCalendar=*-*-* 02:30

याचा अर्थ: Fixed.

11. Case 10: SSH करता येत नाही

हे का लागतं?

लक्षण: 'Connection timed out' किंवा 'Permission denied (publickey)'.

हे काय आहे?

कारण आणि fix: Timeout = network/firewall/security group. Permission denied = key, user किंवा ~/.ssh permissions.

कसं करायचं (step by step)

  1. Verbose client.
ssh -v deploy@15.0.0.10 2>&1 | tail -3

Output:

debug1: Offering public key: id_ed25519
Permission denied (publickey).

याचा अर्थ: Key नाकारली.

  1. Server log (console ने).
sudo journalctl -u sshd -n 5

Output:

Authentication refused: bad ownership or modes for directory /home/deploy/.ssh

याचा अर्थ: Permissions.

  1. Fix.
sudo chmod 700 /home/deploy/.ssh && sudo chmod 600 /home/deploy/.ssh/authorized_keys && sudo chown -R deploy: /home/deploy/.ssh

Output:

(no output)

याचा अर्थ: Login चालतं.

12. Case 11: DNS resolve होत नाही

हे का लागतं?

लक्षण: curl: (6) Could not resolve host.

हे काय आहे?

कारण आणि fix: resolv.conf आणि resolver तपासा; माहीत server वर dig ने test.

कसं करायचं (step by step)

  1. Test.
dig +short api.payments.example

Output:

(empty)

याचा अर्थ: उत्तर नाही.

  1. कोणता resolver?
resolvectl status | grep 'DNS Servers'

Output:

DNS Servers: 10.0.0.250

याचा अर्थ: Corporate DNS.

  1. Public DNS.
dig +short api.payments.example @1.1.1.1

Output:

52.1.2.3

याचा अर्थ: Internal DNS बिघडलं; network team ला सांगा.

13. Case 12: Website 502 देते

हे का लागतं?

लक्षण: nginx 502 Bad Gateway.

हे काय आहे?

कारण आणि fix: Backend down किंवा nginx पोहोचू शकत नाही (चुकीचा port, SELinux).

कसं करायचं (step by step)

  1. nginx error log.
sudo tail -2 /var/log/nginx/error.log

Output:

connect() to 127.0.0.1:8080 failed (111: Connection refused)

याचा अर्थ: Backend down.

  1. Backend.
curl -sI http://127.0.0.1:8080/health

Output:

curl: (7) Failed to connect

याचा अर्थ: Listen नाही.

  1. Backend start.
sudo systemctl restart shop-api && curl -s http://127.0.0.1:8080/health

Output:

ok

याचा अर्थ: Fixed.

14. Case 13: App ला permission denied

हे का लागतं?

लक्षण: App log: 'EACCES: permission denied, open /data/uploads/x.png'.

हे काय आहे?

कारण आणि fix: namei ने owner, mode आणि parent folders; मग SELinux.

कसं करायचं (step by step)

  1. Path तपासा.
namei -l /data/uploads/x.png

Output:

drwxr-x--- root root data
drwxr-xr-x app app uploads

याचा अर्थ: /data इतरांना block.

  1. Fix.
sudo chmod 755 /data

Output:

(no output)

याचा अर्थ: App आत जाऊ शकतो.

15. Case 14: SELinux नवा setup block

हे का लागतं?

लक्षण: Unix permissions बरोबर पण तरी 403 किंवा 'Permission denied'.

हे काय आहे?

कारण आणि fix: AVC denials वाचा; restorecon, semanage किंवा setsebool ने fix. SELinux कधी बंद नाही.

कसं करायचं (step by step)

  1. Denials.
sudo ausearch -m avc -ts recent | audit2why | head -4

Output:

scontext=httpd_t tcontext=default_t ... Missing type enforcement

याचा अर्थ: Label.

  1. Fix.
sudo semanage fcontext -a -t httpd_sys_content_t '/data/web(/.*)?' && sudo restorecon -Rv /data/web

Output:

Relabeled ...

याचा अर्थ: चालतं.

16. Case 15: fstab edit नंतर server boot होत नाही

हे का लागतं?

लक्षण: Boot emergency mode मधे: 'Dependency failed for /data'.

हे काय आहे?

कारण आणि fix: /etc/fstab मधे चुकीचा UUID किंवा disk नाही. Emergency shell किंवा console मधे fix; extra disks साठी nofail.

कसं करायचं (step by step)

  1. खरे UUIDs.
blkid

Output:

/dev/nvme1n1: UUID="7c1e..." TYPE="xfs"

याचा अर्थ: fstab शी तुलना.

  1. Line fix.
sudo vi /etc/fstab

Output:

UUID=7c1e... /data xfs defaults,nofail 0 2

याचा अर्थ: nofail boot वाचवतो.

  1. Reboot आधी test.
sudo mount -a && findmnt --verify

Output:

Success, no errors or warnings

याचा अर्थ: Safe.

17. Case 16: वेळ चुकीची, TLS आणि logs बिघडतात

हे का लागतं?

लक्षण: 'certificate is not yet valid' आणि logs च्या वेळा विचित्र.

हे काय आहे?

कारण आणि fix: NTP बंद किंवा blocked. chrony enable आणि sync तपासा.

कसं करायचं (step by step)

  1. Status.
timedatectl | grep -E 'synchronized|NTP'

Output:

System clock synchronized: no
NTP service: inactive

याचा अर्थ: Sync नाही.

  1. Enable.
sudo systemctl enable --now chronyd && chronyc tracking | grep 'System time'

Output:

System time : 0.000012 seconds fast

याचा अर्थ: Synced.

18. Case 17: TLS certificate expire

हे का लागतं?

लक्षण: Browsers 'Your connection is not private'.

हे काय आहे?

कारण आणि fix: Expiry date तपासा; certbot ने renew आणि reload; renewal timer fix.

कसं करायचं (step by step)

  1. Expiry.
echo | openssl s_client -connect shop.example.com:443 -servername shop.example.com 2>/dev/null | openssl x509 -noout -enddate

Output:

notAfter=Oct 24 09:12:00 2026 GMT

याचा अर्थ: काल expire.

  1. Renew.
sudo certbot renew --deploy-hook 'systemctl reload nginx'

Output:

Congratulations, all renewals succeeded

याचा अर्थ: Fixed.

  1. Timer.
systemctl list-timers | grep certbot

Output:

... certbot-renew.timer

याचा अर्थ: आता auto.

19. Case 18: Cron job चालला नाही

हे का लागतं?

लक्षण: रात्रीचा report बनला नाही.

हे काय आहे?

कारण आणि fix: Cron logs तपासा; cron मधे PATH कमी आणि % escape हवा. पूर्ण paths वापरा.

कसं करायचं (step by step)

  1. सुरू झाला?
sudo journalctl -u crond -S today | grep report

Output:

CROND[8812]: (app) CMD (report.sh > /tmp/r.log)

याचा अर्थ: चालला.

  1. त्याची error.
cat /tmp/r.log

Output:

report.sh: line 4: aws: command not found

याचा अर्थ: PATH.

  1. crontab मधे fix.
crontab -l | head -2

Output:

PATH=/usr/local/bin:/usr/bin:/bin
30 1 * * * /opt/report.sh

याचा अर्थ: पुढच्या रात्री चालेल.

20. Case 19: Network slow किंवा drops

हे का लागतं?

लक्षण: Load मधे uploads अडकतात आणि connections reset.

हे काय आहे?

कारण आणि fix: Drops, retransmits आणि conntrack table तपासा; limits वाढवा किंवा NIC/MTU fix.

कसं करायचं (step by step)

  1. Drops.
ip -s link show ens5 | grep -A1 RX

Output:

RX: ... dropped 15422

याचा अर्थ: Drops.

  1. Conntrack full?
sudo journalctl -k | grep -i conntrack | tail -1

Output:

nf_conntrack: table full, dropping packet

याचा अर्थ: Table full.

  1. वाढवा.
sudo sysctl -w net.netfilter.nf_conntrack_max=524288

Output:

net.netfilter.nf_conntrack_max = 524288

याचा अर्थ: sysctl.d मधे persist.

21. Case 20: Server hacked? अनोळखी process

हे का लागतं?

लक्षण: विचित्र process 100% CPU (crypto miner) वापरतो आणि बाहेर connect करतो.

हे काय आहे?

कारण आणि fix: आधी isolate (security group), evidence गोळा, entry point शोधा, मग clean image मधून rebuild आणि keys rotate.

कसं करायचं (step by step)

  1. हे काय?
ls -l /proc/6666/exe && sudo ss -tnp | grep 6666

Output:

/proc/6666/exe -> /tmp/.x/kdevtmpfsi
ESTAB ... 45.9.x.x:3333 pid=6666

याचा अर्थ: Miner.

  1. Persist कसा?
sudo crontab -l -u www-data

Output:

* * * * * /tmp/.x/k.sh

याचा अर्थ: Cron.

  1. कोण login?
sudo last -a | head -5

Output:

www-data ... (exploit via app)

याचा अर्थ: Web app exploit.

22. अनेक industries मधली खरी उदाहरणं

हे का लागतं?

तेच Linux skill प्रत्येक प्रकारच्या company मध्ये लागतं. वेगवेगळ्या ठिकाणी पाहिलं की लक्षात राहतं.

हे काय आहे?

प्रत्येक row म्हणजे एक काल्पनिक team. कोण हे वापरतं आणि कसं ते दाखवते.

कसं करायचं (step by step)

Team आणि शहरते कसं वापरतातCommand
Rahul, e-commerce SRE, PuneDiwali sale मधे playbookjournalctl -p err -S -1h
Emma, bank, EdinburghRegulators साठी incident noteslast -a
Yusuf, logistics, IstanbulDisk आणि inode alertsdf -i
Ana, health-tech, LisbonCertificate expiry checksopenssl x509 -noout -enddate
Wei, gaming, SingaporeLaunches ला conntrack tuningsysctl net.netfilter.nf_conntrack_max
Shruti, ed-tech, PuneCron PATH fixescrontab -l

23. नेहमीच्या errors आणि त्यांचे fixes

हे का लागतं?

हे errors सगळ्यांना येतात. कारण माहीत असलं की तास वाचतात.

हे काय आहे?

आधी नेमका message वाचा. मग खालच्या row शी जुळवा.

कसं करायचं (step by step)

दिसणारा errorका होतंFix कसा करायचा
No space left on deviceDisk किंवा inodes fulldf -h आणि df -i, मग clean.
df -i
Address already in usePort घेतलेलाss -ltnp ने शोधा.
sudo ss -ltnp
Main process exited, code=exited, status=1/FAILUREStart ला crashUnit journal वाचा.
journalctl -u UNIT -n 30
Killed process (OOM)Memory संपलीUser शोधा; cap आणि fix.
journalctl -k | grep -i killed
Connection timed out (ssh)Firewall किंवा SGRules आणि route.
nc -zv HOST 22
Could not resolve hostDNSदुसऱ्या server वर dig.
dig @1.1.1.1 HOST
502 Bad GatewayBackend down/unreachablenginx error log आणि backend.
tail /var/log/nginx/error.log
Dependency failed for /dataचुकीची fstab lineUUID fix; nofail.
findmnt --verify
certificate has expiredRenewal failcertbot renew आणि timer.
sudo certbot renew --dry-run
nf_conntrack: table full, dropping packetConntrack limitnf_conntrack_max वाढवा.
sysctl net.netfilter.nf_conntrack_count

24. Troubleshooting step by step

हे का लागतं?

कोणत्याही incident ची पहिली पाच minutes.

हे काय आहे?

वरून खाली जा. ज्या step ला problem दिसतो तिथे थांबा.

कसं करायचं (step by step)

  1. Load
uptime
  1. Disk आणि inodes
df -h; df -i
  1. Memory
free -h
  1. Failed units
systemctl --failed
  1. अलीकडच्या errors
journalctl -p err -S -1h --no-pager | tail -30
  1. Kernel
dmesg -T | tail
  1. Listening ports
sudo ss -ltnp

25. Lab 1: Disk तोडा आणि fix

हे का लागतं?

छोटा filesystem भरा, delete पण उघडी file लपवा, आणि जागा परत.

हे काय आहे?

पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).

कसं करायचं (step by step)

  1. छोटा FS.
truncate -s 200M /tmp/d.img && mkfs.ext4 -q /tmp/d.img && sudo mkdir -p /mnt/d && sudo mount /tmp/d.img /mnt/d

Output:

(no output)
  1. File उघडी.
sudo bash -c 'exec 3>/mnt/d/big; dd if=/dev/zero bs=1M count=150 >&3; sleep 600' &

Output:

150+0 records
  1. Delete.
sudo rm /mnt/d/big && df -h /mnt/d

Output:

Use% 80%
  1. शोधा.
sudo lsof +L1 | grep /mnt/d

Output:

bash ... /mnt/d/big (deleted)
  1. मोकळी.
sudo pkill -f 'sleep 600' && df -h /mnt/d

Output:

Use% 1%

26. Lab 2: Service तोडा आणि fix

हे का लागतं?

Port clash आणि चुकीचा config बनवा, मग playbook ने दोन्ही fix.

हे काय आहे?

पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).

कसं करायचं (step by step)

  1. Port 80 घ्या.
sudo python3 -m http.server 80 &

Output:

Serving HTTP on 0.0.0.0 port 80
  1. nginx restart.
sudo systemctl restart nginx

Output:

Job for nginx.service failed
  1. कारण.
sudo ss -ltnp 'sport = :80'

Output:

python3 pid=...
  1. Fix.
sudo pkill -f 'http.server 80' && sudo systemctl restart nginx

Output:

(no output)
  1. Verify.
systemctl is-active nginx && curl -sI localhost | head -1

Output:

active
HTTP/1.1 200 OK

Ravindra Bagale's Tip

Keep a one-page incident note for every problem: time it started, what users saw, the commands you ran and what they showed, the fix, and how to stop it happening again. After ten notes you will have your own playbook, and interviews become easy.

27. नेहमी विचारले जाणारे प्रश्न

प्र. आधी restart की आधी तपास?

झटपट evidence (2 min), मग service restore.

प्र. कुठून सुरू?

uptime, df, free, systemctl --failed, journalctl -p err.

प्र. Root cause काय?

Fix केल्यावर परत होणार नाही अशी पहिली गोष्ट.

प्र. Reboot करू?

शेवटचा पर्याय; evidence जातो.

प्र. fstab lockouts कसे टाळायचे?

nofail आणि reboot आधी mount -a.

प्र. Hacked server: साफ करू?

नाही, rebuild आणि secrets rotate.

प्र. Note मधे काय?

Timeline, impact, cause, fix, prevention.

प्र. सराव कसा?

Test VM मधे मुद्दाम तोडा.

28. मुलाखत प्रश्न आणि उत्तरं

Beginner level

प्र. Slow server वर पहिल्या commands?

uptime, free -h, df -h, top.

प्र. Failed services?

systemctl --failed.

प्र. शेवटच्या तासातल्या errors?

journalctl -p err -S -1h.

प्र. Port 80 कोण?

ss -ltnp.

Mid level level

प्र. df full पण du कमी?

Delete पण उघडी file; lsof +L1 आणि restart.

प्र. जागा नाही पण df मधे free?

Inodes; df -i.

प्र. nginx कडून 502?

error.log आणि backend port.

प्र. हाताने चालतं, cron मधे नाही?

PATH/env; पूर्ण paths.

Senior level

प्र. Production outage समजावा.

Impact, timeline, evidence, restore, root cause, prevention, note.

प्र. Server compromised: steps?

Isolate, evidence snapshot, entry शोधा, rebuild, keys rotate, patch.

प्र. Change नंतर boot fail?

Console/rescue, journal -b -1, fstab किंवा grub fix, nofail.

प्र. Load मधे मधूनमधून drops?

NIC drops, conntrack, somaxconn, ss -s आणि nstat ने retransmits.

घरी करून बघा

  1. कोणतेही 5 cases test VM वर बनवा, मग प्रत्येकासाठी एक page incident note.
  2. Trouble commands सह तुमची 'first five minutes' script लिहा.

सराव Tasks

या scenario बद्दल

Amravati Agro Market हा अमरावती मधला शेती व्यवसाय आहे. Anjali Thakre त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 18

सोपं /home inodes

का: जलद fixes BIZ online ठेवतात.

काय करायचं: /home चा inode usage.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Types सह disk

का: जलद fixes BIZ online ठेवतात.

काय करायचं: Filesystem types सह human-readable disk usage.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Failed units

का: जलद fixes BIZ online ठेवतात.

काय करायचं: फक्त failed systemd service units.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं nginx test

का: जलद fixes BIZ online ठेवतात.

काय करायचं: nginx config test आणि पूर्ण merged config dump.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Time sync

का: जलद fixes BIZ online ठेवतात.

काय करायचं: Time आणि NTP sync status.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं User crontab

का: जलद fixes BIZ online ठेवतात.

काय करायचं: User backup चा crontab.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम /var top

का: जलद fixes BIZ online ठेवतात.

काय करायचं: /var खाली एक level sizes, human, एक filesystem.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Delete पण उघड्या files

का: जलद fixes BIZ online ठेवतात.

काय करायचं: फक्त /var खाली delete पण उघड्या files.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम 30 min errors

का: जलद fixes BIZ online ठेवतात.

काय करायचं: शेवटच्या 30 minutes च्या error-priority journal entries.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Unit शेवटच्या 50

का: जलद fixes BIZ online ठेवतात.

काय करायचं: php-fpm unit journal च्या शेवटच्या 50 lines.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम 3306 कोणाकडे

का: जलद fixes BIZ online ठेवतात.

काय करायचं: TCP 3306 वरचा listener process सह.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Path तपासा

का: जलद fixes BIZ online ठेवतात.

काय करायचं: /srv/app/data/a.csv च्या प्रत्येक भागाच्या permissions.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम अलीकडचे AVCs

का: जलद fixes BIZ online ठेवतात.

काय करायचं: आजपासूनचे SELinux AVC denials, interpreted.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Chrony sources

का: जलद fixes BIZ online ठेवतात.

काय करायचं: Chrony time sources verbose.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Renewal test

का: जलद fixes BIZ online ठेवतात.

काय करायचं: certbot चे certificates expiry dates सह.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम अलीकडचे logins

का: जलद fixes BIZ online ठेवतात.

काय करायचं: शेवटचे 10 logins hostnames शेवटी.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड fstab verify

का: जलद fixes BIZ online ठेवतात.

काय करायचं: Reboot आधी findmnt ने /etc/fstab verify.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड Conntrack count

का: जलद fixes BIZ online ठेवतात.

काय करायचं: /proc मधून थेट conntrack count.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

थोडक्यात सांगायचं तर

  1. Exact error वाचा आणि काय बदललं विचारा.
  2. Health check: uptime, df, free, failed units, recent errors.
  3. Disk: df -h, df -i, du, lsof +L1.
  4. Service: status, journal, ss -ltnp, config test.
  5. Network/security: dig, curl, ausearch, firewall, SG.
  6. आधी restore, मग root cause fix आणि लिहा.

उजळणी, तुलना आणि मुलाखत cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

Troubleshooting order. शांत, एक step एका वेळी. काय बदललं? Logs वाचा. CPU, memory, disk, network. शेवटचे errors.
उजळणी card: Troubleshooting order · PNG download करा · Card page उघडा
4 steps मधे service down. आधी status. त्याचे logs वाचा. Port आणि config तपासा. Logs.
उजळणी card: 4 steps मधे service down · PNG download करा · Card page उघडा
dmesg vs journalctl. Kernel ring buffer. / सगळे systemd logs.
तुलना: dmesg vs journalctl · PNG download करा · Card page उघडा
Restart vs Root cause. Service लवकर परत. / का तुटलं ते शोधतो.
तुलना: Restart vs Root cause · PNG download करा · Card page उघडा
Website slow, सुरुवात कुठे?. आधी measure, नंतर अंदाज. top, मग disk, मग network. Timing.
मुलाखत card: Website slow, सुरुवात कुठे? · PNG download करा · Card page उघडा
Filesystem read-only झाला?. Kernel ला disk errors. dmesg, मग offline fsck. Errors.
मुलाखत card: Filesystem read-only झाला? · PNG download करा · Card page उघडा
बदलानंतर server boot नाही?. बहुतेक चुकीची fstab line. Rescue mode, fix, nofail. Reboot आधी test.
मुलाखत card: बदलानंतर server boot नाही? · PNG download करा · Card page उघडा
Outage नंतर काय?. Blameless postmortem लिहा. Timeline, root cause, actions. Logs गोळा.
मुलाखत card: Outage नंतर काय? · PNG download करा · Card page उघडा

अजून cards: Ravi Sir's Cards.