Unix-подобная операционная система
Unix-подобная операционная система
UNIX-подобная операционная система (иногда сокр. *nix) — система, которая образовалась под влиянием UNIX. Термин включает свободные/открытые операционные системы, образованные от UNIX компании Bell Labs или эмулирующие его возможности, коммерческие и запатентованные разработки, а также версии, основанные на исходном коде UNIX. Нет стандарта, определяющего термин, и допустимы различные точки зрения о том, считать ли определённый продукт UNIX-подобным или нет.
Содержание
Термин «UNIX-подобный» и торговая марка UNIX
The Open Group обладает торговой маркой UNIX и ведёт дела Single UNIX Specification, где слово UNIX используется как знак соответствия. Они не приветствуют употребление термина «UNIX-подобный» и считают, что это злоупотребление их товарным знаком. Руководство группы требует использования заглавных букв в названии UNIX или в другом случае отдельно от остального текста, одобряют использование слова UNIX как прилагательного в сочетании с такими словами, как «система», и не одобряют написание через дефис (относится к английскому тексту). Наиболее близкий термин, который они сочли бы корректным, был бы UNIX system-like. [1]
С 2007 года ведётся спор между Wayne R. Gray и The Open Group, в котором обсуждается использование слова UNIX как торгового знака. [2] По словам Trademark Trial and Appeal, Board Grау со своей компанией требует от The Open Group предоставить ему документацию для их требований к торговой марке.
Также, в 2007 году The Open Group настояла на том, чтобы немецкий Университет Касселя не использовал «UNIK» в качестве сокращения. [3]
Категории
Деннис Ритчи, один из создателей UNIX, выразил своё мнение, что UNIX-подобные системы, такие как Linux, являются де-факто UNIX-системами. Эрик Рэймонд предложил разделить UNIX-подобные системы на 3 типа:
Генетический UNIX Системы, исторически связанные с кодовой базой AT&T. Большинство, но не все коммерческие дистрибутивы UNIX-систем подпадают под эту категорию. Так же, как и BSD-системы, которые являются результатами работы университета Беркли в поздних 1970-х и ранних 1980-х. В некоторых из этих систем отсутствует код AT&T, но до сих пор прослеживается происхождение от разработки AT&T. UNIX по товарному знаку или бренду Эти системы, в основном коммерческого характера, были определены The Open Group как соответствующие Единой спецификации UNIX, и им разрешено носить имя UNIX. Большинство этих систем — коммерческие производные кодовой базы System V в той или иной форме (например, Amiga UNIX), хотя некоторые (например, z/OS компании IBM) заслужили торговую марку через слой совместимости с POSIX, не являясь по сути UNIX. Многие старые UNIX-системы не подходят под это определение. UNIX по функциональности В целом, любая система, поведение которой примерно соответствует спецификации UNIX. К таким системам можно отнести Linux и Minix, которые ведут подобно UNIX-системе, но не имеют генетических связей с кодовой базой AT&T. Большинство свободных/открытых реализаций UNIX, являясь генетическим UNIX или нет, подпадают под ограниченное определение этой категории в связи с дороговизной сертификации The Open Group, которая стоит несколько тысяч долларов.
Cygwin, не являясь операционнной системой, предоставляет UNIX-подобную среду в Microsoft Windows; также существуют сервисы Microsoft Windows для UNIX.
Развитие UNIX-подобных систем
UNIX-системы начали появляться с поздних 1970-х и ранних 1980-х. Много проприетарных версий, таких как Idris (1978), Coherent (1983), и UniFlex (1985), ставили целью обеспечить нужды бизнеса функциональностью, доступной обученным пользователям UNIX.
Когда AT&T разрешила коммерческое лицензирование UNIX в 1980-х, множество разработаных проприетарных систем основывались на этом, включая AIX, HP-UX, IRIX, Solaris, Tru64, Ultrix и Xenix. Это во многом вытесняло проприетарных клонов. Растущая несовместимость между системами привела к созданию стандартов взаимодействия, в том числе POSIX и Единой спецификации UNIX.
Между тем, в 1983 году был запущен проект GNU, благодаря которому удалось сделать операционную систему, которую все пользователи компьютера могли свободно использовать, изучать, исправлять, пересобирать. Различные UNIX-подобия разрабатывались аналогично GNU, часто с теми же основными компонентами. Они прежде всего служили дешёвым замещением UNIX и включали 4.4BSD, Linux и Minix. Некоторые из них послужили основой для коммерческих UNIX-систем, таких как BSD/OS и Mac OS X. Примечательно, что Mac OS X 10.5 (Leopard) сертифицирован Единой спецификацией UNIX. [4]
Чем Linux отличается от UNIX, и что такое UNIX-подобная ОС?
UNIX (не стоит путать с определением «UNIX-подобная операционная система») — семейство операционных систем (Mac OS X, GNU/Linux).
Первая система была разработана в 1969 в Bell Laboratories, бывшей американской корпорации.
UNIX-подобная ОС
UNIX-подобная ОС (иногда используют сокращение *nix) — система, образованная под влиянием UNIX.
Слово UNIX используется как знак соответствия и как торговая марка.
Консорциум The Open Group обладает торговой маркой «UNIX», но наиболее известен как сертифицирующий орган для торговой марки UNIX. Недавно на The Open Group был пролит свет в связи с публикацией спецификации «Single UNIX Specification», стандартов которым должна удовлетворять ОС чтобы гордо называться Unix.
Вот здесь вы можете взглянуть на генеалогическое древо UNIX-подобных операционных систем.
Linux
Linux — общее название UNIX-пободных операционных систем, которые разработаны в рамках проекта GNU (проект по разработке СПО). Linux работает на огромном множестве архитектур процессора, начиная от ARM заканчивая Intel x86.
Наиболее известными и распространенными дистрибутивами являются Arch Linux, CentOS, Debian. Также существует много «отечественных», российских дистрибутивов — ALT Linux, ASPLinux и другие.
Возникает довольно много споров об именовании GNU/Linux.
Сторонники «open source» используют термин «Linux», а сторонники «free software» — «GNU/Linux». Я предпочитаю первый вариант. Иногда для удобства представления термина GNU/Linux используют написания «GNU+Linux», «GNU-Linux», «GNU Linux».
В отличие от коммерческих систем (MS Windows, Mac OS X) Linux не имеет географического центра разработки и определенной организации, которая владела бы системой. Сама система и программы для нее — результат работы огромных сообществ, тысяч проектов. Присоединиться к проекту или создать свой может каждый!
Вывод
Подводя итог, я могу сказать, что отличия между Linux и UNIX очевидны. UNIX — намного более широкое понятие, фундамент для построения и сертификации всех UNIX-подобных систем, а Linux — частный случай UNIX.
2.3. Базовые сведения о работе в *nix-системах
Информационные системы предприятий не мыслятся сегодня без серверов, работающих на одном из клонов *nix-систем.
Linux-мифы
Бесплатные операционные системы и прикладные программы являются серьезным конкурентом коммерческим продуктам. На большинстве рабочих мест можно безболезненно перейти на программы с открытым кодом. Естественно, что вокруг этой проблемы существует много рекламных спекуляций, призванных внушить пользователям и руководителям определенные представления о «правильном» пути.
Автор не ставит целью дать подробную инструкцию по работе с Linux-системами. Открытых источников очень много, и во многом они лучше того, что я смог бы предложить читателю. Постараемся просто объективно сравнить основные характеристики коммерческого и бесплатного продуктов и познакомить читателей с другим классом операционных систем, чтобы каждый смог самостоятельно составить собственное мнение о быстро развивающихся продуктах.
Современные операционные системы и прикладные программы, особенно самые массовые, строятся, прежде всего, на стандартах. Как Linux, так и Windows могут использовать одинаковые сетевые протоколы, единую пользовательскую базу (сервер с учетными записями пользователей может быть как на основе Linux, так и Windows) и т. п.
Естественно, что полной тождественности различных продуктов быть не может. Возникающие проблемы носят, прежде всего, психологический характер. Когда я решил сменить обозреватель Интернета (в то время это был вынужденный шаг, поскольку производительности моего компьютера не хватало для работы в Internet Explorer), то несколько дней меня не покидало чувство дискомфорта и желание вернуться в привычную среду. Сейчас я уже ни за что не откажусь от работы в Firefox: эта программа мне кажется более удобной и предоставляет большие возможности. Существенно меньшие неудобства были связаны с переходом к OpenOffice.
Сегодня в распоряжении пользователей большое количество разнообразных дистрибутивов Linux на любой вкус. Их легко найти и скачать из сети Интернет. Дистрибутивы для серверов и рабочих станций отличаются только набором программ, вы легко можете установить дополнительные пакеты и использовать, например, рабочую станцию в качестве сервера.
Для работы сервера Linux графический интерфейс излишен. И администраторы, приобретшие даже незначительный опыт работы, стараются выполнять большинство операций именно в режиме командной строки. Тем не менее, графический интерфейс в данной операционной системе также присутствует, и вы можете использовать его для настроек так же, как делали это в Windows.
В то же время, использование командной строки имеет ряд преимуществ. Во-первых, команды очень легко автоматизировать, используя пакетные файлы. Во-вторых, графический интерфейс сам может быть причиной ошибок, кроме того, на оформление затрачиваются серьезные ресурсы системы. В-третьих, использование текстовых файлов конфигурации программ позволяет очень легко переносить настройки с одной системы на другую, а для резервирования системы в большинстве случаев достаточно сохранить несколько текстовых файлов.
- Примечание
Не случайно, что и базовая функциональность нового сервера от Microsoft — Windows Server 2008 — предполагает отказ от графического интерфейса и работу исключительно в режиме командной строки.
Безопасность в Linux и Windows
Очень много разговоров ведется о безопасности работы в операционных системах. При этом приводятся различные данные, которые должны показать преимущество той или иной операционной системы. Сейчас очень популярны цифры о количестве обнаруженных уязвимостей и сроках их устранения, причем в зависимости от критериев оценки лидером «становится» то одна, то другая система. Можно рассматривать количество обнаруженных уязвимостей, можно оценивать степень их опасности и сроки реагирования разработчика. Любая такая оценка будет объективной, но насколько она отражает реальную жизнь?
Я бы советовал больше прислушиваться к мнению практикующих администраторов, сопровождающих системы на Linux. Для однажды установленной операционной системы и запущенного на ней программного обеспечения сам факт перезагрузки уже является нештатной ситуацией. Компьютер с Linux просто всегда работает и выполняет возложенные на него задачи.
- Примечание
При освоении Linux необходимо сразу заставить себя отказаться от практики перезагрузок компьютера: в отличие от Windows, это не приносит никакого эффекта. Причины практически любых проблем нужно искать в системных настройках.
Несколько моментов, о которых следует знать пользователям Linux
В Интернете представлен весьма большой объем документации по настройке Linux, и если возникла та или иная проблема, скорее всего, вы найдете необходимые рекомендации простым поиском в Сети. Здесь упомянем только несколько основных моментов, которые нужно учесть администраторам, имеющим опыт работы только в Windows.
Собственно сам Linux — это только ядро. Остальное — это приложения и службы, которые вы устанавливаете. Нечетные номера версий — экспериментальные, четные (2.8 и т. п.) представляют собой стабильные сборки.
В Linux не принято хранить файлы «где придется». Есть достаточно четкая структура размещения информации (см. табл. 2.3 в разд. «Структура папок Linux” далее в этой главе), поэтому, например, все пользовательские данные будут находиться только в папке соответствующего личного профиля.
Состав доступных команд зависит от учетной записи, под которой выполнен вход в систему. Если вы не видите в списке требуемой команды, попробуйте переключиться на учетную запись root.
Работу в консоли существенно облегчит использование программы MidNight Commander — mc (рис. 2.12). Программа практически повторяет интерфейс и возможности Norton Commander, с которого начиналась вся работа на компьютерах под управлением операционной системы DOS. При помощи программы mc можно осуществлять любые файловые операции (копировать, переименовывать, удалять, создавать папки и т. д.), редактировать файлы, просматривать архивы, установочные пакеты и т. п. MidNight Commander по умолчанию не устанавливается, но входит в большинство дистрибутивов Linux. Думаю, что вы не пожалеете, если будете использовать возможности данной программы.
Рис. 2.12.
Программа MidNight Commander
В Linux расширения имен файлов не используются для ассоциации выполняемых операций. Исполняемым может быть любой файл, необходимо только предоставить ему соответствующее разрешение. Кстати, это повышает безопасность системы.
Команды в Linux чувствительны к регистру. Например, ключи R и r могут обозначать различные операции.
В Linux не принято подключать жесткие диски под именами логических дисков (C, D, E и т. д.). Обычно диски монтируются: добавляются в качестве новой папки в определенное место файловой структуры.
Так же, как и в Windows, в Linux создаются пользователи, которых можно объединять в группы. Учетные записи могут быть как локальными, так и храниться централизованно (и использоваться на нескольких компьютерах). В Linux есть один «суперпользователь», которому разрешено все. Его имя — root. Работа от имени этой учетной записи не приветствуется. Текущие операции выполняются с правами обычного пользователя, в случае операции, требующей административных прав, система запрашивает пароль учетной записи root (и обычно сохраняет его некоторое время в памяти для удобства последующих административных операций).
Структура папок Linux
Linux предполагает четкую структуру расположения папок и файлов. В табл. 2.3 приведены наиболее «значимые» папки системы.
Таблица 2.3.
Типовая структура папок в Linux
Папка с программами редактирования и проверки структуры диска, а также изменения состояния системы
Содержит записи, соответствующие устройствам, подключенным к системе
Папка программ работы с учетными записями. В этой же папке хранятся программы демонов
В этой папке находится основная часть файлов локальной конфигурации системы
Скрипты запуска системы. Часто указывают, в свою очередь, на папки /etc/rc?.d (? — цифра от 0 до 6, соответствует уровню запуска)
Домашняя папка пользователя username
Папка с общими программами; доступна только для чтения
В эту папку должны устанавливаться прикладные программы
Папка, в которую обычно копируется справочная документация по установленным программам
Папка с программными библиотеками
Обычно используется для подключения устройств (диски, CD-ROM и т. д.)
Папка, в которой обычно размещаются устанавливаемые программы, имеющие большой объем
Папка для хранения специальных файлов, формируемых ядром системы
Папка для изменяемых данных. Содержит, в том числе, папки журналов системы
Текстовый редактор vi
Если используется графическая оболочка, то для редактирования файлов применяются программы типа OpenOffice, Gedit и аналогичные, работающие в графическом режиме. Однако в аварийных ситуациях, когда нужно восстанавливать систему, а обычно такие операции выполняются в нервной обстановке и при отсутствии времени, работать можно только в консоли.
В Linux существует очень мощный текстовый редактор, который запускается командой vi (в терминале). Умение пользоваться им может оказаться очень полезным.
Редактор можно запустить сразу с открытием файла. Для этого после vi нужно через пробел указать имя файла.
Текстовый редактор vi имеет два режима работы: командный и редактирования. При открытии файла вы попадаете в командный режим, в котором можно выполнять такие операции, как поиск, замена, сохранение файла, вызов внешней команды и т. п.
Чтобы начать ввод текста, следует перейти в режим редактирования. Например, чтобы ввести символ в текущей позиции, надо нажать сначала на клавишу i и только потом начать набор. Если нажать клавишу а, то символы будут вводиться справа от позиции курсора и т. п. Обычной ошибкой пользователей, начинающих работу в vi, является попытка удаления символов или перемещения курсора в режиме редактирования. В этом случае редактор набирает спецсимволы, поэтому приходится выходить в командный режим, удалять ошибочный ввод, перемещаться в нужную точку текста и снова входить в режим редактирования.
В редакторе доступно много команд, они подробно описаны в Интернете. Упомяну лишь самые основные, которые позволят выполнить простейшие операции с текстом (табл. 2.4).
Таблица 2.4.
Команды текстового редактора vi
Добавить. Переход в режим ввода текста справа от курсора
Вставить. Переход в режим ввода текста слева от курсора
Клавиши перемещения курсора
Перемещение курсора по документу. Для перемещения курсора используются также четыре расположенные в ряд клавиши (влево), (вниз), (вверх) и (вправо). Можно использовать их вместе с цифрами: например, ввод команды 9k переместит курсор на 9 строк вверх
Перемещение на одну страницу вперед/назад
Переход на последнюю строку документа
Переход на строку с номером n
Удаление символа над курсором
Удаление слова, в котором находится курсор
Удаление символов, начиная с текущего, до конца слова; ввод команды 4dw приведет к удалению четырех слов
Удаление символов, начиная с текущего, до конца строки
Копирует текущее слово в буфер
Копирует текущую строку в буфер
Вставляет содержимое буфера после курсора
Поиск символов слово вперед
Поиск символов слово назад
Замена сочетания символов, указанного в строке поиск, на сочетание, указанное в строке замена, во всем тексте документа
Отмена последней операции (можно отменить несколько шагов)
Восстановление последней отмененной операции
Сохранение файла и выход из режима редактирования
То же, что и :wq — сохранение файла и выход
Выход из редактора (операция выполнится, только если все внесенные изменения сохранены)
Выход без сохранения изменений
Выполнение внешней команды (command)
Вывод информации об имени редактируемого файла и текущей позиции в нем
Выполнение команд с правами другого пользователя
Помимо переключения на суперпользователя эта же команда, введенная с указанием какой-либо другой учетной записи в качестве параметра, позволяет переключиться на нее, если далее по запросу системы ввести ее имя и пароль: su — userl
- Примечание
При переходе от суперпользователя к другому пользователю пароль вводить не требуется.
Прикладные программы в Linux
Операционная система — это только «основа», позволяющая работать в прикладных программах, ради которых и включают компьютер. Сегодняшний Linux включает в себя большое количество бесплатного прикладного программного обеспечения. Это текстовые и графические редакторы, аудио- и видеопроигрыватели, утилиты записи CD/DVD, почтовые клиенты и обозреватели Интернета, серверы баз данных и т. п.
Программы для Linux доступны обычно в двух вариантах: в исходных кодах и в пакетах, полностью подготовленных для автоматической установки. При наличии предварительно скомпилированного пакета именно его и устанавливают. Преимущество этого варианта в том, что при установке автоматически добавляются и необходимые библиотеки (те, которые должны быть установлены для нормальной работы программы, иначе называют зависимостями).
Установочные пакеты хранятся в депозитариях. Для того чтобы добавить новую программу в систему, достаточно выполнить простейшую команду. Например, для установки программы в Ubuntu:
Эта команда загрузит из Интернета необходимый установочный пакет и все зависимости и выполнит установку.
Установочные пакеты не всегда существуют для конкретной версии Linux. В этом случае нужно выполнить установку из исходных кодов. Этот процесс несколько более трудоемкий, поскольку требует ручной установки отсутствующих библиотек и предварительной установки программного обеспечения для компиляции.
На портале http://SourceForge.net вы можете найти тысячи проектов, среди которых есть и программы управления предприятием (ERP-системы), CRM-системы, системы электронного документооборота и т. п.
Среди коммерческого программного обеспечения можно отметить тенденцию постоянного увеличения числа вендоров, разрабатывающих свои продукты как для систем на основе Windows, так и для использования в Linux. Если примерами крупных западных разработчиков уже вряд ли кого удивишь (например, для системы документооборота Documentum можно выбрать любую платформу и клиента, причем ее версия для Linux характеризуется большей надежностью и повышенной производительностью), то пример российской фирмы 1С, выпустившей версию своей программы для Linux, говорит о многом.
Кроссплатформенный запуск программ
Существуют как коммерческие, так и бесплатные проекты, позволяющие запускать Windows-программы на Linux-системах. Наиболее известный бесплатный пакет — это Wine (www.winehq.org).
Под Wine работают не все программы. Но пользователям в свое время удавалось запустить в этом пакете даже программу 1С.
Второе решение запуска Windows-программ состоит в использовании виртуальной машины. Вы устанавливаете виртуальную машину, в которой запускаете операционную систему Windows и проблемное приложение. Данный способ гарантированно позволит продолжать использовать прикладную программу, но потребует приобретения лицензионной копии Windows.
Существует возможность запускать и Linux-программы под Windows. Интересующихся читателей можно отослать к ресурсам Интернета.
Установка Linux
Установка Linux и ее первоначальная настройка не составляют никакой сложности. Операции выполняются в графической среде при помощи мастера установки (рис. 2.13), который в процессе инсталляции запрашивает основные параметры (часовой пояс, раскладку клавиатуры, путь установки и т. п.). Если какие-то параметры вам не понятны, можно просто согласиться с вариантом, предложенным мастером по умолчанию.
Рис. 2.13.
Установка Linux происходит в графическом режиме
Многовариантная загрузка
На одном компьютере можно использовать несколько операционных систем. Лучше всего устанавливать их на различные логические диски. Но часто желание попробовать новую операционную систему возникает, когда компьютер уже используется и свободных дисков нет.
Можно воспользоваться возможностями Windows 7 и уменьшить разделы жесткого диска для того, чтобы создать новый раздел и установить систему на него. Но установщики Linux позволяют сами изменить конфигурацию разделов существующей системы без потери данных. Мастер установки предложит создать на существующем диске новый раздел, при этом вы можете указать желаемый объем нового раздела (по умолчанию обычно предлагается использовать половину имеющегося свободного пространства). Операция займет некоторое время (зависит от объема жесткого диска), после чего установка Linux продолжится.
Естественно, что подобный вариант действий возможен только тогда, когда первой установленной системой была Windows. Современные установщики Linux «знают» практически все используемые операционные системы других вендоров.
- Примечание
После установки Linux на раздел Windows и последующей загрузки Windows система предупредит о возможных неисправностях диска и предложит выполнить его проверку. При этом возможна и перезагрузка Windows (после установки новых устройств). Это стандартная реакция системы на изменение раздела диска. Данные не потеряны, надо просто один раз согласиться на выполнение предложенных шагов.
Тестирование Linux на виртуальной машине
Если вы хотите предварительно протестировать систему Linux и ознакомиться с ней, то можно воспользоваться ее установкой на виртуальную машину. Можно, конечно, использовать виртуальную машину от Microsoft, но это не самый лучший вариант для Linux-гостевой системы. Я бы рекомендовал проводить эксперименты в среде Oracle VirtualBox.
2 Можно не использовать дефис в качестве параметра: в этом случае вы также получите права администратора, но параметры окружения (например, текущая папка) останутся прежними. При вводе дефиса команда переведет вас в новое окружение.








