~kim0/serverguide/serverguide-review-ch19

« back to all changes in this revision

Viewing changes to serverguide/C/package-management.xml

  • Committer: Matthew East
  • Date: 2011-05-03 07:11:18 UTC
  • Revision ID: mdke@ubuntu.com-20110503071118-081aatibsr9k2yqy
Add files from ubuntu-docs natty branch, trim to use only those necessary for serverguide

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8"?>
 
2
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" 
 
3
        "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
 
4
<!ENTITY % globalent SYSTEM "../../libs/global.ent">
 
5
%globalent;
 
6
<!ENTITY % gnome-menus-C SYSTEM "../../libs/gnome-menus-C.ent">
 
7
%gnome-menus-C;
 
8
<!ENTITY % xinclude SYSTEM "../../libs/xinclude.mod">
 
9
%xinclude;
 
10
<!ENTITY language "&EnglishAmerican;">
 
11
]>
 
12
<chapter id="package-management" status="review">
 
13
        <title>Package Management</title>
 
14
        <para>Ubuntu features a comprehensive package management system for the installation, upgrade, configuration, and removal of software.  In addition to providing access to an organized base of over 24,000 software packages for your Ubuntu computer, the package management facilities also feature dependency resolution capabilities and software update checking.
 
15
        </para>
 
16
        <para>
 
17
        Several tools are available for interacting with Ubuntu's package management system, from simple command-line utilities which may be easily automated by system administrators, to a simple graphical interface which is easy to use by those new to Ubuntu.
 
18
        </para>
 
19
  <sect1 id="package-management-introduction" status="review">
 
20
        <title>Introduction</title>
 
21
        <para>
 
22
        Ubuntu's package management system is derived from the same system used by the Debian GNU/Linux distribution.  The package files contain all of the necessary files, meta-data, and instructions to implement a particular functionality or software application on your Ubuntu computer.
 
23
        </para>
 
24
        <para>
 
25
        Debian package files typically have the extension '.deb', and typically exist in <emphasis role="italics">repositories</emphasis> which are collections of packages found on various media, such as CD-ROM discs, or online.  Packages are normally of the pre-compiled binary format; thus installation is quick and requires no compiling of software.
 
26
        </para>
 
27
        <para>
 
28
        Many complex packages use the concept of <emphasis role="italics">dependencies</emphasis>.  Dependencies are additional packages required by the principal package in order to function properly.  For example, the speech synthesis package <application>Festival</application> depends upon the package <application>libasound2</application>, which is a package supplying the <application>ALSA</application> sound library needed for audio playback.  In order for <application>Festival</application> to function, it and all of its dependencies must be installed. The software management tools in Ubuntu will do this automatically.
 
29
        </para>
 
30
  </sect1>
 
31
  <sect1 id="dpkg" status="review">
 
32
    <title>dpkg</title>
 
33
 
 
34
    <para>
 
35
    <application>dpkg</application> is a package manager for <emphasis>Debian</emphasis> based systems.  It can install, remove, and build packages, but
 
36
    unlike other package management system's, it can not automatically download and install packages or their dependencies.  This section covers using
 
37
    <application>dpkg</application> to manage locally installed packages:
 
38
    </para>
 
39
 
 
40
    <itemizedlist>
 
41
      <listitem>
 
42
 
 
43
        <para>
 
44
        To list all packages installed on the system, from a terminal prompt enter:
 
45
        </para>
 
46
 
 
47
<screen>
 
48
<command>dpkg -l</command>
 
49
</screen>
 
50
 
 
51
      </listitem>
 
52
      <listitem>
 
53
 
 
54
        <para>
 
55
        Depending on the amount of packages on your system, this can generate a large amount of output.  Pipe the output through 
 
56
        <application>grep</application> to see if a specific package is installed:
 
57
        </para>
 
58
 
 
59
<screen>
 
60
<command>dpkg -l | grep apache2</command>
 
61
</screen>
 
62
 
 
63
        <para>
 
