Mdadm е мой любим приятел но има нещо което дразни ужасно много – периодични проверки и ресинк за сигурност на здравето на RAID масива- например има данни в bad sector-и, което от своя страна смачква машината от към IO. В общи линии след чоплене открих виновниците – кронове които се стартират обикновено около 1ч вечерта всяка неделя. Идеята е ясна – сигурност че масива е в перфектно състояние и няма драми с информацията. Това е добре ама ежеседмично ми се вижда много, затова си го преконфигурирах да се рънва на всяка първа дата от месеца.

За Redhat базираните деривати пътя на крона е /etc/cron.d/raid-check. За Debian базираните дистроци пътя е /etc/cron.d/mdadm. Кроновете от своя страна извикват bash скриптове /usr/sbin/raid-check за CentOS etc и /usr/share/mdadm/checkarray за Debian и приятели. Параметри към скриптовете се взема от /etc/sysconfig/raid-check или съответно /etc/default/mdadm където може да бъде забранен изцяло check-а, което не е много умно като идея.

 

2 бързи RAID 5 съвета

  1. Ако имате RAID 5 система дръжте дисковете в MBR вместо в GPT – поне при мен даде +10 – +15% разлика
  2. Задължително настройте /sys/block/md0/md/stripe_cache_size тъй като по подразбиране е твърде малък. Тука стойностите са според зависи при мен 32768 даде най приличен резултат

Official Iceweasel Icon, used in Debian Package

Използвам Debian от почти 5-6 години вече. Едно от нещата което винаги ме е смущавало е, че хората от Debian team-а са заместили Firefox с Iceweasel. Причината е съвсем идеологическа – тъй като Debian-ци държат да имат напълно 100% свободна дистрибуция а някой компоненти като шрифтове и други неща са собственически в Firefox се използва fork-а в който е освободен от тези неща. Понякога „Ледената Невестулка“ се е държала странно, но никога не съм имал 100% ясно доказателство, че маргинално е различен browser. Поне така беше до вчера. Вчера си направих html5 test на browser-а ми и установих неприятния факт, че правя 10-15 точки по малко от стандартната версия. Изключително неприятно, веднага сверих версиите ми бяха еднакви 18.0.1. От тук нататък нещата са ясни, че ще се завърна към стандартната версия но се чудя защо важни компонентни не работят както се очаква и това не е споменато. Като цяло доста се дразня на фанатизирани идеолози които ще предпочетат 100% отворено решение което дори и да не работи толкова добре колкото трябва ще бъде основно. Това е като да загубя основната производителност на GPU-то за да използвам свободния драйвер за Nvidia вместо този който ми предлага производителя – лично аз не мога да си позволя подобна загуба на производителност. Та нека да се върнем на миграцията от единия на другия browser. Като цяло е доста простичка ако мога да я изброя в няколко стъпки ще наблегна на най важните

  1. Сваляне на правилната версия за вашата архитектура има значение дали ще ползвате x86 или x64 версията за плъгините като флаш и някой други който вече са инсталирани на системата ви. Ако не сте сигурни каква е архитектурата ви може да проверите с uname -m командата в козолата.
wget ftp://ftp.mozilla.org/pub/firefox/releases/$VERSION/linux-$(uname -m)/en-US/firefox-18.0.1.tar.bz2 -O /tmp/firefox.tar.bz2
  1. Разархивиране на browser-a това може да го направите където си искате /home /opt или където душа ви сака лично аз предпочтох /opt
tar jxfv /tmp/firefox.tar.bz2 -C /opt/
  1. Добавяне на линк към стария изпълним файл към новата локация на browser-а
ln -s /opt/firefox/firefox /usr/bin/firefox
  1. добавяне на линк за plugin-ите към новата локация за да можем да гледаме flash клипове и прочие
ln -s /usr/lib/mozilla/plugins /opt/firefox/plugins
  1. обновяване на broser-a по подразбиране
update-alternatives --install  /usr/bin/x-www-browser x-www-browser /opt/firefox/firefox 100
  1. и добавяне на запис за новата програма във вашата система
echo '[Desktop Entry]
Name=Firefox
GenericName=Web Browser
Comment=Surf the internet
Exec=/opt/firefox/firefox %u
Terminal=false
Icon=/opt/firefox/icons/mozicon128.png
Type=Application
Categories=Application;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;
StartupWMClass=Firefox-bin
StartupNotify=true' > /usr/share/applications/firefox.desktop

В общи линии това са стъпките който трябва да следваме. Понеже аз съм мързели и не ми се прави всичко на ръка всеки път си направих следния скрипт.

#!/bin/bash

VERSION='18.0.1'

