Ubuntu आवृत्ती आणि आर्किटेक्चर कसे निवडावे
VPS मागवण्याआधी Ubuntu release आणि CPU architecture तुमच्या ॲपशी जुळवा. सर्व्हर मिळाल्यावर system, package candidates आणि ॲपची प्रत्यक्ष कामे पडताळा. निवडलेली image आणि प्रत्यक्ष मिळालेला environment यांची सांगड अशी घालता येते.
VPSuntu · अद्ययावत: · वाचनासाठी सुमारे 5 मिनिटे
मार्गदर्शिकेतील विभाग
Provision करण्याआधी सुसंगत image निवडा
ॲप, extensions, runtime, database, monitoring आणि backup agents कोणत्या release/architecture वर समर्थित आहेत ते लिहा. Vendor support आणि फक्त स्वतःच्या चाचणीतील यश वेगळे नोंदवा.
- समर्थित Ubuntu, runtime आणि database आवृत्त्या लिहा.
- Native extensions, container images आणि backup agents चे architecture तपासा.
- उरलेल्या maintenance कालावधीनुसार पर्याय कमी करा.
- प्रदात्याच्या आवश्यक region मध्ये image उपलब्ध आहे का तपासा.
- Provision केल्यावर image पडताळा आणि डेटा किंवा traffic आणण्याआधी ॲप तपासा.
Ubuntu 24.04 ने default Python 3.12, PHP 8.3 आणि PostgreSQL 16 आणले; updates मुळे patch versions बदलतात. जुन्या major version चे support नवीनासाठी गृहीत धरू नका. LTS कालावधीची तुलना करा.
मिळालेली image ओळखा
VPS वर read-only commands चालवा. Distribution, चालू kernel, package व machine architecture deployment नोंदीत ठेवा.
cat /etc/os-release
uname -r
dpkg --print-architecture
uname -mलहान स्क्रीनवर सर्व स्तंभ पाहण्यासाठी तक्ता बाजूला सरकवा.
| निकाल | अर्थ |
|---|---|
| /etc/os-release मधील VERSION_ID | स्थापित Ubuntu release, उदा. 24.04 |
| uname -r | सध्या चालू kernel; update/reboot नंतर बदलू शकतो |
| dpkg amd64 / uname x86_64 | 64-bit x86 ची नावे |
| dpkg arm64 / uname aarch64 | 64-bit Arm ची नावे |
Kernel string एकट्याने Ubuntu release किंवा support सांगत नाही; cloud-specific kernel असू शकतो. amd64 binary arm64 वर native चालेल असे समजू नका. Arm build किंवा स्पष्ट समर्थित पर्याय आधी तपासा.
Provisioning पूर्ण झाले का तपासा
अनेक images keys, accounts व network साठी cloud-init वापरतात. आधी ते उपलब्ध आहे का पाहा. नसणे म्हणजेच दोष नाही; प्रदात्याची पद्धत तपासा.
if command -v cloud-init >/dev/null 2>&1; then
cloud-init status --long
else
printf '%s\n' 'cloud-init is not installed; check the provider provisioning method.'
fiRunning म्हणजे काम सुरू आहे; SSH चालत असूनही error/degraded स्थिती तपासावी लागते. Cloud-init असल्यास logs पहा:
sudo tail -n 50 /var/log/cloud-init.log
sudo tail -n 50 /var/log/cloud-init-output.logInitialization logs मध्ये संवेदनशील माहिती असू शकते; शेअर करण्याआधी ती काढा. त्रुटी लपवण्यासाठी cloud-init clean किंवा network files बदलू नका. Provisioning पूर्ण असले तरी ॲप, database व backup स्वतंत्रपणे तपासा.
स्थापनेआधी package candidates पहा
Metadata refresh करून आवश्यक packages च्या candidate versions आणि repositories नोंदवा. Update command index बदलतो; खालील ॲप packages स्थापित करत नाही.
sudo apt update
apt-cache policy python3 php postgresql
apt-cache policy python3.12 php8.3 postgresql-16Installed: (none) म्हणजे package स्थापित नाही; candidate (none) म्हणजे सध्याच्या sources मध्ये उपलब्ध नाही. नाव, architecture आणि Ubuntu components तपासा; अनोळखी repository जोडू नका. Php/postgresql metapackage सोबत versioned package पहा. Installed executable साठी python3 --version किंवा php --version वापरा; database client व server आवृत्ती वेगळी असू शकते.
एक सुसंगतता निर्णय पूर्ण करा
कल्पित ॲपला फक्त Python 3.10 आणि amd64 native extension लागत असेल तर default Ubuntu 24.04 arm64 दोन अटी पूर्ण करत नाही: Python 3.12 आणि वेगळे architecture. amd64 निवडल्याने Python बदलत नाही. Virtual environment त्याला तयार करणारा interpreter वापरतो; 3.12 चे 3.10 होत नाही. Ubuntu चा system Python बदलू नका.
ॲप upgrade, स्वतंत्र maintained runtime किंवा documented container विचारात घ्या. सर्व native components आणि support plan तपासा. जुनी Ubuntu release देखील स्वतःचा maintenance कालावधी घेऊन येते. Staging मध्ये extension चा code path, database operation, background job आणि backup/restore चालवा. Build व versions नोंदवा; install किंवा homepage उघडणे पुरेसे नाही.
Containers आणि प्रत्येक package चा support तपासा
Container dependencies वेगळ्या ठेवतो, पण host kernel, storage आणि network वापरतो. योग्य platform चे supported image निवडा. Emulation चे performance/support वेगळे असते. Data documented volumes किंवा बाह्य storage मध्ये जपा आणि container शिवाय restore तपासा. Release/digest pin करताना updates चे वेळापत्रक ठेवा; असुरक्षित image कायम pin करणे योग्य देखभाल नाही.
Ubuntu release support म्हणजे प्रत्येक installed package चे support नाही. Standard security maintenance, Ubuntu Pro, third-party repositories, binaries आणि container images यांचे maintainers/coverage वेगळे आहेत. प्रत्येक थर कोण update करतो ते नोंदवा.
Package update आणि release upgrade वेगळे ठेवा
Metadata refresh केल्यावर pending packages व failed services पहा. या commands distribution upgrade करत नाहीत.
apt list --upgradable
systemctl --failed
if [ -f /var/run/reboot-required ]; then cat /var/run/reboot-required; fiयोग्य maintenance window मध्ये updates लागू करून ॲप पुन्हा तपासा; services restart होऊ शकतात. Reboot marker नसला तरी सर्व घटक current आहेत असे सिद्ध होत नाही. Release upgrade आधी copy/new machine वर तपासा: runtimes, repositories, database migration व extensions जुळवा. Final data sync आणि नंतरच्या writes सांभाळणारा परतीचा मार्ग ठरवा; जुन्या snapshot मध्ये नवीन orders नसतात.
निवडीची पुनरुत्पादित करता येणारी नोंद ठेवा
लहान स्क्रीनवर सर्व स्तंभ पाहण्यासाठी तक्ता बाजूला सरकवा.
| नोंद | काय जपावे |
|---|---|
| Operating System | Release, architecture, kernel, image ID |
| ॲप environment | Build, runtime, lockfiles, repositories |
| Provisioning | निकाल व secrets नसलेले configuration |
| स्वीकार चाचणी | कामे, निकाल आणि न सुटलेल्या त्रुटी |
| देखभाल | Package जबाबदारी, वेळ आणि alerts |
| Recovery | Backup ठिकाण, पद्धत आणि शेवटची restore चाचणी |
Secrets नोंदीबाहेर ठेवा; इतर configuration version control मध्ये जपा. महत्त्वाची dependency बदलल्यास वेगळे rebuild करा. Cloud प्रयोगासाठी मोफत Ubuntu instance, तर image योग्य ठरल्यावर वेबसाइट सेटअप वापरा.
प्रश्नोत्तरे
Ubuntu 24.04 नेहमी सर्वोत्तम आहे का?
येथे ती ठोस उदाहरणासाठी आहे. संपूर्ण stack आणि provider समर्थित release निवडा, उरलेला maintenance कालावधी नोंदवा. नवीन किंवा जुनी release दोन्हीसाठी ॲप बदल लागू शकतात.
डेटा न गमावता image बदलता येते का?
Provider reinstall सहसा disk बदलतो. पद्धत तपासा, डेटा/configuration export करा व recovery पडताळा. Reinstall आणि in-place upgrade वेगवेगळ्या क्रिया आहेत.