Invest-currency.ru

Как обезопасить себя в кризис?
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Введение в linux

Введение в linux

Linux (РТПЙЪОПУЙФУСљ— « МЙОХЛУ ») СЧМСЕФУС ЛМПОПН ПРЕТБГЙПООПК УЙУФЕНЩ UNIX, ЛПФПТЩК ТБВПФБЕФ ОБ ВПМШЫПН ЛПМЙЮЕУФЧЕ РМБФЖПТН, Ч РЕТЧХА ПЮЕТЕДШљ— ОБ РЕТУПОБМШОЩИ ЛПНРШАФЕТБИ У РТПГЕУУПТБНЙ Intel 80386 Й ЧЩЫЕ. ч УЙУФЕНЕ Linux ТБВПФБЕФ ВПМШЫПЕ ЛПМЙЮЕУФЧП РТЙМПЦЕОЙК, ЧЛМАЮБС TeX, X Window System, ЛПНРЙМСФПТ GNU C/C++, УФЕЛ РТПФПЛПМПЧ TCP/IP Й НОПЗПЕ ДТХЗПЕ. Linuxљ— ДПВТПУПЧЕУФОБС Й МЕЗЛП НПДЙЖЙГЙТХЕНБС ТЕБМЙЪБГЙС ЙДЕК УЙУФЕНЩ UNIX.

Linux РТЕЧТБЭБЕФ МАВПК ЛПНРШАФЕТ У РТПГЕУУПТПН 80386 Й ЧЩЫЕ Ч ТБВПЮХА УФБОГЙА, ЛПФПТБС ДБЈФ ЧБН Ч ТХЛЙ ЧУА НПЭШ УЙУФЕНЩ UNIX. лПТРПТБГЙЙ ХУФБОБЧМЙЧБАФ Linux ОБ ЧУЕ НБЫЙОЩ УЕФЙ Й ЙУРПМШЪХАФ ЬФХ ПРЕТБГЙПООХА УЙУФЕНХ ДМС ЧЕДЕОЙС ЖЙОБОУПЧПК (ЙМЙ, ОБРТЙНЕТ, ВПМШОЙЮОПК) ДПЛХНЕОФБГЙЙ, ТБУРТЕДЕМЈООЩИ ЧЩЮЙУМЕОЙК Й ХРТБЧМЕОЙС ФЕМЕЛПННХОЙЛБГЙСНЙ. чП ЧУЕН НЙТЕ УЙУФЕНБ Linux ЙУРПМШЪХЕФУС Ч ХОЙЧЕТУЙФЕФБИ ДМС ПВХЮЕОЙС УФХДЕОФПЧ РТПЕЛФЙТПЧБОЙА ПРЕТБГЙПООЩИ УЙУФЕН Й УЙУФЕНОПНХ РТПЗТБННЙТПЧБОЙА. нОПЗПЮЙУМЕООЩЕ ЬОФХЪЙБУФЩ, ЛПФПТЩЕ ЕУФШ РПЧУАДХ, ЙУРПМШЪХАФ Linux ДПНБ ДМС РТПЗТБННЙТПЧБОЙС, РПЧЩЫЕОЙС ЬЖЖЕЛФЙЧОПУФЙ ТБВПФЩ, ЙМЙ ЦЕ ДМС ЙОЩИ ЛПНРШАФЕТОЩИ ЙЪЩУЛБОЙК.

пУПВЕООПУФШ УЙУФЕНЩ Linux Ч ФПН, ЮФП ЬФПљ— УЧПВПДОП ТБУРТПУФТБОСЕНБС ТЕБМЙЪБГЙС УЙУФЕНЩ UNIX. у ОБЮБМБ Й РП УЙА РПТХ Linux УПЪДБЈФУС ЛПММЕЛФЙЧПН ЬОФХЪЙБУФПЧ, ЛПФПТЩЕ ПВЭБАФУС Ч ПУОПЧОПН ЮЕТЕЪ йОФЕТОЕФ, ПВНЕОЙЧБСУШ ФЕЛУФБНЙ РТПЗТБНН, УППВЭЕОЙСНЙ П ОБКДЕООЩИ ПЫЙВЛБИ, ТЕЫБС ЧУЕ РТПВМЕНЩ Ч ПФЛТЩФПН ПВЭЕОЙЙ. ч ЬФПН УППВЭЕУФЧЕ ТБДЩ ЛБЦДПНХ, ЛФП ИПЮЕФ ХЮБУФЧПЧБФШ Ч ТБЪТБВПФЛЕ УЙУФЕНЩ Linux. чУЕ, ЮФП ДМС ЬФПЗП ОХЦОПљ— ЬФП, ЧП-РЕТЧЩИ, ЦЕМБОЙЕ УПЧЕТЫЕОУФЧПЧБФШ ЬФПФ ЛМПО UNIX, Й ЧП-ЧФПТЩИљ— ОЕЛПФПТЩК ОБЧЩЛ Ч РТПЗТБННЙТПЧБОЙЙ.

лТБФЛБС ЙУФПТЙС УЙУФЕНЩ Linux

