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

#!/bin/bash -x
wget http://checkip.dyndns.org/ -O /tmp/ipaddr
IPADDR=$(cat /tmp/ipaddr | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')
IPADDROLD=$(cat /tmp/ipaddr_old | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')

if [ "$IPADDR" != "$IPADDROLD"  -a "$IPADDR" != "" ]
then
 sed -i "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/$IPADDR/" /etc/bind/neo2shyalien.eu
 /etc/init.d/bind9 restart
 echo "server localhost" > /tmp/nsupdate
 echo "zone neo2shyalien.eu" >> /tmp/nsupdate
 echo "update delete ns.neo2shyalien.eu. A" >> /tmp/nsupdate
 echo "update delete ns.neo2shyalien.eu. CNAME" >> /tmp/nsupdate
 echo "update add ns.neo2shyalien.eu. 38400 A $IPADDR" >> /tmp/nsupdate
 echo "update add *.neo2shyalien.eu. 38400 CNAME ns.neo2shyalien.eu." >> /tmp/nsupdate
 echo "show" >> /tmp/nsupdate
 echo "send" >> /tmp/nsupdate
 echo "" >> /tmp/nsupdate
 /usr/bin/nsupdate -k /etc/Kns.neo2shyalien.eu.+157+59417.private -d /tmp/nsupdate
 mv /tmp/ipaddr /tmp/ipaddr_old
fi

Това вече е поправения скрипт които няма да допуска грешка. След малко ще обясня къде е била проблемата част сега да обясня какво прави скрипта. Поне нали съм на динамично публично ip. Съм пуснал горния скрипт да проверява за промяна в адреса ми ако се смени да променя настройките на машината и да праща информация за домейна ми, че има промяна. Общо взето тривиален скрипт но в него бях допуснал ужасно малоумен пропуск. В частта където се проверява за смяна на адреса

if [ "$IPADDR" != "$IPADDROLD"  -a "$IPADDR" != "" ]

Преди беше


if [ "$IPADDR" != "$IPADDROLD"]

Така самия ред прави следното взима 2-та IP адреса и ги сверява ако са еднакви пропуска ако са различни ъпдейтва. В предния вариант бях пропуснал много важна грешка поради някаква причина скрипта ми беше решил че имам IP = „“ (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉

Понеже имах доста полемики докато стигна до оптималния вариант – за Android върху моя HTC реших да драсна едно що годе подробно обяснение за нещата. В случая ще вляза в конкретизация за инсталация върху NAND-а на телефона, haret boot варианта няма да го разисквам, въпреки че при него нещата трябва да са идентични.

1. Подготовка – преди да започнем трябва да подготвим ядрото с което ще флашнем NAND чипа и ще направи възможно директното boot-ване на Androida. Ако сте с Linux или Mac OS ви препоръчвам Atools-а варианта ако сте с Windows NBH Editor-a е вашата панацея.  След това смъквате последното ядротo от GIT-a аз лично ви препоръчвам последния вариант на версия 2.6.25. Работи по стабилно от 2.6.32 и пести повече ток, недостатък е по ниския трансфер на wifi адаптера, което мен ме устройва. След това отваряте nbh файла и прилагате настройките за вашия телефона и версията на дроида . След това запазвате новия преработен за вашия телефон kernel. И го поставяте на SD карата си. Задължително трябва да е формат kaisimg.nbh за да можем ако сме си SPL-нали телефона да префлашенм от SD карата ни. За тея неща има доста изписано навсякъде така че няма да ги дискутирам. След флашване с въпросното ядро вече можете да кажеше чао на Windows Mobile 😉

2. Android – След като сме приключили с горната част телефона ще започне да зарежда в конзолен режим и ще ни прикани да задържим d-pad-а или средния бутон на предния панел. С него влизаме в boot менюто от което можем да си инсталираме ъпдейтваме ресетваме и прочие Androida ни. За да можем да инсталираме трябва да имаме папка andboot в SD карата ни в нея трябва да има файл с името androidinstall.tar.gz или androidinstall.tgz. След като пробвах почти всички Froyo версии мисля че най бърза и стабилна е Fat Free Froyo. Лично него ползвам и не съм имал почти никакви бъгове, ще се надявам и за напред разработчика му да се старае толкова много. Разумно е преди да почнете да инсталирате да си направите един поне 512 или малко повече ext2 дял на вашата SD карта където ще седи data.img или часта на дроида вив която ще са инсталирани програмите. Самата инсталация е тривиална избирате системата ви да бъде върху NAND-а а дата-та ви върху ext2 дяла. Изчаквате 2-3 мин докато всичко се нагласи и ще се върнете в първоначалното меню. Избирате Quit и ще започне да ви се стартира прясно инсталирания Android. От тук нататък дерзайте и се забавлявайте.

3. Малко думички за другите неща – Преди всичко препоръчвам Radio ROM-а да е версия 1.65.хх версия. Версиите 1.7хххх не работят толкова добре. Има известни неприятности около тях с обхвата четенето на контактите от SIM картата ви и прочие. Ако все пак искате да тествате 2.6.32 ядрото има вероятност вашият Android да не се стартира заради различните параметри които подава новото ядро към init системата. В такъв случай упдейтвате системата като сложите архивчето то тука в adboot папката и после от boot менюте се избира да се ъпдейтне системата.  Хубавото при него че прави системата една идея по бърза wifi адаптера смучи с по голяма скорост но не е толкова стабилен като 2.6.25 което не е малък минус 😉 отделно че с него Fat Free Froyo-то не може да запаметява контактите от SIM-a.

Крайно време беше се запася с по грамотен domain. Преди около седмица попаднах на уникално добрата оферта за .eu и нямаше как да не се възползвам. Няколко дни си играх да настроя машината понеже публичния ми адрес е динамичен и се искат някои хватки да се приложат, но почти всички проблеми са изчистени. Публичния ми адрес се подновява в ddns стил. Но винаги ще имам проблеми с доставчиците които кешират заявките, а винаги ще има такива, за съжаление това няма как да се избегне, ще видя ако реша, че ми е проблем ще сменя динамичния адрес с статичен. Това като цяло са разни бъдещи полемики които ще решавам някои друг път.

Засега стария домейн съм го направил да прехвърля към новия такъв и не мисля че ще имам проблеми. Необходимо е да подновите RSS адресите си за да сте сигурни, че получавате вярната информация, за което искам да се извиня за неудобството. Е стига толкова глупости мога само да се поздравя за добрата работа, която не беше малко особено като се има на предвид че почти не съм си имал вземане даване с DNS услугите и първоначално действах като на магия. Накрая обаче му хванах цаката и дори си разписах скриптче което върши черната работа на обновяването на записите, но това ще е тема за в бъдещи разговори след като по изуча из дълбини нещата.

p.s Забравих да пиша нещо важно промених кардинално домейна, защото предишния домейн беше избран с една определена идеална цел, която след толкова години се оказа, че няма да бъде осъществена поради множество причини. Иначе нямаше да е проблем mud-land.eu. Дори е по кратко но блога си е мои и си го водя с една единствена идеална цел – пиша за всичко онова което ме вълнува, и си струва да се сподели. Аз не пиша за всичко и не искам да пиша за всичко искам да оставя една част от себе си скрита. Моето лично пространство претърпя множество от промени. Надявам се тази да не е последната.

Време е за подскачане и релакс малко стига толкова коване 😉 😛

Наскоро ме беше ударила музата и бях писал за мечтите. Е от около 2 седмици ме терзаят разни мисли… Може би е време да…. да се откажа от една мечта. Дам съвсем правилно ме прочетохте. Един човек някога ми беше казал „Щом е трудно има защо да е такова“. Дам вероятно е така.

Сега като се замисля ако не беше тъжно щеше да е жалко. Преследването на вятърните кули, което води до – до нищо. Едно голямо празно НИЩО. По принцип се води, че съм силна персона, не се отказвам лесно, някои му казват инат аз мисля че е просто характер. Обикновено точно поради тази причина не се отказвам от нещо за което се боря. Боря се дори и когато знам, че шансовете не са на моя страна, тогава особено повече. Но всеки път да разбиваш стена и да виждаш, че след нея не те очаква нищо, освен въздушни кули, си е направо безсмислено.

Чудя се дали признавам падение или търся нова победа.

http://www.youtube.com/watch?v=3lLnKIkR5is