我希望grep
在 Alpine Docker 容器中安装一个与我的主机操作系统 v3.3 版本相似的版本。在网上搜寻的过程中,我查看包是否可用对于阿尔卑斯山。但是,在安装时,检查版本 v3.1 是否已安装:
bash-4.4# grep --version
grep (GNU grep) 3.1
...
我想也许需要显式安装,并且指定版本可能可以解决问题。然后,我尝试:
bash-4.4# apk add --no-cache grep=3.3-r0
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
ERROR: unsatisfiable constraints:
grep-3.1-r2:
breaks: world[grep=3.3-r0]
The command '/bin/sh -c apk add --no-cache bash grep=3.3-r0' returned a non-zero code: 1
公平地说,我认为其他一些包明确依赖于这个版本的 grep。如图,有一个包信息命令可以找到它。在网上搜索之后,我尝试了一下:
bash-4.4# apk info -a grep
WARNING: Ignoring APKINDEX.b89edf6e.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.737f7e01.tar.gz: No such file or directory
grep-3.1-r2 description:
Searches input files for lines containing a match to a specified pattern
grep-3.1-r2 webpage:
https://www.gnu.org/software/grep/grep.html
grep-3.1-r2 installed size:
192512
grep-3.1-r2 depends on:
so:libc.musl-x86_64.so.1
so:libpcre.so.1
grep-3.1-r2 provides:
cmd:egrep
cmd:fgrep
cmd:grep
grep-3.1-r2 is required by:
grep-3.1-r2 contains:
bin/grep
bin/egrep
bin/fgrep
grep-3.1-r2 triggers:
grep-3.1-r2 has auto-install rule:
grep-3.1-r2 affects auto-installation of:
grep-3.1-r2 replaces:
grep-3.1-r2 license:
GPL-3.0+
如果我没看错的话,那个版本对 grep 没有要求。
答案1
3.3的包grep
适用于边缘发布,IEAlpine Linux 的开发分支。您正在使用的版本 3.9,有grep
3.1。
如果您确实想要在 3.9 系统上使用它,您可以随时通过下载相关的文件来重建它包源码和abuild
适当运行。