Дуже страшне кіно
Щоб і ви змогли розділити це відчуття, спробую коротко описати, що діялося на моєму десктопі в останні чотири доби. Ні, я не фанатик і зазвичай вимикаю комп'ютер на ніч, але під кінець минулого тижня мені знадобилося максимально швидко завантажити файл дуже солідних розмірів (більше 4 гігабайт). Сказано - зроблено: у консолі було поставлено багатопотокове закачування (prozilla рулить!) і машина працювала без перерви "до переможного". Паралельно на ній виконувались інші завдання: редагувався веб-сайт (Bluefish), писалися тексти в OpenOffice.org Writer і диски в K3b, вважалися електронні таблиці в OpenOffice.org Calc, йшов прийом і відправка кореспонденції в Evolution, спілкування в ICQ, Jabber та IRC через пейджери Licq та Gaim, працювали Scribus, The GIMP та Inkscape, була скомпільована пара програм, працював торговий термінал ММВБ і – час від часу – CounterStrike (останні два завдання вирішуються за допомогою Wine), періодично звучала музика та прокручувалися фільми. Так, а над усім цим пишнотою ширяла стара добра Mozilla (досі не можу звикнути до Firefox), де творилися речі зовсім вже неймовірні. Справа в тому, що я зазвичай відкриваю в браузері пару десятків "вкладок" (табів) і до останнього часу вважав, що нікому не може знадобитися більша їх кількість. І ось у ці чотири дні був осоромлений. Подруга, яка отримала посаду (тссс, по секрету!) головного маркетолога-аналітика у величезному готельному холдингу, зробила мене що називається влегку: працюючи над черговим звітом вона завантажує Мозилу так, що лінійка вкладок не міститься на екрані (це на дев'ятнадцятидюймовому) і йде кудись праворуч межі робочого столу.
Що ж, здається, я не забув нічого важливого і тепер спробуйте уявити себе на моємумісці, коли я, через чотири доби, нарешті, вимикаю комп'ютер, щоб дати йому відпочити. Вимикаю, зауважте, штатним чином, ніяких "ресетів" - спершу закриваю всі програми, потім виходжу з Gnome, командую в консолі halt. Розумна машинка затихає і в тиші, що настала, по мені буквально біжать мурашки: я розумію, що ніякі навантаження не змогли змусити мою систему помилитися. За чотири доби різноманітної та нелегкої праці я жодного разу не знімав "підвислу" задачу і вже тим більше не перезавантажувався, не було жодного критичного збою, та й взагалі помилок, до результату зазначеного терміну програми запускалися так само суперечно, як і на початку, а своп, у який часом йшло до півгігабайта даних, "важить" свої звичайні півста. Я працював і відпочивав, перериваючись на сон і їжу, за робочим столом мінялися обличчя, а мій Лінукс працював без перерви і тепер готовий відпрацювати ще стільки ж без ознак втоми. Скажете, дива та вигадки, скажете - спеціально підібране залізо? Можете повірити на слово, у мене звичайна самозбірна персоналка, компоненти якої підбиралися частіше за ціною, ніж за якістю чи продуктивністю. І в ситуації, описаній вище, не вигадано жодної хвилини. Просто я знаю рецепт, який дозволяє досягти тих же результатів майже на будь-якому робочому столі. Знаючи його, і ви зможете повторити все те саме на своїй машині. Рецепт цей – правильне налаштування Ядра.

