Kali Linux Revealed




Download 11,68 Mb.
Pdf ko'rish
bet127/174
Sana15.01.2024
Hajmi11,68 Mb.
#137314
1   ...   123   124   125   126   127   128   129   130   ...   174
Bog'liq
Kali-Linux-Revealed-2021-edition

Figure 8.3 Use of a Provides Field in Order to Not Break Dependencies
This feature is very useful, since it is never possible to anticipate the vagaries of development
and it is necessary to be able to adjust to renaming, and other automatic replacement, of obsolete
software.
Replacing Files: The Replaces Field
The Replaces field indicates that the package contains files that are also present in another pack-
age, but that the package is legitimately entitled to replace them. Without this specification,
dpkg
fails, stating that it cannot overwrite the files of another package (technically, it is possible to
force it to do so with the --force-overwrite option, but that is not considered standard operation).
This allows identification of potential problems and requires the maintainer to study the matter
prior to choosing whether to add such a field.
The use of this field is justified when package names change or when a package is included in
another. This also happens when the maintainer decides to distribute files differently among
various binary packages produced from the same source package: a replaced file no longer belongs
to the old package, but only to the new one.
If all of the files in an installed package have been replaced, the package is considered to be re-
moved. Finally, this field also encourages
dpkg
to remove the replaced package where there is a
conflict.
216
Kali Linux Revealed


8.4.2. Configuration Scripts
In addition to the
control
file, the
control.tar.gz
archive for each Debian package may contain
a number of scripts (
postinst
,
postrm
,
preinst
,
prerm
) called by
dpkg
at different stages in the
processing of a package. We can use
dpkg -I
to show these files as they reside in a
.deb
package
archive:
dpkg -I /var/cache/apt/archives/zsh_5.3-1_amd64.deb | head
new debian package, version 2.0.
size 814486 bytes: control archive=2557 bytes.
838 bytes,
20 lines
control
3327 bytes,
43 lines
md5sums
969 bytes,
41 lines
*
postinst
#!/bin/sh
348 bytes,
20 lines
*
postrm
#!/bin/sh
175 bytes,
5 lines
*
preinst
#!/bin/sh
175 bytes,
5 lines
*
prerm
#!/bin/sh
Package: zsh
Version: 5.3-1
dpkg -I zsh_5.3-1_amd64.deb preinst
#!/bin/sh
set -e
# Automatically added by dh_installdeb
dpkg-maintscript-helper symlink_to_dir /usr/share/doc/zsh zsh-common 5.0.7-3 -- ”$@”
# End automatically added section
The
Debian Policy
6
describes each of these files in detail, specifying the scripts called and the
arguments they receive. These sequences may be complicated, since if one of the scripts fails,
dpkg
will try to return to a satisfactory state by canceling the installation or removal in progress
(insofar as it is possible).

Download 11,68 Mb.
1   ...   123   124   125   126   127   128   129   130   ...   174




Download 11,68 Mb.
Pdf ko'rish