SSD Nodes Learn Hosting plans →

Linux distributions చరిత్ర మరియు వాటి పరిణామం

దాదాపు అన్ని Linux distributions మూలాలు Slackware, Debian లేదా Red Hat లోనే ఉన్నాయి. ఈ వ్యాసంలో ప్యాకేజీ మేనేజర్లు, వెర్షన్ల చరిత్ర మరియు మీ VPS ఇమేజ్ ఎలా తయారైందో తెలుసుకోండి.

Linux distribution అంటే వాస్తవానికి ఏమిటి

Linux distributions చరిత్ర ఒక లోటుతో ప్రారంభమవుతుంది: Linux kernel ఒక్కటే ఉంటే, మనిషి ఉపయోగించగల పని ఏదీ చేయదు. అది boot అయి hardware ను గుర్తిస్తుంది. తరువాత ఆగిపోతుంది. ఎవరో userland ను జోడించాలి, software ఎలా install చేసి update చేయాలో నిర్ణయించాలి, అలాగే అనేక సంవత్సరాల పాటు దాన్ని సరిచేస్తూ ఉంటామని హామీ ఇవ్వాలి. Distribution అంటే ఈ ఎంపికల సమాహారం, అలాగే తరువాత కూడా కొనసాగి పనిచేసే వ్యక్తుల సమూహం.

దీనిలో ఐదు భాగాలు ఉంటాయి. ఎక్కువగా binaries ఒకేలా ఉన్నప్పటికీ, ఈ భాగాలను వేర్వేరుగా ఎంచుకునే projects వేర్వేరు distributions అవుతాయి:

  • ఒక kernel. Project ఎంచుకున్న version, అది జోడించిన patches మరియు drivers తో ఉంటుంది. ఒక release ఒకటి కంటే ఎక్కువ kernel లను అందించవచ్చు: Ubuntu 24.04 LTS servers లో తన GA (general availability) kernel ను default గా install చేస్తుంది. కొత్త HWE (hardware enablement) kernel ను option గా అందిస్తుంది.
  • Userland: C library, shell, init system, standard commands.
  • Package format, దాన్ని install చేసే tool.
  • Release policy: ఏవి మారవచ్చు, ఎంత తరచుగా మారవచ్చు, ప్రతి release కు ఎంతకాలం fixes అందుతాయి.
  • వ్యక్తులు: package maintainers, security team, అలాగే package విఫలమైనప్పుడు సమాధానం ఇచ్చే వ్యక్తి.

Kernel భాగం shared గా ఉండటంతో, రెండు Linux distributions ఒకదానికొకటి చాలా దగ్గరగా ఉంటాయి; వాటిలో ఏదీ మరొక Unix కు అంత దగ్గరగా ఉండదు. Linux మరియు FreeBSD ను server platforms గా పోల్చేటప్పుడు ఈ విషయాన్ని గుర్తుంచుకోవడం ఉపయోగకరం. అక్కడ kernel మరియు base userland ను ఒకే project నిర్మించి, కలిపి release చేస్తుంది. Linux లో ఆ భాగాలు వేర్వేరు upstream projects నుంచి వస్తాయి. వాటిని పరస్పరం అనుకూలంగా పనిచేసేలా చేసేది distribution.

మూడు కుటుంబాలుగా Linux డిస్ట్రిబ్యూషన్ల చరిత్ర

1993 మరియు 1994లలో ప్రారంభమైన మూడు ప్రాజెక్టులు ప్రధాన కుటుంబాలుగా మారాయి: Slackware, Debian మరియు Red Hat. నేడు VPS కంట్రోల్ ప్యానెల్‌లో కనిపించే దాదాపు ప్రతి ఇమేజ్ వీటిలో ఒకటి లేదా వీటి నుంచి ఉద్భవించినదే. ఒక డిస్ట్రిబ్యూషన్ దాని పూర్వీకుల నుంచి ప్యాకేజీ ఫార్మాట్, ఫైల్ లేఅవుట్ మరియు సాధారణంగా విడుదల చేసే పద్ధతులను వారసత్వంగా పొందుతుంది. అందుకే బ్రాండింగ్ తొలగించిన తర్వాత కూడా, ఒక Debian డెరివేటివ్ వాడకంలో Debian లాగే అనిపిస్తుంది.

స్వతంత్ర డిస్ట్రిబ్యూషన్లు ప్రత్యేకమైనవి, ఎందుకంటే అవి వేటి నుంచీ ఫోర్క్ (fork) కాలేదు. Arch, Gentoo, Alpine, NixOS మరియు Void వంటివి తమ సొంత ప్యాకేజీ మేనేజర్‌ను మరియు సొంత నియమాలను రూపొందించుకున్నాయి. వీటిలో Arch మరియు Alpine, డెస్క్‌టాప్‌తో సంబంధం లేని కారణాల వల్ల, మీ ప్రొవైడర్ అందించే ఇమేజ్ జాబితాలోకి చేరాయి.

1992: ఫ్యామిలీలకు ముందున్న డిస్ట్రిబ్యూషన్లు

