13. 6. 2020.

Od sorsa do paketa












Kada se iskusniji korisnici Windowsa prvi put ozbiljno susretnu sa Linuxom, neke stvari na njih ostavljaju snažan utisak, koji često zna biti negativne prirode. Ljudima naviklim na udobnosti grafičkog interfejsa pre svega teško pada potreba za čestim korišćenjem tekstualnih komandi. Naravno, Linux odavno ima mogućnost rada sa grafičkim interfejsom, ali je njegova prava snaga duboko ukorenjena u komandnoj liniji. Neko ko pretenduje da se nazove iole naprednijim korisnikom Linuxa, jednostavno mora da vlada sa barem nekoliko desetina CLI (Command Line Interface) komandi.

Na ovo se naslanjaju problemi u vezi sa instaliranjem softvera. Umesto udobnog rada sa instalacionim čarobnjacima u Windowsu, kod Linuxa se instaliranje često obavlja kucanjem naredbi, a ponekad i kompajliranjem programskog koda. Upravo je ovo bio jedan od glavnih razloga zašto je autor teksta u svoje vreme imao prilično razvijen animozitet prema Linuxu. Istina je da savremene distribucije imaju grafičke klijentske programe za instaliranje softvera, ali i pored toga kursor miša često moramo zameniti kucanjem po tastaturi.

Ipak, nakon kraćeg vremena, korisnici se navikavaju na osnovne CLI naredbe i one im „ulaze pod kožu”, tako da njihovo korišćenje predstavlja rutinu koja na neki način postaje i zarazna, pa se bez njih u radu oseća izvesna praznina.

U ovom tekstu ćemo pokušati da objasnimo neke stvari u vezi sa instaliranjem programa u Linuxu i one su, pre svega, namenjene početnicima na toj platformi, ali će tu da bude i zanimljivosti za iskusne korisnike. Akcenat ćemo staviti na rad sa Debian/Ubuntu baziranim distribucijama, pošto su one danas najrasprostranjenije, ali ćemo se ukratko osvrnuti i na rad sa ostalim važnijim distribucijama.

Alhemija sorsa

Iako odavno nemamo naročitu potrebu za kompajliranjem kao načinom za instaliranje softvera, svakako je dobro poznavati kako se to radi. Ovo je posebno korisno kada želimo da instaliramo najsvežiju verziju nekog programa koja se još ne može naći u repozitorijumima. Dodatna pogodnost ovakvog pristupa je veliki stepen portabilnosti, malo veća brzina izvršavanja, mogućnost optimizacije, konfigurabilnost i mogućnost da se analizira funkcionisanje koda.

Da bi se program kompajlirao, potrebno je da na računaru budu instalirani alati koji taj posao čine mogućim. Najčešće sve što nam je potrebno za kompajliranje dolazi sa distribucijom, a ukoliko to nije slučaj, neophodne programe instaliramo sa:

sudo apt-get install build-essential

Posle ovoga sistem ima sve potrebno (C/C++ kompajler, make, asembler, linker, osnovne biblioteke i alat za formiranje paketa) za početak procesa pretvaranja sorsa u izvršni program.

Izvorni kod programa se obično distribuira unutar arhiva sa ekstenzijama .tar.gz, .tar.bz2 i tar.xz. Dakle, prvi korak je da raspakujemo njihov sadržaj:

tar -xzvf sors_fajl.tar.gz

Argument x znači da želimo da raspakujemo arhivu, z sugeriše da sadržaj bude procesiran kroz program gzip, v ispisuje ekstraktovane fajlove, dok f prethodi nazivu fajla.

Slično je i u slučaju tar.bz2 arhiva:

tar -xjvf sors_fajl.tar.bz2

jedino se razlikuje argument j koji arhivu procesira kroz bzip2.

Za tar.xz arhive pišemo:

tar -xvf sors_fajl.tar.xz

Na kraju krajeva, moguće je raspakovati arhivu i pomoću drugih arhivatora, uključujući i one za rad iz grafičkog režima.

Nakon ovoga prelazimo u direktorijum sa raspakovanim fajlovima i kucamo:

./configure && make && make install

„./„ nam govori da je u pitanju direktorijum u kojem se trenutno nalazimo i obavezan je deo sintakse u ovakvim situacijama. Zatim sledi izvršenje configure skripta iz tekućeg direktorijuma, koji proverava da li sistem trenutno raspolaže svim sredstvima potrebnim za kompajliranje. U pojedinim scenarijima ovaj fajl može da bude odsutan. Sledeće dve naredbe – make i make install -završavaju posao oko instaliranja.

Nažalost, retko se dešava da se instaliranje završi „iz prve”, pošto na sistemu obično nedostaju određene biblioteke potrebne za kompilaciju. Pokušaćemo da opišemo situaciju na konkretnom primeru instaliranja poznatog torrent menadžera Transmission. Nakon prvog startovanja ./configure, dobijamo sledeću poruku:

No package ’libcurl’ found

