Ubuntu ਵਰਜਨ ਅਤੇ ਆਰਕੀਟੈਕਚਰ ਦੀ ਜਾਂਚ ਕਰੋ
Ubuntu image ਮੰਗਵਾਉਣ ਤੋਂ ਪਹਿਲਾਂ release ਅਤੇ architecture ਆਪਣੀ ਐਪ ਨਾਲ ਮਿਲਾਓ। ਮਿਲੇ ਸਰਵਰ ਦੀ ਅਸਲ ਹਾਲਤ, package candidates ਅਤੇ ਕੰਮ ਕਰਨ ਵਾਲੇ workflows ਜਾਂਚੋ। Installation ਸਫਲ ਹੋਣਾ ਪੂਰੀ ਅਨੁਕੂਲਤਾ ਦਾ ਸਬੂਤ ਨਹੀਂ।
VPSuntu · ਅੱਪਡੇਟ: · ਲਗਭਗ 5 ਮਿੰਟ ਪੜ੍ਹਨ ਲਈ
ਗਾਈਡ ਦੀ ਸਮੱਗਰੀ
Provisioning ਤੋਂ ਪਹਿਲਾਂ image ਚੁਣੋ
ਐਪ, extensions, runtime, database, monitoring ਅਤੇ Backup agent ਲਈ ਸਮਰਥਿਤ releases ਅਤੇ architectures ਲਿਖੋ। Vendor support ਅਤੇ ਆਪਣੀ ਜਾਂਚ ਨੂੰ ਵੱਖ ਦਰਜ ਕਰੋ। Maintenance window ਅਤੇ ਲੋੜੀਂਦੇ region ਵਿੱਚ provider image ਦੀ ਉਪਲਬਧਤਾ ਮਿਲਾਓ।
Ubuntu 24.04 ਦੀ ਉਦਾਹਰਨ ਵਿੱਚ default Python 3.12, PHP 8.3 ਅਤੇ PostgreSQL 16 ਹਨ। Patch versions updates ਨਾਲ ਬਦਲਦੇ ਹਨ। ਪੁਰਾਣੇ major versions ਵਾਲੀ ਐਪ ਨੂੰ ਇਨ੍ਹਾਂ ਲਈ ਆਪਣੇ ਆਪ ਅਨੁਕੂਲ ਨਾ ਮੰਨੋ। LTS ਚੋਣ ਵੇਖੋ।
ਮਿਲੀ image ਦੀ ਪਛਾਣ ਕਰੋ
ਹੇਠਾਂ ਪੜ੍ਹਨ ਵਾਲੀਆਂ commands VPS ਦੇ ਅੰਦਰ ਚਲਾਓ ਅਤੇ ਨਤੀਜੇ deployment record ਵਿੱਚ ਰੱਖੋ।
cat /etc/os-release
uname -r
dpkg --print-architecture
uname -mਛੋਟੀ ਸਕ੍ਰੀਨ ਉੱਤੇ ਸਾਰੇ ਕਾਲਮ ਵੇਖਣ ਲਈ ਸਾਰਣੀ ਪਾਸੇ ਵੱਲ ਖਿਸਕਾਓ।
| ਨਤੀਜਾ | ਅਰਥ |
|---|---|
| /etc/os-release ਦਾ VERSION_ID | ਲੱਗੀ Ubuntu release, ਜਿਵੇਂ 24.04 |
| uname -r | ਇਸ ਵੇਲੇ ਚੱਲਦਾ kernel |
| dpkg ਦਾ amd64 ਅਤੇ uname ਦਾ x86_64 | 64-bit x86 ਦੇ package ਅਤੇ machine ਨਾਮ |
| dpkg ਦਾ arm64 ਅਤੇ uname ਦਾ aarch64 | 64-bit Arm ਦੇ ਨਾਮ |
Kernel string ਇਕੱਲੀ Ubuntu release ਜਾਂ package support ਨਹੀਂ ਦੱਸਦੀ। amd64 binary ਨੂੰ arm64 ਉੱਤੇ native ਚੱਲਣ ਵਾਲਾ ਨਾ ਮੰਨੋ; supported Arm build ਜਾਂ ਹੋਰ ਸਪਸ਼ਟ ਰਸਤਾ ਚਾਹੀਦਾ ਹੈ।
ਸ਼ੁਰੂਆਤੀ provisioning ਪੂਰੀ ਹੋਈ ਹੈ ਜਾਂ ਨਹੀਂ
ਕਈ images cloud-init ਨਾਲ accounts, keys ਅਤੇ network ਤਿਆਰ ਕਰਦੀਆਂ ਹਨ। ਪਹਿਲਾਂ ਉਸ ਦੀ ਮੌਜੂਦਗੀ ਵੇਖੋ; ਨਾ ਹੋਣਾ ਆਪਣੇ ਆਪ ਗ਼ਲਤੀ ਨਹੀਂ।
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 ਹੋਵੇ ਤਾਂ setup ਅਜੇ ਚੱਲ ਰਿਹਾ ਹੈ। Error ਜਾਂ degraded ਹਾਲਤ ਨੂੰ SSH ਚੱਲਣ ਦੇ ਬਾਵਜੂਦ ਜਾਂਚੋ। Cloud-init ਹੋਵੇ ਤਾਂ logs ਵੇਖੋ:
sudo tail -n 50 /var/log/cloud-init.log
sudo tail -n 50 /var/log/cloud-init-output.logLogs ਸਾਂਝੇ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ secrets ਹਟਾਓ। ਗ਼ਲਤੀ ਲੁਕਾਉਣ ਲਈ cloud-init clean ਜਾਂ network files ਦੀ ਤਬਦੀਲੀ ਨਾ ਕਰੋ। ਐਪ, database ਅਤੇ Backup ਵੱਖ ਜਾਂਚਣੇ ਹਨ।
ਲਗਾਉਣ ਤੋਂ ਪਹਿਲਾਂ package candidates ਵੇਖੋ
Metadata ਤਾਜ਼ਾ ਕਰਕੇ ਲੋੜੀਂਦੇ packages ਦੇ versions ਅਤੇ repositories ਵੇਖੋ। ਇਹ update command ਐਪ packages install ਨਹੀਂ ਕਰਦੀ।
sudo apt update
apt-cache policy python3 php postgresql
apt-cache policy python3.12 php8.3 postgresql-16Installed: (none) ਦਾ ਮਤਲਬ package ਨਹੀਂ ਲੱਗਿਆ; Candidate: (none) ਦਾ ਮਤਲਬ configured sources ਉਹ ਨਹੀਂ ਦਿੰਦੀਆਂ। ਪਹਿਲਾਂ ਨਾਮ, architecture ਅਤੇ Ubuntu components ਜਾਂਚੋ। ਅਣਜਾਣ repository ਤੁਰੰਤ ਨਾ ਜੋੜੋ।
php ਅਤੇ postgresql ਵਰਗੇ metapackages ਦੇ versioned packages ਵੀ ਵੇਖੋ। ਲੱਗੇ software ਦੇ executable ਜਾਂ ਚੱਲਦੇ service ਦਾ version ਜਾਂਚੋ; database client ਅਤੇ server ਵੱਖ versions ਹੋ ਸਕਦੇ ਹਨ।
ਅਨੁਕੂਲਤਾ ਦਾ ਫ਼ੈਸਲਾ ਉਦਾਹਰਨ ਨਾਲ ਕਰੋ
ਮੰਨੋ ਐਪ ਸਿਰਫ਼ Python 3.10 ਅਤੇ amd64 native extension ਵਰਤਦੀ ਹੈ। Default Ubuntu 24.04 arm64 ਦੋਹਾਂ ਸ਼ਰਤਾਂ ਉੱਤੇ ਫੇਲ੍ਹ ਹੈ। amd64 ਚੁਣਨ ਨਾਲ architecture ਠੀਕ ਹੁੰਦਾ ਹੈ, Python 3.12 ਆਪਣੇ ਆਪ 3.10 ਨਹੀਂ ਬਣਦਾ। Virtual environment ਵੀ ਉਸੇ interpreter ਉੱਤੇ ਬਣਦਾ ਹੈ; system Python ਨਾ ਬਦਲੋ।
ਐਪ upgrade ਕਰੋ ਜਾਂ ਵੱਖਰੇ maintained runtime/container ਦਾ supported ਰਸਤਾ ਚੁਣੋ। ਪੁਰਾਣੀ Ubuntu release ਦੀ maintenance ਵੀ ਜਾਂਚੋ। Staging ਵਿੱਚ extension, database operation, background job ਅਤੇ Backup/restore ਚਲਾਓ; ਸਿਰਫ਼ homepage request ਕਾਫ਼ੀ ਨਹੀਂ।
Containers ਅਤੇ ਹਰ ਪਰਤ ਦੀ ਦੇਖਭਾਲ
Container host kernel, storage ਅਤੇ network ਉੱਤੇ ਨਿਰਭਰ ਹੈ। Target platform ਲਈ supported image ਚੁਣੋ; emulation ਨੂੰ ਚੁੱਪਚਾਪ native build ਦੀ ਥਾਂ ਨਾ ਵਰਤੋ। Data ਨੂੰ documented volumes ਜਾਂ ਬਾਹਰੀ storage ਵਿੱਚ ਰੱਖ ਕੇ restore ਅਜ਼ਮਾਓ।
Reproducibility ਲਈ version/digest ਲਿਖੋ ਪਰ updates ਵੀ ਤੈਅ ਕਰੋ। Ubuntu release support, Main packages ਦੀ standard maintenance, Ubuntu Pro, third-party repositories ਅਤੇ container images ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਵੱਖ ਹੋ ਸਕਦੀ ਹੈ।
Package updates ਅਤੇ release upgrade ਵੱਖ ਰੱਖੋ
Pending packages ਅਤੇ failed services ਵੇਖੋ। ਇਹ commands distribution upgrade ਨਹੀਂ ਕਰਦੀਆਂ।
apt list --upgradable
systemctl --failed
if [ -f /var/run/reboot-required ]; then cat /var/run/reboot-required; fiMaintenance window ਵਿੱਚ updates ਲਗਾ ਕੇ ਐਪ ਮੁੜ ਜਾਂਚੋ; services restart ਹੋ ਸਕਦੀਆਂ ਹਨ। Reboot marker ਨਾ ਹੋਣਾ ਹਰ component ਦੇ ਤਾਜ਼ਾ ਹੋਣ ਦੀ ਗਾਰੰਟੀ ਨਹੀਂ।
Release upgrade ਪਹਿਲਾਂ copy ਜਾਂ ਨਵੀਂ machine ਉੱਤੇ ਅਜ਼ਮਾਓ। Runtime, repositories, database migration, extensions, final data sync ਅਤੇ ਵਾਪਸੀ ਦਾ ਰਸਤਾ ਤੈਅ ਕਰੋ। Upgrade ਤੋਂ ਪਹਿਲਾਂ ਦਾ snapshot ਬਾਅਦ ਦੇ orders ਨਹੀਂ ਰੱਖਦਾ।
ਦੁਹਰਾਈ ਜਾ ਸਕਣ ਵਾਲਾ record ਰੱਖੋ
ਛੋਟੀ ਸਕ੍ਰੀਨ ਉੱਤੇ ਸਾਰੇ ਕਾਲਮ ਵੇਖਣ ਲਈ ਸਾਰਣੀ ਪਾਸੇ ਵੱਲ ਖਿਸਕਾਓ।
| ਰਿਕਾਰਡ | ਕੀ ਸੰਭਾਲਣਾ ਹੈ |
|---|---|
| OS | Release, architecture, kernel ਅਤੇ image ID |
| ਐਪ | Build, runtime, lockfiles ਅਤੇ package sources |
| Provisioning | ਨਤੀਜਾ ਅਤੇ secrets ਤੋਂ ਬਿਨਾਂ configuration |
| ਜਾਂਚ | ਚਲਾਏ workflows ਅਤੇ ਬਾਕੀ ਗ਼ਲਤੀਆਂ |
| ਦੇਖਭਾਲ | Update owner, ਸਮਾਂ ਅਤੇ alert recipient |
| Recovery | Backup ਦੀ ਥਾਂ ਅਤੇ ਆਖਰੀ ਸਫਲ restore |
Secrets record ਤੋਂ ਬਾਹਰ ਰੱਖੋ। Cloud ਪ੍ਰਯੋਗ ਲਈ Oracle setup ਅਤੇ ਸਾਈਟ ਛਾਪਣ ਲਈ HTTPS ਗਾਈਡ ਵਰਤੋ।
ਸਵਾਲ ਜਵਾਬ
ਕੀ Ubuntu 24.04 ਹਮੇਸ਼ਾਂ ਸਭ ਤੋਂ ਠੀਕ image ਹੈ?
ਇਹ ਇੱਥੇ ਉਦਾਹਰਨ ਹੈ। ਪੂਰਾ stack ਅਤੇ provider ਜਿਸ supported release ਨੂੰ ਚਲਾਉਂਦੇ ਹਨ ਉਹ ਚੁਣੋ, ਉਸ ਦੀ ਬਾਕੀ maintenance window ਵੀ ਲਿਖੋ।
ਕੀ image ਬਦਲਣ ਨਾਲ data ਬਚ ਜਾਂਦਾ ਹੈ?
Provider reinstall ਆਮ ਤੌਰ ਉੱਤੇ disk ਬਦਲਦਾ ਹੈ। ਪਹਿਲਾਂ data/configuration export ਅਤੇ recovery ਦੀ ਜਾਂਚ ਕਰੋ। Reinstall ਅਤੇ in-place release upgrade ਵੱਖ ਹਨ।