хмм. имам чувстовото че не сте много прави, но все тая. аз пък, като друг новак, смятам да му поoбясня това-онова. вие ме поправяйте където греша, като едно истиско сплотено общество
'>
като за начало - linux и windows си приличат МНОГО ПОВЕЧЕ, отколкото най-вероятно предполагаш, въпреки че много хора се опитват да се убедят едни други, че такива прилики, едва ли не, няма. не им вярвай - поразчовъркай windows-а, направи това-онова и ще се убедиш, че от страна на обикновения потребител, приликите са МНОГО. разликите идват от "под капака", както се казва, но те тебе, поне на този етап, не те засягат.
такаа нека започнем с понятията
linux - това е т.нар. "сърце" (или ядро, kernel). противно на очакванията ти, може би, това, че линукс е ос не означава, че е има кой-знае каква функционалност сама по себе си. представи си windows без нито една програма на него - дори и "вградените" , като control panel или пък file manager-а (това, с което разглеждаш файловете и директориите) - той е пракитчески неизползваем за обикновения потребител. но пък от своя страна това предоставя основната функционалност и абстракция, необходима на това странно племе програмистите, за да направят нещата по-красиви и живота ти по-лек и приятен. както почти всичко свързано с linux, *кодът* можеш да свалиш и прегледаш .(рецептата за това как една програма работи - това представялват най-обикновени текстови файлове, които са написани на специален *език за програмиране* - това ще рече нещо като езикът на адвокатите - с техните термини и безкрайни закони - всичко е добре, еднозначно и простично описано. един добре написан код, в по-голямата си част, би трябвало да може да се разбере от всеки, който и грам не разбира от програмиране. ако прегледаш кода на някоя програма може би ще останеш с впечатлението, че някой обяснява като на дебил, супер елементарно и постепенно, как стават съвсем елементарни и подразбиращи се от самосебе си неща. програмирането е общо взето това
'>. ) та въпросното ядро - или по-точно "рецептата" му - можеш да свалиш от kernel.org. като за начало може и да не се занимаваш с такива неща
'>. поне в началото ;P
дистрибуция (distro, distribution) - това е , така да се каже, "сборник" от програми, техните настройки, както и настроиките на самото ядро. обикновено те са напълно безплатни и се разпостряняват безплатно, поне ако си ги свалиш и изпържиш самичък(чка). в повечето случай дискове за поръчване са на символична цена (няколко евро, обикновено по-малко от 10 евро, а понякога и по-малко, сравнено с цената на windows това е направо смешно
'> ). тези "сборници" се поддържат от първоначалните си създатели, както и от фенове на дадената дистрибуция. както често се случва сред феновете, всяка група и групичка, поддържаща различна дистрибуция/идея, си има собствено разбиране за това как една linux система би трябвало да изглежда, какви програми да има, какво да поддъжа, дали да имитира windows и/или mac, дали да е нещо оригинално, колко да се набляга на това или онова и прочее... за това пък и шансът някоя дистрибуция да ти допадне е много голям
'>. не е добра идея да казваш, че линукс не струва, след като някоя дистрибуция не ти е харесала. по-справедливо е да кажеш, че дистрибуцията не струва
'>. както обикновено се оказва, информация за повечето (ако не и всички) дистрибуции можеш да намериш в мрежата, или по-точно - на distrowatch.com .
root
---> root user (=administrator под windows) - за всички дистрибуции, построени върху linux, това е Господ Бог. това е потребител, който може да сменя настройките на потребителите, да им сменя паролите, да се log-ва като който потребител си иска без да му знае паролата, да изтрие каквото си иска; общо взето - да прави каквото си иска.
---> root directory (~my computer в windows) - тука нещата са малко по-различни от windows. няма да намериш cdrom device, няма да намериш c:\ и прочее. не че такива неща няма, но те са КЪДЕТО ТИ СИ ГИ СЛОЖИШ
'>. димьек вместо cd-то да ти не задължително на някаква буква, например e:\, може да се намира в /mnt/cd, в ~/moqta-nezakonno-swalena-ot-internet-muzkika-i-film4eta/moeto-cd/ или просто в /cd. тогава какво точно е root? ами това е най-горната (главната) директория/папка/каталог - /. ако твоите директории/папки/каталози образуват дърво барабар с короната, то най-долу е "коренната" папка.
~ (my documents в windows) - това е твоята лична собствена приватна папка. твоята обител. вместо да се казва толкова дълго и грозно, колкото my documents в windows, тя се казва просто ~. в истинският живот това е сигурно /root или /home/twoeto-ime/ , a ~ просто е пряк път към нея (~). в windows, например, много рядко се налага да отваряш %ROOTDRIVE%/Documents And Settings/Twoeto-Ime/My Documents, ти просто отваряш My Documents. В началото linux не е имал графична среда и се е работело с конзолата, така че е трябвало да измислят някакво съкращение. В повечето гравични среди можеш да срещнеш средният плашещ и мистериозен термин - Home Direcotry - това е просто името на ~ - върпеки, че се чете "тилда", в линукс тя означава домашна папка. за тебе тя е като / (root) за твоя компютър.
потребители и права - тука аналогът с windows в съвсем очевиден. само дето самата идея за многозадачаност и множество потребители е по-добре развита. в windows xp правата се определят на 2 групи - administrator-и и не-administrator-и. техните права са константа и ти не можеш да създадеш, например, потребител, който не може да трие нещата от windows папката, но може да инсталира програми (тоест да може да "бара" program files папката). в linux потребителите относително пак се делят на две групи - Господ Бог и Хората (Останалите). както сам(а) можеш да се досетиш, може да има само един Бог (в нашия случай) и това е root. Хората, както сам(а) несъмнено знаеш, са (създадени) равни, но някои са по-равни от останалите. така са и потребителите в linux. обикновено когато хората направят нещо, те го наричат *свое*. но това е временно понятие - свеото може да бъде променено, откраднато или продадено. тези неща са папките и файловете. всеки файл и всяка папка си имат "собственик" - owner. но те си имат не само собственик, който е техният светая светих, но и групичка от хорица, които може да имат както по-големи, така и по-малки права. естествено, всичко това се настройва/договаря между потребителите. и както се очаква за всяко себеуважаващо божество, тези права не важат за root. той може да преименува, премества, трие и премества каквото си пожелае, когато си пожелае. правата, които потребителите имат, са да четат (преглеждат), пишат (променят) и изпълняват. всеки файл/папка има настройки за тези три неща и за три вида потребители. собственикът, групата и всички останали. за всяка една от тези потребителски групи са настроени тези свойства. това е и причината, поради която не можете да направите това или онова ако не сте root - по подразбиране дистрибуциите настройват root да е собствени на всички папки и файлове, освен тези в /home, като дори самата папка /home е негово притежание. ако не знаеш, /home папката съдържа всички домашни папки на всички потребители, с изключение на root, чиято е /root. потребителските групи варират според различните виждания на хората за диструбуциите, но следват горе-долу една и съща логика. както всичко останало в linux, обаче, след като системата попадне в твоите ръчички (муахаххахах ]:>), можеш да промениш всичко
'>. как да направиш това, обаче, не е точно за начинаещи и ме мързи да описвам. общата логика е да промениш домашната директория на потребителя, да си играеш с правата на всеки потребител (като root не е задъжително да има каквито и да е права, за да прави каквото си поиска - нали е нашият Бог
'> ) и така нататък.
основни папки и тяхното значение
--> / - както споменах, това е root
--> /home - домашната папка на всички домашни папки
'>
--> /home/ime-na-twoq-potrebitel - ТВОЯТА домашна папка = ~
-->/boot - по-добре не пипай тука, ако не знаеш какво правиш. ако преебеш нещо, ос няма да стартира. тука седят нещата, които подкарват твоята ос. разбира се, това зависи от дистрибуцията
--> /bin, /usr/bin, /sbin, /usr/sbin, /usr/local/bin, /usr/local/sbin - това са папките с изпълнимите (binary) файлове. общото правило е, че като видите някаква /bin папка, тя съдъжа изпълними файлове
--> /dev - съкратено от devise(s) - един вид всички driver-и
'> разбира се, не барай, освен ако не знаеш какво точно правиш
'>
--> /etc - не по-малко важна папка. обикновено тази папка, както и всяка друга etc папка (/usr/etc, /usr/local/etc), съдържа настройките на програмите и системата. често ще се налага да пипаш тука, особено файловете /etc/X11/xorg.conf, /etc/fstab, /etc/inittab, /etc/inetd.conf и прочее. първите две са настройките на графичната среда и на дяловете, а останалите може и да не ги пипате като за начало
'>. например от /etc/fstab зависи къде ще се намира cd-то, къде ще се монтират различните дялове и прочее. от /etc/X11/xorg.conf пък зависи с кой(я) клавиш(на комбинация) ще сменяш от български на английски, ще задаваш (но не задължително за всички дитрибуции) основните параметри на hardware-а си и прочее.
--> /lib, /usr/lib, /usr/local/lib, както и всяка /lib папка обикновено съдържа програмните файлове, които не са изпълними, нито пък биха могли да се използват от други приложения (като икони и прочее) - най-често linux-ският вариант на windows-ките .dll файлове - .so файловете. няма да се налага да копирате .so файлове, те или ще си идват където трябва с готови пакети, или ще си ги компилирате (ako не си програмист - това е просто алтернативен метод на инсталация, който е по-бавен, но пък за сметка на това програмите са оптимизирани специялно за твоята машина и често са по-бързи от готовите пакети поради тази причина) от сорс (код - source, code или source code - compile from source / install from source).
--> /usr - това е нещо като program files под windows. предполагам, че е съкратено от нещо като "users' programs' files, not connected to the os/kernel itself" - или на български - "файловете на потребителските файлове, не преяко свързани със самата ос/ядро". при повечето дистрибуции тука ще намерите файловете на всички програми, свързани с конкретната дистрибуция. естествено, всичко е подредено в /usr/bin, /usr/lib, /usr/share, /usr/sbin и т.н. папки. вече обясних тяхното значение. /share папките са същото като Documents And Settings\All Users\Application Data.
--> /usr/lcoal - същата структура и задача като /usr, само че е общоприето тука да се инсталират програмите на потребителя, а в /usr - програмите, тясно свързани с дистрибуцията. ако ще е готов пакет, нека е в /usr, защото системата ще се погрижи за неговото отсраняване; ако ще е програма, инсталирана от сорс, нека е в /usr/local, а кодът (сорсът) й - в /usr/local/src/ime-na-programta - така един вид се знае кое от кого се поддържа. но, разбира се, една програма може да бъде инсталирана и в ~, което също е честа практика. въпрос на вкус. но е малко странно, най-малкото, да се инсталира програма в /dev или /etc - това ще е все едно да инсталирате програма в Windows\System в Windows
'> не че не може, просто е странно
'>
инсталиране от сорс - тъй като всички дистрибуции имат различни системи за инсталиране на пакети, това си остава едниственият универсален начин да инсталирате програма, чиито сорс имате - а това са почти всички програми за linux. може да звъчи трудно, а на практика е ужасно лесно. за сега не е важно да знаете как работят нещата, а как да боравите с тях. в най-общи линии това става със следните три (3) реда в конзолата:
$./configure
$make
#make install
сега и малко обяснения - "configure" е програма, която подготвя програмата за компилиране. с нея можете да настроите програмата по ваш вкус - нещо, което трудно бихте направили с готов пакет. а какви са тези символи пред всеки ред - $ и #? това са стандартни означения за това какъв потребител ви трябва за дадената задача. $ е обикновен потребител, а # - root. как можете да прескочите необходимостта от root? начините са няколко - 1) променяте правата за запис на дадената папка, където програмата ще се инсталира. например /usr/local. 2) инсталирате програмата на място, където вече имате права за запис - ~, ~/local или ~/progs - например. 3) (НЕ се препоръчва) инсталирате програмата като root. Защо не се препоръчва ли? ами защото всеки процес (програма), която стартирате, има правата на потребителя, който я е стартирал. ами представете си, че make скриптът в install частта си решава да изтрие /etc/fstab или да залоупотреби по някакъв начин с вашата система? какво тогава? ами ду*ате! извод: колкото по-малко използвате root, толкова по-добре. сложете минимални права на своя потребител - следвайте програмистката максима да не искате повече, от колкото ви трябва. ако го спазвате, вирус и през крив макарон няма да видите под линукс
'>. как става промяната на директорията за инсталацията ли? ами просто напишете
$./configure --help
и изчетете всичко. после включете опциите, които искатe. например
$./configure --program-prefix=/home/dilyan --enable-gui --with-gtk=2
след това просто компилирате
$make
и инсталирате
$make install
програмата. освен ако не пише друго в README файлът или сайтът на програмта, премахнете ненужните файлове с
$make clean
и когато решите да премахнете програмата, напишете
$make uninstall
и това е цялата "сложнотия". добра идаея е да не премахвате сорсаа докато имате програмата, понеже не се знае дали ще ви се наложи да я преинсталирате или пренсастроите. добра идея е също сорсът да се сухранява в /usr/local/src/ime-na-programa или ~/src. е, гадно става ако се появят грешки при configure - но зависимостите са вече тема за по-напреднали. ако ви се появята такива грешки, просто покажете изходът на configure,малко info за системата ви и програмата, какво сте правили до сега в някои форум, бъдете очтиви и питайте какво да направите
'> най-често обаче ще се налага да инсталирате това-онова
'>
основни команди в конзолата (тука очаквам помощ от драгите съфорумници
'>)
--> копиране на файлове: cp фай-за-копиране път-до-мястото-където-искате-да-го-сложите. повече информация - $cp --help
--> преименоване на файлове: mv файл-за-преименуване ново-име ; $mv --help
--> преместване на файлове: mv файл-за-преместване къде-да-се-премести ;
--> създаване на преки пътища (shortcuts): ln -s път-до-файлът-към-който-да-сочим къде-да-сложим-прекия-път-и-ново-име ; $ln --help
--> четене на файлове: less файл-за-четене ; less --help , man less
--> създаване на нов (празен) файл: touch файл ; touch --help, man help
--> премахване на файлове: rm файл ; rm --help
--> премахване/създаване на ПРАЗНИ папки - rmdir, mkdir
--> преглед на папка: ls ; info ls, ls --help
--> помощ: чрез опцията --help на всяка програма. попринцип това е стандарт и почти всички програми ще покажат кратко описание на опциите и употребата си. по-подробна информация може да се намери чрез програмите за документация man и info. те се наричат още manpages и Texinfo manual, като имената на програмите са съкратени от manual (ръководство) и information (няма да преведа пък ^^ ). техният синтаксис е съответно
$man нещо-за-което-ви-трябва-помощ
примери: man xorg.conf, man inittab, man man
$info нещо-за-което-ви-трябва-помощ
--> местене от папка в папка: cd папка : важни папки: ~ , .., . ; обяснение:
$cd ~
ще отвори домашната ви папка
$cd ..
ако се изпълнили горната команда, най-вероятно ще се озовете в /home. можете да проверите това с
$pwd
тази команда показва къде се намирате в момента. както винаги, можете да научите повече за тези команди чрез cd --help и pwd --help, както и в manpages.
скрити файлове и папки - всички файлове или папки, започващи с . примери : ~/.bash_profile
като първа дистрибуция бих ти препоръчал slackware, понеже там всичко си го настройваш с твойте собствени ръчички. хич не е трудно, а пък като го направиш веднъж, ще се понаучиш малко. като за четиво ти препоръчвам slackbook . попитай бат'гугъл и той ще ти даде адреса. не чети българския превод, защото е непълен. айде мене почна да ме мързи зверски, така че спирам да пиша и ти пожелавам късмет. айде дано след време и ти ме светнеш за нещо