Quiet Time

스마트폰을 바꾸는 주기가 길어졌다고는 하지만
많은 분들이 집에 안쓰는 스마트폰 하나쯤은 있을 것 같다.

이 스마트폰을 활용할 방법을 생각해보았다
팔기는 가격이 너무 싸고 
CCTV 용도도 아니고 시계용도도 No!
 네비게이션도 별로!

주피터 노트북 서버를 만들자!
스마트 폰으로 웹서버를 만들었다는 글을 본적이 있어서 주피터 노트북도 되겠네!! 라고 생각하여 시작하게 되었다.

이 작업을 하려고 3주 가량 고생했다
작업을 마치고 나니 퇴근후 매일 고생하던 것이 없어져서 허무한 느낌 마저 들었다.
1도 모르는 상태에서 휴리스틱한 방법으로 스마트 폰에 주피터 노트북을 설치하여 외부에서 접속가능 하게 하였다

목적은 성능보다는 언제 어디서나 접속 가능한 나만의 주피터 노트북을 만드는 것

안 쓰는 노트북을 이용해 손쉽게 만들수 있으나
노트북을 계속 켜놓는 것이 마음에 걸렸다 오래된 노트북이라 팬소리도 컸고 전기 문제도 마음에 걸렸다.

삽질했던 방법들과 성공했던 방법들을
빠르게 방법을 기록하겠다.
아직도 이것이 왜 되고 안되는지 모른다 그저 여러 시도들 중에 발견했을 뿐!

준비물
    1.루팅된 안드로이드 스마트폰
    2.체력




루팅된 스마트 폰을 준비한다  방법은  "자신의 스마트폰 기종이름 + 루팅방법" 이라고 구글에 검색

1번링크에서 3번(아파치,php5,mysql설치하기) 전까지 설치한다.
자신의 스마트폰 아키텍쳐에 맞게 설치해야 이상이 없는 것 같다.(추측)
sdcard가 있다면 Mount 하도록 하자

구글 플레이에서 cpu-z 같은 어플을 받아서 아키텍처를 확인한다

내 폰은 삼성 2017 a5 이고 아키텍처는 arm 어쩌구 였다.
(공장 초기화와 리눅스 디플로이 설치를 2주동안 30 번 정도 다시 설치한것 같다.)

ssh 접속하여 
sudo apt update
sudo apt -y upgrade
이거 먼저하고

2번링크에 나온 그대로 따라쳐서 잘되면 좋겠지만 에러가나서 스크립트 내용을 직접 putty에 붙여넣기 하였다. 가상환경 만드는 구문도 직접 타이핑했다.
$(id -u) = 0 구문에 걸리는 거 같았다 뭐가 잘 안되서 사용자 계정에 ROOT 권한 주는 작업을 했는데 그것때문인가? id -u =0 이라는 구분이 뭘 뜻하는지 모르겠다.

파이썬 가상환경 안(source [가상환경] activate)에서 pip 구문을 입력해야한다

그리고 중간에 pandas 모듈 설치시 numpy 설치에러 나서
pip install --upgrade pip
하고 pip install numpy설치후 다시 진행하였다.

매우 오래 걸린다 특히 scipy 부분설치와
사이킷런 부분설치가 오래 걸렸다 중간에 멈춘줄 알았는데 cpu 거의 100 프로 잡아 먹으면서 설치중이어서 기다렸다.
총 5시간 정도 걸린것 같다.

모두 설치한후에
pip install jupyterlab 설치후 3번링크와 4번링크를 참조하여 원격 접속설정을 하고
공유기에서 해당 스마트폰 ip고정할당을 설정하고
포트포워딩 설정을 하여 외부에서 주피터 노트북 서버에 접속 가능하도록 만든다.

리눅스 deploy앱에서 마운트 설정하는 부분에서
필자의 경우 /storage/E79A-1E02 (64GB sdcard)를 입력하여 마운트 하였다

참고로 sd카드 마운트위치에서 주피터 노트북을 실행하니 터미널창에 .android_secure??? 폴더 퍼미션 에러가 계속 나서 폴더하나 만들고 그 위치를 주피터 노트북 기본 위치로 했다.

3번링크에서
c.NotebookApp.notebook_dir = u'/root/DataScience/'

이렇게 위치설정한 것처럼
필자는
c.NotebookApp.notebook_dir = u'/storage/E79A-1E02/jupyterlab'
이렇게 설정함



1번링크에서 만들때 필자는 installation type을 파일로해서 그런지 4기가 밖에 할당되지 않았다 ㅜ


성능을 확인해보자 


삼성 2017 a5 머신에서 아래 코드를 수행한 시간




필자의 노트북에서 확인한 코드 수행시간 



숫자를 8배 정도 해보니 비슷한 시간이 걸렸다 

노트북에서 비해서 성능은 8분의 1이라고 성급하게 결론을 내리겠다

이상!



'Tips' 카테고리의 다른 글

docker couchbase  (0) 2018.02.13