64
        Replace <emphasis>apache2</emphasis> with any package name, part of a package name, or other regular expression.
 
65
        </para>
 
66
 
 
67
      </listitem>
 
68
      <listitem>
 
69
 
 
70
        <para>
 
71
        To list the files installed by a package, in this case the <application>ufw</application> package, enter:
 
72
        </para>
 
73
 
 
74
<screen>
 
75
<command>dpkg -L ufw</command>
 
76
</screen>
 
77
 
 
78
      </listitem>
 
79
      <listitem>
 
80
 
 
81
        <para>
 
82
        If you are not sure which package installed a file, <application>dpkg -S</application> may be able to tell you.
 
83
        For example:
 
84
        </para>
 
85
 
 
86
<screen>
 
87
<command>dpkg -S /etc/host.conf </command>
 
88
<computeroutput>base-files: /etc/host.conf</computeroutput>
 
89
</screen>
 
90
 
 
91
        <para>
 
92
        The output shows that the <filename>/etc/host.conf</filename> belongs to the <application>base-files</application> package.
 
93
        </para>
 
94
 
 
95
        <note>
 
96
          <para>
 
97
          Many files are automatically generated during the package install process, and even though they are on the filesystem 
 
98
          <command>dpkg -S</command> may not know which package they belong to.
 
99
          </para>
 
100
        </note>
 
101
 
 
102
      </listitem>
 
103
      <listitem>
 
104
 
 
105
        <para>
 
106
        You can install a local <emphasis>.deb</emphasis> file by entering:
 
107
        </para>
 
108
 
 
109
<screen>
 
110
<command>sudo dpkg -i zip_2.32-1_i386.deb</command>
 
111
</screen>
 
112
    
 
113
        <para>
 
114
        Change <filename>zip_2.32-1_i386.deb</filename> to the actual file name of the local .deb file.
 
115
        </para>
 
116
 
 
117
      </listitem>
 
118
      <listitem>
 
119
 
 
120
        <para>
 
121
        Uninstalling a package can be accomplished by:
 
122
        </para>
 
123
 
 
124
<screen>
 
125
<command>sudo dpkg -r zip</command>
 
126
</screen>
 
127
 
 
128
        <caution>
 
129
          <para>
 
130
          Uninstalling packages using <application>dpkg</application>, in most cases, is <emphasis>NOT</emphasis> recommended.
 
131
          It is better to use a package manager that handles dependencies, to ensure that the system is in a consistent state.  For
 
132
          example using <command>dpkg -r</command> you can remove the <application>zip</application> package, but any packages that
 
133
          depend on it will still be installed and may no longer function correctly.
 
134
          </para>
 
135
        </caution>
 
136
 
 
137
      </listitem>
 
138
    </itemizedlist>
 
139
 
 
140
    <para>
 
141
    For more <application>dpkg</application> options see the man page: <command>man dpkg</command>.
 
142
    </para>
 
143
 
 
144
  </sect1>
 
145
  <sect1 id="apt-get" status="review">
 
146
        <title>Apt-Get</title>
 
147
        <para>
 
148
        The <application>apt-get</application> command is a powerful command-line tool used to work with Ubuntu's <emphasis>Advanced Packaging Tool</emphasis> (APT) performing such functions as installation of new software packages, upgrade of existing software packages, updating of the package list index, and even upgrading the entire Ubuntu system.
 
149
        </para>
 
150
        <para>
 
151
        Being a simple command-line tool, <application>apt-get</application> has numerous advantages over other package management tools available in Ubuntu for server administrators.  Some of these advantages include ease of use over simple terminal connections (SSH) and the ability to be used in system administration scripts, which can in turn be automated by the <application>cron</application> scheduling utility.
 
152
        </para>
 
153
        <para>
 
154
        Some examples of popular uses for the <application>apt-get</application> utility:
 
155
        <itemizedlist>
 
156
               <listitem>
 
157
                <para>
 
158
                <emphasis role="bold">Install a Package</emphasis>: Installation of packages using the <application>apt-get</application> tool is quite simple.  For example, to install the network scanner <emphasis role="italics">nmap</emphasis>, type the following:
 
