Download as pdf or txt
Download as pdf or txt
You are on page 1of 62

Staff

Eugenia Bahit
Arquitecta GLAMP & Agile Coach
Mara Jos Montes Daz
cnica en !nfor"#tica $e Gesti%n
Milagros !nfante Montero
Est& !ngeniera $e Siste"as
!n$ira Burga
!ngeniera $e Siste"as
Sergio !nfante Montero
!ngeniero $e Soft'are
Mario !(#n )u(alca*a
Profesional cnico en !nfor"#tica
+ac,ers & De(elo-ers Magazine se $istri*u.e *a/o una licencia Creati (e Co""ons Atri *uci %n
0oCo"erci al Co"-arti r! gual 1& 2 3n-orte$& Eres li*re $e co-iar4 $istri*uir . co"-artir este "aterial&
5)EE AS !0 5)EED6M7
AO ----------- 0
NMERO -------- 9
FECHA: 2013-07-29
:ESC6)P!;0<
HD
Hackers &
DEVELOPERS
+ Magazine $igital $e $istri*uci%n
"ensual so*re Soft'are Li*re4 +ac,ing . Progra"aci%n
-ara -rofesionales $el sector $e ecnologas $e la !nfor"aci%n
Hacker es alguien que disfruta
jugando con la inteligencia
Richard Stallman
Free Software, Free Society
(Pg. 97), GNU Press 2010-2012
En esta e$ici%n=
)ecu-era la contrase>a $e root en G03?Linu@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&A
Cone@iones SS+ . S5P $es$e P.thon con -ara"i,o&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&B
Pi'i,= 3na -latafor"a $e an#lisis 'e* alternati(a&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&CD
P#gina Man Ec%"o crearlasF&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DA
Monitorizaci%n $el Siste"a con Con,.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&11
Crean$o ca-turas $e -antalla -ara tus "anuales con Shutter&&&&&&&&&&&&&19
ra*a/an$o con G! !!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& AG
H!LL & H!LLALL= Asesinato en Pri"er Gra$o&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&GC
El -o$eroso (irtualen('ra--er&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& GG
I LAS SECC!60ES DE S!EMP)E=
ASC!! Art&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P#g& JC
Este "es= Scor-ion
Kona 37&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& P#g& JD
La co"uni$a$ $e nuestros lectores . lectoras
Hackers &
DEVELOPERS
+
+ac,ers & De(elo-ers Magazine4 es
una iniciati(a sin fines $e lucro
$estina$a al fo"ento . $ifusi%n $e
las tecnologas li*res -resentes o
futuras4 *a/o una clara %-tica
$ocente . altruista4 que resulte $e
inters tcnico .?o cientfico a
-rofesionales $el sector $e
ecnologas $e la !nfor"aci%n&
+ac,ers & De(elo-ers Magazine se
sostiene econ%"ica"ente con el
a-o.o $e la co"uni$a$4 no
reci*ien$o su*(enci%n alguna $e
ninguna e"-resa4 organizaci%n u
organis"o $e Go*ierno&
0ecesita"os $e tu a-o.o -ara
-o$er "antener este -ro.ecto&
A.L$anos a continuar
con este -ro.ecto
Pue$es hacer un $onati(o ahora4
$e C24 CG4 DG4 G24 C22 o CG2 3SD
-ara a.u$ar a que +ac,ers &
De(elo-ers Magazine -ue$a seguir
-u*lic#n$ose $e for"a gratuita4
to$os los "eses& Pue$es $onar con
Pa.Pal o ar/eta $e Cr$ito a tra(s
$el siguiente enlace=
'''&h$"agazine&org?$onar
+ac,ers & De(elo-ers Magazine es -osi*le gracias al co"-ro"iso $e=
Responsable de Proyecto
Eugenia Bahit
Responsables de Comunicacin
!n$ira Burga MAtenci%n al LectorN O Milagros !nfante (if!si"#)
Sta
Eu!enia "ahit
$r%!itecta G&$'P & $gi(e )oac*
www.e!ge#ia+a*it.co,
#ndira "ur!a
-#ge#iera .e Siste,as
a+o!t.,e/i#.ira+,
$ila!ros #nante $ontero
0st!.ia#te .e -#ge#ier1a e# Siste,as
www.,i(a(e.#et
$ar%a &os' $ontes D%a(
23c#ica e# -#for,tica .e Gesti"#
arc*#i#fa.+(ogs4ot.co,.es
Ser!io #nante $ontero
-#ge#iero .e Software
#eosergio.#et
Colabora en esta edicin)
Fa+io !r# 5er.!go
Diusin
+ac,ers & De(elo-ers Magazine agra$ece a los -ortales que nos a.u$an con la $ifusi%n $el -ro.ecto=
www..e+ia#*ac6ers.#et www..esarro((owe+.co, www..es.e(i#!7.#et
EO"ail $e Contacto=
contactoPh$"agazine&org
Qe* 6ficial= '''&h$"agazine&org
Cuenta 'itter 6ficial= P+ac,De(Magazine
S
I
S
A
D
M
!
0
+ac,ers & De(elo-ers Magazine R A>o 24 0L"ero 9
A
Recupera la contrase*a
de root en +,-.Linu/
01u% os de2o un pe1ue*o truco 1ue nos permitir3
restablecer la contrase*a de root4
Escrito por: $ar%a &os' $ontes D%a( ($rc*era & Progra,a.ora)
0st!.ia#te .e Gra.o -#ge#ier1a e# 2ec#o(og1a .e (a i#for,aci"#. 23c#ico
e# i#for,tica .e gesti"#. 'o#itora FP8. oce#te .e 4rogra,aci"#
Pyt*o# y Scratc* 4ara #i9os .e :-12 a9os. $cti;ista .e( software (i+re y
c!(t!ra (i+re.
5ebs)
<(og= *tt4=//+(og.arc*#i#fa.org/
Redes sociales)
2witter= 6$$ontesDia(
ti(i>a,os ,!c*as co#trase9as y, 4or te,as .e seg!ri.a., #o !sa,os (a ,is,a
4ara to.o, 4ero ?%!3 oc!rre si o(;i.o (a co#trase9a .e root@ P!es ;ea,os !#
,3to.o 4ara resta+(ecer(a. U
&o 4ri,ero %!e .e+e,os *acer es .ecir(e a #!estro gestor .e arra#%!e %!e, e# (!gar .e
arra#car !# ,o.o #or,a(, i#icie s"(o !# ter,i#a( co# <as*. Para e((o, e# e( i#icio .e(
siste,a, te#e,os (a 4osi+i(i.a. .e e.itar (as e#tra.as .e( gestor .e arra#%!e. 5ea,os
c",o se *ar1a 4ara &i(o y Gr!+=
&-&8
Presio#a,os 78ab9, y a9a.i,os a (a e#tra.a init:.bin.bash
Linux
boot:Linux init=/bin/bash
GAU<
Po.e,os e.itar (a e#tra.a se(eccio#a.a 4!(sa#.o e. <!sca,os (a e#tra.a linu/.
Po.e,os ;er !# eBe,4(o e# (a i,age#=
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& G
U#a ;e> (oca(i>a.a (a e#tra.a, a( fi#a( .e (1#ea, e# este caso .etrs .e %!iet, a9a.i,os=
init=/bin/bash
U#a ;e> e.ita.a (a e#tra.a, 4!(sa,os F10 4ara co#ti#!ar.
N!estro siste,a arra#car e# !# ter,i#a( co# <as*, co,o !s!ario root y co# e( siste,a
.e arc*i;os ,o#ta.o co,o s"(o (ect!ra. &o sig!ie#te, ca,+iar e( ,o.o a
(ect!ra/escrit!ra=
mount -o remount -rw
C ya 4o.e,os resta+(ecer (a co#trase9a eBec!ta#.o=
passwd root
S"(o #os %!e.a rei#iciar e( siste,a=
/s+i#/s*!t.ow# #ow -ar#
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& J
P
I

+
6
0

S
C
)
!
P

!
0
G
+ac,ers & De(elo-ers Magazine R A>o 24 0L"ero 9
B
Scriptin! para Sys0dmins)
Cone/iones SSH y
S;8P desde Python
con paramiko
Crear cone/iones SSH con Python< es tan simple como
escribir unas pocas l%neas de cdi!o !racias al mdulo
paramiko
=
y con 'l< comen(amos la nue>a serie de
art%culos Scripting para SysAadmins< especialmente
dise*ada para 0dministradores de Sistemas 1ue
deseen incursionar en la pro!ramacin4
Escrito por: Eu!enia "ahit (G&$'P Dac6er & eEtre,e Progra,,er)
0!ge#ia es 0r1uitecta de Sot?are, .oce#te e i#str!ctora .e
tec#o(og1as +L0$P (GNU/&i#!7, $4ac*e, 'ySF&, Pyt*o# y PDP) y 0!ile
coach (U2N) es4ecia(i>a.a e# Scr!, y e@treme Pro!rammin!. 'ie,+ro
.e (a ;ree Sot?are ;oundation, 8he Linu/ ;oundation y Debian
Hackers. )rea.ora .e 4yt*o#-4ri#tr, 0!ro4io 0#gi#e y co(a+ora.ora .e
5i,.
5ebs)
)!rsos .e 4rogra,aci"#= www.c!rsos.e4rogra,acio#a.ista#cia.co,
Ge+ 4erso#a(= www.e!ge#ia+a*it.co,
Redes sociales)
2witter / -.e#ti.ca= 6eu!eniabahit
o,+i#ar e( 4o.er .e SSD co# e( .e Pyt*o# es !# s!e9o ,!y fci( .e c!,4(ir= so(o
+asta co# rec!rrir a( ,".!(o paramiko 4ara %!e co# !#as 4ocas (1#eas .e c".igo,
4o.a,os crear scripts %!e #os 4er,ita# crear co#e7io#es SSD y eBec!tar
co,a#.os .e for,a re,ota.
)
import paramiko
paramiko 4er,ite %!e e( !s!ario se ;a(i.e ta#to 4or co#trase9a co,o 4or 4ar .e ((a;es,
1 *tt4s=//4y4i.4yt*o#.org/4y4i/4ara,i6o
4or (o c!a( es i.ea( 4ara a!te#ticar !s!arios ,s a(( .e (as 4o(1ticas .e( ser;i.or.
Cone@i %n con autenti caci %n -or contrase>a
0( sig!ie#te, es !# eBe,4(o .e co#e7i"# est#.ar a!te#tica.a 4or co#trase9a=
import paramiko
# Inicia un cliente SSH
ssh_client = paramiko.SSHClient(
# Establecer poltica por defecto para localizar la llave del host localmente
ssh_client.set_missin!_host_ke"_polic"(paramiko.#uto#dd$olic"(
# Conectarse
ssh_client.connect(%&'(.)*+.,-../%0 ''0 %user%0 %secretpassword%
# Ejecutar un comando de forma remota capturando entrada, salida y error estndar
entrada0 salida0 error = ssh_client.exec_command(%ls -la%
# ostrar la salida estndar en pantalla
print salida.read(
# Cerrar la cone!i"n
ssh_client.close(
)o,o se 4!e.e o+ser;ar, !ti(i>ar paramiko es s!,a,e#te si,4(e y #o tie#e .e,asia.a
cie#cia. 0( H#ico Itr!coJ a te#er e# c!e#ta, es esta+(ecer (a 4o(1tica 4or .efecto 4ara (a
(oca(i>aci"# .e (a ((a;e .e( *ost e# e( or.e#a.or .e( c(ie#te. e (o co#trario, si #o se
e#co#trara (a ((a;e .e( *ost (host key, !s!a(,e#te (oca(i>a.a e# e( arc*i;o
~/.ssh/know_hoss), Pyt*o# #os arroBar1a (a sig!ie#te e7ce4ci"# .e paramiko=
raise SSH1xception(%2nknown ser3er 4s% 4 hostname
paramiko.SSH1xception: Unknown server &'(.)*+.,-../
3n conse/ o= -ara e(itar $e/ar la contrase>a al"acena$a en te@to -lano Mlo cual es $e su"o riesgo . sin
senti$oN4 ste se le -ue$e solicitar al usuario "e$iante !"pass&
5rom !etpass import !etpass
import paramiko
cla3e = !etpass(%Cla3e: %
H6S7 = %&'(.)*+.,-../%
$21876 = (,'
2S2#896 = %:uanpere;%
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& T
datos = dict(hostname=H6S70 port=$218760 username=2S2#8960 password=CL#<1
ssh_client = paramiko.SSHClient(
ssh_client.set_missin!_host_ke"_polic"(paramiko.#uto#dd$olic"(
ssh_client.connect(==datos
entrada0 salida0 error = ssh_client.exec_command(%ls -la%
print salida.read(
ssh_client.close(
Cone@i %n autenti ca$a -or -ar $e l l a(es
Para co#ectarse e;ita#.o (a !ti(i>aci"# .e !#a co#trase9a, se 4!.o *a+er crea.o
4re;ia,e#te, !#a ((a;e 4H+(ica %!e e( !s!ario .e+i" e#;iar a( ser;i.or, 4ara %!e e(
ser;i.or (a 4!e.a co#trarrestar co#tra (a ((a;e 4ri;a.a .e( !s!ario. 0# este caso, so(o
4o.r +astar co# #o e#;iar (a co#trase9a 4ara a!te#ticar a( !s!ario=
import paramiko
H6S7 = %&'(.)*+.,-../%
$21876 = (,'
2S2#896 = %:uanpere;%
datos = dict(hostname=H6S70 port=$218760 username=2S2#896
ssh_client = paramiko.SSHClient(
ssh_client.set_missin!_host_ke"_polic"(paramiko.#uto#dd$olic"(
ssh_client.connect(==datos
entrada0 salida0 error = ssh_client.exec_command(%ls -la%
print salida.read(
ssh_client.close(
E/ ecuci %n re"ota $e co"an$os co"o sL-er usuari o
Si e( !s!ario roo #o tie#e 4er,iti.as (as co#e7io#es re,otas ?c",o eBec!tar co,a#.os
co# 4ri;i(egios .e sH4er !s!ario si #os esta,os co#ecta#.o co# paramiko@ Ksta, s!e(e ser
!#a .e (as .!.as ,s frec!e#te y si# e,+argo, (a so(!ci"# #o est e# paramiko si#o e#
(os co,a#.os eBec!ta.os e# e( 4ro4io shell. 53a,os(o co# !# eBe,4(o e# e( %!e (ista,os
(as reg(as esta+(eci.as e# ipa#$"s co# s%&o -'=
from getpass import getpass
import paramiko
H6S7 = %&'(.)*+.,-../%
$21876 = (,'
2S2#896 = %:uanpere;%
datos = dict(hostname=H6S70 port=$218760 username=2S2#896
password = getpass('Clave: ')
ssh_client = paramiko.SSHClient(
ssh_client.set_missin!_host_ke"_polic"(paramiko.#uto#dd$olic"(
ssh_client.connect(==datos
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& 9
comando = 'echo %s | sudo - iptables -nL' % password
entrada0 salida0 error = ssh_client.exec_command(comando
print salida.read(
ssh_client.close(
Guar$an$o l os l ogs $e -ara"i ,o
)o# paramiko ta,+i3# es 4osi+(e registrar to.a (a acti;i.a. %!e paramiko rea(ice .es.e
e( script=
5rom !etpass import !etpass
import paramiko
H6S7 = %&'(.)*+.,-../%
$21876 = (,'
2S2#896 = %:uanpere;%
datos = dict(hostname=H6S70 port=$218760 username=2S2#896
password = !etpass(%Cla3e: %
paramiko!util!log"to"file('paramiko!log')
ssh_client = paramiko.SSHClient(
ssh_client.set_missin!_host_ke"_polic"(paramiko.#uto#dd$olic"(
ssh_client.connect(==datos
comando = %echo 4s > sudo -S iptables -nL% 4 password
entrada0 salida0 error = ssh_client.exec_command(comando
print salida.read(
ssh_client.close(
Mani -ul an$o archi (os re"otos "e$i ante S5P
)o# 4ara,i6o es 4osi+(e crear co#e7io#es SF2P .irectas (si# rec!rrir a( c(ie#te SSD) 4or
,e.io .e( o+Beto 'F()C$i"n*+. $!#%!e ta,+i3#, 4o.re,os o+te#er !#a i#sta#cia .e
'F()C$i"n .es.e e( 4ro4io c(ie#te SSD (''HC$i"n) rec!rrie#.o a( ,3to.o op"n_s,p*+.
import paramiko
paramiko.util.lo!_to_5ile(%paramiko.lo!%
H6S7 = %&'(.)*+.,-../%
$21876 = (,'
2S2#896 = %:uanpere;%
datos = dict(hostname=H6S70 port=$218760 username=2S2#896
ssh_client = paramiko.SSHClient(
ssh_client.set_missin!_host_ke"_polic"(paramiko.#uto#dd$olic"(
ssh_client.connect(==datos
entrada0 salida0 error = ssh_client.exec_command(%pwd%
ruta = salida.read(.replace(%?n%0 %%
sftp = ssh"client!open"sftp() # Crea un objeto SFTPClient#$
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& C2
# %escar&ando archivos
archi3os = sftp!listdir()
5or archi3o in archi3os:
archi3o_remoto = @4(rutas/4(nombres@ 4 dict(ruta=ruta0 nombre=archi3o
print @Aescar!ando: 4s@ 4 archi3o_remoto
tr":
sftp!get(archi3o_remoto0 @paramii/4s@ 4 archi3o
print @copiado archi3o 4s.@ 4 archi3o
except:
print @Ballo al intentar copiar 4s. 7al 3e; es un directorio.@ 4 archi3o
s5tp.close(
ssh_client.close(
0( c(ie#te SF2P .e paramiko, 4ro;ee .e (os ,is,os ,3to.os %!e !# c(ie#te F2P #or,a(.
2o.os (os ,3to.os 4!e.e# ser co#s!(ta.os .es.e e( ,a#!a( oficia( i#gresa#.o e#
*tt4=//www.(ag.#et/4ara,i6o/.ocs/4ara,i6o.SF2P)(ie#t-c(ass.*t,(
0#tre (os ,3to.os 4ro;istos 4or e( c(ie#te SF2P, 4o.re,os e#co#trar=
$'todo Descripcin
!"*r"moo- $o.a$+ 2rae !# arc*i;o re,oto a !# .irectorio (oca(
p%*$o.a$- r"moo+ 0#;1a !# arc*i;o (oca( a( ser;i.or
.h&ir*r%a+ )a,+ia e( .irectorio .e tra+aBo act!a(
.hmo&*r%a- mo&o+ )a,+ia 4er,isos e# !# arc*i;o
mk&ir*r%a- mo&o/011+ )rea !# .irectorio
r"nam"*an"rior- n%"2o+ Ae#o,+ra !# arc*i;o o .irectorio
r"mo2"*ar.hi2o+ 0(i,i#a !# arc*i;o
rm&ir*r%a+ 0(i,i#a !# .irectorio
s3m$ink*,%"n"- &"sino+ )rea !# e#(ace si,+"(ico
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& CC
S
E
6
+ac,ers & De(elo-ers Magazine R A>o 24 0L"ero 9
CD
Pi?ik) -na plataorma
de an3lisis ?eb
alternati>a
El an3lisis ?eb es un con2unto de t'cnicas
relacionadas con el estudio de datos relati>os al
tr3ico en un sitio ?eb4 La principal inalidad de este
tipo de an3lisis es la de comprender de me2or orma
el impacto y la tendencia 1ue nuestros ser>icios
producen sobre los >isitantes del sitio< ayud3ndonos a
emprender una estrate!ia m3s eica( de cara a
nuestro pAblico o nicho de mercado4
Escrito por: $ario #>3n Ru>alcaba (Profesio#a( 23c#ico e# -#for,tica)
'ario -;# A!;a(ca+a (a4k4a4 Perseo) es est!.ia#te .e -#ge#ier1a e#
)o,4!taci"#, Profesio#a( 23c#ico e# -#for,tica y )of!#.a.or .e BC
DesdeLinu/. Us!ario y a,a#te .e GNU/&i#!7, i.ea(ista, e#t!siasta y
.efe#sor .e( Software y )!(t!ra &i+reL acti;ista y +(ogger. &i#!7 !ser=
MN7N:O.
5ebs)
www.4erseos+(og.co,
Redes sociales)
2witter / -.e#ti.ca= 6icaroperseo
!a#.o 4!+(ica,os !# sitio we+, ya sea !# +(og 4erso#a( o cor4orati;o, o ta( ;e>
!#a 4gi#a .o#.e ofrecer #!estros 4ro.!ctos y ser;icios, (o *ace,os
4ri#ci4a(,e#te co# .os o+Beti;os e# ,e#te= 2ratar .e ((egar a (a ,ayor ca#ti.a.
4osi+(e .e 4erso#as y 4roc!rar crear o 4!+(icar co#te#i.o .e i#ter3s 4ara seg!ir
co#ta#.o co# s!s ;isitas .e for,a rec!rre#te, 4ero ?)",o sa+er %!e esta,os
c!,4(ie#.o .e for,a efecti;a #!estros o+Beti;os@ ?)",o co#ocer c!(es so# (os te,as
.e ;er.a.ero i#ter3s 4ara #!estros (ectores y c!a(es so# i#trasce#.e#ta(es@ U#a .e (as
,eBores ,a#eras .e ,e.ir este i,4acto es 4or ,e.io .e( a#(isis we+.
)
&as *erra,ie#tas .e a#(isis we+ #os 4ro4orcio#a# i#for,aci"# ta# .i;ersa co,o= e(
co,4orta,ie#to .e (os !s!arios e# e( sitio, e( 4a1s .e .o#.e 4roce.e#, c!(es so# (as
4gi#as %!e *a# ;isita.o o (a 4gi#a %!e est# ;is!a(i>a#.o act!a(,e#te, si *a#
acce.i.o a( sitio .irecta,e#te .es.e !# ,otor .e +Hs%!e.a co,o Goog(e, <i#g, e#te
otros o si *a# si.o re.irigi.os .es.e !#a 4gi#a e7ter#a, c!a#to tie,4o 4er,a#ece# e#
e( sitio, e# %!3 4!#to a+a#.o#a# e( sitio, %!3 4gi#as c!e#ta# co# !#a ,ayor ca#ti.a.
.e trfico y c!(es #o, o+te#ci"# .e re4ortes .e ;isitas .iarias, se,a#a(es y ,e#s!a(es,
c!a(es so# (os criterios .e +Hs%!e.a o 4a(a+ras c(a;e ,s !ti(i>a.os 4or (os !s!arios,
sie#.o estos so(o a(g!#os .e (os ta#tos +e#eficios %!e #os ofrece# este ti4o .e a#(isis.
07iste# ser;icios ,!y co#oci.os %!e #os ay!.a# e# este ti4o .e tareas co,o Google
Analytics, 4ero e# esta ocasi"# (es 4rese#tar3 !#a 4(atafor,a ,!c*o ,s co,4(eta y
%!e a.e,s tie#e co,o 4(!s e( ser software (i+re.
Pi?ik
2
es !#a 4(atafor,a .e a#(isis we+ %!e c!e#ta co# !# si##H,ero .e
f!#cio#a(i.a.es y caracter1sticas %!e (o co#;ierte# e# !#a *erra,ie#ta +asta#te f(e7i+(e
y ,!c*o ,eBor a.a4ta.a a (as #ecesi.a.es .e( !s!ario. Posee !#a a,4(ia co,!#i.a.
%!e (e +ri#.a !# .esarro((o acti;o y co#sta#te (act!a(,e#te se e#c!e#tra e# (a ;ersi"#
1.12 y 4r"7i,a a( (a#>a,ie#to .e (a ;ersi"# 2.0, ,is,a %!e 4ro,ete !# si#f1# .e
,eBoras
P
), .is4o#e .e !#a gra# ca#ti.a. .e co,4(e,e#tos 4ro4ios y .esarro((a.os 4or
terceros, a.e,s .e estar .is4o#i+(e e# NO i.io,as i#c(!i.o e( es4a9o(. Por otra 4arte
ta,+i3# es 4osi+(e i#tegrar Piwi6 co# frameworks co,o Ruby On Rails o D2an!o y !#a
gra# ca#ti.a. .e gestores .e co#te#i.o ()'S) ta(es co,o 5ordpress, Drupal, &oomlaD,
e#tre otros.
Ilustracin 1: CMS y Frameworks soportaos por !iwik entre otros"
0# esta ocasi"# H#ica,e#te ;ere,os !#a +re;e rese9a .e (as f!#cio#a(i.a.es y
4artic!(ari.a.es .e Piwi6, ya %!e ,ostrar 4(e#a,e#te to.as s!s ca4aci.a.es .ar1a 4ara
,s .e !# art1c!(oL si# ,s, co,e#ce,os.
Panel $e Control
&a ,ayor1a .e f!#cio#a(i.a.es .e Piwi6 se 4!e.e# a4reciar .irecta,e#te .es.e s!
4a#e( .e co#tro(, .es.e a*1 4o.re,os o+te#er r4i.a,e#te (a sig!ie#te i#for,aci"# e#
tie,4o rea(=
+r3ica de las Altimas >isitas
2 http://piwik.org/
P http://piwik.org/roadmap/
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& C1
Ilustracin #: Gr$fica e %isitas"
0# este caso e( criterio e,4(ea.o e# (a grfica *a si.o to.as (as ;isitas, 4ero ta,+i3# se
4!e.e# ,ostrar (os sig!ie#tes .atos= ;isita#tes H#icos, 4ro,e.io .e tie,4o e# e( sitio,
4orce#taBe .e re+ote, etc. 8tras f!#cio#a(i.a.es i#teresa#tes so#= e( 4o.er rea(i>ar
a#otacio#es e# (a grfica, e74ortar e( co#B!#to .e .atos e# otros for,atos o co,o
i,age#.
Visitantes en tiempo real
Ilustracin &: 'isitantes en tiempo real"
es.e a%!1 se 4!e.e o+te#er s!ficie#te i#for,aci"# .e( !s!ario co,o= *ora y fec*a,
4a1s .e orige#, ti4o y ;ersi"# .e( #a;ega.or .e i#ter#et, siste,a o4erati;o y/o
.is4ositi;o ,";i(, .irecci"# -P, 4roce.e#cia (4gi#a e7ter#a o ,otor .e +Hs%!e.a Qe#
caso .e %!e e( !s!ario *aya i#gresa.o a( sitio 4or ,e.io .e !# +!sca.or, ta,+i3# se
,!estra# (as 4a(a+ras c(a;e %!e e,4(e", as1 co,o (a 4osici"# e# (a %!e se e#c!e#tra#
.e#tro .e( grfico I&ista.o .e 4a(a+ras c(a;eJ, ,is,o %!e se ,ostrar ,s a.e(a#teQ), si
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& CA
es o #o !# ;isita#te rec!rre#te, 4gi#as .e( sitio %!e se e#c!e#tra ;isita#.o o *a
;isita.o, .!raci"# .e s! ;isita, rec!rsos (arc*i;os, i,ge#es, etc.) %!e e( !s!ario a
.escarga.o .irecta,e#te .e( sitio.
Ilustracin (: Informacin etallaa e las %isitas al sitio"
Ilustracin ): *escripcin e las p$ginas %isitaas"
Ilustracin +: !ala,ras cla%e utili-aas y posicin ocupaa .ranking/ en el gr$fico 01istao e pala,ras cla%e2"
Ilustracin 3: *escripcin e los recursos escargaos o acceios
irectamente el sitio"
Duracin de las >isitas
Por ,e.io .e este grfico 4o.re,os co#ocer c!( es e( tie,4o a4ro7i,a.o %!e (as
;isita# 4er,a#ece# e# e( sitio, .ic*o grfico se 4!e.e re4rese#tar ya sea co,o !#a
#!+e .e eti%!etas, grfica .e +arras, circ!(ar o e# for,a .e ta+(a. )o,o casi (a ,ayor1a
.e (os re4ortes, ta,+i3# se 4!e.e e74ortar a otros for,atos.
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& CG
Ilustracin 4: *uracin e las %isitas 5 6u,e e eti7uetas"
Lista de palabras cla>e
$ tra;3s .e este (ista.o 4o.re,os a#a(i>ar y o+te#er (as 4a(a+ras c(a;e %!e (os !s!arios
e,4(ea# co# ,ayor reg!(ari.a. e# (os ,otores .e +Hs%!e.a a( ,o,e#to .e efect!ar
s!s co#s!(tas. 0ste (ista.o or.e#a (as keywors segH# s! trasce#.e#cia, i#.ica#.o
ta,+i3# (a ca#ti.a. .e ;eces %!e *a# si.o !ti(i>a.as 4or (os !s!arios.
Ilustracin 8: !ala,ras cla%e"
Lista de p3!inas ?eb e/ternas
0ste grfico ,!estra (as 4gi#as we+ e7ter#as %!e *ace# refere#cia o e#(a>a# a #!estro
sitio, as1 co,o (a ca#ti.a. .e ;eces %!e (os ;isita#tes *a# ;isita.o #!estra we+ 4or
,e.io .e estas.
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& CJ
Ilustracin 19: !$ginas e:ternas
Visor $ap
Por ,e.io .e este wi.get 4o.e,os ;er grfica,e#te e( 4orce#taBe .e ;isitas %!e
#!estro sitio reci+e .es.e (as .ifere#tes 4artes .e( ,!#.o.
Ilustracin 11: !orcenta;e e %isitas por pa<ses"
,a>e!adores de los >isitantes y $otores de bAs1ueda
$,+os i#.ica.ores ,!estra# (as esta.1sticas corres4o#.ie#tes a s! fi#a(i.a. 4or (o %!e
#o *ay ,!c*o %!e agregar a( res4ecto.
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& CB
Ilustracin 1#: Esta<sticas e los na%egaores we,"
Ilustracin 1&: Esta<sticas e los motores e ,=s7uea"
Visitas por hora
0ste a4arta.o #os ,ostrar (os *orarios .e ,ayor af(!e#cia .e ;isita#tes e# #!estro
sitio. Gracias a este ti4o .e i#for,aci"# 4o.re,os .eter,i#ar c!(es so# (os *orarios
i."#eos 4ara 4!+(icar #!estro co#te#i.o, rea(i>ar 4ro,ocio#es, etc.
Ilustracin 1(: 'isitas por hora"
0stas so# so(o a(g!#as .e (as f!#cio#a(i.a.es %!e Piwi6 ,!estra 4or .efecto e# e( 4a#e(
.e co#tro(, y co,o se 4!e.e sos4ec*ar, ta,+i3# 4o.e,os a9a.ir o %!itar wi.gets segH#
#!estras #ecesi.a.es o 4refere#cias.
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& CT
6tras funci onal i $a$es
$(g!#as .e (as f!#cio#a(i.a.es %!e #o a4arece# a si,4(e ;ista 4ero %!e se e#c!e#tra#
4rese#tes so#=
#normacin al detalle
Piwi6 ofrece .i;ersas o4cio#es %!e #os 4er,ite# a#a(i>ar co# ,ayor .eta((e (a
i#for,aci"# o+te#i.a. $(g!#os eBe,4(os .e esto so# (os sig!ie#tes=
Ilustracin 1): E%aluacin el perioo"
Ilustracin 1+: ><tulos e p$gina?
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& C9
Ilustracin 13: @egistro e %isitantes"
Redes Sociales
Por otra 4arte, ta,+i3# 4o.e,os o+ser;ar e( i,4acto %!e tie#e #!estro sitio e# (as
re.es socia(es.
Ilustracin 14: @ees sociales"
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& D2
0dministracin de Plu!ins
Por .efecto Piwi6 i#cor4ora ;arios 4(!gi#s ,is,os %!e (e a9a.e# !#a gra# f(e7i+i(i.a..
Ilustracin 18: !lugins"
Pero esto #o es to.o, (o ,eBor aH# est# 4or ;e#ir.
Caracter sti cas es-eci al es
0( ;er.a.ero 4ote#cia( .e Piwi6 se a4recia .e ,eBor for,a a tra;3s .e (as sig!ie#tes
caracter1sticas=
0dministracin de mAltiples sitios
Piwi6 es ca4a> .e a.,i#istrar ,H(ti4(es sitios .es.e !#a so(a i#terfa>/ser;i.or, 4ara
*acer(o so(o es #ecesario agregar (os sitios e# c!esti"# e i#c(!ir e( >racking Coe o
c".igo .e seg!i,ie#to a (as .ifere#tes 4gi#as we+, este c".igo se ge#era .e for,a
i#.e4e#.ie#te 4ara ca.a sitio a.,i#istra.o.
0dministrador de 0cceso EmultiusuariosF
Piwi6 c!e#ta co# (a 4osi+i(i.a. .e gestio#ar 4er,isos y !s!arios.
Pri>acidad
0ste a4arta.o es .e (o ,s i#teresa#te, ya %!e .es.e a%!1 4o.re,os a.,i#istrar e(
#i;e( .e 4ri;aci.a. a( o+te#er (as .isti#tas ,3tricas .e #!estros ;isita#tes, +ie# sea 4or
c!estio#es 3ticas o (ega(es.
&as o4cio#es %!e Piwi6 #os ofrece .e#tro .e este a4arta.o so#=
Dacer a#"#i,as (as .ireccio#es -P .e (os ;isita#tes.
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& DC
<orrar (os registros y re4ortes .e (os ;isita#tes .es4!3s .e !# cierto 4erio.o .e
tie,4o.
So4orte 4ara *o 6ot >rack
N
.
'ostrar !# ,e#saBe e# e( sitio co# (a o4ci"# .e #o seg!i,ie#to (rastreo) .e Piwi6
a s!s ;isita#tes (e(i,i#aci"# .e coo6ies).
$ensa2ero $>il
0sta caracter1stica #os 4er,ite crear i#for,es S'S y reci+ir ,e#saBes .e te7to cortos
co# (as esta.1sticas .e t!s sitios.
Crear y Recibir #normes por Correo Electrnico
$( ig!a( %!e e( 4!#to a#terior, Piwi6 #os 4er,ite reci+ir i#for,es ;1a e,ai( .e to.os
#!estros sitios.
0P#s y 5id!ets
Piwi6 ofrece (a 4osi+i(i.a. .e i#c(!ir wi.gets co# (as esta.1sticas .e t!s sitios e# +(ogs,
sitios y a4(icacio#es we+, i#tra#et, e#tre otros. 2a,+i3# 4!e.es !ti(i>ar s!s $P-s
M
4ara
o+te#er esta i#for,aci"# e# t!s a4(icacio#es.
)equi si tos " ni "os -ara l a i "-l e"entaci %n $e Pi 'i ,
Para 4o.er eBec!tar Piwi6 e# t! ser;i.or #ecesitaras co#tar co# (o sig!ie#te=
PDP M.1P o s!4erior.
'ySF& N.1 o s!4erior.
07te#sio#es pdo y pdoGmys1l o (a e7te#si"# mys1li, *a+i(ita.as .e for,a
4re.eter,i#a.a. 0# ser;i.ores ti4o e+ia# estas e7te#sio#es se i#c(!ye# .e
for,a 4re.eter,i#a.a i#sta(a#.o e( 4a%!ete phpHImys1l.
07te#si"# +D de PHP 4ara (a ge#eraci"# .e grficos (sparklines). 0# ser;i.ores
ti4o e+ia# esta e7te#si"# se i#c(!ye .e for,a 4re.eter,i#a.a i#sta(a#.o e(
4a%!ete phpHI!d.
! nstal aci %n $e Pi 'i ,
Aea(,e#te (a i#sta(aci"# .e Piwi6 e# e( ser;i.or #o re4rese#ta !# 4ro+(e,a sig#ificati;o
gracias a s! i#t!iti;o asiste#te, e( c!a( #os 4er,ite co#seg!ir #!estro o+Beti;o e# !#os
c!a#tos si,4(es 4asos.
N *tt4s=//e#.wi6i4e.ia.org/wi6i/oRNotR2rac6
M *tt4=//4iwi6.org/.ocs/a#a(ytics-a4i/
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& DD
Ilustracin #9: Asistente e instalacin e !iwik"
U#a ;e> fi#a(i>a.a (a i#sta(aci"# y 4reco#fig!raci"#, es #ecesario i#c(!ir e( c".igo .e
rastreo e# #!estro sitio we+ 4ara co,e#>ar a !ti(i>ar (as .isti#tas ,3tricas %!e esta
4(atafor,a #os ofrece.
Docu"entaci %n
Piwi6 c!e#ta co# !#a .oc!,e#taci"#
:
+asta#te co,4(eta ,is,a %!e se e#c!e#tra
tra.!ci.a 4arcia(,e#te a( es4a9o(. 0# e((a e#co#trare,os i#for,aci"# re(acio#a.a a (os
as4ectos +sicos .e i#sta(aci"#, co#fig!raci"#, o4ti,i>aci"#, !so .e (as $P-Ss, .esarro((o
.e co,4(e,e#tos y 4or s!4!esto, e( ,a#!a( .e !s!ario. Por otra 4arte, ta,+i3# es
4osi+(e a.%!irir .es.e s! tie#.a ;irt!a( e( e+oo6= !iwik Ae, Analytics Essential
7
.o#.e
se 4rof!#.i>a# a .eta((es to.as s!s f!#cio#a(i.a.es.
: *tt4=//es.4iwi6.org/.oc!,e#tacio#/
7 *tt4=//4iwi6.org/s*o4/
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& D1
G
0
3
?
L
!
0
3
U
+ac,ers & De(elo-ers Magazine R A>o 24 0L"ero 9
DA
P3!ina $an Jcmo
crearlasK
Si al!una >e( creaste al menos una herramienta para
+,-.Linu/< muy probablemente se te haya cru(ado la
pre!unta LJCmo se har3 para crear una p3!ina
$anKM y la idea de este art%culo< es darte una
respuesta paso a paso4
Escrito por: Eu!enia "ahit (G&$'P Dac6er & eEtre,e Progra,,er)
0!ge#ia es 0r1uitecta de Sot?are, .oce#te e i#str!ctora .e
tec#o(og1as +L0$P (GNU/&i#!7, $4ac*e, 'ySF&, Pyt*o# y PDP) y 0!ile
coach (U2N) es4ecia(i>a.a e# Scr!, y e@treme Pro!rammin!. 'ie,+ro
.e (a ;ree Sot?are ;oundation, 8he Linu/ ;oundation y Debian
Hackers. )rea.ora .e 4yt*o#-4ri#tr, 0!ro4io 0#gi#e y co(a+ora.ora .e
5i,.
5ebs)
)!rsos .e 4rogra,aci"#= www.c!rsos.e4rogra,acio#a.ista#cia.co,
Ge+ 4erso#a(= www.e!ge#ia+a*it.co,
Redes sociales)
2witter / -.e#ti.ca= 6eu!eniabahit
a# es (a *erra,ie#ta !ti(i>a.a 4or e( siste,a o4erati;o GNU co# &i#!7 -as1
co,o 4or otros +asa.os e# T#i7-, 4ara .oc!,e#tar .es.e co,a#.os *asta
a4(icacio#es. Ge#era(,e#te, co,o !s!arios .e( siste,a o4erati;o GNU, c!a#.o
#ecesita,os a4re#.er so+re !# .eter,i#a.o co,a#.o eBec!ta,os man comando 4ara
acce.er a (a p3!ina del manual es4ec1fica 4ara e( co,a#.o corres4o#.ie#te.
'
)rear #!e;os co,a#.os es ta# si,4(e co,o crear !# scri4t eBec!ta+(e y a(,ace#ar(o e#
e( .irectorio /s#in (o /%sr/s#in), si# e,+argo, crear !#a 4gi#a .e( ,a#!a( (man page)
4ara .ic*o co,a#.o, ,!c*as ;eces s!e(e ser I!#a receta ,isteriosaJ, ta( ;e>, 4or (a
escasa -o .if1ci(,e#te accesi+(e- i#for,aci"# a( res4ecto.
Sig!ie#.o (a fi(osof1a .e Ierra.icaci"# .e ,isteriosJ %!e #os co,4a9a e.ici"# tras
e.ici"#, e# esta o4ort!#i.a., a4re#.ere,os a crear #!estras 4ro4ias man pages.
Acl aran$o el -anora"a
Las p3!inas del manual son archi>os de te/to plano %!e sor4re#.e#te,e#te, 4!e.e#
ser escritos co# c!a(%!ier e.itor .e te7to, si# re%!erir .e *erra,ie#tas es4ec1ficas 4ara
s! creaci"# (,!y a 4esar .e (os t!toria(es %!e afir,a# (o co#trario).
U#a for,a .e I.esc!+rirJ 4or t!s 4ro4ios ,e.ios .e %!3 se trata !#a 4gi#a .e( ,a#!a(,
es (oca(i>ar c!a(%!ier man page .e !# co,a#.o a( a>ar. Por eBe,4(o, 4ara (oca(i>ar (a
!+icaci"# .e( arc*i;o .e (a 4gi#a .e( ,a#!a( 4ara e( co,a#.o mk&ir, 4o.e,os
ay!.ar#os .e( co,a#.o wh"r"is=
whereis mkdir
0ste co,a#.o, #o so(o #os arroBar (a r!ta .e( +i#ario, si#o a.e,s, (a .e (a 4gi#a .e(
,a#!a(=
/usr/share/man/man'/mkdir.'.!;
Para ;is!a(i>ar e( arc*i;o, so(o +astar co# co4iar(o y .esco,4ri,ir(o co# g>i4=
C cp /usr/share/man/man'/mkdir.'.!; /home/user/
C !;ip -d mkdir.'.!;
Si ,ira,os e( co#te#i.o .e( arc*i;o .esco,4ri,i.o, 4o.re,os ;er %!e se trata .e te7to
4(a#o 4!ro=
(...
7he newl" created director" will be owned b" the e55ecti3e user 9A o5 the
process.
95 the director" containin! the 5ile has the set-!roup-9A
bit set0 or i5 the 5ile s"stem is mounted with DSA !roup semantics
.89 ( @mount -o bsd!roups@
or0 s"non"mousl"
.98 @mount -o !rpid@ 0
the new director" will inherit the !roup ownership 5rom its parentE
otherwise it will be owned b" the e55ecti3e !roup 9A o5 the process.
95 the parent director" has the set-!roup-9A bit set then so will the
newl" created director".
.SH @81728F <#L21@
.D8 mkdir (
returns ;ero on success0 or ?-& i5 an error occurred (in which case0
.9 errno
is set appropriatel".
.SH 18868S
.7$
.D 1#CC1S
7he parent director" does not allow write permission to the process0
or one o5 the directories in
.9 pathname
did not allow search permission.
(See also
.D8 path_resolution (,.
.7$
.D 11G9S7
.9 pathname
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& DG
(...
! $enti fi car el nL"ero $e secci %n
Si o+ser;aste .ete#i.a,e#te (a sa(i.a .e( wh"r"is %!e *ici,os a#terior,e#te, *a+rs
#ota.o %!e ta#to (a car4eta .o#.e se a(,ace#a (a 4gi#a .e( ,a#!a(, co,o (a 4gi#a
.e( ,a#!a( 4ro4ia,e#te .ic*a, tie#e# !# #H,ero=
/usr/share/man/man#/mkdir.#.!;
0( #H,ero e# c!esti"#, ;ar1a .e4e#.ie#.o .e (a *erra,ie#ta o co,a#.o. Por eBe,4(o,
e# e( caso .e ipa#$"s, e( #H,ero corres4o#.ie#te es e( O=
H whereis iptables
iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man$/iptables.$.!;
0stos #H,eros, re4rese#ta# (a seccin del manual a (a c!( 4erte#ece e( co,a#.o o
*erra,ie#ta. 0( ,a#!a( se e#c!e#tra .i;i.i.o e# O seccio#es a (as c!(es a ca.a !#a (e
corres4o#.e !# #H,ero=
& $ro!ramas e:ecutables " !uiones del intIrprete de Jrdenes
' Bunciones pro3istas por el nKcleo (kernel del Sistema 6perati3o
( Bunciones de la biblioteca del propio sistema
) Bicheros especiales (se encuentran !eneralmente en /de3
* Bormato de 5icheros " con3enios p.e:. 9/etc/passwd
+ Lue!os
, $aMuetes de macros " con3enios p.e:. man(,0 !ro55(,.
- Nrdenes de administraciJn del sistema (!eneralmente solo son para root
Por (o ta#to, 4ara crear !#a 4gi#a .e( ,a#!a(, (o 4ri,ero %!e .e+e,os *acer es
i.e#tificar (a secci"# a (a c!( 4erte#ece e( co,a#.o o *erra,ie#ta %!e esta,os a 4!#to
.e .oc!,e#tar.
0( #H,ero .e secci"# #os ser;ir 4ara=
1. Sa+er en 1u' directorio .e#tro .e /%sr/shar"/man/ te#.re,os %!e g!ar.ar
#!estra 4ro4ia 4gi#aL
2. 0sta+(ecer e( nombre de archi>o, ya %!e e( #H,ero .e secci"#, for,ar 4arte .e(
#o,+re .e( arc*i;o.
Esta*l eci en$o un no"*re
Si *aces !# (ista.o .e c!a(%!iera .e (as car4etas .e#tro .e /%sr/shar"/man/ o eBec!tas
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& DJ
e( co,a#.o wh"r"is 4ara ;arios co,a#.os, 4o.rs #otar %!e e( #o,+re .e (os arc*i;os
.e (as 4gi#as .e( ,a#!a(, sie,4re g!ar.a# e( ,is,o for,ato=
comando.numero-seccion
Por eBe,4(o, 4ara e( co,a#.o a&&%s"r e( arc*i;o .e (a 4gi#a .e( ,a#!a( se ((a,a
a&&%s"r.4 ,ie#tras %!e 4ara e( co,a#.o .p, se ((a,a .p.1.
Conteni $o $el archi (o
)!a#.o *ici,os !# cat .e( arc*i;o ,6.ir.2, co,o +ie# 4!.o o+ser;arse, a(g!#as (1#eas
co,e#>a+a# 4or !# 4!#to seg!i.o .e !#a o .os (etras ,ayHsc!(as=
!% errno
is set appropriatel".
!& 18868S
!'(
!) 1#CC1S
7he parent director" does not allow write permission to the process0
or one o5 the directories in
!% pathname
&as ,is,as, se .e#o,i#a# macros de ormato y for,a# 4arte .e (os siste,as .e
for,ato .e te7to 4ara 4(atafor,as ti4o T#i7, co,o es e( caso .e( siste,a o4erati;o
GNU, e( c!( !ti(i>a a &i#!7 co,o Uer#e(.
roff fue el programa original que permita dar formato al
texto. Luego, fueron apareciendo programas similares como
nroff y troff (entre otros), hasta que en 1990, James lar!
cre" groff, la alternati#a li$re del proyecto %&'
Las "acros $e for"ato -ue$en consultarse acce$ien$o a la -#gina $el "anual man $e la secci%n B4 "e$iante
la e/ecuci%n $e= man 7 man
tul o
&a (1#ea .e t1t!(o .e+e ser (a 4ri,era (!ego .e (os co,e#tarios so+re e( arc*i;o %!e
e;e#t!a(,e#te 4!.iese# co(ocarse. U# t1t!(o es i#.ica.o co# (a ,acro .2D y .e+e
i#.icarse co# (a sig!ie#te si#ta7is=
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& DB
.7H nombre-comando numero-secciJn 5echa 5uente-ori!en tOtulo-del-manual
Por eBe,4(o, (a sig!ie#te (1#ea=
.7H blockip - '/&(-/+-'. @Lack7heStripper &./ beta (@ @Panual de blockip@
Pro.!cir=
blockip(- Panual de blockip blockip(-
Lack7heStripper &./ beta ( '/&(-/+-'. blockip(-
Secci ones
&as seccio#es se i#.ica# co# (a ,acro .SD seg!i.a .e( #o,+re .e secci"#=
.SH nombre de la secciJn
0#tre (as seccio#es .e !so ,s frec!e#te %!e 4o.re,os i#.icar, e#co#tra,os (as
sig!ie#tes=
*+,- .*/,)0-
Fombre del comando0 archi3o o herramienta
1*/(% .%*/(%
Sintaxis de uso
2-C0%('%/* .2-C0%(C%/*
AescripciJn del comando0 archi3o o herramienta
/('%/*./(C%/*-
AescripciJn de las opciones aceptadas en la lOnea de comandos por el comando
o herramienta.
Formalmente splo se implementa en las secciones & " -.
-*3%0/*,-*' .-*'/0*/
Puestra una lista de las 3ariables de entorno utili;adas por el comando o
herramienta0 describiendo cJmo Istas son utili;adas

4%5- .+0C&%3/
2na lista de todos los archi3os utili;ados por el comando o herramienta.
)U6 .-00/0-
AescripciJn de errores o problemas conocidos.
-7+,(5- .-8-,(5/
1:emplos de uso del comando o herramienta
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& DT
+U'&/0.+U'/0-
Lista de los nombres de los autores.
Qeneralmente se utili;a el 5ormato: Fombre del #utor RemailSexample.or!T
-- +5/.39+- '+,)%9*
2na lista de pU!inas man su!eridas0 separadas por coma " ordenadas primero0
por nKmero de secciJn " lue!o0 por orden al5abItico
5ea,os !# 4e%!e9o eBe,4(o y s! sa(i.a=
.7H blockip - '/&(-/+-'. @Lack7heStripper &./ beta (@ @Panual de blockip@
.SH F6PD81
blockip V bloMuea una 9$ de 5orma permanente
0( arc*i;o a#terior, 4ro.!cir1a !#a sa(i.a co,o (a sig!ie#te=
blockip(- Panual de blockip blockip(-
*/,)0-
blockip V bloMuea una 9$ de 5orma permanente
Lack7heStripper &./ beta ( '/&(-/+-'. blockip(-
3na co"-leta $escri-ci%n $e las -osi*les secci ones que -ue$en i"-le"entarse en una -#gina $el "anual4
-o$e"os o*tenerla consultan$o la -#gina man-pa!"s $e la secci%n B4 e/ecutan$o= man 7 man-pages
5or"ato $e fuente
0#tre (os for,atos ,s !sa.os 4o.e,os e#co#trar=
!) *egrita
.D hola mundo
produce: hola mundo
!% %t:lica
.9 hola mundo
produce: hola mundo
!0 0omana
.8 hola mundo
produce: hola mundo
&os for,atos a#teriores 4!e.e# a.e,s, !ti(i>arse e# c!a(%!ier co,+i#aci"#,
4ro.!cie#.o as1 !# a(ter#a.o .e for,ato. 5ea,os a(g!#os eBe,4(os=
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& D9
'(I ne&rita alternado itlica
negritaalternadoit:lica
'I( itlica alternado ne&rita
itUlicaalternadone!rita
'() ne&rita alternando )omana
negritaalternando0omana
')I romana alternando itlica
romanaalternandoitUlica
P#rrafos . sal tos $e l nea
U# #!e;o p3rrao se i#.ica co# (a ,acro .PP ,ie#tras %!e !# salto de l%nea, co# .br
.7H micomando - '/&(-/+-'. @PiHerramienta &./@ @Panual de micomando@
.SH F6PD81
micomando V e:emplo para pU!ina del manual
.SH A1SC89$C9NF
.D micomando
lo escribO en ne!ritas " 5ui a la si!uiente lOnea para 5inali;ar las ne!ritas
!((
#hora escribo un nue3o pUrra5o
!;r
Mue tiene un salto de lOnea
&a sa(i.a .e( eBe,4(o a#terior, ser=
micomando(- Panual de micomando micomando(-
*/,)0-
micomando V e:emplo para pU!ina del manual
2-C0%(C%<*
micomando lo escribO en ne!ritas " 5ui a la si!uiente lOnea para
5inali;ar las ne!ritas
#hora escribo un nue3o pUrra5o
Mue tiene un salto de lOnea
PiHerramienta &./ '/&(-/+-'. micomando(-
)o# .TP es 4osi+(e i#.icar !# 4rrafo co# columnas, i.ea( 4ara (istar arg!,e#tos=
.7H micomando - '/&(-/+-'. @PiHerramienta &./@ @Panual de micomando@
.SH F6PD81
micomando V e:emplo para pU!ina del manual
.SH A1SC89$C9NF
.D micomando
lo escribO en ne!ritas " 5ui a la si!uiente lOnea para 5inali;ar las ne!ritas
.$$
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& 12
#hora escribo un nue3o pUrra5o
.br
Mue tiene un salto de lOnea
.SH 6$C96F1S
.7$
.D -a
describe lo Mue hace la opciJn -a
.7$
.D -b
describe lo Mue hace la opciJn -b
&o a#terior, se ;er as1=
micomando(- Panual de micomando micomando(-
*/,)0-
micomando V e:emplo para pU!ina del manual
2-C0%(C%<*
micomando lo escribO en ne!ritas " 5ui a la si!uiente lOnea para
5inali;ar las ne!ritas
#hora escribo un nue3o pUrra5o
Mue tiene un salto de lOnea
/(C%/*-
-a describe lo Mue hace la opciJn -a
-; describe lo Mue hace la opciJn -b
PiHerramienta &./ '/&(-/+-'. micomando(-
)!a#.o se o+ser;a to.o (o %!e *asta a*ora *a si.o 4ro+a.o, se 4!e.e #otar %!e (os
sa(tos .e (1#ea #o so# res4eta.os a #o ser %!e se i,4(e,e#te (a ,acro .+r. Si# e,+argo,
esto 4!e.e ser ,!y te.ioso si (o %!e se .esea es, 4or eBe,4(o, i#.icar !# frag,e#to .e
c".igo f!e#te.
Para res4etar (os sa(tos .e (1#ea (e i#c(!so (os es4acios y ta+!(acio#es), .is4o#e,os .e
(as ,acros .nf y .fi, 4ara .ar i#icio y fi# a !# blo1ue de te/to con preIormato=
!nf
5or elemento in tupla:
print elemento = '
!fi
)o# (as ,acros .n, y .,i, #!estro te7to co# %!e 4re-for,ato, *a si.o res4eta.o=
5or elemento in tupla:
print elemento = '
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& 1C
Co"entari os
&os co,e#tarios .e( arc*i;o e# ge#era(, .e+er# i#.icarse a( co,ie#>o .e( arc*i;o. Si#
e,+argo, co,e#tarios so+re e( 4ro4io te7to, 4!e.e# *acerse e# c!a(%!ier (!gar %!e sea
#ecesario.
Para escri+ir co,e#tarios se !ti(i>a (a ,acro .\"
U# eBe,4(o .e co,e#tarios, es e( %!e ;i,os a (a *ora .e *acer !# .a a (a 4gi#a .e(
,a#!a( 4ara mk&ir e# (a secci"# 2=
.?@ He" 1macsW 7his 5ile is -=- nro55 -=- source.
.?@
.?@ 7his manpa!e is Cop"ri!ht (C &..' Arew 1ckhardtE
.?@ &..( Pichael Haardt
.?@ &..(0&..) 9an Lackson.
.?@ Xou ma" distribute it under the terms o5 the QF2 Qeneral
.?@ $ublic License. 9t comes with F6 Y#88#F7X.
.?@
! "-l e"entan$o nuestra nue(a -#gi na "an
Fi#a(,e#te, c!a#.o #!estro arc*i;o est ter,i#a.o so(o restar co,4ri,ir(o co# g>i4=
g=ip -> /usr/share/man/man-/micomando.-
Por fa;or, #otar %!e (a o4ci"# -5 .e( co,a#.o !6ip- ree,4(a>ar e( arc*i;o mi.oman&o.4
4or mi.oman&o.4.!6.
)o,o 4!e.es ;er, (as o4cio#es .e for,ato .e !ro,, so# i#,e#sas y a%!1, so(o *e,os
,e#cio#a.o !#a ,1#i,a 4arte. U#a +!e#a for,a .e e#te#.er ,s a fo#.o ta#to (as
,acros .e for,ato co,o (a estr!ct!ra i#ter#a .e !#a 4gi#a .e ,a#!a(, es ,ira#.o e(
f!e#te .e (os arc*i;os, co,4arar(o co# (a 4gi#a .e( ,a#!a( e ir trata#.o .e
i,4(e,e#tar for,atos si,i(ares y ;ie#.o e( ref(eBa.o e( res!(ta.o ;is!a( .e( ,is,o.
C a*ora Va .oc!,e#tar se *a .ic*oW
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& 1D
G
0
3
?
L
!
0
3
U
+ac,ers & De(elo-ers Magazine R A>o 24 0L"ero 9
11
$onitori(acin del
Sistema con Conky
En este art%culo os >oy a e/plicar cmo instalar y
empe(ar a 2u!ar con una de las herramientas m3s
>ers3tiles y coni!urables para monitori(ar nuestro
sistema) Conky4
Escrito por: $ar%a &os' $ontes D%a( ($rc*era & Progra,a.ora)
0st!.ia#te .e Gra.o -#ge#ier1a e# 2ec#o(og1a .e (a i#for,aci"#. 23c#ico
e# i#for,tica .e gesti"#. 'o#itora FP8. oce#te .e 4rogra,aci"#
Pyt*o# y Scratc* 4ara #i9os .e :-12 a9os. $cti;ista .e( software (i+re y
c!(t!ra (i+re.
5ebs)
<(og= *tt4=//+(og.arc*#i#fa.org/
Redes sociales)
2witter= 6$$ontesDia(
o#6y es !# ,o#itor .e siste,a 4ara (os siste,as E Gi#.ows. Se e#c!e#tra
.is4o#i+(e 4ara GNU/&i#!7, Free<S, 84e#<S. 0st .esarro((a.o +aBo (a (ice#cia
GP&. 0s ca4a> .e ,o#itori>ar )PU, ,e,oria, swa4, es4acio .e .isco,
te,4erat!ras, ,e#saBes .e siste,a, re.es, 4(!gi#s, y ,!c*o ,s. S! co#fig!raci"#
4!e.e res!(tar .if1ci( 4ero #o i,4osi+(e. 0s !# for6
O
.e tors,o
9
.
)
! nstal a"os=
Debian.-buntu
H sudo apt-!et install conk"
+entoo
C emer!e app-admin/conk"
O 0s (a creaci"# .e !# 4royecto e# !#a .irecci"# .isti#ta .e (a 4ri#ci4a( ! oficia( to,a#.o e( c".igo f!e#te .e( 4royecto ya
e7iste#te
9 *tt4=//tors,o.so!rceforge.#et/
8, si !sa,os Pa(!.is
10
=
C paludis -i app-admin/conk"
;edora
H sudo "um install conk"
0rchLinu/
H pacman -S conk"
Slack?are
<!sca,os e# S(ac6+!i(.s
11
e( )o#6y 4ara #!estra ;ersi"#, e# ,i caso 1N.0. $
co#ti#!aci"#=
#%escar&amos
w!et http://slackbuilds.or!/ slackbuilds/&).//s"stem/conk".tar.!;
#%escomprimimos
tar x35; conk".tar.!;
#*os situamos dentro de con+y
cd conk"
#%escar&armos el c"di&o de Con+y
w!et http://downloads.source5or!e.net/conk"/conk"-&.../.tar.b;'
#%entro del directorio con+y ejecutamos,
./conk".SlackDuild
#Instalamos el pa-uete
installpk! /tmp/conk"-&.../-i)-+-&_Do.t!;
10 *tt4=//4a(!.is.e7*er+o.org/
11 *tt4=//s(ac6+!i(.s.org/
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& 1A
Confi guraci %n
&o 4ri,ero %!e te#e,os %!e *acer es !#a co4ia .e( arc*i;o .e co#fig!raci"# e# #!estro
*o,e, co# e( #o,+re .co#6yrc. 0( arc*i;o 4or .efecto se e#c!e#tra
/etc/co#6y/co#6y.co#f. 0Bec!ta,os=
H cp /etc/conk"/conk".con5 Z/.conk"rc
)o,o 4o.3is ;er, e( arc*i;o se .i;i.e e# .os 4artes= &a 4arte .e co#fig!raci"# .o#.e se
i#.ica e( co,4orta,ie#to y a4arie#cia 4or .efecto y, e# (a seg!#.a, es4ecifica,os %!3
%!ere,os ,ostrar= te7to, i,ge#es, o+Betos, etc.
ali!nment top_le5t
back!round no
border_width &
cpu_a3!_samples '
de5ault_color white
de5ault_outline_color white
de5ault_shade_color white
draw_borders no
draw_!raph_borders "es
draw_outline no
draw_shades no
use_x5t "es
x5t5ont Ae:a<u Sans Pono:si;e=&'
#.osici"n respecto alineaci"n
!ap_x .//
!ap_" (//
minimum_si;e * *
net_a3!_samples '
no_bu55ers "es
out_to_console no
out_to_stderr no
extra_newline no
own_window "es
own_window_class Conk"
own_window_t"pe desktop
#/ctivamos transparencias
own_window_ar!b_3isual "es
# yes, 0orzamos ar&b1value a 2
own_window_transparent no
#Si no -ueremos transparencia total
own_window_ar!b_3alue &// C3alor entre /-'**
double_bu55er "es
stippled_borders /
update_inter3al &./
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& 1G
uppercase no
use_spacer none
show_!raph_scale "es
show_!raph_ran!e "es
#Empezamos con el contenido
71G7
H[scroll (* Hnodename - Hs"sname Hkernel on Hmachine > \
Hhr
H[color !re"\2ptime:Hcolor Huptime
H[color !re"\BreMuenc" (in PH;:Hcolor H5reM
H[color !re"\BreMuenc" (in QH;:Hcolor H5reM_!
H[color !re"\8#P 2sa!e:Hcolor Hmem/Hmemmax - ?
Hmemperc4 H[membar )\
H[color !re"\Swap 2sa!e:Hcolor Hswap/Hswapmax - ?
Hswapperc4 H[swapbar )\
H[color !re"\C$2 2sa!e:Hcolor Hcpu4 H[cpubar )\
H[color !re"\$rocesses:Hcolor Hprocesses H[color !re"\?
8unnin!:Hcolor Hrunnin!_processes
Hhr
H[color !re"\Bile s"stems:
/ HcolorH[5s_used /\/H[5s_si;e /\ H[5s_bar + /\
Hhr
H[color !re"\Fetworkin!:
H[i5_up eth/\ ?
eth/ 2p:Hcolor H[upspeed eth/\ H[color !re"\ - Aown:Hcolor H[downspeed eth/\
H[endi5\?
H[i5_up wlan/\ ?
H[color !re"\wlan/ 2p:Hcolor H[upspeed wlan/\ H[color !re"\ - Aown:Hcolor ?
H[downspeed wlan/\
H[endi5\?
Hhr
H[color !re"\Fame $9A C$24 P1P4
H[color red\ H[top name &\ H[top pid &\ H[top cpu &\ H[top mem &\
H[color li!ht!red\ H[top name '\ H[top pid '\ H[top cpu '\ H[top mem '\
H[color blue\ H[top name (\ H[top pid (\ H[top cpu (\ H[top mem (\
H[color li!htblue\ H[top name )\ H[top pid )\ H[top cpu )\ H[top mem )\
H[color "ellow\ H[top name *\ H[top pid *\ H[top cpu *\ H[top mem *\
H[color li!ht"ellow\ H[top name +\ H[top pid +\ H[top cpu +\ H[top mem +\
&a co#fig!raci"# a#terior es !#a ,o.ificaci"# .e (a origi#a(. $.e,s .e a9a.ir ,s
4rocesos ((os seis 4ri,eros), *e !ti(i>a.o (a c(!s!(a iGup 4ara co#tro(ar, e# e( a4arta.o
.e ,et?orkin!, si (as i#terfaces e7iste# y est# (e;a#ta.as.
Para !#a ,eBor (ect!ra, si %!ere,os *acer !# sa(to .e (1#ea e# e( arc*i;o, 4o.e,os
!ti(i>ar e( carcter .e esca4e X.
2o.as (as o4cio#es .e co#fig!raci"# (as 4o.e,os e#co#trar e#
*tt4=//co#6y.so!rceforge.#et/co#figRsetti#gs.*t,(
&as ;aria+(es %!e 4o.e,os !ti(i>ar e# c!er4o .e )o#6y, es .ecir, e( te7to %!e %!ere,os
%!e se ,!estre, (as 4o.e,os e#co#trar e# *tt4=//co#6y.so!rceforge.#et/;aria+(es.*t,(
Para ;er y .escargar .ifere#tes co#fig!racio#es, 4o.3is ;isitar
*tt4=//co#6y.so!rceforge.#et/scree#s*ots.*t,( , %!e #os .ar# i.eas 4ara 4erso#a(i>ar
#!estro )o#6y.
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& 1J
E(i tan$o el -ar-a$eo
0sto oc!rre 4or%!e #ecesita e( so4orte o!+(e <!ffer 07te#sio# (<0) .e( ser;i.or E,
ya %!e si# este so4orte #o (ograr act!a(i>ar (a 4a#ta((a co# s!ficie#te ra4i.e>.
&a so(!ci"#=
Pri,ero co,4ro+a,os e( co#te#i.o .e( arc*i;o Eorg.0.(og
C cat /3ar/lo!/Gor!./.lo! > !rep dbe
#os .e+e sa(ir a(go as1,
C ] ,-..(&^ (99 LoadPodule: @dbe@
C ] ,-..((^ (99 Loadin! /usr/lib/xor!/modules/extensions/libdbe.so
C ] ,-..(+^ (99 Podule dbe: 3endor=@G.6r! Boundation@
$ 4artir .e (a ;ersi"# 1.O.7, este ,".!(o se carga a!to,tica,e#te. Si !sa,os !#a
;ersi"# a#terior, +astar a9a.ir a( .etc.@==./or!4con (a (1#ea Load NdbeN .e#tro .e (a
secci"# N$oduleN4
es4!3s, e.ita,os e( arc*i;o .etc.conky.conky4con y escri+i,os (a sig!ie#te o4ci"#
.e+aBo .e( resto, 4ero a#tes .e 8E@8 o @O
double_bu55er "es
Para que se e/ ecute al i ni ci o $e l a sesi %n=
nano Z/.con5i!/autostart/conk".desktop
$9a.i,os (o sig!ie#te=
]Aesktop 1ntr"^
1ncodin!=27B--
<ersion=/...)
7"pe=#pplication
Fame=conk"
Comment=
1xec=conk" -d
StartupFoti5"=5alse
7erminal=5alse
Hidden=5alse
$( i#iciar #!estro siste,a te#.re,os e( )o#6y f!#cio#a#.o=
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& 1B
0#(aces .e i#ter3s=
*tt4=//co#6y.so!rceforge.#et/
*tt4=//tors,o.so!rceforge.#et/
*tt4s=//wi6i.arc*(i#!7.org/i#.e7.4*4/)o#6y
*tt4=//s(ac6+!i(.s.org/
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& 1T
+
E
)
)
A
M
!
E
0

A
S
+ac,ers & De(elo-ers Magazine R A>o 24 0L"ero 9
19
Creando capturas de
pantalla para tus
manuales con Shutter
Reali(ar capturas de pantalla de calidad no es al!o
tan simple si no cuentas con una herramienta 1ue te
lo permita y sobretodo de manera sencilla< Shutter es
una !ran alternati>a para lo!rarlo4
Escrito por: $ila!ros 0lessandra #nante $ontero (0st. -#g. -#for,tica)
Estudiante de #n!enier%a #norm3tica. 'ie,+ro .e (a co,!#i.a. .e
software (i+re Lumenhack. 'ie,+ro .e( e%!i4o .e tra.!cci"# a(
es4a9o( .e +,O$E. $4asio#a.a 4or e( .esarro((o .e software,
tec#o(og1a y ga.gets. efe#sora .e tec#o(og1as +asa.as e# software
(i+re y .e c".igo a+ierto.
5ebs)
<(og= www.,i(a(e.#et
Redes sociales)
2witter / -.e#ti.ca= 6milale
!a#tas ;eces *e,os te#i.o .ific!(ta.es 4ara sacar scree#s*oots .e ca(i.a. .e
.ifere#tes ,a#eras 4or #o co#tar co# !#a +!e#a *erra,ie#ta, S*!tter #os ay!.a
e#or,e,e#te a e((o. 0ste 4rogra,a tie#e ,!c*as caracter1sticas i#teresa#tes
%!e (ograr# %!e se co#;ierta e# !#a *erra,ie#ta .e +asta#te ay!.a 4ara to.os.
)
$( rea(i>ar ca4t!ras .e 4a#ta((a 4o.e,os #ecesitar %!e sea .e (a 4a#ta((a co,4(eta, .e
!#a ;e#ta#a o .e a(g!#a rea es4ec1ficaL .es4!3s .e te#er(a 4o.e,os #ecesitar a4(icar
a(gH# efecto e# 4artic!(ar, .i+!Bar o resa(tar a(go e# (a i,age# y 4o.e,os %!erer
fi#a(,e#te s!+ir(a a a(gH# *ost .e i,ge#esL rea(i>ar to.o esto es 4osi+(e co# S*!tter,
esta *erra,ie#ta es (i+re, .e c".igo a+ierto y co# (ice#cia GP& ;P.
EC%"o consegui "os ShutterF
S*!tter
12
est .is4o#i+(e 4ara (a ,ayor1a .e .istri+!cio#es .e GNU/&i#!7, e# ,i caso
estoy !sa#.o U+!#t! 1P.0N Aari#g Ai#gtai( y 4!e.es co#seg!ir(a .irecta,e#te .es.e e(
ce#tro .e software .e U+!#t! o escri+ie#.o estas (1#eas e# (a ter,i#a(
12 *tt4=//s*!tter-4roBect.org/.ow#(oa.s/
sudo add-apt-repositor" ppa:shutter/ppa
sudo apt-!et update __ sudo apt-!et install shutter
es4!3s .e esto, ya S*!tter est (isto 4ara !sar=
Ca-turas $e -antal l a
S*!tter 4er,ite *acer ca4t!ras .e 4a#ta((a .e .ifere#tes ,a#eras %!e ;ere,os a
co#ti#!aci"#=
Prea espec%ica
$( e(egir (a o4ci"# ISe(ecci"#J, S*!tter #os 4er,ite e(egir cierta rea
ar+itraria,e#te e# (a 4a#ta((a, a( ca4t!rar(a 4o.e,os e.itar(a, %!i>s a9a.ir(e
i,ge#es 4ara ((a,ar (a ate#ci"# so+re a(go o resa(tar a(gH# .ato i,4orta#te
co,o se ,!estra a co#ti#!aci"#.
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& A2
Escritorio
S*!tter tie#e (a o4ci"# .e 4o.er ca4t!rar to.os (os co#te#i.os .e e( o (os
escritorios co# (os %!e tra+aBe,os, c!e#ta co# o4cio#es 4ara se(eccio#ar e(
escritorio act!a( o se(eccio#ar !# rea .e tra+aBo es4ec1fica. &a sig!ie#te ca4t!ra
4or eBe,4(o es .e to.as (as reas .e tra+aBo %!e te#go a*ora.
Ventana
)!a#.o se rea(i>a# ca4t!ras .e ;e#ta#as es4ec1ficas, 4or eBe,4(o a( ,o,e#to .e
escri+ir !# ,a#!a( y #ecesitar .e scree#s*ots 4ara co,4(e,e#tar e( te7to,
ge#era(,e#te se #ecesita recortar so(o (a ;e#ta#a %!e .esea,os.
Po$ra"os realizarlo con una ca-tura $e #rea es-ecfica4 sin e"*argo4 Shutter nos $a la -osi*ili$a$ $e
elegir la (entana que se quiere ca-turar en un lista$o . el -rogra"a auto"#tica"ente recortar# solo el
#rea $esea$a&
$enA o tooltip
8tro ti4o .e ca4t!ra .e 4a#ta((a %!e 4o.e,os #ecesitar a( ,o,e#to .e escri+ir
!# ,a#!a( o .ar a(g!#a i#.icaci"# es (a ca4t!ra .e a(gH# ,e#H o too(ti4, 4or e((o
S*!tter ta,+i3# #os ay!.a a rea(i>ar este ti4o .e i,age#. $ co#ti#!aci"#
4o.e,os ;er (a ca4t!ra %!e sa%!e co# S*!tter .e( ,e#H I-#sertJ e# &i+re8ffice y
e# (a i,age# sig!ie#te 4o.e,os ;er e( a;iso e,erge#te %!e a4arece a( 4asar e(
c!rsor .e( ,o!se so+re (a i,age# .e I$!t*ors agai#st A'J e# #!estra 4gi#a.
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& AC
Sitio ?eb
S*!tter #os 4er,ite rea(i>ar (a ca4t!ra .e 4a#ta((a .e !# sitio we+ si# te#er %!e
a+rir (a 4gi#a e# !# #a;ega.or #ecesaria,e#te, i#gresa,os (a 4gi#a, 4or
eBe,4(o= www.*.,aga>i#e.org/.o#ar y (isto (a ca4t!ra se rea(i>ar
a!to,tica,e#te e# !# i#sta#te.
Shutter . l a e$i ci %n
Ca *e,os ;isto (as .isti#tas for,as %!e S*!tter #os
ofrece a( ,o,e#to .e rea(i>ar ca4t!ras .e 4a#ta((a y
co,o co(o%!3 e# a(g!#os eBe,4(os se 4!e.e# a9a.ir
e(e,e#tos i#teresa#tes %!e 4er,ita# !#a ,eBor
;isi"# .e (as ca4t!ras %!e rea(ice,os.
)!a#.o est3s tra+aBa#.o co# S*!tter #o es #ecesario
%!e *agas !so .e !# e.itor .e grfico e7ter#o co,o
G-'P 4or eBe,4(o, ya %!e este 4rogra,a c!e#ta co#
s! 4ro4io e.itor i#cor4ora.o, (os .eta((es %!e
4!e.e# a9a.irse so# 4or eBe,4(o=
0*adir te/to< lechas y dem3s ormas
S*!tter co,o *e,os ;isto 4er,ite a9a.ir f(ec*as y otras for,as (rect#g!(os,
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& AD
c1rc!(os, etc) a (a ca4t!ra %!e *e,os rea(i>a.o e i#c(!so se 4!e.e 4erso#a(i>ar
,s ca,+ia#.o e( co(or, (a f!e#te o e( a#c*o .e (1#ea.
Censurar o pi/elar para esconder datos pri>ados
$( rea(i>ar ca4t!ras .e 4a#ta((a 4o.e,os #ecesitar esco#.er a(g!#a i#for,aci"#
%!e #o 4o.a,os co,4artir, 4ara estos casos se 4!e.e# ce#s!rar o 4i7e(ear .atos.
;ormas autoIincrementadas
$( escri+ir !# ,a#!a( .e 4asos, (as 4erso#as s!e(e# agregar .1gitos
i#cre,e#ta.os !s!a(,e#te co,o te7to, S*!tter 4er,ite (ograr(o .e ,a#era
se#ci((a .a#.o c(ic e# (as reas es4ec1ficas %!e se .esea y a4arecer !#a for,a
co# .1gitos %!e #os *ar to.o ,s si,4(e.
Recortado
S*!tter 4er,ite %!e se recorte .eter,i#a.a 4arte .e (a ca4t!ra rea(i>a.a 4ara
%!i>as i#gresar (as .i,e#sio#es e# (os ca,4os y o+te#er (o %!e se .esea.
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& A1
0# esta i,age# ca4t!re e( we+site co(oca#.o (a .irecci"# www.e!ro4io.org, e# (a 4arte
.e (a ;ersi"# !se (a o4ci"# .e ce#s!rar, e# e( ,e#H 4i7e(ee e( ,e#H )*a#ge(og, !se (a
for,a a!to-i#cre,e#ta.a 4ara #!,erar P 4asos, co(o%!3 !# rect#g!(o e# (a 4arte .e
cr3.itos y s!+raye (as .isti#tas ;ersio#es 4ara %!e se 4!e.a# 4ercatar .e (as .ifere#cias.
Co"-arti r con Shutter
0# #!estro .1a a .1a y so+reto.o e# (as ,!c*as *oras %!e 4asa,os fre#te a (a 4c,
#a;ega,os 4or foros, wi6is y ,!c*as 4gi#as ,s y 4o.e,os te#er (a #ecesi.a. .e
rea(i>ar scree#s*ots y (!ego s!+ir(os a (a #!+e 4ara as1 4o.er co,4artir(o co# otras
4erso#as. S*!tter ta,+i3# *a 4e#sa.o e# e((o, c!e#ta co# !#a f!#ci"# i#cor4ora.a %!e
(a s!+e a (a #!+e si# #ecesi.a. .e %!e a+ra,os !#a 4aYi#a e# e( #a;ega.or 4ara
(ograr(o e i#c(!so (a H(ti,a ;ersi"# ya tie#e so4orte 4ara U+!#t! 8#e. $( se(eccio#ar (a
o4ci"# .e e74ortar se(eccio#a,os !#a c!e#ta .e a(g!#a 4gi#a e i#,e.iata,e#te
.es4!3s o+te#e,os (os (i#6s 4ara co,4artirL ta,+i3# es #ecesario i#.icar co,o (os
4(!gi#s co# (os %!e c!e#ta ofrece# efectos i,4resio#a#tes a (as ca4t!ras .e 4a#ta((a
*aci3#.o(as H#icas.
S!+1 a (a #!+e e( scree#s*ot %!e rea(ice 4ara ,ostrar (a ca4t!ra .e to.as (as reas .e
tra+aBo ,e.ia#te -,g!r y este es e( (i#6 %!e o+t!;e *tt4=//i.i,g!r.co,/y0&B:F2.B4g
.o#.e 4!e.e# ;er (a i,age# origi#a(.
'na imagen #ale m(s que mil pala$ras.
Col a*orar con Shutter
$s1 co,o *e,os 4o.i.o co,4ro+ar, S*!tter es !#a *erra,ie#ta ge#ia( %!e 4er,ite
rea(i>ar .ifere#tes ca4t!ras .e 4a#ta((a co# esti(os y .e,s %!e 4er,ite# o+te#er
i,age#es .e ca(i.a. co# to.o (o %!e #os sea #ecesario.
S*!tter es !# 4rogra,a .e c".igo a+ierto y .is4o#i+(e tota(,e#te gratis, se 4!e.e
co#tri+!ir co# este 4royecto .e .isti#tas ,a#eras, *acie#.o 4reg!#tas .e ,o.o %!e
sir;a y %!e.e co,o !#a +ase .e co#oci,ie#to
1P
, ta,+i3# se 4!e.e# crear re4ortes .e
+!gs ya %!e co,o e((os .ice# #o 4!e.e# arreg(ar a(go %!e #o se4a# %!e 4asa y
re4ortar(o
1N
so(o to,ar !# ,o,e#to, ta,+i3# se 4!e.e co#tri+!ir ,e.ia#tes
tra.!ccio#es
1M
sig!ie#.o (as i#.icacio#es %!e se i#.i%!e# y fi#a(,e#te co#tri+!ir co# e(
4royecto .e ,a#era eco#",ica
1:
.
1P *tt4s=//a#swers.(a!#c*4a..#et/s*!tter
1N *tt4s=//+!gs.(a!#c*4a..#et/s*!tter
1M *tt4s=//tra#s(atio#s.(a!#c*4a..#et/s*!tter
1: *tt4=//f(attr.co,/t*i#g/2PP70/S*!tter-Scree#s*ot-2oo(
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& AA
G
!

+ac,ers & De(elo-ers Magazine R A>o 24 0L"ero 9


AG
8raba2ando con +#8 ##
En esta se!unda entre!a hablaremos un poco mas de
comandos mas a>an(ados y 1ue nos dan muchas mas
uncionalidades a la hora de traba2ar con +#84
Escrito por: #ndira "ur!a (-#ge#iera .e Siste,as)
-#.ira es #n!4 de Sistemas .e PerH. Gestora .e Proyectos .e .esarro((o
.e software, pro!ramadora PHP, a#a(ista, #!e;a a,a#te .e (as
metodolo!%as P!iles. $*ora e#;!e(ta e# !#a #!e;a a;e#t!ra= s! 4ro4ia
e,4resa Z#C Pro2ectsZ .e.ica.a a( .esarro((o .e Software.
5ebs)
$+o!t.,e= *tt4=//a+o!t.,e/i#.ira+,
Redes sociales)
2witter= 6indirabm
# este art1c!(o *a+(are,os .e co,a#.os ,as a;a#>a.os %!e #os (i+rar# .e ,s
.e !# 4ro+(e,a, i,ag1#e#se %!e .esea# ,o;er (os co,,its .e !#a ra,a a otra o
ta( ;e> .esea# e(i,i#ar arc*i;os .e to.o e( .irectorio .e tra+aBo, so(o e#;iar !#
co,,it a !#a ra,a, !#ir co,,its o se4arar co,,its, 4ero ?co,o (o *ace,os@ <!e#o a
co#ti#!aci"# .are,os !# ;ista>o 4or (os co,a#.o %!e #os ay!.ara# a *acer (o a#tes
,e#cio#a.o y ,as.
0
;etch I Pull
)!a#.o *ace,os Igit fetc*J (o H#ico %!e se *ace es act!a(i>ar (a co4ia (oca(, esto
sig#ifica %!e #o se ,o.ificara #i#gH# arc*i;o %!e tie#e act!a(,e#te.
)!a#go *ace,os Igit 4!((J e# rea(i.a. *ace,os Igit fetc*J y Igit ,ergeJ.
0Be,4(o=
Si .esea,os co,4ro+ar c!a(es *a# si.o (os ca,+ios rea(es .es.e e( !(ti,o 4!s* y asi
estar seg!ro .e ,o.ificar t!s arc*i;os.
!it 5etch
33podremos ver las diferencias -ue hay y realizar un &it mer&e
!it di55 origin
Rebase
)o# este co,a#.o +sica,e#te 4o.e,os reorga#i>ar #!estros co,,its e# .ifere#tes
ra,as, a co#ti#!aci"# e74(icare %!e es (o %!e *ace re+ase 4aso a 4aso.
!it checkout sprint'*
!it rebase master
)o,o *a+r# 4o.i.o ;er este co,a#.o es ,!y Hti(, a*ora +ie# .iga,os %!e (o %!e
.esea,os es i#terca,+iar e( or.e# .e (os co,,its o se4arar !# co,,it e# .os, 4ara
esto se !sa e( re+ase i#teracti;e (-i).
)o,o reorga#i>ar co,,its=
!it rebase -i H1#AZ(
33 HE/%45 si&nifica hasta - commit anterior se desea ver
Se a+rir !#a ;e#ta#a .o#.e ;era (os co,,its, a*i te#.r .ifere#tes o4cio#es
.
- Aeor.e#ar (os co,,its, co# so(o i#terca,+iar e( or.e# e# e( %!e a4arece#.
- Aewor., 0.itar (os ,e#saBes .e( co,,it, so(o es #ecesario ca,+iar 4ic6 4or e( rewar.
- S%!as*, sir;e 4ara se4arar o !#ir !#o o ,as co,,its
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& AJ
0Be,4(o .e se4arar co,,its=
33cambiar pic+ por s-uash, podr ver los archivos del commit y determinara -ue
33archivos enviara en cada commit
!it reset H1#A^
!it add Rarchi3oT
!it commit -m `mensa:ea
!it add Rarchi3o 'T
!it commit -m `mensa:e 'a
!it rebase --continue

Stash
G!ar.a (os ca,+ios *ec*os .es.e e( !(ti,o co,,it.
0Be,4(o=
2! Befe te ((a,a y te .ice, *ay !# error e# !#a f!#cio#a(i.a. y es !rge#te %!e se 4ase a
4ro.!cci"#, si# e,+argo a!# #o *as fi#a(i>a.o t! tarea y #o 4!e.e *acer co,,it, a*i
e#tra e# stas*.
!it stash sa3e
33.uedes ir a otra rama a arre&lar el error
!it stash appl"
33puedes continuar tu trabajo
)o#f(ictos co# Stas*=
Si ,!estra co#f(icto a( eBec!tar stas* a44(y
!it stash appl"
!it reset Vhard H1#A
!it stash appl"
Si ,!estra co#f(icto a( eBec!tar stas* 4o4
!it stash pop
!it stash list
!it stash drop
Si .esea,os %!e (os ca,+ios .e( rea .e 4re4araci"# (stagi#g area)
33Solo los archivos -ue no estn commiteados
!it stash sa3e Vkeep-index
!it status
!it commit -m `mensa:ea
!it stash pop
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& AB
)o,a#.os i,4orta#tes a( !sar stas*=
33 6istar todos los stash actuales
!it stash list
33 Continuar trabajando en un stash especifico en este caso el penultimo
!it stash appl" stashS[&\
33 Eliminar un stash
!it stash drop
33 )ecupera datos, ejecuta stash apply y drop
!it stash pop
33 uestra un stash determinado o el mas reciente
!it stash show stashS[&\
!it stash show
33 7ue pasen al stash los archivos -ue -ue no estn en se&uimiento #untrac+ed$
!it stash sa3e --include-untracked
33 Sumario de cambios
!it stash list Vstat
33 .oner un mensaje al stash
!it stash sa3e `mensa:ea
33 )ecuperar rama -ue a sido borrada despu8s de haber hecho stash save
!it stash branch RramaT stashS[&\
33 6impiar la lista de los stash
!it stash clear
8reeI ;ilter
Git co,4ro+ar ca.a co,,it eBec!ta.o e# e( .irectorio .e tra+aBo, eBec!tara e(
co,a#.o %!e esta e#tre co,i((as y ;o(;er *acer co,,it.
0Be,4(o=
0(i,i#a#.o arc*i;o .e to.os (os co,,its.
33 )emplazar 9all por HE/% si solo se desea eliminar de la rama actual
!it 5ilter-branch --tree-5ilter %rm -5 Rarchi3oT% -- --all
Se reco,ie#.a sie,4re *acer !# +ac6!4.
#nde/I ;ilter
Git eBec!tar e( co,a#.o e# ca.a co,,it, 4ero si# co,4ro+ar 4ri,ero (4or (o %!e es
,s r4i.o).
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& AT
!it 5ilter-branch --index-5ilter %!it rm --cached --i!nore-unmatch Rarchi3oT%
$( eBec!tar filter5,ranch Git .eBa !#a co4ia .e seg!ri.a. .e s! r+o( e#
e( .irectorio Z. gitZ, 4ara fi#a(i>ar (a e(i,i#aci"# se .e+e .e eBec!tar e( sig!ie#te
co,a#.o
!it 5ilter-branch -5 --tree-5ilter %rm -5 Rarchi3oT%
0s 4ro+a+(e %!e a( e(i,i#ar !# arc*i;o .e to.o e( .irectorio .e tra+aBo .eBe co,,its si#
co#te#i.o, 4ara e((o se eBec!ta e( sig!ie#te co,a#.o.
!it 5ilter-branch -5 --prune-empt" -- --all
CherryIpick
0#;iar !# co,,it .e !#a ra,a a otra
!it lo! Vonline
33ver el sha del commit deseado
!it checkout RramaT
!it cherr"-pick RshaT
0.itar e( ,e#saBe .e( s*a
!it cherr"-pick Vedit RshaT
0#;iar .os co,,its !#i.os a otra ra,a
!it lo! Vonline
33ver los shas del commit deseado
!it cherr"-pick Vno-commit Rsha&T Rsha'T
!it status
!it commit -m `mensa:ea
5is!a(i>ar e( orige# .e( c*erry-4ic6, so(o f!#cio#a e( ra,as 4!+(icas
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& A9
!it cherr"-pick -x RshaT
Seg!i,ie#to .e %!ie# f!e e( %!e *i>o e( co,,it .e( c*erry-4ic6
!it cherr"-pick --si!no55 RshT
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& G2
G
0
3
?
L
!
0
3
U

P
A
)
A

P
)
6
G
)
A
M
A
D
6
)
E
S
+ac,ers & De(elo-ers Magazine R A>o 24 0L"ero 9
GC
+,-.Linu/ para pro!ramadores)
Q#LL R Q#LL0LL)
0sesinato en Primer
+rado
Cuando reci'n te pasas a +,-.Linu/ uno de los
problemas m3s recuentes con el 1ue te encuentras
es 1ue tarde o temprano< al!An pro!rama se Scuel!aT
y comien(as a e/perimentar el s%ndrome del Ctr + 0lt
+ Supr heredado de tu anterior sistema pri>ati>o4
Pero no suras) e/iste una cura4
Escrito por: Eu!enia "ahit (G&$'P Dac6er & eEtre,e Progra,,er)
0!ge#ia es 0r1uitecta de Sot?are, .oce#te e i#str!ctora .e
tec#o(og1as +L0$P (GNU/&i#!7, $4ac*e, 'ySF&, Pyt*o# y PDP) y 0!ile
coach (U2N) es4ecia(i>a.a e# Scr!, y e@treme Pro!rammin!. 'ie,+ro
.e (a ;ree Sot?are ;oundation, 8he Linu/ ;oundation y Debian
Hackers. )rea.ora .e 4yt*o#-4ri#tr, 0!ro4io 0#gi#e y co(a+ora.ora .e
5i,.
5ebs)
)!rsos .e 4rogra,aci"#= www.c!rsos.e4rogra,acio#a.ista#cia.co,
Ge+ 4erso#a(= www.e!ge#ia+a*it.co,
Redes sociales)
2witter / -.e#ti.ca= 6eu!eniabahit
egH# (a istro %!e !ti(ices, (os 4rogra,as %!e i#sta(es, (as f!e#tes .es.e (as c!a(es
(os i#sta(es, (os rec!rsos .e t! or.e#a.or y (a for,a e# (a %!e I,a(tratesJ a t!
Siste,a 84erati;o, (os 4rogra,as -e# ,o.o grfico ge#era(,e#te-
e74eri,e#tar# Ic!e(g!esJ %!e, si reci3# te i#icias e# GNU/&i#!7, 4ro;ocar# (a
rei#sta(aci"# .e t! siste,a a( grito .e .i;ersos i,4ro4erios. Pero... tra#%!i(o= #o es
gra;e y #o #ecesitas rei#sta(ar e( siste,a c!a#.o a(go #o res!(ta co,o (o es4era+as. Por
e( co#trario, cerrar I4or (a f!er>aJ !# 4rogra,a Ico(ga.oJ es ,!c*o ,s si,4(e .e (o
%!e te i,agi#as.
S
$*ora, a#tes .e co#ti#!ar, te *ar3 (a ,is,a reco,e#.aci"# %!e *ago co#sta#te,e#te a
,is a(!,#os= siempre, deja una terminal abierta y maximizada.
&a .ifere#cia e#tre !# Siste,a 84erati;o 4ri;ati;o 4o4!(ar y !#o (i+re co,o e( Siste,a
84erati;o GNU co# &i#!7, es %!e este H(ti,o te 4er,ite ,a#te#er !# co#tro( a+so(!to
so+re 3( ,is,o, *aci3#.o(o i#.e4e#.ie#te .e s! i#terfa> grfica. C #o. F!e #o *ayas
4aga.o 4or t! istro, #o sig#ifica %!e (a .ifere#cia sea .e 4recio. e *ec*o, c!a#.o
*a+(a,os .e (i+re y 4ri;ati;o, si,4(e,e#te *a+(a,os .e t! (i+erta. 4ara co#tro(ar (o
%!e tie#es y #o .e( 4recio .e (o %!e a.%!ieres. C e# (os Siste,as 84erati;os GNU, .ic*o
co#tro(, (o tie#es 4or i#ter,e.io .e (a ter,i#a( e# e( 99,9[ .e (os casos.
0#to#ces ?4ara %!3 ca,+iarte .e Siste,a 84erati;o si #o ;as a *acer !so .e s!s
;e#taBas@ Si i#te#tas !ti(i>ar GNU/&i#!7 co,o t! a#tig!o Siste,a 84erati;o 4ri;ati;o,
fracasars e# (a e74erie#cia. $s1 %!e (o ,eBor %!e 4!e.es *acer, es i#iciar !#a a,ista.
co# (a ter,i#a( y .eBar(a sie,4re a+ierta y ,a7i,i>a.a.
2e#er (a ter,i#a( a+ierta te ay!.ar a ,!c*1si,as cosas, 4ero 4or so+re to.o, te
faci(itar (a ;i.a c!a#.o !# 4rogra,a, e;e#t!a(,e#te, se %!e.e co#ge(a.o.
ESe col g%F Entonces V "#tal o7
0( te,a es %!e se co#ge(" t! 4rogra,a ?e#to#ces...@ 0#to#ces, es *ora .e asesi#ar a !#
4roceso. Para e((o, (o 4ri,ero %!e #ecesitas es co#ocer e( #o,+re .e( 4roceso. Kste,
ge#era(,e#te, es si,i(ar a( #o,+re .e( 4rogra,a. Por eBe,4(o, e( 4roceso
corres4o#.ie#te a( #a;ega.or Firefo:, se ((a,a ,ir",o7.
Pero #o sie,4re sa+rs e( #o,+re co# e7actit!. y 4ara e((o, *ay !#a so(!ci"#= (os
4rocesos %!e est# corrie#.o e# t! siste,a, 4!e.es o+te#er(os co# e( co,a#.o ps co#
(os sig!ie#tes arg!,e#tos=
userShost:ZH ps au?
0( co,a#.o ps arroBar !#a (ista si,i(ar a (a sig!ie#te=
root '/,( /./ /./ &*&') &)'- b Ss #pr/) /:/' sendmail: P7#: acceptin! connections
eu!enia '/,* /./ /.( ,+'+) ,+,' b Sl #pr/) /:// telepath"-indicator
eu!enia '/,. /./ /.( )'&*' +&&' b SLl #pr/) /:/& /usr/lib/telepath"/mission-control-*
eu!enia '/-) /./ /.' .&'/- *'-) b Sl #pr/) /:// /usr/lib/!nome-online-accounts/!oa-daemon
root '&), /./ /.' (,,+) *(.' b Ss #pr/) /:/' /usr/sbin/apache' -k start
root '&-- /./ /./ )+(' -&' tt"& Ssc #pr/) /:// /sbin/!ett" -- (-)// tt"&
www-data '&./ /./ /.( (.&/- *.)- b S #pr/) /:// /usr/sbin/apache' -k start
www-data '&.& /./ /.( (.&/- *.)- b S #pr/) /:// /usr/sbin/apache' -k start
www-data '&.' /./ /.( (.&/- *.)- b S #pr/) /:// /usr/sbin/apache' -k start
www-data '&.( /./ /.( (.&/- *.)- b S #pr/) /:// /usr/sbin/apache' -k start
www-data '&.) /./ /.( (.&/- *.)- b S #pr/) /:// /usr/sbin/apache' -k start
eu!enia '&.* /./ /.( **+-- +*'- b Sl #pr/) /:&) ;eit!eist-datahub
eu!enia ''/& /./ /.' ))(') )(-/ b Sl #pr/) /:/& /usr/bin/;eit!eist-daemon
eu!enia ''/, /./ /.' *'/,' *&') b Sl #pr/) /:/& /usr/lib/;eit!eist/;eit!eist-5ts
eu!enia ''&* /./ /./ *))- '*' b S #pr/) /:// /bin/cat
eu!enia ''&+ /./ /.* ,(/+- &//*+ b Sl #pr/) /:/( !nome-screensa3er
So(o %!e (a (ista, ser ,!c*1si,o ,s e7te#sa. $s1 %!e !# ,3to.o corto 4ara o+te#er e(
4rogra,a %!e +!scas, ser a4(icar !# fi(tro so+re esa sa(i.a co# e( co,a#.o !r"p y
!ti(i>a#.o co,o 4atr"# .e +Hs%!e.a e( #o,+re .e( 4rogra,a o 4arte .e 3(=
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& GD
userShost:ZH ps au? | grep gedit
8+te#.rs a(go co,o (o sig!ie#te=
eu!enia &-*&. &+.* &.. &'&.*+ (-+// b Sl &*:*& /:/& !edit
eu!enia &-*)' /./ /./ *+'- -(+ pts// Sc &*:*& /:// !rep --color=auto !edit
0( .ato %!e te i#teresa, ser ge#era(,e#te e( .e( 4ri,er res!(ta.o %!e a4are>ca e# (a
(ista=
eu!enia &-*&. &+.* &.. &'&.*+ (-+// b Sl &*:*& /:/& !edit
e ese registro, .os co(!,#as ser# (as %!e .e+ers o+ser;ar= (a .e - .e( 4roceso (P-)=
eu!enia @$A@B &+.* &.. &'&.*+ (-+// b Sl &*:*& /:/& !edit
C (a .e( #o,+re .e( co,a#.o ()8''$N)=
eu!enia &-*&. &+.* &.. &'&.*+ (-+// b Sl &*:*& /:/& gedit
)o# esa i#for,aci"# ya 4!e.es Iasesi#arJ a( 4roceso, ya sea co# e( co,a#.o ki$$a$$
,s e( #o,+re .e( 4roceso=
killall C6PP#FA
8 co# e( co,a#.o ki$$ ,s (a - .e( 4roceso=
kill $9A
Sig!ie#.o e( eBe,4(o a#terior, 4ara ,atar e( 4roceso 4or #o,+re eBec!tar1a,os=
killall !edit
C 4ara ,atar(o 4or s! -=
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& G1
kill &-*&.
Para ;erificar %!e !# 4roceso *aya ter,i#a.o efecti;a,e#te, 4!e.es eBec!tar ki$$a$$
co# e( arg!,e#to -w=
killall -w C6PP#FA
Si e( 4roceso fi#a(i>", ;ers !# ,e#saBe .e error co,o e( sig!ie#te=
killall -w !edit
gedit: proceso no encontrado
0s ,!y i,4orta#te %!e 4ara esta ;erificaci"# !ti(ices ki$$a$$ y #o ki$$, ya %!e 4o.r1a
s!ce.er %!e tras ,atar !# 4roceso se rei#icie .e for,a a!to,tica y 4ara e#to#ces, s!
P- *a+r ca,+ia.o.
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& GA
+ac,ers & De(elo-ers Magazine R A>o 24 0L"ero 9
GG
El poderoso
>irtualen>?rapper
En muchos proyectos con python virtualenv hace la
>ida mas simple y or!ani(ada al e1uipo de desarrollo<
>irtualen>?rapper lo hace aAn me2or4
Escrito por: Ser!io #nante $ontero (-#ge#iero .e Software)
-#ge#iero -#for,tico co# est!.ios .e 'aster .e irecci"# 0strat3gica
e# 2-. Se#ior Software e;e(o4er e# "elatri/< acti;ista, co#tri+!i.or y
co#s!(tor .e 4royectos ;LOSS4 'ie,+ro .e +,O$E ;oundation4
0scritor .e art1c!(os y (i+ros t3c#icos .e 4rogra,aci"#.
Periles)
*tt4=//a+o!t.,e/#eosergio
2witter= 6neoser!io
irt!a(e#; es !#a *erra,ie#ta %!e 4er,ite crear e#tor#os 4ri;a.os 4ara e(
.esarro((o co# Pyt*o#, s! !so es +asta#te e7te#.i.o y se *a co#;erti.o e# !#
est#.ar .e facto 4ara c!a(%!ier 4royecto serio co# este est!4e#.o (e#g!aBe. S!
!so 4er,ite ,a#eBar .e4e#.e#cias, ;ersio#es e i#.irecta,e#te 4er,isos 4ara !#
4royecto, si# afectar a( siste,a e# ge#era( o a otros 4royectos e# e( ,is,o co,4!ta.or
o ser;i.or.
5
$4re#.er a !sar ;irt!a(e#; es ,!y se#ci((o, y e7iste# ,!c*os t!toria(es y art1c!(os 4or
to.o i#ter#et %!e 4er,ite# a4re#.er a !sar(o ,!y r4i.a,e#te.
5irt!a(e#;wra44er es !#a serie .e e7te#sio#es 4ara ;irt!a(e#;, (a ;e#taBa i,4orta#te es
%!e co#tie#e !#a es4ecie .e e#;o(t!ras, ((a,a.as ta,+i3# ?rappers, %!e 4er,ite#
gestio#ar e#tor#os ;irt!a(es y ,a#eBar e( f(!Bo .e( .esarro((o, *acie#.o ,s fci( e(
tra+aBo e# ,as .e !# 4royecto a (a ;e>, e;ita#.o e( co#f(icto e#tre .e4e#.e#cias .e (os
,is,os.
! nstal aci %n
&a ,eBor for,a .e i#sta(ar ;irt!a(e#;wra44er es a tra;3s .e 4i4, y +astar1a escri+ir=
pip install 3irtualen3wrapper
o ta,+i3# 4o.r1a ser a tra;3s .e easyRi#sta((=
easC"install 3irtualen3wrapper
U#a ;e> i#sta(a.o, se .e+e agregar (as sig!ie#tes .os (1#eas a 4bashrc 4ara esta+(ecer (a
!+icaci"# .e (os e#tor#os ;irt!a(es y (a !+icaci"# .e( scri4t .e ;irt!a(e#;wra44er=
e?port Y68d6F_H6P1 = HH6P1/.3irtualen3s
source /usr/local/bin/3irtualen3wrapper.sh
$*ora s"(o recargar 4bashrc 4ara 4o.er !sar (os ?rappers=
source Z/.bashrc
)o# estos si,4(es 4asos ya esta,os (istos 4ara !sar(o.
Qra--ers
0( 4ri,ero .e to.os (os wra44ers es e( !sa.o 4ara crear !# #!e;o e#tor#o ;irt!a( este
ser1a e( sig!ie#te co,a#.o=
mkvirtualenv nombre1del1entorno
o#.e e( #o,+reR.e(Re#tor#o se 4!e.e ree,4(a>ar 4or e( #o,+re %!e se .esee, 4or
eBe,4(o 4o.r1a,os te#er !#o 4ara *.,aga>i#e .e (a sig!ie#te ,a#era=
mkvirtualenv hdma&azine
$( *acer esto e( ter,i#a( i,4ri,ir1a a(go co,o esto=
Few p"thon executable in hdma!a;ine/bin/p"thon
9nstallin! setuptools............done.
9nstallin! pip...............done.
C e( 4ro,4t te#.r1a e( #o,+re .e( e#tor#o e#tre 4ar3#tesis a( 4ri#ci4io a(go co,o esto=
(hdma!a;ineser!ioS5oobar:ZH
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& GJ
2o.as (as .e4e#.e#cias .e 4yt*o# %!e se i#sta(e# 4er,a#ecer# .e#tro .e este
e#tor#o.
Para sa(ir .e( e#tor#o se !sa e( sig!ie#te wra44er=
deactivate
C e( 4ro,4t ;o(;er1a a te#er (a sig!ie#te for,a=
ser!ioS5oobar:ZH
Para ;o(;er a i#gresar a( e#tor#o se !sa=
workon nombre1del1entorno
C #!e;a,e#te ;o(;er1a,os a e#trar e# e( e#tor#o, 4ara seg!ir e( eBe,4(o a#terior se
!sar1a
workon hdma&azine
C se ;o(;er1a a ca,+iar e( 4ro,4t i#.ica#.o %!e esta,os .e#tro .e( e#tor#o (isto 4ara
tra+aBar .e#tro .e 3(.
Si se *a o(;i.a.o (os #o,+res .e (os e#tor#os crea.os, so(a,e#te co# wor6o#, se
e#co#trar1a !# (ista.o .e to.as (as .is4o#i+(es e# e( or.e#a.or, 4ara +orrar a(g!#a, se
4!e.e !sar e( sig!ie#te wra44er=
rmvirtualenv nombre1del1entorno
0s #ecesario #otar %!e s"(o se 4!e.e +orrar e#tor#os %!e act!a(,e#te se e#c!e#tra
.esacti;a.os, eso %!iere .ecir %!e *ay %!e sa(ir .e( e#tor#o si se .esea e(i,i#ar e(
act!a(.
os .e (os wra44ers ,s Hti(es c!a#.o se trata .e co#fig!rar e( e#tor#o, so# (os %!e
#os !+ica# e# (os .irectorios .o#.e se e#c!e#tra# (as .e4e#.e#cias y (i+rer1as, estos
ser1a#
cdvirtualenv
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& GB
0( a#terior ((e;a a \/.;irt!a(e#;s/#o,+reR.e(Re#tor#o y e( sig!ie#te=
cdsitepackages
&(e;a a \/.;irt!a(e#;s/#o,+reR.e(Re#tor#o/(i+/4yt*o#2.7/site-4ac6ages (te#er e#
c!e#ta %!e e( #H,ero .e ;ersi"# .e 4yt*o# .e4e#.e .e (o %!e se te#ga i#sta(a.o e# e(
or.e#a.or, #o es !#a reg(a %!e s"(o f!#cio#e e# 4yt*o# 2.7)
0sos so# (os wra44ers ,s co,!#es.
+oo,s
0( !so .e *oo6s es !#a f!#cio#a(i.a. ,!y est!4e#.a .e ;irt!a(e#;wra44er 4er,ite#
e7te#.er (a f!#cio#a(i.a., ;ea,os (os ,s i,4orta#tes.
Para 4o.er co#fig!rar accio#es (!ego .e acti;arse e( e#tor#o 4o.e,os !sar
4ostacti;ate=
cdvirtualenv
0so #os ((e;ar1a a (a car4eta .e( e#tor#o act!a( y (!ego !sar1a,os !# e.itor .e te7to
4ara ,o.ificar e( +i#/4ostacti;ate, 4or eBe,4(o se 4!e.e !sar ;i, y eBec!tar (o
sig!ie#te=
vim bin/postacti3ate
0#co#traras !# arc*i;o .e te7to ;aci" o co# !#a o .os (1#eas .e co,e#tarios, a%!1
4o.e,os .efi#ir (as or.e#es %!e se eBec!tar# .es4!3s .e acti;arse, 4or eBe,4(o %!e
;aya a !# .irectorio es4ec1fico (as!,ie#.o %!e \/)o.e e7iste)=
cd Z/Code
e ta( ,a#era %!e ca.a ;e> %!e se acti;e e( e#tor#o, a!to,tica,e#te se ca,+iar a(
.irectorio \/)o.e
(hdma!a;ineser!ioS5oobar:Z/CodeH
<sica,e#te (o %!e te#e,os so# !#a es4ecie .e ataBos a accio#es %!e se eBec!tar#
.e4e#.ie#.o .e (a acci"# .e (os wra44ers, si *ace,os !# (ista.o .e#tro .e bin/
;ere,os %!e se 4!e.e# co#fig!rar, accio#es 4ara=
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& GT
4ostacti;ate ((a .e( eBe,4(o a#terior)
4ost.eacti;ate
4reacti;ate
4re.eacti;ate
Pero si ;a,os a (a car4eta .o#.e se e#c!e#tra# to.os (os e#tor#os
cd Z/.3irtualen3s
C *ace,os !# (ista.o ;ere,os .e %!e se 4!e.e# co#fig!rar 4ara=
4ost,6;irt!a(e#;
4ostr,;irt!a(e#;
4re,6;irt!a(e#;
4rer,;irt!a(e#;
4ost,64roBect
4ostr,4roBect
4re,64roBect
4rer,4roBect
Pro.ectos
&a (ista a#terior tie#e N *oo6s %!e #os .a# e( i#.icio .e %!e se 4!e.e !sar
;irt!a(e#;wra44er 4ara *acer 4royectos, ;ea,os co,o f!#cio#a esto, 4ara 4o.er
4ro+ar(o ;a,os a *acer !# eBe,4(o=
)rea,os 4ri,ero !#a car4eta .o#.e se e#co#trara to.os #!estros 4royectos=
mkdir Z/pro"ectos
$*ora te#e,os %!e e.itar 4bashrc 4ara agregar !# #!e;a (1#ea, 4ara ,a#te#er e( or.e#
(o *are,os e#tre (as otras .os a#teriores, #o o(;i.ar recargar 4bashrc=
export Y68d6F_H6P1=HH6P1/.3irtualen3s
e?port (0/8-C'"&/,-=D&/,-.proCectos
source /usr/local/bin/3irtualen3wrapper.sh
U#a ;e> *ec*a esta co#fig!raci"# +asta co# !sar e( wra44er ,64roBect .e (a sig!ie#te
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& G9
,a#era=
mkproEect hdma!a;ine'
Para o+te#er este res!(ta.o, %!e #os i#.ica %!e a.e,as .e crear e( e#tor#o, se esta
crea#.o !#a car4eta 4ara !# 4royecto %!e !se e( e#tor#o crea.o=
Few p"thon executable in hdma!a;ine'/bin/p"thon
9nstallin! setuptools............done.
9nstallin! pip...............done.
Creatin! /home/ser!io/pro"ectos/hdma!a;ine'
Settin! pro:ect 5or hdma!a;ine' to /home/ser!io/pro"ectos/hdma!a;ine'
C #os .are,os c!e#ta %!e a*ora e( 4ro,4t tie#e (a sig!ie#te for,a=
(hdma!a;ine'ser!ioS5oobar:Z/pro"ectos/hdma!a;ine'H
0sta re.irecci"# a esa car4eta f!#cio#ar ca.a ;e> %!e se !se wor6o#. Simplemente
!enial4
Para 4rof!#.i>ar e# s! !so, es ,!y reco,e#.a+(e re;isar (a .oc!,e#taci"#
17
, y .e#tro
.e e((a .ar(e (a i,4orta#cia a (a refere#cia .e co,a#.os
1O
y a co,o e7te#.er(o
19
.
Da44y co.i#g =)
17 *tt4=//;irt!a(e#;wra44er.rea.t*e.ocs.org/e#/(atest/i#.e7.*t,(
1O *tt4=//;irt!a(e#;wra44er.rea.t*e.ocs.org/e#/(atest/co,,a#.Rref.*t,(
19 *tt4=//;irt!a(e#;wra44er.rea.t*e.ocs.org/e#/(atest/4(!gi#s.*t,(
SD2C1 +DMagazine&org R Creati(e Co""ons Atri*uci%n 0oCo"ercial Co"-artir!gual 1&2 3n-orte$
P#g& J2
C
H CH C
eHe HH H CH
HHH CHHC HHH HHC
HHH HHHe HHH eHHC
HHHHHHHC CHHH HHHC
HHHHHHHC eHHHHHHHC
HHHHHHH CHHHHHHH
eHHHHHC HHHHHHH
eHHHC eHHHHH
eC CHHH
HHH C C Ce
HHe He ee eHH
CHH HHCCHH CHH
CHe HHHH HH
C HHHC HHHHH eHH
HC C CHHHHHHHHHHHeeHH eHe C
HH CHHHHHHHHeee eC
HH C eHeHHHHHHHH C HC
e HHHHCHHHC HHHHHHHe HHHCCeHHC e
CHC C C CCC C CCCeC Ce
HHeC HHH HHHeCCeHHCHH eC
eCeHHHCeHC eHHHHHHe eHH eHHe CC
Ce eeCHC eCC CC ee
eHHC HHH HHHHHHHHHCCHHC CHC
CC eH HHHHCH CC eHHHHHe eHCHHHH C CC
CH CHHCHHC CH HH CCC ee
CHHC CCeHe CHHHHHHHHH HHC CHC
CCCHHHe CeHHHeC Ce HHHH
CH C C
HHHHHHHH
HHHHHH
eeeeee
HeeeHe
eHHHHe
eHHHH
CeeCC
HHHC
e CHHHC
CH eeCe
HC HHe
CHHC eHH
H CC
eH CHH
CHHeC HHH
eHeCHHHHCC
corpion
por textart4u
hp://"7ar8%.#$o!spo..om.ar/

VG)AC!AS P6) LEE)06S7
P)6D3C!D6 E0 LA )EPWBL!CA A)GE0! 0A4 P6) +ACHE)S DE 6D6 EL M30D64 PA)A P)65ES!60ALES DE 6D6 EL PLA0EA&
)eco"en$a$os

You might also like