기술 가이드

Linux에 ADB와 Fastboot 설치 및 사용 방법

6 min read 개발자 도구 업데이트됨 22 Sep 2025
Linux에 ADB와 Fastboot 설치 및 사용 가이드
Linux에 ADB와 Fastboot 설치 및 사용 가이드

중요: 부트로더 언락이나 플래시 작업은 데이터 손실과 보증 무효화를 초래할 수 있습니다. 작업 전에 반드시 백업하세요.

ADB 및 Fastboot 설치 안내 이미지

개요

ADB(Android Debug Bridge)와 Fastboot는 Android SDK의 플랫폼 도구 일부로, PC와 Android 기기 사이에 디버그 브리지를 만듭니다. ADB는 기기 상의 쉘, 파일 전송, 앱 설치 등을 수행합니다. Fastboot는 부트로더/플래시 관련 진단 및 이미지 전송에 사용됩니다. 이 글은 Ubuntu 20.04 기반 예시를 사용하지만 대부분의 Linux 배포판에서 동일한 절차로 적용됩니다.

관련 검색 의도: Linux에 ADB 설치, Fastboot 설치, ADB 사용법, Ubuntu에서 ADB, udev 규칙 설정, ADB 명령어 모음


준비물

  • Linux PC(예: Ubuntu 20.04 이상)
  • USB 케이블(데이터 전송 가능)
  • Android 기기: 개발자 옵션과 USB 디버깅 활성화 필요

개발자 옵션 활성화 방법: 설정 > 폰 정보 > 빌드 번호를 연속으로 터치(일반적으로 5~7회). 이후 설정 > 개발자 옵션 > USB 디버깅을 켭니다.

개발자 옵션 예시

설치 방법 개요

아래 두 가지 방법 중 하나를 선택하세요.

  • 방법 A: 패키지 매니저(터미널)로 간단 설치
  • 방법 B: Google platform-tools(수동 설치) 사용 — 최신 버전 보장

방법 A: 터미널에서 apt로 설치 (간단)

터미널을 열고(예: Ctrl+Alt+T) 저장소 정보를 업데이트한 후 패키지를 설치합니다. 첫 세션이라면 sudo 비밀번호를 묻습니다.

sudo apt update
sudo apt-get install android-tools-adb android-tools-fastboot

설치 후 ADB 서버가 자동으로 시작됩니다. 만약 에러가 발생하면 아래로 시작하세요:

sudo adb start-server

sudo apt update 화면

방법 B: Google platform-tools 사용 (권장: 최신 도구)

  1. Google의 Android SDK platform-tools ZIP을 다운로드합니다(또는 공식 SDK Manager 이용).
  2. ZIP을 추출하고 경로를 기억합니다.

platform-tools 압축 해제 화면

  1. 터미널을 열고 추출한 폴더로 이동합니다:
cd /path/to/extracted/folder/

(예: cd /home/username/Downloads/platform-tools)

  1. 또는 파일 관리자에서 폴더를 연 뒤 빈 공간에서 우클릭 → “터미널에서 열기”를 선택해도 됩니다.

파일 관리자에서 터미널 열기

platform-tools 폴더에 들어가면 adb와 fastboot 실행 파일이 있습니다. 이 폴더를 PATH에 추가하면 어디서든 사용할 수 있습니다.

예: ~/.bashrc 또는 ~/.profile에 추가

export PATH="$PATH:/home/username/Downloads/platform-tools"

변경 후 터미널을 재시작하거나 source ~/.bashrc를 실행하세요.


기기 연결 및 기본 사용법

ADB 버전 확인:

adb version

adb version 출력 예시

기기 연결 확인(USB 디버깅 활성화 필요):

adb devices

adb devices 출력 예시

정상 연결 시 시리얼 같은 코드와 상태(예: device)가 표시됩니다.

USB 디버깅 권한 요청

기기를 처음 연결하면 기기 화면에서 “USB 디버깅 허용” 대화상자가 뜹니다. 신뢰할 수 있는 PC인지 확인한 뒤 허용하세요.

USB 디버깅 허용 안내


권한 문제: udev 규칙 설정 (비루트로 adb 사용하기)

루트 권한 없이 adb를 사용하려면 해당 기기 벤더 ID에 대한 udev 규칙을 추가합니다.

  1. USB로 기기를 연결하고 lsusb로 벤더 ID를 확인합니다.
lsusb
# 출력 예시: Bus 002 Device 006: ID 18d1:4ee2 Google Inc.
  1. /etc/udev/rules.d/51-android.rules 파일을 만들고 벤더 규칙을 추가합니다. 예:
sudo nano /etc/udev/rules.d/51-android.rules

파일 내용(예):

# Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
# Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"

일반적으로 사용되는 벤더 ID 예: Google(18d1), Samsung(04e8), Huawei(12d1), Xiaomi(2717). 실제 ID는 lsusb로 확인하세요.

  1. 규칙 적용:
sudo udevadm control --reload-rules
sudo udevadm trigger

그런 다음 USB를 재연결하고 adb devices를 실행합니다.

중요: /etc/udev/rules.d 파일의 퍼미션과 소유권을 적절히 유지하세요. MODE를 0666으로 두면 모든 사용자가 접근할 수 있으므로 보안 정책에 따라 조정하세요.


