Computer >> 컴퓨터 >  >> 시스템 >> Linux

Chrome OS에서 Ubuntu 컨테이너 실행하는 방법 (Crostini 완전 가이드)

Chrome OS에서 Ubuntu 컨테이너 실행하는 방법 (Crostini 완전 가이드)

Chrome OS 69부터 일부 크롬북 사용자는 Linux 앱을 설치해 사용할 수 있습니다. 'Crostini 프로젝트'라고 불리는 이 기능은 LXD 컨테이너(가상 머신과 유사한 방식) 안에서 Linux 운영체제를 구동하므로, 샌드박스 환경에서 Linux 앱을 안전하게 설치하고 실행할 수 있습니다. Crostini의 기본 Linux 배포판은 Debian으로, 안정성이 뛰어나고 신뢰할 수 있는 배포판입니다. 다만 오래된 소프트웨어 목록 때문에 Debian이 마음에 들지 않는다면 Ubuntu로 갈아탈 수도 있습니다.

이 전환 작업은 터미널에 접속해 상당히 많은 명령어를 입력해야 합니다. 터미널 사용이 익숙하지 않다면 이 가이드는 적합하지 않습니다. 그래도 도전하겠다면, 아래 절차를 따라 Chrome OS에서 Ubuntu 컨테이너를 실행해 보세요.

Ubuntu 컨테이너 설치 단계

1단계: Crosh 셸 실행

크롬북을 부팅합니다. 이때 어떤 Linux 앱도 열지 마세요. Chrome 브라우저를 연 후 Ctrl + Alt + T 키를 눌러 Crosh 셸을 실행합니다.

Chrome OS에서 Ubuntu 컨테이너 실행하는 방법 (Crostini 완전 가이드)

다음 명령어로 터미널을 시작합니다:

vmc start termina
Chrome OS에서 Ubuntu 컨테이너 실행하는 방법 (Crostini 완전 가이드)

2단계: Debian 컨테이너 이름 변경

기본 Debian 컨테이너에는 "penguin"이라는 라벨이 붙어 있으며, 이 라벨은 Chrome OS 파일 시스템과의 통합에 사용됩니다. Debian을 교체하려면 먼저 Debian 컨테이너에서 "penguin" 라벨을 제거해야 합니다:

lxc stop penguin --force
lxc rename penguin debian

3단계: 새 Ubuntu 컨테이너 생성

다음으로 "penguin"이라는 이름의 새 Ubuntu 컨테이너를 생성합니다:

lxc launch ubuntu:18.04 penguin

인터넷에서 이미지를 내려받기 때문에 시간이 꽤 걸릴 수 있습니다.

Chrome OS에서 Ubuntu 컨테이너 실행하는 방법 (Crostini 완전 가이드)

4단계: 새 컨테이너 진입

완료되면 새 컨테이너로 진입합니다:

lxc exec penguin -- bash

5단계: 시스템 업데이트

시스템을 업데이트하고 업그레이드합니다:

apt update
apt upgrade

6단계: Crostini 패키지 저장소 추가

Crostini 패키지를 설치해야 네이티브 파일 시스템과 통합할 수 있습니다. 다음 명령어로 cros-packages 저장소를 추가합니다:

echo "deb https://storage.googleapis.com/cros-packages stretch main" > /etc/apt/sources.list.d/cros.list
if [ -f /dev/.cros_milestone ]; then sudo sed -i "s?packages?packages/$(cat /dev/.cros_milestone)?" /etc/apt/sources.list.d/cros.list; fi
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1397BC53640DB551
apt update

필수 의존성 패키지를 설치합니다:

apt install binutils

7단계: Crostini 패키지 설치 (우회 방법)

저장소를 추가했더라도 Crostini 패키지를 바로 설치할 수는 없습니다. 여기서 우회 방법이 필요합니다.

다음 명령어로 Crostini 패키지를 다운로드합니다:

apt download cros-ui-config

경고 메시지가 표시되면 무시하세요.

