사용자 계정으로 로그인한 후

간혹 관리자 root 권한이 필요할 때가 있습니다.


패키지를 설치하거나,

시스템 설정 파일을 수정하거나,

신규유저를 추가하거나,

다른 계정으로 파일권한을 변경하거나

root 권한을 광범위하게 사용하고 있습니다.


root 권한으로 변경할 때 가장 친숙한 명령어가 su입니다.



su는 substitute user의 줄임말입니다.

현 사용자를 로그아웃하지 않고, 다른 사용자의 권한을 획득할 때 사용하죠.

단일 사용자계정으로 우분투 데스크탑을 사용하고 있는 경우에도,

사용자의 권한을 루트로 변경할때 자주 사용합니다.


사용법 : su [변경하고자 하는 사용자 ID]


su 뒤에 변경할 사용자 ID를 입력하지 않는다면,

su root와 동일하게 동작합니다.


$ su
Password: 
# exit
logout
$


위처럼 일반계정쉘 $이 보이다가,

su root로 변경된 후 관리자계정쉘 #로 변경되는 것을 볼 수 있습니다.


하지만 su 뒤에 -를 붙이면 동작방식이 달라집니다.

‘-’의 의미는 무엇일까요?


‘-’

‘-l’

‘--login’

Make the shell a login shell. This means the following. Unset all environment variables except TERM, HOME, and SHELL (which are set as described above), and USER and LOGNAME (which are set, even for the super-user, as described above), and set PATH to a compiled-in default value. Change to user's home directory. Prepend ‘-’ to the shell's name, intended to make it read its login startup file(s). 


‘-’는 -l 혹은 --login과 동일한 명령어입니다.

곧, su -는 su --login root와 동일한 명령인 셈입니다.

위의 설명에서 언급되어 있듯,

‘-’의 유무는 환경변수와 워킹디렉토리에 영향을 줍니다.



위의 표를 하나씩 살펴보기로 하죠.

환경변수 TERM, HOME, SHELL, USER, LOGNAME는,

su나 su -나 모두 변경된 사용자 ID에 맞게 재설정됩니다.


HOME과 SHELL은  /etc/passwd에서 변경할 사용자의 정보를 가져와서 설정합니다.

USER와 LOGNAME은 변경할 사용자계정을 입력하지요.


PATH는 su에선 변경 전후가 동일하지만,

su -에선 PATH가 컴파일시 설정한 default 값으로 설정됩니다.


그 외의 환경변수는 분명한 차이가 있죠.

su는 기존 사용자 환경에서 설정된 환경변수를 그냥 그대로 유지합니다.

그에 반해, su -는 기존 사용자 환경에서 사용하던 환경변수를 모두 지워버립니다.


$ export hello=tizen
$ su
암호:  # echo $hello tizen # exit $ su - # echo $hello (null)

위의 예를 살펴보시죠.

기존 사용자 계정에서 hello라는 변수에 tizen이라는 값을 넣어두었습니다.

그리고 su로 관리자 계정으로 변경합니다.

su는 기타 환경변수를 유지하기 때문에 hello의 환경변수값이 tizen으로 나오겠지요?

위의 예에서도 echo $hello를 하니 tizen이 나오네요.


그리고 exit하여 원래 계정으로 복귀한 후,

이번엔 su -를 합니다.

그리고 echo $hello를 해봅니다.

이번에는 아무 것도 나오지 않네요.

--login 옵션으로 환경변수가 정리되었기 때문입니다.


그리고, su는 워킹디렉토리를 변경하지 않습니다.

반면 su -는 변경한 사용자 계정의 홈디렉토리로 이동하게 됩니다.


$ pwd
/tmp
$ su
암호: 
# pwd
/tmp
# exit
exit
$ su -
암호: 
# pwd
/root


최초에 /tmp 디렉토리에 있었고,

su를 해도 여전히 /tmp에 머물고 있습니다.

하지만, su -를 하면, 관리자 계정의 홈디렉토리인 /root로 이동하게 됩니다


위의 차이점을 알고 사용하면 됩니다.

워킹디렉토리는 cd로 변경하면 그만이니,

환경변수 설정부분만 유의하면 되겠네요.

환경변수는 빌드/실행에 영향을 줄 수 있으니까요.


끝_



* References

http://ko.wikipedia.org/wiki/Su_%28%EC%9C%A0%EB%8B%89%EC%8A%A4%29

http://www.gnu.org/software/coreutils/manual/html_node/su-invocation.html



일개 개발자로서 낯선 플랫폼에 한걸음 다가가기 위해서는,