уЙУФЕНБ UNIX УФБМБ ПДОПК ЙЪ ОБЙВПМЕЕ РПРХМСТОЩИ ПРЕТБГЙПООЩИ УЙУФЕН ЧП ЧУЕН НЙТЕ ВМБЗПДБТС ФПНХ, ЮФП ПОБ РПДДЕТЦЙЧБЕФ ВПМШЫПЕ ЛПМЙЮЕУФЧП РМБФЖПТН Й, ЛТПНЕ ФПЗП, БЛФЙЧОП ТБУРТПУФТБОСЕФУС. оБЮБМП ЕЈ УПЪДБОЙА ВЩМП РПМПЦЕОП Ч ЛПНРБОЙЙ AT&T Ч 70-Е ЗПДЩ, ЗДЕ ПОБ ТБЪТБВБФЩЧБМБУШ ЛБЛ НОПЗПЪБДБЮОБС ПРЕТБГЙПООБС УЙУФЕНБ ДМС НЙОЙЛПНРШАФЕТПЧ Й ФБЛ ОБЪЩЧБЕНЩИ « ВПМШЫЙИ НБЫЙО » ФЕИ МЕФ. у ФЕИ РПТ, ОЕУНПФТС ОБ ОЕУЛПМШЛП ЪБРХФБООЩК ЙОФЕТЖЕКУ Й ПФУХФУФЧЙЕ ЕДЙОПК УФБОДБТФЙЪБГЙЙ, УЙУФЕНБ UNIX ЧЩТПУМБ Ч ПДОХ ЙЪ ОБЙВПМЕЕ ТБУРТПУФТБОЈООЩИ ПРЕТБГЙПООЩИ УЙУФЕН ЧП ЧУЕН НЙТЕ.

нОПЗЙЕ ЖБОБФЙЛЙ ЛПНРШАФЕТОЩИ ЙЪЩУЛБОЙК (hackers) РПМБЗБАФ, ЮФП « UNIX љ— ЬФП чЕЭШ » Й ЮФП ЬФП « ДЕКУФЧЙФЕМШОП оБУФПСЭБС пРЕТБГЙПООБС уЙУФЕНБ », У ВПМШЫПК ВХЛЧЩ. ьФЙН Й ПВЯСУОСЕФУС ТБЪЧЙФЙЕ Й ТБУРТПУФТБОЕОЙЕ УЙУФЕНЩ Linux УЙМБНЙ ЧУЕ ВПМЕЕ ТБУЫЙТСАЭЕКУС ЗТХРРЩ UNIX-ИБЛЕТПЧ, ЛПФПТЩЕ ИПФСФ РТЙПВЭЙФШУС Л УПЪДБОЙА ФПК УЙУФЕНЩ, ОБ ЛПФПТПК УБНЙ ТБВПФБАФ.

нПДЙЖЙЛБГЙЙ УЙУФЕНЩ UNIX УХЭЕУФЧХАФ ДМС НОПЗЙИ ФЙРПЧ ЛПНРШАФЕТПЧ, ПФ РЕТУПОБМШОЩИ Й ДП УХРЕТЛПНРШАФЕТПЧ ФЙРБ Cray Y-MP. вПМШЫЙОУФЧП ЧЕТУЙК УЙУФЕНЩ UNIX ДМС РЕТУПОБМШОЩИ ЛПНРШАФЕТПЧ ЧЕУШНБ ДПТПЗЙ Й ЗТПНПЪДЛЙ. оБ НПНЕОФ ОБРЙУБОЙС ЙУИПДОПК ЧЕТУЙЙ ЬФПК ЛОЙЗЙ (ЖЕЧТБМШ 1998 З.) ЧЕТУЙС UNIX System V ДМС ЛПНРШАФЕТБ У РТПГЕУУПТПН 386 УФПЙМБ ПЛПМП 1500 ДПММБТПЧ уыб.

Linux СЧМСЕФУС ВЕУРМБФОПК ЧЕТУЙЕК УЙУФЕНЩ UNIX, ЙЪОБЮБМШОП ТБЪТБВПФБООПК мЙОХУПН фПТЧБМШДУПН (Linus Torvalds) Ч ХОЙЧЕТУЙФЕФЕ Ч иЕМШУЙОЛЙ. юЕТЕЪ йОФЕТОЕФ ЕНХ РПНПЗБМЙ НОПЗПЮЙУМЕООЩЕ РТПЗТБННЙУФЩ Й ЪОБФПЛЙ УЙУФЕНЩ UNIX. ч РТЙОГЙРЕ, МАВПК УППВТБЪЙФЕМШОЩК ЮЕМПЧЕЛ У ОБЧЩЛБНЙ РТПЗТБННЙТПЧБОЙС ЙНЕЕФ ЫБОУ НПДЙЖЙГЙТПЧБФШ ЙМЙ ЙЪНЕОЙФШ ДБООХА УЙУФЕНХ. сДТП УЙУФЕНЩ Linux ОЕ ЙУРПМШЪХЕФ ОЙЛБЛЙИ РТПЗТБННОЩИ ТБЪТБВПФПЛ, УПЪДБООЩИ ЛПНРБОЙЕК AT&T ЙМЙ ЛЕН-МЙВП ЕЭЈ, ЛФП НПЦЕФ РТЕДЯСЧЙФШ УЧПЙ РТБЧБ ОБ ЙОФЕММЕЛФХБМШОХА УПВУФЧЕООПУФШ. ъОБЮЙФЕМШОБС ЮБУФШ РТЙМПЦЕОЙК ДМС УЙУФЕНЩ Linux ТБЪТБВПФБОБ Ч ТБНЛБИ РТПЕЛФБ GNU , ПУХЭЕУФЧМСЕНПЗП Ч ЛПНРБОЙЙ Free Software Foundation, Cambridge, Massachusetts, U.S.A. фЕН ОЕ НЕОЕЕ, РТПЗТБННЙУФЩ ЧУЕЗП УЧЕФБ ЧОПУЙМЙ УЧПК ЧЛМБД Ч РПУФПСООП ТБУФХЭЙК ЖПОД Linux-РТЙМПЦЕОЙК.