Pomenuti libcurl predstavlja biblioteku za podršku raznoraznim mrežnim protokolima. Postoji nekoliko načina da se instalira, a mi smo koristili OpenSSL varijantu biblioteke:

sudo apt-get install libcurl4-openssl-dev

Nakon ovoga ponovo pokrećemo ./config i dobijamo grešku:

No package ’libevent’ found

Libevent je biblioteka za obradu asinhronih sistemskih događaja i taj paket instaliramo preko:

sudo apt-get install libevent-dev

Paketi koji imaju „-dev” u nazivu, uglavnom sadrže zaglavlja C fajlova i statičke biblioteke. Nakon novog pozivanja ./configure, pojavljuje se dosta specifična greška iz koje ne možemo zaključiti koja biblioteka je u pitanju:

error: Unable to find any supported crypto library.

U takvim situacijama nam preostaje da se oslonimo na pretraživanje interneta i tamo smo saznali da se ono što nedostaje ispravlja instaliranjem biblioteke libssh (omogućuje upotrebu SSH protokola):

sudo apt-get install libssh-dev

Nakon što se uverimo da više nema grešaka, možemo krenuti sa izvršavanjem make i make install naredbi (ili sve zajedno, kao u primeru sa početka), što će nakon par minuta rezultirati izvršnom verzijom programa. Ponekad će biti potrebno da make install izvršavamo uz pomoć naredbe sudo.

Da bi sebi olakšali život, prilikom instaliranja najnovije verzije nekog programa putem sorsa, pod uslovom da se njegove starije verzije nalaze u okviru dostupnog repozitorijuma, možemo se poslužiti malim trikom kucajući:

sudo apt-get build-dep neki_program

Sistem od nas traži da prihvatimo instalaciju zavisnih fajlova koji će stvoriti preduslove da se željeni program kompajlira.

Svet Kompjutera - kompletan tekst

3. 6. 2020.

Ažuriranje: Septor 2020.3



















Prema planiranim aktivnostima, izvršeno je ažuriranje ISO slike na verziju 2020.3, a izmene u novom izdanju su sledeće:

   - Tor internet pregledač je instaliran kompletno (9.5)
   - Sistem je ažuriran na Debian Buster riznice, sa datumom 2. jun

   - Linux kernel 5.4.19
   - Thunderbird je ažuriran na verziju 68.8.0-1
   - Vlc na 3.0.10
   - Youtube-dl na 2020.05.29
   - Instalirani dodaci: Ublock (Tor pregledač) i Enigmail (Thunderbird) 

   
  
               





                                          Septor-2020.3-amd64.iso   (signature)  (md5sum)




22. 5. 2020.

FAN – Sistem za nadzor servisa i uređaja







        
                  






Ako se bavite sistemskom ili mrežnom administracijom, a dugo tragate za nekomercijalnim rešenjem za nadzor i automatizovani oporavak vaše mrežne infrastrukture, onda će vam ovaj tekst definitivno olakšati u odluci za implementacijom jednog od najkorišćenijih rešenja otovrenog koda za monitoring računarske mreže – Nagios.

Nagios je već dugo komercijalan proizvod koji nimalo nije jeftin za mala i srednja preduzeća, međutim, iz želje da ostane u kategoriji rešenja otvorenog koda, na zvaničnom sajtu Nagios projekta naći ćete takozvani Nagios Kor paket koji je potpuno besplatan. U ovom paketu sadržani su opšti fajlovi za konfiguraciju datoteka, skromna baza dodataka i veb stranica koja ilustruje status nadgledane infrastrukture. Ako ste početnik i ne poznajete sasvim dobro način funkcionisanja sistema za nadzor servisa, onda je najbolje da posetite ovaj sajt i tamo pronađete besplatne Nagios knjige koji detaljno opisuju Nagios Kor strukturu. Nagios je paket koji se instalira na jednoj od Linuks distribucija (najčešće na onoj distribuciji kojom dobro vladate). CentOS je postao standard i omiljena distribucija mnogih sistemskih administratora pa je možda dobro rešenje da Nagios upravo podignete na CentOS-u zbog veoma bogate podrške za ovu distribuciju.

Ako ste do sada ipak imali prilike da radite sa Nagios Korom onda sigurno znate koliko je naporno definisanje novih računara, novih servisa i novih komandi jer se sve radi iz konzole, a Nagios fajlovi umeju da budu preobimni pa vam je za dobru konfiguraciju nekada potrebna izuzetna koncetracija. Nagios fajlovi su međusobno povezani pa je i za uočavanje najsitnijih grešaka nekada potrebno mnogo vremena. Najčešće greške javljaju se u nekoj standardnoj programerskoj formi, bilo da je to zatvorena vitičasta zagrada ili izostanak nekog slova u samoj skripti.

Nagios XI je komercijalno rešenje Nagios projekta koje sadrži u sebi veb stranicu za grafičko podešavanje sistema za nadzor. Statistika govori da je na ovaj način znatno olakšan posao administratorima u konfiguraciji i podešavanju svih mrežnih subjekata, čime se maksimalno izbegavaju greške u sintaksi pa se administrator mnogo više posvećuje suštinskoj konfiguraciji radi što boljeg podešavanja Nagiosa za nadzor svih delova mreže.