159
<screen>
 
160
<command>sudo apt-get install nmap</command>
 
161
</screen>
 
162
                </para>
 
163
                </listitem>
 
164
                <listitem>
 
165
                <para>
 
166
                <emphasis role="bold">Remove a Package</emphasis>: Removal of a package or packages is also a straightforward and simple process. To remove the nmap package installed in the previous example, type the following:
 
167
<screen>
 
168
<command>sudo apt-get remove nmap</command>
 
169
</screen>
 
170
                </para>
 
171
                <tip>
 
172
                <para><emphasis role="bold">Multiple Packages</emphasis>: You may specify multiple packages to be installed or removed, separated by spaces.  
 
173
                </para>
 
174
                </tip>
 
175
                <para>
 
176
                Also, adding the <emphasis>--purge</emphasis> options to <command>apt-get remove</command> will remove the package 
 
177
                configuration files as well.  This may or may not be the desired effect so use with caution.
 
178
                </para>
 
179
                </listitem>
 
180
                <listitem>
 
181
                <para>
 
182
                <emphasis role="bold">Update the Package Index</emphasis>: The APT package index is essentially a database of available packages from the repositories defined in the <filename>/etc/apt/sources.list</filename> file.  To update the local package index with the latest changes made in repositories, type the following:
 
183
<screen>
 
184
<command>sudo apt-get update</command>
 
185
</screen>
 
186
                </para>
 
187
                </listitem>
 
188
                <listitem>
 
189
                <para>
 
190
                <emphasis role="bold">Upgrade Packages</emphasis>: Over time, updated versions of packages currently installed on your computer may become available from the package repositories (for example security updates).  To upgrade your system, first update your package index as outlined above, and then type:
 
191
<screen>
 
192
<command>sudo apt-get upgrade</command>
 
193
</screen>
 
194
                </para>
 
195
                <para>
 
196
                For information on upgrading to a new Ubuntu release see <xref linkend="installing-upgrading"/>.
 
197
                </para>
 
198
                </listitem>
 
199
        </itemizedlist>
 
200
        </para>
 
201
        <para>
 
202
        Actions of the <application>apt-get</application> command, such as installation and removal of packages, are logged in the /var/log/dpkg.log log file.
 
203
        </para>
 
204
                <para>For further information about the use of <application>APT</application>, read the comprehensive <ulink url="&debian-apt;">Debian APT User Manual</ulink> or type: <screen>apt-get help</screen></para>
 
205
  </sect1>
 
206
 
 
207
  <sect1 id="aptitude" status="review">
 
208
        <title>Aptitude</title>
 
209
        <para>
 
210
        <application>Aptitude</application> is a menu-driven, text-based front-end to the <emphasis>Advanced Packaging Tool</emphasis> (APT) system. Many of the common package management functions, such as installation, removal, and upgrade, are performed in <application>Aptitude</application> with single-key commands, which are typically lowercase letters.
 
211
        </para>
 
212
        <para>
 
213
        <application>Aptitude</application> is best suited for use in a non-graphical terminal environment to ensure proper functioning of the command keys.  You may start <application>Aptitude</application> 
 
214
as a normal user with the following command at a terminal prompt:
 
215
<screen>
 
216
<command>sudo aptitude</command>
 
217
</screen>
 
218
        </para>
 
219
        <para>
 
220
        When <application>Aptitude</application> starts, you will see a menu bar at the top of the screen and two panes below the menu bar.  The top pane contains package categories, such as <emphasis role="italics">New Packages</emphasis> and <emphasis role="italics">Not Installed Packages</emphasis>. The bottom pane contains information related to the packages and package categories.
 
221
        </para>
 
222
        <para>Using <application>Aptitude</application> for package management is relatively straightforward, and the user interface makes common tasks simple to perform.  The following are examples of common package management functions as performed in <application>Aptitude</application>:
 
223
        </para>
 
224
        <itemizedlist>
 
