簡體   English   中英

如何在Alpine Docker映像上安裝gdbserver軟件包?

[英]How to install gdbserver package on Alpine Docker image?

我一直在嘗試在Alpine Docker映像( https://hub.docker.com/_/alpine/ )上安裝gdbserver軟件包

apk添加gdbserver

給我這個:

錯誤:約束無法滿足:gdbserver(丟失):世界需要:[gdbserver]

同時,

apk添加gdb

效果很好。 那么,在Alpine上安裝gdbserver軟件包的正確方法是什么?

聚苯乙烯

apk更新已被執行。

當前,gdbserver似乎不是高山存儲庫中可用的軟件包,並且gdb軟件包不包含gdbserver。

但是您可以從包含gdbserver的源代碼安裝gdb。

首先,您需要安裝編譯所需的軟件包:

apk add --no-cache make
apk add --no-cache linux-headers
apk add --no-cache texinfo
apk add --no-cache gcc
apk add --no-cache g++

然后您可以安裝它,下載源代碼並進行編譯:

wget http://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.xz
tar -xvf gdb-7.11.tar.xz
cd gdb-7.11
./configure --prefix=/usr
make
make -C gdb install

之后,您應該可以從外殼程序運行gdbserver。

我在Docker中一直使用此過程,下面的dockerfile也包括ssh服務器安裝:

FROM alpine
RUN apk update
# we need make and linux-headers to compile gdb
RUN apk add --no-cache make
RUN apk add --no-cache linux-headers
RUN apk add --no-cache texinfo
RUN apk add --no-cache gcc
RUN apk add --no-cache g++
RUN apk add --no-cache gfortran
# install gdb
# RUN apk add --no-cache gdb
RUN mkdir gdb-build ;\
    cd gdb-build;\
    wget http://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.xz;\
    tar -xvf gdb-7.11.tar.xz;\
    cd gdb-7.11;\
    ./configure --prefix=/usr;\
    make;\
    make -C gdb install;\
    cd ..;\
    rm -rf gdb-build/;
# install ssh server support and keys
RUN apk add --no-cache openssh
RUN ssh-keygen -A

使用Alpine 3.8和更高版本( gdb > = 8.0.1-r6 ), gdbserver可以作為gdb軟件包的一部分輕松使用:

https://pkgs.alpinelinux.org/contents?file=gdbserver&path=&name=gdb&branch=v3.8&repo=main&arch=x86_64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM