기술 가이드

Linux에서 .sh 파일 설치 방법

5 min read 가이드 업데이트됨 21 Oct 2025
Linux에서 .sh 파일 설치하는 방법
Linux에서 .sh 파일 설치하는 방법

.sh 파일은 쉘 스크립트로 패키지 설치에 자주 쓰입니다. 본문에서는 파일 검증, 터미널과 GUI를 통한 설치 방법, 권한 설정, 문제 해결, 보안 권장사항과 대체 설치 방식까지 단계별로 설명합니다. 초보자도 따라할 수 있도록 체크리스트와 결정 흐름도도 제공합니다.

무엇이 .sh 형식인가

.sh 파일은 쉘 스크립트로, 리눅스와 유닉스 계열 시스템에서 실행 가능한 명령어의 집합입니다. 일반적으로 설치 프로그램, 설정 스크립트, 배포 스크립트로 사용됩니다. 확장자는 단순 표기이며, 내부는 텍스트로 되어 있어 편집과 검토가 가능합니다.

정의 한 줄: .sh 파일은 셸에서 실행되는 스크립트 파일로, 설치와 자동화를 위해 자주 사용됩니다.

중요: .sh 파일은 코드이므로 신뢰할 수 있는 출처에서만 내려받고 실행해야 합니다.

요구 사항과 준비

  • 터미널 접근 권한이 필요합니다. 일반 사용자 권한으로 충분한 경우도 있고, 설치 과정에서 루트 권한이 필요한 경우도 있습니다.
  • 파일이 압축되어 있는 경우 먼저 압축을 풉니다.
  • 파일의 실행 권한을 확인하고 필요 시 부여합니다.
  • 네트워크, 디스크 여유 공간, 의존성 패키지 확인을 권장합니다.

예비 명령 예시:

# 압축 풀기 예시
tar -xvf package.tar.gz
unzip package.zip

# 디렉토리 이동
cd package-directory

파일 형식과 안전성 확인

  1. 텍스트로 열어 내용 확인
