Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

MTP를 이용해 안드로이드 폰·태블릿에서 Ubuntu로 파일 전송하는 방법 (단계별 가이드)

구글 안드로이드는 물론 Android x86, Android x86_64 같은 최신 플랫폼도 Ubuntu와 동일한 커널을 기반으로 합니다. 두 운영체제 모두 GNU/Linux 계열이기 때문에 서로 간의 파일 전송은 일반적으로 매우 간단합니다. 스마트폰이나 태블릿을 USB 케이블로 Ubuntu PC에 직접 연결할 수 있다면 파일을 주고받는 데 큰 어려움이 없습니다. 듀얼부팅 여부와 관계없이 Ubuntu가 설치된 매킨토시 머신에서도 마찬가지로 작동합니다.

MTP를 사용하면 상황이 조금 달라집니다

파일 관리자 대신 미디어 전송 프로토콜(MTP) 앱을 사용해 파일을 옮기고 싶다면 이야기가 조금 복잡해집니다. MTP와 Ubuntu는 기본적으로 잘 어울리지 않기 때문입니다. 다행히 두 시스템이 동일한 파일 시스템 라이브러리를 공유하도록 설정하면, 어떤 안드로이드 기기와도 손쉽게 파일을 주고받을 수 있습니다.

이 방법은 GNOME Files 외에 대체 파일 관리자를 사용하는 공식 Ubuntu 배포판에서도 모두 적용됩니다. Thunar를 쓰는 Xubuntu, PCManFM을 쓰는 Lubuntu, Dolphin을 쓰는 Kubuntu에서도 문제없이 작동하지만, 해당 환경에 맞는 MTP 플러그인이나 도구를 함께 사용해야 할 수 있습니다.

Ubuntu에 MTP 설치하고 사용하기

먼저 몇 가지 필수 MTP 패키지를 설치해야 합니다. Synaptic 패키지 관리자가 설치되어 있다면 Dash, Whisker 메뉴 또는 LX 패널에서 실행한 후 아래 패키지를 검색해 설치하세요.

  • libmtp-common
  • mtp-tools
  • libmtp-dev
  • libmtp-runtime
  • libmtp9

설치 과정에서 Synaptic이 이들 패키지를 의존성으로 자동 제안하는 경우가 많으므로, 하나하나 찾아 설치할 필요는 없을 수 있습니다. 프로그램 실행 후 긴 목록에서 패키지 이름을 직접 입력해 빠르게 찾을 수 있습니다. 패키지 설치에는 root 권한이 필요하므로 시작 시 비밀번호를 입력하라는 메시지가 나타날 것입니다.

터미널로 더 간편하게 설치하기

더 쉬운 방법은 터미널을 여는 것입니다. CTRL + ALT + T 키를 눌러 터미널을 실행한 뒤 다음 명령어를 순서대로 입력하세요.

sudo apt-get update
sudo apt-get install libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9
sudo apt-get dist-upgrade

어느 방법을 사용하든 필요한 MTP 도구가 시스템에 설치됩니다.

FUSE 권한 설정 변경하기

FUSE(Filesystem in Userspace)는 사용자가 수행하는 파일 시스템 마운트를 관리하며, 기본적으로 root 계정에만 무제한 접근을 허용합니다. Ubuntu에서는 이 root 계정이 기본적으로 잠겨 있으므로, FUSE의 내장 보안 정책을 설정 파일 수정으로 우회해야 합니다.

터미널에서 다음 명령어를 입력하고 엔터를 누르세요.

sudo nano /etc/fuse.conf

파일 하단에서 #user_allow_other로 시작하는 줄을 찾아 앞의 해시(#) 기호를 삭제합니다. 다른 줄은 그대로 주석 처리된 상태로 두면 됩니다. CTRL + X를 누른 뒤 y를 누르고 엔터 키를 누르면 파일이 저장됩니다.

기기 식별 정보 등록하기

USB 케이블로 안드로이드 기기를 PC에 연결한 다음, 터미널에 lsusb 명령어를 입력해 장치 목록 테이블을 확인하세요. 목록에서 사용 중인 기기의 이름을 찾으면 됩니다. 나머지 정보는 무시해도 안전하며, 이름을 놓쳤다면 몇 번이고 다시 실행해도 됩니다.

