Termux
안드로이드에서 쉘 환경을 이용할 수 있도록 하는 앱.
패키지 매니저는 apt와 dpkg를 사용한다. 하지만 termux는 데비안/우분투 기반은 아니다. termux에서는 pkg 유틸리티를 이용하는 것을 추천한다.
구글 플레이에서는 최신 업데이트가 끊겼다. F-Droid에서 다운받아야 한다.
ftp, samba와 같은 파일 서버에서 http 같은 웹 서버, 가상화 소프트웨어를 설치할 수도 있고 가벼운 GUI도 설치할 수 있다.
스마트폰 화면 상에서 사전에 저장된 쉘 스크립트를 실행할 수 있는 확장 기능도 지원한다. 스마트폰을 루팅한 상태에선 root 권한을 이용하여 도커 같은 가상화 소프트웨어도 작동시킬 수 있다. 루팅했다면 스마트폰의 시스템 디렉토리에도 접근 가능하다.
도커 같은 가상화 소프트웨어는 작동이 불가능할 수도 있다.
termux는 안드로이드(리눅스)의 루트 디렉토리에 패키지를 설치하지 않고 termux 앱의 file 디렉토리의 하위에 /home($HOME), /usr($PREFIX) 디렉토리를 둔다. /usr 디렉토리가 리눅스의 루트 디렉토리와 유사하다. 엄밀히는 루트 아래에 있는 사용자가 설치한 프로그램, 설정 등이 위치한 usr 디렉토리이다.
#패키지 업그레이드
pkg upgrade
#or
apt upgrade안드로이드 슈퍼유저 권한을 사용하는 앱들이 있다.
pkg install root-repo
- 사전 설정
# 현재 사용자 이름 알아내기 whoami # 현재 사용자 비밀번호 설정 passwd # 비밀번호를 두 번 입력한다. # 현재 설정된 IP 주소 알아내기 ifconfig wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet *.*.*.* netmask 255.255.240.0 broadcast *.*.*.*
- 설치:
pkg install openssh - 설정 디렉토리: ~/../usr/etc/ssh/
- 데몬 실행: sshd
ifconfig을 치고 알아낸 ip 주소를 이용하여 다른 컴퓨터에서 접속한다.
termux의 ssh 기본 포트 번호는 8022이다.
ssh *.*.*.* -p 8022
비밀번호는 보안성이 좋지 않은데 ssh key를 생성해서 키를 이용해 접속하는 것이 좋다.
sshd 서버 설정은 구글링을 통해서 알아보자.
- 설치:
pkg install termux-services - 설정 디렉토리:
- 서비스 활성화: sv up <서비스>
- 서비스 비활성화: sv down <서비스>
termux가 켜졌을 때 자동 실행된다.
서비스 디렉토리
$PREFIX/var/service ($PREFIX => ~/../usr)
로그 디렉토리
$PREFIX/var/log
~/(=> $HOME) 디렉토리에 .bashrc를 만들면 된다.
$PREFIX/etc/resolv.conf 파일에서 변경할 수 있다.
$PREFIX/etc/termux-login.sh에 있다.
pkg install root-repo pkg install docker
Termux 상에 리눅스도 올릴 수 있다. 성능은 약간 깎인다. proot를 이용하여 올리는 방법도 있는데 root 권한이 필요한 작업은 하지 않는 것이 좋다. 안드로이드 운영체제가 망가질 수 있다.