Android2011.08.05 18:31

맛클에 올린 글

http://matpclub.com/?mid=usrkn&document_srl=3876103

조금씩 스크립트를 업데이트 하고 있다.
일단 업뎃되는 스크립트 파일은 맛클에 올린 글 보다는 이 글에 최신 파일을 업로드 하고,
개인적으로 파일 업로드 후 다운로드 및 적용까지 확인 후 파일을 교체하여 맛클 내 노하우 글을 손볼 생각이다.
각 각의 조건에 대한 추가적인 스크립트 명령어를 손보고 있다.

11/08/06 12:30 
Script update
b_bulldozer.sh => b_bulldozer_2.sh

Change Log Version2
1) /sdcard/backup directory 가 없는 경우 'r' option에 의한 gunzip restore process 가 진행되지 않도록 조건 추가
2) script 명령 실행 후 /root, /system 에 대해 rw -> ro 권한 변경 명령 추가
3) 리커버리 모드에서 /system 을 복구하고 난 후 자동으로 reboot 되도록 명령 추가
4) 기타 오타 수정 등


==================================================================================================

안녕하세요.


Bulldozer 입니다.

완전한 눈팅유저가 되어가고 있네요... ^^;


현재 테그라크 원낸드 모드를 사용하고 있는 분들 중에

맛클 LAB 에 설명되어 있는 벼리님의 Tegrak 용 핵펀치를 사용하여


/data/app 을 /system/data/app 로 sim-link 하여 사용하고 계시는 분들에겐 도움이 될듯하여 글을 올립니다.


/system/data/app 의 용량 증대로 인해서

리커버리 모드에서 지원하는 /system 영역의 Back-up 자체가 되지 않습니다.

커널 자체에서 혹시라도 /dev/block/stl9 의 할당 용량보다 큰 용량의 file 이 Restore 과정에서

쓰여지는 것을 방지하기 위하여 백업 자체가 이루어질 수 없도록 커널에서 조건이 걸려있기 때문입니다.


그래서 /system 영역을 백업 및 복구할 수 있는 방법을 찾다가 Scrip 를 이용하여

백업과 복구를 하기 위해 해당 b_bulldozer.sh 라는 스크립트를 만들게 되었네요.


예전에 제가 각 /system, /data, /dbdata, /cache 영역의 백업과 복구를 xcvf 명령을 이용하여

하려고 하다가 미라클_S 님의 도움으로 permission 옵션을 누락시킨 것을 알게되었고, 

그때 미라클_S 님께서 해당 명령어와 script 를 올려주신 적이 있었습니다.


맛클 Lab 에서 미라클_S 님의 닉네임으로 검색을 하시면 해당 글을 찾아보실 수 있을겁니다.


미라클_S 님께 다시 한번 감사드립니다. (__)


일단 해당 스크립트는 저 개인의 핸드폰 1대 에서만 테스트를 하였습니다.

백업 후 /system/app 에서 불필요한 어플과 odex 파일을 날리고 리커버리 모드에서

스크립트로 복구를 하고 부팅을 해보니 완전하게 다 복구가 되어있는것을 확인하였네요.


*. 해당 스크립트는 사실 혼자 개인적으로 사용하기 위해 만든것으로

And, Or 의 조건은 전혀 고려되지 않았음을 알려드립니다.


사용 전제조건

1) 원낸드 모드 사용자 (/dev/block/mmcblk0p2 로 /system 이 mount 된 환경이라는 의미임)

2) 루팅이 되어있어야함. 

3) busybox 는 version 이 v1.17.1 로 설치되어 있어야함.


*. 기본적으로 adb 를 사용하실 수 있는 분들만 사용하시는게 좋을듯 합니다.


파일 다운로드 

b_bulldozer_2.sh  


해당 b_bulldozer_2.sh 파일을 /sdcard 에 둡니다.

(/sdcard 는 내장 메모리 영역을 의미합니다. = /dev/block/mmcblk0p1)


백업은 부팅이되어있는 상태에서 

adb shell 접속 후

# busybox sh /sdcard/b_bulldozer_2.sh

하시고 나면 옵션 중 b 를 선택하시면 /system 영역을 통째로

