ГНУ/Линукс

от wiki.linux-bg.org, свободната енциклопедия

Съдържание

Какво е Linux?

Linux е високопроизводителна операционна система, подобна на Unix, която се разпространява под GNU GPL (GNU General Public License). Всъщност, ако трябва да отдадем дължимото на специалистите, от техническа гледна точка, Linux е само ядрото - сърцето, което тупти в дълбините на операционната система, основното “парче код”, от което зависи всичко. Linux-ядрото вече повече от 11 години се развива свободно от труда на хиляди програмисти под координацията на своя създател - Линус Торвалдс и неговия екип.

Ядрото

Ядрото (kernel) се грижи за управлението на хардуера и осигурява средата, която е необходима за работата на приложните програми, адресира паметта, управлява процесите, администрира многозадачните и многопотребителските възможности на системата, а също така съдържа и драйверите за различните хардуерни устройства.

Шел

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

X средата

На един по-популярен език това, което придава пълнотата на Linux, е неговата графична обвивка - системата XFree86 (налага се последно време Xorg, който не се различава много от нея), наречена за по-лесно X11 или просто Х (“хикс”), и огромното море от софтуер, което се разпространява за нея. Всичко това ние също наричаме обобщаващо Linux.

Свободен софтуер

Как така Linux е свободен? Каква е разликата между свободен и безплатен?

В зората на задаващата се ожесточена битка за патенти и лицензионни права между големите софтуерни корпорации, през 80-те години на миналия век Ричард Столмън основава проекта GNU, чиято цел е да разработи програмна среда и приложения, които да не са подвластни на определена компания, а да се развиват от доброволци и на доброволни начала за нуждите на всеки. Проектът цели да запази първоначалния статут на софтуера като предмет преди всичко на свободна творческа и научна дейност, а не на чиста търговия. Основаната от вдъхновителя на проекта Ричард Столман Фондация за свободен софтуер (Free Software Foundation) създава специален лиценз - GPL (GNU Public License), който защитава свободата на софтуера, като го предпазва от присвояване и налагане на ограничения за достъп до изходния програмен текст от страна на търговските субекти.

Лицензът GPL позволява да използваш софтуера без ограничения, да го разпространяваш, дори да го продаваш, но те задължава да предоставяш свободно и без налагането на такси достъпа до изходния програмен текст и промените, които си направил в него. Ето защо, защитниците на този лиценз се противят на схващането, че свободен непременно означава безплатен. Те настояват думата free да се схваща като freedom (свобода), а не като free beer (безплатна бира). Свободен софтуер е този, които позволява на потребителя до го ползва, променя и разпространява без ограничения.

Отворен код

Какво означава, че Linux е с отворен код?

За хората, които досега са ползвали само “затворен” софтуер, изразът “отворен код” звучи малко енигматично. Обяснението всъщност е просто. Програмистите пишат софтуера на различни езици, които си имат свои формални правила и синтаксис. В този вид програмите представляват стандартни текстови файлове, които могат бъдат редактирани с най-елементарен текстов редактор като Notepad. Това наричаме още изходен програмен текст (source). Независимо от използвания език, когато дойде моментът програмата вече да заработи, за да бъде изпълнена от процесора, тя трябва да бъде “преведена” на неговия език и да се превърне в машинен код.

Програмните текстове, написани на C или C++ - най-често използваните езици за съвременните операционни системи, преминават през процес, наречен компилация. Специално приложение - компилатор - ги “превежда” на машинен език и в резултат се получават изпълнимите файлове, наречени още двоични (binaries). Ако се опитаме да отворим един изпълним файл през текстовия редактор, ще видим поредица от неразбираеми символи.

При “затворения” комерсиален софтуер, като MS Windows, ние разполагаме само с крайния резултат - компилирания код, бинарните файлове. Свободният софтуер, съгласно лиценза GPL, се разпространява задължително и със своите изходни текстове (source), а нерядко се публикува и само като изходен текст. Това означава, че ще трябва да си го компилираме сами, за да го използваме. В света на Linux обаче тази процедура е максимално опростена и не изисква никакви познания по програмиране, а средствата за това са също достъпни и свободни. Необходимостта от предоставянето на изходния код е ясна - една програма може да бъде променяна, единствено ако разполагаш с нейния source.

Защо да избера Linux?

