Излезе Fedora 16 Alpha

Кога станува збор за cutting edge технологија, односно примена на истата во оперативниот софтвер, мислам дека голем дел од вас ќе се сложат дека Fedora проектот завзема значајно место со нивната примена. Имено, пред неколку дена, поточно на 23 Август, излезе Alpha верзијата на Fedora 16, која е насловена едноставно, Верн (Verne) во чест на големиот писател Жил Верн. Бета верзијата е закажана за 27 Септември, додека пак финалната верзија треба да се појави на 1 Ноември, но секако датумите може да претрпат промени, а доколку ве интересира, распоредот за излегување на Fedora 16, може да го погледнете на следната локација.

Верзијата е во рана фаза на тестирање, но сосема задоволително функционира судејќи според неколкудневното користење. Една од поважните новини кои што вреди да се споменат е дека Fedora 16 доаѓа со најновата верзија во Linux kernel дрвото, односно 3.0.0-1, со надградба на 3.1rc4 во нивниот testing репозиториум. Дури и озогласениот менаџер на пакети од Fedora – yum се чини дека функционира побрзо од обично. Дистрибуцијата ја тестирав на Lenovo ThinkPad Edge 13, верзијата со AMD процесор, и може да кажам дека сѐ функционираше out-of-the-box. Дури и проблематичниот драјвер за безжичната картичка rtl8192ce (bgn, mini pci, realtek) функционира подобро, без рандом влегувања во kernel panic мод (барем до сега) при вообичаени операции со истата. За оние сопственици на ваква картичка заинтересирани за penetration testing, може да ве израдувам и дека конечно работи packet injection функционалноста, но за тоа другпат.

Alpha изданието може да го спуштите од овде, каде што се наоѓаат и неколкуте спинови на дистрибуцијата, односно Gnome 3.2 – default десктоп околина, KDE, LXDE и XFCE, а дневни, односно ноќни билдови, може да најдете овде. Јас, како љубител на KDE десктоп околината, го инсталирав KDE спинот, иако немам ништо против другите. Сепак не сакам да навлегувам во прашањето Gnome vs. KDE и слично, бидејќи и двете околини се на многу напредно ниво и прашање на вкус и навика е која платформа ќе избереш и користиш. Дистрибуцијата доаѓа со моментално најновата компилација, односно KDE SC 4.7.0 нудејќи бројни надградби и нови можности и програми, како на пример новиот десктоп-интегриран IM клиент KDE-Telepathy, кој што не доаѓа со примарниот пакет, бидејќи се уште е во рана фаза на развој, но може да го симнете и инсталирате од download.kde.org. Исто така, подобрена е и манипулацијата со активностите (activities, понапредна форма на виртуелни десктопи), се чини дека побрзо е и преминувањето од една во друга активност (Meta+Tab, наместо Meta+a во Fedora 15 KDE) и понудени
се неколку стандардни предефинирани активности, како што се класичниот folder view и слично.

Во новата верзија, освен нов kernel и десктоп околини дистрибуцијата нуди и други бројни подобрувања и надградби. Дел од новите можности и карактеристики на Fedora 16 може да видите на http://fedoraproject.org/wiki/Releases/16/FeatureList од кои што би ги споменал миграцијата на GRUB2 како ново bootloader решение, GCC Python plugin, Blender 2.5 – напреден софтвер на 3D моделирање, Matahari – колекција од API-а за далечинско управување и мониторинг, чекор напред во миграцијата од systemV кон systemd која што започна со излегување на Fedora 15, унификација и поедноставување на UI-то на програмите за пријавување на проблеми, и многу други.

Доколку сте за напредна cutting edge технологија, стабилна GNU/Linux дистрибуција со голема заедница и сакате да пробате нештно ново, слободно испробајте ја Fedora 16 Alpha верзијата. Јас барем знам дека едвај чекам да излезе конечната верзија, за целосно да може да ја надградам сегашната Fedora 15 Lovelock.