플랫폼의 철학과 의지를 엿볼 수 있는 SDK를 설치해보아야 합니다.

개발자에게 제공되는 함수를 하나씩 음미하는 것으로,

플랫폼을 이끌어나가는 아키텍트의 판단과 프로그래머의 고민을 엿볼 수 있습니다.

타이젠을 만들고 있는 사람들의 가장 중요한 가치는 무엇일까요.

이 모든 궁금증을 풀기 이전에 오늘은 SDK부터 설치해보고자 합니다.


안녕하세요, Tizen 개발자 윤진입니다.


타이젠 SDK를 우분투에 설치하시려는 분은 아래 포스팅을 참고하세요.

[Tizen] 타이젠 SDK 우분투에 설치하기


타이젠 SDK는 공식 홈페이지(https://www.tizen.org)에서 다운로드 받을 수 있습니다.

위에 걸어놓은 링크를 통해 타이젠 홈페이지에 접속해보세요.


공식홈페이지 시작화면 하단을 보면,

"Download the SDK" 버튼을 찾을 수 있습니다.

현재(2015. 5월)까지 공개된 최신버전은 Tizen 2.3입니다.

버튼을 눌러 Tizen SDK 다운로드를 위한 페이지에 들어가보세요.




Tizen SDK로 개발할 수 있는 앱 타입은,

- Web application

- Native application

위의 두 가지라는 사실을 확인할 수 있습니다.

물론, 위의 두 가지 방식이 혼합된 Hybrid type의 앱도 개발할 수 있습니다.


그리고 여느 플랫폼이 제공하는 SDK처럼,

- 코드를 작성하는 Editor

- 컴파일하도록 도와주는 Toolchain

- 개발한 앱을 가상의 환경에서 돌려볼 수 있는 Emulator

- 개발자를 위한 샘플코드와 도큐먼트

위의 컴포넌트들로 구성되어 있습니다.


Tizen SDK는 윈도우, 우분투, 맥OS X에서 사용할 수 있습니다.

여기서는 윈도우 PC에 설치하도록 해보겠습니다.

(우분투나 맥OS X에서도 설치과정은 동일합니다)


Download Tizen 2.3 Rev2 SDK

위의 메뉴에 진입하면 mobile / wearable 앱을 개발할 수 있는 SDK를 설치할 수 있습니다.


Download Tizen SDK for Wearable 1.0.0

위의 버튼을 누르면 wearable 앱을 개발하기 위한 SDK를 설치할 수 있습니다.


여기서는 Tizen 2.3 Revision 2 SDK를 받아,

mobile & wearable 앱을 개발하기 위한 환경을 갖추고자 합니다.



Tizen 2.3 Rev2 SDK 페이지에는,

- Ubuntu 32 bits

- Ubuntu 64 bits

- Windows 7 32 bits

- Windows 7 64 bits

- Mac OS X(Intel)

- Mac OS X(Intel, CLI)

위의 운영체제에서 돌아가는 버전의 SDK를 다운로드 받게 되어있습니다.

자신에게 맞는 운영체제를 선택합니다.


우분투 환경에서는 설치하기 전에 다운로드 받은 파일에 실행권한을 추가해야합니다.

$ chmod +x tizen-sdk_2.3.63_ubuntu-32.bin
$ ./tizen-sdk_2.3.63_ubuntu-32.bin


다운로드 받은 파일을 설치하려고 하면,



위와 같은 팝업이 나타날 수도 있습니다.

위의 팝업은 Java runtime environment(JRE) version 6 이상 버전을 먼저 설치해야 된다는 알림입니다.

JRE를 설치해야 하는 이유는,

Tizen SDK에서 (자바개발자에게 너무나도 친숙한) Eclipse를 사용하기 때문입니다.

Eclipse가 Java로 개발되었기 때문에,

(아래 그림의 Written in Java 참조, wikipedia에서 더 자세한 내용을 볼 수 있습니다.)

Eclipse를 돌리기 위해서는 우선적으로 Java가 돌아갈 수 있는 환경을 구축해주어야 합니다.



이러한 불편함은 Tizen 만의 문제는 아니고,

Eclipse를 설치하고자 하는 모든 플랫폼/환경에서는 항상 발생하는 일입니다.


윈도우에서 JRE를 다운로드 받으려면 오라클 자바 페이지에 들어가야 합니다.

사이트에 접속하여 자신의 환경에 부합하는 Java SE Development Kit을 다운로드 받습니다.

여기서는,

Java SE Development Kit 8u45의 Windows x64(jdk-8u45-windows-x64.exe)를 다운로드 받습니다.

다운로드를 받고 설치를 시작해보세요.


Java SE Development Kit 8 Update 45를 설치한다는 문구를 확인할 수 있습니다.

Next를 눌러 다음으로 넘어갑니다.



그리고 설치를 시작합니다.

설치과정에 어려운 점은 전혀 없습니다.

설치를 완료한 후,

다시 tizen-sdk_2.3.63_windows_64.exe로 설치를 시도합니다.

그러면, 또 이상한 팝업이 하나 나옵니다.


위의 팝업은 자바를 설치한 직후,

자바를 사용하기 위한 환경변수를 설정해주지 않아서 나타났습니다.

환경변수(PATH)를 설정해주는 방법은 여기를 참고하면 됩니다.


윈도우 7의 경우는 아래처럼 하면 됩니다.

  1. 시작 메뉴에서 컴퓨터를 선택합니다.
  2. 상황에 맞는 메뉴에서 시스템 속성을 선택합니다.
  3. 고급 시스템 설정 > 고급 탭을 누릅니다.
  4. 시스템 변수 아래에서 환경 변수를 누른 다음 PATH를 찾아 누릅니다.
  5. 편집 창에서 PATH 값에 클래스 위치를 추가하여 PATH를 수정합니다. PATH 항목이 없으면 새 변수를 추가하고 이름으로 PATH를, 값으로 클래스 위치를 추가하도록 선택할 수도 있습니다.
  6. 명령 프롬프트 창을 다시 열고 Java 코드를 실행합니다

여기서는 PATH에 아래와 같은 경로를 추가해주었습니다.

C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\;C:\Program Files\Java\jdk1.8.0_45\bin


이 단계까지 마쳤으면,

다시 tizen-sdk_2.3.63_windows_64.exe로 설치를 해봅니다.



아직 설치한 SDK가 없으므로 Uninstall 버튼은 비활성화되어있습니다.

Advanced 버튼을 누르면,

패키지를 다운로드 받을 수 있는 서버를 변경하거나 SDK Image로 직접 설치할 수 있는 메뉴가 나옵니다.

여기서는 따로 설정하지 않고 그냥 Install 버튼을 누르도록 합니다.



Mobile profile이나 Wearable profile을 선택할 수 있는 화면이 나옵니다.

여기서는 Custom에 아래처럼 진입하여 Mobile / Wearable / Other tools를 모두 설치합니다.

하지만, Mobile이나 Wearable만 개발하고자 한다면,

하나의 profile만 선택하여 인스톨해도 무방합니다.



Next를 눌러 다음 화면에 진입합니자.

소프트웨어 라이센스에 대한 설명이 나옵니다.



자세히 읽어보고...?

I agree를 눌러 다음으로 진행합니다.

그러면 무려 2.5기가 이상을 다운로드 받고 설치한다는 메시지가 나옵니다.



사이즈가 사이즈이니 만큼,

인스톨하는데 상당한 시간이 소요될 예정입니다.


인스톨 버튼을 눌러보세요.

인텔 CPU를 사용하는 컴퓨터에서는,

Intel Hardware Accelerated Execution Manager(HAXM)를 설치하라는 메시지가 나옵니다.

HAXM을 설치하면, 에뮬레이터를 보다 빠르게 구동할 수 있는 환경이 갖춰집니다.



HAXM 또한 Tizen만의 사항은 아니고,

다른 플랫폼 - 안드로이드 SDK에서도 에뮬레이터 성능 확보를 위해 설치를 제안합니다.


HAXM까지 설치를 마치면,

이제 본격적인 다운로드 & 인스톨의 과정을 거칩니다.



처음에는 멍하니 모니터를 바라보며 %가 올라가는 것을 바라보고 있다가,

그간 밀린 쓰레기 분리수거를 위해 1층에 내려갔다 왔습니다.

그래도 여전히 인스톨 중이네요.


한참을 기다리니 드디어 인스톨이 완료되었습니다.



자, 이제 정말 설치완료.


설치과정은 타 플랫폼과 대동소이해보였고,

특별히 어려운 점은 없었습니다.


자, 이제 SDK를 사용해보겠습니다.

일단 잠 좀 자고,

다음 시간에 계속 해보겠습니다.


끝_


* 타이젠 관련 블로깅

"Tizen Store 182개국 오픈"에 대한 각지 반응

"Tizen Store에 앱을 팔아보겠다는 의지" Tizen Store 계정 만들기

Tizen SDK 설치하기, "생각보다 쉽다"



+ Recent posts