Tag-Archive for ◊ Linux ◊

LXR
Thursday, January 26th, 2012 | Author:

This week I want to pay tribute to an open source project called the LXR Cross Referencer. LXR is  a web tool that lets you browser the source code of a software project, navigating link by link based on included source files, functions or variables.

LXR can be downloaded from the project’s website [1] and applied to any software project.

The most popular instance of LXR is found on the project’s initial page [2] as an instance for the Linux Kernel. This site has a complete history of the Linux code since version 0.0.1 to latest stable version. Opening two windows of two different versions of a file, you can compare the code and see what’s been added or changed between the versions.

It’s very useful for finding where a function or a constant has been used, or to see in what header a function has been declared, defined and then used.

Note that all of the above can de done via command line tools like ctags or cscope alongside vim or emacs, with grep -r, diff and git. But the friendly part of lxr.linux.no is that everything is already on the site so you don’t need to download anything locally and you can use everything there as long as you have an Internet connection.

[1] http://lxr.sf.net/

[2] http://lxr.linux.no/

[CCIELab] IOS + Linux = Quagga
Thursday, January 05th, 2012 | Author:

[Originally posted on ccielab.ro]

Cisco IOS’s shell is a popular interface for devices in the networking world. But also in the network world, there are a lot of Linux/Open Source fans. The Quagga open source project tries to bring together IOS and Linux, by providing an IOS-like interface for configuring Linux’s interfaces, routing table and firewall, along side its own implementations of RIP, OSPF and BGP daemons.

The Quagga Software Routing Suite comes as a set of daemos. The main one is the zerbra daemon (Zebra is the old name of the project). This core daemon does the interaction with the Linux kernel and, also, with other daemons like ripd (RIP daemon), ospfd (OSPF daemon), bgpd (BGP daoemon). Quagga is modular, so you can implement new protocols if needed via a standard API.

To configure Quagga, you first need to start the daemons (at least the core one), in the /etc/quagga/daemons file. Each daemon has its own configuration file (ex. /etc/quagga/zebra.conf, /etc/quagga/ripd.conf etc.). Accessing the IOS-like shell is done via the vtysh command. Once in this shell, most commands available in Cisco’s IOS are available.

Router / # cd
Router ~ # vtysh

Hello, this is Quagga (version 0.99.18).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

Router# conf t
Router(config)# hostname  LinuxRouter
LinuxRouter(config)# exit
LinuxRouter# show ?
bgp             BGP information
clns            clns network information
daemons         Show list of running daemons
debugging       State of each debugging option

[...]

Keep in mind that some things are not 100% identical to a Cisco router (ex. the interface names). Here’s an example of how to configure an interface.

LinuxRouter# conf t
LinuxRouter(config)# interface  eth0
LinuxRouter(config-if)# ip address  141.85.42.1 ?
A.B.C.D/M  IP address (e.g. 10.0.0.1/8)
LinuxRouter(config-if)# ip address  141.85.42.1/24
LinuxRouter(config-if)# link-detect

Monitor output (show commands) are similar aside some Linux specific details (ex. Kernel routes are available in Linux, but not in IOS).

Router# sh ip route
Codes: K – kernel route, C – connected, S – static, R – RIP, O – OSPF,
I – ISIS, B – BGP, > – selected route, * – FIB route

K * 0.0.0.0/0 via 192.0.2.1, venet0 inactive
O 10.10.12.0/24 [110/10] is directly connected, eth0, 00:03:41
C>* 10.10.12.0/24 is directly connected, eth0
O 10.10.14.0/24 [110/10] is directly connected, eth1, 00:03:36
C>* 10.10.14.0/24 is directly connected, eth1
O>* 10.10.23.0/24 [110/20] via 10.10.12.2, eth0, 00:02:46
O>* 10.10.24.0/24 [110/20] via 10.10.12.2, eth0, 00:02:14
*via 10.10.14.4, eth1, 00:02:14
O>* 10.10.25.0/24 [110/20] via 10.10.12.2, eth0, 00:02:41
O>* 10.10.35.0/24 [110/30] via 10.10.12.2, eth0, 00:01:21
* via 10.10.14.4, eth1, 00:01:21
O>* 10.10.45.0/24 [110/20] via 10.10.14.4, eth1, 00:02:08
C>* 127.0.0.0/8 is directly connected, lo
C>* 127.0.0.1/32 is directly connected, venet0
C>* 172.10.10.0/32 is directly connected, venet0
K>* 192.0.2.1/32 is directly connected, venet0

