История создания Linux проста. Она началась в 1991 году. Финский аспирант Линус Торвальдс, приобретя пакет операционной системы MINIX, разочаровался в поставляемой с ней программе эмуляции терминала. Он решил переписать ее, не привязывая ни к какой операционной системе. После некоторых модификаций начало появляться подобие ОС, а затем, когда исходный код был выложен на сервере, проект стал развиваться благодаря усилиям и, главное, энтузиазму программистов, после чего он стал полноценной операционной системой. Проект взял многое от существовавшей уже тогда операционной системы UNIX. Даже название проекта было «собрано» из имени разработчика и буквы X в конце слова как свидетельства схожести с UNIX. Название Linux проект получил не сразу. Изначально он назывался Freax как гибрид английских слов free (бесплатный, свободный) и freak (чудной) с окончанием X, однако, когда Линус Торвальдс выкладывал код на сервере, проект получил свое окончательное имя и логотип
Нужно упомянуть историю операционной системы, на принципах которой была создана Linux, — UNIX. Работу над ней начал в 1969 году работник компании AT&T Bell Labs Кен Томпсон, намеревавшийся написать усеченный вариант операционной системы MULTICS, работа над которой некоторое время назад велась в этой компании. В результате получилась операционная система, написанная полностью на ассемблере(язык программирования ) и получившая шутливое название UNICS (UNiplexed Information and Computing Service — примитивная информационная и вычислительная служба). Затем для удобства система была переименована в UNIX, так как конец слова читается одинаково в обоих случаях. Впоследствии к проекту присоединился Деннис Ритчи, а затем и весь его отдел. В процессе своего развития UNIX был переписан для более нового типа компьютеров и перенесен с языка ассемблер на язык высокого уровня C, который был создан Деннисом Ритчи для упрощения переноса UNIX на другой тип компьютера.
Операционные системы того времени не были удобными, поэтому UNIX быстро приняли везде — от университетов до крупных компаний. Вместе с операционной системой распространялся исходный код, и пользователи могли изменять или добавлять новые возможности, то есть сделать UNIX максимально пригодной для себя. На фоне такого бума создавалось множество подверсий UNIX, которые отличались от оригинала. Одной из самых удачных стала разработка университета Беркли — Berkeley UNIX, первая версия которой называлась 1BSD (First Berkeley Software Distribution — первое распространение ПО Беркли). Программисты существенно дополнили систему новыми возможностями и программами, сделав большой вклад в развитие этой операционной системы. После этого многие разработчики UNIX стали основывать свои версии не на продукте компании AT&T, а на версии Berkeley UNIX, и Berkeley UNIX стал конкурентом оригиналу.
На протяжении долгого времени UNIX разрабатывался каждым программистом для своих нужд, поэтому программы, написанные для одной версии UNIX, могли не работать на другой, и о коммерческом успехе этой системы говорить не приходилось. По этой причине был издан документ, который содержал основные стандарты, которым должны были следовать разработчики. Это повысило совместимость версий UNIX, но не оказало влияния на версии BSD. Наиболее известными версиями UNIX стали BSD, MINIX (разрабатывается известным голландским профессором Эндрю Таненбаумом), SCO UNIX, System V (оригинальная версия компании AT&T), Solaris (разработка корпорации Sun), XENIX (некогда продававшаяся версия UNIX корпорации Microsoft) и, конечно же, Linux.
По прошествии многих лет после создания UNIX вследствие долгого развития и усовершенствования как самим Линусом Торвальдсом, так и многочисленными разработчиками‑добровольцами Linux стала полноценным некоммерческим клоном UNIX. Попутно с развитием самой системы она была перенесена на множество других платформ благодаря тому, что основная масса кода была написана на аппаратно‑независимом языке C (в этом случае переписывается только та часть кода программы, которая ответственна за «общение» программного обеспечения с аппаратным обеспечением компьютера). Выход первой официальной версии Linux состоялся в 1994 году. Она содержала все необходимые функции, включая работу с сетями. Эта версия была совместима с UNIX, для нее переписывались многие программы. К разработке подключилось еще больше программистов. Linux уверенно завоевывала авторитет. В 1995 году был зарегистрирован товарный знак Linux, а в 1996 году вышла версия Linux 2.0. До сих пор контроль над развитием ОС сохраняет за собой Линус Торвальдс. Отдельно следует отметить принципы распространения Linux. Изначально и до сих пор Linux распространяется как свободное программное обеспечение по лицензии GPL (General Public License — стандартная общественная лицензия). Каждый человек может получить доступ к исходному коду операционной системы, дополнить, изменить что‑либо или ис‑ пользовать код в своих проектах. Все это возможно с условием, что модифицированный исходный код будет так же доступен любому человеку, как и оригинал, и распространяться по лицензии GPL.
Сейчас Linux работает на разных типах компьютеров и устройств — карманных компьютерах, мобильных телефонах, игровых приставках, персональных компьютерах, серверах, суперкомпьютерах и даже музыкальных инструментах — благодаря своей гибкости и возможности переноса на другие платформы.
Свободное программное обеспечение
Люди часто путают понятия свободного и бесплатного программного обеспечения. Необходимо разделять эти понятия. Если программное обеспечение просто бес‑ платное (то есть не свободное), вы можете пользоваться им без ограничений, но если вам в нем что‑то не нравится либо у вас есть идеи по поводу его усовершенствования, то максимум, что вы сможете сделать, — сообщить об этом разработчику. Используя же свободное программное обеспечение и имея надлежащие знания в области программирования, вы сможете сделать из программы любой удобный для вас вариант, хотя преимущество свободного ПО заключается в том, что вы вряд ли обнаружите ошибки, так как чаще всего они оперативно исправляются.
Свободное ПО существует давно, но создать из этого целое движение свободного ПО получилось у Ричарда Столлмана — основателя проекта GNU (GNU Project), целью которого была поддержка развития операционных систем, подобных UNIX, которые основывались на свободном программном обеспечении. Интересна сама расшифровка акронима GNU — GNU is Not UNIX (GNU — это не UNIX), в кото‑ ром первым словом является сам акроним. Важным вкладом в развитие движения свободного ПО стало создание Ричардом Столлманом манифеста свободного программного обеспечения и универсальной лицензии GPL. Суть лицензии такова, что, с одной стороны, она защищает исходный код, обязывая всех, кто им пользуется, дополняет или изменяет, обеспечивать беспрепятственный доступ к модифицированному коду и списку разработчиков оригинала, а с другой — наделяет разработчика юридической защитой. Из недостатков такой модели можно отметить то, что работа по разработке программы не оплачивается, исключая добро‑ вольные пожертвования пользователей. Однако достоинств у нее много. Самое главное из них в том, что проект при его актуальности никогда не будет стоять на месте, и для этого не потребуется финансовых вложений. По такому принципу развиваются многие проекты, в том числе и принадлежащие к области Linux. Другим плюсом является то, что программист или группа специалистов, основавших проект, уважаемы пользователями, а также сами набираются опыта от своих коллег.
Одно из главных отличий свободного ПО от коммерческого заключается в том, что программисты пишут программы для таких же людей, как они сами (может быть, потому и существует так много вариантов поставки Linux). Это не означает, что коммерческие операционные системы не дружественны по отношению к пользователю. Наоборот, такие ОС создаются для пользователей среднего уровня, потому в них нет такого иногда пугающего количества настроек, как в UNIX или Linux. Таким образом, если постараться, можно максимально настроить Linux для собственных нужд. О некоторых других преимуществах открытых исходных кодов будет рассказано далее.
Нужен ли вам Linux
Если вы держите в руках данную книгу, то, скорее всего, вы уже определились с ответом на этот вопрос. Хочется выделить несколько моментов, с которыми пред‑ стоит столкнуться при работе с Linux.
Первый состоит в том, что, если вы действительно хотите стать профессионалом и максимально использовать возможности Linux, вы должны хоть немного знать английский язык. Он является самым распространенным в сфере высоких техно‑ логий, поэтому вся документация написана именно на нем. Существует много книг, описывающих работу с Linux, но они не дадут такого объема информации, как документация, написанная разработчиками пакета или программы.
Второй момент заключается в том, что, если вы хотите обладать новыми редакциями пакетов и исправлений, у вас должен быть доступ к сети Интернет. Разработкой Linux занимаются люди во всем мире, поэтому основным средством общения, источником знаний и обновлений служит именно Сеть. Впрочем, если при работе с Windows вы не ставили целью скачивать критические обновления для этой ОС, то вы вряд ли будете заинтересованы в обновлении Linux. Однако Интернет при‑ годится для решения проблем, описанных ниже.
Третий момент — то, что вам придется сначала изучить систему. Для комфортной работы необходимо прочитать книгу или руководство. За гибкость Linux (и UNIX) пришлось пожертвовать той дружелюбностью, которой гордятся пользователи Windows. В процессе изучения Linux появятся вопросы либо возникнут трудности с его настройкой и использованием. В данном случае идеальным решением
является Интернет, где можно получить нужную информацию. Можно также обратиться к знакомому, который давно работает с Linux и освоил его тонкости (та‑ ких людей в обществе пользователей Linux называют гуру). Из‑за этого данную ОС считают системой для программистов, что верно — вам придется изучить некоторые особенности работы с Linux, которые используются программистами, что в данном случае является скорее элементом компьютерной грамотности.
Четвертый момент основывается на том, что найти программное обеспечение для Linux не так просто, как для Windows. Первая инстанция — Интернет, где можно найти многое — от маленьких программ размером около 2 Кбайт до многодисковых дистрибутивов. Единственная проблема состоит в их скачивании. Можно так‑ же заказать диски, что делается через Интернет, или спросить знакомых. С драй‑ верами ситуация иная. Некоторые производители аппаратного обеспечения не утруждают себя написанием драйверов для Linux, почему и сложилось мнение, что для Linux драйверов нет. Это не так: сторонние программисты пишут не самые эффективные, но работающие драйверы для различных устройств. Для использования в Linux всех возможностей вашего ПК не экономьте на устройствах, а также поинтересуйтесь заранее, существуют ли драйверы для Linux для определенного оборудования. Драйверы известных производителей для аппаратного обеспечения можно найти почти всегда.
Несмотря на все эти трудности, освоив работу с Linux, вы получите настроенную по вашему усмотрению операционную систему, которая будет хорошо защищена, а также вы сможете помогать другим. Кроме того, если в настоящее время вы используете другую операционную систему, вам не следует беспокоиться — удалять ее не нужно. Linux никаким образом не повлияет на другие установленные на компьютере ОС до тех пор, пока вы сами этого не захотите.
Дистрибутивы Linux
То, что представлено в продаже, — это не только операционная система Linux. Сама ОС заключена в ядре; все остальное вместе с ядром называется дистрибутивом. В дистрибутив входят как стандартные программы, незаменимые в Linux, так и специфические компоненты, разрабатываемые только для определенного дистрибутива. Сюда же входят графические среды, программы для настройки системы, офисные программы, игры и пр. Разработчики дистрибутивов часто вносят в ядро изменения. Дистрибутивы различаются целевой аудиторией и идеологией. Рассмотрим некоторые известные дистрибутивы.
ALT Linux Веб
Этот дистрибутив является продуктом группы российских разработчиков под на‑ званием ALT, что можно расшифровать как ALT Linux Team (команда Linux ALT; еще один рекурсивный акроним). В начале разработки основой дистрибутива являлся Mandrake Linux, но вскоре появились отличия. Дистрибутив разрабатывается в России, поэтому в нем предоставлена качественная локализация для русскоязычного пользователя. Выпускаются дистрибутивы нескольких серий: Compact (для тех, кто только знакомится с Linux), Junior (для опытных пользователей и учебных целей) и Master (для профессионалов — разработчиков и системных администраторов).
Debian Linux Веб
Это один из первых дистрибутивов Linux. Отличительной его чертой является то, что он разрабатывается программистами всего мира через Интернет. Процесс выпуска готовых версий (релизов1) тоже интересен: когда в дистрибутив внесено достаточно изменений, версия «замораживается» и начинается его тестирование, в процессе чего исправляются найденные ошибки. Затем его оформляют как релиз. Положительной чертой дистрибутива является то, что все его компоненты без исключения бесплатны. Он также поддерживает многие платформы. Стабильность и политика Debian Linux сделали его популярным среди профессионалов. Дистрибутив имеет понятную программу установки и предсказуем при изменении настроек, однако новичкам советуют воспользоваться другим, более скромным дистрибутивом.
Fedora Веб
Дистрибутив Fedora является производным дистрибутивом RedHat Linux. Он включает в себя бесплатное и свободное программное обеспечение. Как и родительский
1 Релизом (англ. release — «выпуск») называют версию программного обеспечения, готовую к выпуску. В нем, в отличие от демонстрационных версий, реализованы все намеченные функции, и он максимально надежен при использовании дистрибутив, Fedora использует пакеты RPM (RPM Package Manager — менеджер пакета RPM).
Gentoo Linux Веб
Дистрибутив Gentoo Linux создавался с возможностью его переноса на другую платформу (отсюда и большой список поддерживаемых платформ), гибким и простым в установке. Его особенность в том, что все инструменты и утилиты собираются из исходного кода, что оптимизирует всю систему для компьютера пользователя, и только некоторые пакеты доступны в виде собранных программ для разных платформ. На основе Gentoo Linux было создано много дистрибутивов, среди которых есть даже дистрибутив, загружающийся с носителя, присоединяемого к пор‑ ту USB (Universal Serial Bus — универсальная последовательная шина).
Knoppix
Подобные дистрибутивы называются Live CD (дистрибутив, загружающийся с CD и не требующий установки). Knoppix поставляется на обычном CD или DVD (Digital Versatile Disc — универсальный цифровой диск) и может загружаться прямо с него, хотя существуют версии, которые можно установить на жесткий диск. Этот дистрибутив основан на Debian и включает в себя как свободное программное обеспечение, так и платное. Он отличается малыми требованиями к системе. Он не требует настройки, идеален для новичков, и его полезно иметь под рукой в случае необходимости восстановления системы. Однако, если вы собираетесь серьезно изучать Linux и работать в нем, следует приобрести один из полноценных, не Live, дистрибутивов.
Mandriva Linux Веб
Этот дистрибутив разрабатывается французской фирмой Mandriva. Ранее компания именовалась Mandrakesoft, однако после приобретения компаний Conectiva и Lycoris получила новое имя. Дистрибутивы Mandrake и Mandriva отличаются удобной программой установки и служебными программами серии drake. Это неплохой дистрибутив, однако иногда он непредсказуем, особенно при экспериментировании. Его можно посоветовать начинающим из‑за удобных возможностей настройки.
Gentoo Linux Веб
Дистрибутив Gentoo Linux создавался с возможностью его переноса на другую платформу (отсюда и большой список поддерживаемых платформ), гибким и простым в установке. Его особенность в том, что все инструменты и утилиты собираются из исходного кода, что оптимизирует всю систему для компьютера пользователя, и только некоторые пакеты доступны в виде собранных программ для разных платформ. На основе Gentoo Linux было создано много дистрибутивов, среди которых есть даже дистрибутив, загружающийся с носителя, присоединяемого к пор‑ ту USB (Universal Serial Bus — универсальная последовательная шина).
Knoppix Веб
Подобные дистрибутивы называются Live CD (дистрибутив, загружающийся с CD и не требующий установки). Knoppix поставляется на обычном CD или DVD (Digital Versatile Disc — универсальный цифровой диск) и может загружаться прямо с него, хотя существуют версии, которые можно установить на жесткий диск. Этот дистрибутив основан на Debian и включает в себя как свободное программное обеспечение, так и платное. Он отличается малыми требованиями к системе. Он не требует на‑ стройки, идеален для новичков, и его полезно иметь под рукой в случае необходимости восстановления системы. Однако, если вы собираетесь серьезно изучать Linux и работать в нем, следует приобрести один из полноценных, не Live, дистрибутивов.
Mandriva Linux Веб
Этот дистрибутив разрабатывается французской фирмой Mandriva. Ранее компания именовалась Mandrakesoft, однако после приобретения компаний Conectiva и Lycoris получила новое имя. Дистрибутивы Mandrake и Mandriva отличаются удобной программой установки и служебными программами серии drake. Это неплохой дистрибутив, однако иногда он непредсказуем, особенно при экспериментировании. Его можно посоветовать начинающим из‑за удобных возможностей настройки.