Alpine Linux的“–upgrade add”命令的解释

我想了解Dockerfile https://hub.docker.com/r/rdsubhas/tor-privoxy-alpine/~/dockerfile/ ,其中包含一个RUN执行与

 apk --update add privoxy tor@testing runit@testing 

我想检查一下如何使用apk命令,所以我尝试在Alpine环境中打开一个terminal,如下所示:

 docker run -it --rm alpine:latest /bin/ash 

之后我只是运行apk来查看它的用法:

 / # apk apk-tools 2.6.8, compiled for x86_64. usage: apk COMMAND [-h|--help] [-p|--root DIR] [-X|--repository REPO] [-q|--quiet] [-v|--verbose] [-i|--interactive] [-V|--version] [-f|--force] [-U|--update-cache] [--progress] [--progress-fd FD] [--no-progress] [--purge] [--allow-untrusted] [--wait TIME] [--keys-dir KEYSDIR] [--repositories-file REPOFILE] [--no-network] [--no-cache] [--arch ARCH] [--print-arch] [ARGS]... The following commands are available: add Add PACKAGEs to 'world' and install (or upgrade) them, while ensuring that all dependencies are met del Remove PACKAGEs from 'world' and uninstall them fix Repair package or upgrade it without modifying main dependencies update Update repository indexes from all remote repositories info Give detailed information about PACKAGEs or repositores search Search package by PATTERNs or by indexed dependencies upgrade Upgrade currently installed packages to match repositories cache Download missing PACKAGEs to cache and/or delete unneeded files from cache version Compare package versions (in installed database vs. available) or do tests on literal version strings index Create repository index file from FILEs fetch Download PACKAGEs from global repositories to a local directory audit Audit the directories for changes verify Verify package integrity and signature dot Generate graphviz graphs policy Show repository policy for packages stats Show statistics about repositories and installations Global options: -h, --help Show generic help or applet specific help -p, --root DIR Install packages to DIR -X, --repository REPO Use packages from REPO -q, --quiet Print less information -v, --verbose Print more information (can be doubled) -i, --interactive Ask confirmation for certain operations -V, --version Print program version and exit -f, --force Do what was asked even if it looks dangerous -U, --update-cache Update the repository cache --progress Show a progress bar --progress-fd FD Write progress to fd --no-progress Disable progress bar even for TTYs --purge Delete also modified configuration files (pkg removal) and uninstalled packages from cache (cache clean) --allow-untrusted Install packages with untrusted signature or no signature --wait TIME Wait for TIME seconds to get an exclusive repository lock before failing --keys-dir KEYSDIR Override directory of trusted keys --repositories-file REPOFILE Override repositories file --no-network Do not use network (cache is still used) --no-cache Read uncached index from network --arch ARCH Use architecture with --root --print-arch Print default arch and exit This apk has coffee making abilities. 

问题是,在这个文档中我没有看到--update选项(只有--update-cache )。

我怀疑的是apk --update add [package]只是apk update简写,然后是apk add [package] 。 任何人都可以确认吗?

简而言之

To get the latest list of available packages, use the update command.

它类似于apt-get install my_package之前的Debian apt-get update

来自https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management#Update_the_Package_list

提取

更新软件包列表

远程存储库随着软件包的添加和升级而改变。 要获取可用软件包的最新列表,请使用update命令。 该命令从每个存储库下载APKINDEX.tar.gz,并将其存储在本地caching中,通常是/ var / cache / apk /,/ var / lib / apk /或/ etc / apk / cache /。

apk更新

提示:如果使用远程存储库,在执行添加或升级命令之前进行更新是个不错的主意。 这样你就知道你正在使用最新的软件。