О виртуальных машинах

Алексей Федорчук

Тема этой заметки навеяна обсуждением в одном из блогов. Хотя своё отношение к виртуальным машинам я хотел выразить давно. Правда, только в том узком аспекте, в котором этот вопрос интересует меня лично.

Я довольно много пишу об установке различных дистрибутивов Linux, а также более иных операционных систем — хобби у меня такое, дистрибутивы устанавливать. Причём почти всегда, за исключением некоторых случаев, делаю это в реале, в не в виртуальных машинах, о чем явным образом и говорится во всех моих материалах. Всегда, кстати, содержащих ссылки на описание целевой аппаратной конфигурации.

И тем не менее, время от времени в комментариях или по почте я получаю либо предложения описать установку дистрибутива Икс в виртуальной машине Игрек, либо — жалобы на то, что этот самый Икс в том самом Игреке не установился или работает как-то не так.

С первым вопросом всё ясно — я никогда не пишу о том, чем сам не занимаюсь и что мне совсем не интересно. А почему мне не интересны виртуальные машины — станет ясным из дальнейшего.

А вот из второго вопроса авторы комментариев делают подчас неожиданный вывод: если дистрибутив Икс не установился в виртуальной машине Игрек (или работает в ней неправильно), значит, дистрибутив Икс — плохой. Хотя очевидно, что с точки зрения логики и без дополнительных данных этот вопрос имеет минимум два ответа…

Вспоминаю случай из давнишних времён, когда я пользовал виртуальную машину VMWare одной из первых версий. Применял я её исключительно для трёх целей: просмотра своих сайтов в IE (тогда мне это казалось ещё актуальным), игры в Солитёр (на мой взгляд, величайшее достижение фирмы Microsoft, перед которым меркнет даже мышь с колёсиком) и, наконец, для изготовления скриншотов процесса инсталляции различных дистрибутивов.

Так вот, занимался я всем этим спустя рукава (ну не входили такие дела в число моих приоритетов), в частности, с особенным цинизмом не ознакомившись с документацией к VMWare: поскольку первым её применением было как раз запуск Windows (замечу в скобках — вполне легальной, в те времена былинные я ещё имел обыкновение покупать по служебной линии лицензионный проприетарный софт), а всё, что было связано с этой ОС, напрочь отшибало у меня способность к чтению. Видимо, я свято усвоил завет Великого Билла откидываться на спинку кресла.

И потому скриншоты у меня получались плохими. Да и сами дистрибутивы не всегда устанавливались. А если устанавливались — то не всегда работали вообще. И ещё реже работали как надо.

И так продолжалось, пока вумные люди меня не надоумили — да прочти ты, наконец, инструкцию. И настрой VMWare должным образом. Каким именно — за давностью лет уже и не помню. Но прочёл и настроил. Не скажу, что все дистрибутивы начали работать в VMWare, как всамделишние, но bouno parte.

Это я всё говорю к тому, что всегда и везде при неудаче возникает вопрос из старого анекдота: это я м… альтернативно чудаковатый или… эээ… название места, где спина теряет своё благородное название, написали с двумя буквами «п».

Не хочу обидеть никого из своих комментаторов и корреспондентов, но если данный дистрибутив плохо играет в данной консерватории — может быть, это в консерватории надо чего поправить?

Опять же возвращаясь к своему личному опыту. Ныне я, после почти десятилетнего перерыва, использую виртуальную машину. На этот раз — VirtualBox. Под Zenwalk’ом. Использую уже с одной-единственной целью: делать скриншоты инсталляторов (пользователей IE среди посетителей сайтов, к которым я имею отношение, меньше, чем пользователей браузеров на основе KHTML/WebKit, и их интересы я цинично игнорирую).

Так вот, из недавних примеров: Zenwalk, что релизный, что текущий снапшот, в этой самой машине худо-бедно устанавливаются. Но никоим образом не запускаются. Текущий CRUX отказывается даже устанавливаться, выпадая в осадок после загрузки ядра. И это при том, что на реальном «железе» обе эти системы функционируют более чем справно.

В чём дело — я особо не вникал за ненадобностью: виноваты ли тут дефекты виртуальной машины вообще, конкретной её сборки, или я чего-то не так в ней настроил (хотя сразу признаюсь, не настраивал ничего, кроме самых банальных вещей, настраиваемых почти по умолчанию). Остаётся фактом одно: неудача установки дистрибутива в виртуальной машине никак не коррелирует с его собственными потребительскими качествами.

И напротив: удачная установка дистрибутива в виртуальной машине ничуть не свидетельство того, что на реальном «железе» он установится и будет функционировать столь же справно. Ведь виртуальных машин, с их виртуальным же «железом», — считаное число. И майнтайнеры распространённых дистрибутивов тестируют свои произведения на совместимость с ними достаточно тщательно. Так что если дистрибутив распространяется в виде образа для установки в клиентскую VMWare, неудача практически исключена. Но при этом нет никаких гарантий, что в реале этот дистрибутив будет нормально работать с беспроводными интерфейсами, звуковыми или сетевыми чипами и тому подобными штуками. Что особенно актуально для ноутбуков с их слабой воспроизводимостью аппаратных конфигураций в отношении второстепенных комплектующих.

Иными словами, существует кросс по реальной пересечённой местности, бег по гаревой дорожке и бег в мешках. И это совсем разные виды спорта. А установка дистрибутивов Linux’а и, тем более, других операционок — это и есть либо бег на стадионе, либо бег в мешках, в зависимости от ситуации.

Этим я ничуть не хочу умалить роли виртуальных машин: многие мои реальные и виртуальные знакомые решают с их помощью свои более чем реальные задачи. Причём часто это оказывается не только самым простым, но и единственно возможным способом их решения. Хочу только подчеркнуть ещё раз: установка в виртуальной машине ни в коей мере не может служить для оценки потребительских качеств дистрибутивов или операционок. Ибо только добавляет степеней неопределённости при анализе возможных неудач.