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
.