집에 굴러다니는 구형 갤럭시 폰이라도 컴퓨팅 파워면에서 홈서버로 쓰기에 손색이 없다. 갤럭시 폰을 가정용 리눅스 서버로 쓰는 가장 쉬운 방법은 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를 꺼보셨나요?
'병상일기' 카테고리의 다른 글
| 딱 알맞은 C 후속 언어, C3 (0) | 2025.12.02 |
|---|---|
| 텍스트로서의 코란 - 횡설수설 (0) | 2025.11.06 |
| 국내 척수손상 재생신약 KDS2010 (IBS) (0) | 2025.10.17 |
| ARC-EX기기를 이용한 손기능 개선 (척수손상 사지마비) (0) | 2025.09.15 |
| 사업화 아이디어: 한글 이름 AI 서비스 (0) | 2025.09.02 |