Kali Linux Revealed




Download 11,68 Mb.
Pdf ko'rish
bet114/174
Sana15.01.2024
Hajmi11,68 Mb.
#137314
1   ...   110   111   112   113   114   115   116   117   ...   174
Bog'liq
Kali-Linux-Revealed-2021-edition

Do Not Use
apt
--reinstall
to Recover
from an Attack
Using
apt --reinstall
to restore packages modified during an attack will certainly
not recover the system as it was.
After an attack, you can’t rely on anything:
dpkg
and
apt
might have been replaced by
malicious programs, not reinstalling the files as you would like them to. The attacker
might also have altered or created files outside the control of
dpkg
.
Remember that you can specify a specific distribution with
apt
as well, which means you can roll
back to an older version of a package (if for instance you know that it works well), provided that
it is still available in one of the sources referenced by the
sources.list
file:
apt install w3af/kali-dev
Leveraging --force-* to Repair Broken Dependencies
If you are not careful, the use of a --force-* option or some other malfunction can lead to a system
where the APT family of commands will refuse to function. In effect, some of these options allow
installation of a package when a dependency is not met, or when there is a conflict. The result is
an inconsistent system from the point of view of dependencies, and the APT commands will refuse
to execute any action except those that will bring the system back to a consistent state (this often
consists of installing the missing dependency or removing a problematic package). This usually
results in a message like this one, obtained after installing a new version of rdesktop while ignoring
its dependency on a newer version of libc6:
apt full-upgrade
[...]
You might want to run ’apt-get -f install’ to correct these.
The following packages have unmet dependencies:
rdesktop: Depends: libc6 (>= 2.14) but 2.3.6.ds1-13etch7 is installed
E: Unmet dependencies. Try using -f.
If you are a courageous administrator who is certain of the correctness of your analysis, you may
choose to ignore a dependency or conflict and use the corresponding --force-* option. In this case,
if you want to be able to continue to use
apt
or
aptitude
, you must edit
/var/lib/dpkg/status
to delete or modify the dependency, or conflict, that you have chosen to override.
This manipulation is an ugly hack and should never be used, except in the most extreme case of
necessity. Quite frequently, a more fitting solution is to recompile the package that is causing
195
Chapter 8 — Debian Package Management


the problem or use a new version (potentially corrected) from a repository providing backports
(backports are newer versions especially recompiled to work in an older environment).
8.2.7. Frontends:
aptitude
and
synaptic
APT is a C++ program whose code mainly resides in the
libapt-pkg
shared library. Thanks to this
shared library, it opened the door for the creation of user interfaces (front-ends), since the shared
library code can easily be reused. Historically,
apt-get
was only designed as a test front-end for
libapt-pkg
but its success tends to obscure this fact.
Over time, despite the popularity of command line interfaces like
apt
and
apt-get
, various graph-
ical interfaces were developed. We will take a look at two of those interfaces in this section:
aptitude
and
synaptic
.
Aptitude
Aptitude, shown in Figure 
8.1
, “
The
aptitude
package manager
” [page 196], is an interactive pro-
gram that can be used in semi-graphical mode on the console. You can browse the list of installed
and available packages, look up all the information, and select packages to install or remove. The
program is designed specifically to be used by administrators so its default behavior is much more
intelligent than APT’s, and its interface much easier to understand.

Download 11,68 Mb.
1   ...   110   111   112   113   114   115   116   117   ...   174




Download 11,68 Mb.
Pdf ko'rish