Configuring a routing protocol instance is also similar:

LinuxRouter# conf t
LinuxRouter(config)# router ospf
LinuxRouter(config-router)# network  192.168.123.0/0 area 0

As you can see, coming from an IOS background, this tool is very easy to use on your Linux box. It is far from perfect since it doesn’t have the years in production like IOS or iproute2, but it is cool to test out.

FOSDEM 2011
Tuesday, February 08th, 2011 | Author:

These days I’m in Bruxelles, .be, at FOSDEM 2011 [1], together with friends from ROSEdu.
The Free and Open Source Developers’ European Meeting is a two day conference that brings together Open Source enthusiasts, stuffs them into a building and waits for them to fight with each other in geekiness.
The two day schedule is very crowded, from 9 AM to 6 PM, with event in 10 rooms at the same time. Alongside the presentations, communities and companies have stands in the hallways. Everyone who is anyone is here. Fedora, Mandriva, CentOS, OpenSUSE, Debian and Ubuntu, Gnome and KDE, Mozilla, OpenOffice and LibreOffice, PostgreSQL, BSD, Perl and many others. You can buy T-Shirts, badges and other geeky souvenirs from practically every stand (I bought a couple of gifts I can’t wait to give). O’Reilly has a huge list of open source related books for sale. CACert.org brought assurers for the Web of Trust (I didn’t get to assure any new people, but I did do some 0 points assurances of other assurers). In the Embedded building, communities/companies like BeagleBoard have a showcase for embedded devices that run Android or other embedded distros.
The presentations were form boring to very interesting, but I didn’t get to see more than a few. The first one I went to was a bout LLVM, a new compiler that is suppose to be the next gcc. Went to one about HTML5 and it was the first time I heard talking about the fact that “HTML5 is here” and not “HTML5 is coming” (I can’t wait to hear the same thing about IPv6) and learned some interesting things about HTML5. One more presentation, on a similar topic was about “The browser as a desktop” and how the web will evolve. Another one was about Google’s Go programming language… interesting, but I still didn’t get why Go was better than other languages. As part of the lightning talks of 15 minutes, an interesting one was about CyaTLS, an implementations similar to OpenSSL, only for embedded devices. Another interesting presentation was one from OpenStack about open source Cloud solutions, but could have used more technical details. But the most interesting presentation for me was the very last one, “How kernel development goes wrong”, from a Linux kernel developer with an inside look into the Linux Development Community.
The event was interesting. talked to some people there (for example some guys from Mozilla Europe that told me about a rising community in the Balkans, so that would Include Romaina, and told him that maybe we might collaborate). I learned about some new things, found out more about already known things. So, overall, it was an interesting experience.

[1] http://fosdem.org/2011

Un an de întâlniri RLUG/Prolinux
Friday, November 12th, 2010 | Author:

Există în lume multe LUG-uri, adică Linux User Groups, comunități de oameni care folosesc și promovează Linux. România nu este mai prejos și are și ea o comunitate puternică și destul de veche, RLUG [1]. Unii sunt administratori de sisteme, alții dezvoltatori, angajați la firme mari și mici din IT sau pur și simplu fani Linux pentru acasă, toți sunt pasionați de ce înseamnă Linux. Majoritatea sunt membrii ai altor comunități Open Source din România (cum sunt Fedora România sau Ceata).

Comunitatea se învârte foarte mult în jurul listelor de discuții RLUG. Listele principate sunt destul de tehnice și susținute de oameni care investesc mult timp încercând să îi ajute pe ceilalți contribuind cu lucrurile pe care ei le cunosc despre administrarea sistemelor Linux. De asemenea sunt găsiți și pe IRC.

RLUG pune la dispoziție serverele HTTP/FTP lug.ro, care sunt mirror-uri în România pentru distribuțiile importante de Linux și repository-uri pentru pachete.