ч ОБЮБМЕ Linux ТБЪТБВБФЩЧБМУС мЙОХУПН фПТЧБМШДУПН ЛБЛ ИПВВЙ. мЙОХУ фПТЧБМШДУ ВЩМ ЧДПИОПЧМЈО УЙУФЕНПК Minix, ДТХЗЙН ЛМПОПН УЙУФЕНЩ UNIX, ТБЪТБВПФБООЩН ьОДЙ фБОЕОВБХНПН (Andy Tanenbaum). рЕТЧЩЕ ПВУХЦДЕОЙС УЙУФЕНЩ Linux РТПЧПДЙМЙУШ Ч ФЕМЕЛПОЖЕТЕОГЙЙ Usenet, ЛПФПТБС ОБЪЩЧБМБУШ comp.os.minix. рТЕДНЕФПН ПВУХЦДЕОЙС ВЩМБ Ч ПУОПЧОПН ЙДЕС УПЪДБОЙС ОБ ПУОПЧЕ УЙУФЕНЩ UNIX ОЕВПМШЫПК ХЮЕВОПК ПРЕТБГЙПООПК УЙУФЕНЩ ДМС ФЕИ РПМШЪПЧБФЕМЕК УЙУФЕНЩ Minix, ЛПФПТЩЕ ИПФЕМЙ ПФ ОЕЈ ВПМШЫЕЗП.

оБ ОБЮБМШОПН ЬФБРЕ ТБЪТБВПФЛЙ УЙУФЕНЩ Linux Ч ПУОПЧОПН УПЪДБЧБМЙУШ УТЕДУФЧБ РЕТЕЛМАЮЕОЙС ЪБДБЮ ДМС ЪБЭЙЭЈООПЗП ТЕЦЙНБ (protected-mode) РТПГЕУУПТБ 80386 . ьФПФ ЬФБР ТБВПФЩ ГЕМЙЛПН ЧЩРПМОСМУС ОБ бУУЕНВМЕТЕ. п ФПН ЧТЕНЕОЙ мЙОХУ фПТЧБМШДУ РЙЫЕФ ФБЛ:

. б ДБМШЫЕ ЧЕМБ РТСНБС ДПТПЗБ: ИПФШ ЬФП ВЩМП ФСЦЈМПЕ Й УЛТХРХМЈЪОЕКЫЕЕ РТПЗТБННЙТПЧБОЙЕ, ОП Х НЕОС ХЦЕ ВЩМ ДПУФХР Л ОЕЛПФПТЩН ХУФТПКУФЧБН, Й ПФМБДЛБ УФБМБ РТПЭЕ. оБ ЬФПК УФБДЙЙ С УФБМ ЙУРПМШЪПЧБФШ СЪЩЛ C, ЮФП ПРТЕДЕМЈООП ХУЛПТЙМП РТПГЕУУ. йНЕООП ФПЗДБ С УФБМ УЕТШЈЪОП РПДХНЩЧБФШ ПВ ЬФПК УЧПЕК ЙДЕЕ УПЪДБФШ « УПЪДБФШ Minix, ЛПФПТЩК ВХДЕФ МХЮЫЕ, ЮЕН Minix ». пФ ЬФПК ЙДЕЙ ЧЕСМП ЗЙЗБОФПНБОЙЕК, ПДОБЛП С ОБДЕСМУС, ЮФП Ч ПДЙО РТЕЛТБУОЩК ДЕОШ С УНПЗХ РЕТЕЛПНРЙМЙТПЧБФШ gcc Ч УЙУФЕНЕ Linux.

дЧБ НЕУСГБ РПФТБЮЕОЩ ОБ ПУОПЧОХА ЛПОЖЙЗХТБГЙА, Й ЪБФЕН ЧЕУШНБ УЛПТП Х НЕОС ХЦЕ ВЩМ ДТБКЧЕТ ЦЈУФЛПЗП ДЙУЛБ (ПО ЙОПЗДБ ДБЧБМ УЕТШЈЪОЩЕ УВПЙ, ОП ОБ НПЕН ЛПНРШАФЕТЕ ПО УЮБУФМЙЧЩН ПВТБЪПН НПЗ ТБВПФБФШ). рТЙНЕТОП Ч ЬФП ЦЕ ЧТЕНС (ЛПОЕГ БЧЗХУФБ 1991 ЗПДБ) С ПФЛТЩМ ДПУФХР Л ЧЕТУЙЙ 0.01: ПОБ ОЕ ВЩМБ УЛПМШЛП-ОЙВХДШ УПЧЕТЫЕООПК, Ч ОЕК ОЕ ВЩМП ДТБКЧЕТБ ЗЙВЛЙИ ДЙУЛПЧ, Й Х ОЕЈ ВЩМП УПЧУЕН ОЕНОПЗП ЧПЪНПЦОПУФЕК. с ОЕ ДХНБА, ЮФП ЛФП-МЙВП ИПФШ ТБЪ ПФЛПНРЙМЙТПЧБМ ЬФХ ЧЕТУЙА. оП Л ФПНХ ЧТЕНЕОЙ С ХЦЕ УЕТШЈЪОП РПЗТСЪ Ч ЬФХ ЙУФПТЙА, Й С ОЕ ОБНЕТЕО ВЩМ ПУФБОБЧМЙЧБФШУС ДП ФЕИ РПТ, РПЛБ С ОЕ РПЛПТА Minix.

