K2LL33D SHELL

 Apache/2.4.7 (Ubuntu)
 Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64
 uid=33(www-data) gid=33(www-data) groups=33(www-data)
 safemode : OFF
 MySQL: ON | Perl: ON | cURL: OFF | WGet: ON
  >  / usr / bin /
server ip : 172.67.156.115

your ip : 172.69.6.190

H O M E


Filename/usr/bin/do-release-upgrade
Size5.89 kb
Permissionrwxr-xr-x
Ownerroot : root
Create time27-Apr-2025 09:55
Last modified12-Apr-2014 12:33
Last accessed05-Jul-2025 11:24
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
#!/usr/bin/python3

from __future__ import print_function

import warnings
warnings.filterwarnings("ignore", "apt API not stable yet", FutureWarning)

from DistUpgrade.DistUpgradeVersion import VERSION

from UpdateManager.Core.MetaRelease import MetaReleaseCore
from optparse import OptionParser
import locale
import gettext

import os
import sys
import time
from UpdateManager.Core.utils import init_proxy

RELEASE_AVAILABLE=0
NO_RELEASE_AVAILABLE=1


def get_fetcher(frontend, new_dist, datadir):
if frontend == "DistUpgradeViewGtk3":
from DistUpgrade.DistUpgradeFetcher import DistUpgradeFetcherGtk
from DistUpgrade.GtkProgress import GtkAcquireProgress
progress = GtkAcquireProgress(
None,
datadir,
_("Downloading the release upgrade tool"))
return DistUpgradeFetcherGtk(new_dist=new_dist,
progress=progress,
parent=None,
datadir=datadir)
else:
from DistUpgrade.DistUpgradeFetcherCore import DistUpgradeFetcherCore
import apt
progress = apt.progress.text.AcquireProgress()
return DistUpgradeFetcherCore(new_dist, progress)


if __name__ == "__main__":

#FIXME: Workaround a bug in optparser which doesn't handle unicode/str
# correctly, see http://bugs.python.org/issue4391
# Should be resolved by Python3
gettext.bindtextdomain("ubuntu-release-upgrader", "/usr/share/locale")
gettext.textdomain("ubuntu-release-upgrader")
translation = gettext.translation("ubuntu-release-upgrader", fallback=True)
if sys.version >= '3':
_ = translation.gettext
else:
_ = translation.ugettext

try:
locale.setlocale(locale.LC_ALL, "")
except:
pass

init_proxy()

# when run as "check-new-release" we go into "check only" mode
check_only = sys.argv[0].endswith("check-new-release")

parser = OptionParser()
parser.add_option ("-V", "--version", action="store_true",
dest="show_version", default=False,
help=_("Show version and exit"))
parser.add_option ("-d", "--devel-release", action="store_true",
dest="devel_release", default=False,
help=_("Check if upgrading to the latest devel release "
"is possible"))
parser.add_option ("--data-dir", "",
default="/usr/share/ubuntu-release-upgrader/",
help=_("Directory that contains the data files"))
parser.add_option ("-p", "--proposed", action="store_true",
dest="proposed_release", default=False,
help=_("Try upgrading to the latest release using "
"the upgrader from $distro-proposed"))
parser.add_option ("-m", "--mode", default="server",
dest="mode",
help=_("Run in a special upgrade mode.\n"
"Currently 'desktop' for regular upgrades of "
"a desktop system and 'server' for server "
"systems are supported."))
parser.add_option ("-f", "--frontend", default="DistUpgradeViewText",
dest="frontend",
help=_("Run the specified frontend"))
parser.add_option ("-s","--sandbox", action="store_true", default=False,
help=_("Test upgrade with a sandbox aufs overlay"))
parser.add_option ("-c", "--check-dist-upgrade-only", action="store_true",
default=check_only,
help=_("Check only if a new distribution release is "
"available and report the result via the "
"exit code"))
parser.add_option ("-q", "--quiet", default=False, action="store_true",
dest="quiet")

(options, args) = parser.parse_args()


if options.show_version:
print("%s: version %s" % (os.path.basename(sys.argv[0]), VERSION))
sys.exit(0)

if options.devel_release and options.proposed_release:
print(_("The options --devel-release and --proposed are"))
print(_("mutually exclusive. Please use only one of them."))
sys.exit(1)

if not options.quiet:
print(_("Checking for a new Ubuntu release"))

m = MetaReleaseCore(useDevelopmentRelease=options.devel_release,
useProposed=options.proposed_release)
# this will timeout eventually
m.downloaded.wait()

# make sure to inform the user if his distro is no longer supported
# this will make it appear in motd (that calls do-release-upgrade in
# check-new-release mode)
if m.no_longer_supported is not None:
url = "http://www.ubuntu.com/releaseendoflife"
print(_("Your Ubuntu release is not supported anymore."))
print(_("For upgrade information, please visit:\n"
"%(url)s\n") % { 'url' : url })

# now inform about a new release
if m.new_dist is None:
if not options.quiet:
print(_("No new release found"))
sys.exit(NO_RELEASE_AVAILABLE)

if m.new_dist.upgrade_broken:
if not options.quiet:
print(_("Release upgrade not possible right now"))
print(_("The release upgrade can not be performed currently, "
"please try again later. The server reported: '%s'") % m.new_dist.upgrade_broken)
sys.exit(NO_RELEASE_AVAILABLE)

# we have a new dist
if options.check_dist_upgrade_only:
print(_("New release '%s' available.") % m.new_dist.version)
print(_("Run 'do-release-upgrade' to upgrade to it."))
sys.exit(RELEASE_AVAILABLE)

fetcher = get_fetcher(options.frontend, m.new_dist, options.data_dir)
fetcher.run_options += ["--mode=%s" % options.mode,
"--frontend=%s" % options.frontend,
]
if options.sandbox:
fetcher.run_options.append("--sandbox")
if options.devel_release:
fetcher.run_options.append("--devel-release")
fetcher.run()