Вашият сервиз за Компютри (Software & Hardware)

Какво е Линукс

20 Септември 2013г.
Какво е Линукс

   В тази секция ще се опитам да обясня какви са разликите между Linux и Windows (който най-вероятно използвате нелегално) и да дам информация, която би била полезна, ако решите да мигрирате от платената операционна система Microsoft Windows към свободния и достъпен Linux.


Какво е Linux?

    Linux е Unix подобна операционна система състояща се от ядро, което се нарича kernel, и допълнителен софтуер, необходим за функционирането и използването на системата. Разработва се под лиценза GNU GPL (General Public License) и се разпространява (в повечето случаи) свободно и безвъзмездно. Ядрото е създадено от Linus Torvalds със съдействието на разработчици от цял свят и е с отворен код. Това позволява на всеки, който има желание да си направи (компилира) собствено ядро на операционната система от изходния код (source code). Kernel-a сам по себе си не е достатъчен, за да използвате операционната система по нормален начин. Необходимо е към него да има и софтуер, или по-точно програми, чрез които да слушате музика, да сърфирате в Интернет, да комуникирате, да създавате документи и т.н. Повечето такива програми са разработени по проекта GNU за създаване и разпространение на свободен софтуер. Съвкупността от ядрото и тези програми се нарича дистрибуция. Видовете дистрибуции в света са хиляди и дори е възможно всеки желаещ и умеещ да си създаде сам своя собствена дистрибуция. Разликите между различните дистрибуции се дължат основно на различните начини за конфигуриране на системата, съвкупността от програмите, които са включени в съответната дистрибуция и начина на инсталирането им. Основното, което е необходимо, за да използвате нормално операционната система Linux, e графичната среда. Възможно е системата да се използва и без такава, но тогава всичко трябва да става чрез въвеждането и изпълнението на команди в конзолата (който е използвал DOS, ще разбере за какво става въпрос). Подобно на разнообразието на програмите за Linux, има и няколко различни графични среди, като основните от тях почти винаги са включени в дистрибуциите и на потребителя му се предоставя възможност да ги изпробва и да прецени коя отговаря по-добре на нуждите и предпочитанията му.
    Ако трябва да бъдем точни, Linux е всъщност само ядрото на операционната система, но това наименование се е превърнало в нарицателно за всички операционни системи съдържащи в себе си Linux ядро. Също както Jeep за SUV моделите. Затова някои хора считат за по-коректно операционната система да се нарича GNU/Linux. Linux - за ядрото и  GNU  - за допълнителния софтуер. Основател на GNU проекта е 
Richard Stallman.

Разлики между Linux и Windows

    Разликите са много и ако си мислите обратното, ще се окажете неподготвени, когато си инсталирате Linux и го стартирате. Сега ще спра на основните различия. Част от другите ще разберете по нататък в тази страница.

  • Както казах в началото Linux e свободен за разпространение, употреба и разработване.

  • Linux е стабилна и сигурна операционна система. Когато го ползвате можете да забравите за страха от вирусите и другите злонамерени приложения. Ще забравите и за омразните сини екрани на Windows.

  • Linux е многопотребителска операционна система. Това означава, че на един компютър с инсталиран Linux могат да се дадат права на няколко потребителя за вход в системата, като всеки от тях има възможност не само да си избере графичната среда, но и да има собствени настройки за почти всички програми, дори и за самия хардуер (резолюция на екрана, начин за възпроизвеждане на звука и др.). Потребителите са с ограничени права за конфигуриране на основните параметри, което увеличава и сигурността на системата. Винаги обаче има един потребител с неограничени възможности и права, който се нарича root. Той е администратора на системата. Не е препоръчително постоянно да използвате този потребител, защото ако объркате нещо, докато сте влезнали в системата като root, това ще се отрази на цялата система. Когато сте в системата като обикновен потребител, няма опасност да я унищожите.

  • Най-разпространените графични среди за Linux са локализирани на много езици, сред които е и българския.

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

  • Видове файлови системи за твърди дискове. В момента са разпространени главно два вида файлови системи за Windows – FAT32 и NTFS. В Linux има много повече файлови системи, като основните от тях са: ReiserFS, Ext2FS, Ext3FS, JournaledFS. Linux e способен да „прочете“ файловете от всички изброени файлови системи, докато Windows може да „чете“ само от FAT32 и NTFS. Файловите системи на Linux почти нямат нужда от де-фрагментиране.

