Ubuntu பதிப்பையும் architecture-ஐயும் தேர்ந்தெடுப்பது எப்படி?
Order செய்வதற்கு முன் Ubuntu release மற்றும் CPU architecture உங்கள் பயன்பாட்டிற்கு ஏற்றதா பாருங்கள். Server உருவானதும் கிடைத்த system, package candidates, பயன்பாட்டின் செயல்பாட்டை உறுதிசெய்யுங்கள்; தேர்ந்தெடுத்த image-க்கும் கிடைத்த environment-க்கும் உள்ள தொடர்பு தெளிவாக இருக்க வேண்டும்.
VPSuntu · புதுப்பிப்பு: · படிக்கச் சுமார் 5 நிமிடங்கள்
வழிகாட்டியின் பகுதிகள்
Image தேர்வை முன்கூட்டியே முடிவுசெய்யுங்கள்
Application, extensions, database, runtime, backup/monitoring agents ஆதரிக்கும் releases மற்றும் architectures பட்டியலிடுங்கள். Vendor ஆதரிப்பதையும் உங்கள் குழு சோதித்ததையும் வேறுபடுத்திப் பதிவு செய்யுங்கள்.
- Application ஆதரிக்கும் Ubuntu, runtime, database versions-ஐப் பட்டியலிடுங்கள்.
- Native extensions, container images, backup agents-க்கான architecture பார்க்கவும்.
- இணக்கமான releases-இல் மீதமுள்ள maintenance காலத்தை ஒப்பிடவும்.
- தேவையான region-இல் அந்த image/architecture கிடைக்கிறதா உறுதிசெய்யவும்.
- Provisioning முடிந்ததும் கீழுள்ள சோதனைகள் செய்து, data/traffic மாற்றும் முன் app-ஐச் சோதிக்கவும்.
Ubuntu 24.04 LTS எடுத்துக்காட்டில் default Python 3.12, PHP 8.3, PostgreSQL 16 அறிமுகமானவை; patch versions updates-இல் மாறும். பழைய major versions-ஐ ஆதரிக்கும் software இவற்றையும் ஆதரிக்கும் என்று கருத வேண்டாம். LTS பராமரிப்புக் காலத்தை உங்கள் stack தேவைகளுடன் இணைத்துப் பாருங்கள்.
கிடைத்த system-ஐ அடையாளம் காணுங்கள்
VPS-இல் இந்த read-only commands இயக்கவும். Distribution, running 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 | தற்போது இயங்கும் kernel; update/reboot-இல் மாறலாம் |
| dpkg amd64 / uname x86_64 | 64-bit x86-க்கான பொதுப் பெயர்கள் |
| dpkg arm64 / uname aarch64 | 64-bit Arm-க்கான பொதுப் பெயர்கள் |
Kernel பெயர் மட்டும் Ubuntu release அல்லது support coverage-ஐக் கூறாது; cloud-specific kernel இருக்கலாம். amd64-only binary, arm64-இல் native-ஆக இயங்கும் என்று கருத வேண்டாம். Arm build அல்லது வெளிப்படையாக ஆதரிக்கப்படும் மாற்று தேவை.
Provisioning முடிந்ததா பாருங்கள்
பல images keys, accounts, network அமைக்க cloud-init பயன்படுத்துகின்றன. அது உள்ளதா பார்த்த பின்பே status கேட்கவும்; இல்லாதது மட்டும் பிழை அல்ல, provider எப்படிச் செய்கிறார் அறியவும்.
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 என்றால் வேலை நடக்கிறது. Error/degraded நிலையை SSH இயங்கினாலும் ஆராய வேண்டும். Cloud-init இருந்தால் logs பார்க்கவும்:
sudo tail -n 50 /var/log/cloud-init.log
sudo tail -n 50 /var/log/cloud-init-output.logInitialization logs-இல் sensitive values இருக்கலாம்; பகிரும் முன் மறைக்கவும். பிழையை மறைக்க cloud-init clean இயக்கவோ network files மாற்றவோ வேண்டாம். Provisioning முடிவது app, database, backup நலத்தைக் காட்டாது; தனியாகச் சோதிக்கவும்.
நிறுவும் முன் package candidates பார்க்கவும்
Package metadata புதுப்பித்து தேவைப்படும் components-இன் versions மற்றும் repositories பதிவு செய்யவும். Update index-ஐ மட்டும் புதுப்பிக்கிறது; application packages நிறுவாது.
sudo apt update
apt-cache policy python3 php postgresql
apt-cache policy python3.12 php8.3 postgresql-16Installed: (none) என்றால் நிறுவப்படவில்லை; candidate (none) என்றால் தற்போதைய sources-இல் கிடைக்கவில்லை. Arbitrary repository சேர்ப்பதற்கு முன் பெயர், architecture, Ubuntu components பார்க்கவும். php/postgresql metapackages default implementation தேர்வுசெய்யும்; versioned package-யும் பார்க்கவும். நிறுவப்பட்ட software-க்கு executable/service version பார்க்கவும்; database client version server-இலிருந்து வேறுபடலாம்.
இணக்கத்தன்மை முடிவைச் சோதியுங்கள்
ஒரு app Python 3.10 மற்றும் amd64 native extension மட்டும் ஆதரிக்கிறது எனக் கருதுங்கள்; இது கற்பனை requirement. Ubuntu 24.04 arm64 இரண்டு சோதனைகளிலும் பொருந்தாது: default Python 3.12, architecture வேறு. amd64-க்கு மாறினால் Python version மாறாது. Virtual environment அதை உருவாக்கிய interpreter-ஐப் பயன்படுத்துகிறது; 3.12-ஐ 3.10 ஆக்காது. Ubuntu system Python-ஐ மாற்ற வேண்டாம்.
App upgrade அல்லது தனியாகப் பராமரிக்கப்படும் runtime/container மற்றும் தெளிவான support plan தேர்வு செய்யலாம். எல்லா native components-உம் target platform ஆதரிக்க வேண்டும். பழைய Ubuntu release-க்கும் மீதமுள்ள maintenance காலம் உண்டு; அது தானாகத் தீர்வு அல்ல. Staging-இல் extension code path, database operation, background job, backup/restore cycle சோதித்து versions/build பதிவு செய்யவும். Install அல்லது homepage மட்டும் போதாது.
Containers மற்றும் support பொறுப்பைச் சேர்த்துப் பாருங்கள்
Containers app dependencies-ஐப் பிரித்தாலும் host kernel, storage, network மீது சார்ந்தவை. உங்கள் platform-க்கு supported image தேவை; emulation performance/support கணக்கை மாற்றும். Persistent data-ஐ volumes அல்லது external storage-இல் வைத்து container-க்கு வெளியே மீட்டுச் சோதிக்கவும். Reproducibility-க்கு versions/digests pin செய்யலாம்; updates திட்டமும் வேண்டும். Vulnerable image-ஐ நிரந்தரமாக வைத்திருப்பது நல்ல maintenance அல்ல.
Ubuntu release support, ஒவ்வொரு package-இன் coverage வேறு. Standard security maintenance, Ubuntu Pro, third-party repositories, binaries, container images ஆகியவற்றின் பொறுப்பாளர்களைப் பதிவு செய்யவும்.
Package updates மற்றும் release upgrade-ஐ வேறுபடுத்துங்கள்
Metadata புதுப்பித்து pending packages, failed services பார்க்கவும். கீழுள்ளவை distribution upgrade செய்வதில்லை:
apt list --upgradable
systemctl --failed
if [ -f /var/run/reboot-required ]; then cat /var/run/reboot-required; fiஉகந்த maintenance நேரத்தில் updates review/apply செய்து app checks மீண்டும் செய்யவும்; services restart ஆகலாம். Reboot marker இல்லாதது எல்லாம் current என்பதற்கு உறுதி அல்ல. Release upgrade-ஐ copy அல்லது புதிய machine-இல் சோதிக்கவும். Runtimes, repositories, database upgrades, extensions மீண்டும் பார்க்கவும். Final data sync மற்றும் புதிய writes-ஐக் காக்கும் rollback வழி தேவை; பழைய snapshot-இல் பின்னர் வந்த orders இருக்காது.
மீண்டும் உருவாக்கக்கூடிய பதிவை விடுங்கள்
சிறிய திரையில் எல்லா நெடுவரிசைகளையும் பார்க்க அட்டவணையைப் பக்கவாட்டில் நகர்த்துங்கள்.
| பதிவு | சேமிக்க வேண்டியது |
|---|---|
| Operating System | Release, architecture, kernel, image ID |
| App environment | Build, runtime, lockfiles, repositories |
| Provisioning | Secrets இல்லாத configuration, முடிவு |
| Acceptance tests | சோதித்த workflows, முடிவுகள், தீராத பிழைகள் |
| Maintenance | பொறுப்பாளர், update நேரம், alert recipient |
| Recovery | Backup இடம், நடைமுறை, கடைசி restore சோதனை |
Secrets தனியாக இருக்கட்டும்; மற்ற configuration-ஐ version control-இல் வைக்கவும். முக்கிய dependencies மாறினால் தனியே rebuild செய்யவும். Cloud பயிற்சிக்கு இலவச Ubuntu VPS அமைப்பு, வெளியீட்டிற்கு deployment வழிகாட்டி உதவும்.
கேள்வி பதில்கள்
Ubuntu 24.04 எப்போதும் சிறந்த தேர்வா?
இங்கு அது குறிப்பிட்ட எடுத்துக்காட்டு. உங்கள் stack, provider ஆதரிக்கும் release தேர்ந்தெடுத்து maintenance காலத்தைப் பதிவு செய்யுங்கள். புதிய/பழைய இரண்டிலும் app மாற்றங்கள் தேவைப்படலாம்.
Data இழக்காமல் image மாற்றலாமா?
Provider reinstall பொதுவாக disk-ஐ மாற்றும். அதன் முறையை அறிந்து data/configuration export செய்து recovery உறுதிசெய்யவும். Reinstall, in-place upgrade வேறு செயல்கள்.