123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 9. Keeping your Debian system up-to-date</title><link rel="stylesheet" type="text/css" href="debian.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.en.html" title="The Debian GNU/Linux FAQ" /><link rel="up" href="index.en.html" title="The Debian GNU/Linux FAQ" /><link rel="prev" href="pkgtools.en.html" title="Chapter 8. The Debian package management tools" /><link rel="next" href="kernel.en.html" title="Chapter 10. Debian and the kernel" /><meta xmlns="" name="viewport" content="width=device-width, initial-scale=1" /><style xmlns="" type="text/css">
- body {
- background-repeat: no-repeat;
- background-image: none;
- }
- </style></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. Keeping your Debian system up-to-date</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pkgtools.en.html"><img src="images/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="kernel.en.html"><img src="images/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="uptodate"></a>Chapter 9. Keeping your Debian system up-to-date</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="uptodate.en.html#howtocurrent">9.1. How can I keep my Debian system current?</a></span></dt><dd><dl><dt><span class="section"><a href="uptodate.en.html#aptitude-upgrade">9.1.1. aptitude</a></span></dt><dt><span class="section"><a href="uptodate.en.html#apt">9.1.2. apt-get and apt-cdrom</a></span></dt><dt><span class="section"><a href="uptodate.en.html#mirror">9.1.3. mirror</a></span></dt></dl></dd><dt><span class="section"><a href="uptodate.en.html#upgradesingle">9.2. Must I go into single user mode in order to upgrade a package?</a></span></dt><dt><span class="section"><a href="uptodate.en.html#savedebs">9.3. Do I have to keep all those .deb archive files on my disk?</a></span></dt><dt><span class="section"><a href="uptodate.en.html#keepingalog">9.4. How can I keep a log of the packages I added to the system? I'd like to know when upgrades and removals have occurred and on which packages!</a></span></dt><dt><span class="section"><a href="uptodate.en.html#autoupdate">9.5. Can I automatically update the system?</a></span></dt><dt><span class="section"><a href="uptodate.en.html#aptcacher">9.6. I have several machines; how can I download the updates only one time?</a></span></dt></dl></div><p>
- One of Debian's goals is to provide a consistent upgrade path and a secure
- upgrade process. We always do our best to make upgrading to new releases a
- smooth procedure. In case there's some important note to add to the upgrade
- process, the packages will alert the user, and often provide a solution to a
- possible problem.
- </p><p>
- You should also read the Release Notes document that describes the details of
- specific upgrades. It is available on the Debian website at <a class="ulink" href="https://www.debian.org/releases/stable/releasenotes" target="_top">https://www.debian.org/releases/stable/releasenotes</a>
- and is also shipped on the Debian CDs, DVDs and Blu-ray discs.
- </p><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="howtocurrent"></a>9.1. How can I keep my Debian system current?</h2></div></div></div><p>
- One could simply execute an anonymous ftp call to a Debian archive, then peruse
- the directories until one finds the desired file, and then fetch it, and
- finally install it using <code class="literal">dpkg</code>. Note that
- <code class="literal">dpkg</code> will install upgrade files in place, even on a running
- system. Sometimes, a revised package will require the installation of a newly
- revised version of another package, in which case the installation will fail
- until/unless the other package is installed.
- </p><p>
- Many people find this approach much too time-consuming, since Debian evolves so
- quickly -- typically, a dozen or more new packages are uploaded every week.
- This number is larger just before a new major release. To deal with this
- avalanche, many people prefer to use a more automated method. Several
- different packages are available for this purpose:
- </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="aptitude-upgrade"></a>9.1.1. aptitude</h3></div></div></div><p>
- <span class="command"><strong>aptitude</strong></span> is the recommended package manager for Debian GNU/Linux
- systems, and is described in <a class="xref" href="pkgtools.en.html#aptitude" title="8.1.3. aptitude">Section 8.1.3, “aptitude”</a>.
- </p><p>
- Before you can use <span class="command"><strong>aptitude</strong></span> to make an upgrade, you'll have
- to edit the <code class="literal">/etc/apt/sources.list</code> file to set it up. If you
- wish to upgrade to the latest stable version of Debian, you'll probably want to
- use a source like this one:
- </p><pre class="screen">
- http://ftp.us.debian.org/debian stable main contrib
- </pre><p>
- You can replace ftp.us.debian.org (the mirror in the United States) with the
- name of a faster Debian mirror near you. See the mirror list at <a class="ulink" href="https://www.debian.org/mirror/list" target="_top">https://www.debian.org/mirror/list</a>
- for more information.
- </p><p>
- Or you can use the redirector service httpredir.debian.org which aims to solve
- the problem of choosing a Debian mirror. It uses the geographic location of
- the user and other information to choose the best mirror that can serve the
- files. To take advantage of it use a source like this one:
- </p><pre class="screen">
- http://httpredir.debian.org/debian stable main contrib
- </pre><p>
- More details on this can be found in the
- <span class="citerefentry"><span class="refentrytitle">sources.list</span>(5)</span>
- manual page.
- </p><p>
- To update your system from the command line, run
- </p><pre class="screen">
- aptitude update
- </pre><p>
- followed by
- </p><pre class="screen">
- aptitude full-upgrade
- </pre><p>
- Answer any questions that might come up, and your system will be upgraded.
- </p><p>
- Note that <span class="command"><strong>aptitude</strong></span> is not the recommended tool for doing
- upgrades from one Debian GNU/Linux release to another. Use
- <span class="command"><strong>apt-get</strong></span> instead. For upgrades between releases you should
- read the <a class="ulink" href="https://www.debian.org/releases/stable/releasenotes" target="_top">Release Notes</a>.
- This document describes in detail the recommended steps for upgrades from
- previous releases as well as known issues you should consider before upgrading.
- </p><p>
- For details, see the manual page
- <span class="citerefentry"><span class="refentrytitle">aptitude</span>(8)</span>,
- and the file <code class="filename">/usr/share/aptitude/README</code>.
- </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="apt"></a>9.1.2. apt-get and apt-cdrom</h3></div></div></div><p>
- An alternative to <span class="command"><strong>aptitude</strong></span> is <span class="command"><strong>apt-get</strong></span>
- which is an APT-based command-line tool (described previously in <a class="xref" href="pkgtools.en.html#apt-get" title="8.1.2. APT">Section 8.1.2, “APT”</a>).
- </p><p>
- <span class="command"><strong>apt-get</strong></span>, the APT-based command-line tool for handling
- packages, provides a simple, safe way to install and upgrade packages.
- </p><p>
- To use <span class="command"><strong>apt-get</strong></span>, edit the
- <code class="literal">/etc/apt/sources.list</code> file to set it up, just as for <a class="xref" href="uptodate.en.html#aptitude-upgrade" title="9.1.1. aptitude">Section 9.1.1, “aptitude”</a>.
- </p><p>
- Then run
- </p><pre class="screen">
- apt-get update
- </pre><p>
- followed by
- </p><pre class="screen">
- apt-get dist-upgrade
- </pre><p>
- Answer any questions that might come up, and your system will be upgraded. See
- also the
- <span class="citerefentry"><span class="refentrytitle">apt-get</span>(8)</span>
- manual page, as well as <a class="xref" href="pkgtools.en.html#apt-get" title="8.1.2. APT">Section 8.1.2, “APT”</a>.
- </p><p>
- If you want to use CDs/DVDs/BDs to install packages, you can use
- <span class="command"><strong>apt-cdrom</strong></span>. For details, please see the Release Notes,
- section "Adding APT sources from optical media".
- </p><p>
- Please note that when you get and install the packages, you'll still have them
- kept in your /var directory hierarchy. To keep your partition from
- overflowing, remember to delete extra files using <code class="literal">apt-get
- clean</code> and <code class="literal">apt-get autoclean</code>, or to move them
- someplace else (hint: use <code class="systemitem">apt-move</code><a id="idm1712" class="indexterm"></a>).
- </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="mirror"></a>9.1.3. mirror</h3></div></div></div><p>
- This Perl script, and its (optional) manager program called
- <span class="command"><strong>mirror-master</strong></span>, can be used to fetch user-specified parts of
- a directory tree from a specified host <span class="emphasis"><em>via</em></span> anonymous FTP.
- </p><p>
- <span class="command"><strong>mirror</strong></span> is particularly useful for downloading large volumes
- of software. After the first time files have been downloaded from a site, a
- file called <code class="literal">.mirrorinfo</code> is stored on the local host.
- Changes to the remote file system are tracked automatically by
- <span class="command"><strong>mirror</strong></span>, which compares this file to a similar file on the
- remote system and downloads only changed files.
- </p><p>
- The <span class="command"><strong>mirror</strong></span> program is generally useful for updating local
- copies of remote directory trees. The files fetched need not be Debian files.
- (Since <span class="command"><strong>mirror</strong></span> is a Perl script, it can also run on non-Unix
- systems.) Though the <span class="command"><strong>mirror</strong></span> program provides mechanisms for
- excluding files with names matching user-specified strings, this program is
- most useful when the objective is to download whole directory trees, rather
- than selected packages.
- </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="upgradesingle"></a>9.2. Must I go into single user mode in order to upgrade a package?</h2></div></div></div><p>
- No. Packages can be upgraded in place, even in running systems. Debian has a
- <code class="literal">start-stop-daemon</code> program that is invoked to stop, then
- restart running process if necessary during a package upgrade.
- </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="savedebs"></a>9.3. Do I have to keep all those .deb archive files on my disk?</h2></div></div></div><p>
- No. If you have downloaded the files to your disk then after you have
- installed the packages, you can remove them from your system, e.g. by running
- <code class="literal">aptitude clean</code>.
- </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="keepingalog"></a>9.4. How can I keep a log of the packages I added to the system? I'd like to know when upgrades and removals have occurred and on which packages!</h2></div></div></div><p>
- Passing the <code class="literal">--log</code>-option to <span class="command"><strong>dpkg</strong></span> makes
- <span class="command"><strong>dpkg</strong></span> log status change updates and actions. It logs both
- the <span class="command"><strong>dpkg</strong></span>-invokation (e.g.
- </p><pre class="screen">
- 2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4
- </pre><p>
- ) and the results (e.g.
- </p><pre class="screen">
- 2005-12-30 18:10:35 status installed hello 2.1.1-4
- </pre><p>
- ) If you'd like to log all your <span class="command"><strong>dpkg</strong></span> invocations (even those
- done using frontends like <span class="command"><strong>aptitude</strong></span>), you could add
- </p><pre class="screen">
- log /var/log/dpkg.log
- </pre><p>
- to your <code class="filename">/etc/dpkg/dpkg.cfg</code>. Be sure the created logfile
- gets rotated periodically. If you're using <span class="command"><strong>logrotate</strong></span>, this
- can be achieved by creating a file <code class="filename">/etc/logrotate.d/dpkg</code>
- with the following lines
- </p><pre class="screen">
- /var/log/dpkg {
- missingok
- notifempty
- }
- </pre><p>
- More details on <span class="command"><strong>dpkg</strong></span> logging can be found in the
- <span class="citerefentry"><span class="refentrytitle">dpkg</span>(1)</span>
- manual page.
- </p><p>
- <span class="command"><strong>aptitude</strong></span> logs the package installations, removals, and
- upgrades that it intends to perform to <code class="filename">/var/log/aptitude</code>.
- Note that the <span class="emphasis"><em>results</em></span> of those actions are not recorded in
- this file!
- </p><p>
- Another way to record your actions is to run your package management session
- within the
- <span class="citerefentry"><span class="refentrytitle">script</span>(1)</span>
- program.
- </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="autoupdate"></a>9.5. Can I automatically update the system?</h2></div></div></div><p>
- Yes. You can use <span class="command"><strong>cron-apt</strong></span>; this tool updates the system at
- regular intervals using a cron job. By default it just updates the package
- list and downloads new packages, but without installing them.
- </p><p>
- Note: Automatic upgrade of packages is <span class="strong"><strong>NOT</strong></span>
- recommended in <span class="emphasis"><em>testing</em></span> or <span class="emphasis"><em>unstable</em></span>
- systems as this might bring unexpected behaviour and remove packages without
- notice.
- </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="aptcacher"></a>9.6. I have several machines; how can I download the updates only one time?</h2></div></div></div><p>
- If you have more than one Debian machine on your network, it is useful to use
- <span class="command"><strong>apt-cacher</strong></span> to keep all of your Debian systems up-to-date.
- </p><p>
- <span class="command"><strong>apt-cacher</strong></span> reduces the bandwidth requirements of Debian
- mirrors by restricting the frequency of Packages, Releases and Sources file
- updates from the back end and only doing a single fetch for any file,
- independently of the actual request from the proxy.
- <span class="command"><strong>apt-cacher</strong></span> automatically builds a Debian HTTP mirror based
- on requests which pass through the proxy.
- </p><p>
- Of course, you can get the same benefit if you are already using a standard
- caching proxy and all your systems are configured to use it.
- </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pkgtools.en.html"><img src="images/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="kernel.en.html"><img src="images/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 8. The Debian package management tools </td><td width="20%" align="center"><a accesskey="h" href="index.en.html"><img src="images/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Chapter 10. Debian and the kernel</td></tr></table></div></body></html>
|