Recent, acum aproape un an, în jurul acestei comunități cu tradiție s-a înființat Asociația Prolinux [2]. După cum spune în Statutul Asociației, “Scopul înființării Asociației ProLinux este promovarea și sprijinirea utilizării programelor de calculator cu surse deschise (engl. open source) în rândul utilizatorilor instituționali, industriali și privați din România.”

Din noiembrie 2009, RLUG prin intermediul Prolinux organizează o serie de Întâlniri lunare RLUG [3], în fiecare a doua joi într-un loc business numit Bucharest Hubb [4]. În cadrul acestor întâlniri se țin prezentări despre programe Linux după care se iese la bere pentru socializare. Aseară a avut loc ce-a de-a 13-lea astfel de întâlnire și, cu această ocazie, s-a aniversat un an de întâlniri RLUG/Prolinux. La multe întâlniri!

Mai recent, comunitatea organizează și o serie de Ateliere [5] în care oamenii să vină cu laptopurile și să lucreze pe viu pentru a învăța lucruri noi în Linux. Atelierele vin în completarea întâlnirilor pentru a oferi o parte mai practică. Se intenționează mutarea acestor întâlniri în Politehnică pentru a atrage studenții spre ele și spre linux.

[1] http://lug.ro/

[2] http://prolinux.ro/

[3] http://wiki.lug.ro/Categorie:%C3%8Ent%C3%A2lnirile_RLUG

[4] http://bucharesthubb.com/

[5] http://wiki.lug.ro/Categorie:Atelierele_RLUG

Blug*OS*Con
Saturday, December 05th, 2009 | Author:

Cei de la Bucharest Linux User Group [1] au luna acesta un proiect destul de mare: o conferință open source.

Blug*OS*Con [2] este destinată celor ce folosesc Linux și doresc să afle mai multe despre tehnologiile bazate pe Linux.

Conferința va avea loc în Rectoratul Universității Politehnice București, în sala AN010, pe data de 12 Decembrie 2009. Pentru programul complet, vizitați site-ul oficial.

[1] http://blug.ro/

[2] http://blugoscon.blug.ro/

Romanian/Bucharest Linux User Groups. Programmers day.
Sunday, September 13th, 2009 | Author:

După ce am tot găsit multe site-uri ale LUG-urilor din tot felul de orașe din lume, am fost curios dacă există un Linux User Group pe plan local. Așa că am dat un mic search pe Google și am găsit că există Bucharest LUG [1]. Am intrat pe site-ul lor, am văzut că au și un canal de IRC ( #blug.ro pe FreeNode [2]) și am început să vorbesc cu oamenii de acolo.  În acest weekend am fost și la una din întâlnirile lor care a fost destul de interesantă (am aflat mai multe despre o distribuție numită ArchLinux și despre un soft de telefonie IP făcut în România, Yate).

Am mai căutat puțin și am găsit și o listă [3] de LUG-uri și Comunități Open Source din România (ROSEdu is one of them ;) ).

În alte știri, azi s-a sărbătorit Ziua Programatorului [4]. Ziua a fost declarată oficial sărbătoare în Rusia [5].

[1] http://blug.ro

[2] irc://irc.freenode.net/#blug.ro

[3] http://wiki.lug.ro/mediawiki/index.php/Comunit%C4%83%C5%A3i_Linux_din_Rom%C3%A2nia

[4] http://www.programmerday.info/

[5] https://news.slashdot.org/story/09/09/12/1548245/Russias-New-Official-Holiday-mdash-Program

True X-Mouse Gizmo
Saturday, June 06th, 2009 | Author:

Fiind de părere că oamenii din Computer Science ar trebui să fie la fel de familiari şi cu Linux dar şi cu Windows, prefer să am ambele sisteme de operare în viaţa mea de zi cu zi. Amblele au plusuri şi minusuri. Una din facilităţile existente pe Linux care îmi lipseşte foarte mult când lucrez în Windows este posibilitatea de a face copiere în clipboard prin selecţie şi paste prin click middle.

Link of the day: True X-Mouse Gizmo [1]. Nu este un program foarte complex dar adaugă Windows-ului facitilatea dorită. Problema este că în Linux, clipdoard-ul pentru ctrl-c/ctrl-v este separat de cel de select/click-m, pe când acest program face copierea în acelaşi clipboard.