Организация на файловете в Linux

    Главната директория, която включва всички останали директории се нарича root директория и се обозначава като „/“. Забележете начина на обозначението, защото в Linux пътищата на директориите и файловете се изписват именно чрез „/“, а не както в Windows c „\“. Ето пример за път на директория при двете операционни системи:

  • в Windows: c:\windows\system

  • в Linux: /home/user

Единствено потребителя root има неограничени права за четене и запис във всички директории.

Ето един пример как изглежда организацията на директориите в Linux.

Сега ще дам информация за някои от директориите:

  • /root – Тук може да влиза единствено потребителя root. Това е неговата директория. Там са личните му документи и настройките на програмите, които използва.

  • /home – Директорията на потребителите. Всеки потребител има своя поддиректория тук. Примерно директорията на потребителя Иван е: /home/ivan. В нея са разположени неговите документи и личните му настройки. Ако потребителя Иван пожелае, може да ограничи достъпа на другите потребители до неговата директорията (това не важи за root).

  • /dev – Тук се съдържат файлове с инструкции за третиране на хардуера на компютъра. Не се учудвайте, като видите файл /dev/cpu или /dev/cdrom. В тази папка има файлове и за хард-диска и неговите дялове. Диска, който е главен в системата, се обозначава като /dev/hda, а подчинения - /dev/hdb. Дяловете на съответния диск, се обозначават с цифра, по следния начин: /dev/hda1 – това е първия дял. Той се нарича и основен (primary partition). Един хард-диск може да има минимум 1 и максимум 4 основни дяла: /dev/hda1, /dev/hda2, /dev/hda3, /dev/hda4. Бройката на допълнителните дялове е неограничена и зависи само от размера им и размера на самия диск. Първия допълнителен дял естествено ще се нарича /dev/hda5.

  • /mnt – служи за „монтиране“ на дяловете на хард-диска, за да могат да бъдат достъпни за четене и запис. В тази директория трябва да направите поддиректории за всеки дял. Примерно /mnt/hda1 за /dev/hda1, /mnt/hda5 за /dev/hda5 и т.н. Създаването на директория чрез конзолата става с изпълнение на командата mkdir. За да създадете директорията /mnt/hda5, трябва да влезете в директорията /mnt, като напишете cd /mnt, a след това: mkdir hda5. За да монтирате съответния дял в неговата директория, трябва да изпълните следната команда: mount /dev/hda5 /mnt/hda5 (с командата umount можете да го раз-монтирате). Ако след това напишете в конзолата cd /mnt/hda5 ще влезете в дяла /dev/hda5 и ще можете да го използвате. Командата ls служи за изваждане на списък с файловете и поддиректориите в съответната директория. Аналог е на досовската команда dir. По нататък ще се спра по-подробно на работата с конзолата. Сега само ще добавя, че повечето дистрибуции още при инсталацията си откриват дяловете на хард-диска и си ги монтират автоматично. Ако това не се получи при вас, винаги може да направите така, че дяловете да се монтират автоматично при стартиране на системата, като редактирате файла /etc/fstab. Това е таблица, която оказва кой дял какъв е, къде трябва да се монтира и какви са възможностите за чете и запис върху него. Ето как изглежда този файл при мен:


