我正在使用Docker映像,它带有busybox中的许多二进制文件。 我需要命令“ patch”来接受参数“ -l”。但是busybox随附的命令不允许使用此参数,并且会给出以下异常而中断:
/usr/local # patch -l
patch: unrecognized option: l
BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary.
Usage: patch [OPTIONS] [ORIGFILE [PATCHFILE]]
-p N Strip N leading components from file names
-i DIFF Read DIFF instead of stdin
-R Reverse patch
-N Ignore already applied patches
-E Remove output files if they become empty
--dry-run Don't actually change files
有什么方法可以将patch命令替换为另一个命令吗?
答案 0 :(得分:1)
有什么方法可以将patch命令替换为另一个命令吗?
当然可以,但是执行此操作的机制会根据所使用的图像而有所不同。
如果您使用的是基于Alpine的图片,则可以执行以下操作:
apk add --update patch
这将用功能齐全的GNU patch
二进制文件替换patch
的BusyBox版本。
如果您要使用其他产品,则需要在问题中提供其他详细信息。