[리눅스/안드로이드] termux-storage 그리고 proot 데비안

2023. 5. 6. 19:37리눅스 실제 사용 팁/Termux

작성일 : 2022. 6. 24.
 
LG 스마트폰을 쓸 때는 android/data 경로를 마음껏 드나들었는데 현재 삼성제품을 쓰면서 이런 부분이 보안 때문에?
접근하는 방법이 어려워졌다. 그래서 termux 에서 외부의 파일을 접근하려면 불편하지만 커맨드라인으로 접근해야 한다.

의외로 termux 에서 제공하는 관리 유틸리티가 많은데 이 중에서 termux-setup-storage 를 실행하면 홈디렉토리에 storage 아래의 디렉토리에 대한 링크를 생성해준다.

termux 에서 제공하는 유틸리티들. 필요할때마다 하나씩 알아갈 계획이다.
$ termux-setup-storage
파일관리자에서 다운로드 폴더에 파일을 넣으면 termux 에서 ~/downloads 에서 액세스할 수 있다.
~/

termux 는 apt 를 제한적으로 사용할 수 있기 때문에 비록 데비안 기반이지만, proot 유틸리티를 통해서 debian rootfs 를 설치해서 사용 중이다. 물론 aptitude 를 쓰기 위해서 말이다.

문제는 proot-distro login debian 으로 termux 안의 뉴 debian 으로 로그인하게 되면 위에서 언급한 storage 링크를 쓸 수 없다. 왜냐하면 fakeroot 유틸리티와 비슷한 proot 에 의해 외부가 차단되기 때문이다. 따라서 proot 로 로그인하기 전의 termux 상태에서 내부 배포판의 rootfs 로 파일을 복사해주어야 한다.

termux 는 usr 디렉토리가 ${HOME}/.. 에 위치한다. 이게 PC용리눅스 배포판과도 일맥상통하는것 같지만
cd / 를 실행하면 /data/data/com.termux/files 로 이동하지 않고 permission denied 경고메시지만 출력한다. 진짜 / 를 찾는 듯?

아무튼 proot 에서 설치한 배포판의 rootfs 는 ${HOME}/../usr/var/lib/proot-distro/installed-rootfs/ 아래에 위치한다.
데비안은 debian, 우분투는 ubuntu 디렉토리이다.

proot-distro login debian 명령을 실행하면 root 계정으로 들어가기 때문에 파일을 복사할 때 다음과 같이 긴 경로를 써주어야 한다. 심볼릭 링크를 만들어서 쓰는 방법도 있겠다. 그나마 Hacker's Keyboard 앱과 Midnight Commander (실행파일: mc) 을 활용하면 될 거라고 믿었는데, mc 를 실행하면 termux 가 반응하지 않는다. mc와 유사한 lfm 을 설치하고 싶지만 termux 저장소에는 lfm 이 없거든. 참 힘든 환경이다.