if [ $EUID -ne 0 ]
then
echo -en "�33[1;31mERROR: Must be a 'root'!!! nUse 'su' or 'sudo ./ff_install' :) �33[0m n"
exit
fi

wget ftp://ftp.mozilla.org/pub/firefox/releases/$VERSION/linux-$(uname -m)/en-US/firefox-18.0.1.tar.bz2 -O /tmp/firefox.tar.bz2

tar jxfv /tmp/firefox.tar.bz2 -C /opt/
chown $1:$1 -R /opt/firefox
mv /usr/bin/firefox /usr/bin/firefox-iw
ln -s /opt/firefox/firefox /usr/bin/firefox
ln -s /usr/lib/mozilla/plugins /opt/firefox/plugins

update-alternatives --install  /usr/bin/x-www-browser x-www-browser /opt/firefox/firefox 100

echo '[Desktop Entry]
Name=Firefox
GenericName=Web Browser
Comment=Surf the internet
Exec=/opt/firefox/firefox %u
Terminal=false
Icon=/opt/firefox/icons/mozicon128.png
Type=Application
Categories=Application;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;
StartupWMClass=Firefox-bin
StartupNotify=true' > /usr/share/applications/firefox.desktop

Важно нещо което пропуснах е че директорията където се намира версията на firefox-а трябва да е на настоящия ви потребител за да може да надграждате версиите без проблеми. Затова горния скрипт трябва да се стартира със атрибут вашия потребител.

./ff_install your_user_name

Както писах наскоро моите хора от Debian преминават на multiarch support. Това само по себе си е хубаво нещо доста неща ще вървят по нормално например някой проблеми с wine на x64 архитектурата ще отпаднат. Понеже моята система е доста по сложно конфигурирана по принцип е sid (unstable) обаче се ползват пакети и от тестинг и с multiarch-а нещата се смазват. Крайно неприятно при това. Та днес ми се наложи да си почистя системата от всички i386 зависимости за да може да палне както хората 🙂

В общи линии процедурата е изключително тривиална. Почистваме пакетите забраняваме i386 архитектурата и живеем щастливо 😉 как се случва това със следната команда по долу. Т.е те са 2, в случай че на някой му е интересно колко пакети е успял да нашие покрай всичките неща дето си е качил реално втората почиства системата.


dpkg -l | grep i386
apt-get remove --purge .*:i386

До тук всичко е ясно с чистичка система сме. Остана само да забраним архитектурата дето ни мачка системата


dpkg --remove-architecture i386

apt-get update

Здравей чист живот.  Ако някой ден не ме мързи ще седна да си напиша pin-овете за приоритети на пакетите като хората че да не се мачка и multiarch-а но като цяло нямам много голямо желание да го правя предпочитам чиста x64 система пред  множество повтарящи се библиотеки.

Моите хора от Debian пак са оцапали гащите със зависимостите. Т.е не са ги оцапали ами са разкарали пакета ia32-libs който е в зависимостите на skype. Няма да коментирам защо им е в зависимостите при положение че е х64 версия 😉 Та в крайна сметка има няколко приложения които директно се трият заради премахването на тоя пакет. За хубаво или лошо няма как да се справя без тях така, че се налага да се възстанови пакета. Най лесния вариант е да се добави testing хранилище и да се даде приоритет на него в общи линии е това в е чак толкова пак това 😀 Стъпките по надолу разглеждат системата когато вече сме я обновили и ia32-libs вече го няма.

1. Добавяме testing хранилище или wheezy- това е кодовото име на следващия stable Debian. В /etc/apt/source.list добавете ред който изглежда по подобен начин


deb http://debian.ludost.net/debian/ wheezy main contrib non-free

2. Даваме приоритет на testing пакетите над тези на unstable хранилищата тъй като към момента пакета все още го има там. Създаваме файлът /etc/apt/preferences.d/apt (това си е лично мой избор) може да е в /etc/apt/preferences вместо /etc/apt/preferences.d/ и му добавяме следното съдържание


Package: *
Pin: release a=testing
Pin-Priority: 1010

3. apt-get update за да обнови новите хранилища и приоритети. Смъквате си skype на ново които към момента е версия 4.0.0.8.1 и си го инсталирате dpkg и след това си поправяте липсващите пакети


dpkg -i skype-debian_4.0.0.8-1_amd64.deb

apt-get install -f

 

В доста общи линии това е процедура за принудително сваляне на версиите на пакетите но аз съм я използвал само за тези за които ми трябва в последствие може дадете приоритет на  ia32-libs ia32-libs-gtk lib32v4l-0 да се свалят само от testing хранилката.