[How To] Upgrade Ubuntu 14.10 to Ubuntu 15.04
-
I have the upgrade process running on my CloudatCost Ubuntu Lab system right now.
-
Well it took four days to do it, since there was an outage at the datacenter where my lab box is, but it is back up and updated to 15.04. That was painless.
-
I have a script that runs as a cron job for my updates. The do-release-upgrade is important, but you missed two commands that I would make sure you run...
sudo apt-get -y dist-upgrade sudo apt-get -y autoremove
One will upgrade the core OS files and the second one will remove packages that are no longer needed, etc. Good for freeing up space.
-
@thanksajdotcom said:
sudo apt-get -y autoremove
This can also break systems depending on how things where installed and what's needed. if you need to clean up space use sudo apt-get clean as a safer option.
-
@thanksajdotcom said:
I have a script that runs as a cron job for my updates. The do-release-upgrade is important, but you missed two commands that I would make sure you run...
sudo apt-get -y dist-upgrade sudo apt-get -y autoremove
One will upgrade the core OS files and the second one will remove packages that are no longer needed, etc. Good for freeing up space.
What does dist-upgrade catch that Ubuntu's recommended do-release-upgrade does not?
-
@scottalanmiller said:
@thanksajdotcom said:
I have a script that runs as a cron job for my updates. The do-release-upgrade is important, but you missed two commands that I would make sure you run...
sudo apt-get -y dist-upgrade sudo apt-get -y autoremove
One will upgrade the core OS files and the second one will remove packages that are no longer needed, etc. Good for freeing up space.
What does dist-upgrade catch that Ubuntu's recommended do-release-upgrade does not?
So from what I've seen, upgrade will upgrade normal packages and non-default packages, like the pertino-client package, etc. dist-upgrade will upgrade core OS files but generally doesn't upgrade to a different version. So it'll update system files but wouldn't do a version upgrade, like from 14.10 to 15.04. That is the real purpose of do-release-upgrade.
-
@thanksajdotcom said:
So from what I've seen, upgrade will upgrade normal packages and non-default packages, like the pertino-client package, etc. dist-upgrade will upgrade core OS files but generally doesn't upgrade to a different version. So it'll update system files but wouldn't do a version upgrade, like from 14.10 to 15.04. That is the real purpose of do-release-upgrade.
In control cases you don't necessarily want to automatically upgrade to a new version of the software, just the latest version of the same release. OS upgrades and software upgrades are best kept as two separate processes IMO.
-
From StackOverflow...
Below is an excerpt from man apt-get. Using upgrade keeps to the rule: under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. If that's important to you, use apt-get upgrade. If you want things to "just work", you probably want apt-get dist-upgrade to ensure dependencies are resolved.
To expand on why you'd want upgrade instead of dist-upgrade, if you are a systems administrator, you need predictability. You might be using advanced features like apt pinning or pulling from a collection of PPAs (perhaps you have an in-house PPA), with various automations in place to inspect your system and available upgrades instead of always eagerly upgrading all available packages. You would get very frustrated when apt performs unscripted behavior, particularly if this leads to downtime of a production service.
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. So, dist-upgrade
command may remove some packages. The /etc/apt/sources.list file
contains a list of locations from which to retrieve desired package
files. See also apt_preferences(5) for a mechanism for overriding
the general settings for individual packages. -
@thecreativeone91 said:
@thanksajdotcom said:
So from what I've seen, upgrade will upgrade normal packages and non-default packages, like the pertino-client package, etc. dist-upgrade will upgrade core OS files but generally doesn't upgrade to a different version. So it'll update system files but wouldn't do a version upgrade, like from 14.10 to 15.04. That is the real purpose of do-release-upgrade.
In control cases you don't necessarily want to automatically upgrade to a new version of the software, just the latest version of the same release. OS upgrades and software upgrades are best kept as two separate processes IMO.
Exactly. This is my script for updating my system automatically. I use this as my standard script on all my Linux boxes. I just change the directory the log goes to...
#!/bin/sh apt-get update apt-get -y upgrade | ts >> /var/log/aj_cron/update_os.log 2>&1 apt-get -y dist-upgrade | ts >> /var/log/aj_cron/update_os.log 2>&1 apt-get -y autoremove | ts >> /var/log/aj_cron/update_os.log 2>&1
Now, granted, I'm running 14.04 LTS for my servers, so do-release-upgrade does me no good until 2016 I think it is...it's ever 2 years for LTS releases if I remember correctly...
-
@scottalanmiller said:
From StackOverflow...
Below is an excerpt from man apt-get. Using upgrade keeps to the rule: under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. If that's important to you, use apt-get upgrade. If you want things to "just work", you probably want apt-get dist-upgrade to ensure dependencies are resolved.
To expand on why you'd want upgrade instead of dist-upgrade, if you are a systems administrator, you need predictability. You might be using advanced features like apt pinning or pulling from a collection of PPAs (perhaps you have an in-house PPA), with various automations in place to inspect your system and available upgrades instead of always eagerly upgrading all available packages. You would get very frustrated when apt performs unscripted behavior, particularly if this leads to downtime of a production service.
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. So, dist-upgrade
command may remove some packages. The /etc/apt/sources.list file
contains a list of locations from which to retrieve desired package
files. See also apt_preferences(5) for a mechanism for overriding
the general settings for individual packages.Ok, that makes a lot of sense. I guess I showed you something new then?
-
Doesn't take much on Ubuntu
-
@scottalanmiller said:
Doesn't take much on Ubuntu
The CaseSentry application my company developed that does all the monitoring and case generation for basically everything we do here is built on Ubuntu. They use a MySQL backend. I was thinking of talking to the Dev guys and recommending they check out MariaDB to help improve performance.
-
@thanksajdotcom said:
@scottalanmiller said:
Doesn't take much on Ubuntu
The CaseSentry application my company developed that does all the monitoring and case generation for basically everything we do here is built on Ubuntu. They use a MySQL backend. I was thinking of talking to the Dev guys and recommending they check out MariaDB to help improve performance.
MariaDB? I'd use postgres for something with monitoring
-
@thecreativeone91 said:
@thanksajdotcom said:
@scottalanmiller said:
Doesn't take much on Ubuntu
The CaseSentry application my company developed that does all the monitoring and case generation for basically everything we do here is built on Ubuntu. They use a MySQL backend. I was thinking of talking to the Dev guys and recommending they check out MariaDB to help improve performance.
MariaDB? I'd use postgres for something with monitoring
Ok, I'm kinda loopy today. You can replace MySQL with Postgres? Brain is running at half-speed at best today...
-
@thanksajdotcom said:
@thecreativeone91 said:
@thanksajdotcom said:
@scottalanmiller said:
Doesn't take much on Ubuntu
The CaseSentry application my company developed that does all the monitoring and case generation for basically everything we do here is built on Ubuntu. They use a MySQL backend. I was thinking of talking to the Dev guys and recommending they check out MariaDB to help improve performance.
MariaDB? I'd use postgres for something with monitoring
Ok, I'm kinda loopy today. You can replace MySQL with Postgres? Brain is running at half-speed at best today...
Depends what you mean. Both are a RDBMS. But Postgres is not a drop in replacement. But it's more designed for high transaction counts and high performance than either of those two which are really more meant for websites where most things are in cache with a small amount of transactions.
-
@thanksajdotcom said:
@thecreativeone91 said:
@thanksajdotcom said:
@scottalanmiller said:
Doesn't take much on Ubuntu
The CaseSentry application my company developed that does all the monitoring and case generation for basically everything we do here is built on Ubuntu. They use a MySQL backend. I was thinking of talking to the Dev guys and recommending they check out MariaDB to help improve performance.
MariaDB? I'd use postgres for something with monitoring
Ok, I'm kinda loopy today. You can replace MySQL with Postgres? Brain is running at half-speed at best today...
MariaDB is just MySQL forked. PostgreSQL is the big MySQL competitor. It's a different product but generally way more powerful.