OS 기술/Linux

패키지 설치 스크립트

DongT 2025. 5. 8. 12:18
728x90
반응형


사용목적

1) 패키지 여러개를 설치해아 할 때 

2) 설치 안된 패키지만 골라서 설치하고 싶을 때

pak_install.sh
0.00MB

패키지 설치 스크립트 내용
# vi pak_install.sh
#!/bin/bash

# 패키지 목록이 들어있는 파일
package_file="pak_list.txt"
output_file="not_install_paklist.txt"

# 파일이 존재하는지 확인
if [[ ! -f "$package_file" ]]; then
    echo "$package_file 파일이 존재하지 않습니다. 먼저 패키지 리스트를 만들어주세요."
    exit 1
fi

# 기존 output 파일 초기화
> "$output_file"

# 파일에서 한 줄씩 읽어서 패키지 설치 여부 확인
while IFS= read -r pkg; do
    # 빈 줄은 건너뛰기
    [[ -z "$pkg" ]] && continue

    dnf list --installed "$pkg" &>/dev/null
    if [[ $? -ne 0 ]]; then
        echo "$pkg" >> "$output_file"
    fi
done < "$package_file"

echo "설치 안된 패키지 목록이 $output_file 파일에 저장되었습니다."
echo

# 설치 여부 물어보기
read -p "설치 안된 패키지를 설치하시겠습니까? (Y/n): " answer

if [[ "$answer" == "Y" || "$answer" == "y" ]]; then
    sudo dnf install -y $(cat "$output_file")
else
    echo "설치를 취소했습니다."
fi

 

설치할 패키지 리스트 예시 (스크립트와 같은 경로에 있어야함, 한줄에 하나씩)
파일이름은 꼭 pak_list.txt로 해야함
# vi pak_list.txt
ksh
ntpstat
nfs-utils

 


실행 결과 값

 - 이미 존재하는 패키지는 제외 되었다


덤1) 네트워크 환경에 따라서 정상 작동이 안될 수도 있다

덤2) 그럴 땐 설치 미디어를 마운트하여 repo 설정 후 진행하면 된다

 (https://dong-it-engineer.tistory.com/94)

 



728x90