레이블이 su인 게시물을 표시합니다. 모든 게시물 표시
레이블이 su인 게시물을 표시합니다. 모든 게시물 표시

iphone 아이폰 탈옥하기

참고: 아이폰 백업 경로 %appdata% -> Apple Computer -> MobileSync -> Backup
원하는 iOS 버전을 지원하는 최신 Absinthe 를 다운받아 압축을 푼다.
http://absinthejailbreak.com/download-absinthe-2-0-jailbreak-5-1-1-untethered/

아이폰을 usb 로 PC 와 연결하고
아이폰 --> 설정 --> 일반 --> 암호 잠금 을 끔 으로 설정하거나
아이폰 --> 설정 --> 자동 잠금 을 안함 으로 설정하도록 한다.

absinthe.exe 실행(윈도우 기준) --> jailbreak 실행
시간이 오래 걸리며 절대 아이폰 연결을 끊지 않도록 한다.


Don, Enjoy 라는 문구가 나타나면 완료된것으로 absinthe 를 종료해도 된다.

아이폰에서 cydia (탈옥폰 appstore ) 보이면 정상 탈옥된것이다.
처음으로 cydia 를 실행했을 경우 Develop 을 선택하도록 한다.

탈옥폰은 아이폰의 디폴트 암호인 alpine 로 접근 할 수 있기 때문에 암호를 변경하는 것이 좋다.
cydia --> manage --> sources --> edit --> add 에서 http://cydia.xsellize.com 라는 소스 저장소를 추가한다.
cydia --> search 에서 mobile terminal 검색 하여 다운받도록 한다.
이제 보안을 위해서 mobile terminal 를 실행하고 root passwd 로 자신만의 암호로 변경하도록 한다.

# root 계정으로 변경, 디폴트 암호 alpine 입력
su
# 새 암호 설정하기
passwd

# 아이폰 파일관리를 위해 PC 에 ifunbox(탈옥폰 itunes) 설치
# itunes 를 통해 기기 연결을 하기 때문에 itunes 가 PC 에 설치되어 있어야 한다.
http://www.i-funbox.com/

# 소스 저장소
http://cydia.hackulo.us
http://repo.biteyourapple.net

# 앱
sbsetting ==> wifi , 화면 밝기 등의 기능을 쉽게 끄고 켤수 있도록 함
openssh  ==> PC 에서 wifi 로 아이폰에 접근가능할 수 있도록 함
winterboard ==> 테마 구성 유틸
fontswap ==> 아이폰 시스템 폰트를 변경할 수 있도록 함

# 테마 적용하기
다운로드 사이트
http://www.mbtheme.com/
http://www.iphonethemes.info/
테마파일 다운로드 후 압축 풀어 놓기
아이폰에 ssh 포트로 접속하여 /private/var/stash/Themes.xxxx 디렉토리에 복사
winterboard 실행하여 테마 선택후 respring 로 적용

Linux 일반유저에게 sudo 권한 부여하기

# root 계정에서 설정 파일 쓰기모드로 전환
chmod +w /etc/sudoers

# 설정 파일 수정
sudo vi /etc/sudoers

# 설정 파일을 다시 440(r--r-----) 모드로 전환
chmod 440 /etc/sudoers

# 또는
# visudo 를 실행하면 쓰기 모드 변환없이 /etc/sudoers 수정할 수 있다.
sudo visudo

# 참고로 ubuntu 에서 visudo 는 기본으로 nano 에디터를 사용하는데,
# 다음 명령으로 vim 으로 변경할 수 있다.
sudo update-alternatives --config editor
대체 항목 editor에 대해 (/usr/bin/editor 제공) 5개 선택이 있습니다.

  선택       경로              우선순 상태
------------------------------------------------------------
* 0            /bin/nano            40        자동 모드
  1            /bin/ed             -100       수동 모드
  2            /bin/nano            40        수동 모드
  3            /usr/bin/mcedit      25        수동 모드
  4            /usr/bin/vim.basic   30        수동 모드
  5            /usr/bin/vim.tiny    15        수동 모드

Press <enter> to keep the current choice[*], or type selection number: 4
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in manual mode

# ysoftman 유저에게 sudo 를 사용할수 있게 함
# NOPASSWD: 를 설정하면 sudo 수행시 암호를 물어보지 않는다.
ysoftman ALL=(ALL) NOPASSWD: ALL

# 이제 ysoftman 계정에서 sudo 실행을 할 수 있고, 암호도 물어보지 않는다.
# 추가로 sudo su - 로 root 계정으로 전환등 특정 명령을 막기
ysoftman ALL=NOPASSWD: ALL, !/bin/su, !/sbin/reboot, !/usr/bin/reboot, !/sbin/shutdown, !/sbin/halt, !/usr/bin/halt, !/sbin/poweroff, !/usr/bin/poweroff, !/sbin/init, !/usr/sbin/adduser, !/usr/sbin/useradd, !/usr/sbin/userdel, !/sbin/iptables, !/usr/bin/passwd