225
               <listitem>
 
226
                <para><emphasis role="bold">Install Packages</emphasis>: To install a package, locate the package via the Not Installed Packages package category, for example, by using the keyboard arrow keys and the <keycap>ENTER</keycap> key, and highlight the package you wish to install.  After highlighting the package you wish to install, press the <keycap>+</keycap> key, and the package entry should turn <emphasis role="italics">green</emphasis>, indicating it has been marked for installation. Now press <keycap>g</keycap> to be presented with a summary of package actions.  Press <keycap>g</keycap> again, and you will be prompted to become root to complete the installation. Press <keycap>ENTER</keycap> which will result in a Password: prompt.  Enter your user password to become root. Finally, press <keycap>g</keycap> once more and you'll be prompted to download the package.  Press <keycap>ENTER</keycap> on the <emphasis role="italics">Continue</emphasis> prompt, and downloading and installation of the package will commence.
 
227
                </para>
 
228
               </listitem>
 
229
               <listitem>
 
230
                <para><emphasis role="bold">Remove Packages</emphasis>: To remove a package, locate the package via the Installed Packages package category, for example, by using the keyboard arrow keys and the <keycap>ENTER</keycap> key, and highlight the package you wish to remove.  After highlighting the package you wish to install, press the <keycap>-</keycap> key, and the package entry should turn <emphasis role="italics">pink</emphasis>, indicating it has been marked for removal. Now press <keycap>g</keycap> to be presented with a summary of package actions.  Press <keycap>g</keycap> again, and you will be prompted to become root to complete the installation. Press <keycap>ENTER</keycap> which will result in a Password: prompt.  Enter your user password to become root. Finally, press <keycap>g</keycap> once more, and you'll be prompted to download the package.  Press <keycap>ENTER</keycap> on the <emphasis role="italics">Continue</emphasis> prompt, and removal of the package will commence.
 
231
                </para>
 
232
               </listitem>
 
233
               <listitem>
 
234
                <para><emphasis role="bold">Update Package Index</emphasis>: To update the package index, simply press the <keycap>u</keycap> key and you will be prompted to become root to complete the update. Press <keycap>ENTER</keycap> which will result in a Password: prompt.  Enter your user password to become root. Updating of the package index will commence.  Press <keycap>ENTER</keycap> on the OK prompt when the download dialog is presented to complete the process.
 
235
                </para>
 
236
               </listitem>
 
237
               <listitem>
 
238
                <para><emphasis role="bold">Upgrade Packages</emphasis>: To upgrade packages, perform the update of the package index as detailed above, and then press the <keycap>U</keycap> key to mark all packages with updates. Now press <keycap>g</keycap> whereby you'll be presented with a summary of package actions.  Press <keycap>g</keycap> again, and you will be prompted to become root to complete the installation. Press <keycap>ENTER</keycap> which will result in a Password: prompt.  Enter your user password to become root. Finally, press <keycap>g</keycap> once more, and you'll be prompted to download the packages.  Press <keycap>ENTER</keycap> on the <emphasis role="italics">Continue</emphasis> prompt, and upgrade of the packages will commence.
 
239
                </para>
 
240
               </listitem>
 
241
        </itemizedlist>
 
242
        <para>The first column of information displayed in the package list in the top pane, when actually viewing packages lists the current state of the package, and uses the following key to describe the state of the package:
 
243
        <itemizedlist>
 
244
        <listitem>
 
245
        <para>
 
246
        <emphasis role="bold">i</emphasis>: Installed package
 
247
        </para>
 
248
        </listitem>
 
249
        <listitem>
 
250
        <para>
 
251
        <emphasis role="bold">c</emphasis>: Package not installed, but package configuration remains on system
 
252
        </para>
 
253
        </listitem><listitem>
 
254
        <para>
 
255
        <emphasis role="bold">p</emphasis>: Purged from system
 
256
        </para>
 
257
        </listitem><listitem>
 
258
        <para>
 
259
        <emphasis role="bold">v</emphasis>: Virtual package
 
