Календар

February 2012
M T W T F S S
« Jan    
 12345
6789101112
13141516171819
20212223242526
272829  

Проблеми след ъпгрейд на WordPress към версия 2.7 (и нагоре)

WordPressПреди време, когато преминавах от версия 2.6.х към 2.7.х видях голям зор да оправя производителността. Ефекта след ъпгрейда беше, че зареждането на която и да е от страниците на блога, включително и admin достъпът бяха потресаващо бавни. Като пиша “потресаващо” имам в предвид забавяне от порядъка на 2 до 3 минути. Зора се изразяваше предимно в това, да изтърпя безумно бавното зареждане, за да мога все пак да натрупам някакво впечатление за проблема и да направя малко тестове. Поведението беше еднакво и при всичките операционни системи с които тествах, както и с няколкото браузъра с които правих опитите. Бавно, та чак да ти се доплаче. Иначе, отдавна всеки един ъпгрейд на WordPress протича, като по мед и масло. Очевидно, проблемът беше в самият WordPress, но със сигурност не и само в него. Толкова сериозен проблем, просто няма как да е останал незабелязан. Очевидният заподозрян бяха правата върху различните директории, но в този случай, просто ключът от палатка не беше в това.

След известно ровичкане из Мрежата, в крайна сметка намерих разрешението. И оправих всичко, както си беше преди – пъргаво и бързо. Сайта направо хвърчеше! Пределно доволен от резултата, все едно някой ми “дръпна казанчето” и всичката информация за това, как се оправяха нещата изтече в канала. Даже в добавка, някак си се изхитрих да забравя, че изобщо е имало проблем с ъпгрейда.

Днес минавам от версия 2.7.1 към 2.8.2 и …. направо щях да се гръмна! В момента, в който зареждането на admin страницата ми “удари” 30-тата секунда, цялата случка с предишният ъпгрейд се стовари отгоре ми. А като капак на всичко и грам идея нямах в главата си, как се справих предишният път. Все пак, търсенето на решението не отне тол΀ºова време, колкото предишният път, още повече, че имах и малко повече вътрешна информация за хостинга на СпектърНет. За да си спестят неприяπ‚ности с атаки от техни клиенти, както и вируси, които се правят  на какво ли не, колегите просто бяха забранили трафикът през изходящ порт 80 за целият хостинг сървър. Не коментирам целесъобразността или елегантността на решението им, всеки се справя както може. Понякога бързината за справянето с проблема е по-важна от удобството на клиентите. Нещо, като ампутация на крак в полеви условия.

Файлът, който трябва да се пипне е http.php намиращ се в директория wp-includes. Функцията request, която е добавена във версия 2.7 (и по-късни) просто не получава необходимата информация (забранен порт 80) и генерира гадното забавяне от 2-3 минути. Решението е елементарно, въпросната функция просто се шунтира.

Промяната за версия 2.8.2 е следната: просто под ред 218 добавяте едно return;

218: function request( $url, $args = array() ) {
219: return;
220: global $wp_version;

Не е много коректно, но така или иначе функционалността на тази функция е отрязана от хостинга, поне да не пречи. Естествено, ако вие имате подобни грижи, може да опитате да се преборите с вашият доставчик да върне функционалността на сърръра. Лично аз избрах по-лесният път. Това, което се загуби, като функционалност на WordPress-a беше, че Dashboard-ът престана да си обновява информацията.

Ако някой иска да задълбава в технически подробности, да му спестя малко гугленето – просто да натисне тук.

Допълнение: всъщност, най-голямата загуба на функционалност е невъзможността на спам филтърът Askinet да работи коректно. За голямо съжаление той също използва fsockopen и порт 80. Явно, май ще се бяга при друг доставчик…..

Инсталиране на NTFS-3g под Debian Etch

Последният ъпгрейд, който направих от Ubuntu 7.x (Feisty Fawn) към Ubuntu 8.x (Hardy Heron) си беше направо здраво зачукване. Не защото самият процес мина с някакви проблеми (отдавна всичко става с едно цъкане на бутона “Upgdate”), ами по-скоро заради бъгавата дистрибуция. Естествено, не искам да отговарям на въпроса “…кой те би по главата, че да се ъпгрейтваш?” :) Все още (наивно) си мисля, че когато някой пуска “издание” (версия, както и там да му се вика) това трябва да е по-внимателно и с повече акъл. Сещам се, че преди доста време имах подобни проблеми при преминаването от Fedora 3 към Fedora 4 – и там имаше големи фойерверки. Затова се реших да премина към Debian Etch, Desktop инсталация, ей така, просто за проба за да се уверя, дали дядото на всички Linux-и е толкова стабилен.

