[리눅스/안드로이드] root 권한 없이 배포판을 설치하는 다양한 방법

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

작성일 : 2021. 9. 26.
 
기본은 Termux (이하, termux 로 명명)이다. termux 는 데비안의 APT 유틸리티를 변형 적용한 최소한의 쉘 환경이다.
 
Termux 에서 바로 설치하기

root-repo 를 먼저 설치한 후
proot-distro 를 설치한다
`proot-distro list` 로 설치가능한 배포판 목록을 조회할 수 있다.
`proot-distro install [설치대상 배포판]`

 
UserLAnd
 - 버튼 터치 방식으로 배포판을 설치할 수 있게 도와주는 UX 를 갖춤
 - 일반 유저 계정을 설정함. root 계정을 노출하지 않음.
 - 설치 후 ConnectBot (SSH 클라이언트)로 접속하는 방식을 취한다.
 - 안드로이드에서 서비스를 운영하려는 사람에게 적합.
 - 계속 떠 있음 -> 배터리 광탈 원인
 - 인스턴스 하나만 지원!
 - 단점! 배포판 업그레이드 도중에 시스템에서 오류가 발생하면
   SSH 로 접속할 수 없음!
예를 들어, 이 글을 작성하는 시점에서 기본 지원되는 데비안 안정 버전이 buster 인데, testing 버전인 bookworm 으로 업그레이드를 시도하면 패키지 저장소에 libcrypt1 이 없어서 libc 패키지를 업그레이드할 수 없다는 메시지와 함께 패키징 시스템이 망가짐. 이를 해결하기 위해 libcrypt1 패키지를 직집 다운로드해서 설치하려고 하면 기존에 설치된 libpam0g 패키지와 동일한 파일을 포함하고 있어서 충돌로 설치할 수 없다고 뜨며, 심지어 libpam0g 를 삭제하려고 하면 이것에 의존하는 시스템 패키지가 많아서 이것 또한 실행할 수 없음. 여기까지 오는 과정에서 libpam0g 가 로그인 인증과 관련되어 있다보니 데비안으로 로그인 할 수 없는 상황이 발생! -> SSH 접속도 못하게 되서 다시 초기화해야 할 수 밖에 없었음.
 
Andronix
 - UserLAnd 와 유사.
 - 자체 최적화한 배포판(Mod OS)을 제공.
   (1회 구매 시 2600 원)
 - 앱에서 결제 한 후에 다른 앱으로 전환했다가 돌아오면 배포판 설치를 못하는 상황이 발생 (이메일로 환불요청해야 함)
 - UX 순서가 정신없지만 리눅스 대리 설치 앱 중에서
   가장 화려하고, 아직까진 광고가 안뜸.
 
AnLinux
 - Simple is the best! (CHOOSE / COPY / LAUNCH - 이렇게 3단계로 구성되어 있음)
 - termux 가 반드시 설치되어 있어야 함.
 - 앞서 선택한 배포판 설치 명령을 termux 쉘에 복사 & 붙여넣기 & Enter 로 실행하는 방식.
 - 배포판 설치 후에는 termux 에서 ./start-(배포판이름).sh 를 실행해주어야 함.
 --> "이럴 바엔 그냥 termux 를 쓰겠다~~~" 라고 할지언정, 데비안 패키지 명령이 그리울 땐 가차없지.
 - (데비안의 경우) debian-fs/ 를 debian-bind/ 에 마운트하고 proot 명령으로 / 를 활성화하며,
 --> root 로 로그인하게 됨. UserLAnd 와 달리 로컬 호스트가 노출되어 있다. (일반 유저 계정을 안만듬)
 - 배포판에서 작업한 내용이 debian-fs/ 디렉토리에 그대로 유지됨.
 --> proot 로 이 디렉토리를 / 로 전환시킴.
 
※ termux 또는 리눅스 쉘 자체가 메모리 상주 프로그램이므로 사용 중이지 않을 때에는 로그아웃해야 함.
 - 무료 버전에서 시도 때도없이 계속 광고가 떠서 다시 Andronix 로 전향하였음. 둘다 debian-root 압축파일을 다운로드할 수 있는 스크립트를 제공해주는 껍데기 앱이다.