லினக்ஸ் என்றால் என்ன: கர்னல், விநியோகம், கோப்பு முறைமை எளிய மொழியில்
லினக்ஸ் என்பது திறந்த மூல இயக்க முறைமையின் கர்னல். இது செயலி, நினைவகம், வட்டு, பிணையம் ஆகியவற்றை நிர்வகிக்கிறது; கருவிகள், தொகுப்பு மேலாளர், துவக்க அமைப்புடன் சேர்ந்து Ubuntu, Debian, Fedora போன்ற விநியோகங்களை உருவாக்குகிறது. பெரும்பாலான சேவையகங்கள், கொள்கலன்கள் மற்றும் கிளவுடில் லினக்ஸ் இயங்குவதால், அதில் வேலை செய்யும் திறன் DevOps பொறியாளர் மற்றும் கணினி நிர்வாகிக்கு அடிப்படைத் தேவை.
லினக்ஸ் என்பது திறந்த மூல இயக்க முறைமையின் கர்னல். இதன் மீதுதான் சேவையக, மேசைக்கணினி, உட்பொதிந்த சாதனங்களுக்கான முழுமையான அமைப்புகள் கட்டமைக்கப்படுகின்றன. "லினக்ஸ் சேவையகம்" என்று சொல்லும்போது ஒரே ஒரு நிரலைக் குறிப்பதில்லை; கர்னலுடன் கருவிகள், நூலகங்கள், தொகுப்பு மேலாளர், துவக்க அமைப்பு ஆகியவை சேர்ந்த ஒரு விநியோகத்தைக் (distribution) குறிக்கிறது. லினக்ஸ் உண்மையில் என்ன, அதன் பகுதிகள் யாவை, ஒவ்வொரு DevOps பொறியாளருக்கும் அது ஏன் தேவை என்று பார்க்கலாம்.
லினக்ஸ் என்பது கர்னல், முழு அமைப்பு அல்ல
கண்டிப்பாகச் சொன்னால், லினக்ஸ் என்பது கர்னல் மட்டுமே. கர்னல் என்பது துவக்க ஏற்றிக்குப் பிறகு முதலில் இயங்கும் நிரல்; கணினி இயங்கும் வரை நினைவகத்தில் இருக்கும். இது செயலி நேரத்தை செயல்முறைகளுக்கிடையே பகிர்கிறது, நினைவகத்தை ஒதுக்குகிறது, இயக்கிகள் மூலம் வட்டு மற்றும் பிணைய அட்டைகளுடன் வேலை செய்கிறது, அணுகல் அனுமதிகளைக் கட்டுப்படுத்துகிறது.
சாதாரண நிரல்கள் வன்பொருளை நேரடியாகத் தொடுவதில்லை. ஒரு எடிட்டர் கோப்பைச் சேமிக்கும்போது கணினி அழைப்புகளை (open, write, close) அனுப்புகிறது; எந்த வட்டுத் தொகுதியில் எழுதுவது, அந்த செயல்முறைக்கு அதற்கான உரிமை உண்டா என்பதை கர்னல் தீர்மானிக்கிறது. இந்தப் பிரிப்பால் அமைப்பு நிலையாக இருக்கிறது: ஒரு நிரல் செயலிழந்தாலும் முழு கணினியும் நின்றுவிடாது.
கர்னல் பதிப்பை ஒரு கட்டளையில் பார்க்கலாம்:
$ uname -r
6.8.0-45-generic
1991-ல் லினஸ் டோர்வால்ட்ஸ் இந்தக் கர்னலை உருவாக்கினார்; அன்றிலிருந்து இது திறந்த முறையில் வளர்கிறது. மூலக் குறியீடு GNU GPL பதிப்பு 2 உரிமத்தின் கீழ் உள்ளது, எனவே யார் வேண்டுமானாலும் அதைப் படிக்கலாம், மாற்றலாம், அதே நிபந்தனைகளில் விநியோகிக்கலாம்.
லினக்ஸ் விநியோகம் (distro) என்றால் என்ன
கர்னல் மட்டும் போதாது: கட்டளைகளை தட்டச்சு செய்ய ஷெல், கோப்புகளை நிர்வகிக்கும் கருவிகள், நூலகங்கள், நிரல் நிறுவி தேவை. அடிப்படைக் கருவிகளில் பெரும்பாலானவை (ls, cp, bash, grep) GNU திட்டத்திலிருந்து வந்தவை; அதனால் இந்த அமைப்பு சில நேரங்களில் GNU/Linux என்றும் அழைக்கப்படுகிறது. கர்னலும் இந்த அனைத்தும் சேர்ந்து, ஒரே தொகுப்பாக உருவாக்கப்பட்டு சோதிக்கப்பட்டதுதான் விநியோகம்.
விநியோகங்கள் முக்கியமாக தொகுப்பு மேலாளர், புதுப்பிப்புக் கொள்கை, யாருக்காக என்பதில் வேறுபடுகின்றன.
| குடும்பம் | எடுத்துக்காட்டுகள் | தொகுப்புகள் | எங்கே காணப்படுகின்றன |
|---|---|---|---|
| Debian | Debian, Ubuntu, Linux Mint | .deb, apt | சேவையகங்கள், கிளவுட், பணிநிலையங்கள் |
| Red Hat | RHEL, Fedora, Rocky Linux, AlmaLinux | .rpm, dnf | நிறுவன சேவையகங்கள் |
| Alpine | Alpine Linux | apk | அளவு சிறியதாக இருக்க வேண்டிய Docker படங்கள் |
| Arch | Arch Linux, Manjaro | pacman | ஆர்வலர்கள், புதிய தொகுப்பு பதிப்புகள் |
நீங்கள் பயன்படுத்தும் விநியோகம் எது என்பதை /etc/os-release கோப்பிலிருந்து அறியலாம்:
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
ID=ubuntu
ID_LIKE=debian
கற்றலுக்கும் சேவையகத்துக்கும் அதிகம் பயன்படுத்தப்படுபவை Ubuntu LTS அல்லது Debian: இவற்றுக்கு ஆவணங்கள் நிறைய உள்ளன, இணையத்தில் உள்ள அறிவுறுத்தல்களில் உள்ள கட்டளைகள் கிட்டத்தட்ட எப்போதும் மாற்றம் இல்லாமல் வேலை செய்யும்.
அமைப்பு எப்படி அடுக்கப்பட்டுள்ளது: கர்னல், ஷெல், பயனர் வெளி
லினக்ஸை அடுக்குகளாகக் கற்பது எளிது. அடியில் வன்பொருள். அதன் மேலே கர்னல். இன்னும் மேலே பயனர் வெளி: சேவை அமைப்பு, நூலகங்கள் (உதாரணமாக glibc), நிரல்கள். மனிதனுக்கும் அமைப்புக்கும் இடையே ஷெல் உள்ளது, பொதுவாக bash; அது கட்டளைகளைப் பெற்று நிரல்களை இயக்குகிறது.
- கர்னல் — செயல்முறைகள், நினைவகம், கோப்பு முறைமைகள், பிணையம், இயக்கிகள்.
- துவக்க (init) அமைப்பு — PID 1 எண் கொண்ட முதல் செயல்முறை; பெரும்பாலான நவீன விநியோகங்களில் இது
systemd. இது மற்ற சேவைகளைத் தொடங்குகிறது. - சேவைகள் (டீமன்கள்) — இணைய சேவையகம், SSH சேவையகம், cron, பதிவு (log).
- ஷெல் மற்றும் கருவிகள் — டெர்மினலில் நீங்கள் நேரடியாகப் பயன்படுத்துவது.
சேவையகத்தில் பொதுவாக வரைகலை இடைமுகம் இருக்காது: நிர்வாகி SSH மூலம் இணைந்து கட்டளை வரியில் வேலை செய்கிறார். எனவே லினக்ஸ் கற்பது என்பது முதலில் டெர்மினலைக் கற்பதுதான்.
லினக்ஸ் கோப்பு முறைமை: எல்லாம் / இலிருந்து தொடங்குகிறது
லினக்ஸில் C: அல்லது D: இயக்கிகள் இல்லை. ஒரே ஒரு கோப்பகக் கட்டமைப்பு உண்டு, அது root — / இலிருந்து தொடங்குகிறது. அனைத்து வட்டுகள், பென் டிரைவ்கள், பிணைய கோப்புறைகள் இந்த மரத்தில் ஒரு கோப்பகத்தில் இணைக்கப்படுகின்றன (mount). மற்றொரு கொள்கை: லினக்ஸில் கிட்டத்தட்ட எல்லாமே கோப்பாகக் காட்டப்படுகின்றன — சாதாரண கோப்புகள், கோப்பகங்கள், சாதனங்கள், செயல்முறைகள் பற்றிய தகவல்கள்கூட.
$ ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
கோப்பகங்களின் அமைப்பு FHS (Filesystem Hierarchy Standard) தரத்தால் வரையறுக்கப்பட்டுள்ளது; அதனால் எந்த விநியோகத்திலும் உள்ளமைவுக் கோப்புகள் ஏறத்தாழ ஒரே இடத்தில் இருக்கும்.
| கோப்பகம் | உள்ளடக்கம் |
|---|---|
/etc | அமைப்பு மற்றும் சேவைகளின் உள்ளமைவு: /etc/passwd, /etc/ssh/sshd_config, /etc/fstab |
/home | பயனர்களின் முகப்புக் கோப்பகங்கள்: /home/alice |
/root | மேல்நிலைப் பயனர் root-இன் முகப்புக் கோப்பகம் |
/var | மாறும் தரவு: /var/log-இல் பதிவுகள், தொகுப்பு தற்காலிகச் சேமிப்பு, தரவுத்தளங்கள், அஞ்சல் வரிசைகள் |
/usr | நிறுவப்பட்ட நிரல்களும் நூலகங்களும்: /usr/bin, /usr/lib |
/bin, /sbin | அடிப்படைக் கட்டளைகள்; நவீன விநியோகங்களில் இவை /usr/bin மற்றும் /usr/sbin-க்கான இணைப்புகள் |
/boot | கர்னல் (vmlinuz-*), initramfs, துவக்க ஏற்றி கோப்புகள் |
/dev | சாதனக் கோப்புகள்: /dev/sda, /dev/null |
/proc, /sys | மெய்நிகர் கோப்பு முறைமைகள்: இவற்றின் வழியே கர்னல் செயல்முறைகளையும் அமைப்புகளையும் காட்டுகிறது |
/tmp | தற்காலிகக் கோப்புகள், மறுதுவக்கத்தில் அடிக்கடி அழிக்கப்படும் |
/opt | மூன்றாம் தரப்பு முழுமையாகத் தொகுக்கப்பட்ட நிரல்கள் |
/mnt, /media | வட்டுகள் மற்றும் நீக்கக்கூடிய ஊடகங்களுக்கான இணைப்புப் புள்ளிகள் |
முழுமையான மற்றும் தொடர்புடைய பாதைகள்
முழுமையான பாதை / இல் தொடங்கும்; நீங்கள் எங்கே இருக்கிறீர்கள் என்பதைச் சார்ந்தது அல்ல: /var/log/syslog. தொடர்புடைய பாதை தற்போதைய கோப்பகத்திலிருந்து கணக்கிடப்படுகிறது: ../logs/app.log. புள்ளி . தற்போதைய கோப்பகம், இரட்டைப் புள்ளி .. தாய்க் கோப்பகம், ~ உங்கள் முகப்புக் கோப்பகம்.
$ pwd
/home/alice
$ cd /var/log
$ cd ..
$ pwd
/var
$ cd ~
$ pwd
/home/alice
/proc: அமைப்பு கோப்புகளின் தொகுப்பாக
/proc வட்டில் சேமிக்கப்படுவதில்லை — கர்னல் தேவைப்படும்போது அதை உருவாக்குகிறது. எடுத்துக்காட்டாக, cat /proc/cpuinfo செயலிகளைக் காட்டுகிறது, cat /proc/meminfo நினைவகத்தைக் காட்டுகிறது, ஒவ்வொரு செயல்முறைக்கும் /proc/<PID> கோப்பகத்தில் அதன் கட்டளை வரியும் திறந்த கோப்புகளும் உள்ளன. ps, top போன்ற பல கருவிகள் உண்மையில் இந்தக் கோப்புகளைத்தான் படிக்கின்றன.
இணைப்பு (mount)
df -h எந்த கோப்பு முறைமை எங்கே இணைக்கப்பட்டுள்ளது, எவ்வளவு இடம் மீதம் உள்ளது என்பதைக் காட்டுகிறது:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 40G 12G 26G 32% /
/dev/sda1 1.1G 6.1M 1.1G 1% /boot/efi
tmpfs 393M 1.2M 392M 1% /run
நிரந்தர இணைப்புகள் /etc/fstab-இல் விவரிக்கப்பட்டுள்ளன — துவக்கத்தின்போது அமைப்பு இந்தக் கோப்பைப் படிக்கிறது.
லினக்ஸ் எப்படி துவங்குகிறது: மின்சாரம் முதல் உள்நுழைவு வரை
துவக்க நிகழ்வைப் புரிந்துகொண்டால், மறுதுவக்கத்துக்குப் பிறகு சேவையகம் "எழும்பாதபோது" பிரச்சினையைக் கண்டறிவது எளிது. சுருக்கமாக சங்கிலி இப்படி இருக்கும்:
- ஃபிர்ம்வேர் (UEFI அல்லது BIOS) வன்பொருளைச் சோதித்து துவக்க ஏற்றியைக் கண்டறிகிறது.
- GRUB துவக்க ஏற்றி ஒரு பட்டியலைக் காட்டி,
/boot-இலிருந்து கர்னலையும் initramfs படத்தையும் நினைவகத்தில் ஏற்றுகிறது. - கர்னல் வன்பொருளைத் தொடங்கி, initramfs உதவியுடன் root கோப்பு முறைமையைக் கண்டறிந்து இணைக்கிறது.
- systemd PID 1 ஆக இயங்கி, சரியான வரிசையில் சேவைகளைத் தொடங்குகிறது: பிணையம், பதிவு, SSH, cron மற்றும் மற்றவை.
- உள்நுழைவுத் தூண்டல் கன்சோலில் அல்லது SSH மூலம் தோன்றுகிறது.
துவக்கத்தின்போதுள்ள கர்னல் செய்திகளை sudo dmesg அல்லது journalctl -k மூலம் பார்க்கலாம்; ஒவ்வொரு கட்டத்தின் நேரத்தை systemd-analyze மூலம் பார்க்கலாம்.
பயனர்களும் அனுமதிகளும் — உள்ளமைந்த பாதுகாப்பு
லினக்ஸ் ஆரம்பத்திலிருந்தே பல பயனர் அமைப்பு. ஒவ்வொரு கோப்புக்கும் ஒரு உரிமையாளர், ஒரு குழு, படிக்க, எழுத, இயக்க அனுமதிகள் உண்டு. சாதாரண பயனர் அமைப்புக் கோப்புகளைச் சேதப்படுத்த முடியாது; நிர்வாகச் செயல்கள் sudo மூலம் செய்யப்படுகின்றன. மேல்நிலை பயனர் root எல்லாவற்றையும் செய்ய முடியும், எனவே எப்போதும் root ஆகப் பணியாற்றுவது நல்ல பழக்கம் அல்ல.
$ ls -l /etc/passwd
-rw-r--r-- 1 root root 2847 Oct 1 10:12 /etc/passwd
இந்த வரியின் பொருள்: இது சாதாரணக் கோப்பு; உரிமையாளர் root படிக்கவும் எழுதவும் முடியும், மற்றவர்கள் படிக்க மட்டுமே முடியும்.
DevOps பொறியாளருக்கு லினக்ஸ் ஏன் முக்கியம்
DevOps பொறியாளருக்கு லினக்ஸ் ஒரு தலைப்பு மட்டுமல்ல, கிட்டத்தட்ட எல்லா வேலைகளும் நடக்கும் சூழல். தினமும் அது எங்கே வருகிறது:
- சேவையகங்கள். இணைய சேவையகங்கள், தரவுத்தளங்கள், வரிசைகள் பெரும்பாலும் லினக்ஸில் இயங்குகின்றன.
- கொள்கலன்கள். Docker லினக்ஸ் கர்னலின் அம்சங்களைப் பயன்படுத்துகிறது — namespaces மற்றும் cgroups. ஒரு கொள்கலன் என்பது தனிமைப்படுத்தப்பட்ட லினக்ஸ் செயல்முறை; அதன் படம் Debian அல்லது Alpine போன்ற விநியோகத்தின் மேல் கட்டப்படுகிறது.
- கிளவுட் மற்றும் Kubernetes. கிளவுட் மெய்நிகர் இயந்திரங்களும் கிளஸ்டர் முனைகளும் லினக்ஸே.
- CI/CD. pipeline-இல் உள்ள build-கள் லினக்ஸ் runner-களில் இயங்குகின்றன; build ஸ்கிரிப்ட்கள் bash-இல் எழுதப்படுகின்றன.
- நோய் கண்டறிதல். ஒரு சேவை செயலிழக்கும்போது பதில்
journalctl,top,ss,dfஆகியவற்றில் தேடப்படுகிறது — இந்தக் கருவிகளைத் தெரியாமல் சம்பவ ஆய்வு சாத்தியமில்லை.
குறைந்தபட்ச திறன்கள்: கோப்பு முறைமையில் நம்பிக்கையுடன் நகர்தல், அனுமதிகளைப் புரிதல், தொகுப்புகளை நிறுவுதல், systemctl மூலம் சேவைகளை நிர்வகித்தல், பதிவுகளைப் படித்தல், செயல்முறைகள், பிணையம், SSH ஆகியவற்றுடன் வேலை செய்தல், எளிய bash ஸ்கிரிப்ட்களை எழுதுதல்.
லினக்ஸ் கற்கத் தொடங்குவது எப்படி
உங்கள் முதன்மை அமைப்புக்குப் பதிலாக லினக்ஸை நிறுவ வேண்டிய அவசியம் இல்லை. முயற்சி செய்ய சில பாதுகாப்பான வழிகள் உள்ளன:
- மெய்நிகர் இயந்திரம் (VirtualBox, VMware) Ubuntu Server உடன் — உடைத்துவிட்டு snapshot-இலிருந்து மீட்கலாம்.
- Windows-இல் WSL — Windows டெர்மினலில் முழுமையான Ubuntu சூழல்:
wsl --install. - கிளவுட் சேவையகம் — உண்மையான வேலைக்கு மிக அருகில் உள்ள தேர்வு, SSH மூலம் இணைந்து.
- Docker கொள்கலன் —
docker run -it --rm ubuntu bashசில நொடிகளில் ஒரு ஷெல் தருகிறது.
வழிசெலுத்தலுடன் தொடங்குங்கள் (pwd, ls, cd), பின்னர் கோப்புகளும் அனுமதிகளும், பின்னர் தொகுப்புகள், செயல்முறைகள், சேவைகள். உள்ளமைந்த உதவி எப்போதும் அருகில்: man ls அல்லது ls --help.
சுருக்கம்
லினக்ஸ் என்பது கர்னல்; விநியோகம் என்பது கர்னலுடன் கருவிகள், நூலகங்கள், தொகுப்பு மேலாளர், systemd ஆகியவை சேர்ந்தது. முழு அமைப்பும் root / இலிருந்து தொடங்கும் ஒரே கோப்பகக் கட்டமைப்பு: உள்ளமைவு /etc-இல், பதிவுகள் /var/log-இல், நிரல்கள் /usr-இல். லினக்ஸ் என்றால் என்ன, அது எப்படி துவங்குகிறது என்று புரிந்துகொண்டால், சேவையகங்கள், கொள்கலன்கள், கிளவுட் ஆகியவற்றுக்கான அடித்தளம் கிடைக்கும். கோப்பு முறைமை, துவக்கம், நிர்வாகம் ஆகியவை லினக்ஸ் பாடநெறியில் நடைமுறையுடன் கற்பிக்கப்படுகின்றன.
அடிக்கடி கேட்கப்படும் கேள்விகள்
லினக்ஸ் ஓர் இயக்க முறைமையா, அல்லது கர்னலா?
முறையாகச் சொன்னால் லினக்ஸ் ஒரு கர்னல்; இயக்க முறைமை என்பது விநியோகம் — கர்னல், GNU கருவிகள், நூலகங்கள், தொகுப்பு மேலாளர், துவக்க அமைப்பு சேர்ந்தது. உரையாடலில் "லினக்ஸ்" என்றால் பொதுவாக முழு அமைப்பு என்று பொருள்.
லினக்ஸ் இலவசமா?
கர்னலும் பெரும்பாலான விநியோகங்களும் (Ubuntu, Debian, Fedora) இலவச உரிமங்களின் கீழ் இலவசமாகக் கிடைக்கின்றன. கட்டணம் பொதுவாக ஆதரவுச் சந்தாவுக்கு — உதாரணமாக Red Hat Enterprise Linux.
தொடக்கநிலையாளர் எந்த லினக்ஸ் விநியோகத்தைத் தேர்ந்தெடுக்க வேண்டும்?
சேவையகங்களுக்கும் நிர்வாகம் கற்கவும் Ubuntu LTS மற்றும் Debian பொருத்தமானவை; அவற்றின் பதிப்புகள் நிலையானவை, ஆவணங்கள் நிறைய. அறிவை மற்ற விநியோகங்களுக்கும் எடுத்துச் செல்லலாம்; முக்கிய வேறுபாடு தொகுப்பு மேலாளரில் மட்டுமே.
Docker பயன்படுத்த லினக்ஸ் தெரிந்திருக்க வேண்டுமா?
ஆம், குறைந்தபட்சம் அடிப்படைகள். கொள்கலன்கள் லினக்ஸ் கர்னல் வழிமுறைகளின் மேல் அமைந்தவை, படங்களுக்குள் விநியோகம் உள்ளது, பிழைதிருத்தம் ஷெல் கட்டளைகளால் நடக்கிறது.
லினக்ஸுக்கும் யுனிக்ஸுக்கும் என்ன வேறுபாடு?
யுனிக்ஸ் என்பது 1970-களில் தோன்றிய அமைப்புகளின் குடும்பம்; லினக்ஸ் யுனிக்ஸின் கருத்துகளையும் இடைமுகங்களையும் (POSIX தரம்) பின்பற்றி சுயாதீனமாக எழுதப்பட்ட கர்னல். அதனால் கட்டளைகளும் செயல்படும் விதமும் மிக ஒத்தவை.
“Linux: с нуля до уверенного администрирования” பாடநெறியில் இந்தத் தலைப்பு பயிற்சியுடன் விரிவாக விளக்கப்பட்டுள்ளது.
- Linux: с нуля до уверенного администрирования
- Как устроена файловая система Linux: от корня до загрузки ядра