MCC Interim Linux 1992 ఫిబ్రవరిలో విడుదలైంది. దీనిని Manchester Computing Centre లో Owen Le Blanc రూపొందించారు. ఇది kernel మరియు GNU (GNU's not Unix) టూల్స్‌ను రెండు floppy images లో ఉంచి, మెనూ ఆధారిత ఇన్‌స్టాలర్‌ను అందించింది. దీన్ని మాన్యువల్‌గా చేయడానికి ఒక రోజంతా సమయం పట్టేది, ఆ సమస్యను పరిష్కరించడానికే ఇది పుట్టింది.

1992లో Peter MacDonald విడుదల చేసిన SLS (Softlanding Linux System), మరిన్ని అడుగులు ముందుకేసి X (X Window System) మరియు TCP/IP నెట్‌వర్కింగ్‌ను జోడించింది. distribution అనే పదానికి నేడు ఉన్న అర్థం రావడానికి SLS కారణం. అయితే, ఇది అనేక లోపాలతో (buggy) ఉండటమే కాకుండా, దీని నిర్వహణ చాలా నెమ్మదిగా ఉండేది. 1993లో ఇద్దరు వ్యక్తులు విడివిడిగా దీనిని సరిచేయాలని నిర్ణయించుకున్నారు. ఒకరు దీనిని మళ్ళీ నిర్మించగా, మరొకరు స్పష్టమైన నియమాలతో కొత్తగా ప్రారంభించారు.

Slackware, 1993: ఇప్పటికీ అందుబాటులో ఉన్న అత్యంత పురాతన కుటుంబం

Patrick Volkerding 1993 జూలై 16న Slackware 1.00 ను విడుదల చేశారు. ఇది SLS నుండి రూపొందించబడింది మరియు అందులోని లోపాలను సరిదిద్దారు. ఇది ఇప్పటికీ నిర్వహించబడుతోంది, దీనివల్ల ఇది ఇప్పటికీ మనుగడలో ఉన్న అత్యంత పురాతన Linux distribution గా నిలిచింది.

Slackware ప్యాకేజీ అనేది లోపల ఇన్‌స్టాల్ స్క్రిప్ట్‌ను కలిగి ఉన్న కంప్రెస్డ్ tar ఆర్కైవ్. ఇందులో dependency resolution ఉండదు: మీ కొత్త ప్యాకేజీకి అవసరమైన లైబ్రరీ డిస్క్‌లో ఉందో లేదో ఏదీ తనిఖీ చేయదు. ఆ ఒక్క నిర్ణయమే మిగిలిన అన్నింటినీ ప్రభావితం చేసింది. ఒకవేళ టూల్ dependencies ను పరిష్కరించకపోతే, పంపిణీ చేయబడిన సెట్ నిర్మాణాత్మకంగా స్థిరంగా ఉండాలి, కాబట్టి releases అరుదుగా మరియు సంప్రదాయబద్ధంగా ఉంటాయి. Slackware 15.0 ఫిబ్రవరి 2022లో వచ్చింది, ఇది 14.2 విడుదలైన ఆరు సంవత్సరాల తర్వాత జరిగింది.

ఈ కుటుంబం చిన్నది. 1990ల మధ్యలో SUSE యొక్క ప్రారంభ releases Slackware పై నిర్మించబడ్డాయి, ఆ తర్వాత ఆ ప్రాజెక్ట్ YaST మరియు తర్వాతి కాలంలో RPM ప్యాకేజీ ఫార్మాట్‌తో సొంత మార్గంలో వెళ్ళింది. ఆ చివరి భాగం ప్రజలను గందరగోళానికి గురి చేస్తుంది. SUSE మరియు openSUSE లు RPM ప్యాకేజీలను ఉపయోగిస్తాయి, మరియు అవి Red Hat ఉత్పన్నాలు కావు. ఫార్మాట్ ప్రయాణించింది, కానీ వంశక్రమం కాదు.

Debian, 1993: ఒక సామాజిక ఒప్పందం మరియు మూడు suiteల pipeline

Ian Murdock, Slackware ప్రకటించిన ఒక నెల తర్వాత, అదే కారణంతో 16 August 1993న Debianను ప్రకటించాడు. ఈ పేరులో అతని భాగస్వామి Debra పేరు మరియు అతని స్వంత పేరు కలిశాయి. Debian Manifesto 1994 Januaryలో వెలువడింది. అందులో నిబంధనలు స్పష్టమయ్యాయి: ఈ distributionను ఒక కంపెనీ కాకుండా volunteers బహిరంగంగా నిర్వహిస్తారు.

తర్వాత Debian ఈ నిబంధనలను లిఖితపూర్వకంగా రూపొందించింది. Debian Social Contract మరియు DFSG (Debian free software guidelines) 1997 Julyలో ఆమోదించబడ్డాయి. 1998లో Open Source Definitionకు DFSG ఆధారమైంది. ఒక distributionలో ఏది చేర్చాలో నిర్ణయించడానికి రాసిన పత్రం చివరకు మొత్తం పరిశ్రమకు ఒక licence వర్గాన్ని నిర్వచించింది. మీ sources.listలో components ఉండటానికి ఇదే కారణం: mainలో guidelinesకు అనుగుణంగా ఉండి, main వెలుపల ఏదీ అవసరం లేని software ఉంటుంది; contribలో guidelinesకు అనుగుణంగా ఉన్నప్పటికీ build చేయడానికి లేదా run చేయడానికి main వెలుపల ఏదో అవసరమైన software ఉంటుంది; non-freeలో guidelinesకు అనుగుణంగా లేని software ఉంటుంది; wireless card ఉన్న laptop ఎటువంటి అదనపు అన్వేషణ లేకుండా install చేసుకునేందుకు Debian 12లో non-free-firmwareను చేర్చారు.

Tooling Debianకు అందించిన మరో ముఖ్యమైన వారసత్వం. dpkg ఒక packageను install చేస్తుంది. ఏదైనా dependency లేకపోతే అది విఫలమై dpkg: dependency problems prevent configuration ofను ముద్రిస్తుంది. 1999లో Debian 2.1తో defaultగా మారిన APT (advanced package tool), ఇంకా ఏ packagesను ఏ క్రమంలో fetch చేయాలో నిర్ణయించే layer. ప్రతి Debian derivativeలోని ప్రతి apt command ఆ పనినుంచే వచ్చింది.

Release ప్రక్రియలో మూడు suites మరియు ఒక నియమం ఉన్నాయి. Maintainer ఒక packageను శాశ్వతంగా sid అనే codename కలిగిన unstableకు upload చేస్తాడు. Upload urgencyను బట్టి 2, 5 లేదా 10 రోజుల తర్వాత ఒక script ఆ packageను testingలోకి migrate చేస్తుంది. అయితే package అది ముందుగా build చేసిన ప్రతి architectureపై build అయి, తాజాగా ఉండాలి; testing versionలో లేని release critical bug ఏదీ ఉండకూడదు; testingలో ఇప్పటికే ఉన్న దేనినీ పాడుచేయకుండా install కావాలి. తరువాత testing freeze అవుతుంది. Release team మిగిలిన సమస్యలను పరిష్కరిస్తుంది. Bug list తగినంత చిన్నదైనప్పుడు stable విడుదలవుతుంది. అది నిర్దిష్ట తేదీ ఆధారంగా జరగదు. అందుకే Debian stable పాతదిగా కనిపించినా స్థిరంగా పనిచేస్తుంది: security fixesను వాటిలో backport చేస్తూనే ఉండగా, version numbers freeze సమయంలో ఎక్కువగా ఆగిపోతాయి. అయితే ఇది పూర్తిగా ఎల్లప్పుడూ అలా ఉండదు. Security team కొన్నిసార్లు కొత్త upstream releaseను విడుదల చేస్తుంది. 2026 Juneలో Tomcat 11 విషయంలో ఇదే జరిగింది.

Governance కూడా లిఖితపూర్వకంగానే ఉంటుంది. ఇందులో ఎన్నికైన project leader మరియు binding general resolutions ఉన్నాయి. 2014లో ఈ వ్యవస్థ systemdను default init systemగా ఎంచుకుంది. దీనికి అంగీకరించని వ్యక్తులు Devuanను fork చేశారు. Devuan తన మొదటి releaseను 2017లో చేసింది. ఆ మార్పు చేసిన మొదటి distribution Debian కాదు, చివరిది కూడా కాదు. ఆ మార్పు పదేపదే జరగడానికి కారణాలు, అలాగే సరైనవిగా తేలిన అభ్యంతరాలు, systemd SysV initను ఎలా భర్తీ చేసిందనే వివరణలో వివరించబడ్డాయి. Debian నుంచి వచ్చిన పెద్ద descendants Ubuntu, Raspberry Pi OS, Proxmox VE, Kali మరియు Linux Mint.

Red Hat, 1994: RPM, ఆపై Fedora మరియు RHEL గా విభజన

Marc Ewing 1994 అక్టోబర్ చివరలో మొదటి Red Hat Linux ను విడుదల చేశారు. 1995లో Bob Young కంపెనీ దీనిని కొనుగోలు చేసింది. సాఫ్ట్‌వేర్‌ను కాకుండా సపోర్ట్‌ను విక్రయించే మొదటి Linux వ్యాపారాన్ని వీరిద్దరూ నిర్మించారు. Red Hat 1999 ఆగస్టు 11న పబ్లిక్ కంపెనీగా మారింది. IBM ఈ కంపెనీని సుమారు 34 బిలియన్ డాలర్లకు 2019 జూలైలో కొనుగోలు చేసింది. అప్పటి నుండి చాలా ఎంటర్‌ప్రైజ్ సాఫ్ట్‌వేర్‌లు సర్టిఫై చేయబడే ఈ డిస్ట్రిబ్యూషన్ IBM సొంతం.

దీని శాశ్వత సాంకేతిక సహకారం RPM (Red Hat package manager). దీనిని 1995లో Red Hat Linux 2.0 కోసం Erik Troan మరియు Marc Ewing రాశారు. ఒక RPM తన డిపెండెన్సీలను తెలియజేస్తుంది. ఇది ఒక spec file నుండి తయారవుతుంది, ఇది ఎవరైనా రన్ చేయగల build recipe. ఈ రెండవ లక్షణమే తర్వాత Red Hat యొక్క ఎంటర్‌ప్రైజ్ ప్రొడక్ట్‌ను స్వతంత్రంగా తిరిగి నిర్మించడం (rebuilds) సాధ్యమయ్యేలా చేసింది.

2003లో వచ్చిన Red Hat Linux 9 అసలు సిరీస్‌లో చివరిది. కంపెనీ దీనిని రెండుగా విభజించింది: 2003 నవంబర్‌లో వేగవంతమైన కమ్యూనిటీ రిలీజ్‌గా Fedora Core 1, మరియు 2002లో Advanced Server 2.1 గా ప్రారంభమై, నెమ్మదిగా ఉండే పెయిడ్ వెర్షన్‌గా RHEL (Red Hat Enterprise Linux). దీనికి కారణం స్పష్టం. కొత్త వెర్షన్లను పరీక్షించే ప్రదేశం మరియు ఒక బ్యాంక్ పదేళ్లపాటు మార్పులు లేకుండా రన్ చేసే ప్లాట్‌ఫారమ్ ఒకటే కాకూడదు. ఈ రెండు భాగాలు అనుసంధానించబడి ఉంటాయి: ఒక RHEL మేజర్ వెర్షన్ Fedora రిలీజ్ నుండి బ్రాంచ్ అవుతుంది, స్థిరీకరించబడుతుంది, ఆపై ఫ్రీజ్ చేయబడుతుంది. ప్యాకేజీ టూల్ కూడా అదే షెడ్యూల్‌లో మారింది, 2000లలో yum నుండి 2015లో Fedora డిఫాల్ట్‌గా dnf కి మారింది, రెండింటికీ అడుగున rpm ఉంటుంది.

CentOS ఉచిత RHEL rebuild గా ఉండటం ఎందుకు ఆగిపోయింది

CentOS 2004లో ఒక సరళమైన ఉద్దేశంతో ప్రారంభమైంది: Red Hat విడుదల చేసిన source packages ను తీసుకుని, trademarks తొలగించి, వాటిని rebuild చేసి, ఫలితాన్ని ఉచితంగా అందించడం. ఇది ఒక దశాబ్దం పాటు default ఉచిత server distribution గా మారింది. 2014లో Red Hat ఈ project ను తన ఆధీనంలోకి తీసుకుంది.

8 December 2020న Red Hat, CentOS Linux 8ను 31 December 2021న ముగిస్తామని ప్రకటించింది. ఇది ముందుగా ప్రకటించిన తేదీ కంటే ఎనిమిది సంవత్సరాలు ముందే జరిగింది. CentOS పేరు CentOS Stream రూపంలో కొనసాగుతుందని కూడా ప్రకటించింది. Stream ఒక rebuild కాదు. RHEL minor releases రూపొందే branch ఇది. అందువల్ల ఇది RHEL కంటే వెనుక కాకుండా ముందుగా నడుస్తుంది. ఏళ్ల తరబడి కొనసాగించాలని ఉద్దేశించిన machine కు ముందుగా నడిచే branch సరైనది కాదు. ఎందుకంటే Red Hat చెల్లింపు customers కు అందకముందే మీకు changes అందుతాయి.

2021లో రెండు rebuilds వచ్చాయి. CentOS కు సహవ్యవస్థాపకుడైన Gregory Kurtzer, Rocky Linux ను ప్రారంభించారు. AlmaLinux కు CloudLinux ఆర్థిక సహాయం అందించింది. June 2023లో Red Hat, public RHEL sources ను CentOS Stream, తన customer portal, మరియు UBI (Universal Base Image) containers తో పాటు విడుదల చేసే source images కు పరిమితం చేసింది. Rocky ఇప్పటికీ identical rebuilds లక్ష్యంగా కొనసాగింది. AlmaLinux తన లక్ష్యాన్ని ABI (application binary interface) compatibility గా మార్చింది. అంటే RHEL కోసం build చేసిన software నడుస్తుంది, కానీ bug list ప్రతి అంశంలోనూ అచ్చంగా ఒకేలా ఉంటుందనే హామీ ఉండదు. అదే సంవత్సరం తరువాత Oracle, SUSE మరియు CIQ కలిసి shared sources ప్రచురించడానికి OpenELA ను ఏర్పాటు చేశాయి. 2003లోని split నుంచి 2023 source మార్పు వరకు, అలాగే ప్రతి rebuild ప్రస్తుతం ఇస్తున్న హామీ వరకు జరిగిన మొత్తం క్రమాన్ని Red Hat, CentOS, Rocky మరియు AlmaLinux పై విస్తృత వివరణలో చూడవచ్చు.

ఒక provider యొక్క image list లో ఇంకా CentOS అని ఉంటే, దానిపై build చేయడానికి ముందు అది ఏ CentOS ను సూచిస్తుందో తెలుసుకోండి.

cat /etc/os-release

NAME="CentOS Stream" అనేది RHEL కు ముందుగా నడిచే rolling development branch. NAME="AlmaLinux" లేదా NAME="Rocky Linux" అనేది దాన్ని అనుసరించే rebuild, దీనికి పది సంవత్సరాల వ్యవధి ఉంటుంది.

Ubuntu, 2004: క్యాలెండర్‌పై ఉన్న Debian unstable యొక్క ఒక స్నాప్‌షాట్

Ubuntu 4.10 ను Mark Shuttleworth నిధులతో 20 October 2004న విడుదల చేశారు. Debianతో దాని సంబంధం భావోద్వేగపూరితం కాకుండా యాంత్రికమైనది. ప్రతి cycle ప్రారంభంలో Debian unstable నుంచి packages ను కొత్త Ubuntu releaseలోకి import చేస్తారు. Debian Import Freeze వరకు, అంటే cycle మధ్య దశ వరకు, ఈ imports కొనసాగుతాయి. ఆ తర్వాత Ubuntu తన స్వంత మార్పులను నిర్వహిస్తుంది. అనేక Ubuntu packages, Debian packageకు ఒక delta జోడించినవిగా ఉంటాయి. ఏ మార్పులు చేశారో changelog తెలియజేస్తుంది.

మరో భాగం calendar. Debian సిద్ధమైనప్పుడు విడుదల చేస్తుంది. Ubuntuను April మరియు Octoberలో విడుదల చేస్తారు. Version number ఆ తేదీని సూచిస్తుంది: 24.04ను April 2024లో విడుదల చేశారు. ప్రతి రెండవ April release ఒక LTS (long term support). Qualifier లేకుండా provider Ubuntuను జాబితా చేసినప్పుడు దాని అర్థం ఇదే. ఈ రెండింటిలో serverకు ఏది సరిపోతుందో Ubuntu LTS మరియు interim releases మధ్య ఎంపిక అనే అంశం పూర్తిగా వివరిస్తుంది. ఒక LTS నుంచి తదుపరి LTSకు మారడానికి ప్రత్యేక procedure ఉంటుంది. అది 24.04 నుంచి 26.04 upgradeలో వివరించబడింది.

ప్రతి సంవత్సరం server admins గమనించే ఒక విషయం ఉంది. Ubuntu archive componentsగా విభజించబడింది. mainను పూర్తి support window అంతటా Canonical నిర్వహిస్తుంది. universeను community నిర్వహిస్తుంది. దాని security coverage వేరే హామీపై ఆధారపడి ఉంటుంది. apt install ఈ తేడా గురించి ఏమీ చూపించదు. ఒక command ద్వారా దీన్ని చూడవచ్చు:

apt-cache policy nginx

/mainతో ముగిసే repository line అంటే ఆ packageకు Canonical security team బాధ్యత వహిస్తుంది. /universeతో ముగిసే line అంటే community బాధ్యత వహిస్తుంది. Internetను ఎదుర్కొనే ఏదైనా సేవ లేదా వ్యవస్థకు దీన్ని తనిఖీ చేయండి.

Arch, 2002: రోలింగ్ రిలీజ్‌లు మరియు పాక్షిక అప్‌గ్రేడ్ వల్ల కలిగే నష్టాలు

Judd Vinet 2002 మార్చి 11న Arch 0.1ని విడుదల చేశారు. దీని కోసం ఆయన స్వయంగా రాసిన pacman అనే ప్యాకేజీ మేనేజర్‌ను మరియు సాధారణ షెల్ స్క్రిప్ట్‌లుగా ఉండే బిల్డ్ రెసిపీలను ఉపయోగించారు. Arch లో ఎటువంటి వెర్షన్ రిలీజ్‌లు ఉండవు. ఇన్‌స్టాలేషన్ మీడియా అనేది అదే రోలింగ్ రిపోజిటరీల యొక్క తేదీతో కూడిన స్నాప్‌షాట్ మాత్రమే. కాబట్టి, 2019లో ఇన్‌స్టాల్ చేసి ప్రతి వారం అప్‌డేట్ చేసిన మెషీన్, ఈరోజు ఇన్‌స్టాల్ చేసిన Arch మెషీన్ రెండూ ఒకటే. AUR (Arch user repository) వినియోగదారులు అందించిన బిల్డ్ రెసిపీలను కలిగి ఉంటుంది. ఇవి కేవలం రెసిపీలు మాత్రమే, సమీక్షించబడిన ప్యాకేజీలు కావు. కాబట్టి, ఏదైనా PKGBUILDని రన్ చేసే ముందు దాన్ని చదవడం మీ బాధ్యతలో భాగం.

రోలింగ్ రిలీజ్ విధానంలో ఒక వైఫల్య మార్గం ఉంది, ఇది ప్రతిసారీ వినియోగదారు చేసే పొరపాటు వల్లనే జరుగుతుంది. pacman -Sy foo ఉపయోగించి ఒకే ఒక్క ప్యాకేజీని ఇన్‌స్టాల్ చేసినప్పుడు, అది ప్యాకేజీ డేటాబేస్‌ను రిఫ్రెష్ చేస్తుంది. ఆ తర్వాత, డిస్క్‌లో ఉన్న లైబ్రరీల కంటే కొత్త వెర్షన్ లైబ్రరీలతో లింక్ అయిన ఒక కొత్త బైనరీని ఇన్‌స్టాల్ చేస్తుంది. అప్పుడు ప్రోగ్రామ్‌లు ఇలా విఫలమవుతాయి:

error while loading shared libraries: libcrypto.so.3: cannot open shared object file: No such file or directory

అధికారికంగా మద్దతు ఇచ్చే పద్ధతి pacman -Syu, ఇది అన్నింటినీ కలిపి ఒకేసారి అప్‌డేట్ చేస్తుంది. కొన్ని అప్‌గ్రేడ్‌లకు ముందు మాన్యువల్ జోక్యం అవసరమని ప్రాజెక్ట్ వారు వార్తలను కూడా పోస్ట్ చేస్తారు. వాటిని చదవకుండా అప్‌గ్రేడ్ రన్ చేస్తే, మెషీన్ బూట్ అవ్వని పరిస్థితి రావచ్చు.

దీనివల్ల, మీరు పట్టించుకోని సర్వర్ కోసం Arch సరైన ఎంపిక కాదు. వారానికోసారి అప్‌డేట్ చేసే సర్వర్ అయితే పర్వాలేదు. కానీ ఏడాది తర్వాత ఒకేసారి అప్‌డేట్ చేస్తే, మీరు వదిలేసిన అన్ని మాన్యువల్ జోక్యాలు ఒకేసారి మీ ముందుకొస్తాయి.

Alpine: containers ప్రసిద్ధి చేసిన చిన్న distribution

Alpine సుమారు 2005లో Gentoo forkగా ప్రారంభమైంది. దీన్ని LEAF (Linux embedded appliance framework) ప్రభావితం చేసింది. LEAF, Linux Router Project నుంచి అభివృద్ధి చెందింది. Natanael Copa దీన్ని desktop కంప్యూటర్ల కోసం కాకుండా appliances కోసం రూపొందించారు. ఇది సాధారణ userland లోని చాలా భాగాలను మార్చుతుంది: GNU C library స్థానంలో musl, GNU core utilities స్థానంలో BusyBox, systemd స్థానంలో OpenRC, అలాగే package managerగా apk ఉపయోగిస్తుంది. 2014లో వచ్చిన Alpine 3.0 muslకు మారిన release.

Containers వల్ల ఇది ప్రసిద్ధి చెందింది. Debian లేదా Ubuntu baseతో పోలిస్తే Alpine base layer పరిమాణం చాలా తక్కువగా ఉంటుంది. అందువల్ల 2016 నుంచి ఇది సాధారణ base imageగా మారింది. Alpineను ఎప్పుడూ నేరుగా install చేయని అనేక మంది కూడా దీన్ని ప్రతిరోజూ ఉపయోగించారు.

దీని ధర ఏమిటంటే musl, glibc కాదు. ఈ తేడా ఒకదానితో సంబంధం లేనట్టుగా కనిపించే bugs రూపంలో బయటపడుతుంది. glibcకు link చేసిన binary Alpineలో విఫలమైనప్పుడు, ఇప్పటికే ఉన్న file కోసం వెతికేలా చేసే message కనిపిస్తుంది:

sh: ./myapp: not found

Program ఉంది. కానీ దాని ELF interpreter లేదు, ఎందుకంటే glibc loader అందుబాటులో లేదు. Python మరో సాధారణ సమస్య. manylinux కోసం build చేసిన prebuilt wheels, muslపై install కావు. అందువల్ల pip source నుంచి compile చేయడానికి ప్రయత్నిస్తుంది. Compiler install చేయకపోతే ఆ ప్రక్రియ ఆగిపోతుంది. 2021లో వచ్చిన musllinux wheel standard, అలాంటి wheels publish చేసే projectsకు ఈ సమస్యను పరిష్కరించింది. ఇతర projectsకు మాత్రం కాదు.

VPSలో host operating systemగా Alpineను install చేయడం చిన్నదిగా ఉంటుంది, updates వేగంగా వస్తాయి. అయితే చాలా documentation ఊహించే విధానానికి ఇది భిన్నంగా ఉంటుంది. systemctl enable అమలు చేయమని చెప్పే ప్రతి guideను rc-update add కోసం మార్చి అర్థం చేసుకోవాలి.

Immutable తరం: అటామిక్ అప్‌డేట్లు మరియు ఇమేజ్ ఆధారిత సర్వర్లు

ఈ సరికొత్త విభాగం ప్యాకేజీ జాబితాకు బదులుగా అప్‌డేట్ నమూనానే మారుస్తుంది. ostree ఆధారిత సిస్టమ్ /usr ను read-only గా ఉంచుతుంది. ఒక అప్‌డేట్ అనేది పూర్తిగా కొత్త ఫైల్‌సిస్టమ్ ట్రీ; ఇది డౌన్‌లోడ్ చేయబడి, సిద్ధం చేయబడి, తదుపరి రీబూట్ వద్ద అమలవుతుంది. మునుపటి ట్రీ బూట్ ఎంట్రీగా అలాగే ఉంటుంది, కాబట్టి ఏదైనా అప్‌డేట్ విఫలమైతే పాత వెర్షన్‌లోకి రీబూట్ చేయడం ద్వారా సులభంగా వెనక్కి రావచ్చు.

Fedora Silverblue దీనిని 2018లో డెస్క్‌టాప్‌కు తీసుకురాగా, 2018లో Red Hat సంస్థ CoreOS ను కొనుగోలు చేసిన తర్వాత, 2019లో Fedora CoreOS దీనిని సర్వర్లకు పరిచయం చేసింది. 2020లో Container Linux నిలిపివేయబడినప్పుడు, Flatcar Container Linux దానిని కొనసాగించింది. openSUSE MicroOS btrfs స్నాప్‌షాట్లు మరియు transactional-update ద్వారా ఇదే లక్ష్యాన్ని చేరుకుంటుంది. 2024లో Red Hat, RHEL కు ఇమేజ్ ఆధారిత మోడ్‌ను జోడించింది. ఇది bootc పై నిర్మించబడింది, ఇక్కడ ఆపరేటింగ్ సిస్టమ్ ఒక కంటైనర్ ఇమేజ్‌గా వస్తుంది మరియు కొత్త ట్యాగ్‌ను సూచించడం ద్వారా మెషీన్‌ను అప్‌డేట్ చేయవచ్చు. Talos Linux మరింత ముందుకు వెళ్లి షెల్ మరియు SSH లను పూర్తిగా తొలగించింది: మెషీన్ ఒక API ద్వారా కాన్ఫిగర్ చేయబడుతుంది, కాబట్టి లాగిన్ అవ్వడానికి ఏమీ ఉండదు. 2007లో విడుదలైన NixOS, భిన్నమైన మార్గంలో వస్తుంది. మొత్తం సిస్టమ్ ఒక డిక్లరేటివ్ కాన్ఫిగరేషన్ నుండి నిర్మించబడుతుంది మరియు మునుపటి జనరేషన్లు బూట్ చేయదగినవిగా ఉంటాయి.

మీ ప్రొవైడర్ వీటిలో దేనినీ వన్-క్లిక్ ఇమేజ్‌గా అందించకపోవచ్చు, ఎందుకంటే అడ్మినిస్ట్రేటర్ SSH ద్వారా ఫైళ్లను ఎడిట్ చేయడానికి బదులుగా, మొదటి బూట్ సమయంలోనే Ignition లేదా cloud-init ద్వారా కాన్ఫిగర్ చేయాలని వారు ఆశిస్తారు. మీరు అనేక Linux సర్వర్లను ఒకేసారి నిర్వహిస్తున్నప్పుడు మరియు ప్రతి సర్వర్ ఒకదానికొకటి ఖచ్చితంగా సమానంగా ఉండాలని కోరుకున్నప్పుడు, ఇటువంటి విధానాలు అనేక ఒకే రకమైన మెషీన్లపై మంచి ఫలితాలను ఇస్తాయి.

ఒక release కు ఎంతకాలం support ఉంటుంది?

ఒక distribution తో మీరు ఎక్కువకాలం అనుసరించాల్సి వచ్చేది దాని release policy. దీనిని సాధారణంగా సంవత్సరాల సంఖ్యగా ప్రకటిస్తారు. ప్రస్తుతం ఉన్న 5 server releases కు సంబంధించిన support వ్యవధులు ఇవి.

చార్ట్Security update window for one server release, in years, published policies as of October 2026
ఈ చార్ట్ వెనుక ఉన్న డేటా
[
  {
    "distro": "Alpine 3.x",
    "standard_years": 2,
    "extended_total_years": 2
  },
  {
    "distro": "Debian 13",
    "standard_years": 3,
    "extended_total_years": 5
  },
  {
    "distro": "Ubuntu 26.04 LTS",
    "standard_years": 5,
    "extended_total_years": 10
  },
  {
    "distro": "AlmaLinux 10",
    "standard_years": 10,
    "extended_total_years": 10
  },
  {
    "distro": "RHEL 10",
    "standard_years": 10,
    "extended_total_years": 14
  }
]

Alpine ప్రతి 3.x branch లోని main repository కి 2 సంవత్సరాల support ఇస్తుంది. community repository మాత్రం తదుపరి stable release వరకు మాత్రమే ఉంటుంది. అందువల్ల తరచుగా rebuild చేసే container image కు ఇది సరిపోతుంది. కానీ మార్పులు చేయకుండా అలాగే ఉంచే host కు ఇది అంత అనుకూలం కాదు. Debian security team ఒక stable release కు సుమారు 3 సంవత్సరాల పాటు support ఇస్తుంది. తరువాత LTS team ఎంచుకున్న architectures కు మొత్తం సుమారు 5 సంవత్సరాల వరకు support కొనసాగిస్తుంది. Ubuntu LTS లో main లోని packages కు 5 సంవత్సరాల support ఉంటుంది. Ubuntu Pro subscription దీనిని 10 సంవత్సరాలకు పెంచుతుంది. కొద్దిమంది machines పై వ్యక్తిగత ఉపయోగానికి ఇది ఉచితం. Ubuntu Pro కు చెల్లింపు Legacy add-on జోడిస్తే support వ్యవధి మరింత పెరిగి 15 సంవత్సరాలకు చేరుతుంది. RHEL 10 10 సంవత్సరాల support ప్రకటిస్తుంది. చెల్లింపు Extended Life Cycle Premium add-on చివరి minor release కు దీనిని 14 సంవత్సరాలకు పెంచుతుంది. పునరుద్ధరించగల Long-Life నిబంధనలతో support ను ఆ వ్యవధి దాటిన తరువాత కూడా కొనసాగించవచ్చు. AlmaLinux 10 subscription లేకుండానే RHEL యొక్క 10 సంవత్సరాల support వ్యవధిని అందిస్తుంది. ఈ rebuilds ఉనికికి ఇదే ప్రధాన కారణం.

Arch కు ఇక్కడ row లేదు. Rolling distribution కు support చేయాల్సిన release ఉండదు. Arch కోసం ముఖ్యమైనది machine ను ఎంతకాలం update చేయకుండా వదిలేయగలరనేది. దీనిని వారాలుగా కొలుస్తారు.

ఈ సంఖ్యలు ఎక్కడి నుంచి వచ్చాయి

ప్రతి సంఖ్య vendor స్వయంగా ప్రచురించిన policy ఆధారంగా ఉంది. ఈ సమాచారాన్ని 10 October 2026 న పరిశీలించాం. ఏదైనా తేదీ ఆధారంగా ప్రణాళిక రూపొందించే ముందు వీటిని మళ్లీ తనిఖీ చేయండి. Vendors తమ policies ను మార్చవచ్చు. December 2020 లో CentOS users దీనిని అనుభవించారు.

మీ VPS ఇమేజ్ జాబితా ఇలా ఎందుకు కనిపిస్తుంది

ఒక ప్రొవైడర్ కస్టమర్లు కోరిన పేరుతో ఇమేజ్‌లను విడుదల చేస్తారు, ఇవి వారి హైపర్‌వైజర్‌పై అటెండెన్స్ అవసరం లేకుండానే ఇన్‌స్టాల్ అవుతాయి. అందుకే దాదాపు ప్రతి జాబితా Ubuntu LTS మరియు Debian stable తో మొదలవుతుంది, RHEL ఆధారిత సాఫ్ట్‌వేర్ అవసరమైన వారి కోసం AlmaLinux లేదా Rocky ని చేరుస్తుంది, మరియు Alpine, Arch, Fedora వంటి వాటిని జాబితాలో కింద ఉంచుతుంది. VPS అంటే ఏమిటి మరియు ఇమేజ్ డిస్క్‌కు ఎలా చేరుతుంది అనే విషయం మీకు తెలిస్తే, ఈ పద్ధతి స్పష్టంగా అర్థమవుతుంది: సగటు కస్టమర్ సర్వర్‌ను ఉంచే కాలం కంటే ఎక్కువ కాలం మద్దతు లభించే మరియు అటెండెన్స్ లేని ఇన్‌స్టాలేషన్‌ను తట్టుకోగల ఆపరేటింగ్ సిస్టమ్‌లను ప్రొవైడర్ ఎంచుకుంటారు.

ఈ ఎంపిక మిమ్మల్ని కేవలం ఒక ప్యాకేజీ మేనేజర్‌కే పరిమితం చేయదు. ఇది మూడేళ్ల తర్వాత మీరు చేసే అప్‌గ్రేడ్‌ను నిర్ణయిస్తుంది, మరియు ఇవి ఆపరేటింగ్ సిస్టమ్ ఫ్యామిలీని బట్టి పూర్తిగా మారుతుంటాయి. Debian మరియు Ubuntu లు ఇన్‌-ప్లేస్ మేజర్ అప్‌గ్రేడ్‌లకు మద్దతు ఇస్తాయి. Red Hat ఫ్యామిలీ వీటిని leapp ద్వారా నిర్వహిస్తుంది. Arch కు వెర్షన్లు ఉండవు కాబట్టి అప్‌గ్రేడ్ అనే ప్రక్రియ ఉండదు. Alpine లో అప్‌గ్రేడ్ అంటే /etc/apk/repositories ఫైల్‌ను ఎడిట్ చేసి apk upgrade --available రన్ చేయడం. ఈ ఎంపికే థర్డ్ పార్టీ రిపోజిటరీలను జోడించకుండా మీరు ఏ సాఫ్ట్‌వేర్‌ను ఇన్‌స్టాల్ చేయగలరో, మీరు రన్ చేసే సాఫ్ట్‌వేర్‌లో CVE (common vulnerabilities and exposures) ఎంట్రీ వచ్చినప్పుడు ప్యాచ్‌ను ఎవరు విడుదల చేస్తారో, మరియు భవిష్యత్తులో మీ సాఫ్ట్‌వేర్ ఏ init సిస్టమ్ మరియు C library అందుబాటులో ఉంటాయని ఆశిస్తుందో నిర్ణయిస్తుంది.

తక్కువ అంచనా వేయడానికి వీలులేని మరో ప్రభావం కూడా ఉంది. ఇంటర్నెట్‌లో లభించే చాలా సమాధానాలు Debian ఫ్యామిలీ లేదా Red Hat ఫ్యామిలీ మార్గాలను అనుసరిస్తాయి, కాబట్టి ఆ రెండింటికి వెలుపల ఉన్న వాటిని ఎంచుకుంటే, మెషిన్ ఉన్నంత కాలం మీరు సూచనలను అనువదించుకోవాల్సి ఉంటుంది. మీరు సర్వర్‌ను ఎంత తరచుగా నిర్వహించాలనుకుంటున్నారో దానికి సరిపోయే రిలీజ్ పాలసీ ఉన్న ఫ్యామిలీని ఎంచుకోండి, ఆపై దానికే కట్టుబడి ఉండండి. పైన ఉన్న ప్యాకేజీలను మార్చడం సులభం. కానీ వాటి కింద ఉన్న డిస్ట్రిబ్యూషన్‌ను మార్చడం అంటే సర్వర్‌ను మొదటి నుండి నిర్మించడమే.

FAQ

నా server ఏ Linux distribution familyలో ఉంది?

cat /etc/os-release ను అమలు చేయండి. ID field distribution పేరును, ID_LIKE దాని family పేరును చూపిస్తుంది. అందువల్ల Ubuntu machine ID_LIKE=debian ను, AlmaLinux machine ID_LIKE="rhel centos fedora" ను చూపిస్తుంది. Package manager మరో ముఖ్యమైన సూచన. apt మరియు dpkg Debian family ను సూచిస్తాయి. dnf మరియు rpm Red Hat family ను సూచిస్తాయి. apk Alpine ను సూచిస్తుంది. pacman Arch ను సూచిస్తుంది.

CentOS ఇప్పటికీ RHEL యొక్క ఉచిత వెర్షన్‌నా?

కాదు. ఆ పేరుతో విడుదలైన చివరి CentOS Linux వెర్షన్ అయిన CentOS Linux 8, 31 December 2021న ముగిసింది. CentOS Linux 7 తన జీవితచక్రం ముగింపుకు 30 June 2024న చేరుకుంది. కొనసాగుతున్న ప్రాజెక్ట్ అయిన CentOS Stream నుంచి RHEL యొక్క minor releases రూపొందుతాయి. అందువల్ల RHEL కంటే ముందుగానే CentOS Streamలో మార్పులు వస్తాయి; తరువాత కాదు. పాత పాత్రను స్వీకరించిన ఉచిత rebuild distributions AlmaLinux మరియు Rocky Linux. రెండింటికీ ten-year support windows ఉన్నాయి.

Debian stable లో ఇంత పాత version numbers ఎందుకు ఉంటాయి?

ఎందుకంటే సంస్కరణ సంఖ్య సాధారణంగా మారకుండా ఉంటుంది, కానీ పరిష్కారాలు నిరంతరం వస్తూనే ఉంటాయి. ఎక్కువ ప్యాకేజీలకు Debian కొత్త upstream విడుదలను దిగుమతి చేయకుండా, విడుదల చేసిన సంస్కరణలోకే security patches ను backport చేస్తుంది. అందువల్ల 2.4.57-2+deb13u1 ను చూపించే ప్యాకేజీలో గత వారం ప్రచురించిన పరిష్కారం ఉండవచ్చు. upstream సంస్కరణ తర్వాత ఉన్న suffix Debian revision ను సూచిస్తుంది. ఆ revision లో ఏమి చేర్చారో apt changelog <package> జాబితా చేస్తుంది. సంస్కరణ సంఖ్యలను ఆధారంగా చేసుకుని Debian server భద్రతను అంచనా వేస్తే ప్రతిసారీ తప్పు నిర్ణయానికే వస్తారు.

VPSలో Arch వంటి rolling release ను నడపాలా?

మీరు దాన్ని నిర్దిష్ట షెడ్యూల్‌ ప్రకారం update చేస్తే మాత్రమే. Rolling distribution లో ప్రతి machine ప్రస్తుత package set కు చేరుతుందని భావిస్తారు. అందువల్ల pacman -Sy foo తో ఒక package ను మాత్రమే update చేస్తే libraries సరిపోలకపోవచ్చు. cannot open shared object file వంటి errors కూడా కనిపించవచ్చు. pacman -Syu ను క్రమం తప్పకుండా run చేయండి. ప్రతి run కు ముందు project news page చదవండి. అప్పుడు system స్థిరంగా ఉంటుంది. ఒక సంవత్సరం update చేయకుండా వదిలేస్తే మొదటి upgrade నే ప్రమాదకరంగా మారుతుంది.

immutable లేదా atomic distribution వాస్తవంగా ఏమి మారుస్తుంది?

ఇది updates ఎప్పుడు వర్తించాలో, వాటిని ఎలా వెనక్కి తీసుకోవాలో మారుస్తుంది. /usr ను read only గా mount చేస్తారు. Update ను పూర్తి కొత్త tree గా సిద్ధం చేస్తారు. Reboot సమయంలో switch జరుగుతుంది. Rollback కోసం మునుపటి tree ను boot entry గా ఉంచుతారు. అందువల్ల machine పూర్తిగా updated గా లేదా పూర్తిగా update కాని స్థితిలో ఉంటుంది. సగం వర్తించిన స్థితి ఉండదు. Files ను నేరుగా మార్చడం ద్వారా software ను install చేసే విధానాన్ని వదులుకోవాలి. కాబట్టి applications containers లేదా layered packages లోకి మారతాయి.

ఈ వ్యాసం ఉపయోగకరంగా ఉందా?