자주 쓰는 ADB 및 Fastboot 명령 모음 (치트시트)

  • adb devices — PC와 기기 연결 확인
  • adb version — adb 버전 확인
  • adb start-server / adb kill-server — ADB 서버 시작/종료
  • adb reboot recovery — 리커버리 모드로 재부팅
  • adb reboot-bootloader — 부트로더 모드로 재부팅
  • adb push [로컬경로] [원격경로] — PC → 기기 파일 복사 예: adb push myfile.zip /sdcard/Download/
  • adb pull [원격경로] [로컬경로] — 기기 → PC 파일 복사
  • adb shell [명령] — 기기 쉘에서 명령 실행 예: adb shell pm list packages
  • adb install app.apk — APK 설치 (디폴트 경로에서는 서명 규칙이 적용됨)
  • adb logcat — 실시간 로그 확인

Fastboot 관련:

  • fastboot devices — fastboot 모드에서 기기 확인
  • fastboot oem unlock — 부트로더 언락(제조사별 다름)
  • fastboot flashing unlock — 새로운 표준 부트로더 언락 명령
  • fastboot flash recovery recovery.img — 리커버리 이미지 플래시
  • fastboot flash boot boot.img — 부트 이미지 플래시
  • fastboot erase userdata — 사용자 데이터 파티션 삭제(데이터 초기화)

주의: oem unlock 또는 flashing unlock은 기기 제조사에 따라 작동 방식과 위험이 다릅니다. 반드시 공식 가이드 확인 및 데이터 백업을 하세요.


플래시/복구 작업의 간단 플레이북

  1. 데이터 백업(ADB 또는 MTP) 및 중요한 파일 복사
  2. 부트로더 언락 정책 확인(제조사별 절차 준수)
  3. 기기를 부트로더/fastboot 모드로 부팅: adb reboot-bootloader
  4. fastboot로 기기 인식 확인: fastboot devices
  5. (선택) 부트 이미지/리커버리 플래시:
fastboot flash recovery twrp.img
fastboot reboot
  1. 성공 여부 확인 및 정상 부팅 검증

인수 기준:

  • 기기가 fastboot 명령에 응답한다.
  • 플래시 후 해당 리커버리가 정상 구동한다.
  • 데이터 복구 가능 또는 백업이 완료되었다.

문제 해결 요약(자주 보는 오류와 해결책)

문제: adb devices가 빈 목록을 반환함

  • USB 케이블이 데이터 전송용인지 확인하세요(충전 전용 케이블이면 동작하지 않음).
  • 기기에서 USB 디버깅을 활성화했는지 확인하세요.
  • udev 규칙이 적용되었는지 확인하고 USB를 재연결하세요.
  • adb kill-serveradb start-server를 실행해 보세요.

문제: “unauthorized”로 표시됨

  • 기기 화면에서 “USB 디버깅 허용” 팝업에서 허용을 선택하세요.
  • 만약 팝업이 보이지 않으면 기기에서 선을 뺐다가 다시 연결하고 권한 대화상자를 확인하세요.

문제: fastboot devices에 나타나지 않음

  • 기기가 fastboot/부트로더 모드로 있는지 확인하세요(기기별 버튼 조합 또는 adb reboot-bootloader).
  • 드라이버/udev 규칙을 점검하세요.

문제: 권한 문제로 파일 전송 불가

  • udev 규칙을 올바르게 추가했는지 확인하고 sudo udevadm control --reload-rules 실행 후 USB 재연결.

보안 및 개인 정보 주의사항

  • 부트로더 언락 시 기기 초기화(데이터 삭제)가 발생할 수 있습니다.
  • 신뢰할 수 없는 이미지를 플래시하면 보안 취약점 또는 영구 손상이 생길 수 있습니다.
  • 회사 기기 또는 확인되지 않은 하드웨어에서는 관리자 정책을 확인하세요.

역할별 체크리스트

개발자:

  • platform-tools 최신 버전 사용
  • adb logcat으로 앱 로그 모니터링
  • 디버그 APK 서명 설정 확인

지원 엔지니어:

  • adb shell로 로그/상태 확인
  • adb pull로 로그 파일 수집
  • udev 규칙으로 원격 엔지니어가 권한 없이 접근 가능하게 설정

일반 사용자(튜토리얼 따라하기):

  • 중요한 데이터 백업
  • 제조사 가이드 숙지
  • 안정적인 USB 케이블 사용

짧은 결정 트리(간단 판단 흐름)

flowchart TD
  A[기기 연결됨?] -->|아니오| B[USB 케이블 확인]
  A -->|예| C[adb devices 실행]
  C -->|빈 목록| D[USB 디버깅 확인]
  C -->|unauthorized| E[기기에서 허용 팝업 확인]
  C -->|device| F[작업 수행: adb shell / push / pull]

1줄 용어집

  • ADB: Android Debug Bridge, 기기 디버깅/명령 전송 도구
  • Fastboot: 부트로더와 직접 통신해 이미지 플래시/진단하는 도구
  • udev 규칙: Linux에서 USB 장치의 권한을 제어하는 규칙 파일

결론

이 가이드를 통해 Linux에 ADB와 Fastboot를 설치하고, 기본 연결 확인, 권한 문제(udev 규칙), 자주 쓰는 명령어와 플래시 작업의 안전 절차를 배웠습니다. 실무에서는 platform-tools 최신 버전을 사용하고, 부트로더 언락/플래시 전에는 항상 백업과 제조사 정보를 확인하세요.

요약: ADB/fastboot 설치 방법(apt 또는 platform-tools), udev 규칙으로 비루트 접근 설정, 주요 명령 치트시트, 트러블슈팅을 숙지하면 대부분의 작업을 안전하게 수행할 수 있습니다.

감사합니다. 이 글이 도움이 되었다면 댓글로 질문을 남겨주세요. DigitBin YouTube 채널의 튜토리얼도 참고하면 실습에 도움이 됩니다.

공유하기: 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로 원격 네트워크 폴더 연결하기