sudo and su

# -i, --login 옵션으로 다른 계정으로 변경할 수 있다.
# -u 가 없으면 기본 root
# root 계정으로 변경
sudo -i

# ysoftman2 계정으로 변경
sudo -i -u ysoftman2

#####

# 우분투를 설치할때 root 가 아닌 다른 이름(예 ysoftman)의 계정을 만들게 된다.
# ysoftman 도 관리자 계정이긴 하지만 꼭 root 계정을 사용할 때가 있다.
# su 로 루트 권한을 바꾸려고 하면 암호를 몰라 계정을 바꿀 수 없다.
# 이럴땐 아래처럼 root 의 암호를 새로 설정하면 된다.
# 참고로 ysoftman 는 sudo(설정:/etc/sudoers)를 사용할 수 있는 상태다.
sudo passwd root

# 위에서 root 암호를 새로 설정후 su 로 root 로 로그인 하면 된다.
su

# mac 의 경우
# su 로 root 전환시 su:Sorry 에러가 발생하면
su 

# root 패스워드를 설정한다.
sudo passwd root

# 그래도 su:Sorry 에러가 발생하면 sudo su 로 실행한다.
sudo su

# login 환경으로 /etc/profile(내부에서 /etc/bashrc 로딩)을 로딩할 경우
sudo su -
# 또는
sudo su -l

Linux HDFS(Hadoop Distributed File System) 구성하기 및 Map Reduce 테스트

# ysoftman
# 분산 소프트웨어 플랫폼으로 대량의 데이터를 처리할때 사용
# 비슷한 플랫폼으로 구글의 GFS(분산 파일 시스템), MapReduce(분산 데이터 처리), BigTable(분산 데이터베이스)
# Hadoop 의 기본 아이디어인 MapReduce 개념을 Google 에서 논문으로 처음 소개
# Apache 검색엔진(Lucene & Nutch) 개발자에 의해 Hadoop 개발 시작
# Yahoo 에서 Hadoop 사용, Google 내 검색 처리를 위해서 MapReduce 기법 적용
# 2,000개의 노드들을 클러스터로 구성해 시연, 앞으로 10,000개의 노드들을 클러스터로 운영하는 것을 목표
# 안정적으로 PetaByte 단위의 자료를 저장하고 처리
# 일반 컴퓨터 클러스터 간의 데이터를 분산하고 처리
# 데이터를 분산시켜 데이터가 위치한 노드들을 병렬로 처리
# 자동으로 데이터 복사본을 유지하여 문제 발생시 재배치 수행
# Hadoop 의 구성 요소
# Hadoop Common : Hadoop 을 사용하는 모든 요서에서 공통으로 필요로 하는 요소
# HDFS(Hadoop Distributed File System) : 대량의 데이터를 분산저장하는 파일 시스템
# MapReduce : 대량의 데이터를 분산 처리할 수 있는 프레임워크
# 연관된 프로젝트
# Avro, Chukwa, HBase, Mahout, Pig, ZooKeeper

[Hadoop 설치]
32bit 일때(hadoop-0.19_32bit.tar.gz , jdk-6u10-linux-i586.bin , fuse-2.7.4.tar.gz) 파일을 기준
64bit 일때(hadoop-0.19_64bit.tar.gz , jdk-6u10-linux-x64.bin , fuse-2.7.3.tar.gz) 파일을 기준
1. root 상태에서 hadoop 계정을 만든다.(useradd hadoop, 홈디렉토리는 /home1/hadoop 이 된다.)
2. hadoop-0.19_32bit.tar.gz 압축을 /home1/hadoop 에 푼다.
3. jdk-6u10-linux-i586.bin 실행한다.(실행 안될 경우 chmod +x jdk-6u10-linux-x64.bin)
4. mv jdk1.6.0_10/ /usr/java/ (jdk 를 /usr/java/ 밑으로 옮긴다)
5. hadoop 계정의 .bashrc를 다음과 같이 만든다.

# .bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
export JAVA_HOME=/usr/java/jdk1.6.0_10
export PATH=$JAVA_HOME/bin:$PATH

[hdfs 공간 만들기]
# 예) ysoftman 이라는 서버에 hdfs 공간 만들기
# hadoop 으로 로그인
cd ~/hadoop-0.19

# JAVA_HOME 환경변수가 설정되어 있으면 굳이 하지 않아도 된다.
vi conf/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.6.0_10

# 최신버전에는 core-site.xml, hdfs-site.xml, mapred-site.xml 로 분할되었다.
vi conf/hadoop-site.xml
<configuration>
<property>
  <name>fs.default.name</name>
  <value>hdfs://ysoftman.com:9000</value>
</property>
<property>
  <name>dfs.name.dir</name>
  <value>/home1/hadoop/filesystem/name</value>
</property>
<property>
  <name>dfs.data.dir</name>
  <value>/data1,/data2</value>