[1] http://fy.chalmers.se/~appro/nt/TXMouse/

Migrare la Linux Part II: Migrare date
Friday, April 10th, 2009 | Author:

Dacă ne mutăm de pe un sistem de operare pe altul vrem să avem acces la tot la ce aveam înainte. Este un alt hop destul de important.

În cazul în aţi urmat tactica de migrare  în mai mulţi paşi (see [1]) trecerea ar putea fi mai uşoră. Două lucuri de care sunt destul de ataşat sunt datele personale din browser şi cele din instant messenger. Bookmark-urile, istoria de navigare în cazul Firefox sunt stocate pe Windows în directorul $SYSTEM\Documents and Settings\$USER\Application Data\Mozilla în cazul XP sau $SYSTEM\Users\$USER\Application Data\Mozilla în cazul Vista. Echivalentul în Linux a acesui director este ~/.mozilla (este un director ascuns din directorul home al utilizatorului). Copierea conţinutului directorului din Windows în cel de Linux va duce o restaurere completă a setărilor Firefox (înclude parole salvate,  certificate digitale şi orice pluginuri instalate). Pentru foarte mulţi oameni este cel mai important clientul de email. În cazul Thunderbird migrarea se face la fel de uşor directorul fiind .mozilla-thunderbird, aflat în aceleaşi locaţii ca şi Firefox. Al doilea lucru pe care am ţinut să îl migrez a fost clientul de messenger, Pidgin. Toată arhiva şi setările se află în directorul .purple din Application Data pe Windows. În Windows faptul că directorul are un punct în faţă nu are nici o relevanţă, dar dacă este copiat în directorul home în Linux, el va fi ascuns şi va fi locul de unde vor fi luate setările Pidgin-ului.  Software-ul proprietar (Internet Explorer, Outlook Express, Yahoo Messenger) este foarte greu migrabil… analizaţi bine ce programe foloşiţi şi cât de importante vă sunt înainte de a face pasul spre un alt sistem de operare.

Dar rămân celelalte date, cele mai vizibile, cum sunt documentele personale. De când Microsoft a introdus NTFS ca sistem de fişiere pentru sistemele sale de operare, Linux-ul a avut problemle destul de mari cu accesarea partiţiilor de Windows. Faptul că NTFS este proprietar, un driver pentru el a fost foarte greu de codat. Mulţi ani NTFS pe Linux a fost foarte periculos (ducând până la pierderi de date). Dar acum, din fericire, s-a scos pe piaţa ntfs-3g [2] ce oferă o interactiune stabilă cu partiţiile Windows. După instalarea driverului (‘apt-get install ntfs-3g’ pe Debian based distributions) şi mount-area partiţiilor puteţi accesa datele.

Recomandat este ca partiţiile să fie mapate în sistemul de fişiere folosind fişierul /etc/fstab pentru a fi automat configurare la pornire. De asemenea trebuiesc setate drepturi potrivite (implicit doar root va avea drept de citire/scriere). Iată un exemplu de intrare în fstab în care utilizatorul normal ce foloseşte sistemul are drepturi depline

/dev/sdb1       /mnt/win         ntfs-3g    defaults,user,uid=alexj,gid=alexj,umask=007 0 0

[1] http://alexj.info/?p=621

[2] http://www.ntfs-3g.org/

Certificări Linux
Tuesday, March 10th, 2009 | Author:

Din seria articolelor despre certificări ( [1] [2] [3]), doresc să aduc la cunoştinţă certificările din domeniul Linux.

Spre deosebire de certifcările de la companii cum sunt Cisco, Microsoft, Sun sau Oracle ce oferă certifcări pentru produsele lor, cele legate de Linux nu pot fi sub tulela unei singure companii sau organizaţii deoarece Linux-ul în sine nu este controlat de o singură entitate.

Unele din cele mai căutate certificări de Linux sunt cele de la Linux Professional Institute (LPI) [4]. LPI este o organizaţie non profit care are un singur scop: de a certifica profesionişti în administrarea Linux, îndependent de o anumită distribuţie.

