i386은 첫 x86 32bit 프로세서이다. 
이것은 32비트에서 돌아가는 옛 프로세서의 구조를 말한다. 최신의 프로세서에는 적용되지 않는다고 한다. 

i686은 비교적 최근 프로세서 구조이다. 이것은 팬티엄 2이상의 프로세서에 들어간다고 한다. 

x86_64는 64비트의 구조를 가진 프로세서이다. x_86구조를 64비트로 확대한것을 말한다. 이 프로세서 구조는 여전히 x86의 32비트 OS를 구동시킬수 있다. 64비트 OS는 당연히 됨.

그리고 PowerPC(PPC)는 MAC(맥)이 과거 사용했던 프로세서이다. 그런데 최근에는(2007년에 쓰여진 글임) 맥도 x86 구조로 이동하여서, ppc 구조는 플스나 액박 같은 게임 콘솔에서 주로 보인다고 한다. ppc64는 PowerPC구조 중 64비트로 된것인가 보다. 

도움이 되었다면 손가락이나 광고를 클릭해주세용^^


외국 사이트를 참조하였다. 

(http://www.daniweb.com/hardware-and-software/linux-and-unix/threads/139589/i386-i686-x86_64-ppc)


아 내 환경은 윈도우 8 에서 vmware-player로 centos 6.5를 깔아서 (64bit용) 사용했다.

여기를 참조했다.

https://github.com/rstudio/shiny-server/wiki/CentOS-step-by-step-Installation-Instructions


리눅스에서는 자동으로 R이 포함되기도 하는 모양인데...(불확실)

센트 OS 에서는 설치가 되어 있지 않아서 내가 직접 설치해줘야 한다. 여러군데를 찾아보다가 안되서 이렇게 직접 설치한 과정을 보이기로 했다.


공식 사이트를 찾아서 (R한국 사용자모임) centos에서 까는 법을 찾아보았는데, 안되더라... (http://r-project.kr/wiki/CentOS)  

1. 일단 터미널을 연다. (윈도우로 치면 cmd같은거) 바탕화면에서 우클릭하면 "Open in Terminal" 이 열린다. 

2. 터미널에서 사용자를 root 모드로 변경한다. [su  root ] 를 치면 password를 입력하다고 한다. 당신의 비번을 입력해서 변경하다. (su의 의미는 super user이다.)

3. yum update
명령어를 처서 관련 패키지(모듈이라고 생각하면 된다.) 업데이트를 한다. 한 120m 정도 크기가 된다. 그담에 yum install R 을 친다. --> 안된다...;; 그래서 나는 맨위에 영문 사이트를 참조하였다. 

4. 한번 같이 봐보자. (여기서 나의 치명적 실수 빨간색으로 된 부분은 내 컴퓨터 환경이 32bit일때 설치하는 것인데 망함.... 64bit용으로 다시 깔아야 된다. --> 다시 깔아서 설치했는데도 png 패키지를 깔리지 않는다. 왤까. 아놔.)

(64비트용 다운로드 경로 : http://mirror.us.leaseweb.net/epel/6/x86_64/epel-release-6-8.noarch.rpm)

# Get the EPEL rpm
wget http://mirror.us.leaseweb.net/epel/6/x86_64/epel-release-6-8.noarch.rpm
http://mirror.us.leaseweb.net/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm --test

# Import the EPEL GPG key wget https://www.fedoraproject.org/static/0608B895.txt sudo mv 0608B895.txt /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 <-폴더생성됨 sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 # Verify that the key has been imported. rpm -qa gpg* ## You should see a line like this: gpg-pubkey-0608b895-4bd22942 # Install the rpm sudo rpm -ivh epel-release-6-8.noarch.rpm

위 명령어 중에서 검정색들을 차례대로 붙여넣기를 한다. 
복사후에 터미널에서 우클릭후 paste 를 클릭하여 붙여넣는다. (컨트롤+V는 작동 안함) EPEL은 ( Extra Packages for Enterprise Linux) 의 약자이다. 기업용 리눅스를 위한 추가 꾸러미. 정도로 이해하면 되겠다. 
rpm은 (Redhat Packages Manager의 약자, 레드헷에서 만든 꾸러미 관리자) 패키지를 의미하며 쉬운 설치를 도와준다. (참고자료 : http://se.uzoogom.com/88 ) 

이렇게 쭈욱 설치를 마치면 이제 드디어 Node.js라는 것이 설치가 완료된 것이다. 아 그리고 여러분은 이미 root 계정이므로 위의 명령어 중에서 sudo 부분은 빼도 될것이다.  

sudo yum install npm

을 쳐서 npm을 설치하자. (Node Packaged Module)의 약자. 

자 다되었다.

5. R 설치하기

" yum install R "

을 입력하여서 드디어 설치가 시작된다. 약 176MB 정도 되므로 유선 인터넷을 추천한다. 내가 있는 곳에서는 무선이 느려서 시간이 좀 걸렸었다. ㅠㅠ 


6. 설치가 끝나면 터미널에 R 이라고 쳐보자. 

다음줄에  

>     <-- 요렇게 줄의 맨 첫모양이 바뀌면 바르게 설치된것!

잘 작동이 될 것이다!

예문을 하나 만들어보자. 

a <- c(1,2,3)
a
[1] 1 2 3 

이라고 나오면 정상이다

끝날때는 q() 이라고 치면 된다.
--(Save workspace image? ) 라고 묻는데 작업한 변수나 함수들을 저장할지 묻는 것이다. 한게 없으니 그냥 n을 적고 엔터를 눌러 나가자. 


7. 여기까지 centos 6에서 R 설치 끝!


8.  이제부터 Rstudio를 깔아보자.  (참고 : http://www.rstudio.com/ide/download/server )

debian, ubuntu, CentOS, redhat 관련 방법이 나와 있다. 


9. 64비트용을 깔아보자. 
cpu의 bit에 맞춰서(32bit인지 64bit인지..) os를 깔고, 그것에 맞춰서 프로그램을 다운 받으면 된다. 본인 컴퓨터의 cpu와 OS는 모두 64bit 이기에 64만 소개한다. 

64-bit 

$ wget http://download2.rstudio.org/rstudio-server-0.98.490-x86_64.rpm 
$ sudo yum install --nogpgcheck rstudio-server-0.98.490-x86_64.rpm 

중간에 물어보는 것들은 죄다 'y'를 눌러서 끝낸다. 설치가 끝났다. (크기는 약 90MB)


10. 아래 명령어로 제대로 설치가 되었는지 확인하자. 

sudo rstudio-server verify-installation

이건 나중에 잘 깔렸는지 확인하기 위한 명령어이다. (아래와 비슷하게 나오면 성공이다)

rstudio-server stop/waiting
rstudio-server start/running, process 25722

11. 웹으로 접속하기 위해서 ip를 확인하자. 
자 이제 모두 설치가 완료되었다. 서버의 IP를 확인하기 위해서 "ifconfig"를 처서 
inet addr : ***.***.***.*** 을 찾아서 서버의 IP를 확인한다. 

12. 웹으로 접속한다. 
웹(크롬이나 파이어폭스를 이용했는데 익스플로러도 되는지는 모르겠다 되겠지 뭐)으로 접속한다. 아래 명령어를 이용한다. server-ip는 위에서 얻은것. 
http://<server-ip>:8787
근데 요기서 문제가 발생했다. 

13. 포트를 열어줘야 한다. 
포트를 열어줄려면... 
vi /etc/sysconfig/iptables

를 치고 들어간다. 

열면 대략 여러개가 나오는데 그중에서 아래 굵게 칠한, 한 줄을 추가해준다. (바로 윗줄과 거의 같다)

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8787 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited

이것의 의미는 8787 포트를 외부에서 접근할수 있도록 수정해주는 것을 의미한다. 
ESC를 누른후 : 을 입력하고, wq를 적고 엔터 치면 저장후 나가기가 된다. 

14. 터미널로 돌아가서 방금 수정한 부분만 다시 시작하기
service iptables restart 

사진은 처음인데 잘 들아가서 기분이좋다. 그러면 이제 다른 웹 브라우져에서 한번 열어보자. 아쉽게도 익스플로러는 지원이 안된다. 

Your web browser is not supported by RStudio.

MS가 싫은가보다.  크롬, 파폭, 사파리에서는 가능하니 시도해보자. 여기서 OS 유져네임과 password를 사용해서 들어가보자. 근데 아마 안될꺼다. 왜냐면 R스튜디오는 root 계정으로 접속하는 것을 허용하지 않으므로 서버에 개인 사용자를 위한 계정을 만들어야 한다. 서버에 계정을 만들면 그 계정을 R studio server에서 그대로 이용함. 

서버에 접속하여 RStudio Server를 사용할 사용자들의 계정과 패스워드를 설정해준다. 

ssh root@10.1.1.1
adduser user1
passwd user1

위에서 user1은 임의로 설정한 계정이며 실제로 사용할 계정을 생성해야한다.
여튼 나는 여기서 user1로 만들어서 웹 브라우져에서 동작이 가능하도록 했다. 

15.  문제점. png 패키지가 깔리지 않음... 그래서 ggmap이나 rgooglemap도 깔리지 않음.. 왜지.

도움이 되셨나요?^^


원본 출처: http://127.0.0.1:22171/library/utils/html/memory.size.html

걍 내가 나중에 보려고 번역해 놓는다. 


memory.size{utils}                                                                R Documentation

메모리 할당에 대하여


>설명

memory.size는 현재 사용중인 R버전이 쓰고 있는 malloc 함수의 메모리 할당의 최대 크기나, 현재크키를 알려준다. 


>사용법

memory.size(max = FALSE)

memory.limit(size = NA)


>단위?(Arguments)

max 

logical. 로지컬하다? 만약 OS로부터 얻어온 메모리의 최대량이 '참'이면, "True",

만약 현재 사용중인 양이 틀리면 FALSE, 만약 메모리가 제한되면? "NA"


>자세한 설명

명령라인 표식(Command-line flag)인 --max-mem-size 가 얻을수 있는 메모리의 최대값을 설정한다. (housekeeping 오버헤드의 매우 작은양까지를 포함함). 이것은 32bit 윈도우즈에서는 3Gb를 넘을 수 없고, 대부분의 버전에서는 2Gb로 제한되어 있다. 현재 최소(minimum)는 32Mb이다.

만약 64bit 윈도우에서 32bit R이 돌아가는 중이라면, 얻을수 있는 메모리의 총량은 4Gb 이하(under)이다. 64bit 윈도우와, 64bit R이라면 현재 메모리는 최대 8TB까지 이다. 

메모리 한계은 증가될수도 있다.(Memory limits can only be increased.)

환경 변수 R_MAX_MEM_SIZE 는 초기 한계값을 설정하는(specify) 다른 방법을 제공한다. 


>값

Mb단위로(1048576 bytes), memory.size는 0.01MB 단위로 다듬고(round to), memory.limit는 잘라낸다(round down).


>주의사항

이 함수들은 다른 플랜폼들에 존재하지만 R이 스스로에게 제한된 메모리를 할당하므로, 무한대를 보고한다. 즉, OS자신의 자원(facilities)이 활용될수 있다. 


> 추가 참고 사항.

다른 제한(limits) 들에 대한 Memory-limits.

The rw-FAQ 

> 예시들

memory.size()
memory.size(TRUE)
memory.limit()


+ Recent posts