如何将tcpkill添加到我的kubernetes pod-alpine包中



我正试图将tcpkill安装/添加到我的pod中,但收到以下错误。即使是apk更新也没有给出想要的结果。

$ kubectl exec -it mypod-v003-ab2cd /bin/sh -n mynamespace
/ # apk add tcpkill
ERROR: unsatisfiable constraints:
tcpkill (missing):
required by: world[tcpkill]
/ #
/ #
/ #
/ # apk add dsniff
ERROR: unsatisfiable constraints:
dsniff (missing):
required by: world[dsniff]
/ #
/ #
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
v3.9.5-11-ge3b5031082 [http://dl-cdn.alpinelinux.org/alpine/v3.9/main]
v3.9.5-3-gfaabae9a55 [http://dl-cdn.alpinelinux.org/alpine/v3.9/community]
v20200122-2407-g64931a5538 [http://dl-cdn.alpinelinux.org/alpine/edge/testing]
OK: 13818 distinct packages available

我在网上发现我可以添加包裹(https://pkgs.alpinelinux.org/contents?file=tcpkill&路径=&name=bash完成&分支=v3.9&repo=main&arch=x86_64(,但不确定如何实现。有人能帮忙吗?

此外,如果我转到/usr/share/bash-completion/completions/,我可以看到那里的tcpkill。

/ # ls -l /usr/share/bash-completion/completions/tc*
-rw-r--r--    1 root     root          1011 Dec  4  2018 /usr/share/bash-completion/completions/tcpdump
-rw-r--r--    1 root     root           441 Dec  4  2018 /usr/share/bash-completion/completions/tcpkill
-rw-r--r--    1 root     root           434 Dec  4  2018 /usr/share/bash-completion/completions/tcpnice
/ #

这个引用告诉您bash完成包的结构中有一个名为tcpkill的文件。此文件是用于bash完成的索引文件,用于自动完成tcpkill命令。

tcpkill实际上并不适用于alpine,所以如果你需要它,你必须从源代码编译它。

您可能想知道为什么bash完成包含对tcpkill的引用。之所以会发生这种情况,是因为它包含在源程序包中。

要了解如何编译它,请参阅本指南。

我也可以建议你使用另一个图像作为ubuntu。使用它,您只需运行apt-get install dsniff,tcpkill即可使用。

如果这个解决方案适合你,也许你想创建自己的docker镜像,包括这些包,这样你就不需要每次创建pod时都安装它。为此,我向你推荐这个操作方法。

相关内容

  • 没有找到相关文章

最新更新