LPI oferă certificările LPIC (LPI Certifications) ce sunt structurate pe 3 niveluri: LPIC-1 (Junior Level) LPIC-2 (Advanced Level) şi LPIC-3 (Senior Level). LPI nu oferă direct training printr-un curriculum propriu, dar oferă o structură de curs, nişte obiective pentru fiecare certificare şi se bazează pe parteneri de training ce oferă materiate pentru pregătire.  Academia Cisco UPB (ccna.ro [5]) oferă un curs de pregătire, unic între Academiile Cisco, pentru LPIC-1 [6]. Cursul se bazează pe nişte cunoştine de la cursul de USO de la secţia de Calculatoare sau pe cele din cursul de Introducere în Linux [7] disponibil tot la Academia Cisco UPB.

O altă certificare foarte cunoscută este Linux+ de la CompTIA [8]. CompTIA este o firmă ce se specializează pe certificări IT în general, nu doar pe Linux. Sper deosebire de LPI nu oferă un pachet complet pe mai multe niveluri ci o singură certificare ce necesită un singur examen. La fel, CompTIA nu oferă cursuri directe.

Mergând spre certificările bazate pe o anumită distribuţie, le avem pe cele de la Red Hat [9], una din marile companii bazate pe Linux. Cea mai cunoscută este RHCE (Red Hat Certified Engineer). Pe lânga RHCE mai sunt RHCT (Red Hat Certified Technician), RHCDS/RHCSS, (Red Hat Certified Datacenter/Security Specialist) şi RHCA (Red Hat Certified Architect).

Novel oferă, de asemenea o serie de certificări [10] pentru produsele lor, printre care şi Novell Certified Linux Administrator.

[1] http://alexj.info/?p=376

[2] http://alexj.info/?p=405

[3] http://alexj.info/?p=434

[4] http://lpi.org/

[5] http://ccna.ro

[6] http://ccna.ro/lpic

[7] http://ccna.ro/linux

[8] http://comptia.org

[9] http://www.redhat.com/certification/

[10] http://www.novell.com/training/certinfo/

Cursuri în facultate, în afara facultăţii
Sunday, March 01st, 2009 | Author:

Odată cu noul semestru, au început o nouă serie de cursuri extracuriculare, iar anul acesta numărul de posibilităţi este destul de mare.

Academia Cisco (ccna.ro) [1] începe clase noi de CCNA şi CCNP, destinate celor interesaţi într-o carieră de networking. Interviurile pentru clasele de CCNA1 au loc pe 4 martie. [2]

Tot ccna.ro oferă două cursuri noi de Linux. Primul este un curs de LPIC-1 [3] (Linux Professional Institute Certification level 1) mapat în jurul certificării de la LPI.  Este un curs de administrare Linux și  este destinat celor ce doresc să își dea certificarea LPIC-1 și au o bază în folosirea sistemului Linux. Cursul poate fi o continuare pentru studenții de la Calculatoare (anii I și II) a cursului de Utilizarea Sistemelor de Operare din cadrul facultații. Inteviul pentru LPI va avea loc pe 11 martie. [2]

Al doilea curs este unul de Introducere în Linux [4] ce dorește a lua de la zero studenții dornici să învețe Linux.  Este un puncte de pornire pentru cei ce plănuiesc a da o certificare Linux (acet curs poate fi completat următorul semestru de cel de LPIC). Cursul este targetat studenților ce nu au avut în facultate un curs de Linux (cum sunt cei de la Automatică, Electronică sau FILS).  Interviurile pentru clasa de Introducere în Linux au loc pe 18 martie. [2]

ROSEdu oferă un Curs de Dezvoltare Liberă [5] despre care am mai vorbit [6].

Tot semestul acesta se desfășoară partea a doua a Laboratorului de Electronică Aplicată [7] [8].

Pentru cei interesați de tehnologii Microsoft, noua Academie Microsoft [9] oferă cursuri de Visual Studio 2008, SQL Server 2008 și Windows Server 2008. Interviurile au loc pe 12* martie.

[1] http://ccna.ro

[2] http://ccna.ro/sumar/stiri

[3] http://ccna.ro/lpic

[4] http://ccna.ro/linux

[5] http://cdl.rosedu.org/

[6] http://alexj.info/?p=667

[7] http://eap.cs.pub.ro/

[8] http://alexj.info/?p=494

[9] http://itacad.ro/