Wie installiere ich ein Paket, das Ubuntu-Kernel-Debugsymbole enthält?

19

Das standardmäßige Ubuntu-Kernel- -genericPaket scheint keine Symbole zu enthalten.

Ich versuche zu vermeiden, einen Kernel mit Debug-Informationen manuell zu kompilieren.

Bietet Ubuntu ein Paket mit Kernel-Debugsymbolen?

Gänseblümchen
quelle

Antworten:

25
  1. Zuerst erstelle ein ddebs.listusing:

    echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ddebs.list
  2. Fügen Sie dann den GPG-Schlüssel hinzu für ddebs.ubuntu.com:

    wget -O - http://ddebs.ubuntu.com/dbgsym-release-key.asc | sudo apt-key add -
  3. Dann renne:

    sudo apt-get update
  4. Dann installieren Sie das Symbolpaket mit:

    sudo apt-get install linux-image-`uname -r`-dbgsym

    Dies ist ziemlich umfangreich (> 680 MB). Bereiten Sie sich also auf ein Warten vor, während Sie es herunterladen.

Ich verwende die Linux-Kernel-Debugsymbole für Tools wie systemtapauf dem Kernel.

Colin Ian King
quelle
apt-cache search dbgsymkehrt pkg-create-dbgsymnur zurück, war es in einem anderen Repository?
Daisy
3
@ warl0ck Ja, die -dbgsymPakete befinden sich in speziellen Repositorys, die Sie aktivieren müssen, um sie zu installieren. Dies erklärt, wie .
Eliah Kagan
Ich habe den Beitrag jetzt aktualisiert, um zu verdeutlichen, wie das geht.
Colin Ian King
Schritt apt-get updateführt zu einer Warnmeldung: W: GPG error: http://ddebs.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ECDCAD72428D7C01Deshalb erweitere ich dies mit einer Lösung für diesen Fall.
Pro Backup
1
sudo apt-get install linux-image-$(uname -r)-dbgsym=3.13.0-49.83 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package linux-image-3.13.0-49-generic-dbgsym E: Couldn't find any package by regex 'linux-image-3.13.0-49-generic-dbgsym'
Kenny Evitt
7

Ich habe die Antwort von Colin Ian King ausprobiert und es hat bei mir nicht funktioniert. Ich fand heraus, dass ich zwei zusätzliche Zeilen hinzufügen muss/etc/apt/sources.list.d/ddebs.list

Bearbeiten Sie die Datei über

sudo nano /etc/apt/sources.list.d/ddebs.list

und füge die zwei Zeilen darunter hinzu

deb http://ddebs.ubuntu.com trusty-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com trusty-proposed main restricted universe multiverse

Ersetzen Sie trustymit Ihrer Version, die Sie erhalten, wenn Sie ausführen

lsb_release -cs
Dragosb
quelle
1
Das funktioniert bei mir!
Howard Shane
7

Für 16.04+ :

GPG-Schlüsselimport

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C8CAB6595FDFF622 

Fügen Sie die Repository-Konfiguration hinzu

codename=$(lsb_release -c | awk  '{print $2}')
sudo tee /etc/apt/sources.list.d/ddebs.list << EOF
deb http://ddebs.ubuntu.com/ ${codename}      main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-updates  main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse
EOF

sudo apt-get update
sudo apt-get install linux-image-$(uname -r)-dbgsym

(Dank an Ubuntu Wiki )

Philipp Claßen
quelle