оЙЛБЛПЗП УППВЭЕОЙС П ЧЩИПДЕ ЧЕТУЙЙ 0.01 УЙУФЕНЩ Linux ОЕ ВЩМП УДЕМБОП. йУИПДОЩЕ ФЕЛУФЩ ЧЕТУЙЙ 0.01 ДБЦЕ ОЕ НПЗМЙ ВЩФШ УПВТБОЩ Ч ЕДЙОХА ТБВПФБАЭХА УЙУФЕНХ. ч ОЙИ УПДЕТЦБМЙУШ МЙЫШ ЙЪПМЙТПЧБООЩЕ ПВТЩЧЛЙ ЙУИПДОЩИ ФЕЛУФПЧ СДТБ УЙУФЕНЩ; РТЕДРПМБЗБМПУШ, ЮФП Х РПМШЪПЧБФЕМС ЕУФШ ДПУФХР Л УЙУФЕНЕ Minix, Ч ЛПФПТПК ЬФЙ ФЕЛУФЩ НПЦОП ВЩМП ЛПНРЙМЙТПЧБФШ, ЮФПВЩ ЪБФЕН ЙНЕФШ ЧПЪНПЦОПУФШ ЬЛУРЕТЙНЕОФЙТПЧБФШ У УЙУФЕНПК Linux.

5 ПЛФСВТС 1991 ЗПДБ мЙОХУ фПТЧБМШДУ ПВЯСЧЙМ П УПЪДБОЙЙ РЕТЧПК « ПЖЙГЙБМШОПК » ЧЕТУЙЙ УЙУФЕНЩ Linux (ЬФБ УЙУФЕНБ ОПУЙМБ ОПНЕТ 0.02). л ФПНХ ЧТЕНЕОЙ БЧФПТ НПЗ ЪБРХУЛБФШ ОБ ОЕК bash ( GNU Bourne Again Shell) Й gcc ( GNU C compiler), ПДОБЛП РПЮФЙ ОЙЮЕЗП РПНЙНП ЬФПЗП. ьФП ЧУЕ ЕЭЈ ВЩМБ УЙУФЕНБ ДМС ИБЛЕТПЧ. хУЙМЙС ЧУЕЗДБ ОБРТБЧМСМЙУШ Ч РЕТЧХА ПЮЕТЕДШ ОБ УПЪДБОЙЕ СДТБ УЙУФЕНЩ, Б РПДДЕТЦЛЕ РПМШЪПЧБФЕМЕК, ДПЛХНЕОФЙТПЧБОЙА Й ТБУРТПУФТБОЕОЙА УЙУФЕНЩ ЧОЙНБОЙЕ РПЮФЙ ОЕ ХДЕМСМПУШ. й РП УЕК ДЕОШ [2] , РПИПЦЕ, УППВЭЕУФЧП ТБЪТБВПФЮЙЛПЧ УЙУФЕНЩ Linux УЮЙФБЕФ ЬФЙ ЧПРТПУЩ ЧФПТЙЮОЩНЙ, ХУФХРБАЭЙНЙ РП ЧБЦОПУФЙ « ЙУФЙООПНХ РТПЗТБННЙТПЧБОЙА » (Ф.љЕ. ТБЪЧЙФЙА СДТБ УЙУФЕНЩ).

мЙОХУ фПТЧБМШДУ Ч ФЕМЕЛПОЖЕТЕОГЙЙ comp.os.minix РЙУБМ ПВ ЬФПН ФБЛ.

оЕ ФПУЛХЕФЕ МЙ ЧЩ П УМБЧОПН ЧТЕНЕОЙ УЙУФЕНЩ Minix-1.1, ЧТЕНЕОЙ УМБЧОЩИ МАДЕК, УБНПУФПСФЕМШОП РЙУБЧЫЙИ УЕВЕ ДТБКЧЕТЩ ХУФТПКУФЧ? оЕ ОХЦЕО МЙ ЧБН РТПЕЛФ, ДПУФПКОЩК ЧБУ? оЕФ МЙ Х ЧБУ УНЕТФЕМШОПЗП ЦЕМБОЙС РПМПНБФШ УЕВЕ ЪХВЩ П ЪБДБЮХ УПЪДБОЙС ПРЕТБГЙПООПК УЙУФЕНЩ, ЛПФПТХА ЧЩ НПЗМЙ ВЩ ЧЙДПЙЪНЕОСФШ РПД УЧПЙ РПФТЕВОПУФЙ? оЕ ТБЪПЮБТПЧЩЧБЕФ МЙ ЧБУ ФП, ЮФП ЧУЕ Ч УЙУФЕНЕ Minix ОПТНБМШОП ТБВПФБЕФ? еУМЙ ДБ, ФП ЬФП УППВЭЕОЙЕ љ— ДМС ЧБУ.

