Linux Kernel Basics: Modules, /proc, /sys, Namespaces आणि cgroups (Containers कसे चालतात)
Kernel हा Linux चा गाभा. तो hardware शी बोलतो, processes चालवतो आणि त्यांना वेगळं ठेवतो. या chapter मधे kernel version बघाल, kernel modules (drivers) load आणि unload कराल, /proc आणि /sys मधला live kernel data वाचाल, आणि containers शक्य करणारे दोन features शिकाल: namespaces (process काय बघू शकतो) आणि cgroups (किती वापरू शकतो). यानंतर Docker आणि Kubernetes जादू वाटणार नाहीत.
या chapter मध्ये तुम्ही काय शिकाल
- Kernel version आणि boot parameters तपासा
- Modules list, load आणि blacklist
- /proc आणि /sys मधे process आणि system data वाचा
- unshare ने namespaces बनवा आणि nsenter ने आत जा
- cgroups v2 आणि systemd ने CPU आणि memory limit
- सगळं containers शी जोडा
1. रोजचं उदाहरण: co-working space
हे का लागतं?
Baner मधल्या co-working building ला एक manager (kernel). प्रत्येक company ला स्वतःची cabin: त्यांना फक्त स्वतःचा name board, Wi-Fi नाव आणि staff list दिसते (namespaces). Meter प्रत्येक cabin किती power आणि AC वापरते ते limit करतो (cgroups). नवा printer आला की manager त्याचा driver लावतो (module). Lobby मधला notice board सगळ्यांसाठी live stats दाखवतो (/proc).
हे काय आहे?
Manager = kernel. Printer driver = module. Lobby board = /proc आणि /sys. खासगी cabin view = namespaces. Power meter = cgroups. Cabin = container.
कसं करायचं (step by step)
2. Kernel version आणि boot options
हे का लागतं?
Bugs, drivers आणि features kernel version वर अवलंबून.
हे काय आहे?
uname -r चालू kernel; uname -a सगळं. /proc/cmdline boot parameters. Installed kernels: rpm -q kernel किंवा dpkg -l 'linux-image*'. grubby --info=ALL (RHEL) boot entries. नव्या kernel ला reboot हवा.
कसं करायचं (step by step)
- चालू kernel.
uname -r
Output:
6.1.112-124.190.amzn2023.x86_64
याचा अर्थ: Amazon Linux 2023.
- Boot parameters.
cat /proc/cmdline
Output:
BOOT_IMAGE=(hd0,gpt1)/vmlinuz-6.1.112 root=UUID=... ro console=ttyS0
याचा अर्थ: GRUB ने दिलेले.
- Boot option.
sudo grubby --update-kernel=ALL --args='mitigations=auto'
Output:
(no output)
याचा अर्थ: पुढच्या boot ला.
3. Kernel modules: lsmod आणि modinfo
हे का लागतं?
Disks, network cards आणि filesystems चे drivers गरजेनुसार load होणारे modules.
हे काय आहे?
lsmod loaded modules size आणि users सह. modinfo NAME description, version आणि parameters. Modules /lib/modules/$(uname -r) मधे. lspci -k device कोणता driver वापरतो.
कसं करायचं (step by step)
- Loaded.
lsmod | head -4
Output:
Module Size Used by
ena 151552 0
nvme 53248 2
याचा अर्थ: ENA network, NVMe disk.
- Details.
modinfo ena | head -4
Output:
filename: /lib/modules/6.1.../ena.ko.xz
description: Elastic Network Adapter (ENA)
version: 2.12.0g
याचा अर्थ: AWS network driver.
- Device driver.
lspci -k | grep -A2 -i ethernet
Output:
00:05.0 Ethernet controller: Amazon.com ENA
Kernel driver in use: ena
याचा अर्थ: Confirms.
4. modprobe: load, unload, blacklist
हे का लागतं?
WireGuard, extra filesystem साठी module हवं, किंवा buggy driver थांबवायचा.
हे काय आहे?
modprobe NAME dependencies सह load; modprobe -r unload. Boot ला load: /etc/modules-load.d/NAME.conf. Options: /etc/modprobe.d/NAME.conf मधे 'options NAME key=val'. Blacklist: /etc/modprobe.d मधे 'blacklist NAME'. insmod/rmmod टाळा (dependency handling नाही).
कसं करायचं (step by step)
- Load.
sudo modprobe br_netfilter && lsmod | grep br_netfilter
Output:
br_netfilter 32768 0
bridge 315392 1 br_netfilter
याचा अर्थ: Kubernetes ला लागतं.
- Boot ला.
echo br_netfilter | sudo tee /etc/modules-load.d/k8s.conf
Output:
br_netfilter
याचा अर्थ: Persistent.
- Blacklist.
echo 'blacklist floppy' | sudo tee /etc/modprobe.d/no-floppy.conf
Output:
blacklist floppy
याचा अर्थ: परत load नाही.
- Unload.
sudo modprobe -r floppy
Output:
(no output)
याचा अर्थ: न वापरल्यास काढलं.
5. dmesg: kernel messages
हे का लागतं?
Hardware errors, OOM kills आणि driver problems आधी इथे.
हे काय आहे?
dmesg -T वाचता येणारा वेळ; -l err,warn level filter; -w live. journalctl -k journal मधून तेच, आणि -k -b -1 मागचा boot.
कसं करायचं (step by step)
- फक्त errors.
sudo dmesg -T -l err,warn | tail -3
Output:
[Sun Oct 25 20:10] EXT4-fs warning (device nvme1n1): ...
याचा अर्थ: Disk warning.
- मागचा boot.
journalctl -k -b -1 | tail -2
Output:
kernel: Out of memory: Killed process 912 (node)
याचा अर्थ: Crash का.
- Live.
sudo dmesg -w
Output:
[ 9912.1] usb 1-1: new device
याचा अर्थ: Plug करा आणि बघा.
6. /proc: live process आणि system data
हे का लागतं?
ps, top, free सारखी प्रत्येक tool /proc वाचते. तुम्ही थेट वाचू शकता.
हे काय आहे?
System files: /proc/cpuinfo, /proc/meminfo, /proc/loadavg, /proc/mounts, /proc/sys (tunables). प्रत्येक process /proc/PID: cmdline, environ, status (memory, state), fd/ (open files), limits, cwd, exe, ns/ (namespaces), cgroup.
कसं करायचं (step by step)
- CPU model.
grep -m1 'model name' /proc/cpuinfo
Output:
model name : Intel(R) Xeon(R) Platinum 8259CL
याचा अर्थ: Instance CPU.
- Process memory.
grep -E 'VmRSS|State' /proc/3011/status
Output:
State: S (sleeping)
VmRSS: 1983420 kB
याचा अर्थ: ~1.9 GB.
- कसा सुरू केला.
tr '\0' ' ' < /proc/3011/cmdline
Output:
java -Xmx2g -jar shop.jar
याचा अर्थ: पूर्ण command.
- Delete पण उघडी file.
sudo ls -l /proc/3011/fd | grep deleted
Output:
9 -> /var/log/shop.log (deleted)
याचा अर्थ: Restart पर्यंत जागा मोकळी नाही.
7. /sys: devices आणि kernel objects
हे का लागतं?
/sys devices, block queues आणि module parameters files म्हणून दाखवतो.
हे काय आहे?
/sys/block/DISK/queue/scheduler I/O scheduler. /sys/class/net/IF/ मधे speed आणि statistics. /sys/module/NAME/parameters module options. /sys/fs/cgroup cgroup tree. काही files मधे लिहिलं की behaviour live बदलतं.
कसं करायचं (step by step)
- I/O scheduler.
cat /sys/block/nvme0n1/queue/scheduler
Output:
[none] mq-deadline kyber
याचा अर्थ: NVMe साठी none.
- Interface counters.
cat /sys/class/net/ens5/statistics/rx_dropped
Output:
15422
याचा अर्थ: Drops.
- Module option.
cat /sys/module/nvme_core/parameters/io_timeout
Output:
4294967295
याचा अर्थ: EBS ला जास्त value.
8. Namespaces: process काय बघू शकतो
हे का लागतं?
Namespaces containers ना एकमेकांपासून आणि host पासून वेगळं ठेवतात.
हे काय आहे?
Types: pid (process IDs), net (interfaces, ports), mnt (mounts), uts (hostname), ipc, user (UID mapping), cgroup, time. lsns list करतो. ls -l /proc/PID/ns process चे namespaces. unshare नवे बनवतो; nsenter आत जातो; ip netns network namespaces.
| Namespace | वेगळं करतो | Container वर परिणाम |
|---|---|---|
| pid | Process IDs | App PID 1 |
| net | Network stack | स्वतःचा IP आणि ports |
| mnt | Mounts | स्वतःचा root filesystem |
| uts | Hostname | स्वतःचं hostname |
| user | User IDs | आत root, बाहेर साधा |
कसं करायचं (step by step)
- List.
sudo lsns -t net
Output:
NS TYPE NPROCS PID COMMAND
4026531840 net 210 1 /usr/lib/systemd/systemd
4026532301 net 2 8812 nginx: master
याचा अर्थ: container मधे nginx.
- नवं hostname जग.
sudo unshare --uts --fork bash -c 'hostname box-a; hostname'
Output:
box-a
याचा अर्थ: बाहेर hostname तसंच.
- नवं PID जग.
sudo unshare --pid --fork --mount-proc bash -c 'ps -e'
Output:
PID TTY TIME CMD
1 pts/0 00:00:00 bash
2 pts/0 00:00:00 ps
याचा अर्थ: Bash PID 1.
- Container च्या network मधे.
sudo nsenter -t 8812 -n ss -ltn
Output:
LISTEN 0 511 0.0.0.0:80
याचा अर्थ: Image मधे tools नसताना debug.
9. ip netns ने network namespaces
हे का लागतं?
Docker bridges आणि Kubernetes pods ना networking असंच मिळतं.
हे काय आहे?
ip netns add NAME एक बनवतो. veth pair म्हणजे virtual cable: एक टोक host मधे, एक namespace मधे. IPs द्या, links up, आणि ping. ip netns exec NAME CMD आत command.
कसं करायचं (step by step)
- बनवा.
sudo ip netns add red && sudo ip link add veth-h type veth peer name veth-r && sudo ip link set veth-r netns red
Output:
(no output)
याचा अर्थ: Cable लावली.
- Address.
sudo ip addr add 10.9.0.1/24 dev veth-h && sudo ip link set veth-h up && sudo ip netns exec red ip addr add 10.9.0.2/24 dev veth-r && sudo ip netns exec red ip link set veth-r up
Output:
(no output)
याचा अर्थ: दोन्ही टोकं up.
- Ping.
sudo ip netns exec red ping -c1 10.9.0.1
Output:
1 packets transmitted, 1 received
याचा अर्थ: चालतं.
10. cgroups v2: process किती वापरू शकतो
हे का लागतं?
Limits शिवाय एक बेफाम process सगळा CPU किंवा memory खाऊन server मारू शकतो.
हे काय आहे?
cgroup v2 म्हणजे /sys/fs/cgroup वर एक tree. तपासा: stat -fc %T /sys/fs/cgroup cgroup2fs दाखवतो. प्रत्येक group मधे files: memory.max, memory.current, cpu.max ('quota period', उदा. 50000 100000 = अर्धा CPU), pids.max, io.max. PID cgroup.procs मधे. memory.events OOM kills मोजतो.
कसं करायचं (step by step)
- Version.
stat -fc %T /sys/fs/cgroup
Output:
cgroup2fs
याचा अर्थ: v2.
- हाताने group.
sudo mkdir /sys/fs/cgroup/demo && echo 200M | sudo tee /sys/fs/cgroup/demo/memory.max && echo '50000 100000' | sudo tee /sys/fs/cgroup/demo/cpu.max
Output:
200M
50000 100000
याचा अर्थ: 200 MB, अर्धा CPU.
- Shell आत.
echo $$ | sudo tee /sys/fs/cgroup/demo/cgroup.procs
Output:
2241
याचा अर्थ: Children पण limited.
- कोणता cgroup?
cat /proc/3011/cgroup
Output:
0::/system.slice/shop-api.service
याचा अर्थ: systemd ने बनवला.
11. cgroups सोप्या पद्धतीने: systemd
हे का लागतं?
systemd आधीच प्रत्येक service cgroup मधे ठेवतो, म्हणून हाताने नाही तिथे limits.
हे काय आहे?
Unit किंवा drop-in मधे: MemoryMax=1G, CPUQuota=150%, TasksMax=500, IOWeight=. Live: systemctl set-property UNIT MemoryMax=1G. एकदा: systemd-run --scope -p MemoryMax=300M CMD. systemd-cgtop ने बघा; systemd-cgls tree.
कसं करायचं (step by step)
- Service limit.
sudo systemctl set-property shop-api.service MemoryMax=1G CPUQuota=150%
Output:
(no output)
याचा अर्थ: Drop-in मधे persist.
- एकदाचा job.
sudo systemd-run --scope -p MemoryMax=300M -p CPUQuota=50% tar czf /backup/www.tgz /var/www
Output:
Running scope as unit: run-r1b2.scope
याचा अर्थ: Backup hog करू शकत नाही.
- cgroup नुसार live top.
systemd-cgtop -n 1
Output:
Control Group Tasks %CPU Memory
/system.slice/shop-api 88 140 980M
याचा अर्थ: Limit जवळ.
- Docker तेच वापरतो.
docker run -d --memory 512m --cpus 1.5 nginx
Output:
f3a1...
याचा अर्थ: cgroup limits.
12. सगळं एकत्र: शून्यातून container
हे का लागतं?
एकदा हाताने बघितलं की containers चं गूढ जातं.
हे काय आहे?
unshare (pid, mnt, uts, net), root filesystem (extract केलेलं image), chroot, आणि cgroup limit एकत्र. खरे runtimes (runc, containerd) हेच plus seccomp, capabilities आणि overlay filesystems करतात.
कसं करायचं (step by step)
- Root filesystem.
mkdir rootfs && docker export $(docker create alpine) | tar -x -C rootfs
Output:
(no output)
याचा अर्थ: Alpine files.
- Mini container.
sudo unshare --pid --uts --mount --net --fork chroot rootfs /bin/sh -c 'mount -t proc proc /proc; hostname mini; ps; hostname'
Output:
PID USER COMMAND
1 root /bin/sh -c ...
mini
याचा अर्थ: स्वतःचे PIDs आणि नाव.
- Host वर container PID.
docker inspect -f '{{.State.Pid}}' web
Output:
8812
याचा अर्थ: फक्त host process.
13. अनेक industries मधली खरी उदाहरणं
हे का लागतं?
तेच Linux skill प्रत्येक प्रकारच्या company मध्ये लागतं. वेगवेगळ्या ठिकाणी पाहिलं की लक्षात राहतं.
हे काय आहे?
प्रत्येक row म्हणजे एक काल्पनिक team. कोण हे वापरतं आणि कसं ते दाखवते.
कसं करायचं (step by step)
| Team आणि शहर | ते कसं वापरतात | Command |
|---|---|---|
| Aniket, Kubernetes platform, Pune | br_netfilter आणि overlay load | modprobe overlay |
| Sophie, CI service, Paris | Build jobs साठी systemd-run limits | systemd-run --scope -p MemoryMax=2G |
| Hiro, telecom, Tokyo | Test labs साठी network namespaces | ip netns add |
| Fatima, bank, Doha | न वापरलेला USB storage blacklist | blacklist usb-storage |
| Carlos, video, Mexico City | Encoders साठी cgroup CPU caps | CPUQuota=200% |
| Pooja, SaaS, Bengaluru | Pods debug साठी nsenter | nsenter -t PID -n |
14. नेहमीच्या errors आणि त्यांचे fixes
हे का लागतं?
हे errors सगळ्यांना येतात. कारण माहीत असलं की तास वाचतात.
हे काय आहे?
आधी नेमका message वाचा. मग खालच्या row शी जुळवा.
कसं करायचं (step by step)
| दिसणारा error | का होतं | Fix कसा करायचा |
|---|---|---|
modprobe: FATAL: Module wireguard not found in directory /lib/modules/... | या kernel साठी module नाही | kernel-modules-extra किंवा matching package.sudo dnf install -y kernel-modules-extra |
modprobe: FATAL: Module nvme is in use | Device अजून वापरतो | वापरातला driver unload नाही.lsmod | grep nvme |
Required key not available | Secure Boot unsigned module नाकारतो | Signed modules किंवा key enroll.mokutil --sb-state |
unshare: unshare failed: Operation not permitted | Root नाही आणि user namespaces बंद | sudo किंवा --user --map-root-user.sysctl user.max_user_namespaces |
tee: memory.max: No such file | Parent मधे controller enable नाही | cgroup.subtree_control मधे +memory.cat /sys/fs/cgroup/cgroup.subtree_control |
Container OOMKilled (exit 137) | memory.max ला लागलं | Limit वाढवा किंवा leak fix.cat /sys/fs/cgroup/system.slice/*/memory.events |
Cannot open /proc/PID/...: No such file | Process संपला | PID परत तपासा.pgrep -f shop |
Failed to set unit properties: Unit not loaded | चुकीचं unit नाव | .service सह पूर्ण नाव.systemctl list-units --type=service | grep shop |
rmdir: failed to remove 'demo': Device or resource busy | cgroup मधे अजून processes | आधी हलवा किंवा kill.cat /sys/fs/cgroup/demo/cgroup.procs |
Disk full but du shows little | Delete केलेली file अजून उघडी | Holder restart किंवा /proc मधून truncate.sudo lsof +L1 |
15. Troubleshooting step by step
हे का लागतं?
Kernel-level issues: messages वाचा, मग योग्य file तपासा.
हे काय आहे?
वरून खाली जा. ज्या step ला problem दिसतो तिथे थांबा.
कसं करायचं (step by step)
- Kernel log
sudo dmesg -T -l err,warn
- Loaded drivers
lsmod
- Device आणि driver
lspci -k
- Process details
cat /proc/PID/status
- Namespaces
sudo lsns
- cgroup limits
systemctl show UNIT -p MemoryMax -p CPUQuotaPerSecUSec
16. Lab 1: Modules आणि /proc
हे का लागतं?
Boot ला module load आणि /proc मधून process details.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- Info.
modinfo overlay | head -3
Output:
description: Overlay filesystem
- Load.
sudo modprobe overlay && lsmod | grep overlay
Output:
overlay 151552 0
- Persist.
echo overlay | sudo tee /etc/modules-load.d/overlay.conf
Output:
overlay
- Process सुरू.
sleep 600 &
Output:
[1] 7001
- वाचा.
grep -E 'State|PPid' /proc/7001/status; ls -l /proc/7001/ns | head -3
Output:
State: S (sleeping)
17. Lab 2: Namespaces आणि cgroups
हे का लागतं?
वेगळं shell आणि memory-limited job.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- PID namespace.
sudo unshare --pid --fork --mount-proc bash -c 'ps -e'
Output:
1 bash
- UTS namespace.
sudo unshare --uts --fork bash -c 'hostname lab; hostname'
Output:
lab
- Limited job.
sudo systemd-run --scope -p MemoryMax=100M stress-ng --vm 1 --vm-bytes 300M --timeout 20s
Output:
Running scope ... killed
- Events.
journalctl -k | grep -i 'memory cgroup out of memory' | tail -1
Output:
Memory cgroup out of memory: Killed process
- Service limit.
sudo systemctl set-property sshd.service TasksMax=200 && systemctl show sshd -p TasksMax
Output:
TasksMax=200
Ravindra Bagale's Tip
To debug inside a container that has no tools, do not install anything in it. Find its host PID with docker inspect, then run host tools inside its namespaces with nsenter -t PID -n (network) or -m (mount). You keep the image clean and still see everything.
Ravindra Bagale's Tip – मराठी
Tools नसलेल्या container मधे debug करायला त्यात काही install करू नका. docker inspect ने host PID शोधा, मग nsenter -t PID -n (network) किंवा -m (mount) ने host tools त्याच्या namespaces मधे चालवा. Image clean राहतं आणि सगळं दिसतं.
Ravindra Bagale's Tip – हिंदी
Tools के बिना container में debug करने के लिए उसमें कुछ install मत कीजिए. docker inspect से host PID निकालिए, फिर nsenter -t PID -n (network) या -m (mount) से host tools उसके namespaces में चलाइए. Image साफ़ रहती है और सब दिखता है.
18. नेहमी विचारले जाणारे प्रश्न
प्र. Kernel module काय?
चालू kernel मधे load होणारा driver किंवा feature.
प्र. /proc disk वर आहे?
नाही, kernel live बनवतो.
प्र. modprobe vs insmod?
modprobe dependencies सांभाळतो; तोच वापरा.
प्र. Containers VMs आहेत?
नाही, त्याच kernel वर namespaces आणि cgroups असलेले processes.
प्र. cgroup v1 की v2?
Modern distros वर v2; एक unified tree.
प्र. Exit code 137?
SIGKILL ने killed, बहुतेक OOM.
प्र. Kernel live बदलू?
sysctl ने tunables; नव्या kernel ला reboot.
प्र. nsenter कशासाठी?
दुसऱ्या process च्या namespaces मधे command.
19. मुलाखत प्रश्न आणि उत्तरं
Beginner level
प्र. Kernel version?
uname -r.
प्र. Loaded modules?
lsmod.
प्र. /proc काय?
Live kernel आणि process data चा virtual filesystem.
प्र. Module load?
modprobe NAME.
Mid level level
प्र. Boot ला module?
/etc/modules-load.d/NAME.conf.
प्र. Service ची memory limit?
systemctl set-property UNIT MemoryMax=.
प्र. Namespaces list?
lsns.
प्र. Disk full, du कमी?
Delete केलेल्या उघड्या files; lsof +L1.
Senior level
प्र. Containers isolate कसे?
View साठी namespaces, resources साठी cgroups, plus seccomp आणि capabilities.
प्र. Distroless pod चं network debug?
PID शोधा, host tools सह nsenter -t PID -n.
प्र. cpu.max 50000 100000?
100 ms मधे 50 ms = अर्धा CPU.
प्र. Kubernetes ला br_netfilter का?
Bridged pod traffic iptables rules मधून जावं म्हणून.
घरी करून बघा
- तुमच्या machine वर lsns आणि cat /proc/self/cgroup चालवा आणि प्रत्येक line समजावा.
- systemd-run आणि 300M memory limit ने backup चालवा.
सराव Tasks
London Legal LLP हा लंडन मधला कायदा सेवा व्यवसाय आहे. Oliver Hughes त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे GBP मध्ये मोजले जातात आणि AWS resources eu-west-2 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 18
सोपं सगळी kernel info
का: BIZ मधले containers kernel features आहेत.
काय करायचं: Kernel नाव आणि machine hardware नाव.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Module info
का: BIZ मधले containers kernel features आहेत.
काय करायचं: Module xfs ची माहिती.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं nvme loaded?
का: BIZ मधले containers kernel features आहेत.
काय करायचं: nvme_core सारखं module loaded आहे का.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं meminfo
का: BIZ मधले containers kernel features आहेत.
काय करायचं: /proc/meminfo च्या पहिल्या 5 lines head ने.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं PID namespaces
का: BIZ मधले containers kernel features आहेत.
काय करायचं: फक्त pid namespaces.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं netns list
का: BIZ मधले containers kernel features आहेत.
काय करायचं: Network namespaces list.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं cgroup version
का: BIZ मधले containers kernel features आहेत.
काय करायचं: /sys/fs/cgroup चा filesystem type.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं cgroup tree
का: BIZ मधले containers kernel features आहेत.
काय करायचं: system.slice चा systemd cgroup tree.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम wireguard load
का: BIZ मधले containers kernel features आहेत.
काय करायचं: Module wireguard load.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Module unload
का: BIZ मधले containers kernel features आहेत.
काय करायचं: Module pcspkr unload.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Kernel errors
का: BIZ मधले containers kernel features आहेत.
काय करायचं: फक्त crit आणि err kernel messages, readable time.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम मागचा boot kernel
का: BIZ मधले containers kernel features आहेत.
काय करायचं: दोन boots आधीचे kernel messages.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Process status
का: BIZ मधले containers kernel features आहेत.
काय करायचं: PID 1 चं /proc status.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम नवं hostname
का: BIZ मधले containers kernel features आहेत.
काय करायचं: नव्या IPC namespace मधे bash (fork).
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम netns बनवा
का: BIZ मधले containers kernel features आहेत.
काय करायचं: blue नावाचा network namespace.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Tasks limit
का: BIZ मधले containers kernel features आहेत.
काय करायचं: nginx.service live 300 tasks limit.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Mount ns मधे
का: BIZ मधले containers kernel features आहेत.
काय करायचं: PID 9100 च्या mount namespace मधे df -h.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Limited one-off
का: BIZ मधले containers kernel features आहेत.
काय करायचं: big.log वर gzip -9 MemoryMax=200M scope मधे.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
20. संबंधित chapters
- DevOps साठी Linux Ops Refresh
- Automation साठी Bash Scripting
- Linux grep आणि find Commands Examples सह
- Linux Servers मध्ये Passwordless SSH
थोडक्यात सांगायचं तर
- uname -r आणि /proc/cmdline kernel आणि boot options.
- lsmod, modinfo, modprobe drivers; options आणि blacklists साठी modprobe.d.
- /proc आणि /sys live kernel files.
- Namespaces process काय बघतो ते मर्यादित.
- cgroups तो काय वापरतो ते मर्यादित; systemd सहज set करतो.
- Container = process + namespaces + cgroups.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.








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