Введение


Обзор курса

Цели курса

Курс "Основные приемы работы в ОС Unix (Linux)" предназначен для того, чтобы для слушателей Linux превратился из чего-то сложного и непонятного в очень удобный и надежный инструмент.

Курс рассчитан на обычных пользователей, а не на программистов, и не требует каких-то особых знаний, кроме некоторого опыта работы с любой ОС (Dos, Windows...) плюс технического английского.

Обзор курса

Первые несколько недель будут посвящены самым "базовым" навыкам, позволяющим чувствовать себя свободно в любом Unix'е и в Linux в частности.

Затем будет рассмотрена графическая система X-Window, настройка среды (как графической, так и командной строки) под свои вкусы, а также способы компиляции программ.

Конец курса будет посвящен приемам для "продвинутых" пользователей.


Краткая история Unix

Краткая история Unix, BSD и SysV ветви

ОС Unix была создана в 1969г. несколькими программистами Bell Labs фирмы AT&T "для себя", и работала на компьютере PDP-7. Через некоторое время большая ее часть была переписана с языка ассемблера на язык C, что дало возможность перенести ее на большое количество разных платформ. В настоящее время Unix работает на большинстве существующих архитектур, и для многих из них является основной ОС.

Дальнейшее развитие Unix, разработанного в AT&T и его производные называться System V (пятая версия), сокращенно SysV, иногда используется название "AT&T-версия Unix".

В середине семидесятых годов исходный код Unix попал в университет Беркли, где была создана своя версия Unix, получившая название "BSD Unix" (Berkeley Software Distribution).

В настоящее время большинство вариатнов Unix основаны или на SystemV, или на BSD.

Однако в последнее время предпринимаются усилия по выработке единого стандарта, и наиболее современные варианты Unix нельзя четко отнести ни к той, ни к другой ветви. В их число входят IRIX (компьютеры Silicon Graphics, пример в ИЯФ -- sky), Digital OSF/1 (компьютеры Alpha, пример в ИЯФ -- AxInp), и Linux.


Чем Unix так хорош?

Чем Unix так хорош?

Популярность и успех Unix обусловлены следующими факторами:

  • Система очень четко разбита на слои -- аппаратно-зависимая часть, ядро, базовые программы-утилиты, иные прикладные программы. Это обеспечивает высокую переносимость и, как следствие,
  • Unix существует для огромного количества машин -- от микропроцессоров до больших ЭВМ.
  • Программы, написанные для одного варианта ОС, почти не требуют переделок для работы под другим.
  • Система является многопользовательской и многозадачной, каждый пользователь может запускать несколько процессов, причем обеспечивается защита пользователей друг от друга, а процессы исполняются каждый в своем пространстве и не могут помешать друг другу; как следствие -- высокая надежность.
  • У Unix довольно простой, разумный и хорошо продуманный интерфейс с пользователем.
  • Хорошо развитые сетевые средства (недаром весь Internet держится на Unix).
  • Большинство компонентов Unix (файловая система, графический интерфейс, межпроцессное взаимодействие и т.д.) сделаны просто и продуманно, и весьма мощны.

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


Linux: что это такое и в чем причины его успеха

Что такое Linux и почему он так популярен

Linux -- это клон Unix, который был создан финном по имени Linus Torvalds в 1991 году для ПК на основе Intel 80386. Он включает в себя все возможности "обычного" Unix.

Torvalds не стал держать Linux "для себя", а пустил его в свободное хождение. Т.е. все компоненты системы доступны в виде исходных текстов и притом бесплатно. Как раз в то время мощность ПК стала достаточной для работы ОС семейства Unix, и Linux "успел вовремя", став едва ли не единственным "серьезным" Unix для ПК (единственным реальным конкурентом в то время был коммерческий BSDI).