기기를 식별하는 줄을 찾았다면 다음 명령어로 udev 규칙 파일을 엽니다.

sudo nano /etc/udev/rules.d/69-libmtp.rules

nano 대신 vi나 emacs처럼 선호하는 텍스트 편집기를 사용해도 좋습니다. 파일 하단에 다음 형식의 코드를 추가하세요.

SUBSYSTEM=="usb", ATTR{idVendor}=="####", ATTR{idProduct}=="####", MODE="0666" #nameOfDevice

nameOfDevice는 lsusb에서 확인한 기기 이름으로 바꾸고, 네 자리 숫자 부분(#으로 표시된 ####)은 기기 이름 바로 뒤에 오는 첫 번째와 두 번째 네 자리 ID 값으로 교체합니다. 기술적으로 # 뒤의 텍스트는 주석 라벨이므로 원하는 내용을 자유롭게 입력할 수 있습니다. 기기에 대한 참고 사항을 남기기에 적합한 위치입니다.

udev 재시작 및 재부팅

파일을 저장했다면, 시스템에 연결된 USB 장치를 안전하게 제거한 후 터미널에서 다음 명령어를 실행합니다.

sudo service udev restart

그런 다음 열려 있는 작업을 저장하고 가능한 한 모든 프로그램을 종료한 뒤, PC를 완전히 재부팅하세요.

재부팅이 끝나면 화면 잠금이 해제되어 있는지 확인한 후 안드로이드 폰이나 태블릿을 다시 연결합니다. 이제 더 빠른 MTP 라이브러리를 통해 기기와 파일을 자유롭게 주고받을 수 있습니다. 데이터 버퍼가 안드로이드 기기에 완전히 기록되었는지 확인하려면 언제든 인자 없이 sync 명령어를 터미널에서 실행하세요. 이렇게 하면 데이터 손실 위험을 확실히 막을 수 있습니다.

microSD 카드가 vfat으로 마운트되는 이유

기기에 microSDHC 슬롯이 있다면 Ubuntu가 해당 카드를 vfat 파일 시스템으로 마운트하는 경우가 있는데, 이 때문에 혼란스러워하는 사용자가 많습니다. 사실 이것은 MTP와는 전혀 관련이 없으며, MTP를 설치하지 않았더라도 동일하게 발생합니다.

vfat은 Virtual File Allocation Table의 약자지만, 가상화나 에뮬레이션과는 아무런 관계가 없습니다. 오래된 MS-DOS의 파일 관리 방식을 계승한 표준 FAT12, FAT16 또는 FAT32 파일 시스템입니다. 과거 마이크로소프트 윈도우는 DOS가 지원하지 않는 긴 파일 이름을 이런 파일 시스템에 기록하기 위해 가상 디바이스 드라이버를 사용했는데, 안드로이드도 SD 카드를 마운트할 때 동일한 구조를 활용합니다.

카드가 이런 방식으로 마운트되었다면 Ubuntu와 카드 사이에서 파일을 자유롭게 복사하고 이동할 수 있습니다. 다만 Unix 파일 권한은 지원되지 않으니 유의하세요. 데이터 손실을 방지하려면 별도의 USB 장치처럼 반드시 안전하게 eject(마운트 해제)한 후 분리해야 합니다.


작성자 소개

MTP를 이용해 안드로이드 폰·태블릿에서 Ubuntu로 파일 전송하는 방법 (단계별 가이드)

Kevin Arrows

Kevin Arrows는 10년 이상의 업계 경력을 지닌 베테랑 기술 전문가로, Microsoft Certified Technology Specialist(MCTS) 자격증을 보유하고 있습니다. 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅 등 다양한 IT 분야에서 폭넓게 집필해 왔으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 동료들에게 폭넓은 신뢰를 받고 있습니다. 최신 기술 트렌드를 꾸준히 학습하며 독자들에게 실질적인 가이드를 전달하는 데 큰 열정을 가지고 있습니다.