|
| ||||||||||||
| ||||||||||||
|
2005 г.
Запуск Linux-приложений из FreeBSDАлексей Федорчук Но на каждую тетку с резьбою Существует устоявшееся мнение о том, что применение FreeBSD в качестве настольной системы затрудняется недостаточным (по сравнению, скажем, с Linux) количеством приложений общего назначения. При этом забывают часто, что база пользовательских программ этих систем практически одинакова. И почти все приложения, доступные в исходных текстах на условиях любых свободных лицензий, можно найти если не в коллекции пакетов FreeBSD, то уж в системе ее портов - точно. Ведь число портированных под нее программ превысило десять тысяч - не каждый дистрибутив Linux может похвастаться таким числом прекомпилированных специально для него пакетов. Если же некая позарез необходимая программа случайно не попала в этот неслабый, согласитесь, список, - ее, как правило, можно скомпилировать для работы во FreeBSD руками. Разумеется, проделать такую процедуру можно только в том случае, если исходные тексты нужной программы доступны. И тут выступает оборотная сторона медали популярности Linux, привлекшей к ней внимание производителей проприетарного софта. Каковые распространяют свои достижения, пусть подчас и бесплатно (при некоторых ограничениях), но - только в прекомпилированном специально под Linux виде (а иногда и под конкретный его дистрибутив, чаще всего - под RedHat и его клоны). Однако на самое хитрое ухо всегда найдется палец с левой резьбой. И в данном случае таким леворельбовым" инструментом оказывается режим бинарной совместимости с Linux, реализованный во FreeBSD, который позволяет запустить минимум 90% всех Linux-приложений. Он основывается, насколько нам известно, на подмене системных вызовов ядра Linux соответствующими вызовами ядра FreeBSD. И, в отличие от большинства эмуляторов (и, тем более, виртуальных машин типа VMWare), практически не приводит к снижению производительности. Высказывается даже мнение, что Linux-программы в режиме совместимости во FreeBSD выполняются быстрее, чем в родной среде. Впрочем, количественные данные на этот предмет нам не известны. Доступ к режиму совместимости требует двух действий - установки пакета linux-base и внесения изменений в конфигурационный файл После установки пакета нужно будет подняться до пункта Startup в том же меню Configure и отметить опцию Linux (расшифровывающуюся как This host wants to be able to run Linux binaries). Все, теперь после перезапуска машины режим Linux-совместимости будет доступным. Можно поступить еще проще - сразу отправиться в пункт Configure -> Startup и отметить опцию Linux. По выходе из него будет автоматически предложено установить пакет Другой путь - установить % make install clean А затем в любом текстовом редакторе вручную добавить в файл linux_enable="YES" и перезагрузить машину. Результат в любом случае будет одинаков - появление в каталоге Устанавливая Получив доступ к режиму Linux-совместимости, дело остается за малым установить сами Linux-программы. Делается это различными, иногда не совсем тривиальными, способами, некоторые из которых описаны во FreeBSD Handbook. Однако для некоторых Linux-программ установка во FreeBSD проста, как грабли. Примером чему - RealPlayer. Конечно, формат Real и для аудио, и для видео, - далеко не верх совершенства, особенно учитывая его закрытый характер. Однако ничего не поделаешь - лучшая на Руси (и не только) подборка авторской песни существует только в этом формате, и до доведения до ума свободных альтернатив (тип Hylix) приходится слушать ее посредством проприетарного RealPlayer'а. Да и не крутит Hylix старые Real'ы - почему, остается загадкой. Благо, для установки его Linux версии во FreeBSD достаточно скачать оную (например, можно взять % ./rp8_linux20_libc6_i386_cs2.bin Далее отвечаем на ряд обычных занудных вопросов (типа адреса электронной почты, страны, почтового кода - зачем бы он?, - скорости соединения, после чего обнаруживаем в каталоге $ /usr/local/RealPlayer8/realplay или создать символическую ссылку в любом охваченном переменной PATH каталоге. Как мы уже говорили, устанавливая linux_base по умолчанию, мы одновременно получаем возможность прямой установки прекомпилированных для Linux rpm-пакетов. Делается это точно так же, как в RedHat, ASP- или Altlinux - командой % rpm -i --ignoreos --root /usr/compat/linux --dbpath /var/lib/rpm package_name.rpm Установленные таким образом пакеты должны запускаться с указанием полного пути - Многие из нас люблят периодически смотреть флэшки. Да-да, как это ни странно... Поэтому одним из первых портов, которые ставят такие любители (в из числе и один из авторов этой заметки), будет linuxplaginwrapper, включающий в себя flash-player для различных браузеров. Установка его проста, как кусок хозяйственного мыла. И столь же обманчива... Собственно, в самом процессе нет ничего сложного. Сложное начинается потом... Итак: % cd /usr/ports/www/linuxpluginwrapper % make install clean % less /var/db/pkg/linuxpluginwrapper-20050320/+DISPLAY И вот из этого-то $ pkg_info -Dx linuxpluginwrapper мы и узнаем, что надо скопировать приведённый там текст в Вуаля, флэшки проигрываются в браузере. Но этого мало. Хотелось бы проигрывать их и, так сказать, стэндэлон. К сожалению, подходящего плейера не нашлось (те, что есть - не проигрывали тестовый файл). В результате, оптимальным выходом оказался самый простой - запускать windows-версию flash-player'а из под wine. Результат оказался вполне удовлетворительным. Файл проигрывается, скорость нормальная, звук есть. Однако это - совсем другая история. Заметим лишь, что использовался flashpl70.exe, а в качестве тестового - вот этот ролик (3,4 Mb). |
|
CITForum © 1997–2025