След ъпгрейд на кернела VirtualBox изненадващо спира да пуска виртуални машини. Излиза едно прозорче с надпис Spawning session и “това е всичко приятели!”. Проблемът се решава лесно:
/etc/init.d/vboxdrv setup
Така се прекомпилира кернел модула на VirtualBox и след това всичко би трябвало да е наред. Естествено, желателно е по време на тази манипулация VirtualBox да не работи.
След малко повече работа с VirtualBox имам нови впечатления. Въпреки, че FreeBSD се инсталира безпроблемно след като поработи известно време под леко натоварване (portsnap fetch extract) системата става неадекватна. Т.е. появяват се грешки от кернела (sigreturn) и системата или забива като цяло или конкретната операция спира да работи. Тествах с версии 7.0-RELEASE и 7.1-BETA. При 7.0 умираше цялата система, а при 7.1 само portsnap. Според Гугъл и други хора имат такива проблеми, но решение не открих.
При Windows нещата са значително по-добре. Производителността е на ниво, единствено не успях да използвам резолюция по-висока от 800×600, но май само аз имам такъв проблем.
Занапред мисля да използвам VirtualBox за Windows и qemu за FreeBSD. При последното нямах никакви проблеми с версия 7.0-RELEASE.
Linux във VirtualBox все още не съм инсталирал.
Днес пробвах VirtualBox 2.0 и останах много доволен. Инсталирах го без особени проблеми на Ubuntu 8.04. Конфигурацията на виртуалните машини е изцяло графична и крайно интуитивна. Windows като Guest OS работи доста добре - почти като на реална машина. Не съм инсталирал още някакъв по-тежък приложен софтуер на него, но смятам да направя и това скоро. За сметка на това Starcraft работи много добре, дори и със звук:)
Втората операционна система, която инсталирах, беше FreeBSD. Там имах леки проблеми - мрежовата карта, която вирт. машина използваше по подразбиране не искаше да си вземе адрес през DHCP. Смених я с другата опция (Intel Pro 1000 MT Desktop) и всичко заспа.
Все пак има някои странни неща - общо взето всеки път когато VirtualBox трябва да покаже прозорец, където се избира някакъв файл приложението просто забиваше. Това е проблем за библиотеката с ISO файлове - за да може да се mount-не такъв файл той се добавя в библиотеката от дискове на VirtualBox. Реално информацията за добавените файлове се пази в XML файл в ~/.VirtualBox, който може да се редактира на ръка и след това просто да се използват ISO-тата.
Възстанових постовете от стария ми блог, но за съжаление без коментарите. Извинявам се на всички, които са отделили време да пишат за това. За по-голямо удобство запазих реалните дати на написването на постовете.
Наполседък доста downtime му се събра на блога ми:) Местих го от едно място на друго, от един сървър на друг…. Но вече окончателно го настаних на топло местенце с добра свързаност:) Писанията ми вече са гордо хоствани от FColor. Преди използвах разни лични машини със съмнителна свързаност, но вече нямам ентусиазъм за такива неща. Отнема много повече време и усилия отколкото парите, които ще давам за хостинг сега.
Между другото успях да се сдобия с базата данни от стария ми блог. Ще копирам всички статии, които ми се струват ценни или полезни тук. Случайно забелязах, че феноменът braindamage отново е онлайн. Лудите умора нямат:)
При по-различно стечение на обстоятелствата сега може би щях да пиша този пост от Малта. Или може би нямаше да го напиша изобщо. Но ето ме удобно разположен в квартирата пишейки поредната доза душевни терзания:) Може би е за добро, може би не е… Вдъхновен от речта на Стив Джобс пред випуск 2005 на Станфордския университет аз вярвам, че съм взел правилно решение. Времето ще покаже дали е така.
Довечера, в 00:55 малтийско време (01:55 българско) отлитам от Малта за София. Изкарах тук около 2 месеца и половина. Видях и преживях много неща - някои хубави, други не чак толкова. Силно се надявам това да ми е последния толкова дълъг престой в Малта за близкото бъдеще. Преди време се шегувах, че ако трябва да дойда за още 2 месеца то по-добре да остана да живея тук за винаги:).
Очаквах с нетърпение да се прибера в България, но в момента съм със смесени чувства. Не, че искам да остана тук, но все едно острова е откраднал част от мен, която няма да мога да си прибера никога. Това леко ме обърква. Имам чувството, че за тези 2 месеца и половина се промених много. Може би когато се разделиш с нещо за дълго време оценяваш реално какво ти липсва от него и какво не. Може да звучи леко пресилено, но в моя случай раздялата с живота ми (не във физическия смисъл на думата) за 2 месеца ми помогна да откроя някои важни от някои маловажни елементи. Не знам дали това е начина - може би аз съм прекалено глупав и не съм ги осъзнавал до сега, но все пак важен е резултата, нали? Факт е, че в Малта направих много неща, които до сега не съм искал или просто ме е било страх да направя.Може би това е следствие от “преосмислянето” или може би просто климата ми действа зле. Струва ми се, че като резултат от всичко това станах съвсем малко по-добър човек. Дано съм прав.
Ако не съм прав престоя ми тук ще остане просто като спомен от една малко по-дълга и по-странна ваканция. След 3 дена като видя този пост ще се чудя какво съм ял предната вечер, че да пиша такива глупости и дали в главата ми е звучал саундтрак от латиноамериканска сапунка докато съм писал тези неща.
Трябваше да направя пренасочване на потребителите към страници със съдържание на техния език, в зависимост от страната, в която се намират. Т.е. например потребителите от Германия, България и Франция се пренасочват към страници съответно на немски, български и френски, а всички останали - към англииски. Стори ми се най-лесно да направя това с mod_rewrite и GeoIP.
GeoIP е продукт на MaxMind - предлага се свободна база данни, но актуализирането на базата е платено. Не си спомням точно каква беше цената, но е по силата на всяка дори и малка фирма. MaxMind имат модул за Apache - mod_geoip. Инсталира се заедно със GeoIP C API - и двете неща са свободно достъпни на сайта. Компилацията на API-то е праволинейна, а модула за Apache се компилира по този начин:
apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c
Където:
-I/usr/local/include - директорията, където се намира GeoIP.h
-L/usr/local/lib - където е инсталирана libGeoIP
И следва по-веселата част, конфигурацията на Apache. Ето част от моя конф. файл:
GeoIPEnable On #Активира mod_geoip
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat #Пътят до базата данни
RewriteEngine On #Активира mod_rewrite
Redirect /index.html http://www.example.com/index?lang=en #Пренасочване по подразбиране към англ. език
#Клиентите от България се пренасочват към страница на български
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^BG$
RewriteRule ^/?(index.html)?$ http://www.example.com/index?lang=bg [L]
#Клиентите от Германия се пренасочват към страница на немски
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^DE$
RewriteRule ^/?(index.html)?$ http://www.example.com/index?lang=de [L]
#Клиентите от Франция се пренасочват към страница на френски
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^FR$
RewriteRule ^/?(index.html)?$ http://www.example.com/index?lang=fr [L]