</property>
<property>
  <name>dfs.http.address</name>
  <value>ysoftman.com:50070</value>
  <description>
    The address and the base port where the dfs namenode web ui will listen on.
    If the port is 0 then the server will start on a free port.
  </description>
</property>
<property>
  <name>mapred.job.tracker</name>
  <value>ysoftman.com:9001</value>
</property>
<property>
  <name>mapred.system.dir</name>
  <value>/home1/hadoop/filesystem/mapreduce/system</value>
</property>
<property>
  <name>mapred.local.dir</name>
  <value>/home1/hadoop/filesystem/mapreduce/local</value>
</property>
</configuration>

# HDFS 마스터 서버 명시
conf/master

# HDFS 슬레이브 서버 명시
conf/slaves

# masters 서버와 slaves서버 모두 데이터로 사용될 디렉토리의 권한을 hadoop으로 설정한다.
chown -R hadoop:hadoop /data1
chown -R hadoop:hadoop /data2

# hadoop file system 공간 포맷하기
bin/hadoop namenode -format

# jps 를 실행하여 NameNode SecondaryNameNode DataNode JobTracker TaskTracker 등이 나타나면 정상작동하는 것이다.
jps

# 마스터와 슬레이브 서버들간에 ssh 자동로그인 하도록 설정한다(ysoftman 포스트 참고)
# hdfs 중지하기
bin/stop-all.sh

# hdfs 가동하기(start-dfs.sh 와 start-mapred.sh 가 모두 실행된다.)
bin/start-all.sh

# ysoftman.com 이 10.10.10.1 이라면 다음의 주소로 hadoop cluster 정보를 확인 할 수 있다.
http://10.10.10.1:50070/

# ysoftman.com 이 10.10.10.1 이라면 다음의 주소로 hadoop map/reduce 작업 현황을 확인 할 수 있다.
http://10.10.10.1:50030/

#####



[hdfs 마운트]
# hdfs 공간을 만들었으면 그 hdfs 공간을 현재 시스템에서 마운트하여 사용한다.
# 예) server1 의 /home1/hdfs 에 만들기
# root 로 로그인해서
tar xvf fuse-2.7.4.tar.gz
configure
make && make install

# fuse 장치 권한 변경
chmod 777 /dev/fuse

# /etc/fuse.conf 파일생성해서 내용추가
vi /etc/fuse.conf
user_allow_other

# fuse
/sbin/modprobe fuse

# hdfs 를 마운트해서 사용할 디렉토디를 생성
mkdir /home1/hdfs
chown -R hadoop:nobody /home1/hdfs

# hadoop 권한에서 fuse 마운트 실행
su hadoop

cd /home1/hadoop/hadoop-0.19/src/contrib/fuse-dfs/src/
./fuse_dfs_wrapper.sh dfs://server1.ysoftman.com:9000 /home1/hdfs

# 만약 libjvm.so 파일이 없다고 나오면 아래의 경로를 /etc/ld.so.conf 에 추가하고 /sbin/ldconfig 실행
/usr/java/jdk1.6.0_10/jre/lib/i386/server/ (32bit OS)
/usr/java/jdk1.6.0_10/jre/lib/amd64/server/ (64bit OS)

[hdfs 마운트 후 작업폴더 설정]
# 예) /home1/hdfs 에 마운트 후 ocr 계정 디렉토리만들고 소유권 넘기기
# hadoop 로그인 상태에서마운트 된곳(/home1/hdfs)에서 작업폴더 만들기
mkdir ocr

# 이렇게 되면 소유자는 hadoop.hadoop 상태가 된다.
# 여기서 소유자 ocr 로 바꾸려면 아래와 같이 한다.(현재 hdfs 마운트되어 /home1/hdfs 가 루트디렉토리가 된다.)
~/hadoop-0.19/bin/hadoop fs -chown -R ocr:ocr /ocr

#####


[Map Reduce 테스트]
# MapReduce 예제 : 두개의 파일로 부터 word count
# 입력 파일 작성
cat > ysoftman1.txt
apple banana milk lemon
cat > ysoftman2.txt
lemon cheese apple coffee

# HDFS 로 복사하기(dfs : hdfs 사용, -put : 복사명령)
./bin/hadoop dfs -put ysoftman1.txt input/ysoftman1.txt
./bin/hadoop dfs -put ysoftman2.txt input/ysoftman2.txt

# hadoop 에 포함된 예제 프로그램 word count 실행
./bin/hadoop jar hadoop-0.20.0-dev-examples.jar wordcount input output

# word count 결과 확인(dfs 대신 fs (일반 file system 사용)을 사용해도 됨)
./bin/hadoop dfs -cat output/part-00000
apple   2
banana  1
cheese  1
coffee  1
lemon   2
milk    1

# mapreduce 작업 모든 상태보기
bin/hadoop job -list all

# mapreduce 로 작업중인 작업 강제 종료하기
bin/hadoop job -kill 작업ID