лБЛ С ХЦЕ УППВЭБМ НЕУСГ ОБЪБД, С ТБВПФБА ОБД УЧПВПДОПК ЧЕТУЙЕК љ— ЛПРЙЕК УЙУФЕНЩ Minix љ— ДМС ЛПНРШАФЕТПЧ 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 (pl ПВПЪОБЮБЕФ patchlevel љ— ЪДЕУШ: РПТСДЛПЧЩК ОПНЕТ ЙУРТБЧМЕОЙК, РТБЧЛЙ), « БУЙНРФПФЙЮЕУЛЙ » РТЙВМЙЦБСУШ Л 1.0. оБ НПНЕОФ ОБРЙУБОЙС ЙУИПДОПК ЧЕТУЙЙ ЬФПК ЛОЙЗЙ (ЖЕЧТБМШ 1998 З.) [3] ЙНЕЕФУС УФБВЙМШОБС ЧЕТУЙС 2.0.pl33 УЙУФЕНЩ Linux, Б СДТБ, ЙНЕАЭЙЕ ОПНЕТ ЧЕТУЙЙ 2.1, СЧМСАФУС ЬЛУРЕТЙНЕОФБМШОЩНЙ.

Читать еще:  Ядро системы unix

вПМШЫЙОУФЧП ПУОПЧОЩИ ОЕЛПННЕТЮЕУЛЙИ РТПЗТБНН, ТБЪТБВПФБООЩИ ДМС УЙУФЕНЩ UNIX, БДБРФЙТПЧБОЩ РПД Linux. йНЕАФУС Й ЛПННЕТЮЕУЛЙЕ РТПЗТБННОЩЕ РТПДХЛФЩ. ч ОБУФПСЭЕЕ ЧТЕНС РПДДЕТЦЙЧБЕФУС ВПМШЫЕ БРРБТБФОЩИ УТЕДУФЧ, ЮЕН ЬФП ВЩМП Ч ЙУИПДОПК ЧЕТУЙЙ СДТБ УЙУФЕНЩ Linux. фБЛ, ОЕПЦЙДБООП ДМС ЧУЕИ, « НБМЕОШЛЙК » ЛМПО УЕНЕКУФЧБ UNIX ЧЩТПУ Й ЪБЧПЕЧБМ ЧЕУШ НЙТ РЕТУПОБМШОЩИ ЛПНРШАФЕТПЧ.

[2] ч 1998 ЗПДХ мЙОХУ фПТЧБМШДУ, ЧЩДЧЙОХЧ МПЪХОЗ Desktop or die!, РТЙЪЧБМ ХДЕМЙФШ ПУОПЧОПЕ ЧОЙНБОЙЕ УПЪДБОЙА РПМШЪПЧБФЕМШУЛЙИ РТЙМПЦЕОЙК.љ— РТЙН. ТЕД.

[3] оБ НПНЕОФ ДБООПК РХВМЙЛБГЙЙ (НБТФ 2004 З.) РПУМЕДОСС ЧЩЫЕДЫБС ЧЕТУЙС СДТБ 2.6.2.љ— РТЙН. ТЕД.

Введение в linux

[Nikolay N. Ivanov (nn at lindevel dot ru)]

Глава1. ВВЕДЕНИЕ

1.1. Что нужно знать

Предполагается, что читатель этой книги должен иметь хотя бы начальные пользовательские навыки при работе с GNU/Linux (умение вводить команды в оболочку и знать основы операционной системы), а также знать язык C хотя бы на начальном уровне. Я посчитал бессмысленным писать еще одну книгу по языку C. Если вы знаете язык C на уровне книги Кернигана и Ритчи «Язык программирования Си», то у вас не будет проблем с изучением материала этой книги.

Если вы знаете язык C++, но не знаете C, ничего страшного. Эти два языка хотя и разные по своей сути, но имеют одну и ту же синтаксическую основу. C++-программисту не надо обладать феноменальной сообразительностью, чтобы разобраться в программе, написанной на C.

Большая часть материала этой книги относится и к другим современным Unix-подобным операционным системам (FreeBSD, например). Если вы еще не знаете Linux, то больших проблем не будет.

1.2. Условные обозначения

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

Примеры команд, вводимых в оболочку выделяются оранжевым цветом и начинаются с символа $ (приглашение командной строки). Вывод команд выделяется жирным шрифтом:

Примеры команд, вводимых от имени суперпользователя (root) выделяются так же, как и обычные команды, только в качестве приглашения командной строки используется символ #

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

1.3. Что нужно иметь

То, что нам нужно иметь, называют инструментарием. Инструментарий программиста зависит от того, какие программы и на каких языках он будет писать. Наш инструментарий будет состоять из: 1) Операционной системы Linux (GNU/Linux) с текстовым редактором; 2) Компилятора с линковщиком; 3) Дополнительных утилит. Ну и конечно же из терпения и усердия.

Для начала нужно иметь Linux (здесь правильнее будет сказать GNU/Linux). Подойдет практически любой современный дистрибутив. Посмотрите, какая версия ядра Linux у вас используется. Наберите в оболочке следующую команду: У меня ядро версии 2.6.10. У вас, скорее всего, будет что-то другое. Дистрибутивы, построенные на ядрах версий 2.4.x и 2.6.x достаточно современные для того, чтобы воспроизвести все примеры в этой книге. Версии 2.0.x и 2.2.x также могут использоваться, но некоторые возможности, описанные в этой книге в этих ядрах не реализованы.