# /etc/fstab: static file system information.
#
# <file system> <mount point>       <type>      <options>                                                      <dump>  <pass>
proc                  /proc                    proc           defaults                                                              0           0
/dev/hda5          /                           reiserfs        notail                                                                 0           1
/dev/hda6          none                     swap          sw                                                                     0           0
/dev/hdc            /mnt/dvdrom         iso9660      ro,user,noauto                                                   0           0
/dev/fd0            /media/floppy0      auto            rw,user,noauto                                                  0           0
/dev/hda8          /mnt/storage          auto           users,gid=1001,umask=0002,utf8=true              1           0
/dev/hda1          /mnt/win                auto           users,gid=1001,umask=0002,utf8=true              1           0

        Повече за дяловете в Linux можете да разберете от тук.
  • /etc – в тази директория се намират конфигурационните файлове за управление на системата. Най-важните от тях имат разширение .conf и могат да се редактират чрез всеки текстов редактор. В зависимост от дистрибуцията, която изберете, може и да не ви се наложи да се занимавате с това. Повечето дистрибуции си имат графични инструменти, в които просто трябва да цъкнете няколко отметки и да въведете няколко думи, а редакцията на самия .conf файл става автоматично. Това се отнася и до файла /etc/fstab. Мисля да не се спирам по-подробно върху останалите директории. Ще кажа само, че всяка от тях си има определена цел. Ако искате да прочете допълнителна информация за директориите в Linux, вижте това.

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

Опериране с конзолата

    Конзолата е терминален прозорец, който служи за въвеждане и изпълнение на команди. Това е начина да „комуникирате“ директно със системата. В зависимост от дистрибуцията, която изберете, повече или по-малко, но със сигурност ще ви се наложи да използвате конзолата. Ще покажа кои са някои от основните команди, които трябва да знаете.
    Както казах по-горе, чрез командата cd можете да влезе от една директория, в нейна поддиректория. Примерно, ако сте в директорията /mnt, и искате да влезете в/mnt/hda1, пишете cd hda1. Aко обаче сте в /home/ivan и искате да получите същия резултат, е най-добре да напишете директно: cd /mnt/hda1. Ако искате да излезете от една директория, трябва да напишете „..“или „cd ..“ (без кавичките). Ако искате да отидете в най-главната директория, е достатъчно да напишете „cd /“. Ето и други основни команди:

  • ls показва списък на съдържанието на директорията.

  • mkdir (съкратено от make directory) създава нова директория.

  • cp (съкратено от copy) служи за копиране на един файл от една директория в друга. Ако искате да копирате файла music.mp3 от директорията на Иван в hda1, трябва да напишете: cp /home/ivan/music.mp3 /mnt/hda1.

  • mv (съкратено от move) – за преместване на файлове. Използва се както cp.

  • rm (съкратено от remove) – изтрива файлове. Използване:

    rm /home/ivan/music.mp3

       Още за командите в конзолата можете да разберете тук.
  • ВНИМАНИЕ! Сега е момента да уточня, че в Linux е от значение дали името на даден файл е от малки, големи букви или комбинация от двете. Ако в по-горния пример файлът се казва Music.mp3 или MUSIC.mp3, то той трябва и да се изпише по съответния начин.

    Забележка: Много често файловете имат много дълги имена. Но има и добра новина – можете да използвате клавиша Tab на клавиатурата по следния начин:

    Пример:

    Искате да преместите файла /home/ivan/mnogodalagfile.mp3 в /mnt/hda1. Tогава пишете mv /home/ivan/mno и натискате табулацията. Името на файла ще се доизпише автоматично. Обаче ако в същата директория има още един файл, чиито първи букви са същите, ще трябва да натиснете табулацията 2 пъти. Тогава ще се покаже списък с всички файлове, които започват по този начин. С други думи ако в директорията са следните фалове: mnogodalagfile.mp3 и mnoxyz, в горния пример просто трябва да напишете mv /home/ivan/mnog и тогава да натиснете табулацията.


