do-release-upgrade: no new release found పరిష్కారం
Ubuntu సర్వర్లో no new release found ఎర్రర్ వస్తే ఏమి చేయాలో తెలుసుకోండి. Prompt సెట్టింగ్, LTS పాయింట్ రిలీజ్ గేట్, థర్డ్ పార్టీ రిపోజిటరీలు మరియు హోల్డ్ ప్యాకేజీలను సరిచేసే విధానం
do-release-upgrade ఎందుకు కొత్త release దొరకలేదని చెబుతుంది
do-release-upgrade తో ముగిసే No new release found. అనేది దాదాపు ఎప్పుడూ పాడైపోయిన సాధనం కాదు. మీరు అడిగిన మార్గం ఆ సమయంలో మూసివేయబడింది, మరియు ఆ సాధనం దానిని సాధ్యమైనంత క్లుప్తంగా తెలియజేస్తుంది. ఐదు కారణాలు దీనిని మూసివేస్తాయి: /etc/update-manager/release-upgrades లోని Prompt సెట్టింగ్, LTS (long term support) అప్గ్రేడ్లపై ఉండే పాయింట్ రిలీజ్ గేట్, థర్డ్ పార్టీ రిపోజిటరీలు, హోల్డ్ చేయబడిన లేదా సగం కాన్ఫిగర్ చేయబడిన ప్యాకేజీలు, మరియు సపోర్ట్ ముగిసిన రిలీజ్.
వాటిని ఆ క్రమంలోనే పరిశీలించండి. ప్రతి దానికి మీ సర్వర్కు అది వర్తిస్తుందో లేదో నిరూపించే ఒక కమాండ్ ఉంది, కాబట్టి మీరు ఈ ఐదింటిలో దేనిని చూస్తున్నారో ఊహించాల్సిన అవసరం లేదు.
check-only ఫ్లాగ్ వాస్తవానికి ఏమి తెలియజేస్తుంది
sudo do-release-upgrade -c
echo $?-c అనేది కేవలం తనిఖీ చేయడానికి మాత్రమే (check only). ఇది Canonical యొక్క release metadata ను HTTPS (hypertext transfer protocol secure) ద్వారా చదివి, సమాధానాన్ని ప్రింట్ చేస్తుంది. ఇది ఎటువంటి upgrade tool ను డౌన్లోడ్ చేయదు మరియు ఎటువంటి source file ను తిరిగి రాయదు. రెండు రకాల అవుట్పుట్లు ముఖ్యమైనవి:
Checking for a new Ubuntu release
No new release found.Checking for a new Ubuntu release
New release '26.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.స్క్రిప్ట్ల కోసం exit code అదే సమాధానాన్ని కలిగి ఉంటుంది. ఒక release అందుబాటులో ఉన్నప్పుడు ఇది 0 గా ఉంటుంది మరియు ఏదీ లేనప్పుడు 1 గా ఉంటుంది. ఇది సాధారణ shell సంప్రదాయానికి విరుద్ధంగా ఉంటుంది, కాబట్టి దీని చుట్టూ ఏదైనా స్క్రిప్ట్ నిర్మించే ముందు జాగ్రత్తగా గమనించండి.
మీ login banner ఇప్పటికీ పాత సమాధానాన్నే చూపిస్తుంటే, అది cache చేయబడినది అని అర్థం. ఆ లైన్ /etc/update-motd.d/91-release-upgrade నుండి వస్తుంది, ఇది నెట్వర్క్ను అడగడానికి బదులుగా నిల్వ ఉన్న ఫలితాన్ని ప్రింట్ చేస్తుంది. దీన్ని sudo /usr/lib/ubuntu-release-upgrader/release-upgrade-motd తో రిఫ్రెష్ చేయండి, లేదా కేవలం -c ని నమ్మండి. ఆ banner చివరిగా జరిగిన తనిఖీ ఫలితాన్ని మాత్రమే మళ్ళీ చూపిస్తుంది.
ఈ తనిఖీకి changelogs.ubuntu.com ని చేరుకోవడం కూడా అవసరం. కఠినమైన outbound firewall లేదా proxy వెనుక ఉన్న సర్వర్లో ఈ tool అడగలేదు, కాబట్టి అది దేనినీ కనుగొనలేదు.
curl -sI https://changelogs.ubuntu.com/meta-release-lts | head -n 1HTTP/2 200 లైన్ అంటే సర్వర్ metadata ను చూడగలదని అర్థం. curl: (28) Connection timed out అంటే మీ egress నియమాలే అసలు కారణమని అర్థం, మరియు APT (advanced package tool) ఫైళ్లను ఎంత ఎడిట్ చేసినా సమాధానం మారదు.
ఒకవేళ ఈ కమాండ్ పూర్తిగా లేకపోతే, అది ubuntu-release-upgrader-core లో ఉంటుంది. Minimal cloud images కొన్నిసార్లు ఆ ప్యాకేజీని వదిలివేస్తాయి.
sudo apt install ubuntu-release-upgrader-coreఏదైనా మార్చే ముందు /etc/update-manager/release-upgrades ఫైల్ను చదవండి
cat /etc/update-manager/release-upgrades[DEFAULT]
Prompt=ltsఈ ఫైల్లో దాని స్వంత డాక్యుమెంటేషన్ వ్యాఖ్యల రూపంలో ఉంటుంది. ఇందులో మూడు విలువలు చెల్లుబాటు అవుతాయి:
never: కొత్త release కోసం ఎప్పుడూ తనిఖీ చేయదు మరియు అనుమతించదు.normal: ప్రస్తుతం నడుస్తున్న release తర్వాత వెంటనే వచ్చే మద్దతు ఉన్న release ను సూచిస్తుంది.lts: ప్రస్తుతం నడుస్తున్న release తర్వాత వచ్చే మొదటి LTS release ను సూచిస్తుంది.
Prompt=never ఈ మూడింటిలో సులభంగా నిర్ధారించదగినది, ఎందుకంటే ఈ టూల్ తన అవుట్పుట్లో ఫైల్ పేరును మరియు సెట్టింగ్ను రెండింటినీ పేర్కొంటుంది:
Checking for a new Ubuntu release
In /etc/update-manager/release-upgrades Prompt is set to never so upgrading is not possible.హోస్టింగ్ ప్రొవైడర్లు మరియు కాన్ఫిగరేషన్ మేనేజ్మెంట్ టూల్స్ never ను ఉద్దేశపూర్వకంగా సెట్ చేస్తాయి, దీనివల్ల సర్వర్ల సమూహం వేర్వేరు release ల మధ్య మారకుండా ఉంటుంది. ఒకవేళ మీరు అక్కడ దీన్ని గమనిస్తే, ఎవరో దీన్ని ఎంచుకున్నారని అర్థం. మీరు దీర్ఘకాలిక మద్దతు (LTS) ట్రాక్లో ఉండాలనుకునే సర్వర్ కోసం దీన్ని lts కి మార్చండి, ఒకవేళ మీ ఆటోమేషన్ పాత విలువను ఆశిస్తుంటే పని పూర్తయ్యాక తిరిగి మార్చండి.
ఆ వ్యాఖ్యలలోని ఒక చిన్న విషయం చాలామందిని అయోమయానికి గురి చేస్తుంది. Prompt=lts సెట్ చేయబడినప్పుడు మరియు ప్రస్తుతం నడుస్తున్న release స్వయంగా LTS release కానప్పుడు, అప్గ్రేడర్ ఆ సెట్టింగ్ను normal గా పరిగణిస్తుంది. 25.10 మెషీన్పై ఈ రెండు విలువలు ఒకేలా పనిచేస్తాయి. కానీ 24.04 మెషీన్పై అలా జరగదు, ఆ వ్యత్యాసమే తదుపరి విభాగం మొత్తం.
LTS నుంచి LTS కి అప్గ్రేడ్ మొదటి పాయింట్ రిలీజ్ వరకు ఎందుకు వేచి ఉంటుంది
Prompt అప్గ్రేడర్ ఏ మెటాడేటా ఫైల్ను చదవాలో నిర్ణయిస్తుంది. ఈ చిరునామాలు /etc/update-manager/meta-release లో ఉంటాయి:
[METARELEASE]
URI = https://changelogs.ubuntu.com/meta-release
URI_LTS = https://changelogs.ubuntu.com/meta-release-lts
URI_UNSTABLE_POSTFIX = -development
URI_PROPOSED_POSTFIX = -proposedPrompt=lts, meta-release-lts ని చదువుతుంది. Prompt=normal, meta-release ని చదువుతుంది. ఈ రెండు ఫైళ్లు ప్రతి రిలీజ్ వివరాలను చిన్న కీ బ్లాక్లలో వివరిస్తాయి. అప్గ్రేడర్ ఒక రిలీజ్ను అప్పుడు మాత్రమే చూపిస్తుంది, ఎప్పుడైతే దాని Supported: ఫ్లాగ్ 1 గా ఉంటుందో. వీటిని మీరు కూడా అదే సర్వర్ నుండి ఇలా చూడవచ్చు:
curl -s https://changelogs.ubuntu.com/meta-release-lts | grep -A 4 resolute
curl -s https://changelogs.ubuntu.com/meta-release | grep -A 4 resolute13 ఆగస్టు 2026న పరిశీలించినప్పుడు, Ubuntu 26.04 విషయంలో ఈ రెండు ఫైళ్లు భిన్నంగా ఉన్నాయి. LTS ఫైల్ ఇలా చెబుతోంది:
Dist: resolute
Name: Resolute Raccoon
Version: 26.04 LTS
Date: Thu, 23 April 2026 00:26:04 UTC
Supported: 0సాధారణ ఫైల్ ఇలా చెబుతోంది:
Dist: resolute
Name: Resolute Raccoon
Version: 26.04 LTS
Date: Thu, 23 April 2026 00:26:04 UTC
Supported: 1LTS ఫైల్లోని ఆ Supported: 0 అనేది ఒక గేటు వంటిది. డిఫాల్ట్ Prompt=lts ఉపయోగిస్తున్న 24.04 సర్వర్ ఆ ఫైల్ను చదివినప్పుడు, అందుబాటులో ఉన్న కొత్త LTS రిలీజ్ ఏదీ కనిపించదు, కాబట్టి అది No new release found. అని చూపిస్తుంది. మీ మెషీన్లో ఏ సమస్య లేదు. Canonical ఇంకా ఆ మార్గాన్ని తెరవలేదు.
మొదటి పాయింట్ రిలీజ్ విడుదలైనప్పుడు ఈ ఫ్లాగ్ 1 కి మారుతుంది. Ubuntu 26.04.1 ఆగస్టు 27, 2026కి షెడ్యూల్ చేయబడింది, అయితే రిలీజ్ షెడ్యూల్లు మారవచ్చు, కాబట్టి క్యాలెండర్ను నమ్మకుండా మెటాడేటాను తనిఖీ చేయండి. ఈ జాప్యం ఉద్దేశపూర్వకమైనది: ముందుగా అప్గ్రేడ్ చేసేవారు సమస్యలను గుర్తిస్తారు, ఆ సమస్యలు పరిష్కరించబడిన తర్వాతే ఎక్కువ సంఖ్యలో ఉన్న LTS సర్వర్లు అప్గ్రేడ్ అవుతాయి.
దీనికి రెండు సరైన మార్గాలు ఉన్నాయి. పాయింట్ రిలీజ్ కోసం వేచి ఉండటం మొదటిది, మీరు నిరంతరం పర్యవేక్షించకూడదనుకునే సర్వర్లకు ఇది సరైన నిర్ణయం. లేదా Prompt=normal ని సెట్ చేయడం రెండో మార్గం, ఇది అదే టూల్ను meta-release కి మళ్లిస్తుంది, అక్కడ 26.04 ఇప్పటికే సపోర్ట్ చేయబడినట్లుగా ఉంది. ఈ రెండో మార్గం మిమ్మల్ని డెవలప్మెంట్ బిల్డ్కు కాకుండా, విడుదలైన 26.04 కి అప్గ్రేడ్ చేస్తుంది, కాబట్టి స్నాప్షాట్ నుండి పునరుద్ధరించగల మెషీన్పై ఇది సమర్థనీయమే. పని పూర్తయిన తర్వాత ఆ విలువను తిరిగి lts కి మార్చండి. ఈ ప్రక్రియకు సంబంధించిన పూర్తి వివరాలు 24.04 నుండి 26.04 సర్వర్ అప్గ్రేడ్ పూర్తి గైడ్ లో ఉన్నాయి.
అప్గ్రేడ్ను నిరోధించే థర్డ్ పార్టీ రిపోజిటరీలు మరియు PPAలు
అప్గ్రేడర్ మీ APT సోర్స్లను కొత్త రిలీజ్ వైపు మళ్లించేలా తిరిగి రాస్తుంది. ఇది కొత్త రిలీజ్ కోసం ప్రచురించబడిన రిపోజిటరీలకు మాత్రమే పనిచేస్తుంది, కాబట్టి మిగిలిన వాటిని కామెంట్ అవుట్ చేస్తుంది. దీనికి గల కారణాలు ప్రతి ఎంట్రీకి ఒక లైన్ చొప్పున ముద్రించబడతాయి మరియు అవి చాలా నిర్దిష్టమైనవి: was disabled (unknown mirror), was disabled (unknown dist), మరియు was disabled (no Release file).
noble కోసం రూపొందించిన ఒక PPA (personal package archive), సర్వర్లో resolute కోసం ఎటువంటి డైరెక్టరీని కలిగి ఉండదు. కాబట్టి అప్గ్రేడర్ కొత్త సిరీస్ కోసం Release ఫైల్ను పొందలేదు మరియు ఆ ఎంట్రీని డిసేబుల్ చేస్తుంది. ఇది సాధారణంగా మీరు అంగీకరించదగ్గ హెచ్చరిక. అయితే, ఒక థర్డ్ పార్టీ రిపోజిటరీ కొత్త రిలీజ్లో కూడా ఉన్న ప్యాకేజీని అందిస్తున్నప్పుడు ఇది అప్గ్రేడ్ను నిలిపివేస్తుంది. ఎందుకంటే అప్గ్రేడ్ గణనలో రెండు అభ్యర్థులు ఉంటారు మరియు రెండింటినీ సంతృప్తిపరిచే మార్గం ఉండదు.
సుదీర్ఘమైన అప్గ్రేడ్ ప్రక్రియ జరుగుతున్నప్పుడు టూల్ నిర్ణయం తీసుకునేలా వదిలేయకుండా, మీరు ప్రారంభించే ముందే దీనిపై నిర్ణయం తీసుకోండి.
ls /etc/apt/sources.list.d/
apt policy nginx
sudo add-apt-repository --remove ppa:example/ppaఒక ప్యాకేజీ పేరుపై apt policy వాడటం ద్వారా, ఇన్స్టాల్ చేసిన ప్రతి వెర్షన్ ఏ రిపోజిటరీ నుండి వచ్చిందో తెలుస్తుంది. దీనివల్ల మీరు డిసేబుల్ చేయబోయే సోర్స్పై ఏ ప్యాకేజీలు ఆధారపడి ఉన్నాయో ఖచ్చితంగా చూడవచ్చు. సోర్స్ను తొలగించడం వల్ల ఏదీ డౌన్గ్రేడ్ అవ్వదు, కాబట్టి PPA నుండి ఇన్స్టాల్ చేసిన ప్యాకేజీ దాని PPA వెర్షన్లోనే ఉంటుంది మరియు అది కొత్త రిలీజ్ కంటే కొత్తదిగా ఉండవచ్చు. ఇది సమస్యగా మారినప్పుడు, ఆ ప్యాకేజీని కూడా తొలగించి, అప్గ్రేడ్ తర్వాత ఆర్కైవ్ నుండి తిరిగి ఇన్స్టాల్ చేయండి. Tailscale వంటి మీరు తిరిగి తీసుకురావాలనుకుంటున్న రిపోజిటరీకి, ప్యాకేజీ మళ్లీ ఇన్స్టాల్ అవ్వాలంటే దాని కోడ్నేమ్ను కొత్త రిలీజ్కు అప్డేట్ చేయాలి. Ubuntuలో వచ్చే చాలా Tailscale ఇన్స్టాల్ లోపాలు దీనివల్లనే వస్తాయి.
దీనికి విరుద్ధమైన ఎంపిక కోసం ఒక ఫ్లాగ్ ఉంది. మాన్యువల్ పేజీ --allow-third-party గురించి ఇలా వివరిస్తుంది: "థర్డ్ పార్టీ మిర్రర్లు మరియు రిపోజిటరీలను కామెంట్ అవుట్ చేయకుండా, వాటిని ఎనేబుల్ చేసి అప్గ్రేడ్ ప్రయత్నించండి." ఆ రిపోజిటరీ ఇప్పటికే టార్గెట్ రిలీజ్ కోసం ప్రచురించబడిందని మీరు నిర్ధారించుకున్నప్పుడు మాత్రమే దీనిని ఉపయోగించండి. ఒకవేళ అది లేకపోతే, ఆ రిపోజిటరీ ఎప్పుడూ బిల్డ్ చేయని సిరీస్కు వ్యతిరేకంగా డిపెండెన్సీ గ్రాఫ్ను పరిష్కరించమని మీరు APTని కోరినట్లు అవుతుంది.
Ubuntu 24.04 మరియు ఆ తర్వాత వెర్షన్లలో, చాలా సోర్స్లు /etc/apt/sources.list.d/ubuntu.sources లో deb822 ఫార్మాట్లో ఉంటాయి. పాత మరియు కొత్త ఫార్మాట్లలో ఒకే రిపోజిటరీని కలిగి ఉండటం ఒక ప్రత్యేక లోపం. దీనికి సంబంధించిన సందేశం మరియు వివరాలు deb822 ఫార్మాట్లో డూప్లికేట్ సోర్స్ ఎంట్రీ లోపంలో ఉన్నాయి.
Held మరియు సగం కాన్ఫిగర్ అయిన ప్యాకేజీలు లెక్కింపును నిలిపివేస్తాయి
ఒక release upgrade సిస్టమ్లోని దాదాపు ప్రతి ప్యాకేజీని మార్చాల్సి ఉంటుంది. ఒక ప్యాకేజీని మార్చడం సాధ్యం కాకపోతే, లెక్కింపు విఫలమవుతుంది. మిమ్మల్ని సగం దారిలో వదిలేయడం కంటే, upgrader ముందుగానే ఆగిపోవడానికి ఇష్టపడుతుంది. కారణాన్ని కనుగొనడానికి రెండు కమాండ్లు ఉన్నాయి.
apt-mark showhold
sudo dpkg --auditapt-mark showhold కమాండ్ held ప్యాకేజీలను ఒక్కో లైనుకు ఒకటి చొప్పున ప్రింట్ చేస్తుంది. సిస్టమ్ క్లీన్గా ఉంటే, ఇది ఏమీ ప్రింట్ చేయదు. ఒక ప్యాకేజీని మార్చవద్దని ఇచ్చే మాన్యువల్ సూచనను 'hold' అంటారు. ఎవరైనా ఒక kernel ను లేదా database వెర్షన్ను lock చేసి, ఆ విషయాన్ని మర్చిపోయి ఉండవచ్చు. మీకు అవసరం లేని వాటిని sudo apt-mark unhold మరియు ప్యాకేజీ పేరును ఉపయోగించి release చేయండి.
dpkg --audit కమాండ్ అన్ప్యాక్ అయ్యి, కాన్ఫిగర్ కాని ప్యాకేజీలను జాబితా చేస్తుంది. ఇన్స్టాలేషన్ మధ్యలో ఆగిపోయినప్పుడు, ముఖ్యంగా సెషన్ డిస్కనెక్ట్ అయినప్పుడు ఈ పరిస్థితి ఏర్పడుతుంది. Upgrader దీన్ని సరిచేయడానికి ప్రయత్నించి dpkg interrupted, calling dpkg --configure -a అని ప్రింట్ చేస్తుంది. కానీ, మీరే స్వయంగా repair రన్ చేస్తే, error message వేగంగా వెళ్ళిపోకుండా మీరు చదవడానికి వీలవుతుంది. టూల్ సరిచేయలేని ప్యాకేజీ Package in inconsistent state అనే సందేశాన్ని ఇస్తుంది. మీరు మళ్ళీ ప్రయత్నించే ముందు ఆ ప్యాకేజీని సరిచేయాలి.
అప్గ్రేడ్ చేసే ముందు రన్ అవుతున్న release ను పూర్తిగా అప్డేట్ చేయండి.
sudo apt update
sudo apt full-upgrade -o APT::Get::Always-Include-Phased-Updates=true
sudo apt --fix-broken install
sudo dpkg --configure -a
sudo rebootPhased updates ఆప్షన్ కనిపించే దానికంటే చాలా ముఖ్యమైనది. Ubuntu కొన్ని అప్డేట్లను ఒకేసారి కాకుండా, కొంత శాతం మెషీన్లకు మాత్రమే విడుదల చేస్తుంది. కాబట్టి, సాధారణ apt upgrade కమాండ్ కొన్ని ప్యాకేజీలను వదిలేయవచ్చు. అప్పుడు మీ సర్వర్ మీరు అనుకున్నంత అప్డేట్గా ఉండదు. ఆ ఆప్షన్ వాడితే అన్ని అప్డేట్లు వస్తాయి. ఒకవేళ kernel అప్డేట్ అయితే, ఆ తర్వాత రీబూట్ చేయండి. అప్పుడే మీరు ప్రస్తుతం రన్ చేస్తున్న kernel నుండే అప్గ్రేడ్ అవుతారు. unattended security upgrades ద్వారా ఇప్పటికే ప్యాచ్ అవుతున్న సర్వర్కు ఇక్కడ తక్కువ పని ఉంటుంది, అయితే ఆ మెకానిజం డిజైన్ ప్రకారం ఎప్పుడూ release సరిహద్దులను దాటదు.
స్టాండర్డ్ సపోర్ట్ గడువు ముగిసిన తర్వాత
ఒక interim Ubuntu release తొమ్మిది నెలల పాటు సపోర్ట్ చేయబడుతుంది. ఆ సపోర్ట్ ముగిసినప్పుడు దాని Supported: ఫ్లాగ్ 0 కి మారుతుంది, మరియు సాధారణ మార్గంలో దీని నుండి ఎటువంటి అప్గ్రేడ్ లభించదు. 13 August 2026 న తనిఖీ చేసినప్పుడు, 25.10 గురించి meta-release ఇలా చెబుతోంది:
Dist: questing
Name: Questing Quokka
Version: 25.10
Date: Thu, 09 October 2025 00:25:10 UTC
Supported: 0అదే సమయంలో ఆర్కైవ్ కూడా మారుతుంది. ఎండ్ ఆఫ్ లైఫ్ (EOL) కి చేరుకున్న release కోసం ప్యాకేజీలు archive.ubuntu.com నుండి తొలగించబడి, old-releases.ubuntu.com లో ఉంచబడతాయి. కాబట్టి apt update అనేది 404 Not Found ని రిటర్న్ చేయడం ప్రారంభిస్తుంది, సిస్టమ్ను ఇకపై అప్డేట్ చేయలేము. అప్గ్రేడర్ సిస్టమ్ కరెంట్ వెర్షన్లో ఉండాలని కోరుకుంటుంది కాబట్టి, ఏ ప్రక్రియ ముందుకు సాగదు. ముందుగా సోర్సెస్ (sources) సరిచేయండి.
lsb_release -cs
grep -rn ubuntu.com /etc/apt/sources.list /etc/apt/sources.list.d/archive.ubuntu.com మరియు security.ubuntu.com రెండింటినీ old-releases.ubuntu.com కి పాయింట్ చేయండి, మీ కోడ్నేమ్ను మార్చవద్దు. కేవలం హోస్ట్ నేమ్ మాత్రమే మారుతుంది.
sudo sed -i.bak -e 's/archive.ubuntu.com/old-releases.ubuntu.com/g' \
-e 's/security.ubuntu.com/old-releases.ubuntu.com/g' \
/etc/apt/sources.list.d/ubuntu.sources
sudo apt updateఒకవేళ మీ సర్వర్ సోర్సెస్ ఇంకా ఒకే ఫైల్లో ఉంటే, /etc/apt/sources.list కి వ్యతిరేకంగా అదే కమాండ్ను రన్ చేయండి. -i.bak ఆప్షన్ ఒరిజినల్ ఫైల్ పక్కనే బ్యాకప్ను సేవ్ చేస్తుంది, కాబట్టి మీరు పొరపాటున తప్పు ఫైల్ను ఎడిట్ చేస్తే తిరిగి పునరుద్ధరించవచ్చు. ఆ తర్వాత ఒక క్లీన్ apt update చేస్తే ఆర్కైవ్ మళ్ళీ అందుబాటులోకి వస్తుంది, మరియు do-release-upgrade ఇప్పుడు మీతో కమ్యూనికేట్ అవుతుంది.
ఇది మిమ్మల్ని ఎంతవరకు తీసుకెళ్తుందో వాస్తవికంగా ఆలోచించండి. Ubuntu ఒక సమయంలో ఒక release స్టెప్ను మాత్రమే సపోర్ట్ చేస్తుంది, కాబట్టి రెండు లేదా మూడు పాత release లలో ఉన్న సర్వర్కు ప్రతి స్టెప్ క్రమపద్ధతిలో అవసరం. ప్రతి స్టెప్ వద్ద థర్డ్ పార్టీ రిపోజిటరీ లేదా హోల్డ్ చేయబడిన ప్యాకేజీల వల్ల సమస్యలు రావచ్చు. VPS లో అయితే, ప్రస్తుత LTS వెర్షన్తో కొత్త సర్వర్ను నిర్మించి, సేవలను అక్కడికి మార్చడం మరియు పాత సర్వర్ను కొంతకాలం ఉంచడం వేగవంతమైన పద్ధతి. ఇది మీకు రోల్బ్యాక్ (rollback) సౌకర్యాన్ని కూడా ఇస్తుంది, ఇది ఇన్-ప్లేస్ అప్గ్రేడ్లో సాధ్యం కాదు. అప్గ్రేడ్ తర్వాత ఏ ట్రాక్లో ఉండాలో నిర్ణయించుకునే ముందు, సర్వర్లో LTS మరియు interim release ల మధ్య తేడాలు గురించి చదవడం మంచిది.
development release ఫ్లాగ్ వాస్తవానికి ఏమి చేస్తుంది
-d, లేదా --devel-release, అప్గ్రేడర్ను Prompt ఎంచుకున్న ఫైల్కు బదులుగా meta-release-developmentని చదివేలా చేస్తుంది. మాన్యువల్ పేజీ దీనిని ఇలా వివరిస్తుంది: "చివరిగా మద్దతు ఉన్న విడుదల వాడుతుంటే, డెవలప్మెంట్ విడుదలకు అప్గ్రేడ్ చేయండి."
13 ఆగస్టు 2026న తనిఖీ చేసినప్పుడు, ఆ ఫైల్లోని సరికొత్త ఎంట్రీ 26.04 కాదు:
Dist: stonking
Name: Stonking Stingray
Version: 26.10
Date: Thu, 15 October 2026 00:26:10 UTC
Supported: 0కాబట్టి -d అనేది 24.04 సర్వర్కు విడుదలైన 26.04ని అందించదు. ఇది ఇంకా తయారీలో ఉన్న 26.10 విడుదలను లక్ష్యంగా చేసుకుంటుంది. "కేవలం -dని జోడించండి" అనే పాత సలహా LTS విడుదల కావడానికి ముందు ఉన్న సమయం కోసం రాసినది. ఇప్పుడు దానిని మళ్ళీ వాడటం వల్ల మీ సర్వర్ మీరు ఉద్దేశించని చోటికి వెళ్తుంది. Prompt=lts అలాగే ఉన్నప్పుడు, ఈ ఫ్లాగ్ తన సొంత సందేశంతో ఆగిపోతుంది:
There is no development version of an LTS available.Ubuntu సర్వర్ డాక్యుమెంటేషన్ ఈ ఫ్లాగ్ గురించి నేరుగా ఇలా చెబుతోంది: "డెవలప్మెంట్ విడుదలను (లేదా -d ఫ్లాగ్ను) ప్రొడక్షన్ పరిసరాలలో వాడటం సిఫార్సు చేయబడదు". డెవలప్మెంట్ విడుదల ప్రతిరోజూ మారుతూ ఉంటుంది మరియు దీనికి ఎటువంటి భద్రతా హామీ ఉండదు. కాబట్టి ఉదయం పనిచేసే ప్యాకేజీ మధ్యాహ్నానికి సేవను నిలిపివేయవచ్చు. దీనిని మీ కాన్ఫిగరేషన్ను పరీక్షించడానికి నిర్మించిన ఒక తాత్కాలిక వర్చువల్ మెషీన్లో మాత్రమే వాడండి. ఎవరైనా ఆధారపడే సర్వర్పై దీనిని వాడవద్దు. LTS గేట్ తెరవకముందే విడుదలైన 26.04 కావాలనుకున్నప్పుడు, Prompt=normal సరైన మార్గం.
SSH సెషన్ కట్ అయినా అప్గ్రేడ్ ఆగకుండా ఉండేలా చేయడం
ఒక రిలీజ్ అప్గ్రేడ్, openssh-server మరియు systemd తో సహా సిస్టమ్లోని చాలా భాగాలను భర్తీ చేస్తుంది. tmux attach -t upgrade పని చేస్తున్నప్పుడు మీ SSH (secure shell) సెషన్ కట్ అయితే, ప్రాసెస్ ఆగిపోయి ప్యాకేజీలు అన్ప్యాక్ చేయబడిన లేదా కాన్ఫిగర్ చేయని స్థితిలో ఉండిపోతాయి; ఇదే తదుపరి ప్రయత్నాన్ని అడ్డుకుంటుంది. కాబట్టి ప్రతిసారీ టెర్మినల్ మల్టీప్లెక్సర్ లోపలే అప్గ్రేడ్ను ప్రారంభించండి.
sudo apt install -y tmux
tmux new -s upgrade
sudo do-release-upgradeఒకవేళ కనెక్షన్ కట్ అయితే, మళ్ళీ లాగిన్ అయ్యి tmux attach -t upgrade రన్ చేయండి. అప్గ్రేడ్ మీ SSH సెషన్కు బదులుగా tmux సర్వర్కు అనుబంధంగా ఉంటుంది కాబట్టి, అది రన్ అవుతూనే ఉంటుంది. మీరు screen వాడాలనుకుంటే screen -S upgrade మరియు screen -r upgrade కూడా అదే పనిని చేస్తాయి.
మల్టీప్లెక్సర్ వాడని వారి కోసం అప్గ్రేడర్ తన సొంత భద్రతా వ్యవస్థను కలిగి ఉంటుంది. ఇది SSH లో రన్ అవుతున్నట్లు గుర్తిస్తే, పోర్ట్ 1022 పై రెండవ sshd ను ప్రారంభించమని అడుగుతుంది, తద్వారా మెయిన్ సెషన్ కట్ అయినా సర్వర్లోకి ప్రవేశించడానికి ఒక మార్గం ఉంటుంది. ఇది తన పేరెంట్ ప్రాసెస్లను పరిశీలించి sshd అనే పేరుతో ఉన్నవాటిని వెతుకుతుంది. tmux లేదా screen లోపల ఈ వెతుకులాట మల్టీప్లెక్సర్ సర్వర్ను కనుగొంటుంది, కాబట్టి ఆ ఆఫర్ కనిపించదు. అదనపు డెమోన్ నిజంగా ప్రారంభమైనప్పుడు మాత్రమే /var/run/release-upgrader-sshd.pid అనే pid ఫైల్ రాయబడుతుంది. ఆ ప్రాంప్ట్ మీకు కనిపించకపోతే ఏమీ తప్పు జరగలేదని అర్థం; మీకు ఇప్పటికే అంతకంటే మెరుగైన రక్షణ ఉంది.
ఒకవేళ మీరు ఆ ఆఫర్ను అంగీకరిస్తే, పోర్ట్ మీ కోసం ఆటోమేటిక్గా ఓపెన్ అవ్వదు. పోర్ట్ ఓపెన్ చేయడం అనేది భద్రతకు సంబంధించిన నిర్ణయం కాబట్టి, అది మీ తరపున ఆ పని చేయదు అని టూల్ స్పష్టంగా చెబుతుంది. అప్గ్రేడ్ పూర్తయ్యే వరకు ఆ పోర్ట్ను ఓపెన్ చేసి, ఆ తర్వాత మళ్ళీ క్లోజ్ చేయండి.
sudo ufw allow 1022/tcp
sudo ufw delete allow 1022/tcpచాలా VPS ప్రొవైడర్లు ఆపరేటింగ్ సిస్టమ్ వెలుపల, వారి కంట్రోల్ ప్యానెల్లో రెండవ ఫైర్వాల్ను నిర్వహిస్తారు. అక్కడ కూడా పోర్ట్ 1022 ఓపెన్ చేసి ఉండాలి, లేకపోతే ఫాల్బ్యాక్ లిజనర్ రన్ అవుతున్నా అది అందుబాటులోకి రాదు, ఇది రెండింటిలోనూ చెత్త పరిస్థితి.
కమాండ్ టైప్ చేసే ముందు ఈ నాలుగు విషయాలను నిర్ధారించుకోండి:
- స్నాప్షాట్ తీసుకోండి లేదా పూర్తి బ్యాకప్ చేయండి. ఇన్-ప్లేస్ రిలీజ్ అప్గ్రేడ్ను వెనక్కి తీసుకోలేము (undo), ఇదే మీకు ఉన్న ఏకైక అవకాశం.
- అవసరానికి ముందే మీ ప్రొవైడర్ కన్సోల్ను ఓపెన్ చేయగలరో లేదో సరిచూసుకోండి. రీబూట్ తర్వాత సర్వర్ తిరిగి రాకపోతే, SSH ద్వారా కనెక్ట్ అవ్వడం సాధ్యం కాదు. బూట్ అవ్వని కెర్నల్ అనేది వేరే సమస్య, దీనికి సంబంధించిన రికవరీ దశలు a VPS that will not boot after a kernel update లో ఉన్నాయి.
df -h / /bootతో ఖాళీ స్థలాన్ని తనిఖీ చేయండి. అప్గ్రేడ్ పూర్తి ప్యాకేజీలను డౌన్లోడ్ చేస్తుంది, పాత కెర్నల్స్ ఉన్న/bootపార్టిషన్ నిండిపోవడం వల్ల అప్గ్రేడ్ ఆగిపోయే అవకాశం ఉంది.- మీరు రన్ చేసే సేవల కోసం రిలీజ్ నోట్స్ను చదవండి. మీరు ప్లాన్ చేసినా చేయకపోయినా, PostgreSQL లేదా PHP లోని మేజర్ వెర్షన్ మార్పులు ఈ రిలీజ్తో పాటు వస్తాయి.
FAQ
Why does do-release-upgrade say no new release found on Ubuntu 24.04?
The default Prompt=lts in /etc/update-manager/release-upgrades makes the tool read https://changelogs.ubuntu.com/meta-release-lts, and Ubuntu 26.04 carries Supported: 0 in that file until its first point release. The upgrader finds no newer LTS release marked available, so it stops. Check the file yourself with curl -s https://changelogs.ubuntu.com/meta-release-lts and read the last block. Checked on 13 August 2026 the flag was still 0, with Ubuntu 26.04.1 scheduled for 27 August 2026.
Is it safe to set Prompt=normal instead of waiting for the point release?
It upgrades you to the released 26.04, not to a development build, because Prompt=normal reads meta-release, where 26.04 already carries Supported: 1. The timing is the risk. You are going before the blockers found by early upgraders have been fixed. Do it on a server you can restore from a snapshot, and where you can reach the provider console if the reboot goes wrong. Set the value back to lts afterwards.
Does the -d flag upgrade me to 26.04?
No. -d reads meta-release-development, whose newest entry on 13 August 2026 was Ubuntu 26.10, a release still in development. On an LTS machine with Prompt=lts the flag prints There is no development version of an LTS available. and stops. Ubuntu's own server documentation says the development release is not recommended for production, so use Prompt=normal when you want a released 26.04 early.
apt update returns 404 errors on an old release. How do I upgrade it?
That release has reached end of life, so its packages were moved from archive.ubuntu.com to old-releases.ubuntu.com. Change only the host names in /etc/apt/sources.list.d/ubuntu.sources, or in /etc/apt/sources.list on older layouts, and keep your codename as it is. Then run sudo apt update and sudo apt full-upgrade. Once the system is current again, do-release-upgrade can move it forward one release at a time.
Do I need to remove my PPAs before running do-release-upgrade?
You do not have to, because the upgrader comments out any source that does not publish for the new release and prints a line such as was disabled (no Release file) for each one. Doing it yourself first is better, since you choose the order and you see the result. Run apt policy on the packages you care about to find which ones came from each PPA, then reinstall those from the archive if the PPA version is newer than the new release carries.