병상일기

구형 갤럭시 폰을 가정용 리눅스 서버로 쓰는 법 (Termux)

42-the-answer 2025. 11. 28. 01:21


집에 굴러다니는 구형 갤럭시 폰이라도 컴퓨팅 파워면에서 홈서버로 쓰기에 손색이 없다. 갤럭시 폰을  가정용 리눅스 서버로 쓰는 가장 쉬운 방법은 Termux 앱을 설치하는 것이다.  구글 플레이 스토어에서 다운받을 수 있는 Termux 앱은 안드로이드 폰을 루팅(rooting)하지 않고도 편안하게 리눅스 환경을 제공한다.

• 독자 OS가 아니므로 엄밀히 따지면 리눅스 배포판은 아니다.
• 안드로이드 위에서 기생하는 가상환경을 하나 얹은 것이다. (윈도우에서 기생하는 WSL과 비슷한 포지션이다)
• 불행히도 아이폰에서는 이와 유사한 것이 없다.

Termux 앱을 실행시키면 검은색 터미널 화면과 키보드가 보인다.

• 휴대폰 키보드로 입력이 불가능한 Alt키나, Ctl키, 탭키, PgDown, PgUp키 등을 누를 수 있다.

패키지 관리


데비안 리눅스의 apt와 유사하게 Pacman 기반의 패키지 관리 명령어 pkg 가 있다. 최초에 다음 두 명령어로 초기화 해보자.

* pkg update
* pkg upgrade

대부분의 리눅스 명령어가 바로 사용가능하다.

• whoami
• uname -a
• df .
• ls -alF
• ifconfig -a
• nano

기본 설치된 쉘은 bash 이다.

개발툴 설치


대표적으로 다음 두가지만 해보자,

• pkg install python    (파이선설치)
• pip install flask    (Flask 웹서버 설치)

• pkg install nodejs   (노드JS설치)
• npm install ...   (노드 패키지 관리자로 설치)

Termux에서 안드로이드 스토리지 접근


원칙적으로 Termux와 안드로이드는 분리된 2개의 컴퓨터처럼 격리되어 있다. 다음 명령어로 안드로이드 폴더를 접근할 권한을 허용해 줘야 한다.

• termux-storage-setup

"허용"하면 자동으로 ~/storage 폴더에 심볼릭 링크로 안드로이드 폴더들이 마운팅된다.

• ls ~/storage

다음 폴더들이 보인다.

~/storage/shared: 모든 앱이 공유하는 저장소의 루트 경로 (일반적으로 /sdcard 또는 /storage/emulated/0)
~/storage/downloads: 다운로드 폴더
~/storage/dcim: 카메라/사진 폴더
~/storage/pictures, ~/storage/music, ~/storage/movies 등

원격접속용 ssh 설치


휴대폰 바깥에서 설치된 Termux속으로 쉘 접속을 하려면 ssh/scp 등을 이용해야 하고 필요한 패키지는 openssl 이다.

• pkg install openssl
• sshd    (데몬이 백그라운드로 실행된다)

사용자 아이디는 android 를 쓰면되고, 비밀번호는 최초에 초기화 해서 써야 한다.

• passwd

sshd는 8022번 포트로 동작한다. 다음 명령어로 접속을 확인해 볼 수 있다.

• ssh android@127.0.0.1 -p 8022

외부에서 이 폰으로 접근하려면, ifconfig 명령어로 Termux에 할당된 IP 주소를 알아내서 이용해아 한다.

안드로이드에서 Termux 폴더 접근


SAF(Storage Access Framework)를 지원하는 파일 관리자 앱을 이용해야한다. 구글 플레이 스토어에서 다음중 하나를 설치하자.

• Material Files 앱
• FX File Explorer 앱

앱내에서 "저장소 추가" 메뉴를 선택하고 "Termux"를 선택후 "허용"하면 $HOME 폴더가 마운팅된다. Termux내의 다음 폴더에 해당한다,

• $HOME
• /data/data/com.termux/files/home

SAF 프로토콜 외에도, scp를 이용해서 외부에서 Termux내의 폴더에 접근할 수 있다.

안쓰는 아이폰에서는?


아이폰에서도 유사한 목표로 여러 앱들이 있다.

* iSH
* a-shell
로컬 터미널 (a-Shell, iSH) 로컬 스크립트 실행, 기초 프로그래밍 학습 인터넷 없이 사용 가능, iOS 기기 자체에서 구동 시스템

* Blink Shell
원격 접속 (Blink Shell, SSH) 서버 관리, 전문적인 원격 개발 강력한 성능, 서버의 모든 기능 활용 안정적인

* LibTerm
완전한 Bash 쉘 환경은 아니지만, 많은 일반적인 리눅스 명령어(예: ls, cd, echo, mkdir, grep, tar, gzip 등)를 사용할 수 있도록 에뮬레이션함.
​파일 시스템: 앱 내부의 가상 파일 시스템을 사용하며, iOS의 "파일" 앱을 통해 이 파일 시스템에 접근하여 파일을 관리할 수 있음.

참고)



lemonapple 5일전  [-]
제가 이런거 좋아하는데
가볍게 시작하기엔 termux 정도로도 괜찮습니다. 안쓰는 타블릿에 그라파나 띄우는 정도로는 사용 가능해요.

그러나 안드로이드 os 가 서버로 작동하는것에 적대적으로 반응합니다.
24년도에 공장초기화했던 노트10 기준으로
자식프로세스가 6개 넘을시 kill 당합니다
Idle 한 상태가 길어져도 kill 당합니다.
배터리관련 최적화를 모두 꺼도 그래요

터치화면 안 건드리고 최장 72시간 까지만 돌려보고 그 이후론 포기했어요


geeep 3일전  [-]
phantom process killer를 꺼보셨나요?