Linux deploy
개요
안드로이드 폰에서 리눅스를 설치하기 위해 개발된 어플.
안드로이드 폰을 서버로 사용할 예정이라면 이만한 게 또 없다.
필요
- 루트권한이 필요하다.
- 루팅을 통해 루트권한을 얻어도 안드로이드 자체적으로 앱 내에서의 루트권한 사용을 막을 수 있다. 때문에 커스텀롬 설치가..필수가 된다. 커스텀롬 설치 후 루트권한을 얻자.
- 커스텀롬이 필요하다.
- 루트권한을 얻어 linux를 설치해도 실 사용에서 root권한이 안드로이드에 의해 막히는 경우가 있다. 때문에 커스텀롬이 필요하다.
- 커스텀롬에 대한 내용은 안드로이드:커스텀롬 문서 참고.
사용법
- 구글 플레이스토어에서 Linux deploy를 다운받는다.
- 프로파일 생성.
- 기존 프로파일과 구분하기 위해 프로파일을 생성한다.
- - 좌측 상단의 메뉴버튼 선택 > Profiles 선택 > 필요에 따라 만든다. > 프로파일을 해당 프로파일로 전환.
- 설정.
- 만지면 좋을 설정들은 다음과 같다.
- 배포판 고르기.
- 기본 화면의 우측 하단 버튼에서 설치할 배포판을 고르고 필요 옵션을 선택한다.
- installation type
- 어떤 방식으로 설치할지 선택하게 한다.
- File : 해당 경로에 디스크 이미지를 만들어 구동한다.
- Directory : 안드로이드에 마운트하여 휴대폰의 모든 용량을 사용한다. 기 경로가 ${EXTERNAL_STORAGE}/linux로 되어있는데, 이렇게 하면 에러가 난다. 기본경로를 ${ENV_DIR} 하위로 바꾸어주면 된다.( 내부저장소 하위에 저장하는 방법도 알고 싶지만.. 모르겠다; USB연결로 접근할 수 없다는 건 상당히 치명적인 단점이다;)
- Partition : 성공 못해봄.
- User name, User password
- 필요한 것으로 설정한다.
- INIT
- OS부팅 시 apache, sql 같은 것들을 자동 실행하기 위해 체크해야 할 설정이다.
- SSH
- 원격으로 조정하기 위해 필수적이다. 체크하자.
- GUI
- 일반적으로 서버를 돌릴 줄 알 정도라면 CUI로 다룰 수 있기에 잘 쓰지 않는 설정이다.
기타
21.10.25기준 플레이스토어에서 받은 linux deploy는 img 불러오기가 안되는데, https://github.com/meefik/linuxdeploy/releases/tag/1.5.3을 설치하면 img파일을 받아오기가 가능하다.
근데... 이미지를 어플에서 여는 것도 방법이지만.. 그냥 프로파일에서 경로만 새로 지정해준다음 start 하면 될 듯하다.
기초설정
보통 SSH로 원격조작을 진행한다. 프롬프트에서 bash
를 입력하면 bash 쉘 사용이 가능하니 참고.
이후 sudo apt update 등 초기 과정을 진행하고 사용하면 된다.
과정 | 방법 |
---|---|
저장소 업데이트 | sudo apt update |
각종 패키지 업그레이드 | sudo apt upgrade -y |
루트 패스워드 지정 | sudo passwd |
이후 설정
앱 설정
linux deploy앱의 설정에서 Wake lock을 켜주자. 화면이 꺼져도 정상 작동하게끔 돕는다. +화면잠금 설정도 체크해주자.
init. 자동실행.
부팅 때마다 일일이 이것저것 켜주는 것은 너무 불편하다.
https://3-24.github.io/linux/linux-android-startup/
각종 패키지 설치
기본적인 패키지 없이 쌩몸이기 때문에 특정 명령어에서 bash: wget: command not found
과 같은 메시지가 뜬다.
의도 | 설명 | 방법 |
---|---|---|
패키지 설치 | 최소한의 것들만 설치되어 있어 없는 게 많다. | sudo apt-get install wget
계속 에러가 뜨면 root로 로그인해 진행하면 되더라... |
mysql | sudo apt-get install mysql-server mysql-client
그냥 설치하면 에러가 뜬다.
그 아래에 | |
mysql 실행하면 나는 에러. | 원인 모를 에러다. 서버를 실행하면 뜬다. No directory, logging in with HOME=/
|
sudo service mysql stop
|
저장소 추가 | 저장소를 추가하려면 sudo add-apt-repository ppa:ondrej/php 따위를 사용하는데, 아래와 같은 에러가 뜬다.
Error sudo: add-apt-repository: command not found 이는 기본적인 패키지도 없기 때문이다... |
sudo apt install software-properties-common
위 이후에 저장소 추가가 가능해진다.
|
지원하지 않는 패키지 설치.. | 이건 여기가 아니라...나중에 따로 옮겨야겠다. 우분투 관련 문서로. | sudo add-apt-repository ppa:ondrej/php 등의 방법으로 저장소를 추가해
|
apache2 도메인이름 설정 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using ::1. Set the 'ServerName' directive globally to suppress this message
라는 에러가 뜬다. 서버에 이름이 없기 때문인데.. 방치해도 되지만.. 다른 에러가 뜨려나...? |
|
curl 문제 해결 | 이것저것 하다 보면 Error contacting the Parsoid/RESTBase server: (curl error: 6) Couldn't resolve host name 이 얻어진다. | sudo dhclient 을 하라고 하는데,
chroot 환경에선 Running in chroot, ignoring request: try-reload-or-restart 라는 에러가 뜬다.[미해결] |