Specifically I'm trying to find out what pakage I have to install in order to get disown
command in docker based on Alpine Linux? Moreover it would be nice if someone could enlight me how in general I should seek for missing commands (and in what package they are) so I don't have to come here with every single command.
-
Your title question is a duplicate of How to search for a file in apk packages– Gilles 'SO- stop being evil'Oct 11, 2016 at 23:12
2 Answers
disown
is a bash
builtin (job control) just like switch
, continue
and history
. Thus you won't find it in any package list, not just AplineLinux'.
I am not sure whether disown
is a new feature (thus missing from older releases) or is a optional part.
Under Ubuntu bash is v4.3.46 and has it available, though.
For anything else, you'd go to the package contents search.
-
Not really useful. When I type
disown
in that page I get only linking todisown
in context ofzsh
help/manual (pkgs.alpinelinux.org/…). I found also information (linuxquestions.org/questions/linux-server-73/…) thatdisown
is part ofbash
. I tried to installbash
andzsh
, but no luckdisown
still missing...– abcOct 11, 2016 at 12:18 -
@abc Enzo's answer is correct. There is no standalone
disown
command, it wouldn't make sense since it acts on the running shell. You get adisown
command if you're running ksh, bash or zsh. Ifdisown
isn't a supported command in your shell then you're running a different shell. What matters is the shell you're running, not other shells that may be also installed. Oct 11, 2016 at 23:14 -
@Gilles Yes. It's after edit. Look into modification history to understand my first comment. Anyway I'm accepting it because after edit it solved my problem. I thought
disown
is a standalone command like for instancecat
.– abcOct 15, 2016 at 14:44
If you want to use pkgs.alpinelinux.org in a scripted way, you can add html2text in you distribution (for Alpine: apk add html2text) and use this script I've done 10 min ago...:)
#!/bin/sh
file=$1
arch=${2:-x86_64}
branch=${3:-edge}
valid_branch="v3.3 v3.4 v3.5 v3.6 v3.7 v3.8 v3.9 v3.10 edge all"
valid_arch="armv7 s390x ppc64le armhf aarch64 x86 x86_64 all"
usage() {
echo -e "\nUsage: $0 <pattern> [arch] [branch]\n"
echo -e "\t<pattern>: Mandatory. Is the file you are searching. Supports wildcards (e.g. wge*) "
echo -e "\t[arch]: Optional (default: x86_64). Architecture. Valid values: $valid_arch"
echo -e "\t[branch]: Optional (default: edge). Alpine releases. Valid values: $valid_branch\n"
exit 1;
}
query() {
curl -s -d"$1" -H "application/x-www-form-urlencoded" -X GET https://pkgs.alpinelinux.org/contents | sed "s///\//g" | html2text -nobs -ascii | sed /^$/d | sed '1d' | awk /^File/,/*Copy*/ |grep -vE 'Privacy|Policy'
}
if ! [ $file ] ; then usage; fi
echo $valid_arch | grep -qi $arch || ( echo "Invalid arch. Valid values are: $valid_arch"; exit 1 )
echo $valid_branch | grep -qi $branch || ( echo "Invalid branch. Valid values are: $valid_branch"; exit 1 )
if [ $branch == "all" ]; then
if [ $arch == "all" ]; then
for b in $valid_branch; do
query "branch=$b&file=$file"
done
else
for b in $valid_branch; do
query "branch=$b&file=$file&arch=$arch"
done
fi
else
query "branch=$branch&file=$file&arch=$arch"
fi
UPDATE ON 2022-04-07
You can find this script at https://github.com/fcolista/apkfile