Linux обладает следующими достоинствами:

  • Он был написан абсолютно с нуля, и потому не яляется ни SysV-, ни BSD-клоном, "не отягощен" их багажом, и содержит лучшие решения обеих ветвей.
  • Вследствие открытости в разработке принимает участие огромное число людей со всего земного шара, что способствует появлению большого объема разнообразного ПО.
  • Еще одним следствием большого контингента разработчиков является очень динамичное развитие самой ОС, постоянное и весьма оперативное исправление недостатков и ошибок существующего ПО.
  • Linux работает на огромном количестве архитектур -- Intel (ПК), DEC Alpha, Sun SPARC, MIPS (в том числе Silicon Graphics),Motorola 680x0 (Amiga, Atari, VME), PowerPC и других.
  • Как следствие, он "понимает" большое количество файловых систем -- полдюжины Unix'ных, Fat/Fat32 (Dos/Win95), NTFS, HPFS (OS/2), HFS (Mac) и еще некоторые, сетевые NFS, CODA, Samba (Win95) и Novell.


Несколько картинок

Несколько снимков с экрана














Linux: ядро и дистрибутивы.

Linux: ядро и дистрибутивы

Вообще говоря, Linux -- это просто ядро, на основе которого строится операционная система, с которой может работать конечный пользователь. Созданием таких систем (их называют "дистрибутивами") занимается несколько фирм и групп разработчиков, и сами дистрибутивы носят те же названия. Самые распространенные -- Slackware, Debian и RedHat. В ИЯФ в основном используется RedHat.

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

Версия.серия.выпуск
Например, 2.0.36 -- самое свежее "стабильное" ядро; 2.2.1 -- самая последняя версия ядра "для камикадзе". С номером дистрибутива проще -- к примеру, последний RedHat -- 5.2.

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


Если хочется себе поставить Linux...

Если сразу хочется поставить себе Linux...

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

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

Для тех же, кого эти соображения не отпугнут от установки:

  • Linux свободно ставится на один компьютер с Dos/Win95/WinNT, причем его лучше ставить после оных.
  • Требования к "железу": процессор от 486 и выше; ОЗУ от 8М (реально лучше не менее 16); от 200М на диске, хотя весьма "роскошная" установка потянет 500М плюс нужно место для пользовательских данных -- лучше сразу отвести 1G; кроме того, отдельный swap-раздел 30-100М.
  • Ставить лучше RedHat 5.2, взять можно на rdist

    ftp://rdist.inp.nsk.su/pub/Linux/redhat-5.2/i386/
    Там же, по адресу

    ftp://rdist.inp.nsk.su/pub/Linux/redhat-5.2/i386/doc/rhmanual/manual/index.htm
    есть детальное описание процесса установки (с картинками).

Совет
Во избежание сетевых конфликтов с соседями и ОВС не надо ставить такие сетевые сервиса как Samba, Mars, Bind и т.д., достаточно ограничиться telnet, ftp и NFS.


Рекомендуемая литература

Рекомендуемая литература
"Unix без проблем", Л.Шамер, К.Негус; Бином, 1996
Хорошая книга по Unix для начинающих. Подойдет даже тем, кто незнаком с Windows.
"UNIX", Дж.МакМален; М., "Компьютер"
Хорошая книга по Unix для начинающих. Рассчитана на чуть более опытных пользователей, чем предыдущая.
"UNIX - универсальная среда программирования", Б.Керниган, Р.Пайк; М., Финансы и Статистика
Книга для пользователей с программистскими наклонностями.
"Linux: руководство по операционной системе", Р.Петерсен; BHV, 1997
Хорошая книга по использованию Linux (хотя и страдает некоторым формализмом).
"UNIX: руководство системного администратора"; BHV, 1997
"Библия системного администратора" -- море информации о функционировании и настройке множества Unix'ов (правда, конкретно Linux здесь не рассматривается, но это неважно).

Лекции курса по мере прочтения будут появляться на WWW по адресу

http://www.inp.nsk.su/~bolkhov/teach/inpunix/

----------------------------------------

© 1999 Дмитрий Болховитянов