less filename.sh
# 또는
nano filename.sh
  • 스크립트 상단에 보이는 shebang 라인(예: #!/bin/bash)을 확인합니다. 이는 어떤 셸로 실행될지 지정합니다.
  • 설치 전 의심스러운 명령(예: rm -rf /, 원격에서 임의 스크립트를 다운로드해 실행하는 패턴 등)이 있는지 확인합니다.
  1. 해시값이나 서명이 제공되면 검증
  • 제공 사이트에서 해시(SHA256 등)나 서명을 검증하세요. 서명이 있으면 신뢰도 높음.
  1. 소스 출처 검토
  • 공식 사이트나 신뢰되는 오픈소스 저장소를 우선 사용하세요.

방법 1: 터미널에서 sudo로 설치하기 (권장 초심자용)

  1. 압축을 풀고 설치 스크립트가 있는 디렉토리로 이동합니다.
  2. 터미널에서 다음을 실행합니다.
sudo bash filename.sh
  • sudo는 루트 권한으로 실행합니다. 설치 중 권한 요구가 있을 때 사용합니다.
  • 설치가 시작되면 터미널을 닫지 마세요. 설치가 백그라운드에서 진행 중일 수 있습니다.

이미지: sh 파일 설치 방법 예시, 추출 폴더에서 터미널 열기

이미지: 추출한 폴더에서 터미널 열기 화면

이미지: 관리자 비밀번호 입력 화면을 보여주는 예시

이미지: 설치가 완료된 프로그램 화면 예시

이미지: 메뉴에서 XDM 프로그램이 보이는 예시

방법 2: 터미널에서 sh로 실행하기 (대체 방법)

어떤 스크립트는 bash와 호환되지 않거나 특정 셸로만 정상 동작할 수 있습니다. 이때는 다음처럼 실행합니다.

sh filename.sh

또는 스크립트 내부에서 사용된 셸과 실행 방법을 맞춰 실행하세요.

이미지: 추출 폴더에서 터미널 열기 대체 예시

이미지: sh 명령어로 설치를 실행하는 예시

방법 3: 직접 실행 권한을 주고 실행하기

  1. 실행 권한을 부여합니다.
chmod +x filename.sh
  1. 현재 디렉토리에서 직접 실행합니다.
./filename.sh
  • 이 방법은 스크립트가 실행 가능한 상태일 때 사용합니다.
  • 위 명령은 스크립트를 현재 쉘에서 실행하므로, 스크립트가 특정 환경 변수를 필요로 하면 적절히 설정해야 합니다.

이미지: 실행 권한 설정과 실행 예시

GUI에서 .sh 실행하기

일부 데스크톱 환경에서는 파일 관리자를 통해 바로 실행할 수 있습니다.

  1. .sh 파일을 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동합니다.
  2. 권한 탭에서 실행 허용 옵션을 체크합니다.
  3. 파일을 더블클릭하면 실행되거나, 우클릭 메뉴에서 실행을 선택합니다.

이미지: 속성에서 권한 탭 확인 예시

이미지: 실행 권한 옵션 체크 예시

노트: 모든 데스크톱 환경에서 GUI 실행을 지원하지는 않습니다. 배포판과 파일 관리자 설정에 따라 동작이 다릅니다.

추가 명령과 용어 정리

  • bash filename.sh : Bash 셸로 스크립트를 실행합니다.
  • sh filename.sh : sh로 실행합니다. POSIX 호환 스크립트에 사용합니다.
  • ./filename.sh : 파일에 실행 권한이 있을 때 현재 디렉토리에서 실행합니다.
  • chmod +x filename.sh : 실행 권한을 추가합니다.

간단하게 말하면: 권한이 없으면 chmod +x로 권한을 주고, 권한이 있어도 셸 호환성 문제가 있으면 bashsh로 명시 실행하세요.

언제 설치가 실패하는가 — 대표적인 원인과 대처

  • 권한 부족: sudo로 재시도하거나 관리자에게 권한을 요청합니다.
  • 스크립트가 손상되었거나 부분적으로 다운로드됨: 다시 다운로드하고 해시 검증을 합니다.
  • 누락된 의존성: 설치 로그를 확인해 누락된 패키지를 설치합니다. 예: sudo apt install .
  • 스크립트가 특정 배포판에만 맞춰져 있음: 스크립트 내부에서 배포판 체크를 수행하는지 확인하고, 필요하면 배포판에 맞는 패키지를 사용합니다.
  • 악성 스크립트: 의심스러운 명령이 있으면 실행을 중단하고 리뷰합니다.

대체 설치 방식과 사용 시기

  • DEB/RPM 패키지: 우분투/데비안 계열과 레드햇 계열에서 시스템 패키지 관리자를 통해 설치할 때 사용. 시스템 종속성 관리를 자동으로 해 주는 장점이 있습니다.
  • Snap/Flatpak/AppImage: 샌드박스화나 이식성이 중요할 때 유용합니다.
  • 소스 빌드: 소스에서 직접 빌드해야 하는 경우에 사용하지만, 의존성 관리가 귀찮을 수 있습니다.

결정 기준 요약: 배포판 표준 패키지가 있으면 우선 사용. 없으면 snap/flatpak/appimage를 고려하고, 그래도 없으면 .sh 또는 소스 빌드를 사용합니다.

보안 권장사항

  • 출처 검증: 공식 사이트 또는 신뢰 가능한 저장소에서만 파일을 받으세요.
  • 실행 전 파일 내용 검토: 스크립트에 민감한 시스템 파일 삭제나 원격 코드 다운로드 명령이 있는지 확인하세요.
  • 최소 권한 실행: 가능하면 일반 사용자로 먼저 실행해보고, 루트 권한이 정말 필요한 단계에서만 sudo를 사용하세요.
  • 네트워크 연결: 설치 스크립트가 네트워크를 통해 추가 파일을 가져오는지 확인하고, 방화벽 정책을 검토하세요.

검사 체크리스트

  • 파일 압축을 해제했는가
  • shebang을 확인했는가
  • 파일 내용을 검토했는가
  • [ ] 실행 권한을 부여했는가(chmod +x)
  • 필요한 의존성을 파악했는가
  • 설치 전 백업이 준비되었는가
  • 신뢰할 수 있는 출처인가

역할별 간단 체크리스트

  • 사용자: GUI나 터미널로 설치 시도, 문제 있으면 스크린샷과 로그 수집
  • 시스템 관리자: 권한 및 의존성 검토, 시스템 패키지와 충돌 여부 확인
  • 개발자: 설치 스크립트에 명시된 경로와 환경 변수 점검

결정 흐름도

flowchart TD
  A[파일 획득] --> B{압축 상태?}
  B -- 압축 --> C[압축 해제]
  B -- 미압축 --> C
  C --> D{sh 파일 신뢰 가능한가?}
  D -- 아니오 --> E[내용 검토 및 해시 확인]
  D -- 예 --> F{실행 권한 있는가?}
  F -- 아니오 --> G[chmod +x]
  F -- 예 --> H{루트 권한 필요?}
  H -- 예 --> I[sudo bash filename.sh]
  H -- 아니오 --> J[./filename.sh 또는 sh filename.sh]
  E --> D

검증 기준

  • 설치 프로세스가 에러 없이 완료되고, 설치된 프로그램이 정상 동작할 것
  • 설치 로그에 치명적 오류가 없을 것
  • 시스템 패키지와 충돌이 없어야 함

사례: Xtreme Download Manager 설치 예시

  1. 공식 사이트에서 압축 파일을 내려받음
  2. 압축을 특정 폴더에 풀고 파일 목록 확인
  3. sudo bash로 스크립트를 실행하거나 chmod +x./xdm.sh로 실행
  4. 메뉴에 프로그램이 추가되는지 확인

실제 설치 화면 예시는 본문 상단의 이미지들에서 확인할 수 있습니다.

요약

  • .sh 파일은 쉘 스크립트로 설치 자동화에 자주 쓰입니다.
  • 먼저 파일 내용을 검토하고 신뢰도를 확인하세요.
  • 권한 설정(chmod +x), 셸 지정(bash 또는 sh), sudo 사용 순으로 안전하게 실행하세요.
  • GUI 실행은 배포판마다 동작이 달라 실패할 수 있으니 터미널 방법을 권장합니다.
  • 대체 방식으로 DEB, RPM, Snap, Flatpak, AppImage 등을 고려하세요.

중요: 언제나 출처를 확인하고, 루트 권한 사용 시 주의하세요.

감사합니다. 질문이나 설치 실패 사례가 있으면 아래 코멘트로 남겨 주세요.

공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

Debian 11에 Podman 설치 및 사용하기
컨테이너

Debian 11에 Podman 설치 및 사용하기

Apt-Pinning 간단 소개 — Debian 패키지 우선순위 설정
시스템 관리

Apt-Pinning 간단 소개 — Debian 패키지 우선순위 설정

OptiScaler로 FSR 4 주입: 설치·설정·문제해결 가이드
그래픽 가이드

OptiScaler로 FSR 4 주입: 설치·설정·문제해결 가이드

Debian Etch에 Dansguardian+Squid(NTLM) 구성
네트워크

Debian Etch에 Dansguardian+Squid(NTLM) 구성

안드로이드 SD카드 설치 오류(Error -18) 완전 해결
안드로이드 오류

안드로이드 SD카드 설치 오류(Error -18) 완전 해결

KNetAttach로 원격 네트워크 폴더 연결하기
네트워킹

KNetAttach로 원격 네트워크 폴더 연결하기