The Update manager (Drupal 7) and Update status (Drupal 6) modules periodically check for new versions of your site's software (including contributed modules and themes), and alert you to available updates.
The log of available updates will indicate when new releases are ready for download, and you may configure various options, including frequency of update checking and notification options (which are performed during cron runs), at the respective module settings page if you have administration permissions.
Please note that in order to provide this information, anonymous usage statistics (consisting of a unique key and a list of versions of the software your site is running) are sent to Drupal.org. If desired, you may disable the Update status module from the module administration page.
If you have checked out Drupal code via Git instead of installing a release tar.gz archive you downloaded from drupal.org, you will need to install and enable the Git Deploy module.
Update manager (Drupal 7)
Performing updates through the user interface
The Update manager also allows users with the administer software updates permission to perform updates directly through the administration interface. At the top of the modules and themes pages you will see a link to update to new releases. This will direct you to the update page where you see a listing of all the missing updates and confirm which ones you want to upgrade. From there, you are prompted for your FTP/SSH password, which then transfers the files into your Drupal installation, overwriting your old files.
Installing new modules and themes through the user interface
You can also install new modules and themes in the same fashion, through the install page, or by clicking the Install new module/theme link at the top of the modules and themes pages. In this case, you are prompted to provide either the URL to the download, or to upload a packaged release file from your local computer. Click Install, and the files are copied into your
sites/all/modules folder. See Installing contributed modules for more details.
FTP is not required to install new modules or themes. If you have access to ssh for your web host you can enable Update Manager by ensuring that file ownership for your Drupal site (or at least sites/default) is set to the same user that runs the web server. This is often apache or www-data. An example of a command to accomplish this would be...
sudo chown -R www-data:www-data /var/www/drupal
sudo chown -R apache:apache /var/www/drupal
depending on your distribution.
There are security issues with doing the above. Please check with your system administrator first.
Disabling user interface code updates
If your site is relying on an external deployment system (perhaps with a staging and production workflow), you can disable all of the functionality that allows site administrators to install code through the administrative user interface by placing the following line in your site's settings.php file:
$conf['allow_authorize_operations'] = FALSE;
You will still be able to run the Update manager to check the status of available updates, but you will not be able to install those updates or new modules and themes directly via the web interface.
Update status (Drupal 6)
Additional functionality is provided by the Update status advanced settings module.
Note: In Drupal 5, this functionality is provided outside of Drupal core by the contributed Update status module.
Technical details for Drupal 7
Core module: Yes.
Related Modules: None.
API Documentation: update.api.php, update.authorize.inc, update.compare.inc, update.fetch.inc, update.install, update.manager.inc, update.module, update.report.inc, update.settings.inc, update_test.module,
Template files: None
Other files: update.css, update.info, update-rtl.css
Database tables (1):
cache_update. Also see the API docs at update schema.