BSD file — Что это? Как открыть такой файл? Решения проблем с файлами BSD
Неизвестное расширение файла может быть источником различных проблем. Однако выявление причин проблем с файлами BSD и их устранение не являются сложным процессом. Эта статья опишет 5 простых шагов, которые позволят вам решить проблемы с файлами BSD.
- 1. BSD расширение файла
- 2. Как открыть файл BSD?
- 2.1 Найдите и скачайте и установите соответствующее программное обеспечение
- 2.1.1 Программы, поддерживающие BSD файлы
BSD расширение файла
- Тип файла BSDL Format
- Разработчик файлов IEEE
- Категория файла Файлы данных
- Рейтинг популярности файлов
Как открыть файл BSD?
Шаг 1. Найдите и скачайте и установите соответствующее программное обеспечение
Обычно для открытия файлов. BSD достаточно выполнить следующие простые шаги: найти, загрузить и установить соответствующее программное обеспечение. Затем, дважды щелкнув значок файла, откройте файл. Система должна автоматически связать BSD файл с соответствующим программным обеспечением. Ниже приведен список программ, необходимых для открытия файлов с расширением BSD:
FreeBSD | Обзор, мнение, пригодность для десктопа
Программы, поддерживающие BSD файлы
Шаг 2. Убедитесь, что файл BSD не заражен вредоносным ПО
Если данный файл с расширением BSD не заражен, возможно, антивирусная программа блокирует доступ к файлу. Пользователь должен принять необходимые меры предосторожности и выполнить действия, предложенные системой. После восстановления или удаления зараженного файла рекомендуется проверить всю систему на наличие вирусов. Вам нужно будет приобрести новую, чистую версию файла BSD.
Подсказка!
Имейте в виду, что вы всегда можете обратиться за помощью к ИТ-специалисту. Некоторые проблемы с файлами BSD могут быть трудно решить для менее опытных пользователей. Также вы можете обратиться за помощью к одному из разработчиков программного обеспечения, которое поддерживает файлы с расширением BSD. Для этого перейдите на подстраницу программного обеспечения и найдите адрес веб-сайта разработчика программного обеспечения.
Шаг 3. Убедитесь, что файлы BSD завершены, то есть были ли они загружены правильно
Если файл BSD не был загружен должным образом, программное обеспечение не сможет открыть такой файл. Проверьте размер файла в том месте, откуда вы скачали нужный файл. Если размер исходного файла отличается от размера загруженного файла BSD, вам придется загрузить файл снова.
Шаг 4. Убедитесь, что файлы BSD связаны с соответствующим программным обеспечением
Если в системном реестре нет записи, связанной с программой по умолчанию, которая должна использоваться для открытия файлов BSD , даже если данная программа установлена в системе, тогда файлы BSD должны быть связаны с рассматриваемым приложением.
Связывание файлов с приложениями выполняется аналогично, независимо от типа системы, и состоит в выборе приложения, которое следует использовать для открытия файлов данного типа. Чтобы связать BSD файлы с данным приложением, щелкните правой кнопкой мыши значок файла и выберите в контекстном меню пункт «Открыть с помощью» , который отобразит список предлагаемых программ. Выберите вашу программу из списка. Если приложение отсутствует в списке, используйте кнопку «Обзор» и укажите местоположение приложения. Если установлен флажок «Всегда использовать выбранное приложение для открытия файлов такого типа» , выбранное приложение будет установлено в качестве приложения по умолчанию для открытия указанных файлов.
О BSD по чесноку
Шаг 5. Убедитесь, что носитель, на котором хранятся файлы BSD, не поврежден или не поврежден
Возможно, что носитель, на котором находится файл, поврежден или поврежден. Попробуйте сканировать носитель на наличие ошибок.
Подобные расширения файлов
- Расширение файла Имя файла
- .BSCS Balanced Scorecard Designer
- .BS7 Windows 7 Boot Updater Skin
- .BS4 Mikogo Session Video Recording
- .BSK Nero SecurDisc Private Key Format
- .BSA Bethesda Softworks Archive
- .BSF Blu-ray AVC Video Format
- .BSDL Boundary Scan Description Language Format
- .BS2 BASIC Stamp 2 Code Format
Источник: submitfile.com
FreeBSD — что это? Преимущества FreeBSD перед Linux Windows
В сфере современного программного обеспечения с открытыми исходниками слово «Linux» практически превратилось в синоним понятия «операционная система», хотя мало кто знает о том, что в действительности же это далеко не единственная на сегодняшний день ОС типа Unix, исходные коды которой являются доступными для всех.
В соответствии с данными, полученными от IOSC, в 1999 году практически треть всех машин, которые были подключены к интернету, работали на основе операционной системы Linux, в то время как практически 15% применяли операционную систему FreeBSD. Что это за система, и по сегодняшний день знают лишь немногие современные пользователи ПК, несмотря на все ее преимущества и широкое распространение в свое время. Стоит отметить тот факт, что многие мировые лидеры в сфере Web-услуг активно работают на данной системе. В частности, стоит отметить, что на сегодняшний день система Yahoo основана на FreeBSD. Что это дает пользователям, сами они вряд ли знают и даже задумываются, но владельцы системы уверены, что это правильное решение.
Что представляет собой BSD?
BSD расшифровывается как Berkeley Software Distribution. Именно так в своем время называлось программное обеспечение, которое Калифорнийский университет в Беркли распространял в исходных кодах. При этом стоит отметить тот факт, что изначально дополнение к стандартной операционной системе UNIX – это единственное, что представляло собой FreeBSD. Что это было по сравнению с нынешней версией системы?
На основе версии 4.4 BSD-Lite создавалось несколько операционных систем, имеющих открытые исходные коды. В частности, состав этих систем включал в себя разработки других проектов, среди которых отдельного внимания заслуживает проект GNU.
Структура
Преимущества и особенности, которые имеет данная система, отличаются структурой FreeBSD. Что это за структура:
- Ядро, которое предназначается для тщательной планировки всех процессов, управления памяти, работы с различными устройствами, а также поддержки многопроцессорных систем. При этом следует отметить тот факт, что, в отличие от ОС Linux, в данном случае есть несколько типов ядер BSD, которые отличаются разными особенностями.
- Библиотека С, которая используется в качестве основного системного интерфейса программирования, причем основывается на коде из Беркли, а не из проекта GNI.
- Всевозможные файловые утилиты, компиляторы, оболочки, редакторы связей, а также другие программы конечного пользователя, при этом некоторые из них основываются на коде GNU.
- FreeBSD UNIX — операционная система, включающая в себя X Window, которая отвечает непосредственно за графический интерфейс. Данная система применяется в преимущественном большинстве версий BSD и официально поддерживается проектом X.Org. Данная система позволяет пользователю делать выбор из нескольких графических оболочек, а также целого ряда легких оконных менеджеров.
- Большое количество других системных и прикладных программ.
Что такое настоящий UNIX?
Стоит отметить, что сама по себе FreeBSD UNIX — операционная система всегда разная. И типы таких систем не являются клонами друг друга. Они представляют собой лишь потомков общего предка – традиционной операционной системы UNIX. Данный факт может несколько удивить, тем более если вспомнить, что разработчик этой операционной системы никогда не раскрывал широкой публике коды своих разработок.
BSD — это UNIX?
И действительно, операционная система UNIX никогда не представляла собой программное обеспечение, имеющее открытый исходный код, в связи с чем BSD определенно нельзя будет назвать системой UNIX, хотя бы потому, что графический интерфейс операционных систем является разным. Однако в то же время компания, которая разрабатывала UNIX, активно пользовалась чужими разработками, и в частности это относится к программному обеспечению, которое разрабатывалось организацией CSRG.
Первоначально дистрибутивы BSD, а также графический интерфейс операционных систем представлял собой комплексы пользовательских программ, и такая ситуация продолжалась ровно до тех пор, пока компания не заключила контракт с DARPA, подчиненным Министерству обороны США. Цель данного контракта – это обновление различных коммуникационных протоколов, на которых поддерживалась компьютерная сеть агентства.
В течение 80-х годов сформировалось несколько компаний, занимающихся производством рабочих станций, при этом стоит отметить, что многие из них приобретали лицензии на использование UNIX вместо того, чтобы пробовать разрабатывать с нуля собственное программное обеспечение. В частности, стоит выделить компанию Sun, которая поступила таким образом и решила на основе версии 4.2BSD в конечном итоге выпустить собственную операционку, которая называлась SunOSTM. Когда же компания AThttps://fb.ru/article/198301/freebsd—chto-eto-preimuschestva-freebsd-pered-linux-windows» target=»_blank»]fb.ru[/mask_link]
Мир лицензий: разбираемся с лицензиями BSD
Недавно мной была написана статья Мир лицензий: разбираемся с GNU GPL, в которой я попытался обобщить основную информацию про лицензии GPL, кратко рассказать об истории лицензии, ее версиях и совместимости других лицензий с GPL. В комментариях к статье возникло несколько вопросов и, для ответов на некоторые из них, мной был сделан частичный перевод официального GPL FAQ.
Как это часто бывает, первая статья стала поводом к продолжительным спорам, суть которых сводилась к одному вопросу: «что лучше (для людей, программ, мира, будущего) GPL или BSD лицензии?». На мой взгляд, этот спор сродни вопросу «с какого конца разбивать яйцо?» и не имеет одного определенного ответа. Использование определенной лицензии — это дело каждого и разнообразие их — лишь положительный фактор, который дает разработчикам (и авторам) больше свободы и возможностей для распространения своих трудов.
В этой статье я постараюсь рассмотреть вторую сторону споров — лицензии BSD, их различия, историю и производные. Кроме того, я попытаюсь сравнить GPL и BSD и рассказать, почему оригинальная BSD-лицензия несовместима с GPL.
UPD: обновлены разделы «Original BSD license» и «ISC license (OpenBSD license)»
BSD
Наверное, всем известно, что BSD расшифровывается как «Berkeley Software Distribution». Это название пакета программ, которые собрал Билл Джой, выпускник Калифорнийского Университета Беркли, как приложение к шестой версии операционной системы UNIX. В 1983 году, согласно wiki, пакет 2.9BSD уже являл собой не просто пакет программного обеспечения, но полноценную операционную систему, представляющую из себя модифицированную UNIX v7. Таким образом, «BSD» стало означать «BSD UNIX» и в таком значении эта аббревиатура дожила до наших дней.
Лицензии BSD
С лицензией BSD связана любопытная история, описание которой расположено здесь. Вкратце, уже 4.3BSD в 1986 году содержала в себе отсылки к лицензии BSD в виде комментариев в исходном коде. Но, в силу неких причин, сам текст лицензии не был приложен к дереву проекта. И только 4.4BSD вышедшая в 1994 году содержала в себе полный текст оригинальной лицензии BSD, который (согласно источнику) датируется 1990 годом.
Впрочем, другой источник сообщает о том, что лицензия была использована еще в 1980 году. Как бы то ни было, на сегодняшний день существует несколько вариантов BSD-лицензий.
Original BSD license
Это первый вариант лицензии, который принято называть лицензией 4-ех пунктов (по количеству пунктов условий в тексте). Лицензия разрешала свободное использование и распространение исходных или бинарных кодов с модификациями или без, но с условиями, перечисленными в этих четырех пунктах. Условия эти гласили:
1. Распространенные копии исходного кода должны содержать копирайты указанные выше, этот список условий и отказ от ответственности указанный ниже.
2. Распространенные копии бинарного кода должны воспроизводить копирайты указанные выше, этот список условий и отказ от ответственности указанный ниже в документации и/или других материалах поставляемых с распространяемым пакетом.
3. Все рекламные материалы, ссылающиеся на возможности или использование этого ПО, должны демонстрировать следующее уведомление: Этот продукт включает ПО, разработанное Университетом Калифорнии, Беркли и помогавшими лицами.[1]
4. Ни наименование Университета, ни имена соучастников не могут быть вписаны или использованы для продвижения продуктов произведенных на основании этого программного обеспечения без специального предварительно написанного разрешения.
Эта версия лицензии была подвергнута критике и Ричардом Столлманом, автором лицензии GPL. К сожалению, третий пункт привел к тому, что разные разработчики, выпуская свои продукты под лицензией BSD, заменяли слова в нем на свою организацию. Таким образом, компиляция нескольких, порой многих, разнообразных частей кода в одном проекте, приводила к большому списку обязательных ссылок на копирайты разных компаний и разработчиков при размещении рекламных объявлений (есть сведения, что цифра подобных обязательных копирайтов доходила до 75 штук). Именно из-за третьего пункта оригинальная BSD-лицензия не совместима с GPL лицензиями и коды выпущенные под ней не могут быть использованы в GPL-проекте.
Revisited BSD license
Проблема с третьим пунктом была решена в 1999 году, когда 22 июля было выпущено обращение Вильяма Хоскинса директора отдела по лицензированию Университета Беркли, в котором отменялся третий пункт лицензии для всех продуктов BSD. Согласно этому документу, более не требовалось включать ссылку на Университет Беркли в своих рекламных материалах.
Таким образом, возникла пересмотренная лицензия BSD, известная так же как лицензия 3-ех пунктов. Этот вариант лицензии стал совместим с лицензиями GPL, что, несомненно, имело важные последствия. Теперь коды обеих лицензий, собранные вместе, можно было выпускать в одном продукте под одной GPL лицензией.
Clear BSD license
Эта разновидность лицензии основана на Revisited BSD license и содержит один дополнительный пункт, который говорит о том, что лицензия не предоставляет никаких прав на патенты. Clear BSD была создана компанией MetaCarta, которая объясняет модификацию желанием исключить неопределенность по отношению к патентам в BSD-лицензиях. Различие в лицензиях заключается в этой строке: «NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY’S PATENT RIGHTS ARE GRANTED BY THIS LICENSE.»[2]. Clear BSD совместима с GPLv2 и GPLv3.
FreeBSD license
Эта лицензия так же известна как лицензия 2-ух пунктов. По сравнению с модифицированной BSD-лицензией в этой лицензии убран пункт условий о Университете Беркли. Лицензия родилась при разработке проекта FreeBSD — операционной системе на базе UNIX. Лицензия совместима с GNU GPL.
ISC license (OpenBSD license)
В 1995 возникла очередная вариация UNIX, которую основатели назвали OpenBSD. Для ее распространения использовалась лицензия созданная Internet Software Consortium, которая была схожа с BSD-лицензией двух пунктов (FreeBSD), но по сути убирала эти два пункта, так как согласно Бернской конвенции об охране литературных и художественных произведений, которая вступила в силу в США с 1 марта 1989 года, они уже не требовались. В итоге лицензия стала представлять собой, кроме отказа от ответственности, одно предложение «Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies». Эта простейшая лицензия совместима с GPL-лицензиями.
GPL и BSD, вместо заключения
По своей сути все лицензии BSD не являются copyleft-лицензиями. То есть они не требуют от производного кода быть свободным. Все лицензии, за исключением самой первой оригинальной, совместимы с GPL-лицензиями, но это не мешает разгораться спорам о том, какая из форм лицензий лучше или хуже, какая лицензия более свободна или какая более хорошо влияет на мир и имеет будущее.
GPL и BSD олицетворяют собой две точки зрения на мир свободного программного обеспечения. Первая считает, что ПО должно быть свободным и порождать свободное ПО. «Свобода или Смерть» — лозунг Столлмана как нельзя лучше отражает смысл этой точки зрения. Вторая точка зрения предполагает, что свобода должна заключаться и в том, чтобы делать несвободное ПО. Это более либеральная точка зрения. По сути, здесь возникает философский вопрос: можно ли считать свободой разрешение на ограничение свободы.
На самом деле хорошо, что большинство разработчиков не увлекаются и подходят к вопросу просто: если они хотят видеть части своего ПО только в подобных свободных продуктах, то они выбирают GPL, если им все равно, то они часто выбирают BSD-лицензии. Именно безразличие к судьбе своего ПО и характеризует отличный от GPL подход к свободе.
Лично я не вижу никаких противоречий к тому, чтобы эти два подхода существовали одновременно и использовались разными разработчиками. По моему, такое разнообразие в подходах к разработке и распространению своего ПО всего лишь отражает то, насколько разнообразен наш мир и взгляды на него. Чем больше взглядов в обществе, чем разнополярнее оно и разнообразнее, тем больше будет вариантов для лицензирования и распространения программного обеспечения. И это здорово. Не будьте консерваторами, смотрите на мир шире, будьте терпимыми и принимайте разнообразие как одно и свойств окружающего мира.
Источники
PS:
пожалуйста, если вы нашли неточность или ошибку в статье, сообщите в комментариях или мне на личную почту
Источник: habr.com
Операционная система FreeBSD
FreeBSD – свободно распространяемая, Unix-подобная операционная система с открытым исходным кодом. Является потомком ATT, Bell Labs. В то время, монополия на компьютерную индустрию принадлежала государству, и кампания ATT решила бесплатно предоставить свое программное обеспечение и его исходные коды, университетской среде.
Одни в этом случае получили возможность сэкономить значительные средства, и доступ к технологии, вторые, бесплатную площадку для экспериментов и целое поколение специалистов, выросших на их оборудовании. В конце 70-х годов, в компании ATT Unix. Кроме того, CSRG, работала с подразделением министерства обороны США, управлением перспективных исследовательских проектов ( Advanced Research Projects Agency, ARPA ), с целью реализации в Unix, различных функциональных возможностей, например, стек протоколов TCP/IP.
Итоговая коллекция программного обеспечения Калифорнийского университета, получила название BSD ( Berkley Software Distribution ). Первый выпуск BSD был создан в 1977 году. В конце концов финансирование CSRG прекратилось, после чего, университетом в Беркли, было принято решение, открыть исходный код BSD для широкой публики.
Первым дистрибутивом операционной системы FreeBSD, стала FreeBSD версии 1.0, выпущенная в 1993 году. За основу была взята лента 4.3BSD-Lite (»Net/2»), университета в Беркли, с многочисленными добавлениями из проекта 386BSD, и уже в мае 1994 года, выла выпущена FreeBSD 1.1 RELEASE.
Тем временем, между компанией Novell и Калифорнийским университетом в Беркли назревал скандал, связанный с легальностью версии Net/2 из Беркли. Судебное разбирательство тянулось достаточно долго.
В итоге, по условиям соглашения, достигнутого в ходе данного процесса, Калифорнийский университет признавал, что большие куски кода Net/2, были «унаследованным» кодом, права на который принадлежали компании Novell, ранее выкупившей эти права у компании ATКАК ОНА ЕСТЬ» БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО * ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ * ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В * КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО * В УСТНОЙ ФОРМЕ, НИ ОДИН ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, * КОТОРОЕ МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО * СКАЗАНО ВЫШЕ, НЕ НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, * СПЕЦИАЛЬНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ВСЛЕДСТВИЕ ИСПОЛЬЗОВАНИЯ ИЛИ * НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ * ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ * ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ, ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ * СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ), ДАЖЕ ЕСЛИ ТАКОЙ ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ * ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.
Источник: vds-admin.ru
» Статьи » Все об эмуляции Linux во FreeBSD
Несмотря на то что современная FreeBSD достаточно популярна и хорошо подходит для применения в самых различных сферах: от высоконагруженных серверов до домашних компьютеров, она все же уступает Linux в одном немаловажном отношении — доступности программного обеспечения. Разработчики коммерческого ПО неохотно портируют свои продукты во FreeBSD, останавливаясь на ее гораздо более популярном конкуренте. К счастью, есть выход — эмуляция Linux.
Как это работает
Перед тем как приступать к настройке, мы посвятим несколько минут изучению внутренней структуры и механизмов работы эмулятора Linux. Это нужно для того, чтобы в случае возникновения ошибки или каких-либо трудностей ты смог правильно идентифицировать и устранить проблему.
Во-первых, эмуляция Linux — это вовсе не эмуляция, а имитация, прослойка, которая позволяет FreeBSD выдавать себя за Linux. Несмотря на то что почти все серьезные UNIX-подобные операционные системы совместимы между собой на уровне API (Application Programming Interface) и следуют стандарту POSIX, бинарный интерфейс (ABI — Application Binary Interface) этих ОС в большинстве случаев не совпадает. Например, FreeBSD использует Си-конвенцию системных вызовов, которая предусматривает передачу аргументов через стек, в то время как Linux требует, чтобы аргументы системных вызовов передавались в регистрах общего назначения. Кроме того, наборы системных вызовов Linux и FreeBSD в некоторых местах не совпадают.
Если исходный код программы доступен и написан с соблюдением общепринятых стандартов (в первую очередь POSIX), то не составит труда пересобрать программу для конкретной операционной системы (о совместимости ABI позаботится компилятор и низкоуровневые библиотеки), но что делать, если доступ к исходному коду закрыт? На этот случай во FreeBSD и других BSD-системах предусмотрен уровень совместимости, позволяющий операционной системе имитировать ABI другой UNIX-подобной ОС. Благодаря этому уровню «чужие» программы даже не догадываются о том, что их исполнение происходит в другой операционной системе.
Если мы рассмотрим процесс загрузки и исполнения бинарного файла Linux во FreeBSD подробнее, то увидим следующее. Прочитав заголовок исполняемого файла, FreeBSD найдет в нем специальную метку, говорящую о том, что это бинарный файл Linux, и активизирует уровень совместимости, который предоставит созданному процессу таблицу системных вызовов, совместимую с Linux. При этом сам процесс будет помещен в chroot-окружение (/compat/linux), содержащее копию среды Linux (то есть все, что может потребоваться программе во время работы, и в первую очередь библиотеки). Исполняясь в этой среде, процесс сможет обращаться к системным вызовам, загружать библиотеки, читать/писать файлы и делать все, что позволит ОС.
Несколько лет назад для запуска программ Linux во FreeBSD от пользователя требовалось пометить исполняемый файл специальным флагом (команда «brandelf -t Linux файл»), чтобы ядро смогло определить, что запускается бинарный файл Linux, и активировать режим совместимости. Современные версии компиляторов выставляют такую метку самостоятельно, и необходимость в этой процедуре возникает только в том случае, если пользователь запускает очень древнюю программу.
Настройка
Настройку двоичной совместимости с Linux условно можно разделить на два этапа. Первый — это конфигурирование ядра таким образом, чтобы научить его правильно обрабатывать исполняемые файлы, собранные для Linux. А второй — установка Linux-окружения, в котором эти файлы смогут корректно исполняться.
Пространство ядра
Для того чтобы научить ядро FreeBSD понимать исполняемые файлы Linux, достаточно подгрузить модуль linux.ko (kldload linux), содержащий все необходимые обработчики и альтернативную таблицу системных вызовов. После этого операционная система фактически будет готова к принятию «чужого» кода. Для «закрепления результата» следует добавить строку « linux_load=»YES» » в /boot/loader.conf (загрузка одновременно с ядром), либо « linux_enable=»YES» » в /etc/rc.conf (загрузка во время инициализации системы).
Поклонники монолитной модели ядра могут избежать необходимости ручной загрузки модуля, просто включив код совместимости в ядро. Конфигурационный файл ядра должен содержать следующие строки:
Если сборка будет происходить для архитектуры amd64, то вместо COMPAT_LINUX следует указать строку COMPAT_LINUX32. Последние две строки указывают на то, что код Linux-реализаций файловых систем proc и sys также должен быть включен в ядро. Делать это не обязательно, каждая из них может быть собрана модулем.
На этом настройка ядра заканчивается, и мы переходим к конфигурированию Linux-окружения.
Пространство пользователя
Как уже было сказано ранее, исполнение бинарных файлов Linux происходит в изолированном окружении, которое располагается в каталоге /compat/linux. Чтобы программы могли работать в таком окружении, им требуется доступ ко всем необходимым библиотекам, конфигурационным файлам и специальным файлам, вроде тех, что находятся в каталоге /proc. Есть несколько способов обеспечить наличие этих файлов, мы рассмотрим их все.
Вариант первый. Классический
Первый и самый правильный прием, рекомендуемый разработчиками FreeBSD, заключается в установке окружения через коллекцию портов. Существует несколько портов, воссоздающих окружение времени исполнения различных дистрибутивов Linux. В современных версиях FreeBSD средой исполнения по умолчанию является набор пакетов из дистрибутива Fedora Core 4 (emulators/linux_base-fc4), также доступны коллекции пакетов из дистрибутива Gentoo 2006.0 (linux_base-gentoo-stage1, linux_base-gentoo-stage2 и linux_base-gentoo-stage3). По большому счету неважно, какой из них использовать. Необходимость в переключении на окружение другого дистрибутива может возникнуть только в случае, если программа откажется работать в среде, установленной в данный момент.
В случае если Linux-окружение не было установлено во время инсталляции операционной системы, необходимо воспользоваться командой pkg_add /cdrom/packages/All/linux_base-fc-4_9.tbz (имя пакета может отличаться в зависимости от версии FreeBSD), либо пройти в каталог /usr/ports/emulators/linux_base-fc4 и набрать «make install clean». После того как одна из этих операций будет проделана, каталог /compat/linux превратится в локальную версию дистрибутива Linux.
Теперь необходимо обеспечить доступ к виртуальным файловым системам, без этого действия некоторые программы Linux откажутся работать. Открываем файл /etc/fstab и добавляем в него следующие строки:
none /compat/linux/proc linprocfs rw 0 0
none /compat/linux/sys linsysfs rw 0 0
none /compat/linux/dev devfs rw 0 0
Первые две строки указывают на то, что к каталогам proc и sys, находящимся внутри окружения Linux, необходимо подключить Linux-версии файловых систем procfs и sysfs. Последняя же строка говорит о том, что к каталогу dev также должна быть примонтирована родная файловая система devfs. Это может показаться абсурдом, так как практически ни один специальный файл этого каталога не совпадает по имени у FreeBSD и Linux. На самом деле, файловая система devfs нужна только для того, чтобы Linux-программы смогли выводить звук, ведь интерфейс OSS, используемый в обеих операционных системах, является стандартом и одинаков в Linux и FreeBSD.
После того как операция по модификации файла /etc/fstab будет закончена, набираем «mount –a», чтобы изменения вступили в силу. Это все, теперь внутри твоей FreeBSD поселился самый настоящий Linux. Ты даже можешь переместиться в него, набрав от имени суперпользователя команду chroot /compat/linux /bin/bash. Все программы Linux теперь должны запускаться и корректно работать.
Это относится не только к простым программам, вроде xcalc, но и к комплексным, вроде Quake4 или UT2004. При этом гарантируется, что программа будет работать с такой скоростью, как если бы она была запущена в настоящем Linux.
Вариант второй. Грязный
Второй вариант настройки среды исполнения заключается в ручном копировании необходимых файлов в каталог /compat/linux, без использования коллекции портов или пакетов. Достоинство подхода в том, что он не требует выкачивания из сети сотен мегабайт данных и позволяет использовать уже имеющееся дерево файлов Linux (например, взятое с дистрибутивного диска). Описывать способ нет смысла, потому что подробности совершаемых операций зависят от дистрибутива Linux и не универсальны.
В общем случае все, что требуется сделать, — это скопировать базовый комплект дистрибутивных пакетов и распаковать их в каталог /compat/linux. Это не так трудно, как кажется на первый взгляд. Следует установить FreeBSD-версию пакетного менеджера подопытного дистрибутива (например, archivers/rpm4 или archivers/dpkg) и с его помощью накатить нужные пакеты. Впоследствии недостающие пакеты можно добавить, используя уже родные Linux-версии этих программ:
Установка дополнительных пакетов
Red Hat/Fedora Core
# /compat/linux/bin/rpm -ihv —root=/compat/linux пакет.rpm
Debian/Ubuntu
# /compat/linux/usr/bin/dpkg -i —root=/compat/linux пакет.dpkg
Вариант третий. Простой
Процесс создания среды исполнения существенно упростится, если дистрибутив Linux уже установлен на смежном разделе. В этом случае не потребуется даже копирование, останется только подключить Linux-раздел к каталогу /compat/linux, и среда исполнения готова. Конечно, чтобы использовать этот прием, придется расместить Linux на файловой системе, поддерживаемой FreeBSD хотя бы в режиме чтения.
Вариант четвертый. Радикальный
Четвертый и последний вариант довольно радикальный и издевательский по своей задумке. Он применим в тех случаях, когда необходимо обеспечить Linux-программе доступ к корневой файловой системе (например, если программа должна обращаться к «настоящей» версии каталога /etc).
Chroot-окружение, в которое помещается любой процесс Linux, не предоставляет такой возможности (в этом и заключается смысл песочницы). Но есть выход: можно просто создать ссылку /compat/linux, указывающую на корень ( rm -rf /compat/linux ln -s / /compat/linux ), и тогда chroot-окружение станет идентичным корню. Проблема только в том, что Linux-программы не смогут работать с библиотеками FreeBSD, им нужны их нативные версии. Просто скопировать эти библиотеки в корень не удастся по причине пересечения имен, поэтому следует переименовать их по определенной схеме (например, libc.so.6 в libc-linux.so.6). После этого в файл /etc/libmap.conf можно добавить такие строки:
И так для всех библиотек, требуемых программе. Сами же Linux-программы следует положить в каталог /home/username/linux, именно для него будет действовать приведенное переназначение имен. Описанный способ может показаться слишком грубым, но он действительно работает и может помочь в определенных обстоятельствах.
INFO
Для тех отважных юниксоидов, что идут в ногу с прогрессом и используют последний срез CVS седьмой версии FreeBSD, рекомендую переключить режим совместимости на имитацию ядра Linux версии 2.6.19: sysctl compat.linux.osrelease=2.6.19. Версия 2.4.2, имитируемая по умолчанию, уже не удовлетворяет потребностям современных Linux-программ.
Коллекция портов FreeBSD насчитывает несколько десятков так называемых Linux-портов. Чтобы найти их, находясь в каталоге /usr/ports, набери команду make search name=linux-.
Переменные sysctl
Существует три переменные ядра, напрямую относящиеся к уровню совместимости с Linux: compat.linux.osname — имя имитируемой операционной системы; compat.linux.osrelease — версия ядра Linux, стабильные версии FreeBSD поддерживают только совместимость с ядром версии 2.4.2 (во FreeBSD 7 была добавлена поддержка ядра 2.6.19); compat.linux.oss_version — версия интерфейса OSS (Open Sound System).
Развеиваем миф о драйверах nVidia
Среди пользователей широко распространено мнение о том, что фирменные драйверы nVidia для FreeBSD — это не что иное, как драйверы Linux, работающие в режиме совместимости с Linux. Это, конечно же, неправда, на данный момент FreeBSD способна имитировать только ABI Linux, а не постоянно изменяющийся интерфейс между ядром и драйверами. Модуль совместимости с Linux, который так «любят» драйверы nVidia, нужен только для того, чтобы позволить пользователю играть в Linux-версии коммерческих игр.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Источник: desktopbsd.ru