Project Crostini 덕분에 Google Pixelbook을 시작으로 곧 Chrome OS에서 Linux 앱을 사용할 수 있습니다. Crostini는 무엇이며 왜 그렇게 중요한가요? Android 앱 통합 이후 Chrome OS의 가장 큰 변화에 대해 알아봅니다.
다음은 Project Crostini라고도 하는 Chrome OS의 Linux 앱 기능에 대한 Google의 1년 비밀 개발에 대해 알아야 할 모든 것입니다.
간단히 말해서 보안을 손상시키거나 개발자 모드를 활성화하지 않고 Chrome OS에서 일반 Linux 애플리케이션을 실행하는 방법입니다. (아직 사용할 수 없음) 공식 설정 상태 "Chromebook에서 Linux 도구, 편집기 및 IDE를 실행"하는 것입니다.
Crostini는 기능이 Chrome OS의 높은 보안 표준을 충족할 만큼 안전하게 실행될 수 있도록 수년간 개발한 결과물입니다. 왜 그냥 나타나는지 이해하려면 이전에 나온 것을 살펴보는 것이 가장 좋습니다.
Crostini를 맥락에 두기 – Chrome OS의 암흑기
Android 앱이 등장하기 전에는 Chrome OS에 유용한 생산성 앱은 말할 것도 없고 오프라인 기능도 별로 없었습니다. 제정신인 사람이라면 왜 크롬북을 사겠습니까? "그냥 웹 브라우저일 뿐입니다."는 모든 크롬북 리뷰의 결론이었습니다. Chrome 웹 스토어는 얻을 수 있는 만큼 많았지만 앱 선택이 매우 형편없고 거의 업데이트되지 않았습니다. 모험가는 다음 도구를 사용하여 Android 애플리케이션을 실행할 수 있습니다. ARC 용접기, 그러나 그것은 뺑소니였으며 성능이 좋지 않았습니다.
오프라인 한계를 극복하기 위해 좌절한 사용자는 Chrome OS를 지우고 Linux를 설치하거나 오픈 소스 도구를 사용했습니다. 크루통 Chrome OS 커널 위에서 작동하는 동시 데스크톱 환경[예: Ubuntu Unity]을 설정합니다.
교체용 GNU/Linux 배포판이나 Crouton을 실행하려면 약간의 노하우가 필요했고 종종 버그 투성이었습니다. 두 옵션 모두 특히 사용자 친화적이거나 안전하지 않았습니다. 잘못된 키를 누르면 장치를 지우거나 벽돌로 만들며 Crouton 환경을 암호화하지 않은 상태로 두면 모든 게스트 사용자가 액세스할 수 있습니다.
Android 앱 통합, 선례 설정
Android 앱은 2016년에 Chrome OS에 출시되었고 오프라인 기능이 크게 도약했지만 이 기능을 활성화하는 것은 단순한 플러그 앤 플레이가 아니었습니다. 보안을 중시하는 OS에서 작동할 수 있는 유일한 방법은 효과적으로 샌드박스 처리되는 경우였습니다.
Chrome OS 개발자가 선택한 새로운 솔루션은 컨테이너화, 응용 프로그램을 독립 실행형 실행 패키지로 묶는 방법입니다. 컨테이너와 약간의 조정을 통해 완전한 Android 환경과 모든 것을 얻을 수 있었습니다. Chrome OS의 나머지 부분과 분리되어 있지만 동일한 컨테이너에서 실행되는 종속성 핵심.
그러나 Android 앱은 일반적으로 데스크톱/노트북 폼 팩터를 염두에 두고 개발되지 않습니다. Chrome OS의 열악한 터치 환경을 믹스에 추가하면 앱이 전혀 작동하지 않는 경우 실망스러운 생산성 세션을 갖게 됩니다.
Android 앱이 지금까지 생산성 격차를 해소하는 데 도움이 되었지만 여전히 전체 데스크톱 앱의 방대한 라이브러리에 대한 열망이 있었습니다. 초기 Android 문제와 마찬가지로 Linux 애플리케이션을 실행할 수 있는 기능을 여는 것만으로도 악성 애플리케이션이 Chrome OS의 모든 것에 액세스할 수 있기 때문에 Chrome OS의 공격 표면이 증가합니다. 호스트 OS. 그래서 이번에 개발자들은 Android에서 이미 배운 것 위에 가능한 한 격리된 Linux 앱 기능을 설계했습니다.
심층 방어
이름에서 알 수 있듯이 Crostini는 Crouton과 비슷하지만 안전하지 않은 사용자 공간이 Chrome OS 옆에 있는 대신 두 개의 벽이 있습니다. 첫 번째 벽은 Chrome OS KVM(커널 기반 가상 머신) 구현인 Termina VM입니다. 해당 VM이 시작되면 실제로 실행하려는 앱이 있는 두 번째 벽인 컨테이너를 설치합니다. 따라서 본격적인 Klondike 데스크톱 앱을 실행하려는 경우 VM 내부의 컨테이너에서 실행됩니다.
개발자들은 특히 비기술적인 관점에서 공개용 문서를 소화할 수 있게 만들지는 않았지만 비공식 평신도의 읽기에서 소프트웨어는 이제 Chrome OS의 아키텍처는 다음과 같을 것입니다. 나에게 상처를 주다]:
즉, VM 구성 요소에는 별도의 사용자 공간과 가상 장치(vCPU, IP, MAC 등)가 있고 컨테이너는 이러한 리소스를 활용하는 패키지 앱입니다. 이 시점에서 VM 구성 요소에 대한 주의 사항을 추가해야 합니다. 실제로 하드웨어를 에뮬레이션하지 않습니다..
지금은 부자만…
Reddit의 커뮤니티와 같은 일부 /r/Crostini, 이미 Crostini를 만지작거리기 시작했습니다. 구글 픽셀북. 불행하게도, Pixelbook은 지금까지 Crostini 기능이 있는 유일한 기기입니다., 그러나 기호는 ARM 시스템 온 칩이 있는 장치를 포함하여 향후 지원을 받을 다른 장치를 가리킵니다. 하지만 아마도 아직 32비트 머신에는 적합하지 않음. 또한 Crostini를 실행하는 데 VM 기능의 일부가 필요하다는 힌트도 있습니다. 이전 커널 버전이 있는 기기에서는 사용할 수 없습니다..
여기까지 왔다면 아마 궁금할 것입니다. 무엇을 달릴 수 있을까요? 성공이 제한되었습니다. Chrome 개발자는 Visual Studio를 실행 중이라고 암시했습니다. Reddit 사용자는 WINE과 Android Studio를 작동시켰고 ChromeUnboxed는 비디오 데모. 그러나 Google이 실제로 무언가를 선보이기 전에는 전체 기능과 제한 사항을 알 수 없습니다. 우리가 아는 것은 앱은 영구적입니다즉, 중단한 부분부터 계속할 수 있으며 개발자가 최근 앱 목록에서 사용할 수 있도록 작업하고 있음을 의미합니다.
다음은? 고려해야 할 몇 가지 사항
Pixelbook이 아닌 Chromebook의 개발자 채널에 있는 경우 터미널 앱이 Chromebook에 도착했을 수 있습니다. "컨시어지 시작 실패" 오류가 표시될 수 있습니다. 아직 Pixelbook 이외의 기기에서는 VM 기능이 활성화되지 않았기 때문입니다.
우리는 리소스가 할당되는 방법과 이러한 중첩된 앱이 생성하는 오버헤드 종류를 아직 알지 못합니다. Linux 호환 Steam 게임에서 게임을 한다는 아이디어는 매력적이지만 GPU 가속을 사용할 수 없다면 현재로서는 불가능합니다.
호스트/컨테이너 에어 갭이 생성하는 제한 사항(있는 경우)을 알 수 없습니다. 컨테이너와 Chrome OS 간의 통신이 제어되므로 대기 시간이 발생하거나 일부 주변 장치가 비활성화됩니까?
답이 없는 질문이 많고 모든 것이 밝혀지는 것은 시간 문제입니다. 많은 사람들이 확신합니다 구글 I/O 2018 몇 주 후면 대대적인 발표가 있을 것입니다. 개발자 회의이기 때문에 이해가 됩니다. 그 동안 Crostini를 추적하는 동안 계속 지켜봐 주시기 바랍니다.
출처:
Maksim Lin – Chrome OS 컨테이너
크롬 힘내 - ARC 컨테이너 번들, vm_tools, 프로젝트 종료, 크로스브엠