Linux: швидко, красиво і на шару

Днями вирішив начисто переставити систему на робочому компі, бо назбиралося занадто багато різних останків від моїх експериментів з софтом і вони почали досить відчутно займати місце на диску. Можна було, звісно, почати копатися що і до чого, що можна потерти, а що треба залишити, але як показує досвід — почати все з чистого лиска набагато простіше.

Робочий «ящик» в мене, чесно кажучи, трохи відсталий від життя, але що поробиш — основний клієнт держава, а держава, як відомо, з грошима розстається дуже неохоче. Що таке Celeron 2.66GHz, 512Mb пам’яті і 120Gb диска користувачі домашніх комп’ютерів вже давно забули, а от в офісах це ще не найстаріше, що можна зустріти. Єдине, що радує — PCI Express відеокарта NVidia Geforce 6200, а не якесь інтегроване s3, як в більшості компів з тої партії, і трудом праведним і неправедним нажитий монітор Iiyama PL1902W (люди просто не могли на ньому виставити його рідну роздільну здатність 1440х900, а в Linux'i параметр ModeLine вирішує всі проблеми на раз-два, тому я «зробив ласку» і загріб його собі взамін за звичайний 3:4).

От на цьому залізі мені довелося зробити умови для комфортної роботи для мене любимого і зараз рокажу Вам як.

На протязі останніх кількох місяців мені довелося мати справу з декількома лінуксами: Debian, Ubuntu, Gentoo, ARCH, на прикладі яких я черговий раз переконався, що правильно роблю використовуючи Mandriva (для особливо завернутих випадків — CentOS) — цим я зберігаю собі купу часу і нервів. І це попри те, що для досягнення більшої швидкодії інсталюю я її досить оригінально. Час я вибрав спокійний — останні дні відпустки, забрав робочий хард додому, підключив до домашнього компа, зробив з нього віртуальний диск для VirtualBox'a

 VBoxManage internalcommands createrawvmdk -filename /tmp/work.vmdk -rawdisk /dev/sdf

і підсунув його віртуальній машині разом з DVD-образом Mandriva 2010.1 (він в мене вже з пів року валяється, але 2011.0 ще ніби не вийшов, так що це получається остання версія).

Для максимальної швидкодії я інсталюю лише необхідний мінімум — в конфігурації напроти нього пише «навіть без urpmi», але насправді urpmi таки ставиться. Самі розумієте, що коли ставити всього нічого, а швидкість DVD-привода дорівнює швидкості харда, то все займає досить недовго 15-20 хвилин разом з вказанням параметрів конфігурації. Далі йде перезавантаження і вуаля — мінімальна система готова слухати наші команди. Щоб полегшити собі життя наступним кроком я додаю свого користувача в групу wheel i в файлику /etc/sudoers дозволяю «керманичам» виконувати адміністраторські команди без пароля:

%wheel  ALL=(ALL)       NOPASSWD: ALL

Після цього система не питає пароль на кожен пчих і наступні команди можна писати без задумування

sudo urpmi.removemedia -a
sudo urpmi.addmedia --all-media --distrib --mirrorlist '$MIRRORLIST'
sudo urpmi --update --auto-update

внаслідок чого наша система починає шукати установочні пакети в Internet'i (а там вони постійно найсвіжіші) і встановлює оновлені версії. Це вже тугіший процес, бо на цей раз качає воно зі швидкістю Укртелекомівського ADSL'я, а не харда чи хоча б DVD-шки. Далі треба з мінімальної системи зробити нормальну робочу це робиться в два етапи. На першому інсталюється все, що розробники включили в дистрибутив: графічний інтерфейс X.Org, Midnight Commander — сині панельки в стилі Нортона/Волкова, віконний менеджер IceWM, rox — програма, що відповідає за іконки на робочому столі (насправді не тільки за це, але в мому випадку це основне застосування), CUPS — підсистема друку, Samba — обмін файлами з windows-машинами, офісний пакет OpenOffice, аналог фотошопа GIMP (час від часу треба мати графічний редактор), універсальна багатоформатна читалка Okular (читає PDF, fb2, djvu і багато іншого), писалка по дисках k3b, переглядач картинок gwenview, відео-аудіо-плеєр smplayer, поштовик sylpheed, популярні бровзери SeaMonkey, FireFox, Opera, Chromium (відкрита частина GoogleChrome) — мушу ж я перевірити яким ban.lviv.ua бачать різні користувачіsmileyglibc-devel kernel-desktop-devel libasyncns-devel libavahi-client-devel libavahi-common-devel libcap-devel libdbus-1-devel libdrm-devel libflac-devel libfontconfig-devel libfreetype6-devel libgif-devel libglib2.0-devel libhal-devel libice6-devel libimlib2-devel libimlib-devel libjbig-devel libjpeg-devel libmesagl1-devel libmesaglu1-devel libncurses-devel libogg-devel libpcre-devel libpng-devel libpulseaudio-devel libqt4-devel libsm6-devel libsndfile-devel libsqlite3-devel libstdc++-devel libtiff-devel libudev0-devel libvorbis-devel libwine-devel libwrap-devel libx11_6-devel libxau6-devel libxcb-devel libxcb-util-devel libxdamage-devel libxdmcp6-devel libxext6-devel libxfixes3-devel libxi-devel libxinerama1-devel libxkbfile-devel libxml2-devel libxmu6-devel libxpm-devel libxrandr2-devel libxrender1-devel libxscrnsaver1-devel libxft-devel libxt-devel libxtst6-devel libxxf86vm-devel phonon-devel x11-proto-devel zlib1-devel

швидше за все після установки цього зоопарку компілятор встановиться як залежність, але для впевненості не пошкодить перестрахуватися і заодно встановити допоміжні утиліти

urpmi gcc gcc-c++ make cmake imake binutils sed m4 autoconf automake bison byacc flex

Тепер все готове, щоб наводити остаточний фен-шуй в системі. А для остаточного фен-шую особисто мені було необхідно:

- qutim — багатопротокольна «аська"
— mounttray — іконка в системному лотку, що «маячить» про підключення зйомних дисків і дозволяє їх коректно виключати
— icewmtray версії 1.2.19, через те, що в поточній версії є глюки з відображенням значків в системному лотку
— axkb — візуалізація переключення розкладок (прапорець або назва мови в системному лотку)

qutim інсталюється феноменально просто:

cmake .
make -s
sudo make -s install

mounttray ще простіше:

make -s
sudo cp -a mounttray /usr/bin/

для icewmtray доведеться зібрати весь старий icewm:

./configure --prefix=/usr
make -s 

але замінити тільки його
sudo cp -a src/icewmtray /usr/bin/

axkb дуже схоже, але інсталюємо повністю:

./configure --prefix=/usr
make -s 

make -s install

Також частково, через те, що я робив це все на віртуальній машині, а на реальній залізо зовсім інше, а частково через те, що це дає додатковий приріст швидкості я ще перезібрав ядро з підтримкою заліза моєї реальної машини без модулів. Компіляція ядра нічого екстраординарногособою не являє, а повний розбір всіх опції конфігурації — тема для досить товстенької книжечки, тому тут я нічого з цього описувати не буду. Та й необов’язкове воно при роботі відразу з реальною машиною.

На цьому розділ «домашнє завдання» закінчується — далі є ще кілька штрихів, які потрібно вже робити на реальній машині: змінити конфігурацію під робочу мережу і встановити драйвер відеокарти з сайту nvidia. Взагалі-то Mandriva пропонує встановлювати цей драйвер як пакет, але вони там троха накосячили і він конфліктує з task-x11, через що починають деінсталюватися частина бібліотек, словом починається хаос в системі. А драйвер з сайту зроблений таким чином, що заміняє відповідні файли тихо-мирно і все відбувається набагато швидше і коректніше. Ну і як найпростіший тест того, що драйвер повноцінний з 3d-прискренням і т.д.я собі встановив програмку 3ddesktop — переключалку віртуальних робочих столів зі спецефектами.

На скріншотах результат виглядає отак (клікайте для збільшення):

Переключення робочих столів Різні програми на різних столах Різні бровзери OpenOffice Графічний редактор GIMP

Картинка на екрані дуже подібна на Windows Vista (народ навіть деколи «зависає» на кілька хвилин намагаючись візуально визначити що в мене за операційка), до повного щастя в емуляторі wine запускаю документообіг Lotus Notes, правову базу Ліга:Закон і ще кілька специфічних робочих програмуль — ніяких тормозів порівняно з Windows-машинами немає. Займає це все діло 8.5 гігабайт. Попробуйте встановити таку ж купу софта в Windows'i i подивіться що у Вас вийде ;-)




 

Працює на AutoGenCMS 0.2.6

А чому це всі вирішили, що в сайта має бути шапка?