Както и да е…. сега по темата. Debian-а по рождение си няма почти нищо (да знаете, че даже и gedit си нямате Gnome) – точно затова е бърз (и стабилен), като заек по нанагорнище. Не му тежи нищо и в сравнение с тромавото Ubuntu, а разликата в скоростта е направо потресаваща (естествено, за една и съща машина). Обаче, ако ви се прииска да четете и пишете в NTFS дял от вашият диск, ще трябва съответно да си сложите и поддръжка за това. Очевидният вариант да си добавите хранилището с пакетите при мен не проработи. Въпреки това, добре е да имате ntfs-3g за автоматично обновяване, най-малкото за да може да сте в крак с поправките, които излизат от време на време за него.

Първо си слагате GPG ключа:

sudo apt-get install debian-backports-keyring

После добавяте хранилището в sources.lst

sudo echo deb http://www.backports.org/debian etch-backports main contrib >> /etc/apt/sources.lst

и после да не забравим apt-get update, след което правим

sudo apt-get install -t backports ntfs-3g

Както написах малко по-горе, тук при мен се получи грешка, затова инсталираме малко по-нова версия на FUSE (Filesystem in User Space), защото наличната в Etch е 2.5.3-4.4, a се изисква libfuse2 да бъде над 2.6 (нормално, ‘кво толкова!). Продължаваме:

sudo apt-get install fuse-utils libfuse2

дърпаме си малко NTFS-3g. Имайте в предвид, че последната стабилна версия е от Март, миналата година. Не ви съветвам да експериментирате с нестабилни версии на файлови системи, това е все едно да си играете на руска рулетка – все някога ще гръмне.

wget http://snapshot.debian.net/…/libntfs-3g0_0.0.0+20061031-6_i386.deb

wget http://snapshot.debian.net/…/ntfs-3g_0.0.0+20061031-6_i386.deb

инсталираме ги

sudo dpkg -i libntfs-3g0_0.0.0+20061031-6_i386.deb
sudo dpkg -i ntfs-3g_0.0.0+20061031-6_i386.deb

и…. това е. Остава само да монтирате файловата си система. Не забравяйте, че използването на UTF8 поддръжка за файлови имена си е направо задължително. Т.е. става дума за следното монтиране (примерно) за проба, дали сме направили каквото трябва:

sudo mount -t ntfs-3g /dev/sda1 /mnt/ntfs -o umask=0,nls=utf8

след което може да го добавим и в /etc/fstab

/dev/sda1 /mnt/ntfs ntfs-3g umask=0,nls=utf8 0 0

Естествено, всеки да си сложи, каквото смята за добре параметри при монтирането…. За най-мързеливите ето и нещо “по-шарено”: ntfs-config.

Клъстер в чекмедже

Днес случайно, ровейки из мрежата за клъстерни решения попаднах на един доста интересен проект: Helmer story – A linux cluster in a IKEA Helmer cabinet. Въпросният шкаф си е най-обикновен канцеларски шкаф (28х43х69 см) с шест броя чекмеджета, т.е. дотук нищо особено. Интересното е, че за скромната сума от $3500 (направо си е нищо, имайки в предвид крайният резултат), въпросният пич (Janne, май на български трябва да е Жан) е направил 186 Gflops-ово чудовище, което му върши перфектна работа за рендване на филмчетата, която неговата компания прави.

С общо 6 броя четириядрени процесора (Intel Quad, Q6600) на 2.4GHz поставени на най-обикновено дъно GigaByte GA-G33M-DS2R/S2, 48 GB RAM (6 x 8GB) и сравнително скромен диск (Seagate Barracuda, SATA2, 160GB) този образ направо е избил рибата! Всичко това е натикано в споменатата по-горе канцеларска мебел за $39. Вярно, че дизайнът, който е “направил” не е най-перфектният, но резултатът е доста впечатляващ!

А представяте ли си, какво му излиза, като напише командата top?! 24 ядра (да не се бърка с бройката процесори)! Ами ако шкафът беше с 8 чекмеджета?! :)

Genius Traveler 915BT Laser Bluetooth mouse

Genius 915BT Въпросната джаджа е представлява доста добра лазерна мишка, в която Genius е наместил лазерна показалка и възможност за управление на презентации (бутони Ecs, F5, “стрелка” напред и “стрелка” назад). Идеята не е нова, но дизайнът е перфектен, а прецизността на мишката е на нивото на най-добрите геймърски мишки. Добрата идея, която не съм виждал реализирана другаде е това, че колелцето на мишката с натискане надолу активира показалката, а с побутване в ляво и дясно активира бутони Esc и F5 (за това трябваше да се чете документация – не е прекалено очевидно, нищо, че е просто гениално). Ляв и десен бутон са съответно стрелки в ляво и дясно. Малкото синьо нещо на снимката е светодиодче, което показва в какъв режим работи устройството. Ако е син, това е мишка, ако е червен това е презентационен режим. Ако мига, това е момента в който мишката се обявява за другите bluetooth устройства за свързване. Двата режима се превключват с натискане на малкото кръгло бутонче, а за режим “сканиране”, бутонът е на обратната страна на мишката. Там е и превключвателят на захранването, което е от две AAA 1.5V батерии. Не знам колко ще изкарат, но досега (месец и нещо) не са мръднали, въпреки, че доста “светках” с показалката. Всичко е просто и елегантно.

