728x90
반응형
사용목적
1) 패키지 여러개를 설치해아 할 때
2) 설치 안된 패키지만 골라서 설치하고 싶을 때
패키지 설치 스크립트 내용 # 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
'OS 기술 > Linux' 카테고리의 다른 글
Rocky Linux CD repo DNF 이용 (1) | 2025.05.08 |
---|---|
우분투에서 vi와 vim 백스페이스 (0) | 2025.01.09 |
tar 명령어 (압축, 아카이브) (0) | 2024.11.28 |
리눅스 LVM이 없는 환경에서 OS디스크 볼륨 증설하기 (2) | 2024.06.28 |
SNMP Config 셋팅 스크립트 (0) | 2024.05.28 |