Инсталиране на програми в Linux

    За разлика от Windows, в Linux (в повечето случаи) едно програмно приложение не е само за себе си и не може да се инсталира самостоятелно. Често то е в зависимост от още 2-3 приложения, които пък от своя страна може да са зависими от други 2-3 приложения. Но това да не ви стряска, защото всяка дистрибуция си има начин за автоматично разрешаване на зависимостите.

    Има различни начини за инсталиране на дадена програма според начина, по който е приготвена за инсталация. Това зависи и от вида на дистрибуцията. Еднакъв начин за инсталиране на програми за всички дистрибуции е компилирането от изходен код. В този случай се сваля файл примерно с име filename.tar.gz. Това всъщност е архив, в който е компресиран изходния код на съответното приложение. След това архивът трябва да се разархивира чрез някой графичен инструмент или чрез изпълнение на командата

tar -zxvf filename.tar.gz

    Тогава се създава нова директория, примерно с име filename, където се разархивира изходния код. Следващата ви стъпка е да влезете в тази директория и да потърсите за някой файл примерно с име readme или install, където да са написани подробни инструкции за инсталацията и какви други приложения са необходими да имате инсталирани на системата, за да инсталирате съответното приложение. Най-често компилирането от изходен код става по следния начин:

  • ./configure – започва изследване на системата ви, проверяване на зависимостите и дали е възможно инсталирането. Ако нещо ви липсва, ще ви бъде съобщено

  • make – подготовка на приложението за инсталиране

  • make install – инсталиране на приложението. За да изпълните тази команда, обаче трябва да имате администраторски права. За да ги получите, трябва първо да напишете:

    su (съкратено от super user)

    паролата на root (ако докато я пишете не ви излизат нито букви, нито звездички или каквото и да е било друго, не се стряскайте. Това не означава, че нищо не пишете.)

    Едва като влезете като su, можете да продължите с make install.

    Има т.нар. „пакети“ с програми за дистрибуциите.

  • SuSE, Mandriva (бивш Mandrake), Fedora Core, Red Hat например използват .rpm пакети. Инсталират се чрез командата rpm -i ime_na_paket.rpm или чрез съответния графичен инструмент наличен в дистрибуцията.

  • Debian, Ubuntu, Mepis и всички останали Debian базирани дистрибуции използват .deb пакети, които се инсталират така: dpkg -i ime_na_paket.deb

        Още за инсталирането на програми в Linux тук.

Графични среди в Linux

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

  • KDE – Любимото ми. Лично на мен много ми харесва. Недостатък е, че изисква доста системна памет и бърз процесор. Има разнообразни теми и приложения за промяна на външния вид. Красота за сметка на ресурси. Ето как изглежда десктопа ми, когато съм с KDE.

  • GNOME – много добра графична среда. Лека е, не тормози компютъра. Изчистена, лесна за използване, но според мен, не е приятна за окото. Така изглежда един GNOME.

  • XFCE – Още по-лека от предишната, но и с по-ограничени възможности. Така изглеждаше моето XFCE.

  • Enlightenment – също е лека, интересна е, но е много специфична и необичайна. Ето как изглежда.

        Ако искате да получите допълнителна информация за различните десктоп среди и мениджъри на прозорци, кликнете тук.


Мога ли да използвам програми създадени за Windows под Linux?

    Да, можете! Инструмента за тази цел се нарича wine и се разпространява свободно. За съжаление, обаче не всички програми могат да тръгнат чрез него. От Microsoft всячески се стремят да ограничат тази възможност. Друг подобен инструмент е Crossover Office, но той не е безплатен.


Мога ли да играя игри за Windows под Linux?

    Отговора отново е положителен. Това става чрез Cedega. Програмата е платена, но може да ви излезе безплатна, ако си я компилирате сами от CVS. Всъщност някои Windows-ки игри си имат версии и за Linux, като Quake3, Doom3 и др. но за съжаление списъка не е никак дълъг. Е, има и много игри със свободна употреба, разработени специално за Linux. Още информация тук.


