Въведение в Линукс. Възникване на Линукс. История на Линукс. Основни дистрибуции. Основни концепции в Линукс- ядро, потребители, root. Принципи на свободния софтуер. Лицензионни правила GPL.



Линукс, каквато се разбира в повечето случаи когато се говори за нея, е операционна система. Операционната система на кратко е програма, която управлява вашия компютър и неговите устройства. Освен това тя помага да общувате с него – да му задавате команди и да получавате резултатите на монитора или друго външно устройство. Линукс е създаден на базата на друга много популярна в миналото операционна система – UNIX. UNIX е създаден през далечната 1969 година в Bell Laboratories като наследник на друга многопотребителска операционна система – Multics. По това време UNIX е бил уникална операционна система. Написан на изцяло на С, UNIX е бил лесно преносим между различните платформи за разлика от другите операционни системи по онова време, които били писани на асемблер. Точно тази преносимост е била и основния двигател на UNIX и появилите се след него клонинги. Освен това UNIX е бил различен и в друго отношение – той е изграден от множество малки и бързи програми, които взаимодействали помежду си чрез скриптове. Този подход се пази и досега и е различен от подхода предприет от Windows – многофункционални, големи и тежки програми.

Линикс води началото си от MINIX – един от многобройните клонинги на UNIX. MINIX е била също безплатна операционна система и нейният създател Андрю Таненбаум също предоставил нейния кода. Точно на базата на този код е през 1991 е бил създадено и първото ядро на Линукс от студента Линус Торвалдс. Версии на това ядро още може да се намерят за свободно сваляне на адрес http://www.kernel.org/pub/linux/kernel/Historic .

Основната разлика между Линукс и Windows е принципа на отворения код, на базата на който се разработва Линукс ядрото. Софтуер, който се разпространява с отворен код спазва правилата дефинирани в Open Source лиценза.

Първото изискване на OSD (Open Source Definition – Дефиниция на отворения код) е, че всеки пакет с отворен код трябва да се разпространява напълно свободно, като това не изключва негова продажба.

Второто изискване е, че освен програмата, вие трябва да предоставите и изходния код на тази програма. На това се базира и модела на отворения код за подобрение и развитие на софтуера. Получавайки изходения код хиляди програмисти могат да работят над тази програма, да оправят грешки и да добавят нова функционалност.

Третото изискване е променения изходен код да се разпространява по същия начин както и оригиналния.

Четвъртото изискване е, че не може една програма компилирана от променен изходен код да се разпространява под същото име и номер на версията както и оригиналната.

Това основните изисквания на отворения код. Пълния текст може да се намери на адрес http://opensource.org/docs/definition.php . Като цяло основната идея е свободното разпространение и развитие на софтуера.

Последното което ще разкажа от историята на Линукс и отворения код е историята на GNU обществото. Самото означение GNU означава "GNU's Not UNIX" или преведено "ГНУ не е UNIX".

GNU e анонсирана от Ричард Сталман към края на Септември, 1983 година, с идеята да се създаде UNIX – подобна операционна система, която може да се разпространява свободно. Фактически GNU проекта официално стартира през Януари 1984г.

До тогава разпространението на свободен софтуер е ставало без никакви лицензи, което позволило на много компании да използват свободен софтуер за направата на комерсиални продукти. Именно това била причината да се замисли нов лиценз, който би могъл да предотврати комерсиализация и затваряне на продуктите.

Това е така наречения GNU General Public License (GPL) лиценз, който изисква всяка модификация на GPL софтуер също да бъде разпространявана под този лиценз. Това гарантирало, че свободния софтуер, каквото и развитие да търпи, ще си остане свободен.

GPL лиценза е един от няколкото лиценза прилагани при разпространението на свободен софтуер. Другите по често използвани са Artistic License и BSD лиценз. Общото между тях е следното:


След историята на Линукс и отворения код, нека да изясним какво се разбира под операционна система. Операционна система са нарича програма, който управлява компютъра и неговите периферни устройства, като мишка, клавиатура, принтер и др. Операционната система освен това се грижи и за разпределение на ресурсите между отделните програми и потребители.

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

