Herauszufinden, welche Pakete installiert werden müssen, um Abhängigkeiten zu erfüllen, ist keine exakte Wissenschaft. Aber es gibt einige Tipps, die Ihnen helfen könnten:
- Wenn Sie mit zufriedenstellenden Abhängigkeiten arbeiten, um etwas zu kompilieren, möchten Sie fast immer das Paket, das auf
-dev
endet . Das ist die Abkürzung für Entwicklung. Beispiel:openssl
Paket enthält Befehlszeilentools und Bibliotheken für die Arbeit mit Verschlüsselung.libssl-dev
enthält Header-Dateien und Bibliotheken für die OpenSSL-Entwicklung. - Um mit apt nach einem Paket nach Schlüsselwörtern zu suchen, verwenden Sie
apt-cache search
. Zum Beispiel wusste ich nicht wirklich, dass libssl-dev der Name des openssl-Entwicklungspakets war. Ich habe das mit diesem Befehl gefunden:apt-cache search openssl | grep dev
und dann mit derjenigen, die nicht mit einer anderen Sprache/Bibliothek verwandt zu sein schien. - Mit
dpkg -l
können Sie sehen, welche Pakete Sie installiert haben , aber im Allgemeinen suchen Sie einfach das gewünschte Paket und sagen Sie apt, dass es installiert werden soll. Wenn Sie es bereits haben, wird apt es Ihnen mitteilen. Ein weiterer guter Tipp ist, wenn Sie wissen möchten, welchem Paket eine Datei gehört, verwenden Siedpkg -S /path/to/thefile
- Wenn Sie am Ende ein Paket aus dem Quellcode erstellen müssen, gibt es keine einfache Möglichkeit, den Abhängigkeitsbaum aufzulösen.
./configure
sollte Ihnen sagen, oder die README-Datei. Oft nennen sie sogar genau das benötigte Paket. - Um herauszufinden, was verlinkt werden soll, bezieht sich das normalerweise auf den Namen des Pakets oder den allgemeinsten Namen für das, was Sie wollen. Für unser libssl-Beispiel würden Sie einfach
-lssl
übergeben zu gcc. Wenn Sie die Optionen für-l
nicht kennen sind, werfen Sie einen Blick in /lib/ (entfernen Sie einfach das "lib" von vorne und das ".so..." von hinten, um die 'Mitte' zu erhalten, die an gcc übergeben wird).
Niemand erwähnt
aptitude build-dep
Der Manpage-Eintrag ist ziemlich umfangreich.