Следующий шаг — компилятор. Мы будем использовать компилятор gcc (не обсуждается!). Практически все дистрибутивы Linux поставляются вместе с компилятором языка C. Вопросы о том, какие программы установлены, как устанавливать недостающие программы выходят за рамки этой книги. Поэтому не буду объяснять, как проверить присутствие в системе компилятора. На начальном этапе обучения версия компилятора не имеет значения. Если у вас есть компилятор gcc, то и линковщик (о том, что это такое, будет рассказано позже) тоже есть (вероятность 99%).

Многие программисты используют различные оболочки для программирования (KDevelop, Glade и прочие). Мы откажемся от этого подхода по двум причинам: 1) это претит идеологии Unix; 2) за всеми этими средами разработки стоят те самые утилиты, которые мы будем использовать непосредственно. Нам на начальном этапе потребуется лишь утилита make.

И, наконец, немаловажная деталь. Текстовый редактор. Здесь на вкус и цвет товарища нет. В мире Unix-систем есть два лагеря: любители Vi и любители Emacs. В настоящее время написано много клонов редактора Vi (Vim, Elvis, GVim) и много клонов (а точнее — расширений) редактора Emacs. И для Vi и для Emacs существуют как консольные так и графические версии. Нет смысла обсуждать преимущества и недостатки этих двух «гигантов». Вам придется самостоятельно выбрать наиболее удобный для вас текстовый редактор. Возможно вам не понравится ни один из них и вы будете использовать что-нибудь наподобие kate или nedit или pico. Между прочим, редактор Pico открывает свой третий лагерь поклонников. Этот редактор, изначально разработанный в Вашингтонском университете для почтовика pine, а затем ставший самостоятельным редактором, уверенно набирает силу в сообществе Unix. Если вы полный аскет, можете попробовать редактор ed (red), который мало напоминает текстовый редактор в современном понимании. Опять же повторюсь, выбор за вами. Я использую консольную версию редактора Vim, но с большим уважением отношусь и к Emacs. Очень важно попробовать оба редактора «в полную силу», а не просто «взглянуть». Только опытный пользователь сможет за видимой неуклюжестью ощутить мощь и удобство. Это одна из важнейших граней идеологии Unix.

Подавляющую часть работы мы будем проводить в командной строке. «Командная строка» — общий термин, подразумевающий собой сочетание терминальной программы и командной оболочки. Терминальная программа (или программа эмуляции терминала), это то, что вы видите на экране, когда работаете с командной строкой. Терминальная программа позволяет пользователю вводить команды и видеть результаты их выполнения. Программа konsole в KDE, например, является терминальной программой. Под терминальной программой запускается командная оболочка (командный интерпретатор или просто shell). Командная оболочка через интерфейс терминальной программы общается с пользователем и выполняет всю основную работу. Bash, Csh, Ksh — это все командные оболочки или, как их еще называют, командные интерпретаторы. В Linux я рекомендую использовать оболочку Bash (Bourne Again SHell). Однако не произойдет ничего страшного, если вы будете использовать другую командную оболочку, например C-Shell (csh), у которой достаточно своих поклонников. Как вы позже узнаете, любая командная оболочка — это не просто исполнитель команд, но и полноценный интерпретатор собственного языка программирования. Чтобы узнать, какая оболочка запущена под терминальной программой, просто наберите команду ps. В одной из строк (скорее всего — в первой) будет написана ваша командная оболочка: В моем случае это bash.

1.4. Обратная связь