Prethodna distribucija Nagiosa je komercijalna i veoma skupa, međutim, grupa entuzijasta iz Francuske, a sada i iz celog sveta, radi na projektu FAN (Fully Automated Nagios). FAN je zamena za Nagios XI, i prema iskustvu sistemskih inženjera, FAN nimalo ne zaostaje za Nagios XI distribucijom. FAN dolazi u obliku aplajensa i moguće ga je potpuno besplatno preuzeti sa ove stranice. On u sebi sadrži 3 nezavisna projekta: Nagios Kor, Centreon i NagVis.

LiBRE! časopis - kompletan tekst

10. 5. 2020.

Buster ажурирање: Debian 10.4

















Debian пројекат са задовољством објављује четврту надоградњу своје стабилне дистрибуције Debian 10, са кодним именом Buster. Ово ажурирање углавном поправља безбедоносне пропусте у стабилној верзији, добавља неколико надоградњи, а ту су и мања подешавања за текуће проблеме. Сигурносни савети су већ посебно објављени.

Да напоменемо, ова надоградња не представља нову верзију за Debian 10, већ се ради о исправкама и ажурирањима одређених пакета, тако да нема потребе за новим преузимањем медија, јер се сав посао обавља ажурирањем преко вашег управника пакета.

Нови инсталациони медији (ЦД, ДВД и инсталација преко интернета) који ће садржати ажуриране пакете, ускоро ће бити доступни на регуларним локацијама. Списак сервера је доступан на: http://www.debian.org/mirror/list

Детаљан списак свих учињених промена у издању Debian 10.4:

http://ftp.au.debian.org/debian/dists/Debian10.4/ChangeLog


6. 5. 2020.

Univerzalni paket menadžeri















U ovom članku biće predstavljena ideja za poboljšani proces distribucije softvera na Linuks sistemima. Biće poređene prednosti tradicionalnih sistema baziranih na pakovanju za specifične distribucije sa kontejnerskim softverom koji funkcioniše na sistemima poput Flatpak, Snap ili AppImage. Novi proces obećava efikasnije korišćenje softvera u čitavoj zajednici slobodnog softvera, bolju podršku na korisničkim sistemima i istovremeno bolji kvalitet.

Danas Linuks i ceo ekosistem zajednice slobodnog softvera najčešće sav softver preuzima sa jednog izvora. To obično znači da je on dobro integrisan sa sistemom, može biti testiran u kombinaciji sa svakim drugim paketom i podrška dolazi od jednog distributera. U poređenju sa sistemima na kojima se svaki pojedninačni paket softvera preuzima od posebnog distributera i onda instalira manuelno, ovaj pristup ima velike prednosti. Jedna od njih je lako preuzimanje ispravki za sav instalirani softver na sistemu jednom komandom. U ovom modelu bazni sistem i softver dolaze iz istih ruku i mogu se testirati kao celina. Lakoća nadograđivanja sama po sebi predstavlja veliku prednost u odnosu na sisteme na kojima desetine aplikacija moraju zasebno uz asistenciju korisnika biti nadograđene, što oduzima puno vremena, a neblagovremeno ažuriranje može nositi i bezbednosne rizike.

Tradicionalno Linuks se oslanja na dva glavna formata paketa, to su .deb ( Debian ) i .rpm ( Red Hat ). Iako strukturno različiti, oba formata paketa sastoje se od upstream softvera prilagođenog za specifičnu distribuciju i skripti koje omogućavaju instalaciju zavisnosti kao što su biblioteke, uslužne aplikacije i drugi paketi koji već nisu instalirani na sistemu. Ovakav aranžman svodi trošenje prostora diska na minimum i verno je služio Linuks zajednicu dve decenije.

Međutim, u proteklih par godina, ovi tradicionalni formati počeli su da trpe kritike. Korisnici Linuksa povećali su očekivanja u pogledu korisničkog iskustva sa aplikacijama – želeli bi da ono bude slično iskustvu sa aplikacijama za npr. pametne telefone. Kritike upućene distribucijama koje koriste .deb i .rpm pakete uglavnom se odnose na striktne i komplikovane zahteve koji usporavaju uvođenje novih verzija i komplikuju podršku za Linuks zahtevanjem različitih verzija paketa za skoro svaku distribuciju.

Postoje i slabosti u vezi sa tim kako se trenutno bavimo razvojem i instalacijom softvera. Većina njih se odnosi baš na sistem ažuriranja. Uvek postoji čovek u sredini koji odlučuje o tome kada i šta treba da bude ažurirano. Rezultat je često zastarevanje aplikacija, što je loše i može proizvesti puno problema ako bezbednosne i druge ispravke ne budu dostavljene blagovremeno.

Institut za matematiku i informatiku - kompletan tekst