При Windows и DOS част от тези приложения идват с операционната система, но при Линукс не е така. Това е така, защото Ликукс е само ядрото на операционната система. Той може да управлява устройства и задачи, но сам по себе си е абсолютно неизползваем.

Именно за това съществуват Линукс дистрибуции, които съдържат в себе си както ядрото на операционната система, така и приложен софтуер. Всяка една дистрибуция идва с базов набор от най-необходимите програми, като те са еднакви в повечето Линукс дистрибуции. Освен това много Линукс дистрибуции идват и с огромен набор от приложения, които включват браузъри, текстообработващи програми, офис пакети, среди за разработка на приложения, набор от графични среди и т.н. Сега ще се запознаем с някои от по-известните Линукс дистрибуции:


Debian:

Debian е една уникална дистрибуция различаваща се от другите по това, че се издържа от дарения. Той е подходящ за опитни потребители и е една от най-големите (цели 7 диска). Друго характерно при Дебиан е начина на управление на пакетите (това с програмите преди да се инсталират). Пакетната система на Дебиан е толкова развита, че той може да се инсталира от две дискети и стабилна Интернет връзка.


Red Hat:

Red Hat е една от най-разпространените дистрибуции. Нейната инсталация е особенно лесна и е подходяща за начинаещи потребители. Red Hat е първата комерсиална дистрибуция. Едновременно с покупката на Red Hat потребителя получава и часове за поддръжка. Предимство на Red Hat е и това, че се поддържа от повечето производители на софтуер за Линукс. Наскоро обаче Red Hat преустанови свободното изтегляне и поддръжката на не сървърните си версии. За домашни потребители компанията пусна друга дистрибуция наречена Fedora.


SUSE:

Това е немска дистрибуция, която е изцяло локализирана на немски (това не означава, че не може да се използва и на други езици, вкл. и български). Инсталацията е елементарна и подходяща за начинаещи. Като цяло SUSE e една много добра дистрибуция. Тази година SUSE бе закупена от Novel и засега бъдещето на тази дистрибуция не е много ясно.

Slackware:

Slackware е предпочитан предимно от по-напредналите Линукс потребители, които искат да имат максимален контрол над всичко и това да става лесно и бързо. Под "лесно" и "бързо" обаче в Slackware се разбира ръчна промяна на множество конфигурационни файлове. Това прави дистрибуцията не особенно подходяща за начинаещи, въпреки нейната стабилност и сигурност. Освен това Slackware е идениствената дистрибуция от изброените, която не притежава вградено средство за ъпгрейд.


Mandrake:

Mandrake e френска дистрибуция базирана на Red Hat. Тя притежава елементарно средство за инсталация, която освен всичко друго може да работи на български. Като цяло Mandrake се характеризира с лесна администрация и удобен потребителски интерфейс. От изброените тя е най-подходяща за начинаещи.


Въпреки, че всяка една от дистрибуциите има различна целева група, всяка от тях е базирана на Линукс ядрото. Както и всяка програма разработчиците на ядрото непрекъснато добавят нещо ново или усъвършенстват съществуващи функции. Това налага строга и добре дефинирана номерация на версиите на ядрата. Принципа на номерация е следния: всеки номер се състои от три цифри. Първата от тях се променя много рядко, само при принципно различни ядра. Това засега е станало само веднъж – при преминаването от версия 1 към версия 2. Скоро не се очаква преминаване към версия 3. Второ число се променя при съществени промени в текущото ядро. За стабилните версии на ядрата, то винаги е четно, а за нестабилните (testing kernels) – нечетно. Последното число обозначава малко промени в ядрото. В момента се разработват две стабилни версии на ядрата – по-старата 2.4.х и съвременната 2.6.х. Последните версии в момента на писане са 2.4.24 и 2.6.3.

Всяко Линукс ядро е многопотребителско и многозадачно. Това означава, че в един и същ момент на една Линукс машина може да се стартират множество процеси от множество потребители едновременно, без това да влияе по-някакъв начин на изпълнението на програмите. Тъй като Линукс ядрото е наистина многозадачно, то всяка програма се стартира в собствена област от паметта, като евентуален срив в нея не причинява срив в операционната система.

1