260
        </para>
 
261
        </listitem><listitem>
 
262
        <para>
 
263
        <emphasis role="bold">B</emphasis>: Broken package
 
264
        </para>
 
265
        </listitem><listitem>
 
266
        <para>
 
267
        <emphasis role="bold">u</emphasis>: Unpacked files, but package not yet configured
 
268
        </para>
 
269
        </listitem><listitem>
 
270
        <para>
 
271
        <emphasis role="bold">C</emphasis>: Half-configured - Configuration failed and requires fix
 
272
        </para>
 
273
        </listitem><listitem>
 
274
        <para>
 
275
        <emphasis role="bold">H</emphasis>: Half-installed - Removal failed and requires fix
 
276
        </para>
 
277
        </listitem>
 
278
        </itemizedlist>
 
279
        </para>
 
280
        <para>To exit Aptitude, simply press the <keycap>q</keycap> key and confirm you wish to exit. Many other functions are available from the Aptitude menu by pressing the <keycap>F10</keycap> key.
 
281
        </para>
 
282
  </sect1>
 
283
 
 
284
  <sect1 id="automatic-updates" status="review">
 
285
    <title>Automatic Updates</title>
 
286
 
 
287
    <para>
 
288
    The <application>unattended-upgrades</application> package can be used to automatically install updated packages, and can be configured to
 
289
    update all packages or just install security updates.  First, install the package by entering the following in a terminal:
 
290
    </para>
 
291
 
 
292
<screen>
 
293
<command>sudo apt-get install unattended-upgrades</command>
 
294
</screen>
 
295
 
 
296
    <para>
 
297
    To configure <application>unattended-upgrades</application>, edit <filename>/etc/apt/apt.conf.d/50unattended-upgrades</filename> and adjust the 
 
298
    following to fit your needs:
 
299
    </para>
 
300
 
 
301
<programlisting>
 
302
Unattended-Upgrade::Allowed-Origins {
 
303
        "Ubuntu &distro-short-codename;-security";
 
304
//      "Ubuntu &distro-short-codename;-updates";
 
305
};
 
306
</programlisting>
 
307
 
 
308
    <para>
 
309
    Certain packages can also be <emphasis>blacklisted</emphasis> and therefore will not be automatically updated.  To blacklist a package, add it to the 
 
310
    list:
 
311
    </para>
 
312
 
 
313
<programlisting>
 
314
Unattended-Upgrade::Package-Blacklist {
 
315
//      "vim";
 
316
//      "libc6";
 
317
//      "libc6-dev";
 
318
//      "libc6-i686";
 
319
};
 
320
</programlisting>
 
321
 
 
322
    <note>
 
323
      <para>
 
324
      The double <emphasis><quote>//</quote></emphasis> serve as comments, so whatever follows "//" will not be evaluated.
 
325
     </para>
 
326
    </note>
 
327
 
 
328
    <para>
 
329
    To enable automatic updates, edit <filename>/etc/apt/apt.conf.d/10periodic</filename> and set the appropriate <application>apt</application> configuration options:
 
330
    </para>
 
331
 
 
332
<programlisting>
 
333
APT::Periodic::Update-Package-Lists "1";
 
334
APT::Periodic::Download-Upgradeable-Packages "1";
 
335
APT::Periodic::AutocleanInterval "7";
 
336
APT::Periodic::Unattended-Upgrade "1";
 
337
</programlisting>
 
338
 
 
339
    <para>
 
340
    The above configuration updates the package list, downloads, and installs available upgrades every day.
 
341
    The local download archive is cleaned every week.
 
342
    </para>
 
343
 
 
344
    <note>
 
345
      <para>
 
346
      You can read more about <application>apt</application> Periodic configuration options in the <filename>/etc/cron.daily/apt</filename> script header.
 
347
     </para>
 
348
    </note>
 
349
 
 
350
    <para>
 
351
    The results of <application>unattended-upgrades</application> will be logged to <filename>/var/log/unattended-upgrades</filename>.
 
352
    </para>
 