Коя дистрибуция да избера?

    Нямам представа, колко са наброй в света, но ще ви кажа как да се ориентирате. Влезте в http://distrowatch.com/ и в дясно на страницата ще видите кои са най-често използваните дистрибуции. Там има и препратки с допълнителна информация за тях и към главните им Интернет страници. Щом като някоя дистрибуция е много разпространена, явно е лесна за използване.

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

  • Mandrake (Mandriva) – първия ми Linux. Има графична инсталация, която може да протече и на български език. Лесна е за използване, има много графични инструменти за конфигуриране на системата. Има 2 версии – платена и свободна. Последната се нарича Mandriva Linux Free. Разпространява се на 3 диска. За инсталация на нови програми и автоматично разрешаване на зависимости се използва инструмента urpmi.

  • SuSE – препоръчвам я на прохождащите в света на Linux. В нея е вграден графичния инструмент YaST, чрез който можете да настроите абсолютно всичко. Също има графична инсталация на български език. Разпространява се на 5 диска. Има две версии - платена и свободна. Последната можете да изтеглите от тук. При инсталиране на допълнителен софтуер, ако необходимите програми ги има на 5-те диска, зависимостите се разрешават автоматично от YaST. Обаче, ако ги няма, ще трябва сами да си намерите необходимите приложения и да ги инсталирате. Все пак имате възможност да добавите дебианския инструмент apt-get и графичната му обвивка synaptic за да ви разрешава зависимостите.

  • Fedora Core – проект на Red Hat със свободно разпространение и използване. Също има графична инсталация на български език. Аз не останах с добри впечатления от тази дистрибуция. Стори ми се твърде специфична и не се занимавах много с нея. Инструмента за добавяне на софтуер се нарича yum. Разпространява се на 4 диска.

  • Ubuntu – бърза, лека и приятна дистрибуция. Базирана на Debian. Няма графична инсталация, но това не означава, че се инсталира трудно. Разпространява се на 1 диск, но след инсталацията може да избирате хиляди допълнителни програми за инсталиране от Интернет чрез apt-get и synaptic. Инсталира се само с една графична среда – GNOME, но после можете да си добавите каквото ви хареса. Иначе има и вариант с KDE, който се нарича KubuntuТук можете да получите информация на български език. 

  • Debian – разпространява се на 14 диска. Е, не е необходимо да ги сваляте всичките. Достатъчни са и първите 3. Аз се спрях на варианта за инсталиране чрез Net Install CD – съдържа ограничен състав от програми, достатъчни да подкарате инсталацията и да си свалите всичко останало, което ви е необходимо от българските огледални страници. Нужно е обаче да имате високоскоростна Интернет връзка. Няма графична инсталация, но не е твърде сложна. Все пак не препоръчвам дистрибуцията за начинаещи. Винаги има 3 версии: stable, testing и usntable. Ако не внимавате какви ги вършите, ще стане голяма каша. Тук можете да получите информация на български език. Допълнителен софтуер от Интернет се инсталира чрез командата apt-get, като автоматично се разрешават зависимостите. Synaptic е графична обвивка на apt-get. Спрял съм се на тази дистрибуция. Засега...

    Повечето дистрибуции имат демонстративни версии, които се стартират от CD и ви дават възможност да се запознаете със системата, преди да я инсталирате. Наричат се Live. В Интернет дистрибуциите се разпространяват като .ISO файлове – CD Images. Записват се директно на CD. Най-често това се извършва чрез Nero, където има опция, която се намира във File > Burn Image to disk. След това компютъра се настройва да стартира от CD-Rom устройството и зареждането започва.

    Tilix е българска Live дистрибуция, която също може да се инсталира на компютъра. Изцяло на български език. Базирана е на Ubuntu. Можете да започнете от нея. Особено ви я препоръчвам, ако сте зле с английския.

      VS Live e друга българска дистрибуция подобна на Slackware. Също е изцяло на български и може да се инсталира на хард-диска.

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

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


Сподели
В момента разглеждате олекотената мобилна версия на уебсайта. Към пълната версия.