Това, за което пиша този постинг е начинът, по който това нещо се свързва към Linux (в моят случай Ubuntu, 7.10). За виндоз-а не ми се пише, там си беше малък ад. Все пак да спомена, че ако някой се захване с това, поне да знае какво го чака. По-принцип лаптопа (D820) идва с пре-инсталирана Vista, която аз най-доброжелателно търпях цели пет дена. След което с псувни и закани я изритах (2GB RAM и 2хP4 на 2Ghz се оказаха недостатъчни за това недоносено изчадие). На нейно място сложих почти нормално работещо XP. Всичко добре, но с едни “малки” подробности – драйврите от Dell бяха за Vista, а в специално за Toshiba BT поддръжката се наложи специално flash-ване, което прави downgrade към XP. Управлението на COM портовете на Toshiba драйверите е направо ужасно, (т.е. хич го няма) затова си оставих тези от MS. Въпреки, че при всяко свързване се налага изтриване и добавяне на устройствата, все пак е по-добре от нищо. Само да спомена, че най-добрият BT драйвер за виндоз за мен е Bluesoleil. Препоръчвам го на всеки. За съжаление и той не можеше да се оправя с номерацията на COM портовете, която за мен беше от особено значение, затова и той не ми свърши работа. Иначе за инсталацията на мишката, нищо интересно – просто се нахлузи един “драйвер” (има го в комплектацията), който се зарежда при стартиране и е постоянно активен. Естествено, заема доста памет (имах си хас!), но постоянно работещите с тази ОС, вероятно са свикнали с подобни “екстри”. Може да се работи и без него, но тогава устройствата (мишка<->PC) трябва да се свързват ръчно.

В новата версия на Ubuntu, нещата по свързването на bluetooth устройства е доста по-упростена. По подразбиране си има специален аплет (gnome-bluetooth), който се активизира при стартиране на BT устройството (dongle или вграденият в лаптопа). При моята Ubuntu комплектация, последователността беше горе-долу следната:

- инсталира се поддръжката за bluetooth стека. Ако това не сте го направили все още за някое друго устройство, ще ви трябват няколко пакета. Аз предпочитам на инсталирам всичко, за което има писана поддръжка, защото в повечето случаи не знам, какво ще ми потрябва за да свържа някоя bluetooth екзотика. Честно да си призная, вече не помня какво идва по подразбиране и какво трябва да се инсталира допълнително. Ако някой се интересува, на сайта на Ubuntu си пише всичко. Аз обикновено добавям:

sudo apt-get install bluetooth bluez-gnome bluez-utils и малко OBEX (OBject EXchange) бози:

sudo apt-get install obexfs obexftp obexpushd obextool gnome-vfs-obexftp. Може и да забравям нещо, но в общи линии е това.

- трябва да си сканирате ефира, защото най-вероятно не знаете наизуст адреса на вашето BT устройство:

sudo hidd –search (преди да стартирате командата, натиснете червеното бутонче на дъното на мишката)

sudo hidd –show, при което би трябвало да видите нещо, като:

~$ >sudo hidd –show
[sudo] password for gerdjikov:
00:13:C1:61:D8:ED Genius Traveler 915BT Laser Bluetooth Mouse [0458:007d] connected

- пробата за правилното зареждане е:

sudo hidd –connect 00:13:C1:61:D8:ED (след това може да си направите един “профилактичен” рестарт “sudo /etc/init.d/bluetooth restart”)

- за да станат нещата по-постоянни се правят малко “ръчни” интервенции в конфигурационните файлове:

sudo vi /etc/default/bluetooth

HIDD_ENABLED=1 (старата стойност е “0″)

HIDD_OPTIONS=”-connect 00:13:C1:61:D8:ED –master –server” (стара стойност, без “–connect”)

- добавя се hidd модулът да тръгва при първоначален рестарт:

echo hidd | sudo tee -a /etc/modules

Всичко работи чудесно с изключение на един проблем, за който все още нямам време да отстраня – когато машината влезе в sleep mode, устройството (мишката) се изключва. Вероятно това е и идеята на “спящият” режим, но събуждането после не е много приятно. Просто трябва да се направи отново “hidd –search”. При всички положения обаче, това е свързвано с правилното настройване на sleep режима, а не със самите BT настройки. За laptop, това не е проблем, защото имам още на разположение touchpad, но вероятно за desktop, подобно заспиване ще си е направо изнервящо.

Част от това по-горе, може да се намери тук: https://help.ubuntu.com/community/BluetoothSetup. Внимавайте, в командата за добавяне в /etc/modules има печатна грешка, “hidp” да се чете, като “hidd”. То близко до умът, ама…..

Мишката струва около 76лв. с ДДС, може да се намери при почти всеки Genius търговец. Прилична лазерна показалка струва от 20 до 50 лева, а ако добавим и това, че отдалеченото управление на презентацията вече не е проблем, то тази цена е повече от добра.