353
 
 
354
    <sect2 id="update-notifications" status="review">
 
355
      <title>Notifications</title>
 
356
 
 
357
        <para>
 
358
        Configuring <emphasis>Unattended-Upgrade::Mail</emphasis> in <filename>/etc/apt/apt.conf.d/50unattended-upgrades</filename> will enable 
 
359
        <application>unattended-upgrades</application> to email an administrator detailing any packages that need upgrading or have problems.
 
360
        </para>
 
361
 
 
362
        <para>
 
363
        Another useful package is <application>apticron</application>.  <application>apticron</application> will configure a 
 
364
        <application>cron</application> job to email an administrator information about any packages on the system that have updates available, as well
 
365
        as a summary of changes in each package.
 
366
        </para>
 
367
 
 
368
        <para>
 
369
        To install the <application>apticron</application> package, in a terminal enter:
 
370
        </para>
 
371
 
 
372
<screen>
 
373
<command>sudo apt-get install apticron</command>
 
374
</screen>
 
375
 
 
376
        <para>
 
377
        Once the package is installed edit <filename>/etc/apticron/apticron.conf</filename>, to set the email address and other options:
 
378
        </para>
 
379
 
 
380
<programlisting>
 
381
EMAIL="root@example.com"
 
382
</programlisting>
 
383
 
 
384
    </sect2>  
 
385
  </sect1>          
 
386
  <sect1 id="configuration" status="review">
 
387
    <title>Configuration</title>
 
388
    
 
389
    <para>
 
390
    Configuration of the <emphasis>Advanced Packaging Tool</emphasis> (APT) system repositories is stored in the /etc/apt/sources.list       
 
391
    configuration file. An example of this file is referenced here, along with information on adding or removing repository references from the
 
392
    file.
 
393
    </para>
 
394
 
 
395
    <para>
 
396
    <ulink url="../sample/sources.list">Here</ulink> is a simple example of a typical <filename>/etc/apt/sources.list</filename> file.
 
397
    </para>
 
398
 
 
399
    <para>
 
400
    You may edit the file to enable repositories or disable them.  For example, to disable the requirement of inserting the Ubuntu CD-ROM 
 
401
    whenever package operations occur, simply comment out the appropriate line for the CD-ROM, which appears at the top of the file:
 
402
    </para>
 
403
 
 
404
<screen>
 
405
# no more prompting for CD-ROM please
 
406
# deb cdrom:[&distro-apt-cd-name; - Release i386 (20070419.1)]/ &distro-short-codename; main restricted
 
407
</screen>
 
408
 
 
409
  <sect2 id="extra-repositories" status="review">
 
410
                <title>Extra Repositories</title>
 
411
          <para>
 
412
          In addition to the officially supported package repositories available for Ubuntu, there exist additional community-maintained repositories which add thousands more potential packages for installation.  Two of the most popular are the <emphasis>Universe</emphasis> and <emphasis>Multiverse</emphasis> repositories. These repositories are not officially supported by Ubuntu, but because they are maintained by the community they generally provide packages which are safe for use with your Ubuntu computer. 
 
413
          </para>
 
414
                  <note><para>Packages in the <emphasis>Multiverse</emphasis> repository often have licensing issues that prevent them from being distributed with a free operating system, and they may be illegal in your locality.</para></note>
 
415
          <warning>
 
416
          <para>
 
417
          Be advised that neither the <emphasis>Universe</emphasis> or <emphasis>Multiverse</emphasis> repositories contain officially supported packages. In particular, there may not be security updates for these packages.
 
418
          </para>
 
419
          </warning>
 
420
          <para>
 
421
          Many other package sources are available, sometimes even offering only one package, as in the case of package sources provided by the developer of a single application.  You should always be very careful and cautious when using non-standard package sources, however.  Research the source and packages carefully before performing any installation, as some package sources and their packages could render your system unstable or non-functional in some respects.
 
422
          </para>
 
423
          <para>
 
424
          By default, the <emphasis>Universe</emphasis> and
 