Той, хто приходить в Лінукс з інших операційних систем - чи то Microsoft Windows або Mac OS X - спочатку боїться будь-якої згадки про Ядру. І це не дивно, адже для такого користувача ядро операційки - таємниця, прихована за сімома замками, свята святих, доступ до якої мають лише розробники, а самостійна зміна загрожує непередбачуваними наслідками. У Лінуксі все зточністю навпаки: якщо ви хочете, щоб ваша система працювала швидко і без збоїв, вам доведеться своїми руками налаштувати Ядро. Вихідний код Ядра відкритий і доступний всім бажаючим, і саме в ньому укладено чотири п'яті всієї базової функціональності Linux. Тонка настройка системи під ваш мікропроцесор, облік особливостей материнської плати (системного чіпсету), драйвери переважної більшості зовнішніх пристроїв (звук, флешки, вінчестери, мережні карти, ігрові контролери тощо) - за все це відповідає Ядро . Встановивши на свій комп'ютер будь-який дистрибутив, ви отримаєте систему з усередненим ядерцем, налаштованим таким чином, щоб гарантувати працездатність на максимально широкому спектрі обладнання. Зрозуміло, що чекати від такої системи високої продуктивності та надійності не доводиться. Щоб наділити свій робочий стіл цими якостями, вам рано чи пізно доведеться скомпілювати власний варіант лінуксового ядра, заточений саме під ваше залізо. І тут немає обхідних шляхів: якщо адміністратор - ви, одного разу вам доведеться зробити це.
Весь прикладний інструментарій, необхідний компіляції Ядра, зазвичай вже включений до складу більшості популярних дистрибутивів. Але, крім компілятора та бібліотек (яких ви і не помітите) вам знадобляться вихідні тексти самого ядра. У деяких дистрибутивах вони також є (шукайте пакети kernel-sources), але я волію користуватися оригінальними вихідними джерелами з офіційного сервера Kernel.org - де можна вибрати ядро потрібної вам версії. Наприклад, вихідники однієї з найсвіжіших стабільних версій, 2.6.20, лежать у файлі http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2 і займають 41 Мбайт. Завантажте (або попросіть у друзів) файл на свій комп'ютер, розпакуйте його в папку /usr/src/linux-2.6.20 тавідкрийте термінал із правами адміністратора. Скомандуйте (сенс команд, якщо хочете, можна знайти у файлі README, що додається до ядра):
Після цього ви побачите на екрані меню приблизно такого виду:

Важлива частина процесу конфігурації - підключення необхідних драйверів. У секції "Device drivers" вам доведеться вибрати драйвери тих пристроїв, які підключені до комп'ютера. Це і жорсткий диск, і флеш-пам'ять, звукова карта, мережні адаптери та багато іншого. У визначенні того, яке саме залізо встановлено, допоможе утиліта lspci. Уважно вивчіть її висновок і потім просто шукайте ті ж ідентифікатори в налаштуваннях Ядра. Завершивши конфігурацію Ядра, натисніть "Esc", відповідайте ствердно на пропозицію зберегти налаштування і продовжуйте в тому ж терміналі:
make modules_install install
Кожна команда викличе на екран масу малозрозумілих повідомлень, що триватиме близько години (залежно від швидкості PC). Після закінчення цього часу ядро буде скомпільовано та встановлено в каталог /boot (шукайте файли vmlinuz-2.6.20, config-2.6.20 та System.map-2.6.20). Вам залишається тільки вписати посилання на нове ядро в завантажувач системи: додайте до файлу /boot/grub/menu.lst нову секцію за аналогією з тими, що там вже є, перезавантажте комп'ютер і при завантаженні виберіть рядок з новим ядром. Якщо завантаження виявиться перерваною якоюсь помилкою, то вам слід підкоригувати налаштування вашого нового ядра - для цього знову ж таки перезавантажтеся і увійдіть в систему на старому, працездатному ядрі.

От і все. Час, який ви витратите на перше у своєму житті налаштування та компіляцію ядра Linux, сильно залежатиме від вашого рівня знайомства з комп'ютерним "залізом". Якщо ви розумієте, з яких компонентів побудована вашамашина і як вони між собою взаємодіють (хоча б загалом), вам буде набагато простіше. Якщо ні - доведеться в короткий час засвоїти чимало нових знань про внутрішню механіку персональних комп'ютерів. У будь-якому випадку гра коштує свічок. По-перше, продершись крізь ядерні нетрі один раз, ви проробите той же шлях згодом значно швидше (Ядро одне - у всіх дистрибутивах, на десктопах та серверах, на наладонниках та суперкомп'ютерах). По-друге, тільки скомпілювавши власне ядро, ви отримаєте по-справжньому продуктивну та стабільну операційну систему. І, повірте, ви не втомитеся дивуватися і пишатися цим.
Насамкінець - маленька порада. Не намагайтеся оновлювати Ядро після виходу кожної нової версії. Виберіть один раз, ретельно налаштуйте та дайте спокій. Навіть найсучасніші програми працюватимуть із застарілими версіями лінуксового ядра. Плюс Linux не накопичує помилок, тому здатний працювати роками без погіршення продуктивності. Витратьте час, що вивільнився, на більш корисні і приємні речі - наприклад, на відпочинок :-) Успіхів вам!