검색 결과에서 APK 패키지 이름을 확인하는 방법

검색 결과에서 APK 패키지 이름을 확인하는 방법

Alpine Linux에서 결과가 나오면 apk search제공할 패키지 이름을 어떻게 결정합니까 apk add?

예를 들어, "lighthttpd" 철자를 잊어버렸거나 패키지 이름이 실제로 무엇인지 잊어버렸다고 가정해 보겠습니다. apk search "lightt*"내 컴퓨터에서 다음을 수행 할 수 있습니다 (Docker 이미지).

lighttpd-mod_auth-1.4.45-r1
acf-lighttpd-0.6.0-r2
lighttpd-mod_webdav-1.4.45-r1
lighttpd-1.4.45-r1
lighttpd-doc-1.4.45-r1
lighttpd-dbg-1.4.45-r1

위의 내용을 고려하여 어떤 입력이 필요한지 어떻게 결정합니까 apk add lighttpd? 나는 이것을 순진하게 입력했는데 apk add lighttpd-1.4.45-r1오류가 발생했습니다.

ERROR: unsatisfiable constraints:
  lighttpd-1.4.45-r1 (missing):
    required by: world[lighttpd-1.4.45-r1]

나는 apt-cache search검색 결과의 모든 줄에 다음이 포함되는 데비안 등에 익숙합니다.정확히입력할 패키지 이름입니다 apt-get install.

답변1

apk search다음을 전달하여 버전 번호를 포함하지 않도록 알 수 있습니다 -q/--quiet.

$ apk -q search "lightt*"
lighttpd-mod_auth
acf-lighttpd
lighttpd-mod_webdav
lighttpd
lighttpd-doc
lighttpd-dbg

특정 패키지에서 제공하는 버전을 알고 싶다면 상황이 조금 이상해집니다.

apk info lighttpd | head -n1 | sed 's/^lighttpd-\(.*\) description:/\1/g'

다음은 패키지 버전을 가져오는 간단한 함수입니다.

apkver() {
    apk info "$1" | head -n1 | sed "s/^$1-\(.*\) description:/\1/g"
}

답변2

이 문제는 apk저장소가 업데이트되지 않았기 때문에 발생할 가능성이 높습니다.

이것은 나에게 잘 작동합니다.

monitor:~# apk search lighttpd
lighttpd-mod_auth-1.4.45-r1
acf-lighttpd-0.6.0-r2
lighttpd-mod_webdav-1.4.45-r1
lighttpd-1.4.45-r1
lighttpd-doc-1.4.45-r1
lighttpd-dbg-1.4.45-r1
monitor:~# apk add lighttpd
(1/10) Installing libev (4.24-r0)
(2/10) Installing libintl (0.19.8.1-r1)
(3/10) Installing libmount (2.28.2-r2)
(4/10) Installing glib (2.52.1-r0)
(5/10) Installing gamin (0.1.10-r10)
(6/10) Installing db (5.3.28-r0)
(7/10) Installing libsasl (2.1.26-r10)
....

먼저 apk update.

관련 정보