역자의 말.
본인은 프로그래머도 아니고, 순수한 사용자로서 리눅스 자체에 손을 대본 적은 없습니다. 따라서 번역 과정에서 리눅스 명령에를 번역함에 다소 오류가 있을 수 있으니, 양해를 해주시면 감사하겠습니다. 번역을 한 이유는, “루팅”에 대한 막연한 질문에 대한 가장 구체적이면서도 이해하기 쉬운 수준의 글이라고 생각하였기 때문에 안드폰의 “루팅”에 대해서 도움이 될까 해서 번역을 해보았습니다. 이하의 글에서 (역자주:…)라고 되어 있는 부분을 제외하고는 모두 원문에 있는 내용입니다. 원만한 독해를 위해서 직역이 아닌 조금 의역을 하였습니다 (그러나 문장 하나 하나 대조해서 시비를 걸지는 말아주세요 흑…)

원문: Rooting – Is It For Me? Some Q.

http://www.androidcentral.com/rooting-it-me-some-qa

(편집자: 이 글은 원래 2010년 2월 14일에 작성되었습니다. 최근에 새로운 정보를 업데이트하여 안드로이드에 처음 입문하는 분들께 드립니다)

매일같이 판매되는 안드폰이 많아지면 많아질 수록, 사용자들은 중요한 결정을 해야 만 합니다. 루팅 하느냐, 마느냐. 어떤 이들은 단지 “할 수 있다”는 이유만으로 할 것이며, 어떤 이들은 있는 그대로의 순정 폰에 만족하기 때문에 하지 않을 것이지만, 대부분은 루팅에 대한 결단을 내리지 못하고 왔다리 갔다리 할 것입니다

이 글을 통해서 우리는 루팅에 관한 의문점들에 대한 해답을 제시하고, 나아가 루팅 과정에 대해서 더 분명한 상을 제시하여 여러분의 결정에 도움이 될 수 있기를 바랍니다. 물론, 이 글이 루팅 여부를 결정하는 데에 관련된 모든 의문에 대한 대답을 제시하지는 않겠지만, 아마도 루팅에 관한 시발점이 되자 추가 논의에 대한 기초를 쌓는데 도움이 되리라고 믿습니다.

질문: 대체, 루팅이라는 게 정확히 뭐야?

안드폰을 루팅한다는 것으 “su”라고 불리는 작은 리눅스 어플을 추가하는 것을 의미합니다. “su”는 “SuperUser”를 의미하며, 더 높은 수준의 권한을 가진 상태로 각종 어플과 명령어를 수행할 수 있도록 합니다. 어플이든 사용자이든, 코드로 돌아가는 모든 것은 OS에서 정한 권한 레벨에 따라서 제어가 되도록 되어 있습니다.

왜 리눅스이죠? 안드로이드 OS의 기본은 리눅스 커널을 기반으로 만들어졌습니다. 아마도 각종 전문가들이 리눅스 커널에 대해서 이런 저런 말을 하고 있는 것을 듣게 되겠지만, 가장 핵심은 이 커널이라고 하는 것이 안드로이드와 당신의 기계 사이를 조정하는 것입니다. 일단 “정상적”인 범위에서 벗어나서 안드로이드에 명령어를 직접 내리기 시작하면 당신은 이제 이 “커널”과 대화를 하게 되는 것입니다.