425
          <emphasis>Multiverse</emphasis> repositories are enabled but if
 
426
          you would like to disable them edit <filename>/etc/apt/sources.list</filename> 
 
427
          and comment the following lines:
 
428
          </para>
 
429
          <para>
 
430
<programlisting>
 
431
deb http://archive.ubuntu.com/ubuntu &distro-short-codename; universe multiverse
 
432
deb-src http://archive.ubuntu.com/ubuntu &distro-short-codename; universe multiverse
 
433
 
 
434
deb http://us.archive.ubuntu.com/ubuntu/ &distro-short-codename; universe
 
435
deb-src http://us.archive.ubuntu.com/ubuntu/ &distro-short-codename; universe
 
436
deb http://us.archive.ubuntu.com/ubuntu/ &distro-short-codename;-updates universe
 
437
deb-src http://us.archive.ubuntu.com/ubuntu/ &distro-short-codename;-updates universe
 
438
 
 
439
deb http://us.archive.ubuntu.com/ubuntu/ &distro-short-codename; multiverse
 
440
deb-src http://us.archive.ubuntu.com/ubuntu/ &distro-short-codename; multiverse
 
441
deb http://us.archive.ubuntu.com/ubuntu/ &distro-short-codename;-updates multiverse
 
442
deb-src http://us.archive.ubuntu.com/ubuntu/ &distro-short-codename;-updates multiverse
 
443
 
 
444
deb http://security.ubuntu.com/ubuntu &distro-short-codename;-security universe
 
445
deb-src http://security.ubuntu.com/ubuntu &distro-short-codename;-security universe
 
446
deb http://security.ubuntu.com/ubuntu &distro-short-codename;-security multiverse
 
447
deb-src http://security.ubuntu.com/ubuntu &distro-short-codename;-security multiverse
 
448
</programlisting>
 
449
          </para>
 
450
 
 
451
    </sect2>
 
452
  </sect1>
 
453
  <sect1 id="package-management-references" status="review">
 
454
    <title>References</title>
 
455
 
 
456
    <para>
 
457
    Most of the material covered in this chapter is available in <application>man</application> pages, many of which are available
 
458
    online.
 
459
    </para>
 
460
 
 
461
    <itemizedlist>
 
462
      <listitem>
 
463
        <para>
 
464
        The <ulink url="https://help.ubuntu.com/community/InstallingSoftware">InstallingSoftware</ulink> Ubuntu wiki page has more information.
 
465
        </para>
 
466
      </listitem>
 
467
      <listitem>
 
468
        <para>
 
469
        For more <application>dpkg</application> details see the 
 
470
        <ulink url="http://manpages.ubuntu.com/manpages/&distro-short-codename;/en/man1/dpkg.1.html">dpkg man page</ulink>.
 
471
        </para>
 
472
      </listitem>
 
473
      <listitem>
 
474
        <para>
 
475
        The <ulink url="http://www.debian.org/doc/manuals/apt-howto/">APT HOWTO</ulink> and 
 
476
        <ulink url="http://manpages.ubuntu.com/manpages/&distro-short-codename;/en/man8/apt-get.8.html">apt-get man page</ulink>
 
477
        contain useful information regarding <application>apt-get</application> usage.
 
478
        </para>
 
479
      </listitem>
 
480
      <listitem>
 
481
        <para>
 
482
        See the <ulink url="http://manpages.ubuntu.com/manpages/&distro-short-codename;/man8/aptitude.8.html">aptitude man page</ulink> 
 
483
        for more <application>aptitude</application> options.
 
484
        </para>
 
485
      </listitem>
 
486
      <listitem>
 
487
        <para>
 
488
        The <ulink url="https://help.ubuntu.com/community/Repositories/Ubuntu">Adding Repositories HOWTO (Ubuntu Wiki)</ulink> page
 
489
        contains more details on adding repositories.
 
490
        </para>
 
491
      </listitem>
 
492
    </itemizedlist>
 
493
 
 
494
  </sect1>
 
495
</chapter>