много страшен филм
За да можете да споделите това усещане, ще се опитам да опиша накратко какво се случваше на работния ми плот през последните четири дни. Не, не съм фанатик и обикновено изключвам компютъра си през нощта, но в края на миналата седмица трябваше да изтегля файл с много солиден размер (повече от 4 гигабайта) възможно най-бързо. Речено – направено: в конзолата беше настроено многопоточно изтегляне (правила на prozilla!) и машината работеше без прекъсване „до победа“. В същото време на него бяха изпълнени други задачи: уебсайт беше редактиран (Bluefish), текстове бяха написани в OpenOffice.org Writer и дискове в K3b, електронни таблици бяха прочетени в OpenOffice.org Calc, кореспонденция беше получена и изпратена до Evolution, комуникация в ICQ, Jabber и IRC чрез пейджъри Licq и Gaim, Scribus, GIMP и Inkscape работеха, няколко програми бяха компилирани, тра терминалът ding работеше MICEX и - от време на време - CounterStrike (последните две задачи се решават с помощта на Wine), периодично звучеше музика и се превъртаха филми. Да, и над всичкото това великолепие витаеше добрата стара Mozilla (до ден днешен не мога да свикна с Firefox), където нещата се случваха направо невероятно. Факт е, че обикновено отварям няколко дузини "раздели" (раздели) в браузъра и доскоро си мислех, че никой не може да се нуждае от повече от тях. И в тези четири дни той беше засрамен. Един приятел, който получи позицията (шшшт, тайно!) на главен маркетингов анализатор в огромен хотелски холдинг, ме направи, както се казва, лесно: докато работи върху следващия отчет, тя зарежда Mozilla, така че редът от раздели да не се побира на екрана (това е на деветнадесетинчов широк екран) и отива някъде вдясно отвъд работния плот.
Е, изглежда, че не съм забравил нищо важно и сега се опитайте да си представите себе си на моямястото, където след четири дни най-накрая изключвам компютъра, за да си почина. Изключвам го, имайте предвид, по обикновен начин, без "нулиране" - първо затварям всички приложения, след това излизам от Gnome, командвам в конзолата за спиране. Умната машина се успокоява и в настъпилата тишина буквално настръхвам през мен: разбирам, че никакви натоварвания не могат да накарат системата ми да направи грешка. За четири дни разнообразна и упорита работа никога не съм премахвал "висяща" задача и още повече, че не съм рестартирал, нямаше нито един критичен отказ и изобщо грешки като цяло, до края на посочения период програмите бяха стартирани толкова бързо, колкото в началото, а суапът, който понякога отнемаше до половин гигабайт данни, "тежи" обичайните си половин сто. Работих и почивах, прекъсван от сън и храна, лицата на работния плот се променяха, а моят Linux работеше без прекъсване и сега е готов да работи същото количество без признаци на умора. Да кажем, чудеса и изобретения, да кажем - специално подбрано желязо? Можете да повярвате на думата ми, имам обикновен самостоятелно сглобен персонален компютър, чиито компоненти бяха избрани по-често за цена, отколкото за качество или производителност. И в описаната по-горе ситуация не се измисля нито една минута. Просто знам рецепта, която ви позволява да постигнете същите резултати на почти всеки работен плот. Като го знаете, можете да повторите същото на колата си. Тази рецепта е правилната настройка на ядрото.
Всеки, който идва в Linux от други операционни системи - било то Microsoft Windows или Mac OS X - първоначално се страхува от всяко споменаване на ядрото. И това не е изненадващо, защото за такъв потребител ядрото на операционната система е тайна, скрита зад седем ключалки, светая светих, достъп до която имат само разработчиците, а независимата промяна заплашва с непредвидими последици. Всичко в Linuxточно обратното: ако искате системата ви да работи бързо и без грешки, ще трябва ръчно да конфигурирате ядрото. Изходният код на ядрото е отворен и достъпен за всички и съдържа четири пети от цялата основна функционалност на Linux. Фина настройка на системата за вашия микропроцесор, като се вземат предвид характеристиките на дънната платка (системен чипсет), драйвери за по-голямата част от външните устройства (звук, флаш устройства, твърди дискове, мрежови карти, контролери за игри и т.н. и т.н.) - за всичко това е отговорно ядрото. Инсталирайки който и да е комплект за разпространение на вашия компютър, ще получите система със "средно" ядро, конфигурирано по такъв начин, че да гарантира работоспособност на възможно най-широк набор от оборудване. Ясно е, че не трябва да се очаква висока производителност и надеждност от такава система. За да дадете на вашия работен плот тези качества, рано или късно ще трябва да компилирате своя собствена версия на ядрото на Linux, пригодена специално за вашия хардуер. И няма заобиколни решения: ако сте администратор, един ден ще трябва да направите това.
Всички приложни инструменти, необходими за компилиране на ядрото, обикновено вече са включени в повечето популярни дистрибуции. Но освен компилатора и библиотеките (които дори няма да забележите), ще ви е необходим изходният код за самото ядро. Някои дистрибуции също ги имат (потърсете пакетите kernel-sources), но аз предпочитам да използвам оригиналните източници от официалния сървър Kernel.org - където можете да изберете версията на ядрото, от която се нуждаете. Например изходните кодове за една от най-новите стабилни версии, 2.6.20, се намират във файла http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2 и заемат 41 MB. Изтеглете (или помолете приятелите си) файла на вашия компютър, разархивирайте го в папката /usr/src/linux-2.6.20 иотворете терминал с администраторски права. Команда (значението на командите, ако желаете, може да бъде намерено във файла README, който идва с ядрото):
След това ще видите меню на екрана, което изглежда така:
Важна част от процеса на конфигуриране е свързването на правилните драйвери. В секцията „Драйвери на устройства“ ще трябва да изберете драйверите за устройствата, които са свързани към вашия компютър. Това включва твърд диск, флаш памет, звукова карта, мрежови адаптери и много други. Помощната програма lspci ще ви помогне да определите кой хардуер е инсталиран. Внимателно проучете изхода му и след това просто потърсете същите идентификатори в настройките на ядрото. След като завършите конфигурацията на ядрото, натиснете "Esc", отговорете с "да" на подканата, за да запазите настройките и продължете в същия терминал:
направете modules_install инсталиране
Всяка команда ще покаже много неясни съобщения на екрана, което ще продължи около час (в зависимост от скоростта на вашия компютър). След това време ядрото ще бъде компилирано и инсталирано в директорията /boot (потърсете файловете vmlinuz-2.6.20, config-2.6.20 и System.map-2.6.20). Просто трябва да въведете връзка към новото ядро в системния буутлоудър: добавете нова секция към файла /boot/grub/menu.lst, подобна на вече съществуващите, рестартирайте компютъра и изберете реда с новото ядро при зареждане. Ако изтеглянето е прекъснато от някаква грешка, тогава трябва да коригирате настройките на новото си ядро - за да направите това отново, рестартирайте и влезте в старото, работещо ядро.
Това е всичко. Времето, което отделяте за настройка и компилиране на ядрото на Linux за първи път в живота си, ще зависи до голяма степен от нивото ви на познаване на компютърния хардуер. Ако разбирате какви компоненти вимашина и как те взаимодействат помежду си (поне в общи линии), ще ви бъде много по-лесно. Ако не, ще трябва да научите много нови знания за вътрешната механика на персоналните компютри за кратко време. Във всеки случай играта си заслужава свещта. Първо, след като сте си проправили път през ядрената джунгла веднъж, ще следвате същия път по-късно много по-бързо (има едно ядро - във всички дистрибуции, на настолни компютри и сървъри, на преносими компютри и суперкомпютри). Второ, само чрез компилиране на собствено ядро ще получите наистина продуктивна и стабилна операционна система. И повярвайте ми, няма да се уморите да се изненадвате и гордеете с това.
И накрая, един малък съвет. Не се опитвайте да актуализирате ядрото след всяка нова версия. Изберете веднъж, прецизирайте и оставете на мира. Дори най-модерните програми ще работят с остарели версии на ядрото на Linux. Плюс това, Linux не натрупва грешки, така че може да работи с години без влошаване на производителността. Прекарвайте свободното си време за по-полезни и приятни неща - например на почивка :-) Успех!