패키지 생성 스크립트

패키지 생성 스크립트

패키지가 설치되어 있는지 확인하고 필요한 경우 설치하는 bash 함수를 작성하려고 합니다. 이제는 무슨 일이 있어도 항상 설치됩니다.

install() {
    echo "checking if $1 is already installed"
    if [[ ! $(equery -q l $1 | grep -q "$1") ]]
    then
        emerge -v $1
    else
        echo "$1 is already installed"
    fi
}

install "oracle-jdk-bin"
  • 의 출력은 equery -q l $1다음과 같습니다dev-java/oracle-jdk-bin-1.8.0.45
  • grep은 oracle-jdk-bin을 찾아 1을 반환해야 합니다.

답변1

이머지의 "noreplace" 옵션을 사용하는 것은 어떻습니까?

설명: "명령줄에 지정된 설치된 패키지를 건너뜁니다. 이 옵션이 없으면 명령줄에 지정한 패키지 원자나 패키지 세트가 이미 설치되어 있더라도 포티지가 패키지를 다시 병합하게 됩니다. 기본적으로, 포티지는 종속성을 다시 병합하지 않습니다. 이 옵션을 사용하면 패키지를 다시 빌드하지 않고도 월드 파일을 업데이트할 수 있습니다."https://dev.gentoo.org/~zmedico/portage/doc/man/emerge.1.html

관련 정보