Если вы заметили ошибки/опечатки. Или если что-то в этой книге плохо описано, сообщайте об этом по адресу zlp@lindevel.ru или форуме на сайте Lindevel.Ru (http://www.lindevel.ru).

Читать еще:  Текущее время unixtime

Книга распространяется на условиях GNU Free Documentation License. В соответствии с условиями этой лицензии вы можете свободно скачивать и распространять книгу без каких-либо разрешений, но не нарушая и не изменяя условий Лицензии. Если вы хотите поместить копию книги на своем Интернет-ресурсе или просто распечатать — делайте это свободно, как завещал великий Столлман!

Вы также можете вносить самостоятельные изменения в эту книгу. В этом случае я просто прошу сообщать мне об этом.

Часть I Рекомендации связанные с инсталляция

Глава 1 Введение в Linux

Что такое Linux?

Linux это операционная система, которая изначально была создана как хобби молодого студента Линуса Торвальдса из Хельсинского университета в Финляндии. Линус интересовался Minix, небольшим вариантом UNIX, и решил разработать систему превосходящую Minix стандарт. Он начал свои работы в 1991 году, выпустив версию 0.02, и постоянно работал над ней до 1994 года, когда вышла версия 1.0 ядра Linux. Текущей версией ядра является 2.2 (выпущено 25 января 1999 года).

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

Несколько причин использовать Linux.

За него не надо выплачивать лицензионных или авторских отчислений. Даже если бы Линус Торвальдс и владел правом на торговую марку Linux, то ядро и сопутствующее ему программное обеспечение все равно бы распространялось под GNU General Public License. Это значит, что вы можете модифицировать исходные коды и продавать свои программы, но вы все равно должны предоставлять их исходные коды.

Хотя Linux наиболее популярен на платформе Intel, но он может запускаться на большем числе процессоров и различных платформах, чем другие ОС. Тенденции развития программного и аппаратного обеспечения в последнее время заставляют пользователей покупать компьютеры со все большим объемом памяти и размерами жесткого диска. Linux не следует этой тенденции и прекрасно работает на 486 машинах с ограниченным объемом RAM. Linux — это истинная многозадачная система, подобная своему брату UNIX. Она использует сложный, современный метод управления памятью для контроля за всеми системными процессами. Это означает, что если в какой-нибудь программе произойдет сбой, то вы ее просто «убьете» и продолжите работать дальше, как ни в чем не бывало.

Дополнительное преимуществом является то, что Linux свободен от огромного количества вирусов присущих другим ОС. Благодаря GNU GPL и Open Source, практически все программное обеспечение поставляется с исходными кодами.

Позвольте рассеять несколько опасений и сомнений относительно Linux.

Linux все больше и больше используется для работы в компаниях входящих в список Fortune 500, в правительственных учреждениях и у других пользователей как чрезвычайно рентабельное решение. Спросите об этом у IBM, Compaq, Dell, Apple Computer, Burlington Coat Factory, Amtrak, Virginia Power, NASA и миллиона пользователей во всем мире.

Хотя и говорится, что Linux распространяется без поддержки, но в состав любого дистрибутива входит более 12 000 страниц документации. Коммерческие дистрибутивы Linux, такие как Red Hat Linux, Caldera, SuSE и OpenLinux, предлагают поддержку для зарегистрированных пользователей. Вам не придется по шесть месяцев ждать выхода исправлений. Большинство серьезных ошибок (в том числе связанных с проблемами безопасности) исправляются online сообществом Linux в течение часа.

Введение в linux

[Nikolay N. Ivanov (nn at lindevel dot ru)]

Глава1. ВВЕДЕНИЕ

1.1. Что нужно знать

Предполагается, что читатель этой книги должен иметь хотя бы начальные пользовательские навыки при работе с GNU/Linux (умение вводить команды в оболочку и знать основы операционной системы), а также знать язык C хотя бы на начальном уровне. Я посчитал бессмысленным писать еще одну книгу по языку C. Если вы знаете язык C на уровне книги Кернигана и Ритчи «Язык программирования Си», то у вас не будет проблем с изучением материала этой книги.

Если вы знаете язык C++, но не знаете C, ничего страшного. Эти два языка хотя и разные по своей сути, но имеют одну и ту же синтаксическую основу. C++-программисту не надо обладать феноменальной сообразительностью, чтобы разобраться в программе, написанной на C.

Большая часть материала этой книги относится и к другим современным Unix-подобным операционным системам (FreeBSD, например). Если вы еще не знаете Linux, то больших проблем не будет.

1.2. Условные обозначения

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

Примеры команд, вводимых в оболочку выделяются оранжевым цветом и начинаются с символа $ (приглашение командной строки). Вывод команд выделяется жирным шрифтом:

Примеры команд, вводимых от имени суперпользователя (root) выделяются так же, как и обычные команды, только в качестве приглашения командной строки используется символ #

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

1.3. Что нужно иметь

То, что нам нужно иметь, называют инструментарием. Инструментарий программиста зависит от того, какие программы и на каких языках он будет писать. Наш инструментарий будет состоять из: 1) Операционной системы Linux (GNU/Linux) с текстовым редактором; 2) Компилятора с линковщиком; 3) Дополнительных утилит. Ну и конечно же из терпения и усердия.

Для начала нужно иметь Linux (здесь правильнее будет сказать GNU/Linux). Подойдет практически любой современный дистрибутив. Посмотрите, какая версия ядра Linux у вас используется. Наберите в оболочке следующую команду: У меня ядро версии 2.6.10. У вас, скорее всего, будет что-то другое. Дистрибутивы, построенные на ядрах версий 2.4.x и 2.6.x достаточно современные для того, чтобы воспроизвести все примеры в этой книге. Версии 2.0.x и 2.2.x также могут использоваться, но некоторые возможности, описанные в этой книге в этих ядрах не реализованы.

Следующий шаг — компилятор. Мы будем использовать компилятор gcc (не обсуждается!). Практически все дистрибутивы Linux поставляются вместе с компилятором языка C. Вопросы о том, какие программы установлены, как устанавливать недостающие программы выходят за рамки этой книги. Поэтому не буду объяснять, как проверить присутствие в системе компилятора. На начальном этапе обучения версия компилятора не имеет значения. Если у вас есть компилятор gcc, то и линковщик (о том, что это такое, будет рассказано позже) тоже есть (вероятность 99%).

Многие программисты используют различные оболочки для программирования (KDevelop, Glade и прочие). Мы откажемся от этого подхода по двум причинам: 1) это претит идеологии Unix; 2) за всеми этими средами разработки стоят те самые утилиты, которые мы будем использовать непосредственно. Нам на начальном этапе потребуется лишь утилита make.