Причините са много и могат да бъдат от различно естество. На първо място, недостатъците на Linux са много по-малко от достойнствата. Да оставим финансовите причини, които нямат конкуренция. Ползването на лицензиран софтуер за любителски и професионални нужди в света на отворения код не означава непременно надути разходи. Нещо повече, най-често не е свързано с никакви разходи. Да видим с какво още Linux се отличава от останалите известни операционни системи.

  • Роден в Мрежата. Това означава, че е проектиран да поддържа всевъзможни мрежови протоколи и се стреми към максимална съвместимост с другите платформи като Windows, Apple, Novell и различните стандарти. Неговата сила ще бъде освободена тепърва с превръщането на глобалната мрежа в начин на живот за съвременния човек.
  • С отворен програмен текст. Вече обяснихме какво означава това, но не споменахме защо е толкова голямо предимство. Разработва се от милиони програмисти, програмните грешки и проблемите със сигурността се отстраняват понякога за по-малко от един час (!). Като Unix-система по природа е “имунизиран” от вируси, което обяснява факта защо е предпочитана платформа за предоставяне на интернет-услуги.
  • Свободен е (не непременно безплатен!). Не принадлежи на конкретно лице или компания. Потребителите го ползват без условия и ограничения, а разработчиците могат да се възползват също неограничено от изходния програмен текст и да го променят според нуждите си. Внимание! Те са длъжни да публикуват също без условия направените от тях промени, ако искат да разпространяват или продават софтуера.

За по-професионално ориентираните потребители не е без значение, че Linux е модерна многозадачна операционна система, която поддържа всички хардуерни архитектури - от IBM Mainframe до handheld-компютри.

Linux-дистрибуциите: какво представляват?

Вече споменахме, че Linux е само ядро. Без обвивката и неизброимото множество от приложения то не е особено функционално от гледна точка на потребителя. Още през 1992 г., когато Linux е все още в ранна фаза на развитие и няма много приложен софтуер за него, се появяват първите колекции от предварително конфигурирано и компилирано Linux-ядро в комплект с компилирани програми. Така се раждат първите дистрибуции като SLS, наречена по-късно Slackware, на Патрик Волкердинг, която първо се разпространява на дискети, а след това и на CD.

Днес съществуват десетки Linux-дистрибуции с различен обем и за различни нужди. Някои от тях се разработват напълно доброволно и се придържат стриктно към дефиницията за отворен код като Debian - най-голямата дистрибуция с над 9000 софтуерни пакета. Други се продават за малки или по-големи суми в зависимост от количеството включен в тях комерсиален софтуер. По-скъпа от софтуера често пъти се оказва документацията, без която ръцете са ни вързани. Можете да ползвате безплатно предназначените за домашния потребител или бизнеса дистрибутиви на компании като Red Hat, Mandrake или SuSE, но ако искате да разчитате на поддръжка или да ползвате специални сървърни решения, ще се наложи да заплатите.

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

Има ли идеална дистрибуция?

Силно препоръчвана за начинаещи или въобще за експериментатори, които искат да видят “на живо” истински работещ Linux, без да рискуват целостта на системата си, като оставят харддиска непокътнат, е дистрибуцията Knoppix. Тя е уникална с няколко неща:

  • побира се на един CD, а съдържа над 600 програми за всякакви нужди на една десктоп система, вкл. софтуер за мултимедия и офиспакета OpenOffice.org, а също и програмата Wine, с която можете да стартирате приложения за Windows;
  • не се инсталира върху твърдия диск, зарежда се от CDROM и се разкомпресира в реално време;
  • разпознава и конфигурира автоматично целия хардуер, не се налага да пипате нищо по конфигурацията;
  • зарежда се направо в графичен режим, като използва красивия десктоп-мениджър на KDE3;
  • може да се инсталира върху харддиска и да се превърне в класически Debian - една от дистрибуциите, известни със своята стабилност и професионални качества, но и с трудната си достъпност за начинаещите;

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

Всъщност, дистрибуциите са различни пътища за постигането на една цел. Няма лоша дистрибуция, има лошо стопанисване. Вярно е, някои дистрибуции страдат от хронични заболявания като лакомията за памет или нестабилност на част от софтуера и това е основният критерий, по който дадени потребители избират по-суровите варианти, които обаче често пъти се оказват по-надеждни. Предпочитания и любими дистрибуции има всеки Linux-потребител. В този случай, целта оправдава средствата. Почти всяка дистрибуция може да се използва за всичко, но настройването на Slackware за домашна употреба би отнело повече време и би изисквало повече познания, отколкото при Knoppix.

Външни препратки

Лични инструменти