В моем офисе есть два сервера Ubuntu 18.04 , которые предназначены для разработки, и у нас установлен отладчик GNU. Все эти пакеты всегда устанавливаются с помощью команды "sudo apt install". Каким-то образом на одном из серверов установлена более новая версия gdb, чем на другом.
#DVLP1
# sudo apt list --installed |grep ^gdb/
gdb/bionic-updates,now 8.1.1-0ubuntu1 amd64 [installed]
# sudo apt-cache policy gdb
gdb:
Installed: 8.1.1-0ubuntu1
Candidate: 8.1.1-0ubuntu1
Version table:
*** 8.1.1-0ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
100 /var/lib/dpkg/status
8.1-0ubuntu3 500
500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
#DVLP2
# sudo apt list --installed |grep ^gdb/
gdb/bionic,now 8.2-0ubuntu1~18.04 amd64 [installed]
# sudo apt-cache policy gdb
gdb:
Installed: 8.2-0ubuntu1~18.04
Candidate: 8.2-0ubuntu1~18.04
Version table:
*** 8.2-0ubuntu1~18.04 500
500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main amd64 Packages
100 /var/lib/dpkg/status
8.1.1-0ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
8.1-0ubuntu3 500
500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
Некоторые из наших разработчиков на DVLP1 жалуются, что они получают следующее предупреждение, которое они не получают с помощью gdb на DVLP2:
==28205==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
Единственное, что я вижу, что отличается от gdb, так это gdb, поэтому я собирался попробовать обновить его до той же самой версии на обоих. Хотя gdb версии 8.2 указана в репозиториях на первой системе, она все еще показывает только версию 8.1.1, как самая последняя копия на второй системе.
Полагаю, это как-то связано с выбранными репозиториями, из которых мы загружаем. Я заметил, что в одном ящике для бионического main используется "archive.ubuntu.com", а в другом - "us.archive.ubuntu.com". Однако, даже после того, как я изменил source.list, чтобы он имел те же записи deb (и сделал apt-обновление), он не показывал версию выше gdb 8.1.1
На данный момент, есть ли простой способ для меня установить пакет, который перечислен в кэше apt-cache DVLP2, но не в DVLP1? Похоже, что версия 8.2 пришла из ppa.launchpad.net, но я не помню, чтобы это было в качестве записи deb. Как я могу добавить его в source.list, если я хочу попробовать эту копию (и могу ли я доверять его содержимому)?
Thx Стив
PPA.LAUNCPAD.Net
означает, что этот пакет был установлен из PPA .
Запустите этот скрипт первый в ответе , затем запустите предоставленную команду на второй машине
Редактировать : я смог копать PPA, используя ссылку http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu В таблице версии
Это официальный Toolchain Test / Prerelease REPO , поэтому да, это безопасно использовать
, что вы можете добавить с помощью
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
, который выводят:
You are about to add the following PPA:
Toolchain test builds; see https://wiki.ubuntu.com/ToolChain
More info: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
Press Enter to continue or Ctrl+C to cancel
после обновления Sudo APT
, вы сможете использовать v. 8.2