루트 권한을 가진 사용자는 그야 말로 “보스”이며, 당신의 장치에 “무엇이든지 – 그것이 좋은 것이든 나쁜 것이든” 할 수 있게 된다. 핵심 어플의 캐쉬를 지우는 것과 같은 간단한 작업으로부터 심지어 당신의 전화기를 무선 AP로 만들어서 노트북이나 아이팟 터치에 무선 인터넷을 연결 시켜주는 것까지, 루트 권한을 가지게 되며 이 모든 것이 가능해집니다. 이 “su”프로그램은 어플 혹은 사용자가 안드로이드에서 작업을 실시함에 있어서 루트 권한을 가지게 해주는 일종의 통로입니다. 혹시 당신이 호기심이 많다면 (딱 걸렸습니다!!) 여기 “리눅스 정보 프로젝트 (http://www.linfo.org/root.html )” (영문)을 참고해주세요.

질문: 알겠는데, 그럼 내가 왜 구태어 내 폰을 루팅하고 싶을 마음이 들까요?
좋은 질문입니다! 묻는 걸 보니 어쩌면 당신은 루팅을 할 마음이 없는지도 모르겠네요. 리눅스 시스템 내에 있는 모든 것은 파일이거나, 파일처럼 취급된다. 안드로이드가 리눅스를 기반으로 돌아가기 때문에 이 또한 같은 방법으로 돌아갑니다. 당신이 실제로 필요로 하는 대부분의 파일들은 이러한 높아진 사용 권한 없이도 접근이 가능할 것입니다. 여기서 핵심은 “대부분”이라는 단어입니다. 당신이 만야 안드폰의 핵심 소프트웨어를 바꾸거나 건드리고 싶은 경우에는 – 가령 안드로이드폰의 OS를 업데이트하거나, 혹은 다른 장치에 있는 소프트웨어를 가져오고 싶은 경우에는 – 루팅 권한이 필요합니다. (초기 안드폰이었던 HTC의) “드림” (미국에서는 TMO G1)과 “매직 (미국에서는 TMO “MyTouch 3G)의 경우에는 많은 사람들이 (공식적으로 업글이 안 된) 안드로이드 2.1을 돌린 지 상당히 되었는데, 이는 이 사용자들이 자신들의 폰을 루팅했기 때문에 가능한 것입니다. 루팅을 하게 되면 또한 일반적으로는 사용이 불가능한 소프트웨어를 쓸 수 있게 됩니다. 가령 “시스템 전체를 완전한 백업”하는 어플을 실행하거나, 광고를 막는 소프트웨어 등은 루팅을 필요로 합니다. 단지 “루팅을 위해서” 투팅을 할 필요는 없지만, 혹시 필요하거나 사용하고 싶은 프르그램이 있다는 것을 발견하게 되면, 루팅도 고려해보세요. 루팅을 하게 되면 커뮤니티를 통해서 많은 도움을 받을 수 있으며, 이러한 커뮤니티들은 초보자들에 대해서 도움을 제공해주는데 인색하지 않습니다. 나아가, 당신이 새로운 사용자들에게 도움을 제공할 수 있다고 생각되면, 주저하지 마십시오.

질문: 결국은 (아이폰의) 탈옥, 제일브레이크와 비슷한 거네요?
대체로 비슷하다고 할 수 있습니다. 아이폰 혹은 아이팟 터치를 탈옥하는 것을 통해서 사용자들은 제조사가 허가하지 않은 어플을 사용하거나 아이폰의 배경 화면이나 테마를 바꿀 수 있습니다 (역자 주: 원문이 배경 화면 변경조차도 허용하지 않았던 iOS 3.XX 시절에 쓰여진 글임을 기억해주시기 바랍니다). 물론, 안드로이드는 이미 이러한 기능들을 많이 구현할 수 있습니다. 어째든 “무대 뒤에서” 폰을 조정한다는 의미에서는 비슷합니다. 아이폰의 경우에는 탈옥을 해야만 구현할 수 있는 많은 기능들은 사실 안드로이드에서는 루팅 없이도 사용할 수 있습니다. 그럼에도 정말로 모든 것을 사용하기 위해서는 루팅이 필요합니다. 기본적으로 컨셉 자체는 비슷합니다. 원래는 할 수 없는 기능들을 구현할 수 있도록 한 다는 점에서는 두 가지가 비슷합니다.

질문: 루팅이 위험한가요? 제 전화를 벽돌로 만들 수 있나요? 제 워런티도 날라가나요?
위험할 수도 있으며, 전화기가 벽돌이 될 수 있고, 물론 워런티는 날라갑니다. Superuser 계정에 관한 권한을 막음으로써 제조사와 통신사는 기본적으로 사용자가 전화기의 시스템을 바꿈으로써 전화기를 사용 불가 상태로 바꿀 수 있는 가능성을 막아 사용자의 폰을 보호합니다. 키보드 글자 하나를 잘못 침으로서 당신의 번쩍이는 새로운 안드폰을 프라스틱과 철로 만들어진, 전화가 안 되는 벽돌로 만드는 것은 순식간입니다. 많은 경우에 물론 이 벽돌은 복구가 가능하지만, 항상 그런 것은 아닙니다. 기본적으로 사용자가 얼만큼 자신감이 있고, 당신이 찾은 안내 방법이 얼마나 자세한 지를 충분히 검토해야 합니다. 당신이 루팅을 하지 않는다고 비난할 사람은 아무도 없으며, 특히 당신이 가입한 통신사라면 더더욱 그럴 것입니다. 대부분의 통신사와 제조사들은 “허가 받지 않는 소프트웨어를 사용하거나 기본 소트프웨어를 변경하는 것은 워런티를 날라가게 한다”고 간단하게 서술하며, 루팅은 이러한 경우에 해당합니다. 물론, 이러한 말이 지나치게 엄격하다고 느낄 수도 있지만, 통신사와 제조사의 입장에서는 자신들이 판매하는 장치에 대한 서비스를 책임져야 합니다. 서비스를 책임지기 위해서는 제조사들은 그 폰에서 무슨 프로그램이 돌아가고 무슨 짓을 하고 있는지 충분히 인지하고 있어야 합니다.

루트권한을 가진 앱을 실행하는 경우에는 한 가지 더 주의해야 할 점이 있습니다. 당신이 사용하고자 하는 그 앱을 만든 개발자를 얼만큼 신뢰할 수 있는 지에 대해서 생각을 해보아야 합니다. 이 개발자가 다른 프로그램은 만들었는가? 사용자들의 평가(마켓 어플의 경우) 및 댓글에서 수상한 점은 없는가? 루트 권한을 가지 앱이 요구하는 권한이 조금 이상해 보이는가? 루트 권한이 있는 앱을 사용하기 전에 반드시 이러한 질문들을 고려해야 할 필요가 있습니다. (역자주: 원문에서는 여기서 “Whitelist”이라고 하는 어플을 소개하는데, 마켓에서 다운로드/실행이 안 되고 사용자들의 평가도 대체로 그래서 이 앱에 대한 설명을 생략합니다).

한 가지 더 있습니다. 많은 커스텀 롬의 경우에는 “SSH 서버”를 포함하는 경우가 있습니다. 이 서버 기능은 매우 훌륭한 도구가 될 수도 있지만 동시에 당신을 곤란하게 만들 수도 있습니다. 과거 아이폰의 경우에도 이 SSH 서버 때문에 문제가 생긴 경우가 있습니다. SSH 서버는 가만히 대기를 하고 있는 상태에서 외부로부터의 신호를 받으려고 하며, 만약 그 신호가 정확한 암호를 입력하는 경우에는 당신의 전화기에 대한 모든 권한을 자동으로 넘기게 됩니다. 아이폰의 경우에는, 많은 사용자들이 탈옥을 하면서 기본적으로 설정된 SSH 암호를 바꾸지 않았습니다. 일부 영리한 (혹은 사악한) 사용자들은 주위에 있는 서버에 접속을 시도한 다음에 기본적으로 설정된 암호를 이용하여 접속하였습니다. 문제를 아시겠습니까? 물론, 이러한 것을 방지하는 방법은 간단합니다. 혹시 커스텀 롬이나 펌웨어를 사용하실 생각이면, 그 안에 SSH 서버를 만드는 기능이 있는 지를 확인해보고, 만약 있다면 서버를 끄는 방법 내지 기본 암호를 바꾸는 방법을 알아 두시기 바랍니다.

질문: 루팅를 하게 되면 통신사에서 제공하는 시스템 업데이트를 받을 수 있나요?
그럴 수도 있고, 아닐 수도 있습니다. 만약 당시 루팅을 하여 모든 파일에 접근할 수 있는 권한을 얻었어도 시스템 자체를 많이 바꾸지 않았다면, 당신의 전화기가 통신사에서 제공하는 업데이트를 설치하기 전에 폰 자체를 검사하는 과정을 통과할 수 있을 것입니다. 이와 반대로 조금 더 깊숙이 들어가서 당신의 전화기를 정말로 심하게 바꿨다면, 검사 과정을 통과하지 않을 가능성이 더 높습니다. 통신사의 업글은 대체로 원본 소프트웨어를 기준으로 작동하도록 만들어지기 때문에, 그 통신사 업데이트를 현재 폰에서 무엇이 돌아가고 있는 지를 알아야 합니다. 다시 강조를 하지만, 이러한 조치는 사용자를 보호하기 위한 장치입니다. 미국의 통신사 직원들은 자사의 직원들에게 루팅에 대한 교육을 시키지 않으며, 혹시라도 이미 변경된 소프트웨어 위에 통신사의 업글을 강제로라도 적용하려는 경우에는 안 될 경우가 많을 것입니다.

그래도 좋은 소식이 있다면, 통신사 업데이트 검증 과정을 통과하지 않더라도, 당신의 전화기에 아무런 문제가 생기지는 않을 것입니다. 업데이트 과정은 중간에서 취소되고 당신의 전화기는 검증 과정 이전 상태로 돌아오게 될 것입니다. 이렇게 되면 당신은 전화기를 복원하고 다시 업데이트 하는 방법을 선택하거나, 아니면 아예 다른 방법을 강구할 수도 있습니다. 최악의 경우라면, 당신의 전화기가 통신사 업데이트의 검증 과정을 통과하고, 업데이트를 적용하였다가 전와가 자체가 먹통이 될 수도 있습니다. 가능성은 낮지만 분명히 발생할 수도 있습니다. 이러한 상태가 발생을 하게 되면, 그래도 당신 혼자 그러지는 않을 것입니다. 같은 문제를 겪을 사람들은 다 자신이 즐겨 찾는 커뮤니티에서 해결책을 찾으려고 할 것이며, 그러면 해결책이 나올 가능성도 있습니다.

중요! 경우에 따라서는 통신사의 업데이트가 루트 접근 권한을 차단하는 경우도 있습니다. 이런 경우에는 새로운 루트 방법이 발견되어야 할 것입니다. 루팅, 혹은 업그레이드에 관련해서 이 점을 꼭 말씀드릴 필요가 있습니다. 루팅을 하고 커스텀 롬을 설치하는 사용자들의 대부분은 대체로 롬 개발자가 기존 통신사에서 제공하는 버그 수정 및 새로운 기능을 포함하는 업데이트를 기다리게 됩니다.

질문: 루팅을 하게 되면 어플 업데이트는 되나요?
됩니다. (역자주: 내용이 불 필요하게 길어져서 생략. 루팅을 해도 마켓 등을 통해서 다운 받은 앱의 경우는 업그레이드에 문제가 없습니다)

질문: 만약 제가 “루트 복원 (언루트)”를 하려고 한다면, 어떻게 해야 하나요?
이 경우에는 폰에 따라서 다릅니다. 어떤 폰은 복원이 무지 쉽기도 하고, 어떤 것들은 매우 어렵습니다. 당신이 루팅을 하려고 한다면 반드시 이 질문에 대한 분명한 답을 가지고 있는 것이 필요할 것입니다. 대체로 당신이 루팅 방법을 알려준 싸이트에는 복원을 하는 방법에 대한 안내도 있을 것입니다. 루팅을 하기 전에 일단 복원하는 방법이 얼마나 어려운지, 혹은 쉬운지를 충분한 시간을 가지고 확인을 하는 것이 중요합니다. 제시된 안내 방법을 충분히 숙지하고, 필요한 경우에 백업도 충분히 하시기 바랍니다. 경우에 따라서는 복원하기 위해서 이 백업 과정이 필요할 수도 있습니다. 아직까지는 루팅 이전에 백업이 완전히 되어 있는 상태에서 출고 상태로 돌아가지 못하는 경우는 보지 못하였습니다. (역자주: 미국 정발 넥서스원에 한국 정발 넥원 이미지를 잘못 씌우는 경우에는 복구 불가능 일 수도 있습니다). 가장 중요한 것은, 항상 필요하면 도움을 요청하는 것을 잊지 않는 것입니다. 혹시 복원하는 방법에서 막힌 경우가 발생하면, 도움을 요청하십시오. 우리 포럼에서 많은 사람들이 있으며, 이들은 대부분 도움 요청에 대해서 기쁘게 들어줍니다. 아마도, 당신이 최초로 이 문제에 봉착한 사람이 아닐 수도 있으며, 이미 해결책이 나와 있을 수도 있습니다.

이상에서 보았듯이, 루팅이라는 세계에 들어가기 전에는 여러 가지로 고려해야 할 것이 있습니다. 그러나 일단 루팅을 하기로 결정을 하였다며, 이상에서 우리가 제시한 정보를 다시 한 번 확인해보십시오. 보안 문제를 비롯한 위험성은 충분히 존재하지만, 그렇다고 대책이 없는 것도 아닙니다. 루팅을 안전하게 할 수 있습니다. 단, 먼저 당신이 해야할 “숙제”, 즉 사전 공부를 다 해놓으십시오!