The update process described in this HowTo is based on updating three Drupal sites to v6.10 — one from v6.8, and two from v6.9.
You should encounter no problems updating several minor versions in one go — for example, from v6.5 straight to v6.11 — as the new version contains a file that will update the database and other settings, if needed, when you run update.php.
The instructions found in UPGRADE.txt (in the Drupal Core archive), existing handbooks, and tutorials mainly focus on the issues involved in upgrading to a new major version, such as Drupal 5.x to 6.x. When you are performing a minor version update, such as Drupal 6.8 to 6.10, you can safely skip a few of the steps that are required for major updates.
This HowTo is aimed at new users and new admins of Drupal. It includes specific details as well as helpful advice so you can 1) recover if you have problems and 2) better understand why you are doing something.
If you are a seasoned Drupal admin, read http://drupal.org/node/359234 for how to use a simple patch command to do minor Drupal upgrades.
Simply put, a minor upgrade usually does not trigger the conditions that call for some of the steps involved in a major upgrade.
For example, step 6 in UPGRADE.txt calls for you to completely remove the existing version. For a major upgrade, 5.x to 6.x, this is generally a good idea. The new Drupal version will have many new features, will no longer need some directories and files from the older version, and will organize others under a different directory structure. Filenames could even change. Consequently, unless you completely remove the earlier version, you risk having unused files sitting around, which could at least cause confusion and might even pose a security risk.
But minor updates mainly entail improvements to security and bug fixes. There is no major reorganization of files or directories, so it is relatively safe to carry out the upgrade without removing the existing installation.
A side benefit of skipping this step is that any files that have been copied to a core directory (other than /sites), and are not part of the Drupal Core will still be there after the update. You will not have to restore those files manually after the update.
When you do a minor update, always check the release notes and announcement for each version that has been released since the version you are currently using. Especially if you are updating to a much newer version — for example, updating Drupal 6.2 to 6.10 — the new version might entail quite a few changes. In rare cases you might want to remove the old installation before you carry out a multiple-version minor update.
If you want to move yourself from the largest support communities to the smallest, go ahead and modify core. If something goes wrong, you will pretty much find yourself on your own. You might even make it impossible to update your site to a newer version when needed.
If you need to change the Drupal Core behaviour, there are many ways to do so without hacking the core code itself. Some changes might require custom modules. Others can be accomplished at the theme level. Still others might only require a change to settings.php. None of these methods is as drastic or as risky as is hacking core.
Two contributed modules can make the update process easier to perform:
Some of the text in these steps has been copied directly from UPGRADE.txt, as they are performed in the exact same way.
Replace www.example.com with your domain name and path in the steps below.
You now have an updated Drupal 6.x. Take a look around the site to make sure that everything is how it should be. Especially check all your CCK-based content types you have for the inactive problem mentioned below.
Only one small issue has so far been discovered using this update process. Existing Fivestar CCK fields were marked inactive even though the Fivestar module was enabled. Fivestar wasn't showing on content pages, nor when editing the content type or in forms. If you get this problem, you can find a fix in this issue comment. The same fix will most likely work for other CCK fields with the same problem.
In the Upgrading Drupal forum there is a lot more information and help about updating and upgrading Drupal.
If you have problems with a module after the update, check the issues for that module. In some cases the problem is not the module you first thought, but the module it depends on. Therefore also check the issues for them as well.
Even though this process has been reported to work without any big problems, that is no guarantee that it will work for you. If you are not ready to perform it on any production site, you can always try it on a test site first.