/sdcard/backup 디렉토리 내에 system.tar.gz 로 압축하여 저장합니다.


복구는 리커버리 모드(테그라크 리커버리 모드 아님)에서

adb shell 접속 후

# mount -t vfat /dev/block/mmcblk0p1 /sdcard

# busybox sh /sdcard/b_bulldozer_2.sh

하시고 나면 옵션 중 r 을 선택하시면 /sdcard/backup 디렉토리 내에 있는

system.tar.gz 를 gunzip 하여 /system 에 새롭게 씁니다.


분명히 위에 붉은 글씨로 적었듯이 개인적으로 사용하려고 만든것이며, 단순히 백업 복구용이기 때문에

and, or 조건이 없습니다. /sdcard/backup 내에 system.tar.gz 파일이 없는 경우 및 원낸드 유저가 아닌경우

및 다른 기타의 조건에 따른 문제 발생은 죄송하지만 전혀 고려되지 않은 아주 아주 심플한 스크립트 입니다.


사용하실 일이 없는것이 가장 좋겠지요.

혹시라도 이 스크립트 때문에 문제가 발생하는 경우가 있지 않았으면 좋겠네요.

그리고 /data, /dbdata, /cache 의 경우는 고려하지 않았습니다. 어차피 테그라크 리커버리 모드에서

하시면 되니까요. (변수 추가하여 내용을 넣어서 만드는것은 어려운 일은 아닙니다.)


마지막으로 스크립트를 올리긴 하지만 

사용하실 때는 최악의 상황에서도 복구를 하실 수 있으신 분들에 한해서 사용하시면 좋겠네요.

전 사실 이런 쪽 업을 하는 것이 아닌 단지 전기와 관련한 업무를 하는 회사원에 불과하며, 

단순 취미 정도로 공부한 지식만 있다보니, 해당 스크립트로 인해 다른 문제가 발생하면 제가 손써드리기가 

힘듭니다.


혹시 실험적으로 사용해보시고 문제가 없으시면 댓글 달아주세요.

제 폰에서만 테스트를 했기 때문입니다.


앞으로 해당 스크립트의 내용을 조금씩 보완해 나갈 계획입니다.

(사실 지금의 스크립트는 조건을 전혀 고려하지 않은 아주 단순한 스크립트에 불과합니다.)


참. 그리고 전 지금은 스피드 모드를 씁니다.

스피드 모드로 몇일 전 kernel 을 바꿨네요.

스크립트 테스트를 위해 외장패치 해제, fs 변경 to rfs, 핵펀치 적용, 원낸드 적용 등의 과정을 거쳐서 테스트 

했습니다. 이제 또 글 올리고 나면 다 해제하고 또 스피드 모드로 돌아가야합니다... 후... ^^;


===============================


11년 8월 06일 

지금 스크립트도 사용상 문제는 없겠지만, 기왕 올린것이기 때문에

backup file 이 없는 경우 등에 대한 조건 별 if 문을 추가하여 스크립트를 작성하고 있습니다.

업데이트된 스크립트는 주말 동안 스크립트 명령을 추가 보완 및 테스트하여 일요일 오후에 올리도록 하겠습니다.

(__)


11/08/06 12:30 
Script update
b_bulldozer.sh => b_bulldozer_2.sh

Change Log Version2
1) /sdcard/backup directory 가 없는 경우 'r' option에 의한 gunzip restore process 가 진행되지 않도록 조건 추가
2) script 명령 실행 후 /root, /system 에 대해 rw -> ro 권한 변경 명령 추가
3) 리커버리 모드에서 /system 을 복구하고 난 후 자동으로 reboot 되도록 명령 추가
4) 기타 오타 수정 등


=======================================================================================================

회사 서버가 맛클 게시판은 문제가 없는데...
Tistory 의 경우는 첨부파일을 올리면 보안 때문에 글이 저장이 안된다. -_-;;

퇴근 후 Script 는 올려야겠다. 

스크립트를 이제야 올릴 수 있게되었다.
집에서 넷북을 사용하고 있다.

적용 sh script 파일
version 1


version 2

지금 사용하고 있는 Lock_screen 이다.

 

저작자 표시 비영리 변경 금지
신고
Posted by Bulldozer121

티스토리 툴바