Инсталирање, конфигурирање и тестирање на Kannel SMS Gateway

Годинава земав учество во ЕдноЛето – македонска верзија од Google Summer of Code, организирано од Слободен Софтвер Македонија. Се пријавив и бев примен на проектот насловен како: Систем за известување и управување преку СМС пораки. Како главна алатка што ќе се користи во проектот, ви го претставувам Kannel. Kannel претставува компактен и моќен open source, WAP и SMS gateway развиен за GNU/Linux оперативните системи, широко употребуван насекаде во светот.

За да го инсталирате, најпрвин побарајте го во репозиториумите на вашиот оперативен систем, или пак директно симнете го од нивниот официјален сајт како стабилна верзија, или како дневен snapshot од нивтниот SVN репозиториум. Бидејќи моментално користам Fedora 15, може да ја инсталирам алатката на два начина. Првиот и полесен начин е алатката да ја инсталирам директно од главниот репозиториум на Fedora, со едноставно повикување на командата:

$ sudo yum install kannel.i686

со ова, алатката е инсталирана и готова за користење, со конфигурацискиот фајл поставен на локација /etc/kannel.conf кој што подоцна може да го едитираме за тест примерот. Од друга страна, доколку ја немате во репозиториум, алатката може и да ја искомпајлирате од код, кој што може да го симнете од следната локација: http://kannel.org/download/kannel-snapshot.tar.gz. Значи отворете го омилениот конзолен емулатор, дојдете до посакуваната патека кај што сакате да ја спуштите архивата и пишете:

$ wget http://kannel.org/download/kannel-snapshot.tar.gz
$ tar xvfz kannel-snapshot.tar.gz

за да ја симнете и отпакувате алатката во kannel-snapshot фолдер. Влезете во фолдерот и претпоставувајќи дека ги имате инсталирано развојните алатки и библиотеки, пишете:

$ ./configure
$ make

за да ја искомпајлирате алатката. Доколку во процесот ви се јави грешка, најверојатно немате некоја од потребните алатки и библиотеки и препорачувам да ја прочитате документацијата на Kannel за специфични побарувања – http://kannel.org/overview.shtml#req.

Во Yum пакет менаџерот на Fedora постои опција за групна инсталација на алатки според име на група, така да, за да ги инсталирате најчесто бараните алатки за компајлирање, односно развојни алатки (make, gcc и слично), пишете во конзола:

$ sudo yum groupinstall “Development Tools”

Откако ќе ги инсталирате развојните алатки, потребно е додатно да ја инсталирате и libxml2 библиотеката:

$ sudo yum install libxml2.i686 libxml2-devel.i686

Со ова би требало да ги одбегнете грешките и успешно да може да ја искомпајлирате алатката. Доколку сеуште компајлирањето ви јавува грешка, пишете коментар и испратете ми го текстот со грешката, за подетално да го разгледаме проблемот.

Откако успешно ја имаме инсталирано алатката, на ред е нејзино конфигурирање и тестирање. Default конфигурацијата може да ја најдете во /etc/kannel.conf, но ние ќе се послужиме со подетална конфигурација за SMS gateway. Ако ја инсталиравте алатката од репозиториум, побарајте го тест конфигурацискиот фајл во /usr/doc/kannel-VERSION/examples или /usr/share/doc/kannel-VERSION/examples насловен како smskannel.conf, или пак доколку го компајлиравте рачно, побарајте во ../kannel-snapshot/gw/smskannel.conf. Тука може да ги видиме дефинирано основните потребни групи за тестирање на SMS gateway. Дефиниран е fake sms centar на порта 20000 (или 10000) како симулатор за испраќање на смс пораки, како и корисник (group = sendsms-user) кој што може да испраќа смс пораки, со тест корисничко име и лозинка. Дефиниран е и default смс сервис кој што се справува со добиените смс пораки доколку нема дефинирано друг соодветен смс сервис.

