Започнах да използвам виртуални машини (VM) на моя компютър за разработка преди около шест години; Имах желание да науча Linux, тъй като бях разработчик на Windows от средата на 90-те години. Първоначално използвах стар компютър с Windows и инсталирах Linux дистрибуция на него; но бързо разбрах, че дистрибуцията заема много място и имах нужда от KVM превключвател, за да управлявам два различни компютъра. Всичко беше малко „объркано“, поради което започнах да изследвам потенциала на виртуалните машини.
Откриването на VirtualBox беше божи дар и направи нещата много по-удобни. Въпреки всички пречки, които Oracle претърпява над своите бази данни, MySQL и Java, Virtual Box остава отличен и безплатен пакет с отворен код.
След няколко години открих радостта от Hyper-V. Той идва като част от Windows Pro; просто трябва да го активирате във функциите на Windows и междувременно не можете да стартирате VirtualBox, защото Hyper-V използва VT-x, технологията Intelvirtualization на процесори x86 и x64. Hyper-V е собствен хипервизор, който може да създава виртуални машини на X86-64 и като цяло е малко по-бърз при стартиране от VirtualBox.
Има и VMware Workstation, която е предназначена за търговска употреба и може да работи с виртуални машини. И трите (VirtualBox, Hyper-V и VMWare) предоставят като цяло сходни възможности: Можете да настроите VM и да инсталирате Windows, Linux или дори Hackintosh. VM обикновено използва няколко десетки GB дисково пространство, заедно с няколко GB RAM.
Обърнете внимание на термините „Host PC“ и „Guest OS“. Докато „Host PC“ означава компютърът, на който работите с Hyper-V (или негов еквивалент), „GuestOS“ е операционната система, инсталирана в определена виртуална машина.
И така, защо бихте използвали виртуална машина за разработка? Ето няколко причини, които открих през годините.
Ако пишете софтуер за различни платформи или искате да тествате приложение на, да речем, Windows 7, Windows 10, Linux и може би на 32 -bit, както и 64-bit (каквото желаете, с други думи), това е мястото, където виртуалните машини са наистина удобни. Можете да създадете няколко тестови среди, всяка с уникална виртуална машина. Това е като да имате банка от персонални компютри, конфигурирани за различните операционни системи: просто стартирайте тестова среда, инсталирайте софтуера си и стартирайте тестове (всичко, от което се нуждаете, е много дисково пространство, за да съхранявате всички различни виртуални машини).
Можете да архивирате виртуални машини, така че може да имате копие на конкретна операционна система за всяка версия на вашия софтуер. Обикновено смятам, че са необходими около 30 GB дисково пространство за една виртуална машина.
Няма нужда от отделен мрежов уеб сървър, когато можете да настроите LAMP система във виртуална машина. Можете да използвате нещо като UbuntuServer или пълната десктоп версия. Но имайте предвид как комуникирате между хост и гост: предпочитам да използвам SSH и WinSCP за копиране на файлове. Други помощни програми като FileZilla и дори Dreamweaver също могат да използват SSH.
Алтернативата е да използвате Samba и да настроите споделени папки. Ако предпочитате да използвате Subversion към Git за контрол на версиите, тогава можете да настроите Subversion сървър на гост OS.
В продължение на около дванадесет години поддържах приложение Delphi, което бях написал през 2002 г. През това време смених моя компютър за разработка четири пъти. Всеки път трябваше да изкопая моята инсталационна медия за Delphi, да инсталирам Delphi и изходния код за компонентите на Delphi и да компилирам и преинсталирам дузина компоненти, преди да мога да създам софтуера.
Отне два до три часа всеки път и беше малко караница, така че преместих всичко в Windows VM и инсталирах веднъж. Сега правя всякакви корекции на грешки и прекомпилирам в тази виртуална машина. Това е мързеливият, но безпроблемен подход!
Съхраняването на по-стар софтуер за разработка във виртуална машина също избягва проблеми, когато надстроите хост OS и се нуждаете от нови версии.
Ако сте разработили нещо за RaspberryPi, то трябва да е свързано в мрежа, за да ви даде пълен достъп. Използвам дистрибуция за него, наречена DietPi; това е намалена версия на Debian 9.
Вместо да се занимавам с версията на thePi, инсталирах Diet Pi във виртуална машина и я използвам за разработка и тестване. Не е добре за тестване на производителността, тъй като VM работи малко по-бързо от myRaspberry-PI B+, но за общо тестване е по-лесно и по-бързо. С DietPi има пет версии за изтегляне за компютър (две оригинални и по една за VMware, VirtualBox и Hyper-V), което е доста грандиозно!
Без VM инсталирането на софтуер на Raspberry-Pi означава поставянето му на SD карта, което отнема няколко минути за запис.
От време на време пиша за Python и наличието на чист работен плот на Ubuntu във виртуална машина означава, че мога да направя копие на виртуалната машина, да я стартирам и след това да инсталирам всички модули Имам нужда от тестване, без да се притеснявам, че ще трябва да почиствам след това. Виртуалните машини правят тривиално инсталирането на други езици за програмиране и изпробването им, без да се притеснявате, че ще претрупате основния си компютър.
С Windows и Hackintoshes, работещи във виртуални машини, имайте предвид потенциалните проблеми с лицензирането. Съмнявам се дали Apple одобрява Hackintoshes; с Windows купих втори лиценз за Windows 10 Pro за виртуалната машина и го удостоверих. Тази страница изброява всички различни версии на ОС, които можете да стартирате в Hyper-V на Windows 10.
Имайте предвид, че тъй като подсистемата на Windows за Linux (WSL) става все по-популярна, можете да правите някои от нещата на Linux, които споменах, като я използвате (и заема само GB RAM, много по-малко от VirtualBox или Hyper-V ).
Но WSL ви ограничава да имате само една ОС; разбира се, това е само за Linux и е ограничено до дистрибуциите в магазина на Windows (в момента има 12, всички са безплатни с изключение на последните четири в списъка). WSL няма да замени Hyper-V, но може да се окаже полезен за някои употреби.
Microsoft предполага, че можете да стартирате VMsunder Hyper-V с най-малко 4 GB RAM, въпреки че бих препоръчал 8 GB (или още по-добре, 16 GB). Имам 64 GB RAM на компютъра си и най-многото RAM, което някога съм използвал, беше 29 GB. С други думи, без значение каква е вашата настройка, шансовете са добри да можете да експериментирате с виртуални машини.
PREV: Какво е прокси сървър Ps4 | Конфигурация на PS4 прокси
NEXT: Ръководство за присвояване на прокси сървър за PS4 | Блог | Limeproxies