如何在Alpine Docker镜像上安装gdbserver包?

我一直试图在Alpine Docker镜像上安装gdbserver包( https://hub.docker.com/_/alpine/ )

apk添加gdbserver

给我这个:

错误:不可满足的约束:gdbserver(缺less):必需的:world [gdbserver]

与此同时,

apk添加gdb

工作得很好。 那么,在Alpine上安装gdbserver包的正确方法是什么?

PS

apk更新已经被执行了。

目前看来,gdbserver不是在alpine存储库中可用的软件包,而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 

之后,你应该可以从shell运行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