Ние за тестирање ќе напишеме наједноставен смс сервис кој што ќе ни испраќа известување за секоја примена порака. На крај на конфигурацискиот фајл додадете ги следниве три линии:

group = sms-service
keyword = test
exec = notify-send “A message is received – %a”

Првата линија покажува дека тука почнува дефиниција на нов смс сервис, втората линија дефинира според кој филтер ќе биде препознаена пораката, односно keyword претставува првиот збор од пораката, а во третиот ред е дефинирана акција што треба да се изврши, при што %a претставува алиас за целата содржина на пораката url кодирана.

За подетално да се запознаете со синтаксата и начинот на конфигурирање, како и можностите за филтрирање – одбивање на барање од одредени хостови, привилегирани корисници и слично, прочитајте ја документацијата на kannel која што се наоѓа на http://kannel.org/download/kannel-userguide-snapshot/userguide.html. Таму на пример во табела 6-9 се дадени сите параметри, односно алиаси како што се %a – целата содржина на смс поракта и %k – првиот збор од пораката, а во табела 6-8 се дадени сите применливи и ограничувања што може да се додадат во еден смс сервис. Треба да се напомене дека штом ќе се добие една смс порака, со неа се справува само првиот сервис кој што ќе ги исполнува сите параметри (испраќач, клучен збор и слично). Сервисите се проверуваат линеарно почнувајќи од првиот дефиниран.

Откако го дефиниравме сервисот, сега ни преостанува само да го тестираме. Првин треба да стартуваме bearerbox, за да би можеле да стартуваме smsbox. Ако го инсталиравте пакетот рачно, стартувајте ги сервисите (по овој редослед):

$ ./kannel-snapshot/gw/bearerbox -v 1 kannel-snapshot/gw/smskannel.conf
$ ./kannel-snapshot/gw/smsbox -v 1 kannel-snapshot/gw/smskannel.conf

притоа со -v дефинираме ниво на verbosity, кај што 0 прикажува debug информации, а 1 ги прикажува грешките (конфигурацискиот фајл и алатките се повикуваат според патека).

Ако го инсталиравте пакетот од репозиториум, постапката е иста, со што алатките се повикуваат од било која локација, а конфигурацискиот фајл се повикува според патека.

Со smsbox-от стартуван, останува само да испратиме лажна тест порака за нашиот дефиниран сервис, со помош на fakesmsc алатката. И пак, доколку го инсталиравте пакетот рачно, алатката ја повикувате според локација, инаку, од било каде.

$ ./kannel-snapshot/test/fakesmsc -m 1 -H localhost -r 20000 “123 456 text test message”

Во повикот на fakesmsc дефинираме број на пораки што треба да се испратат со -m, дефинираме хост на кој што сакаме да ја пратиме пораката со -H и дефинираме порта на која што работи сервисот со -r, потоа во наводници е пораката што ја испраќаме во облик “испраќач примач text тело на пораката”. Испраќачот и примачот во нашиот случај не се битни, text е филтерот според кој се испраќа текстот на пораката (може, на пример, да биде и url кодирана пораката и наместо text треба да стои udh, исто така објаснето во документацијата) и во телото на пораката го пишуваме првиот збор да се совпаѓа со keyword-от, а останатиот дел од пораката, моментално не ни е важен. Откако ќе ја испратиме пораката, во прозорецот добиваме повратна информација:

[8303] [0] INFO: Got message 1: <13013 123 text <Empty reply from service provider>>

а во прозорецот кај што е стартуван smsbox-от добиваме информација:

[5202] [4] INFO: Starting to service <test message> from <123> to <456>

и во едно се појавува нотификација, односно известување со содржина: “A message is received – test+message” каде што примената порака ја добиваме како url кодирана, со што добиваме потврда за успешно испратена/примена порака.

Толку за инсталација, конфигурирање и почетно тестирање на Kannel SMS gateway-от. Во иднина, повеќе за можностите на сервисот и идеи за сервиси и начини на управување на системи преку обични смс пораки.