Инсталляция Linux.

перевод Балуева А. Н.

Оглавление

  • ГЛАВА 1. Введение в Linux

    ГЛАВА 1. Введение в Linux

    В начало страницы

    Вполне возможно, что Linux представляет наиболее важное достижение в свободно распространяемых программных средствах, после начального Space War или более позднего Emacs. Он развился в операционную систему для бизнеса, образования и персональных разработок. Linux больше не принадлежит только фокусникам UNIX'a, кто сидит часами перед освещенной консолью (хотя мы и уверены, что многие его пользователи относятся к этой категории). Эта книга поможет вам получить от Linux все возможное. Linux (произносится с коротким i, как в LIH-nucks) есть клон операционной системы UNIX, который исполняется на разных платформах, особенно на персональных компьютерах с Intel 80386 или более мощными процессорами. Он поддерживает широкий диапазон программных средств, от TEX до системы X Window, до компилятора GNU C/C++, до TCP/IP. Это есть гибкая, добросовестная реализация UNIX, свободно распространяемая на условиях GNU General Public License (см. приложение C).

    Linux может превратить любой персональный компьютер с процессором 80386 или более высокого класса в рабочую станцию, которая под вашими пальцами выдаст всю мощь UNIX'a. Бизнесмены инсталлируют Linux на целых сетях машин и используют операционную систему для управления финансовыми и медицинскими регистрациями, распределенным вычислительным окружением и телекоммуникациями. Университеты во всем мире используют Linux для учебных курсов по программированию операционных систем и дизайну.Компьютерные энтузиасты повсеместно используют Linux в домашних условиях для программирования и всякого хакерства.

    Отличительной чертой Linux является свободнвая реализация возможностей UNIX. Он, как и ранее, все еще развивается кооперативно группой добровольцев, преимущественно через Интернет. Они обмениваются кодами, сообщают об обнаруженных ошибках и обсуждают разные проблемы. Все кто хочет, могут присоединиться к работе по развитию Linux. Нужен только интерес к оригинальным подходам к свободному клону UNIX и знание программистских технологий. Книга в ваших руках -- путеводитель по этому маршруту.

    1.1 Об этой книге.

    В начало страницы

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

    Linux не трудно установить и использовать. Однако, как и в любой реализации UNIX, иногда приходиться обращаться к черной магии, чтобы заставить все работать правильно. Мы надеемся, что эта книга подсадит вас на туристский автобус Linux и покажет вам, какой величественной может быть операционная система.

    В этой книге мы рассматриваем следующие вопросы:
    
    *** Что такое Linux? Дизайн и философия этой уникальной операционной системы
        и то, что она может для вас сделать.
    
    *** Детали исполненния Linux, включая  замечания о рекомендованной аппаратной
        конфигурации.
    
    *** Специальные инструкции по установке различных поставок  Linux, включая
        Debian, Red Hat Software и  Slackware.
    
    *** Короткое вводное учебное пособие по  UNIX для пользователей, не имеющих
        опыта работы в UNIX. Это пособие содержит достаточный материал для
        новичков  для начала работы в системе.
    
    *** Введение в системную администрацию  Linux. Оно охватывает наиболее важные
        задачи, которые должны выполнять администраторы Linux, такие как создание
        учетных записей пользователей и управление файловыми системами.
    
    *** Информация о конфигурировании наиболее новых свойств Linux, таких как
        X Window System, создание сетей TCP/IP , электронная почта и новости.
    

    Эта книга предназначена для тех пользователей персональных компьютеров, кто хочет начать работать с Linux. Мы не предполагаем предшествующего знакомства с UNIX. но ожидаем, что новички будут использовать попутно и другие материалы. Для тех, кто незнаком с UNIX, список дополнительных источников дан в приложении A. Вообще то эта книга должна читаться как дополнение к другой книге о базизных понятиях UNIX.

    1.2 Краткая история Linux.

    В начало страницы

    UNIX есть одна из наиболее популярных в мире операционных систем, благодаря ее обширной базе поддержки и системе поставок. Ее первоначальный вариант появился в AT&T как многозадачная система для миникомпьютеров и больших машин в 1970-х годах, а потом развился в одну из наиболее широко используемых операционных систем, несмотря на ее иногда неудобный интерфейс и отсутствие центральной стандартизации.

    Многие хакеры чувствуют, что UNIX есть Правильная Вещь--Операционная Система с большой буквы. Отсюда и разработка Linux обширной группой хакеров UNIX, которые хотели запустит свои руки в их собственную систему.

    Версии UNIX существуют для многих машинных систем, от персональных компьютеров до суперкомпьютеров, подобных Cray Y-MP. Большинство версий UNIX для персональных компьютеров дороги и утомительно сложны. Во время написания этой книги одномашинная версия UNIX System V для 386 стоила примерно US$1500.

    Linux есть свободная версия UNIX, первоначально разработанная Линусом Торвальдсом (Linus Torvalds) в Хельсинкском университете в Финляндии с помощью многих программистов UNIX и других искусников в Internet. Кто угодно, обладающий знанием технологии программирования и сообразительностью, может развивать и изменять систему. Ядро Linux не использует никаких кодов из AT&T или других приватизрованных источников, и большая часть программных средств, доступных для Linux, разработана в проекте GNU Free Software Foundation в Cambridge, Massachusetts, U.S.A. Однако, программисты со всего мира также продолжают расширять множество программных средств для Linux.

    Linux начально был разработан как любительский проект Линусом Торвальдсом. Он был инспирирован системой Minix, небольшой UNIX-системой, которую разработал Andy Tanenbaum. Первые дискуссии по Linux происходили на Usenet newsgroup, называвшейся comp.os.minix. Эти дискуссии в основном касались развития маленькой учебной системы UNIX для пользователей Minix, хотевших большего.

    Самые ранние разработки по Linux в основном касались способов переключения задач в защищенном интерфейсе для процессора 80386, написанном целиком в коде ассемблера.

    Линус писал: "В конце концов это было простое плаванье: хотя код был сложный, я использовал специальные программные средства, которые облегчали отладку. Я начал использовать Си на этой стадии, что значительно ускорило разработку. Тогда же я начал серьезно раздумывать о мегаломанической идее сделать 'лучший Minix чем Minix.' Я надеялся, что буду в состоянии когда-нибудь перекомпилировать gcc под Linux. . .

    "два месяца ушли на базисные установки, а затем я изготовил драйвер для диска (хоть и с серьезными ошибками, но он работал на моей машине) и маленькую файловую систему. Примерно тогда я добился работы версии 0.01 (в конце августа 1991).

    Она вовсе не была хорошей, она не имела драйвера гибкого диска и почти ничего не могла делать. Я не думаю, что кто-нибудь когда-нибудь компилировал эту версию. Но я был тогда одушевлен и не хотел останавливаться до тех пор, пока не избавлюсь от Minix."

    Никогда никаких объявлений не делалось о версии Linux 0.01. Исходные коды 0.01 не были даже исполнимыми. Они содержали только рудименты источника ядра и предполагалось, что вы имеете доступ к машине Minix для компиляции и экспериментов с ним.

    5 октября 1991 г. Линус объявил о первой "официальной" версии Linux, версии 0.02. В это время Линус был в состоянии выполнять bash (the GNU Bourne Again Shell) и gcc (the GNU C compiler) и почти ничего больше. Она также предназначалась быть хакерской системой. Главной целью было развитие ядра -- поддержка пользователей, документация и распространение еше не проектировались. И сегодня еще сообщество Linux, повидимому, считает эти стороны вторичными относительно "настоящего программирования" -- развития ядра. Как Линус писал в comp.os.minix, "Вспоминаете ли вы прекрасные деньки Minix-1.1, когда мужчины были людьми и писали свои собственые драйверы устройств? Может быть, у вас нет интересных проектов и вы до смерти хотите вонзить свои зубы в какую-нибудь OS, которую вы хотите приспособить к своим нуждам? Не считаете ли вы себя разочарованным, когда на Minix все работает? Остались ли любителем всю ночь возиться с какой-нибудь паршивой капризной программой? Тогда эта должность может быть как раз для вас.

    "Как я упоминал месяц назад, я работаю над свободной версией, подобной Minixlook для компьютеров AT-386. Она в конце концов достигла стадии, когда ее можно даже использовать (а, может, и нет, в зависимости от того, что вы от нее хотите), и я готов выдать исходные коды для более широгого распространения. Это есть почти версия 0.02 .... но я успешно исполняю под ней bash, gcc, gnu-make, gnu-sed, compress и т.д."

    После версии 0.03, Линус догнал номер версии до 0.10, так как мнного людей стали работать над системой. После нескольких следующих ревизий Линус увеличил к марту 1992 г. номер версии до 0.95, выражая свою надежду, что система вскоре будет готова к "официальному" выпуску. (Вообще, версии программного средства не присваивается номер 1.0, пока оно не станет теоретически полным или свободным от ошибок). Почти через полтора года, в конце декабря 1993г., ядро Linux все еще находилось в версии 0.99.pl14, асимптотически приближаясь к 1.0. Во время написания этой книги текущая версия постоянного ядра есть 2.0, уровень заплат (patchlevel) был 33, а версия 2.1 разрабатывалась.

    Большинство главных свободных программных пакетов UNIX присоединены (have been ported) к Linux и имеются также и коммерческие средства. Поддерживается больше аппаратуры, чем это было в начальных версиях ядра. Многие проводили аттестационные испытания (benchmarks) на системах 80486 под Linux и нашли, что эти системы сравнимы с рабочими станциями среднего уровня от Sun Microsystems и Digital Equipment Corporation. Кто мог раньше догадаться, что этот "маленьккий" клон UNIX выростет так, что охватит весь мир персональных вычислений?

    1.3 Особенности системы.

    В начало страницы

    Linux имеет свойства, которыми обладают другие реализации UNIX, и много таких, которых другие не имеют. В этом разделе мы коротко рассмотрим особенности ядра Linux.

    Linux есть полная мультизадачная, мультипользовательская операционная система, как и все другие версии UNIX. Это означает, что многие пользователи могут входить в систему и выполнять программы на той же самой машине одновременно.

    Система Linux в основном совместима с несколькими стандартами UNIX (в той мере, в какой UNIX обладант стандартами) на уровне исходного кода, включая IEEE POSIX.1, UNIX System V и Berkely System Distribution UNIX. Linux разрабатывали, имея ввиду переносимость исходного кода, и поэтому в нем легко найти особенности, которые разделяются многими платформами. Многие свободные программные средства UNIX доступны из Internet и часто прекрасно компилируются под Linux. В добавок к этому, все исходные коды для системы Linux, включая ядро, драйверы устройств, библиотеки, программы пользователей и инструметы для разработок, распространяются свободно. К другим специфическим внутренним особенностям Linux относятся управление заданиями POSIX (которое используется в оболочках типа csh и bash), псевдотерминалы (устройства pty) и поддержка динамически загружаемых национальных или настраиваемых драйверов клавиатуры. Linux поддерживает виртуальные консоли, которые позволяют вам переключатьтся в периоды нахждения в системе на одну и ту же системную консоль. Эти виртуальные консоли Linux окажутся знакомыми пользователям экранных программ.

    Ядро может эмулировать команды 387-FPU, и системы без математического сопроцессора могут выполнять программы, требующие арифметики с плавающей точкой.

    Linux поддерживает различные файловые системы для хранения данных, подобные системе ext2, которая была разработана специально для Linux. Поддерживаются файловые системы Xenix и UNIX System V, также как и Microsoft MS-DOS и Windows 95 VFAT на твердых или гибких дисках. Файловая система ISO 9660 CD-ROM также поддерживается. Мы поговорим подробнее о файловых системах в главах 2 и 4.

    Linux обеспечивает полную реализацию сетевого обеспечения по TCP/IP. Она включает драйверы устройств для многих популярных карт Ethernet, SLIP (Serial Line Internet Protocol) и PPP (Point-to-Point Protocol), которые обеспечивают достукп к сети TCP/IP через последовательную связь, PLIP (Parallel Line Internet Protocol) и NFS (Network File System).

    Также поддерживается полный диапазон клиентов и услуг TCP/IP,который включает FTP, telnet, NNTP и SMTP.

    Ядро Linux приспособлено для использования особенностей защищенного режима Intel 80386 и более мощных процесоров. В частности, Linux использует основанный на дескрипторе защищенный режим, memorymanagement paradigm, и другие современные средства. Всякий, кто знаком с прогрaммированием на 80386 в защитном d-режиме, знает, что этот чип был спроектирован для многозадачных систем, подобных UNIX. Linux использует эти возможности.

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

    Для увеличения количества доступной памяти, Linux также организует страницы на диске. До одного гигабайта обменного пространства (swap space) [1*] может быть отведено на диске (до 8 разделов, каждый по 128 мегабайт). Когда системе требуется больше физической памяти, он перекидывает неактивные страницы на диск, позволяя запускать большие прикладные программы и обслуживать больше пользователей. Но надо иметь ввиду, что перекидывание не заменяет полностью физическую RAM, которая работает много быстрее.

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

    Выполняемые программы используют динамически связываемые общие библиотеки. Коды берутся из единственной библиотеки на диске. Это похоже (not unlike) на механизм SunOS совместного использования библиотек. Исполнимые файлы занимают меньше пространства на диске, особенно те, которые используют многие библиотечные функции. Имеются также статически связываемые библиотеки для объектной отладки и поддерживания "полных" двоичных файлов, когда совместные библиотеки не инсталлированы. Библиотеки динамически связываются во время исполнения, и программист может использовать его или ее собственные подпрограммы вместо стандартных библиотечных.

    Для облегчения отладки ядро генерирует корневые дампы для посмертного анализа. Корневой дамп вместе исполнимой, связанной с отладчиком, программой помогает разработчику определить причину краха программы.

    1.4 Особенности программного обеспечения.

    В начало страницы

    Фактически каждое средство стандартной реализации UNIX перенесено в Linux, включая основные команды, такие как ls, awk, tr, sed, bc и другие. Обычное рабочее окружение других систем UNIX дублировано в Linux. Все стандартные

    Примечания [1*] Обменное пространство (Swap space) -- не совсем подходящее название; обменивается не все целиком, а только отдельные страницы. Конечно, во многих случаях обменивается все целиком, но это происходит не всегда.

    Команды и утилиты участвуюит в этом. (Новичкам в UNIX или Linux следует посмотреть главу 3 для знакомства с основными командами UNIX.)

    Имеется много текстовых редакторов, в том числе vi, ex, pico,jove и GNU emacs, и варианты вроде Lucid emacs, который входит в расширение X Window System, и joe. Текстовый редактор, к которому вы привыкли, следует обязательно перенести в Linux.

    Выбор текстового редактора -- дело интереса пользователя. Многие пользователи UNIX предпочитают "простых" редакторов вроде vi (автор писал эту книгу с vi.) Но vi, благодаря своему возрасту, имеет много ограничений, и современные редакторы, подобные emacs, выигрывают в популярности. Emacs обеспечивает полный, основанный на Lisp макроязык и интерпретатор, мощный командный синтаксис и другие расширения. Имеются пакеты макро emacs, которые позволяют читать электронную почту и новости, редактировать содержимое каталогов и и даже участвовать в психотерапевтических сессиях по искуссственному интеллекту (необхдимо для измученных стрессами хакеров Linux).

    Большинство базисных средств Linux есть программное обеспечение GNU. Средства GNU поддержиают новые особенности, которых нет в стандартных версиях BSD и UNIX System Vprograms. Например, GNU клон редактора vi, elvis, включает структурированный макроязык, который отличен от оригинальной реализации. Вместе с тем, средства GNU намеренно остаются совместимыми с их BSD и System V соперниками. Многие считают версии GNU превосходящими их оригиналы.

    Оболочкой называют программу, которая читает и выполняет команды пользователя. Коме того, многие оболочки имеют особенности, позволяющие управлять заданиями, обслуживать одновременно несколько процессов, перенаправлять ввод и вывод и имеют командный язык для написания сценариев оболочек.

    Сценарий оболочки есть программа на языке команд оболочки, аналогичная batch-файлу в MS-DOS.

    В Linux имеется много типов оболочек. Наиболее существенная разница между оболочками -- в их командном языке. Например, C SHell (сокращенно csh) использует командный язык, подобный языку программирования Cи. Классическая Bourne SHell (sh) использует другой командный язык. Выбор оболочки часто основан на ее командном языке и в значительной степени определяет качество вашего рабочего окружения под Linux.

    GNU Bourne Again Shell (bash) есть вариант Bourne Shell, который содержит много дополнительных возможностей, таких как управление заданиями, история команд, возможность пополнения команд и имен файлов, подобный emacs интерфейс для редактирования командных строк и другие полезные расширения стандартного языка Bourne Shell. Еще одна популярная оболочка есть tcsh, версия C Shell с расширенной функциональностью, подобной bash. Другие оболочки -- оболочка zsh, маленькая, похожaя на Bourne; Korn Shell (ksh); BSD's ash; rc, оболочка Plan 9.

    Если вы -- единственный пользователь системы и готовы использовать только vi и bash как редактор и оболочку, нет нужды устанавливать другие редакторы или оболочки. Такая манера "делай это сам" превалирует среди хакеров и пользователей Linux.

    1.4.1 Обработка текстов и слов.

    В начало страницы

    Почти каждый пользователь компьютера нуждается в методе приготовления документов. В мире персональных компьютеров обработка слов есть обычный процесс, использующий средства для редактирования и переработки текстов по правилу "What-You-See-Is-What-You-Get" (WYSIWYG),так же как и производство печатных копий текста, дополненного графиками, таблицами и разным обрамлением. es of the

    Коммерческие процессоры слов от Corel, Applix и Star Division доступны в мире UNIX, но обработка текстов, которая принципиально отлична, более привычна. В системах обработки текста текст поступает на языке описания страниц (page-description language), который описывает, как текст должен быть форматирован. Прежде чем передавать текст в специальное, обрабатывающее слова окружение, вы можете модифицировать текст любым редактором, типа vi или emacs. Когда вы закончили ввод исходного текста (на устанавливающем форму печати (typesetting) языке), отдельная программа перерабатывает входной текст в формат, подходящий для печати. Это похоже на программирование на языке, подобном Си, и " компилирование" документа в печатную форму.

    Многие обрабатывающие текст системы доступны для Linux. Одна из них есть groff, GNU-версия классического текст-форматтера troff, ориигинально разработанного в Bell Labs и все еще используемого на многих системах UNIX по всему миру. Другая современная система обработки текста есть TEX, автор которой является Donald Knuth. Имеются диалекты TEX, например LATEX, которые также доступны.

    Текстовые процессоры, подобные TEX и groff, различаются в основном синтаксисом их языка форматирования. Выбор определенной системы форматирования по сравнению с другой основан на том, какие средства вам доступны для удовлетворения ваших нужд и вкусов.

    Многие считают язык форматирования groff несколько темным и считают TEX более удобным. Однако, groff выдает выход на ASCII, который лучше видим на терминале, а TEX предназначен прежде всего для вывода на устройство печати. Требуются дополнительные программы для для выдачи форматированного на TEX документа в форме ASCII, или конвертирование ввода в TEX в формат groff.

    Другая программа есть texinfo, расширение для TEX, которая используется для документации по программированию, разрабатываемой в Free Software Foundation. Тexinfo может производить из единственного входного файла печатный выход, или выдавать для просмотра в режиме диалога документ в гипертексте "Info". Файлы Info представляют основной формат документации, используемой в программах GNU, таких как emacs.

    Текстовые процессоры широко используются в компьютерном сообществе для приготовления научных статей, тезисов, журналов и книг. (Настоящая книга изготовлена с помощью LATEX.) Возможность обрабатывать входной язык как текстовый файл открывает дверь к многим расширениям самого текстового процессора. Когда входной документ не хранится в памяти в непонятном формате, который может прочесть только определенный процессор, программист может писать анализаторы и трансляторы для языка форматирования и расширять таким образом систему.

    Как выглядит язык форматирования? Обычно форматированный исходный файл состоит в основном из самого текста и управляющих кодов, определяющих такие действия как выбор шрифта, изменения полей и форматирование списков.

    Рассмотрим следующий текст: Мистер Торвальдс! Мы очень удручены вашими текущими планами реализовать после-гипнотические внушения в коде терминального драйвера Linux. Мы испытываем это чувство по трем причинам:

    1. Помещение действующих на подсознание посланий в драйвере терминала не только имморально, это пустая трата времени;

    2. Было доказано, что такие "после-гипнотические внушения" бесполезны, когда используются для не ожидающих этого хакеров UNIX;

    3. Мы уже применяли высоковольтный электрический шокер как меру защиты в коде для login. Мы надеемся, что вы одумаетесь.

    
    Этот текст можно представить в языке форматипрвания  LATEX в следующем виде:
    \begin{quote} Мистер Торвальдс! Мы очень удручены вашими текущими планами
    реализовать {\em после-гипнотические внушения\/} в  коде терминального драйвера
    {\bf Linux}. Мы испытываем это чувство по трем причинам:
    \begin{enumerate} \item Помещение действующих на подсознание посланий  в
    драйвер ядра не только имморально, это пустая трата времени;
    \item Было доказано, что ``post-hypnotic suggestions'' бесполезны, когда
    используются против не ожидающих этого хакеров UNIX;
    \item Мы уже применяли высоковольтный электрический шокер как меру защиты в
    в коде для  {\tt login}.
    \end{enumerate} Мы надеемся что вы одумаетесь.
    \end{quote}
    

    Автор вводит текст, используя какой-нибудь редактор текста и генерирует форматированный вывод, обрабатывая ввод с помощью LATEX. На первый взгляд такой язык может показаться довольно неясным, но на самом деле его понять очень легко. Использование системы обработки текста обеспечивает при написании установку типографских стандартов. Например, все пронумерованные списки в пределах документа будит выглядеть одинаково, если автор не изменит их определение. Такая система позволяет автору концентрировать внимание на тексте и не отвлекаться на типографские детали.

    При записи с помощью текстового редактора обычно не думают о том, каким получаится печатный текст. Пишущий изучает визуально окончательный текст, образованный форматирующими командами в исходном тексте.

    Процесор слов типа WYSIWYG привлекателен по многим причинам. Он обеспечивает легко используемый визуальный интерфейс с издаваемым документом. Но этот интерфейс ограничен аспектами расположения текста, которые непосредственно доступны пользователю. Например, многие процессоры слов используют специальный форматный язык для образования сложных выражений , таких как математические формулы. Это тоже обработка текста, хотя и много менее масштабная.

    Существенная выгода преобразователя текста (text processing) состоит в том, что вы точно указывваете формат, в котором нуждаетесь. Во многих случаях обрабатывающая текст система требует какой-то спецификации формата. Обрабатывающие текст системы также позволяют редактировать исходный текст любым текстовым редактором, вместо использования форматных кодов, которые скрыты в непрозрачном (opaque) интерфейсе процессора слов. Кроме того, исходный текст легко конвертировать в другие форматы. Платой за такую гибкость и мощь служит отсутствие форматирования типа WYSIWYG.

    Некоторые программы позволяют вам предварительно просмотреть сформатированный документ на графическом дисплее перед печатью. Программа xdvi выдает на дисплей "независимый от устройства" файл, выработанный системой TEX под X. Прикладные программы, подобные xfig и gimp, обеспечивают графический интерфейс WYSIWYG для вычерчивания фигур и диаграмм, которые затем конвертируются в язык обработки текстов для включения в ваш документ.

    Текстовые процессоры типа troff существовали задолго до появления процессоров слов типа WYSIWYG. Многие до сих пор предпочитают их гибкость и независимость от графического оборудования.

    Сейчас доступны многие средства, относящиеся области обработки текстов. Мощная система METAFONT, используемая для проектирования фонтов TEX, включена в портфель Linux для TEX. К таким программам относится ispell, интерактивный контролер и корректор спеллинга; makeindex, который генерирует индексы в документах на LATEX; и многие другие, основанные на groff и TEX пакеты макро для форматирования технических и математических текстов. Имеются также многие программы, которые транслируют из TEX или groff во множество других формкатов.

    Новопришельцем для форматирования текста является YODL (автор Karel Kubat). YODL есть легко изучаемый язык с фильтрами для выдачи различных выходных форматов, таких как LATEX, SGML и HTML.

    1.4.2 Языки программирования и утилиты.

    В начало страницы

    Linux предоставляет полное программное окружение UNIX, котороое включает все стандартные библиотеки, программные средства, компиляторы и отладчики, которые вы можете встретить в других системах UNIX. Поддерживаются стандарты, подобные POSIX.1, которые позволяют легко переносить на другие системы программы, написанные для Linux. Профессионавльные программисты UNIX и системные администраторы используют Linux для разработки программ дома, а затем транслируют их для работы в системе UNIX. Это приводит не только к экономии времени и денег, но также позволяет вам работать в комфортных условиях вашего дома. (Один их авторов использует эту систему для разработки и тестирования дома систему приложений X Window, которую можно прямо компилировать повсюду на рабочих станциях). Студенты по Computer Science изучают программирование в UNIX и исследуют другие аспекты, такие как архитектура ядра.

    С Linux вы имеете доступ к полному набору библиотек и программных утилит и к полному исходному коду ядра и библиотеки.

    В пределах програмного мира UNIX системные и прикладные программы часто пишутся на C или C++. Стандартный компилятор для C и C++ в Linux есть GNU gcc, являющийся развитым современным компилятором, который поддерживает C++, включая особенности AT&T 3.0, также как Objective-C, другой объектно ориентированный диалект C.

    Кроме C и C++, и другие компилируемые или интерпретируемые программные языки перенесены в Linux. Это -- Smalltalk, FORTRAN, Java, Pascal, LISP, Scheme и Ada (если вы имеете достаточную склонность к мазохизму, чтобы программировать на Ada, мы не собираемся останавливать вас). В дополнение к этому, имеются различные ассемблеры для написания кода защищенного режима 80386 (protected-mode 80386 code), такие как любимые хакерами UNIX язык Perl (язык описания сценариев, побивающий все такие языки) и Tcl/Tk (похожая на оболочку система обработки команд , используемая для разработки простых приложений системы X Window System).

    Продвинутый отладчик gdb может исполнять программу в пошаговом режиме (один шаг -- строка исходного кода) или исследовать корневой дамп для установления причины краха программы. Утилита gprof profiling выдает статистику производительности вашей программы, собщая, на что она тратит больше всего исполнительного времени. Как уже говорилось выше, текстовый редактор emacs обеспечивает интерактивное редактирование и компиляционное окружение для различных программных языков. Другие средства включают GNU make и imake, которые управляют компиляцией больших прикладных программ и RCS, систему для установки замков в исходном коде и управления версиями.

    Наконец, Linux поддерживает динамически присоединяемые, совместно используемые библиотеки (DLLs), что значительно сокращает двоичный код. Коды общих подпрограмм подключаются во время исполнения. Такие DLLs позволяют вам подавлять определения функций вашими собственными кодами. Например, если вы хотите написать вашу собственную версию библиотечной подпрограммы malloc(), редактор связей использует вашу новую подпрограмму вместо одной из библиотечных.

    1.4.3 Введение в систему X Window.

    В начало страницы

    Система Х Window, или просто X, есть стандартный графический пользовательский интерфейс (сокращенно GUI) для машин UNIX и представляет собой мощное окружение, поддержитвающее многие прикладные программы. Используя систему X Window System, можно иметь одновременно много терминальных окон на дисплее, каждое из которых связано со своей сессией login. Указательное устройство, такое как мышь, часто используется в X, хотя это и необязательно.

    Написаны многие использующие X приложения, такие как игры, графические и программные утилиты и средства документирования. Linux и X делают вашу систему хорошей рабочей станцией. С организацией сети TCP/IP ваша машина с Linux может показывать работу прикладных программ в X, исполняемых на других машинах.

    Система X Window была первоначально разработана в Massachusetts Institute of Technology и распространяется свободно. Многие коммерческие поставщики также поставляли коммерческие расширения оригинальной системы X Window. Версия X для Linux -- XFree86, вариант X11R6, распространяется свободно. XFree86 поддерживает широкий набор видеоаппаратуры, включая VGA, Super VGA и ускоренные видеоадаптеры. XFree86 есть полный набор программного обеспечения системы X Windows и содержит сам X сервер, много приложений и утилит, программных библиотек и документации.

    В стандарт приложений X ходят xterm, терминальный эмулятор, используемый в внутри окна в большинстве связанных с текстами приложений, xdm, который обрабатывает logins, xclock, простое представление часов, xman, основанный на X "читатель" страниц руководств, и xmore. Разные приложения для X, доступные в Linux, слишком многочисленны для упоминания здесь их всех. Скажем только, что в их число входят табличные вычисления, процессоры слов, графические программы и web-браузеры, подобные Netscape Navigator. Многие другие приложения доступны отдельно. Теоретически, всякое приложение, написанное для X, можно компилировать для Linux.

    Интерфейс в X Window System управляется в основном оконным менеджером. Эта дружественная пользователю программа отвечает за расположение окон, за пользовательский интерфейс по изменению размеров окон и их перемещению, превращение их в пиктограммы, формирование рамок и другие действия. XFree86 включает также twm, класический оконный менеджер MIT. Доступны и более

    продвинутые оконные менеджеры, такие как Open Look Virtual Window Manager (olvwm). Среди пользователей Linux также популярен fvwm -- небольшой оконный менеджер, требующий менее половины памяти, потребной для twm. Он обеспечивает 3-мерный вид окон и виртуальный "рабочий стол" (desktop). Пользователь двигает мышь к краю экрана и desktop сдвигается как если бы экран был значительно шире, чем он реально есть. Fvwm в значительной степени настраиваемй и может управляться как мышью, так и клавиатурой. Многие дистрибуции Linux используют fvwm в качестве стандартного оконного менеджера. Версия fvwm, называемая fvwm95-2, очень похожа по виду и действиям на Microsoft Windows 95.

    Поставка XFree86 включает программные библиотеки для хитроумных программистов, кто хочет разрабатывать приложения в X. Поддерживаются множества специальных графических элементов (widget sets), такие как Athena, Open Look и Xaw3D. Включены все стандартные фонты, битовые картинки (bitmaps), справочные страницы (manual pages) и документация. PEX (программный интерфейс для 3-мерной графики) также поддерживается.

    Многие X-программисты в разработке приложений используют патентованное множество специальных графческих элементов Motif. Некоторые поставщики продают отдельные и груповые пользовательские лицензии для двоичной версии Motif. Поскольку сам Motif относительно дорог, его имеют немногие пользователи Linux. Однако, двоичные статически связанные с Motif подпрограммы могут распространяться свободно. Если вы пишете программу, используя Motif, вы можете выдавать двоичный код, который могут использовать лица, не имеющие библиотек Motif.

    Главное затруднение при использовании системы X Window -- ее требования к аппаратуре. CPU на базе 80386 с 4 мегабайтами RAM может исполнять систему X, но 16 или более мегабайт физической RAM необходимы для комфортабельной работы. Хорошо иметь более быстрый процессор, но иметь достаточно физической RAM гораздо важнее. Вдобавок, для достижения действительно хорошей видеопроизводительности, мы рекомендуем приобрести ускоренную видеокарту, такую как VESA Local Bus (VLB) S3 chipset. Характеристика производительности больше 300,000 xstones может быть достигнута в Linux и XFree86. Используя адекватную аппаратуру, вы увидите, что работа X Linux так же быстра или даже быстрее, чем работа X на других рабочих станциях UNIX.

    1.4.4 Введение в организацию сетей.

    В начало страницы

    Хочется ли вам обмениваться сообщениями со всем миром? Linux поддерживает два первичные сетевые протокола UNIX: TCP/IP и UUCP. TCP/IP (Transmission Control Protocol/Internet Protocol) есть сетевая парадигма, которая позволяет системам общаться со всем у миром по единой сети, по Internet. С Linux, с TCP/IP и связью с Internet, вы можете связываться с пользователями и машинами через электронную почту, Usenet news и FTP file transfer.

    Большинство сетей TCP/IP используют Ethernet как физическое сетевое транспортное средство. Linux поддерживает многие популярные карты Ethernet и интерфейсы для персональных компьютеров, включая карманные и PCMCIA адаптеры Ethernet.

    Вместе с тем, поскольку не каждый имеет домашнюю связь с Ethernet, Linux также поддерживает SLIP (Serial Line Internet Protocol) и PPP (Point-to-Point Protocol), которые обеспечивают доступ к Internet через модем. Многие деловые организации и университеты имеют серверы SLIP и PPP. Фактически, если ваша система Linux имеет связь Ethernet с Internet и модем, ваша система может стать сервером SLIP или PPP для других узлов (hosts).

    NFS (Network File System) позволит вашей системе совместно использовать файловые системы других машин через линии связиk. FTP (File Transfer Protocol) позволяет вам обмениваться файлами с другими машинами. Sendmail посылает и получает электронную почту через протокол SMTP; C-News и INN представляют новые системя на базе NNTP; telnet, rlogin и rsh позволяют вам регистрироваться (log in) и выполнять команды на других машинах сети. Finger позволяет вам получать информацию о других пользователях Internet.

    Linux также поддерживает Microsoft Windows connectivity через Samba 2 , и Macintosh connectivity с AppleTalk и LocalTalk. Имеется также поддержка для протокола Novell's IPX.

    Полный объем "читателей" почты и новостей (mail and news readers), включающий elm, pine, rn, nn и tin также доступен для Linux. Что бы вы ни предпочитали, вы можете сконфигурировать соответствующую систему Linux для отсылки и получения электронной почты и новостей во всем мире.

    Система обеспечивает стандартный для UNIX разъемный (socket) программный интерфейс. Виртуально всякая программа, которая использует TCP/IP, может быть перенесена на Linux. Сервер Linux X также поддерживает TCP/IP, и прикладные программы, исполняющиеся на других машинах, могут использовать дисплей вашей местной системы.

    В главе ?? мы обсуждаем установку програмного обеспечения TCP/IP, включая SLIP и PPP. UUCP (копирование UNIX-to-UNIX) есть старый механизм для передачи файлов, электронной почты и электронных новостей между машинами UNIX. Исторически, связь UUCP машин осуществлялась по телефонным линия через модем, но UUCP в состоянии передавать данные также по сетям TCP/IP. Если вы не имеете доступа к сети TCP/IP или к серверу SLIP или PPP, вы можете сконфигурировать систему для посылки и получения файлов и электронной почты, используя UUCP. См. подробности в главе ??.

    1.4.5 Телекоммуникации и программное обеспечение BBS.

    В начало страницы

    Если у вас есть модем, вы можете обмениваться собщениями с другими машинами через телекоммуникационные пакеты, доступные для Linux. Многие используют телекоммуникационное обеспечение для доступа к bulletin board systems (BBS's) или к коммерческим диалоговым службам, подобным 2See Samba: Integrating UNIX and Windows, Copyright 1998 Specialized Systems Consultants, Prodigy, CompuServe и America Online. Многие используют модемы для коммуникаций с системами UNIX на работе или в школе. Модемы могут отправлять и получать факсы.

    Популярным коммуникационным пакетов в Linux является также seyon, который обеспечивает настраиваемый, эргономический интерфейс undex X и имеет встроенную поддержку для протоколов Kermit и ZModem file transfer. К другим телекоммуникационным программам относятся C-Kermit, pcomm и minicom. Они подобны коммуникационным программмам других операционных систем и очень удобны в использовании.

    Если у вас нет доступа к серверам SLIP или PPP (см. предыдущий раздел), вы можете употребить term для мультиплексирования вашей последовательной линии связи. Программа term позволит вам открывать более одной сессии login по связи через модем. Она позволит вам перенаправлять свзи клиентов X к вашему локальному серверу X по последовательной линии. Другой программный пакет, KA9Q, реализует аналогичный, подобный SLIP, интерфейс.

    Проведение операций по Bulletin Board System (BBS) представляет для многих любимое хобби и средство получения дохода. Linux поддерживает широкий диапазон программных средств BBS, большитнство которых мощнее доступных другим операционным системам. С помощью телефонной линии, модема и Linux вы можете превратить вашу систему в BBS и беспечивать телефонный (dial-in) доступ к пользователям во всем мире. Программное обеспечение BBS для Linux включает пакеты XBBS и UniBoard BBS.

    Большинство программного обеспечения BBS ограничивает пользователй основанной на меню системой. в которой доступны только определенные функции и прикладные программы. Альтернативный для BBS доступ есть полный доступ UNIX, который позволяет пользователю наборный доступ к вашей системе и нормальный log in. Это требует в большой степени поддержки от системного администратора, но при условии свободного доступа UNIX не представляет трудностей. В дополнение к связи по линии TCP/IP, вы можете сделать в вашей системе доступными электронную почту и news access.

    Если у вас нет доступа к сети TCP/IP или UUCP feed, Linux позволит вам коммуникации по сетям BBS, таким как FidoNet, что позволяет вам пользоваться электронными новостями и почтой по телефонной линии. Подробности о телекоммуникациях и программном обеспечениии BBS под Linux вы можете найти в главе ??.

    1.4.6 Всемирная паутина (World Wide Web).

    В начало страницы

    Ничего не стоит включить в Linux программное обеспечение для web-сервера и web-браузеров. Наиболее известен сервер Apache. Тысячи систем Linux сегодня используют Apache на Internet, в том числе Linux Resources site, www.linuxresources.com.

    Поставки Linux содержат различные web-браузеры, и другие браузеры могут быть выгружены из Internet. К доступным браузерам относятся Lynx, Mosaic, Netscape, Arena и Amaya.

    Linux обеспечивает полную поддержку для стандартных программ Java и CGI, и Perl используется как стандартное средство в программном окружении Linux.

    1.4.7 Интерфейсы и MS-DOS.

    В начало страницы

    Имеются различные средства для интерфейса с MS-DOS. Наиболее известным приложением является Linux MS-DOS Emulator, который дает возможность исполнять приложения MS-DOS непосредственно из Linux. Хотя Linux и MS-DOS есть совершенно разные операционные системы, окружение protected-mode 80386 позволяет приложениям MS-DOS исполняться так, как -будто они работают в родном окружении 8086.

    Эмулятор MS-DOS все еще дорабатывается, но многие популярные приложения работают под ним. Понятно, что приложения MS-DOS, которые используют эксцентрические или понятные лишь посвященным особености системы, могут навсегда остаться без поддержки из-за ограничений, неизбежных в любом эмуляторе. Например, трудно ожидать исполнения программ, которые используют особенности режима 80386 protected-mode, таких как Microsoft Windows (то-есть работают в расширенном режиме 386).

    Стандартные команды и утилиты MS-DOS, подобные PKZIP.EXE, работают с эмулятором, также как 4DOS, заместитель COMMAND.COM, FoxPro 2.0, Harvard Graphics, MathCad, Stacker 3.1, Turbo Assembler, Turbo C/C++, Turbo Pascal, Microsoft Windows 3.0 (в режиме real) и WordPerfect 5.1.

    Эмулятор MS-DOS имеет смысл в основном как простое (ad-hoc) решение для тех, кто нуждается в MSDOS только для некоторых приложений, а в остальных случаях использует Linux. Он не служит полной реализацией MS-DOS. Конечно, если эмулятор не удовлетворяет вашим нуждам, вы можете запустить MS-DOS, так же как и Linux, на той же самой системе. Используя корневой загрузчик LILO, вы можете указать во время загрузки, какую опекрационную систему запустить. Linux может также сосуществовать с другими операционными системами, такими как OS/2.

    Linux обеспечивает гладкий (seamless) интерфейс для передачи файлов между Linux и MS-DOS. Вы можете смонтировать раздел MS-DOS или дискету под Linux и непосредственно использовать файлы MS-DOS, как все другие.

    В настоящее времы разрабатывается WINE--эмулятор Microsoft Windows для системы X Window под Linux. Когда WINE будет закончен, пользователи смогут исполнять приложения в MS-Windows непосредственно из Linux. Это подобно коммерческому эмулятору WABI Windows от Sun Microsystems, который также применим для Linux.

    1.4.8 Другие прикладные программы.

    В начало страницы

    Существует тьма различных программ и утилит для Linux, как это и следовало ожидать в случае такой многовариантной (hodgepodge) операционной системы. Главным назначением Linux являеся персональная замена UNIX. Но это -- не единственная область ее деятельности. Набор деловых и научных программ все время расширяется, и поставщики коммерческого обеспечения начали делать вклады в растущий пул приложений Linux.

    Несколько реляционных баз данных доступны в Linux, в том числе Postgres, Ingres и Mbase. Это -- многоцелевые (full-featured), профессиональные прикладные базы данных типа клиент/вервер, аналогичные тем, которые имеются на других платформах UNIX. Имеется также много коммерческих систем баз данных.

    К научным прикладным вычислительным программам относятся FELT (анализ конечных элементов); gnuplot (планшеты данных и их анализ); Octave (символьный математический пакет, подобный MATLAB); xspread (вычисления с динамическими таблицами); xfractint (an X-based port of the popular Fractint fractal generator); и xlispstat (статистика). К другим приложениям относятся SPICE (проектирование и анализ схем) и Khoros (отображение и обработка цифровых сигналов и их вижуализация). Имеются коммерческие пакеты, подобные Maple и MathLab.

    Много других приложений перенесены в Linux. Если вы абсолютно не можете найти то, в чем нуждаетесь, вы можете попытаться самостоятельно перенести в Linux нужное вам приложение с другой платформы. Перенесение приложения UNIX из любой области в Linux производится одинаково (straightforward). В Linux полное программное окружение UNIX представляет достаточную базу для любой научной прикладной программы.

    Linux также имеет свою долю в играх. Сюда входят класические, основанные на текстах игры в подземельях, подобные Nethack и Moria; MUDs (групповые игры в темницах, позволяющие многим пользователям взаимодействовать в основанных на тексте приключениях), подобные DikuMUD TinyMUD; и множество X-игр, подобных xtetris, netrek и xboard. X11-версия gnuchess и популярные стрелялки и т.п. также перенесены в Linux.

    Для любителей музыки Linux поддерживает различные звуковые карты и связанное с ними обеспечение, такое как CDplayer, которое превращает дисковод CD-ROM в audio CD player, MIDI-секвенсеры и редакторы, которые дают возможность составлять музыку для ее воспроизведения синтезаторами или другими управляемыми через MIDI инструментами, или редакторы для дигитализации звуков.

    Вы не можете найти нужную вам прикладную программу? В Linux Software Map, описанной в приложении A, перечислены программные пакеты, которые были написаны для Linux или перенесены в нее. Другой путь для нахождения приложений Linux, состоит в просмотре файлов INDEX на сайтах Linux FTP, если вы имеете доступ в Internet.

    Большая часть свободно распространяемого, основанного на UNIX программного обеспечения может почти без затруднений компилироваться на Linux. Если ничего другого не получается, вы можете написать прикладную программу сами. Если вы ищете коммерческую программу, может оказаться доступным ее свободный "клон". Или вы сможете уговорить программную компанию дать вам двоичную версию для Linux. Некоторые вступают в контакт с такими компаниями и с переменным успехом просят их перенести приложения на Linux.

    1.5 Вопросы авторского права (Copyright issues).

    В начало страницы

    Linux находится под юрисдикцией того, что называется the GNU General Public License, или GPL. GPL была разработана для пректа GNU по инициативе Free Software Foundation и определяет несколько условий для распространения и модификации свободного программного обеспечения. Свободного в смысле распространения, а не цены. The GPL всегда была объектом неправильного толкования. Мы надеемся, что этот краткий обзор ее поможет вам понять значение и цели GPL и ее влияние на Linux. Полная копия GPL напечатана в приложении C.

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

    Во-первых, необходимо пояснить, что свободное программное обеспечение не есть общая собственность (public domain). Программа в общей собственности по определению не подлежит авторскому праву и буквально принадлежит народу. В отличие от этого на программу на условиях GPL распространяется авторское право. Она защищается стандартными законами по авторскому праву и имеет легального автора. GPL обеспечивает программе право свободного распространения, но не делает ее общей собственностью.

    Программа на правах GPL не есть условно бесплатная (shareware). В общем, условно-бесплатная программа принадлежит автору, который требует от пользователей посылать деньги за использование программы. Программа на правах GPL может распространяться и использоваться бесплатно.

    GPL позволяет также брать, изменять и распространять свои собственные версии программы. Вместе с тем, всякие производные от программ GPL продукты также подпадают под условия GPL. Другими словами, никакая компания не может взять Linux, модифицировать его и затем продавать на каких-то ограничительных условиях. Если программа произведена от Linux, она также должна подчиняться условиям GPL.

    GPL позволяет свободному обеспечению быть распространяемым и используемым бесплатно. Она также разрешает отдельным лицам или организациям распространять GPL-программы за плату и даже извлекать прибыль от ее продажи и распространения. Вместе с тем распространитель GPL-программ не может отнять такие же права от покупателя. Если вы купили GPL-программу от третьего лица, вы можете распространять ее как свободную и сами можете продавать.

    Это может показаться противоречивым. Зачем покупать программу, когда GPL позволяект позволяет вам получить ее свободно? Предположим, что некая компания решила поместить большое количество свободного программного обеспечения на CD-ROM и распространять его. Эта компания будет вынуждена возместить накладные расходы за изготовление и распространение CD-ROM и может даже решить получить прибыль от продажи проограмм. Это допускается условиями GPL.

    Организации, которые продают свободное обеспечение, должны следовать определенным ограничениям, имеющим силу в GPL. Они не могут ограничиввать права тех пользователей, кто купил обеспечение. Если вы покупаете CD-ROM, который содержит GPL software, вы можете копировать и распространять CD-ROM бесплатно или перепродавать его самостоятельно. Распространители должны оповещать пользователей, что обеспечение подчинено условиям GPL. Распространитель должен также обеспечить бесплатно полный исходный код распространяемой прграммы. Это позволяет всякому, кто приобрел GPL-программу, вносить изменения в это обеспечение.

    Разрешение любой компании распространять и продавать свободное программное обеспечение есть хорошая вещь. Не всякий имеет доступ в Internet и возможность выгружать свободные программы. Многие организации продают Linux на дискетах, лентах или CD-ROM по почтовому ордеру и получают прибыль от продажи. Разработчики Linux могут никогда не узнать ничего об этой прибыли. Такое соглашение подразумевается между разработчиками и распространителями, когда продукт лицензирован согласно GPL. Другими словами, Линус Торвальдс знает, что компании могут при желании продавать Linux, и он может не получить ни пенни прибыли от этого.

    В мире свободного программного обеспечения целью являются не деньги. Цель свободного программного обеспечения заключается в разработке и распространениии причудливых (fantastic) программ и разрешать кому угодно получать и использовать их. В следующем разделе мы обсудим, как это применяется в разработке Linux.

    1.6 Замысел и философия Linux.

    В начало страницы

    Новые пользователи часто несколько недопонимают Linux, и ожидают от него чего-то другого. Важно понимать философию и замысел Linux, чтобы эффективно его использовать. Мы начнем с описания того, как Linux не спроектирован.

    В коммерческих организациях разработки UNIX система в целом разрабатывается в рамках строгой политики гарантии качества, которая использует системы контроля исходного кода и версий, документирование, процедуры обнаружения и устранения ошибок (bugs). Разработчики не имеют права добавлять особенности или изменять ключевые части кода по своей прихоти. Они должны обосновывать изменения, вносимые по жалобам на ошибки, и регистрировать все внесенные изменения в системе контроля исходного кода, чтобы при необходимости отказаться от них. Каждый разработчик отвечает за одну или более частей системного кода и только он может изменять эти части кода, когда это необходимо (если этот код еще находится под его или ее контролем).

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

    Естественно, что производящая программное обеспечение компания должна иметь количественное доказательство того, что система готова для распространения; для этого ей и необходим сбор и анализ статистики о производительности операционной системы. Это очень большое дело -- разработка коммерческой системы UNIX, часто достаточно большое чтобы нанимать сотни, если не тысячи, программистов, тестировщиков, документалистов и административных работников. Конечно, все коммерческие дистрибуции UNIX различны, но общаая картина такова, как мы ее описали.

    Модель Linux разработки программного обеспечения в корне отлична от самого понятия организованной разработки, включая системы контроля исходного кода, структуру поиска ошибок и статистический контроль качества. Linux есть и вероятно останется навсегда хакерской операционной системой. (Под хакерами я понимаю лихорадочно увлеченных программистов, кто наслаждается работой с компьютерами и связанными с ними вещами. Таково оригинальное определение термина, в отличие от бытующего определения хакера как компьютерного взломщика или преступника).

    Не имеется ни одной отдельной организации, ответственной за разработку Linux. Любой, достаточно смыслящий в технологии, имеет возможность принять участие в разработке и отладке ядра, переносе новых программ, написании документации и помощи новым пользователям. По большей части, собщество Linux общается через списки адресов (mailing lists) и Usenet newsgroups. В связи с деятельностью по разработке возникли некоторые соглашения. Каждый, кто хочет, чтобы его код был включен в "официальное" ядро, отправляет его Линусу Торвальдсу. Он тестирует и включает код в ядро, если он ничего не портит и не противоречит общему назначению системы.

    Сама система спроектирована для открытого (open-ended), разнообразного (feature-minded) подхода. Количество новых особенностей и существенных изменений в системе было недавно уменьшено, и общее провило состоит в том, что новая версия ядра должна выпускаться каждые несколько недель.

    Конечно, это неполная картина. Критерий нового выпуска включает количество исправленных ошибок, обратную связь от пользователей, проверяющих предыдущие версии кода, и количество сна, которое удалось получить Торвальдсу в эти недели.

    Нужно также сказать, что не каждая ошибка исправляется и не каждая проблема решается в следующем выпуске. Как только очередная версия кажется свободной от критических или повторяющихся ошибок, она рассматривается как устоявшаяся и выпускается в пользование. Побуждающая причина (thrust behind) разработки Linux -- не в том, чтобы выдать совершенный безошибочный код: она состоит в разработке свободной реализации UNIX. Linux предназначен больше для разработчиков, чем для чего-нибудь другого.

    Каждый, кто придумал новую возможность или программу, обычно предлагает ее как alpha-версию, т.е. пробную версию для тех отважных пользователей, кто хочет исследовать проблемы в исходном коде. Поскольку сообщество Linux в основном ориентируется на Internet, alpha-программы обычно загружаются на один или более сайтов Linux FTP (см. приложение B), и сообщение посылается в одну из Linux Usenet newsgroups о том, как получить и тестировать код. Пользователи, которы загружают и тестируют alpha-программы, могут потом посылать по почте результаты, исправления ошибок и вопросы к автору программы.

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

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

    Можно только удивляться тому, что такая бесструктурная система добровольцев, кто программируют и отлаживают полную систему UNIX, вообще смогли что-то сделать. Оказалось, что это -- одна из наиболее эффективыных и мотивированных исследовательских работ, когда либо предпринимавшихся. Все ядро Linux составлено из набросков, без кодов из частных источников. Это потребовало огромной работы -- перенести все свободное обеспечение в мире в Linux. Библотеки записаны и перенесены, файловые системы разработаны, написаны драйверы аппаратуры для не очень популярных устройств, и все это -- благодаря усилиям добровольцев.

    Программное обеспечение Linux обычно выпускается в форме дистрибуции (distribution), как множество предварительно пакетированных программ, которые составляют целостную систему. Это было бы трудной задачей для большинства пользователей построить от основания полную систему, начиная с ядра, добавляя утилиты и устанавливая вручную необходимые программные средства. Вместо этого, доступны многие дистрибуции, включающие все необходимое для инсталлирования и запуска полной системы. Не имеется единственного стандартного комплекта -- имеются многие, и каждый имеет свои преимущества и недостатки. Мы опишем установку различных дистрибуций Linux, начиная со страницы 53.

    1.7 Отличие Linux от других операционных систем.

    В начало страницы

    Вожно понимать разности между Linux и другими операционными системами, такими как MS-DOS, OS/2 и другими реализациями UNIX для персональных компьютеров. Прежде всего, Linux счастливо сосуществует с другими операционными системами на той же самой машине: вы можете исполнять MS-DOS и OS/2 вместе с Linux на той же системе без всяких проблем. Имеются даже пути взаимодействия между различными операционными системами, как мы далее увидим.

    Зачем вообще использовать Linux? Подему употребляют Linux вместо хорошо известной, хорошо проверенной и документированной коммерческой операционной системы? Мы могли бы указать вам тысячу причин. Одна и самых важных состоит в том, что Linux есть прекрасный выбор для персональной работы с UNIX. Если вы являетесь разработчиком программного обеспечения UNIX, зачем дома использовать MS-DOS? Linux позволяет вам разрабатывать и тестировать программное обеспечение для UNIX на вашем PC, включая базу данных и приложения системы X Window. Если вы студент, то возможно, что ваши университетские вычислительные системы используют UNIX. Вы можете использовать вашу собственную систему UNIX и перекраивать ее для своих нужд. Инсталляция и запуск Linux представляет также прекрасный способ изучить UNIX, если вы не имеете доступа к другим машинам UNIX.

    Не надо упускать из виду и то, что Linux предназначен не только для персональных пользователей UNIX. Он представляет живучую (robust) программу, достаточно полную для решения больших задач и для нужд распределенных вычислений. Многие деловые организации, особенно малые, переводят их системы на Linux, вместо других, основанных на UNIX и составляющих окружение рабочих станций. Университеты пришли к выводу, что Linux очень хорош для обучения проектированию операционных систем. Известные поставщики коммерческого программного обеспечения начали осозовать возможности, которые может обеспечить свободная операционная система.

    Сравним Linux и MS-DOS. Иногда Linux и MS-DOS исполняются на одной системе. Многие пользователи Linux обращаются к MS-DOS из-за приложений типа word processing. Linux имеет свои собственные аналоги этого рода приложений, но у вас могут быть свои причины как для использования MS- DOS, так и для Linux. Если ваша диссертация написана с помощью WordPerfect для MS-DOS, вам может оказаться нелегко перевести ее в TEX или какой-нибудь другой формат. Многие коммерческие приложения для MS-DOS все еще недоступны для Linux, но нет никаких препятствий к тому, чтобы пользоваться обоими.

    MS-DOS не полностью использует возможности процессоров 80386 и 80486. С другой сторооны, Linux исполняется полностью в защищенном режиме процессора и использует все его возможности. Вы имеете прямой доступ ко всей имеющейся памяти (и, кроме того, к виртуальной RAM). Linux обеспечивает полный интерфейс UNIX, недоступный под MS-DOS. Вы можете легко разрабатывать и переносить приложения UNIX в Linux, а под MS-DOS вы ограничены подмножеством возможностей UNIX.

    Linux и MS-DOS есть разные сущности. MS-DOS сравнительно недорога по отношению к другим коммерческим операционным системам и занимает прочную позицию в мире персональных компьютеров. Никакие другие операционные системы для персональных компьютеров не достигли уровня популярности MS-DOS, поэтому трата в $1,000 за другую операционную систему неприемлема для многих пользовавтелей. Но Linux свободен от платы, и вы можете сами принять решение.

    Вы можете сопоставить Linux и MS-DOS на основе ваших намерений и нужд. Linux -- система не для всех. Если вы постоянно хотите использовать полную систему UNIX у себя дома без дорогой оплаты других реализаций UNIX для персональных компьютеров, Linux может быть тем, что вам нужно.

    И другие современные операционные системы популярны в мире PC. В частности, среди пользователей, выросших из MS-DOS, стали популярными разработанная в IBM система OS/2 и Microsoft Windows.

    И OS/2 и Windows NT представляют многофункциональные многозадачные операционные системы, подобные Linux. OS/2, Windows NT и Linux поддерживают в основном тот же самый пользовательский интерфейс, организацию сетей и средства зашиты. Вместе с тем реальное отличие Linux от других систем составляет тот факт, что Linux есть версия UNIX и много выигрывает от достижений сообщества UNIX.

    Что делает UNIX таким важным? Не только то, что эта система предназначена для многопользовательских (multiuser) машин. Она -- основа мира свободного программного обеспечения. Много свободного обеспечения, доступного по Internet, написано специально для системы UNIX.

    Имеется много реализаций UNIX от многих поставщиков. Нет единой организации, ответственной за ее дистрибуцию. Имеется большое стремление (push) в сообществе UNIX за стандартизацию в форме открытых систем, но никакая отдельная группа не контролирует такой дизайн. Каждый поставщик (или, как иногда оказывается, любой хакер) может разрабатывать стандартную реализацию UNIX.

    С другой стороны, операционные системы OS/2 и Microsoft, имеют хозяев. В них interface и дизайн контролируются одной корпорацией, которая разрабатывает код операционной системы. В опрелеленном смысле такой тип организации предпочтителен, так как он устанавливает строгие стандарты для программирования и дизайна прользовательского интерфейса, в отличие от того, который наблюдается обычно в сообществе открытых систем.

    Несколько оганизаций пытались решать трудную задачу стандартизации программного интерфейса UNIX. Linux, в частности, больше всего соответствует стандарту POSIX.1. В дальнейшем ожидается, что система Linux будет придерживаться других стандартов. Но стандартизация не является главной целью в развитии Linux.

    Linux и другие реализации UNIX. Существуют несколько реализаций UNIX для 80386 и более мощных персональных компьютеров. Архитектура 80386 связана (lends) c UNIX, и поставщики пользуются этим преимуществом.

    Другие реализацмии UNIX для РС подобны Linux. Почти все коммерческие версии UNIX в основном поддерживают то же программное обеспечение, программное окружение и особенности сетевой организации. Вместе с тем имеются отличия Linux от коммерческих версий UNIX. Linux поддерживает аппаратуру, отличную от применяемой в коммерческих реализациях. В общем, Linux поддерживает хорошо известные аппаратные устройства, но поддержка обычно ограничивается оборудованием, которым владеет разработчик. Коммерческие поставщики UNIX вначале старались поддерживать больше оборудования, но список устройств, которые поддерживает Linux, постоянно расширяется. Мы остановимся на требованиях к оборудованию для Linux в разделе 1.8.

    Многие пользователи сообщают, что Linux устойчив по крайней мере настолько же, как и коммерческие системы UNIX. Linux все еще находится в стадии разработки, но двух-стадийная (two-pronged) философия выпусков делает устойчивые версии доступными без задержек в разработке.

    Наиболее важным фактором для многих пользователей является цена. Программное обеспечение Linux бесплатно, если вы можете выгрузить его из Internet или другой компьютерной сети. Если вы не имеете доступа к Internet, вы можете недорого купить Linux по почтовому заказу на дискете, ленте или на CDROM.

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

    Не нужно забывать о цене коммерческой реализации UNIX. Кроме цены самой программы, часто приходится платить за документацию, поддержку и гарантию качества. Это очень важные факторы для больших институтов, но пользователям РС эти услуги могут и не требоваться. В любом случае многие деловые организации и университеты находят, что использование Linux в лаборатории на недорогих персональных компьютерах предпочтительнее использования коммерческой версии UNIX в лаборатории на рабочих станциях. Linux может обеспечить рабочую станцию на персональном компьютере за много меньшую цену.

    Системы Linux путешествуют в водах Северной Атлантики, управляя телекоммуникациями и анализом данных на исследовательских океанографических судах. Системы Linux используются как исследовательские станции в Антарктике. Некоторые госпитали ведут истории болезни на системах Linux.

    Другие свободные или недорогие реализации UNIX доступны для 80386 и 80486. Одна из самых известных есть 386BSD, реализация BSD UNIX для 80386. Пакет 386BSD сравним с Linux во многих отношениях, но который лучше, зависит от ваших нужд и намерений. Единственное сильное отличие, которое мы можем отметить, есть то, что Linux разрабатывается открыто, и каждый доброволец может вносить добавки в процесс разработки, в то время как 386BSD разрабатывался замкнутой командой программистов. Вследствие этого, существует философская разница между двумя проектами. Цель Linux состоит в разработке из набросков полной системы UNIX (и получении удовольствие от этого процесса), а цель 386BSD есть частично в модификации существующего кода BSD для использования на 80386.

    NetBSD есть другая часть дистрибуции BSD NET/2 для нескольких машин, включая 80386. NetBSD имеет немного более открытую структуру разработки и во многих отношениях сравнима с 386BSD.

    Другой проект, заслуживающий отметки, есть HURD, осуществленный Free Software Foundation для разработки и дистрибуции свободной версии UNIX для многих платформ. Войдите в контакт с Free Software Foundation (адрес указан в приложении C) для получения подробной информации об этом проекте. Во аремя написания этой книгу HURD все еще находился в стадии разработки

    Существуют также другие недорогие версии UNIX, такие как Minix, учебный, но полезный клон UNIX, на котором базировались ранние разработки Linux.

    Некоторые из этих реализаций представляют в основном академический интерес, в то время как другие являются полными работоспособными системвми.

    1.8 Аппаратурные требования.

    В начало страницы

    Теперь вы знаете о том, как прекрасен Linux, и о всех великих возможностях, которые он может вам предоставить. Однако, прежде чем приступить к инсталляции Linux, вам нужно ознакомиться с его требованиями и ограничениями относительно аппаратных устройств.

    Имейте ввиду, что Linux разрабатывали пользователи. Это означает, что в значительной степени аппаратура, которую поддерживает Linux, есть та, к которой имели доступ его разработчики и пользователи. Поэтому оказалось, что поддерживаются наиболее популярные аппаратура и периферия. Linux поддерживает больше устройств, чем некоторые коммерческие реализации UNIX. Вместе с тем, некоторые малоизвестные (obscure) устройства до сих пор не поддержаны.

    Другой изъян в поддержке аппаратуры в Linux вызван тем, что многие компании считают аппаратный интерфейс своей собственностью. Добровольные разработчики Linux не могут писать драйверы для таких устройств, потому что их изготовители не обнародуют их технические спецификации. Даже если разработчики Linux могли бы написать такие драйверы для "приватизированных" устройств, они окажутся собственностью компании-изготовителя интерфейсных устройств, что нарушит условия GPL. Производители собственных интерфейсных устройств пишут свои собственные драйверы для операционных систем, тких как MS-DOS и Microsoft Windows. Пользователи и сторонние разработчики не знают технические детали интерфейса.

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

    В следующих разделах мы попытаемся обобщить требования к оборудованию. The Linux Hardware HOWTO (см. раздел 1.9) содержит более полный список оборудования, которое поддерживает Linux.

    Предупреждение (Disclaimer): Большое количество программ поддержки периферии для Linux находится в стадии разработки. Некоторые дистрибуции иногда содержат экспериментальные возможностиs. В этом разделе перчислена аппаратура, которая поддерживалась некоторое время и считается устойчивой.При сомнениях обращайтесь к документациии в вашей дистрибуции Linux. См. в разделе 2.2 дополнительную информацию о дистрибуциях Linux.

    Linux доступен для многих платформ, в добавок к системам 80x86. Сюда входят Macintosh, Amiga, Sun SparcStation и системы на базе Digital Equipment Corporation Alpha. Однако, в этой книге мы фокусируем внимание на семействах (garden-variety) Intel 80386, 80486 и Pentium processors, а также клонах таких изготовителей как AMD, Cyrix и IBM.

    Требования к материнской плате и CPU. Linux в настоящее время поддерживает системы с процессорами Intel 80386, 80486, или Pentium, включая все виды 80386SX, 80486SX, 80486DX и 80486DX2. Не-Intel клоны также работают с Linux. Linux был перенесен также на DEC Alpha и Apple PowerMac. Если вы имеете 80386 или 80486SX, вы можете при желании использовать математический сопроцессор, хотя это и не обязательно. Ядро Linux способнно производить эмуляцию FPU, если машина не имеет сопроцессора. Поддерживаются все стандарты FPU, включая IIT, Cyrix FasMath и Intel.

    Большинство обычных материнских плат PC базируются на PCI bus, а иногда предлагаются ISA slots. Такие конфигурации поддерживаются в Linux, также как и системы EISA and VESA-bus. IBM's MicroChannel (MCA) bus, который используют большинство систем IBM PS/2, значительно отличается от перечисленных ранее и его поддержка в Linux добавлена только недавно.

    Требования к мамяти.
    Linux требует мало памяти по сравнению с другими современными операционными системами. Минимальное количество RAM составляет 4 мегабайта, но настоятельно рекомендуется иметь не меньше 16. Чем больше памяти вы имеете, тем быстрее система будет работать. Некоторые дистрибуции требуют для инсталляции больше памяти.

    Linux поддерживает полный 32-битовый диапазон адресов для процессора. Другими словами, он автоматически использует всю вашу RAM.

    Linux может работать с 4 мегабайтами RAM, включая все требования систем вида X Window и emacs. Но иметь много памяти почти так же важно, как иметь быстрый процессор. Для обычного использования 16 мегабайт достаточны, а 32 мегабайта или больше могут понадобиться системе при большой пользовательской нагрузке. Большинство пользователей Linux отводят часть их жесткого диска для swap space, используемого как виртуальная RAM. Даже если ваша машина имеет более 16 мегабайт физической RAM, вы можете захотеть иметь swap space. Это -- не замена для физической RAM, но это может позволить вашей системе исполнять большие прикладные программы, перекидывая неактивные части кода на диск. Количество swap space, которое вам следует зарезервировать, зависит от нескольких факторов; мы вернемся к этому вопросу в главе 2.

    Требования к дисководу жесткого диска.
    Возможно исполнять Linux с гибких дисков, или, для некоторых дистрибуций, оставлять файловую систему на CD-ROM, но для хорошей производительности необходимо пространство на жестком диске. Linux может сосуществовать с другими операционными системами -- для этого только нужно иметь один или более разделов (partitions) на диске.

    Linux поддерживает все дисководы IDE и EIDE, также как и старые дисководы MFM и RLL. Поддерживаются не все, но большинство дисководов ESDI. Общее правило для дисководов не-SCSI и дисководов гибких дисков состотит в том, что если вы имеете доступ к ним из MS-DOS или другой операционной системы, вы будете в состоянии иметь к ним доступ и через Linux.

    Linux поддерживает также несколько популярных дисководов SCSI. Сюда входят большинство карт Adaptec и Buslogic и карт на основе NCR chip sets.

    Требования к пространству на жестком диске.
    Конечно, для инсталляции Linux вам необходимо иметь некоторое количество свободного пространства на вашем жестком диске. Linux может поддерживать более одного жесткого дисковода на одной машине; вы можете отводить общее место для Linux, если необходимо, на нескольких дисках. Величина этого пространства зависит от ваших нужд и от программного обеспечения, которое вы инсталлируете. Linux относительно мал по сравнению с реализациями UNIX. Вы можете исполнять систему в 20 мегабайтах дискового пространства. Однако для расширений и больших пакетов вроде X вам потребуется больше места. Если вы планируете иметь более одного пользоватнля на машине, вам неободимо отвести место для их файлов. Реалистичные требования на пространство составляют от 200 мегабайт до одного гигабайта и больше.

    Итак, вы, повидимому, захотите отвести место на диске для виртуальной RAM. Мы будем обсуждать инсталляцию и использование swap space в главе 2.

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

    Требования монитора и видеоадаптера.
    Linux поддерживает стандарты Hercules, CGA, EGA, VGA, IBM monochrome, Super VGA и многие ускоренные видеокарты и мониторы по умолчанию для основанного на тексте интерфейса. Обычно, если видеокарта и монитор работают под операционной системой, подобной MS-DOS, эта комбинация будет прекрасно работать и под Linux. Однако, оригинальные карты IBM CGA под Linux страдают от "снега", что не очень приятно для глаза.

    Графическое окружение типа X имеет собственные требования к видеооборудованию. Мы отложим их обсуждение до раздела 5.1. Популярные видеокарты поддерживаются и регулярно добавляется поддержка новых карт.

    Разное оборудование.
    Вы можете также иметь устройства типа дисководов CD-ROM, мышь или звуковую карту и хотите знать, поддерживаются ли они в Linux.

    Мышь и другие указательные устройства.
    Обычно мышь используется только в графическом окружениии типа X. Однако, несколько приложений Linux, не связанных с графическим окружением, также используют мышь.

    Linux поддерживает стандартных последовательных мышей вида Logitech, MM series, Mouseman, Microsoft (2-кнопочную) и Mouse Systems (3-кнопочную). Linux также поддерживает Microsoft, Logitech и ATIXL bus mice, и PS/2 mouse interface.

    Указательные устройства, которые эмулируют мышь, такие как trackballs и touchpads, должны также работать.

    Дисководы CD-ROM.
    Многие обычные дисководы CD-ROM связаны с стандартными контроллерами IDE. Другой обычный интерфейс для CD-ROM есть SCSI. Поддержка SCSI включает в себя многие логические единицы для каждого устройства, так что вы можете использовать CD-ROM с автоматической сменой дисков ("jukeboxes"). Кроме того, поддерживаются некоторые "приватизированные" (proprietary) интерфейсы, такие как NEC CDR-74, Sony CDU-541 и CDU-31a, Texel DM-3024 и Mitsumi.

    Linux поддерживает стандартную файловую систему ISO 9660 для CD-ROMs и расширения High Sierra file system.

    Лентопротяжки.
    Поддерживаются любые лентопротяжки SCSI, включая четвертьдюймовые, DAT и 8MM, если поддерживается контроллер SCSI. Устройства, присоединенные к контроллеру дискет, такие как floppy tape drives, также поддерживаются, как и некоторые другие интерфейсы, подобные QIC-02.

    Принтеры.
    Linux поддерживает весь ряд параллельных принтеров. Если MS-DOS или какая-то другая операционная система имеет доступ к вашему принтеру через параллельный порт, Linux будет тоже в состоянии сделать это. Программное обеспечение принтеров в Linux включает стандарты UNIX lp и lpr. Это обеспечение позволяет отдаленную печать через сеть, если она у вас есть. Linux также имеет обеспечение, которое позволяет большинству принтеров работать с файлами в PostScript.

    Модемы.
    Так же как и принтеры, Linux поддерживает полный спектр последовательных модемов, как внутренних, так и внешних. Значительная часть телекоммуникационного программного обеспечения доступна для Linux, в том числе Kermit, pcomm, minicom и seyon. Если ваш модем доступен из другой операционной системы на той же машине, вы будете в состоянии без труда получить к нему доступ через Linux.

    Карты Ethernet.
    Многие популярные карты Ethernet и адаптеры LAN поддерживаются в Linux. Linux также поддерживает некоторые FDDI, frame relay, карты token ring и все корты Arcnet. Список поддерживаемых сетевых карт включен в исходный код ядра в вашей дистрибуции.

    1.9 Источники информации о Linux.

    В начало страницы

    Информация о Linux доступна из многих источников. В частности, многие книги об общих свойствах UNIX очень полезно прочесть особенно тем, кто не знаком с UNIX. Мы настаиваем, чтобы вы внимательно прочли одну из этих книг перед попыткой вторжения в дебри Linux.

    Доступна также текущая (online) информация в электронной форме. Для получения такой информации вы должны иметь доступ к online network, такой как Internet, Usenet или Fidonet. Хорошее место для начального знакомства есть www.linuxresources.com (см. приложение A). Если у вас этого нет, найдите кого-нибудь, кто согласится дать вам печатную копию документации.

    1.9.1 Текущие (оnline) документы.

    В начало страницы

    Многие документы о Linux доступны через anonymous FTP из архивных сайтов Internet по сетям Fidonet and CompuServe. CD-ROM-дистрибуции Linux также содержат упоминаемые здесь документы. Если вы можете послать запрос в сайты Internet, вы можете получить эти файлы, используя серверский FTP e-mail, который пошлет вам документы или файлы из сайтов FTP. См. приложение B для получения информации об использовании FTP e-mail серверов.

    Список хорошо известных архивных сайтов Linux дан в приложении B. Для упрощения сетевых пересылок используйте сайт FTP, географически близкий вам.

    Приложение A содержит частичный список документов по Linux, доступных через anonymous FTP. Имена файлов меняются в зависимости от сайта. Большинство сайтов содержат относящиеся к Linux документы в подкаталоге docs в их архиве Linux. Например, FTP-сайт sunsite.unc.edu держит файлы Linux в /pub/Linux, а документацию по Linux -- в /pub/Linux/docs.

    Примерами доступных текущих документов могут служить: Linux Frequently Asked Questions with Answers, собрание часто задаваемых вопросов по Linux;

    Linux HOWTO documents, где описываются специфические аспекты системы, такие как Installation HOWTO, Printing HOWTO и Ethernet HOWTO; Linux META-FAQ, список информационных источников в Internet.

    Многие из этих документов регулярно отправляются в одну или более относящихся к Linux Usenet newsgroups; см. ниже раздел 1.9.4

    1.9.2 Linux в World Wide Web.

    В начало страницы

    Linux Documentation Project Home Page находится в World Wide Web в http://sunsite.unc.edu/LDP. В этой web page перечисляются многие HOWTO и другие документыв формате HTML вместе с указателями на другие сайты, интересные для польователей Linuxs, такие как ssc.com, место размещения ежемесячного журнала по Linux. Вы можете найти их базовую страницу в http://www.ssc.com/.

    1.9.3 Книги и другие опубликованные труды.

    В начало страницы

    Книги по Linux Documentation Project представляют результаты добровольных усилий распространения через Internet документов по Linux, аналогичных документации, распространяемой в коммерчесих версиях UNIX и относящихся к инсталляции, операциям, программированию, организации сетей и разработке ядра. Руководства по Linux Documentation Project доступны через anonymous FTP и по почтовым заказам. В приложении A перечислены доступные руковадства и описаны пути их получения. Многие известные издательства,включая MIS:Press, Digital Press, O'Reilly & Associates и SAMS заинтересовались успехами Linux. Ознакомьтесь с компьютерными книжными складами (computer bookstores) или SSC's web page в http://www.ssc.com/ или обзорами книг в Linux Journal, иногда появляющимися на сайте http://www.linuxjournal.com Многие книги по UNIX обычно приложимы и к Linux. В использовании и програмном интерфейсе Linux мало отличается от других реализаций UNIX. Почти все, что вам нужно знать об использовании и программировании в Linux, можно найти в общих текстах по UNIX. Фактически, настоящая книга предназначена для пополнения библиотеки по UNIX. В ней мы описываем наиболее важные специфические особенности Linux и надеемся, что вы обратитесь и к другим источникам углубленной информации.

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

    Журнал Linux Journal известен во всем мире и представляет прекрасные возможности быть в курсе всего, что происходит в сообществе Linux, особенно если вы не имеете доступа к Usenet news (см. ниже). См. в приложение A информацию о подписке на Linux Journal.

    1.9.4 Usenet newsgroups.

    В начало страницы

    Usenet есть всемирный форум электронных новостей и дискуссий с различными наборами newsgroups, ведущих дискуссии, посвященные разным вопросам. Многие дискуссии о развитии Linux ведутся через Internet и Usenet. И не удивительно, что некоторое количество Usenet newsgroups посвящены Linux.

    Оригинальная Linux newsgroup, называемая alt.os.linux, была создана для оживления дискусии о Linux в comp.os.minix и разных почтовых списках (mailing lists) . Вскоре переписка с alt.os.linux выросла настолько, что встал вопрос об организции новой newsgroup, и она была созданв в феврале 1992 г.

    Группа comp.os.linux быстро стала одной из самых популярных групп в Usenet, более популярной , чем всякая другая группа в comp.os hierarchy. В декабре 1992 г.было решено расщепить группу для уменьшения потоков собщений (traffic). В июле 1993 г. группа была разделена в новую иерархию. Почти 2000 участнтков проголосовали за реорганизацию comp.os.linux. Это было самое крупное голосование в Usenet за все время ее сущетвования.

    Если вы не имеете Usenet, возможна адресация с использованием признаков шлюза (mail-to-news gateways), доступная для многих (если не всех) перечисленных ниже newsgroups.

    comp.os.linux.advocacy
    Группа для дискуссий в пользу Linux по сравнению с другими операционными системами.

    comp.os.linux.alpha
    Эта newsgroup должна использоваться для всех дискуссий относительно покупки, инсталляции, эксплуатации, поддержки и разработки Linux на системах, основанных на Digital Alpha processor.

    comp.os.linux.announce
    Контролируемая (moderated) newsgroup для объявлений о Linux, включая сообщения об об ошибках и важных заплатках на программах. Если вы вообще читаете сообщения каких-либо Linux newsgroups, читайте из этой группы. Часто важные сообщения этой группы не рассылаются (not crossposted). Эта группа также содержит многие периодические сообщения по поводу Linux, включая текущие документы, описанные в настоящем разделе и перeчисленные в приложении A.

    Письма в эту группу должны быть одобрены консультaнтами (moderators) Matt Welsh и Lars Wirzenius. Если вы хотите предстаить статью, вы просто посылйте ее как обычно делается; the news software передаст статью на заключение консультантам. Однако, если ваша news system не установлена правильно, вам нужно отправить по почте статью непосредственно в linux-announce@tc.cornell.edu.

    comp.os.linux.answers
    Для отправления Linux FAQs, How-To's, READMEs и других документов в ответ на вопросы по. Linux. Это может перераспределить поток по другим c.o.l.* groups и освободить comp.os.linux.announce для необходимы объявлений.

    comp.os.linux.development.apps
    Newsgroup без консультантов (unmoderated) для вопросов и дискуссий по написанию приложений для Linux и перенеснию приложений в Linux.

    comp.os.linux.development.system
    Бесконсультантная группа для дискуссий о разработке системы Linux в отношении ядра, драйверов устройств и загружаемых модулей.

    comp.os.linux.hardware
    Эта newsgroup предназначена для вопросов и дискуссий по конкретным типам аппаратуры, вроде "может ли эта система исполнять Linux?", " Как я должен использовать этот дисковод в Linux?", и т. д.

    comp.os.linux.m68k
    Это относится к будущим разработкам по переносу Linux в архитектуру Motorola 680x0.

    comp.os.linux.misc
    Все дискуссии, которые не укладываются в рамки других существующих групп по Linux. Все нетехнические или методологические дискуссии о Linux должны проводитьься в comp.os.linux.misc.

    comp.os.linux.networking
    Дискуссии, относящиеся к конструированию сетей и коммуникуаций, включая платы Ethernet, SLIP и PPP.

    comp.os.linux.setup
    Вопросы и дискуссии, относящиеся к инсталляции Linux и системной адинистрации.

    comp.os.linux.x
    Дискуссии об особенностях X Window System, уникальных для Linux, включая серверы, клиенты, фонты и библиотеки.

    Приведенный список ни в коей мере нельзя считать завершенным. Новые группы создаются и появляется нужда в рзделении дискусий. Группы по Linux имеются и в других иерархиях.

    1.9.5 Рассылочные списки Internet.

    В начало страницы

    Если вы имеете доступ к электронной почте Internet, вы можете фигурировать в нескольких рассылочных списках, даже если у вас нет доступа к Usenet. Если вы не связаны прямо с Internet, вы можете попасть в эти рассылочные списки, если обмениваетесь электронной почтой с Internet (например, через UUCP, Fidonet, CompuServe или другую сеть, которая связана с почтой Internet).

    Чтобы узнать больше о рассылочных списках Linux (Linux mailing lists) пошлите e-mail в majordomo@vger.rutgers.edu Включите строку со словом help в текст послания, и вы получите ответное сообщение с описанием правил подписки и отказа от нее по различным рассылочным спискам. Слово lists в строке само по себе выдаст имена рассылочных списков, которые доступны через сервер majordomo.vger.rutgers.edu .

    Имеются также несколько специализированных рассылочных списков для Linux. Лучший способ узнать о них -- следить за Linux Usenet newsgroups for announcements, так же как читaть список публично-доступных рассылочных списков, который посылается в группу Usenet news.answers.

    1.10 Получение помощи по Linux.

    В начало страницы

    Вам обязательно понадобится помощь во время ваших приключений в мире Linux. Даже искусники UNIX иногда спотыкаются на некоторых заковыках или особенностях Linux. Важно знать, как, где и когда найти помощь.

    Первичное средство получение помощи -- через рассылочные списки Internet и newsgroups, как об этом сказано в разделе 1.9. Если вы не имеете доступа к этим источникам, вы можете найти подходящие Linux discussion forums в онлайновой службе, такие как BBS's и CompuServe. Доступны также онлайновые Linux Journal's Best of Technical Support columns, по http://www.linuxjournal.com/techsup.html.

    Некоторые деловые организации обеспечивают коммерческую поддержку для Linux. Эти службы при плате за подписку позволяют вам вызывать консультантов для помощи в ваших проблемах с Linux.

    Держите в уме следующие советы. Они пополнят ваш опыт с Linux и помогут отыскать необходимую помощь.

    Прежде всего, изучайте всю доступную документацию! Вы должны делать это, когда впервые столкнетесь с некоей проблемой. Различные источники информации перечислены в разделе 1.9 и приложении A. Эти документы специально написаны для таких как вы, кому нужно помочь в овладении системой Linuх. Как было сказано выше, книги по UNIX применимы для изучения Linux, и вы должны также использовать и их.

    Если вы имеете доступ к Usenet news, или к относящемуся к Linux рассылочному списку, обязательно ознакомьтес с информацией там до заказа по почте. Часто решение общих проблем, которое нелегко отыскать в документации, находится в newsgroups и рассылочных списках. Если вы только пишете в эти группы, но не читаете их, вы напрашиваетесь на неприятности.

    Учитесь опираться на собственные силы. Это требуется вам все время при исполнении Linux. Помните, что Linux -- сплошное хакерство и борьба с неприятностями. Это не коммерчесая операционная система и не старается быть такой. Хакерство не убьет вас. Наоборот, оно одушевит вас на исследования и самостоятельное разрешение проблем, и вы сможете даже в конце концов назвать себя жрецом в Linux (guru). Вы оцените в полной мере хакерство системы и самотоятельность в разрешении проблем. Вы не должны ожидать, что полная кустарная система Linux подчинится вам без ручной подгонки.

    Сохраняйте спокойствие. Вы ничего не добьетесь, подходя к топором, или еще хуже --с мощным электромагнитом -- к ящику с Linux. Большая боксерская груша или длительная прогулка -- лучшее средство против атакующего вас стресса. Мы надеемся, что когда Linux повзрослеет и дистрибуции станут более надежными, такие проблемы исчезнут. Вместе с тем, доже коммерческие реализации UNIX способны на всякие штучки. Когда ничего не выходит, посидите спокойно, подышите глубоко , успокойтесь и, отдохнув, обратитесь к задаче вновь.

    Воздержитесь от поспешных излияний пр почте. Многие совершают эту ошибку, посылая поспешно по почте или e-mail мольбы о помощи. Обнаружив проблему, не бросайтесь немедленно к ближайшему терминалу для отправки сообщения в одну из Linux Usenet groups. Постарайтесь сначала разрешить ее самостоятельно, и будьте абсолютно уверены в ее природе. Ваша система не действует при включении? Может быть, это происходит потому, что она отключена от питания!

    Когда вы письменно обращаетесь за помощью, делайте эт тщательно и убедительно. Помните, что люди, которые читают вашу просьбу, не обязательно горят желанием помочь вам. Следовательно, важно быть как можно более вежливым, немногословным и информативным.

    Как всего этого добиться? Во-первых, нужно включить в сообщение как можно больше значимой информации о вашей системе и самой проблеме. Отправлять сообщение типа: "Я не могу заставить работать e-mail" бесполезно, если вы не добавите к нему информацию о вашей системе, об используемом программном обеспечении, что вы пытались до си пор делать и каковы были резльтаты. Если вы добавляете техничесую информацию, хорошо включить в нее общую информацию о версии вашего программного обеспечения (например, версию ядра Linux) и краткий обзор аппаратной конфигурации. Но не переусердствуйте -- тип и разновидность вашего монитора, повидимому, не представляют интереса при описании конфигурации сетевого обеспечения.


<<< Оглавление Страница: 1  2 >>>