
Ich erstelle eine Webanwendung und muss prüfen, ob ia32-libs
sie installiert sind. Dies muss ein anderer Befehl als sudo sein, da er von ausgeführt wird www-data
. Kann mir jemand helfen? Ich habe versucht, Pakete sowohl in aptitude als auch in dpkg aufzulisten, aber ohne Erfolg.
PS: Ich verwende Debian-basierte Distributionen.
Antwort1
Sie können den Status des Pakets mit der folgenden Befehlszeile abfragen (keine Root-Rechte erforderlich):
dpkg --get-selections ia32-libs
Falls das Paket installiert ist, erhalten Sie das folgende Ergebnis (z. B. Ubuntu Precise):
ia32-libs install
andernfalls erhalten Sie etwas anderes (die tatsächliche Antwort hängt von Ihren Gebietsschemaeinstellungen ab).
Bei den neueren Debian- und Ubuntu-Versionen ia32-libs
wurde es jedoch zu einem Übergangspaket zugunsten einer echten Multiarch-Lösung gemacht. Sie können Ihre aktuelle Architektur abfragen mit
dpkg-architecture
welches auf x64 eine Zeile haben wird
DEB_HOST_ARCH=amd64
und Sie können mit dem folgenden Befehl überprüfen, ob die i386-Unterstützung aktiviert wurde:
dpkg --print-foreign-architectures
Die Antwort beinhaltet i386
, ob die erforderlichen Bibliotheken der Architektur vorhanden sind.
Um eine Architektur hinzuzufügen, muss man ausführen
dpkg --add-architecture i386
Antwort2
So können Sie das auf folgende Weise tun:
dpkg -l | grep ia32-libs
dpkg --get-selections | grep ia32-libs
Sie erhalten eine Liste der auf Anfrage installierten Pakete. Wenn nichts zurückgegeben wird, haben Sie das Paket nicht.
Quelle:Debian Wiki