И, наконец, немаловажная деталь. Текстовый редактор. Здесь на вкус и цвет товарища нет. В мире Unix-систем есть два лагеря: любители Vi и любители Emacs. В настоящее время написано много клонов редактора Vi (Vim, Elvis, GVim) и много клонов (а точнее — расширений) редактора Emacs. И для Vi и для Emacs существуют как консольные так и графические версии. Нет смысла обсуждать преимущества и недостатки этих двух «гигантов». Вам придется самостоятельно выбрать наиболее удобный для вас текстовый редактор. Возможно вам не понравится ни один из них и вы будете использовать что-нибудь наподобие kate или nedit или pico. Между прочим, редактор Pico открывает свой третий лагерь поклонников. Этот редактор, изначально разработанный в Вашингтонском университете для почтовика pine, а затем ставший самостоятельным редактором, уверенно набирает силу в сообществе Unix. Если вы полный аскет, можете попробовать редактор ed (red), который мало напоминает текстовый редактор в современном понимании. Опять же повторюсь, выбор за вами. Я использую консольную версию редактора Vim, но с большим уважением отношусь и к Emacs. Очень важно попробовать оба редактора «в полную силу», а не просто «взглянуть». Только опытный пользователь сможет за видимой неуклюжестью ощутить мощь и удобство. Это одна из важнейших граней идеологии Unix.

Читать еще:  Ошибка 691 при подключении к vpn

Подавляющую часть работы мы будем проводить в командной строке. «Командная строка» — общий термин, подразумевающий собой сочетание терминальной программы и командной оболочки. Терминальная программа (или программа эмуляции терминала), это то, что вы видите на экране, когда работаете с командной строкой. Терминальная программа позволяет пользователю вводить команды и видеть результаты их выполнения. Программа konsole в KDE, например, является терминальной программой. Под терминальной программой запускается командная оболочка (командный интерпретатор или просто shell). Командная оболочка через интерфейс терминальной программы общается с пользователем и выполняет всю основную работу. Bash, Csh, Ksh — это все командные оболочки или, как их еще называют, командные интерпретаторы. В Linux я рекомендую использовать оболочку Bash (Bourne Again SHell). Однако не произойдет ничего страшного, если вы будете использовать другую командную оболочку, например C-Shell (csh), у которой достаточно своих поклонников. Как вы позже узнаете, любая командная оболочка — это не просто исполнитель команд, но и полноценный интерпретатор собственного языка программирования. Чтобы узнать, какая оболочка запущена под терминальной программой, просто наберите команду ps. В одной из строк (скорее всего — в первой) будет написана ваша командная оболочка: В моем случае это bash.

1.4. Обратная связь

Если вы заметили ошибки/опечатки. Или если что-то в этой книге плохо описано, сообщайте об этом по адресу zlp@lindevel.ru или форуме на сайте Lindevel.Ru (http://www.lindevel.ru).

Книга распространяется на условиях GNU Free Documentation License. В соответствии с условиями этой лицензии вы можете свободно скачивать и распространять книгу без каких-либо разрешений, но не нарушая и не изменяя условий Лицензии. Если вы хотите поместить копию книги на своем Интернет-ресурсе или просто распечатать — делайте это свободно, как завещал великий Столлман!

Вы также можете вносить самостоятельные изменения в эту книгу. В этом случае я просто прошу сообщать мне об этом.

Переход на Linux. Введение

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

Различия

Чтобы начать работу с Linux, вы, вероятно, заметите, что Linux упакован по-разному. В других операционных системах многие объекты объединяются вместе и являются частью пакета. Однако в Linux каждый компонент вызывается отдельно. Например, в Windows графический интерфейс является частью Windows. В Linux вы можете выбрать из нескольких графических сред, таких как GNOME, KDE Plasma, Cinnamon и MATE.

На высоком уровне установка Linux включает в себя следующие вещи:

  1. Ядро
  2. Системные программы и файлы, находящиеся на диске
  3. Графическая среда
  4. Менеджер пакетов
  5. Приложения

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

Системные программы и файлы

Системные программы находятся на диске в стандартной иерархии файлов и каталогов. Эти системные программы и файлы включают службы (называемые демонами), которые запускаются в фоновом режиме, утилиты для различных операций, файлов конфигурации и файлов журналов.

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

Сюда входит программа init – самое первое приложение, которое выполняется. Эта программа отвечает за запуск всех фоновых служб (например, веб-сервера), начало работы в сети и запуск графической среды. Эта программа init запускает другие системные программы по мере необходимости.

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

Графическая среда

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

Обратите внимание, что вы не застряли с установленной графической средой. Вы можете изменить ее на другую, если хотите. Каждая графическая среда будет иметь разные функции. Некоторые больше похожи на Apple OS X, некоторые больше похожи на Windows, а другие уникальны и не пытаются имитировать другие графические интерфейсы.

Менеджер пакетов

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

Приложения

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

Например, вы можете использовать браузер Firefox и Thunderbird (для электронной почты). Вы можете использовать LibreOffice в качестве альтернативы Microsoft Office и запускать игры через Steam – программу Valve. Вы даже можете запустить некоторые собственные приложения Windows в Linux с помощью WINE.

Установка Linux

Ваш первый шаг, как правило, заключается в установке дистрибутива Linux. Возможно, вы слышали о Red Hat, Ubuntu, Fedora, Arch Linux, OpenSUSE и CentOS. Это разные и это самые популярные дистрибутивы Linux.

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

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

Если вы новичок Linux и хотите попробовать Linux, мы рекомендуем установить Ubuntu. Есть и другие дистрибутивы, которые вы можете изучить: Linux Mint, Fedora, Debian, Zorin OS, elementary OS и многие другие. В будущих статьях мы рассмотрим дополнительные аспекты системы Linux и предоставим больше информации о том, как начать работу с Linux.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector