저는 Mac과 Windows를 운영하는 학생들이 있습니다. 매 학기마다 항상“X”도구를 설치하는 방법에 대한 많은 질문이 있습니다. 단일 Linux 가상 머신 (VirtualBox를 사용해 보았습니다)을 만들고 이미지를 배포하고 싶습니다. 그렇게하면 모든 도구가 사전 설치되며 모든 사람이 Linux를 사용하고 있습니다.
문제는 사람들이 그래픽 하드웨어가 다르면 어떻게 작동합니까? 아니면 작동합니까? 그렇다면 어떻게 배포합니까? VirtualBox를 설치 한 다음 제공 한 파일을로드해야합니까, 아니면 단일 설치 관리자를 쉽게 만들 수 있습니까?
답변
나는 mperrin의 Vagrant-centric answer을 좋아 하지만, 의견에서 알 수 있듯이 제 개인적인 견해는 “간단하게 유지하는 것”이며 VirtualBox OVA를 간단하게 내 보내서 학생에게 전달하는 것이 좋습니다. .
즉, 당신은 이것을 묻습니다.
문제는 사람들이 그래픽 하드웨어가 다르면 어떻게 작동합니까? 아니면 작동합니까? 그렇다면 어떻게 배포합니까? VirtualBox를 설치 한 다음 제공 한 파일을로드해야합니까, 아니면 단일 설치 관리자를 쉽게 만들 수 있습니까?
데브 옵스로 향하다
나는 당신이 가르치고 있거나하는 일이나 학생들 이이 전체 운동에서 벗어날 것으로 기대하지는 않지만, DevOps (개발 및 운영) 영역에 대한 많은 관심사를 원합니다. 그 개념을 당신의 가르침에 혼합하는 것을 고려하십시오.
이제 DevOps의 전체 개념을 전달할 필요는 없다고 생각하지만 안정적인 VirtualBox OVA를 만들면 학생에게 전달하여 가정 / 학교 컴퓨터에서 사용하도록 요청할 수 있습니다. 다른 하드웨어 / 시스템 설정을 처리하는 방법과 적응 방법에 대한 질문
따라서 제가 추천하는 것은 학생들이 설정 한 VirtualBox OVA를 사용하는 것이 좋으며 학생들이 스스로 툴을 설치할 수 있도록하는 것입니다. 내 직감으로 학생들의 95 % 이상이 VirtualBox OVA 방법을 행복하고 쉽게 사용할 수 있다고 말하지만 100 % 완벽하다고 기대할 수는 없습니다.
아마도 결국에는 코스 도구 사용에 대한 몇 가지 기준이 있어야하고 구현에 융통성이 있어야합니다.
도구 사용 방법에 대해 유연하게
예를 들어, 저는 많은 PHP 개발을 수행하고 PHP 개발과 관련된 시스템 관리 / DevOps를 수행합니다. 그리고 저는 Mac을 사용 하기 때문에 로컬 개발에 MAMP 를 사용하는 것을 선호합니다 . 그러나 개발을 위해 Linux 또는 Windows를 사용하는 개발자와 협력합니다. 대체로 LAMP 개발 요구에 VirtualBox와 함께 Vagrant를 사용하는 것과 같습니다. 그리고 내 태도는 기본 OS 설정이 무엇인지 상관하지 않습니다. PHP 버전이 고객이 사용하는 버전과 일치하는 한 아무 문제가 없습니다.
예를 들어, MAMP에서 테스트 한 코드가 Linux LAMP 설정과 “동일하지 않기”때문에 개발자가 버그가 발생하는 경우가 있습니다. 그리고 나는 100 % 확신을 가지고 문제가 항상 기본 OS가 아니라 PHP 코딩 자체라는 것을 입증했다고 말합니다.
따라서이 모든 사실은 기본적으로 다음을 전달하는 것입니다. VirtualBox 설정 사용에 대해 학생에게 유연하게 설명하고 모든 문제를 종식시키기 위해 OS를 숟가락으로 먹이는 것을 기대하지 마십시오. 공원에서 문제의 95 %를 해결할 수도 있지만 나머지 5 %는 항상 어떤 식 으로든 해결해야합니다. 따라서 VirtualBox 설정 및 아마도 Vagrant 스크립트를 무기고에서 사용하여 일부 사람들의 삶을 더 쉽게 만들 수 있지만 모든 문제에 대한 최종 솔루션은 아닙니다.
답변
당신은 Vagrant를 봐야합니다 .
Vagrant는 VirtualBox를 지원하며 다음을 수행 할 수 있습니다.
가볍고 재현 가능한 휴대용 개발 환경을 만들고 구성하십시오.
VirtualBox 이미지를 크게 내보내는 것보다 단일 또는 여러 개의 텍스트 파일 을 공유하는 것이 훨씬 쉽습니다 . 특히 업데이트를 관리하려는 경우.
VirtualBox와 Vagrant가 설치되면 간단합니다.
vagrant up
의지:
- 선택한 기본 이미지 를 다운로드하십시오 .
- 가상 하드웨어 및 네트워크를 구성하십시오 (예 : NAT).
- 호스트와 가상 머신간에 공유 폴더 를 구성 하십시오.
- 작성한 프로비저닝 스크립트 를 실행하십시오 .
- 머신을 실행하고를 통해 간단한 SSH 액세스를 관리하십시오
vagrant ssh
.
단일 Vagrantfile은 Windows 또는 Mac 호스트의 특수성을 처리 할 수도 있습니다.
답변
전혀 중요하지 않습니다-virtualbox (및 다른 모든 가상화 소프트웨어)는 자체 비디오 어댑터 (IIRC cirrus logic)를 에뮬레이트합니다. 기존 virtualbox 파일은 설정 및 저장을 위해 다른 파일로 분할되지만 제안 된대로 ovf 파일로 내보낼 수 있습니다. 학생들이 virtualbox 또는 vmware를 설치할 수 있다면 사소한 것입니다. 그렇지 않다면 배워야합니다.
virtualbox 설치는 매우 간단합니다 (하드웨어 지원이 있다고 가정).
몇 가지 제안 할 것이 있습니다-VM을 32 비트로 유지하십시오 (따라서 호스트에서 VT-X 지원에 대해 걱정할 필요가 없습니다). 대형 2 OS에 가상 상자를 설치하는 방법을 만듭니다 (Windows는 간단합니다, linux는 몇 가지 추가 단계가 필요하며 OVF 파일을 가져옵니다. 이것은 또한 학생들이 가능한 VMware 플레이어 등을 사용하려는 경우를 의미합니다. 외부에서 액세스 할 수있는 서버를 실행해야하는 경우가 아니면 네트워킹에 NAT를 사용하십시오.
성능이 경우 없는 문제, 당신은 아마도 QEMU 인스턴스에 단지 번들 모든 업 (그들은 자기가 포함 된 실행하도록 설정할 수 있습니다) 및 적절한 시작 스크립트 수 있습니다. 나는 이것이 최후의 수단 이라고 생각합니다 .
많은 대학들이 실제로 적절한 도구를 제공하는 VM ( IIRC stanfords CS 50을 제공하며 edx에서 무료로 제공되는 과정)을 제공하므로 어떻게 작동하는지 살펴 보는 것이 좋습니다.
답변
대부분의 가상화 기술에 대한 대안으로 Linux (예 : Ubuntu)를 썸 드라이브에 설치할 수 있습니다. 거의 모든 컴퓨터가 썸 드라이브로 부팅되며 대부분의 최신 설치 프로그램은 부팅시 그래픽 카드 / 네트워크 카드를 감지합니다. 32 비트 Ubuntu를 설치하면 사람들이 집에있을 가능성이있는 거의 모든 하드웨어에서 실행됩니다.
배포하기 쉽고 추가로 설치된 소프트웨어가 필요하지 않습니다. 또한 컴퓨터에서 컴퓨터로 쉽게 옮길 수 있습니다. 학교 컴퓨터에서 플러그를 뽑고 주머니에 넣으십시오. 집에 도착하면 그냥 연결하면됩니다.
그것들은 상당히 싸게 가질 수 있습니다 (학교 예산이 매우 제한되어 있음을 알고 있습니다). 컴퓨터에서 어떤 응용 프로그램을 실행할지에 따라 4GB이면 충분할 것입니다.
답변
고려해야 할 또 다른 옵션. 실제로 GUI를 사용하는 것에 대해 걱정하지 않는다면 terminal.com 과 같은 것을 사용할 수 있습니다 .
자신 만의 공개 스냅 샷을 만들고 학생들이 사용할 수 있도록 간단하게 유지할 수 있습니다. VirtualBox 접근 방식과 비슷하지만 VM을 자체 시스템에 설치하는 대신 다른 시스템 의 클라우드에 있습니다.
그런 다음 필요한 것은 충분히 현대적인 웹 브라우저입니다. 그리고 관심이 있다면 SSH / Putty / etc를 사용할 수 있도록 설정할 수 있습니다.
그들의 수치에 따르면, 학생들이 마이크로 인스턴스 (256MB RAM, 2GB 디스크 공간)를 사용하는 경우 VM을 사용하지 않을 때 VM을 일시 중지하면 8 시간 동안 1 년에 9 달러의 비용이 듭니다. 일. terminal.com과 대화 할 수는 없지만 연락을하면 교육 할인을받을 수있을 것으로 생각됩니다.