그냥 설치해도 되나요?무료아치 리눅스의 패키지? 아니면 설치하기 전에 패키지 라이센스를 문의하시겠습니까? -Q
특정 라이센스의 텍스트를 검색하는 데 사용할 수 있다고 생각 하지만 이는 과도한 것 같습니다.
답변1
expac
[추가]의 apm 데이터 도구를 사용하여 이 작업을 수행 할 수 있습니다 . 예를 들어, Apache 라이센스 소프트웨어 저장소를 검색하려면 다음을 수행하십시오.
expac -Ss '%L - %n' '^Apache'
참고: expac은 대상의 전체 검색을 수행하므로 추가 필터링이 필요할 수 있습니다.
하지만 궁극적으로 무료 소프트웨어만 원한다면포물선리눅스, 이는 Arch를 기반으로 하지만 별도의 배포판입니다.
답변2
pacman 명령의 / 또는 / 옵션을 사용하면 -i
라이센스가 포함됩니다 . jasonwryan이 제안한 대로 다른 소프트웨어를 설치할 필요가 없습니다.--info
-Q
--query
-S
--sync
다음은 결과의 몇 가지 예입니다 pacman -Si glibc
.
Name : glibc
Version : 2.33-4
Description : GNU C Library
Architecture : x86_64
URL : https://www.gnu.org/software/libc
Licenses : GPL LGPL
Groups : None
Provides : None
Depends On : linux-api-headers>=4.10 tzdata filesystem
Optional Deps : gd: for memusagestat
Conflicts With : None
Replaces : None
Download Size : 9.84 MiB
Installed Size : 46.04 MiB
Packager : Allan McRae <[email protected]>
Build Date : Sat 13 Feb 2021 04:39:21 PM EST
Validated By : MD5 Sum SHA-256 Sum Signature
이제 출력을 sed로 파이프하여 bash 스크립트로 만들 수 있습니다.
#!/bin/bash
pacman -Si "$@" | sed -E -n 's/Licenses\s*?:\s+(.+)/\1/p'
# "$@" | pass through arguments (same as $1 $2 $3 ...)
# sed | stream editor
# -E | extended (better) regex
# -n | disable default printing of all lines
# s/ | substitution command
# Licenses | literal string "Licenses"
# \s* | zero or more whitespace characters
# : | literal character ":"
# \s+ | one or more whitespace characters
# (.+) | capture rest of line after non-whitespace
# /\1 | replace with first capture group (.+)
# /p | re-enable printing, but only for matches
출력 예 pacman-license glibc curl ffmpeg
(주석 있음):
GPL LGPL # glibc
MIT # curl
GPL3 # ffmpeg