Chrome OS에서 Ubuntu 컨테이너 실행하는 방법 (Crostini 완전 가이드)

이제 다운로드한 패키지의 압축을 해제합니다:

ar x cros-ui-config_0.12_all.deb data.tar.gz
gunzip data.tar.gz
tar f data.tar --delete ./etc/gtk-3.0/settings.ini
gzip data.tar
ar r cros-ui-config_0.12_all.deb data.tar.gz
rm -rf data.tar.gz

deb 파일에서 Crostini 패키지를 설치합니다:

apt install cros-guest-tools ./cros-ui-config_0.12_all.deb

8단계: 다운로드한 패키지 삭제

마지막으로 다운로드했던 패키지를 삭제합니다:

rm cros-ui-config_0.12_all.deb

9단계: 아이콘 테마 설치

adwaita-icon-theme-full 패키지를 설치합니다. 이 패키지가 없으면 GUI Linux 앱에서 마우스 커서가 지나치게 작게 표시될 수 있습니다.

apt install adwaita-icon-theme-full

10단계: 사용자 계정 변경

컨테이너의 기본 사용자는 "ubuntu"입니다. 이를 삭제하고 본인의 Gmail 사용자명으로 교체해야 합니다. Ubuntu 컨테이너를 네이티브 파일 시스템과 통합하려면 Gmail 사용자명(크롬북 로그인에 사용하는 Gmail 계정)을 사용하는 것이 필수적입니다. 이 과정을 생략하면 파일 관리자에서 Linux 파일에 접근할 수 없게 됩니다.

killall -u ubuntu
groupmod -n gmail-username ubuntu
usermod -md /home/gmail-username -l gmail-username ubuntu
usermod -aG users gmail-username
loginctl enable-linger gmail-username
sed -i 's/ubuntu/gmail-username/' /etc/sudoers.d/90-cloud-init-users

참고: "gmail-username"은 본인의 실제 Gmail 사용자명으로 바꿔 입력하세요.

11단계: 컨테이너 종료 및 재부팅

모든 작업이 끝나면 컨테이너를 종료합니다:

shutdown -h now

그런 다음 크롬북을 재부팅합니다. 재시작 후 런처에서 터미널 앱을 실행하세요. 실행에 실패하면 몇 번 더 시도해 보세요.

12단계: 시스템 업데이트 확인 및 키 오류 수정

시스템을 다시 한번 업데이트해 봅니다:

sudo apt update

만약 다음과 같은 오류 메시지가 나타난다면:

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7638D0442B90D010 NO_PUBKEY 04EE7237B7D453EC

시스템에 Crostini 패키지의 공개 키가 등록되어 있지 않기 때문입니다. 아래 명령어로 키를 추가하세요:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010 8B48AD6246925553

이후에는 apt update가 문제없이 정상적으로 실행될 것입니다.

이제 apt install 명령어로 자유롭게 Linux 앱을 설치할 수 있습니다. 예를 들어 최신 버전의 Firefox를 설치하려면 다음 명령어를 사용하세요:

sudo apt install firefox

Debian 컨테이너 삭제하기

Debian 컨테이너가 더 이상 필요 없다면 삭제하여 저장 공간을 확보할 수 있습니다.

1. Chrome 브라우저에서 Ctrl + Alt + T 키를 눌러 Crosh 셸을 실행합니다.

2. 터미널을 시작합니다:

vmc start termina

3. Debian 컨테이너를 삭제합니다:

lxc delete debian

마무리

안정성과 보안을 중시한다면 기본 Debian 컨테이너를 그대로 사용하는 것이 가장 좋은 선택입니다. 반대로 더 많은 유연성과 폭넓은 소프트웨어 선택지를 원한다면 Ubuntu로 전환하는 편이 유리합니다. 활용 가능한 LXD 이미지가 매우 다양하므로 굳이 Ubuntu에 국한될 필요도 없습니다. Arch Linux를 선호한다면 그 역시 얼마든지 가능합니다.