1.1
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.2
1.3
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
1.3.6
1.3.7
1.3.8
1.3.9
1.4
1.4.1
1.4.2
1.4.3
1.4.4
1.4.5
1.4.6
1.4.7
1.4.8
1.5
1.5.1
1.5.2
TableofContentsTutorialesGNU/Linux
Licencia
Garantía
Agradecimientos
Sobreelautor
Convencionesdeestelibro
Prefacio
Usandolalíneadecomandos
TutorialaprendiendoausarlalíneadecomandosenGNU/Linux
TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux
TutorialusarfindparabuscararchivosodirectoriosenGNU/Linux
TutorialcomprimirarchivosydirectoriosenGNU/Linux
TutorialcrearenlacesaficherosydirectoriosenGNU/Linux
TutorialusargrepparabuscartextodentrodearchivosenGNU/Linux
Tutorialpararmomentáneamenteunprocesooaplicación
TutorialcerrandooreiniciandoGNU/Linux
TutorialcomodescargarprogramasoarchivosdeinternetconWgetenGNU/Linux
InstalaraplicacionesenGNU/Linux
TutorialcomoinstalarprogramasenGNU/Linux
TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/Linux
TutorialinstalaryconfigurarGitenGNU/Linux
TutorialinstalarLXCenGNU/Linux
TutorialinstalarVagrantparausarambientesvirtualesenGNU/Linux
TutorialinstalarservidorLAMPenGNU/Linux
TutorialinstalarAtomemGNU/Linux
TutorialinstalarBracketsenGNU/Linuxparadesarrolloweb
UsaraplicacionesenGNU/Linux
TutorialbásicoVim
Tutorialconvertirpáginaswebapdf
2
1.5.3
1.5.4
1.5.5
1.5.6
1.5.7
1.5.8
1.5.10 1.5.9
1.6
1.6.1
1.6.2
1.6.3
1.6.4
1.6.5
1.6.6
1.6.7
1.6.8
1.6.9
1.6.10
1.6.11
1.6.12
1.6.13
1.6.14
1.6.15
1.6.16
1.6.17
1.6.18
1.7
1.7.1
1.7.2
1.7.3
1.7.4
1.7.5
1.5.11
Tutorialinstalaryusaryoutube-dlparabajarmusica
TutorialcrearimágenesQRdepáginaswebenGNU/Linuxconqrencode
TutorialusarPngquantenLinux
CompresordeimágenesTrimage
TutorialextraerpáginasdearchivospdfconPDFTKenLinux
TutorialuniendoarchivospdfconPDFTKenLinux
TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/Linux
TutorialcompartirsesionesSSHconTmuxenGNU/Linux
TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux
AdministrarGNU/Linux
TutorialquéesrootycomousarloenGNU/Linux
TutorialcomofuncionaelprocesodeinicioenGNU/Linux
TutorialcomofuncionanlosnivelesdeejecuciónenGNU/Linux
TutorialgestionarprocesosenunsistemaoperativoGNU/Linux
TutorialverprogramasinstaladosenGNU/Linux
TutorialconfigurandounsistemaRAIDenGNU/Linux
TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk
TutorialcrearoeliminarunaparticiónswapenGNU/Linux
TutorialformatearparticionesenGNU/Linux
TutorialmontarydesmontarunpendriveusbenGNU/Linux
TutorialMontarparticionesNTFSenGNU/LinuxUbuntu
TutorialmontarparticionesNFSenunaredGNU/Linux
TutorialconfigurarlaredenGNU/Linux
TutorialConfigurarImpresoraenunaredGNU/Linux
TutorialconfigurarusuariosenGNU/Linux
TutorialconfigurargruposdeusuariosenGNU/Linux
TutorialgestionarpermisosyatributosdearchivosenGNU/Linux
TutorialgestionaratributosextendidosdearchivosenGNU/Linux
ResolverproblemasenGNU/Linux
TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux
TutorialaprendiendoausarunprogramadechatparapedirayudaenLinux
TutorialbuscarayudaconlalíneadecomandosenLinux
TutorialeliminarkernelsantiguosenUbuntuoDebian
Tutorialresolver"GPGerror"usandoapt-getupdateenGNU/Linux
3
1.7.6
1.7.7
1.7.8
1.7.9
1.7.10
1.7.11
1.8
1.8.1
1.8.2
1.8.3
1.8.5
1.8.6
1.8.7
1.8.8
1.8.4
1.9
1.9.1
1.9.2
1.9.3
1.9.4
1.9.5
1.10
1.11
TutorialresolverproblemadeconfiguracióndelidiomaenGNU/Linux
TutorialcerrarprogramasbloqueadosenGNU/Linux
TutorialintroducciónaloslogsdelsistemaGNU/Linux
TutorialusarloslogsdelsistemaGNU/Linuxparadescubrirerrores
TutorialresolverproblemasconsistemasdearchivosenGNU/Linux
Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañados
SeguridadenGNU/Linux
Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux
Tutorialhacercopiasderespaldo(backup)dediscosrígidosenGNU/Linux
Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux
Tutorialexaminarsinuestroordenadorestásiendoinvadidoatravésdeunrootkit
Tutorialdescubrirrootkits,backdoors,sniffersymalwareconRKHunterenGNU/Linux
TutorialmonitorearreddeInternetconntopenGNU/Linux
TutorialescaneodepuertosconnmapenGNU/Linux
TutorialusartcpdumpparaanalizarpaquetesderedenGNU/Linux
ProgramarenGNU/Linux
Comocrearunscriptenlalíneadecomando(shellscript)
Tutorialbásicocrontab
ComandosdeiniciodelsistemaoperativoGNU/Linux
VariablesdelsistemaGNU/Linux
TutorialAwkcomocomandoycomolenguajedeprogramación
Bibliografía
AnexoA:Recursos
4
TutorialesGNU/Linux.
Hackingparaprincipiantes
Estelibroesunacoleccióndetutorialesconinstruccionesparalaadministracióndeusuarios,sistemasdearchivos,copiasdebackup,configuracióndehardware,instalacióndesoftware,monitorizaciónderedes,resolucióndeproblemas,seguridad,herramientasyprogramacióndescripts.LaideaesqueseaunafuentedeconsultaparausarcomoreferenciaalahoradeadministrartusistemaoperativoGNU/Linux.
TutorialesGNU/Linux
5
TutorialesGNU/Linux
Hackingparaprincipiantes
MarceloHoracioFortinoPrimeraediciónBarcelona,EspañaSetiembre2014ISBN:978-84-606-7548-8
TutorialesGNU/Linux.HackingparaprincipiantesporMarceloHoracioFortino.
EstaobraestásujetaalalicenciaReconocimiento-CompartirIgual4.0InternacionaldeCreativeCommons.Paraverunacopiadeestalicencia,visitehttp://creativecommons.org/licenses/by-sa/4.0/.
Puedehallarpermisosmásalládelosconcedidosconestalicenciaenhttps://fortinux.com
Todaslasmarcassonpropiedaddesusrespectivosdueños.Linux®esunamarcaregistradadeLinusTorvalds.Ubuntu®esunamarcaregistradadeCanonicalLimited.Google®esunamarcaregistradadeGoogleInc.
Imagendelaportadabasadaen"Manworkingatcomputers"dedear_theophilus:https://openclipart.org/detail/193012/Man%20working%20at%20computers
Licencia
6
GarantíaEstelibrosedistribuyeconlaesperanzadequeseaútil,peroSINNINGUNAGARANTÍA,inclusosinlagarantíaMERCANTILimplícitaosingarantizarlaCONVENIENCIAPARAUNPROPÓSITOPARTICULAR.Elautornoasumeningunaresponsabilidadsiellectorhaceunmalusodelmismo.
Garantía
7
AgradecimientosAAdriana.
Atod@slosquemeenseñaron,principalmentemisamigosymifamilia.
AtodalacomunidaddeSoftwareLibre.
Agradecimientos
8
SobreelautorMarceloHoracioFortinoesunprofesionaldelastecnologíasdelainformaciónconmásde17añosdeexperienciaenlaindustriayserviciosasociados.Trabajócomodiseñadoryprogramadorweb,administradordesistemas,formadorylíderdeproyectos.ActualmenteesconsultordeTI.
HacontribuídoenvariosproyectosdeSoftwareLibrecomoPHPCalendar,UbuntuManual,OpenOffice.OrgyTheDocumentFoundation.
DictóconferenciasytutorialesenvariosCongresosyeventosdeTIenArgentina,Brasil,EspañayUruguay.
En1999,escribióellibro"Internet:Unaaproximaciónasusaplicacionesyusos"editadoenformatoelectrónico.
EscribeademásartículosperiodísticosparapublicacionesgráficasySitiosweb,yeseditordehttp://www.fortinux.com.
Esmiembroactivodelassiguientesasociacionesprofesionales:ICASA,FreeSoftwareFoundation,Hispalinux,yfuepresidenteyfundadordeLibrePlanetBarcelonaydeProfesionalesAsociadosdelaWeb(PAW).
E-mail:[email protected]:@fortinuxGoogle+https://google.com/+marcelofortinoLinkedinhttp://es.linkedin.com/in/marcelofortinoBlog:http://www.fortinux.comGithubhttps://github.com/fortinuxSlideshare.nethttp://www.slideshare.net/fortinuxPlanetaLinuxhttp://planetalinux.org/es/
Sibuscaunformador,conferencistaoconsultorTICconconocimientosdesoftwarelibreydefuenteabiertalopuedecontactarporemail,twitterolinkedin.
Sobreelautor
9
ConvencionesdeestelibroCuandoleasestelibro,verásquealgunaspalabrasestánrepresentadasconfuentesytiposdeletradiferentes.Porejemplo:
comando
LoscomandosenGNU/Linuxserepresentandeestamanera.Esteestiloindicaquepuedesescribirlapalabraofraseenlalíneadecomandosypulsarlateclaintroparainvocarelcomando.
Ctrl+Shift+F3
Estaesunacombinacióndeteclasquetienesqueapretarsimultáneamente.Lasteclassiempreserepresentanencursiva.
-.-
Parapoderrealizarlostutorialessimpredeberástenerunterminalamano.Paraabrirloen:
Debian/Ubuntu:ApretarlasteclasCONTROL+ALT+T.UbuntuUnity:ApretarlateclaSUPER(sueletenereliconodeWindows®diseñado)yelnúmero2.Gnome:IralMenúAplicaciones/Accesorios/Terminal.Xfce:IralMenúAplicaciones/Accesorios/Terminal.Kde:ClicenKickOff/Aplicaciones/Sistema/Terminal.
Convencionesdeestelibro
10
PrefacioBienvenid@saTutorialesGNU/Linux,hackingparaprincipiantes;unacoleccióndetutorialesqueresuelvendudasyproblemastécnicosbásicosrelacionadosconelsoftwareyelhardwareenunsistemaoperativoGNU/Linux.UnlibroidealparausarcomoreferenciaalahoradeadministrartusistemaoperativoGNU/Linux.
Lamayoríadelasdefinicionesde'hacking'enel'jargonfile'delhackerEricS.Raaymond¹estánbasadasprincipalmente"enlaaficiónalotécnicoyenelplacerderesolverproblemassobrepasandoloslímites".
Laideadeestelibroescapturaresaesenciamediantesimplesyprácticostutorialesparaquepuedascomenzarahackeartuordenadorutilizandolalíneadecomandos.
Aquíencontrarásinstruccionesparalaadministracióndeusuarios,sistemasdearchivos,copiasdebackup,configuracióndehardware,instalacióndesoftware,monitorizaciónderedes,resolucióndeproblemas,seguridad,herramientasyunaintroducciónalaprogramacióndescripts.
LostutorialesestánbasadosenlasdistribucionesGNU/LinuxDebian7yUbuntu14.04porlocualparaotrasversionesy/osistemasoperativospuedesernecesariorealizaralgunoscambios.
¹Cómoconvertirseenhackerhttp://www.catb.org/~esr/faqs/hacker-howto.html
Prefacio
11
Usandolalíneadecomandos
Lainterfazdeusuario,comunmentellamadalíneadecomandos(commandlineinterfase-CLIeninglés)esunmétodoquenospermitedarinstruccionesalosprogramasutilizandoórdenesdetexto.
Conellapodemoscrearusuários,editarficheros,automatizartareasmediantearchivosbatchyadministrarnuestrosistemaoperativoGNU/Linux.
TutorialaprendiendoausarlalíneadecomandosenGNU/Linux
TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux
TutorialusarfindparabuscarficherosodirectoriosenGNU/Linux
TutorialcomprimirficherosydirectoriosenGNU/Linux
TutorialcrearenlacesaficherosydirectoriosenGNU/Linux
TutorialusargrepparabuscartextodentrodeficherosenGNU/Linux
Tutorialpararmomentáneamenteunprocesooaplicación
TutorialcerrandooreiniciandoGNU/Linux
TutorialcomodescargarprogramasoficherosdeinternetconWgetenGNU/Linux
Palabrasclaves:interfazdeusuario,líneadecomandos,CLI,commandline,shell,terminal,editarficheros,comandofind,comprimirficheros,gzip,tar,enlaces,links,Wget,descargarprogramas,GNU,Linux.
Usandolalíneadecomandos
12
Enelprincipio...fuelalíneadecomandos.NealStephenson
Usandolalíneadecomandos
13
TutorialaprendiendoausarlalíneadecomandosenGNU/LinuxEnestetutorialaprenderemosdesde0autilizarlalíneadecomandoenGNU/Linux
Palabrasclaves:líneadecomandos,commandline,shell,bash,date,pwd,cd,ls,less,cat.
Abrimosunterminalyescribimosnuestroprimercomando:
date
Parasaberenquedirectorioestamos:
pwd
Paracambiardedirectorioutilizamoselcomandocd.Porejemploescribiendoelnombredeldirectorio:
cd/usr
Paracambiaraldirectoriosuperiorleagregamosunespacioydospuntosseguidos:
cd..
Paracambiaraldirectorioprincipal(home):
cd
Paraverunlistadodelcontenidodeldirectorioactivo:
ls
LoscomandosenLinuxsuelenteneropciones(quepodemosagrupar,porej.-ld)yargumentos.Enestecaso,paraverlosdetallesdeldirectorio/usrutilizamoslasopciones-l(descripciónlarga)yd(directorio):
ls-ld/usr
TutorialaprendiendoausarlalíneadecomandosenGNU/Linux
14
Encambiosiqueremosverelcontenido:
ls-l/usr
Paraverloquehaydentrodeunarchivopodemosusarelcomandoless:
lessarchivo.txt
Salimosapretandolaletraqdelteclado.
Otambiénelcomandocat:
catarchivo.txt
Uncompletolistadodecomandolopodeisencontraren:http://cb.vu/unixtoolbox.xhtml(idiomainglés)
TutorialaprendiendoausarlalíneadecomandosenGNU/Linux
15
TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/LinuxEnestetutorialvamosautilizarlalíneadecomandoenGNU/Linuxparatrabajarconficherosydirectorios,aprendiendoacopiar,mover,borraryeditarlosmismos.
Palabrasclaves:líneadecomandos,commandline,mkdir,cp,mv,rm,cat.
Comandos:
mkdir–Creadirectorioscp–Copiaarchivosydirectorios.mv–Mueve/renombraarchivosydirectorios.rm–Borraarchivosydirectorios.
Comenzamos:
Creamosundirectorioquellamaremos“pruebas”:
mkdirpruebas
Ahoranosmovemosaldirectoriocreado:
cdpruebas
Creamosunarchivollamadoarchivo-de-pruebas.txt(salimosconctrl+D):
cat>archivo-de-pruebas.txt
Creamosotrodirectoriollamadopruebas2:
mkdirpruebas2
Copiamoselcparchivo-de-pruebas.txtaldirectoriopruebas2:
cparchivo-de-pruebas.txtpruebas2
Cambiamosaldirectoriopruebas2ycomprobamossielarchivohasidocopiadocorrectamente:
TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux
16
cdpruebas2ls
Volvemosaldirectorio“pruebas”yallícopiamoseldirectorio“pruebas2″como“pruebas3″(-rsirveparacopiarloquehaydentrodeesedirectorio):
cd..cp-rpruebas2pruebas3
Usamosmvparacambiarelnombrealarchivo-de-pruebas.txt:
mvarchivo-de-pruebas.txtarchivo-de-pruebas2.txt
Usamosmvparamoverelarchivo-de-pruebas2.txtaldirectoriopruebas2:
mvarchivo-de-pruebas2.txtpruebas2
Vamosaldirectorio“pruebas2″yusamoselcomandormparaborrar“archivo-de-pruebas2″(-isolicitaunaconfirmaciónantesdehacerlo,conyaceptamos):
cdpruebas2rm-iarchivo-de-pruebas2.txt
rm:borrararchivocomumvacio“archivo-de-pruebas2.txt”?
Siqueremosborrarundirectorioencambio,tenemosqueusarlaopción-r(confirmarsiemprecony):
rm-irpruebas3
rm-ir../pruebas3rm:entraraldirectorio“../pruebas3”?
rm:borrararchivocomumvacio“../pruebas3/archivo-de-pruebas.txt”?
rm:borrardirectorio“../pruebas3”?
Nota:laopción-inoesobligatoriaperoavecesesconvenienteutilizarla,especialmenteconelcomandorm
Nota2:LoscomandosenLinuxsuelenteneropciones(quepodemosagrupar:-lt)yargumentos.Comoejemplo,paraverlosdetallesdeldirectorio/pruebasutilizamoslasopciones-l(descripciónlarga)yt(time:ordenadoporúltimosmodificados):
TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux
17
ls-lt/pruebas
TutorialeditarficherosydirectoriosconlalíneadecomandosenGNU/Linux
18
TutorialusarfindparabuscararchivosodirectoriosenGNU/LinuxEnestetutorialveremoscómopodemosbuscararchivosodirectoriosconelcomandofindenGNU/Linux
Palabrasclaves:líneadecomandos,commandline,find,buscararchivos,gnu,linux.
Parabuscareneldirectorioroot(/)archivos(-type)conmásde9megas(-size):
find/-typef-size+9M
Parabuscartodoslosarchivosconextensión.txt(-iname)abiertos(-atime)enlosúltimosdosdías:
find/-iname'*.txt'-atime-2
Parabuscartodoslosarchivosmodificadosocreados(-mtime)enlosúltimosdosdías:
find/-typef-mtime-2
Parabuscararchivosconpermisos(-perm)deescritura,lecturayejecución:
find/-typef-perm0777
Parabuscarunarchivodenombretexto.txteneldirectorioactivoyunnivelmásabajo(subdirectorio):
find-maxdepth2-nametexto.txt
Másejemplosen:http://blog.desdelinux.net/con-el-terminal-ejemplos-con-el-comando-find/
TutorialusarfindparabuscararchivosodirectoriosenGNU/Linux
19
TutorialcomprimirarchivosydirectoriosenGNU/LinuxEnestetutorialveremoscomopodemoscomprimirarchivosydirectoriosenGNU/Linuxdesdelalíneadecomandos.
Palabrasclaves:líneadecomandos,commandline,comprimir,gzip,bzip2,xz,tar.
Paracomprimirunarchivoodirectoriousaremoselcomandotarjuntoconunaherramientadecompresióntipogzip(lamásantigua),bzip2(probablementelamásusada)yxz(lamásnuevaygeneralmentecommejorratiodecompresión).
Comenzamoscomprimiendocongzip:Paraellovamosaldirectoriodondeestánlosarchivosquequeremoscomprimircongzipyescribimos:
tarczfarchivo-comprimido.tar.gznombre-del-archivo1nombre-del-archivo2
Siqueremoscomprimirconbzip2:
tarcjfarchivo-comprimido.tar.bz2nombre-del-archivo1nombre-del-archivo2
Ysiqueremoscomprimirconxz:
tarcJfarchivo-comprimido.tar.xznombre-del-archivo1nombre-del-archivo2
Siqueremoscomprimirtodoundirectorio:
tarczfarchivo-comprimido.tar.gznombre-del-directorio
Paralistarelcontenidodeunarchivotar:
tartvfarchivo-comprimido.tar.gz
Paradescomprimirunarchivotar:
tar-xvfarchivo-comprimido.tar.gz
Siqueremosdescomprimirelarchivotarenotrodirectorio:
TutorialcomprimirarchivosydirectoriosenGNU/Linux
20
tar-xvfarchivo-comprimido.tar.gz-C/nombre-del-directorio/
Paracomprimirunarchivogzcongzip:
gzip-9nombre-del-archivo1
Paradescomprimirunarchivogzcongzip:
gzip-darchivo-comprimido.gz
Unapáginadeayuda:http://linuxzone.es/metodos-de-compresion-y-descompresion-en-linux/
TutorialcomprimirarchivosydirectoriosenGNU/Linux
21
TutorialcrearenlacesaficherosydirectoriosenGNU/LinuxEnestetutorialaprenderemosautilizarlalíneadecomandoenGNU/Linuxparacrearenlacessimbólicosaficherosydirectorios.
Palabrasclaves:líneadecomandos,commandline,ln,enlaces,links.
Elcomandoln-screaenlacessimbólicosaficherosydirectorios.
Comenzamoscreandoundirectorioquellamaremos“pruebas”:
mkdirpruebas
Ahoranosmovemosaldirectoriocreado:
cdpruebas
Creamosunarchivollamadoarchivo-de-pruebas.txt(salimosconctrl+D):
cat>archivo-de-pruebas.txt
Creamosotrodirectoriollamadopruebas2:
mkdirpruebas2
Creamosunenlacealdirectoriopruebas2:
ln-spruebas2pruebas2enlace
Locomprobamosviendoenlaúltimalíneaelenlaceanuestrodirectorio:
ls-l
total4
TutorialcrearenlacesaficherosydirectoriosenGNU/Linux
22
-rw-rw-r--1usuariousuario0Nov612:08archivo-de-pruebas.txtdrwxrwxr-x2usuariousuario4096Nov611:09pruebas2lrwxrwxrwx1usuariousuario8Nov612:17pruebas2enlace->pruebas2
TutorialcrearenlacesaficherosydirectoriosenGNU/Linux
23
TutorialusargrepparabuscartextodentrodearchivosenGNU/LinuxGrepesuncomandomuyútilquepermitebuscartexto(unaovariaspalabras)dentrodeunoomásarchivos.
Palabrasclaves:líneadecomandos,commandline,grep,buscartexto,gnu,linux.
Porejemplo,buscamoslapalabra"texto"dentrodetodoslosarchivosdetexto(.txt)quetengamoseneldirectorio"home":
grep"texto"/home/*.txt
Siqueremosbuscarenesedirectorioyenlosqueestándentrodeél:
grep-r"texto"/home/*.txt
Buscarenesedirectorio,enlosqueestándentrodeélyencualquiertipodearchivo:
grep-r"texto"/home/
Buscarlapalabra"texto"dentrodeunarchivoignorandodistinciónentremayúsculasyminúsculas:
grep-i"texto"nombre-del-archivo
Buscarcomentariosdentrodeunarchivo:
grep^#nombre-del-archivo
MásejemplosenlaWikipedia:https://es.wikipedia.org/wiki/Grep
DocumentaciónoficialGNU:http://www.gnu.org/software/grep/manual/grep.html(idiomainglés).
TutorialusargrepparabuscartextodentrodearchivosenGNU/Linux
24
TutorialusargrepparabuscartextodentrodearchivosenGNU/Linux
25
TutorialpararmomentáneamenteunprocesooaplicaciónEnestetutorialveremoscomopararenGNU/Linuxlaejecucióndeumprocesoycomoretornaralmismo
Palabrasclaves:líneadecomandos,commandline,jobs,fg,PID,bg,gnu,linux.
Parapararunprocesobastapresionarlasteclasctrl+z.Mientraseseprogramaestáparadoenlamemorianosotrospodemosusarotroscomandosoprogramas.ParapoderejecutarlonuevamenteusaremoselcomandojobsparasaberelnúmeroPIDdelmismo:
jobs
Elcomandojobsmuestralosprocesosqueestánparadosorodandoensegundoplano.fgencambioseráelcomandoutilizadoparatraerloalprimerplanonuevamente,juntoconelnúmerodePID:
fg[número]
SifgesusadosinelnúmeroPIDtraeráelúltimoprogramainterrumpido.
bgporotraparte,lepermiteaunprogramaqueestárodandoenprimerplanooparadopasararodarensegundoplano.Primerointerrumpimossuejecuciónconctrl+z,yluegousamoselcomandobgparainiciarlaejecuciónensegundoplano.
bg[número]
Tutorialpararmomentáneamenteunprocesooaplicación
26
TutorialcerrandooreiniciandoGNU/LinuxEnestetutorialveremoscómopodemoscerraroreiniciarelsistemaoperativoGNU/Linuxdesdelalíneadecomandos
Palabrasclaves:líneadecomandos,commandline,cerrar,reiniciar,gnu,linux,shutdown.
ParareiniciarGNU/Linuxabrimosunterminalyescribimos:
sudoshutdown-rnow
Nospedirálacontraseñayluegoiniciaráelprocesoparareiniciar.
Paracarrarelsistemaoperativoencambioes-h(halteninglés):
sudoshutdown-hnow
Siqueremoscerrarloaunahoraespecífica,porejemploalas10am:
sudoshutdown-h10:00
Siporalgúnmotivoelsistemasehabloqueado,podemoscerrarlodesdeeltecladomanteniendoapretadalateclaalt,yapretandolassiguentesteclasenestasecuencia:PrintScreen+r+e+i+s+u+b
Másinformaciónen:http://es.wikipedia.org/wiki/REInicia_SUBnormal
TutorialcerrandooreiniciandoGNU/Linux
27
TutorialcomodescargarprogramasoarchivosdeinternetconWgetenGNU/LinuxWgetesunaherramientadelíneadecomandosmuyútilalahoradedescargarprogramasoarchivosdeInternet.Vamosavercómofuncionaconejemplos.
Palabrasclaves:Wget,descargarprogramas,líneadecomandos.
Paradescargarlaimagen.isodeUbuntu14.04abrimosunterminalyescribimos:
wgethttp://releases.ubuntu.com/14.04/ubuntu-14.04-desktop-amd64.iso
Encambiosiqueremosguardarlaimagen.isoconotronombre:
wget-Oubuntu_amd64.isohttp://releases.ubuntu.com/14.04/ubuntu-14.04-desktop-amd64.iso
Parareiniciarunadescargainterrumpida:
wget-cubuntu_amd64.isohttp://releases.ubuntu.com/14.04/ubuntu-14.04-desktop-amd64.iso
Parapasarasegundoplanoladescargayseguirtrabajandoenesaterminal:
wget-bubuntu_amd64.isohttp://releases.ubuntu.com/14.04/ubuntu-14.04-desktop-amd64.iso
Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/man1/wget.1.html(idiomainglés).
TutorialcomodescargarprogramasoarchivosdeinternetconWgetenGNU/Linux
28
InstalandoaplicacionesenGNU/Linux
InstalaraplicacionesenGNU/Linuxsueleserbiensimple.Enestecapítuloveremosunaintroducciónalainstalacióndeprogramas;yluegocomoinstalarherramientasdeprogramaciónyadministracióndesistemas.
TutorialcomoinstalarprogramasenGNU/Linux
TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/Linux
TutorialinstalaryconfigurarGitenGNU/Linux
TutorialinstalarLXCenGNU/Linux
TutorialinstalarVagrantparausarambientesvirtualesenGNU/Linux
TutorialinstalarservidorLAMPenGNU/Linux
TutorialinstalarAtomemGNU/Linux
TutorialinstalarBracketsenGNU/Linuxparadesarrolloweb
Palabrasclaves:apt-get,ppa,.deb,repositorio,códigofuente,instalar.tar.gz,desinstalar,uninstall,make,install,git,cvs,lxc,lxc-containers,vagrant,ambientesvirtuales,tasksel,meta-paquetes,LAMP,servidor,atom,build-essential,git,curl,node,nodejs,Brackets,editordetextos,HTML,CSS,javascript,desarrolloweb.
InstalaraplicacionesenGNU/Linux
29
TutorialcomoinstalarprogramasenGNU/LinuxEnestetutorialveremoscomopodemosinstalarprogramasenGNU/Linux
Palabrasclaves:instalar,desinstalar,install,uninstall,apt-get,ppa,.deb,repositorio,sources.list.
Lamayoríadelasveces,losprogramasquequeremosinstalarseencuentranenlosrepositoriosdeladistribuciónGNU/Linuxqueestamosusando.Esimportante,siempreantesdeinstalarlos,actualizarlalistadeprogramasdelosrepositoriosabriendounterminalyescribiendo:
sudoapt-getupdate
Paraactualizarlosprogramasinstalados:
sudoapt-getupgrade
Parainstalarunprogramaescribimos:
sudoapt-getinstallnombre_del_programa
Paraejecutarlounavezinstalado,escribimosenlalíneadecomando:
nombre_del_programa
SielprogramanoestáenlosrepositoriosyesunPPA(personalpackagearchive),primerotenemosqueagregarlafuentedelarchivoanuestralistadeprogramas:
sudo-add-apt-repositoryppa:programador/nombre_del_programa_ppa
Luegoactualizamoslalistayloinstalamos:
sudoapt-getupdate
sudoapt-getinstallnombre_del_programa_ppa
TutorialcomoinstalarprogramasenGNU/Linux
30
Paraeditarlalistadeprogramasdirectamente:
sudovim/etc/apt/sources.list
Paradesinstalarunprograma:
sudoapt-getremovenombre_del_programa
Pararepararunprograma:
sudodpkg-reconfigurenombre_del_programa
Parabuscarsiunprogramaestáenlalistadeprogramas:
apt-cachesearchnombre_del_programa
ParainstalarunprogramadeDebian(laextensióndelarchivoes.deb):
sudodpkg-inombre_del_programa.deb
Paraeliminarlo:
sudodpkg-rnombre_del_programa.deb
Másinformaciónen:http://www.ubuntu-guia.com/2014/04/software-y-actualizaciones-en-ubuntu.html#
TutorialcomoinstalarprogramasenGNU/Linux
31
TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/LinuxSibienlamayoríadelasvecesquequeremosinstalarunprogramaloencontramosenlosrepositoriosdeladistribuciónGNU/Linuxqueestamosusando,sepuededarelcasodetenerqueinstalarloconelcódigofuentedelmismo.EnestetutorialveremoscómoinstalarycompilarprogramasenGNU/Linux
Palabrasclaves:códigofuente,instalar.tar.gz,make,install.
PrimerovamosainstalarlasherramientasdedesarrollodeGNU/Linuxabriendounterminalyescribiendo:
sudoapt-getinstallbuild-essentiallinux-headers-$(uname-r)
LuegodescargamosdeInternetelarchivoquequeremosinstalaryloextraemosescribiendo:
tarxvfarchivo_fuente.tar.gz
Ahoravamosaldirectorioquesehacreadoconlosarchivosdelprograma:
cd/directorio_archivo_fuente
Configuramoselprograma:
./configure
Loconstruimos:
make
Finalmenteloinstalamos:
sudomakeinstall
Importante:Sitenemosunerrorconlospermisosdearchivo,lopodemossolucionarcon:
TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/Linux
32
sudochmod+xconfigure
Másinformaciónen:http://ubuntuguide.org/wiki/Ubuntu_Trusty_Packages_and_Repositories(idiomainglés)
TutorialcomoinstalarprogramasdesdeelcódigofuenteenGNU/Linux
33
TutorialinstalaryconfigurarGitenGNU/LinuxEnestetutorialveremoscómoinstalaryconfigurarGit,unsistemadecontroldeversionesdistribuido(CVS),creadoporLinusTorvaldsparaeldesarrollodelkernelLinux.
Palabrasclaves:Git,CVS.
Primeroabrimosunterminalyactualizamoslalistadepaquetes:
sudoapt-getupdatesudoapt-getupgrade
AhorainstalamosGit:
sudoapt-getinstallgit
Configuramosnuestronombredeusuario:
gitconfig--globaluser.name"usuario"
Configuramosnuestradireccióndee-mail:
gitconfig--globaluser.email"[email protected]"
CreamosunallaveSSH:
ssh-keygen-trsa-C"[email protected]"
CopiamoslaclaveSSHennuestracuentaenGithttps://github.com/settings/ssh:
cat~/.ssh/id_rsa.pub
Controlamossiestacorrecta:
TutorialinstalaryconfigurarGitenGNU/Linux
34
RecibiremosunmensajediciendoqueautenticamosnuestracuentaperoqueGitnoproveeaccesoshell.
UnsencillotutorialparasabercomousarGitloencontrareisen:https://github.com/fortinux/ejemplos-git
Másinformaciónen:https://help.ubuntu.com/lts/serverguide/git.html(idiomainglés)
TutorialinstalaryconfigurarGitenGNU/Linux
35
TutorialinstalarLXCenGNU/LinuxElobjetivodeLXC(LinuxContainers)escrearunambientelomáspróximoposibleaunainstalaciónestándardeGNU/Linuxperosinprecisarunkernelseparado.
Palabrasclaves:lxc,lxc-containers.
Primeroinstalamoslxc:
sudoapt-getinstalllxc
Confirmamossielkernelsoportalxc-containers:
lxc-checkconfig
Creamoselprimercontainer:
sudolxc-create-ncontainer-test-tubuntu
Elusuáriopredeterminadoes"ubuntu"conlaclave"ubuntu"yparaserrootdentrodelcontainerusamossudo.
Elcontainerestáalojadoen/var/lib/lxc/ysusistemaraizestáen/var/lib/lxc//rootfs.
ParaverunalistadeLXCcontainersennuestrosistema:
sudolxc-ls--fancy
Parainiciaruncontainer:
lxc-start-ntest-container-d
Paraloguearseenelcontainer:
lxc-console-ntest-container
Unavezdentro,siqueremossalirdelcontainerescribimos:
sudopoweroff
TutorialinstalarLXCenGNU/Linux
36
Parapararelcontainerdesdefueradelmismo:
lxc-stop-ntest-container
SiqueremosentrarporSSHalcontainerprimeroaveriguamossuIP:
sudolcx-info-ntest-container
yluegoentramoscon:
sshubuntu@<númerodelaIP>
Paraeliminarelcontainer:
lxc-destroy-ntest-container
Paraqueelcontainerseinicieautomáticamentepodemoshacerunenlacesimbólico:
ln-s/var/lib/lxc/test-container/config/etc/lxc/auto/test-container.conf
Másinformaciónen:https://linuxcontainers.org/(idiomainglés)
TutorialinstalarLXCenGNU/Linux
37
TutorialinstalarVagrantparausarambientesvirtualesenGNU/LinuxEnestetutorialveremoscomoinstalaryusarVagrant,unprogramaquenospermiteconfiguraryusarambientesvirtuales.
Palabrasclaves:ambientevirtual,Vagrant,Virtualbox,máquinavirtual,virtualmachine.
ParapoderusarVagrantprimeramentetendremosqueinstalarVirtualboxoVMware.Enestecasoinstalaremoselprimero:
sudoapt-getupdate
sudoapt-getinstallvirtualboxdkms
AhorainstalamosVagrant:
sudoapt-get-yinstallvagrant
DescargamoslossistemasoperativosUbuntu12.04:
vagrantboxaddprecise32http://files.vagrantup.com/precise32.box
YUbuntu14.04:
vagrantboxaddubuntu/trusty64https://vagrantcloud.com/ubuntu/boxes/trusty64
LuegoqueVagrantestáinstaladoyyatenemosennuestroordenadorlascajas(boxes),vamosacrearnuestraprimeramáquinavirtualUbuntu14.04.Primerocreamosundirectorioparaellaynosmovemosallí:
mkdirvagrant-ubuntu
cdvagrant-ubuntu
Creamoselarchivodeconfiguracióndevagrant:
vagrantinit
TutorialinstalarVagrantparausarambientesvirtualesenGNU/Linux
38
Editamoslalíneaconfig.vm.box="base"porconfig.vm.box="ubuntu/trusty64"deesearchivo,denominadoVagrantfileparaqueVagrantbusqueelboxdeUbuntu14.04quedescargamosanteriormente:
sudovimVagrantfile
Ahorainiciamoslamáquinavirtual:
vagrantup
Ynosconectamosaellaporssh:
vagrantssh
Parasalir:
exit
Paraapagarla:
vagranthalt
Paraeliminarlamáquinavirtual:
vagrantdestroy
Másinformaciónen:https://www.vagrantup.com/(idiomainglés).UnlistadodeVagrantbooxes:https://vagrantcloud.com/boxes/search
TutorialinstalarVagrantparausarambientesvirtualesenGNU/Linux
39
TutorialinstalarservidorLAMPenGNU/LinuxEnestetutorialveremoscomopodemosusarTaskselparainstalarApacheserver,MySQLePHPenGNU/LinuxUbuntuoDebian
Palabrasclaves:tasksel,meta-paquetes,LAMP,servidor,server.
Taskselesunaherramientaqueinstalavariasaplicacionesjuntas,similaralosmeta-paquetes.
Abrimosunterminalyescribimos:
sudoapt-getinstalltasksel
Ejecutamostasksel:
sudotasksel
EnlaventanaseleccionamosLAMPserverutilizandolabarraespaciadorayaceptamos.CuandocomienzeainstalarMySQLpediráunaclave,inventamosunaylaintroducimos.
Unavezfinalizadalainstalación,abrimoselnavegadoryescribimoshttp://127.0.0.1óhttp://localhost.Apareceráelmensaje"itworks"delservidorApache.
TutorialinstalarservidorLAMPenGNU/Linux
40
TutorialinstalarAtomemGNU/LinuxEnestetutorialveremoscómoinstalarAtomenGNU/Linux.
Palabrasclaves:atom,editordetexto,build-essential,git,curl,node,nodejs.
Atomeseleditordetexto"hackeable"deGitHub,totalmentebasadoentecnologíasweb.
Parapoderinstalarlocomenzamosconlasdependenciasbásicas:
sudoapt-getupdatesudoapt-getupgradesudoapt-getinstallbuild-essentialgitlibgnome-keyring-devfakeroot
Tambiéninstalaremosnode.jsyaqueAtomdependedeesteentornodeprogramaciónenjavascript:
curl-sLhttps://deb.nodesource.com/setup|sudobash-sudoapt-getinstall-ynodejs
ParasaberlaversióndeNode.js:
node-v
Node.jsinstalaránpmautomáticamente,paraconfigurarlo:
npmconfigsetpython/usr/bin/python2-g
ParainstalarAtomabrimosunterminalyclonamoselcódigodeGit:
gitclonehttps://github.com/atom/atom
CambiamosaldirectoriodeAtom:
cdatomgitfetch-pgitcheckout$(gitdescribe--tags`gitrev-list--tags--max-count=1`)
ConstruimosAtom:
TutorialinstalarAtomemGNU/Linux
41
script/build
AhorayapodemosejecutarAtom.Otraopciónescrearunarchivoejecutable.deb,lohacemosconelsiguientecomando:
script/gruntmkdeb
Másinformaciónen:
http://nodejs.org/(idiomainglés)
https://atom.io/(idiomainglés)
TutorialinstalarAtomemGNU/Linux
42
TutorialinstalarBracketsenGNU/LinuxparadesarrollowebEnestetutorialveremoscómoinstalaryconfigurarBrackets,uneditordetextosdefuenteabierta(opensource)desarrolladoporAdobeorientadoalaprogramaciónweb.ConélsepuedeeditarHTML,CSSyjavascript,entreotroslenguajesutilizadosenlaweb.
Palabrasclaves:Brackets,editordetextos,HTML,CSS,javascript,desarrolloweb.
ParainstalarloprimerolodescargamosdelrepositoriodeAdobeenGit:
wgethttps://github.com/adobe/brackets/releases/download/release-0.44/Brackets.Release.0.44.64-bit.deb
Loinstalamoscon:
sudodpkg-iBrackets.Release.0.44.64-bit.deb
Parapoderabrirlo,enlaterminalescribimos:
brackets
Másinformaciónenhttps://github.com/adobe/brackets(idiomainglés)yenhttp://brackets.io/(idiomainglés)
TutorialinstalarBracketsenGNU/Linuxparadesarrolloweb
43
UsandoaplicacionesenGNU/Linux
TutorialbásicoVim
Tutorialconvertirpáginaswebapdf
Tutorialinstalaryusaryoutube-dlparabajarmusica
TutorialcrearimágenesQRdepáginaswebenGNU/Linuxconqrencode
TutorialusarPngquantenGNU/Linux
CompresordeimágenesTrimage
TutorialextraerpáginasdearchivospdfconPDFTKenGNU/Linux
TutorialuniendoarchivospdfconPDFTKenGNU/Linux
TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/Linux
TutorialcompartirsesionesSSHconTmuxenGNU/Linux
TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux
Palabrasclaves:editarachivos,vim,cutycapt,convertirhtmlaimagen,htmlapdf,youtube-dl,bajarmúsica,convertirvideoaaudio,videoamp3,imagenQR,qrencode,pngquant,trimage,comprimirimágenes,pdftk,editarpdf,tmux,múltiplesconsolas,terminalmultiplexer,compartirsesiones,sshcontmux,byobu.
UsaraplicacionesenGNU/Linux
44
UsaraplicacionesenGNU/Linux
45
TutorialbásicoVimEnestetutorialveremoscomopodemosusarelfamosoeditorVimenGNU/Linuxparaeditarunarchivo
Nota:Esteesuntutorialmuybásico.Enlasreferenciasencontrareisinteresantesenlacesparaprofundizarvuestrosconocimientos
Palabrasclaves:Vim,editararchivo,líneadecomandos,commandline.
Abrimosunterminalyescribimos:
vimmi_primer_archivo.txt
Seospresentaráunapantallatotalmenteenblanco.Parapoderescribirapretamoslateclai(inserteninglés)yescribimos
"EsteesmiprimerarchivoenVim"
Conlateclaintropasamosalasegundalíneayescribimos
"Estaeslasegundalínea"
Vimtiene2modosdetrabajo:Inserción(teclai)quesirveparaediciónyNormal(teclaescape)quesirveparanavegarporeltexto.
Entoncesparasalirapretamoslateclaescapeyparamovernosdentrodeldocumentousamoslasteclas:
khlj
Estonospermitesubir,iralaizquierda,iraladerechaybajarrespectivamentedentrodeldocumento.
Finalmenteparasalirguardandoloscambiosescribimos:
:wq!
TutorialbásicoVim
46
wesdeescribir(writeeninglés)qessalir(quiteninglés)yconesaordenledijimosaVimdeguardarloscambiosysalir.Parasalirsinguardarloscambios:
:q!
Ahorasisabeisinglésossugieroquehagaisunexcelentetutorialinteractivoqueencontrareisen:
http://www.openvim.com/tutorial.html/(idiomainglés)
TutorialbásicoVim
47
TutorialconvertirpáginaswebapdfCutyCaptesunautilidaddelíneadecomandoquecapturaunapáginawebylaconvierteaunaimagenodocumentoconformatodearchivoSVG,PDF,PS,PNG,JPEG,TIFF,GIF,óBMP.
Palabrasclaves:cutycapt,convertirhtmlaimagen,htmlapdf.
EnGNU/LinuxUbuntulainstalamoscon:
sudoapt-getinstallcutycapt
Parausarla,desdeelterminalescribimos:
cutycapt--url=http://wwww.fortinux.com--out=nombre-archivo.png
Estonoscrearáelarchivonombre-archivo.pngconlaimagendetodalapáginaweb.
CutyCapt:http://cutycapt.sourceforge.net/(idiomainglés)
OtrasopcionesqueencontrareisenInternet:http://snapito.com(idiomainglés)http://convertwebpage.com/(idiomainglés)
Tutorialconvertirpáginaswebapdf
48
Tutorialinstalaryusaryoutube-dlparabajarmusicayoutube-dlesunapequeñaaplicacióndelíneadecomandoquesirveparabajarvideosdeYouTube.comydealgunosotrossitios.
Palabrasclaves:youtube-dl,convertirvideoaaudio,videoamp3.
Primeroinstalamosdependenciasparaconvertirvideoamp3:
sudoapt-getinstall-ylibav-toolssudoapt-getinstallffmpeg
Instalamosyoutube-dl:
sudocurlhttps://yt-dl.org/downloads/2014.10.15/youtube-dl-o/usr/local/bin/youtube-dl
Damospermisosalnuevodirectorio:
sudochmoda+x/usr/local/bin/youtube-dl
Descargamosnuestraprimerarchivomp3:
youtube-dl-t--extract-audio--audio-formatmp3http://www.youtube.com/watch?v=8ptfyhBjXj8
Másinformaciónen:http://rg3.github.io/youtube-dl/(idiomainglés)
Tutorialinstalaryusaryoutube-dlparabajarmusica
49
TutorialcrearimágenesQRdepáginaswebenGNU/LinuxconqrencodeQrencodeesunautilidadquepermitegenerarimagenesQRdeunapáginaweb
Palabrasclaves:qrencode,crearimagenQR.
Primeramentevamosainstalarlautilidadylosejemplosdeayuda:
aptitudeinstallqrencodeapt-getinstalllibdecodeqr-examples
ParacrearunaimagenQRescribimoslosiguiente:
qrencode-s6"http://www.fortinux.com/"-ofortinux-qr.png
endonde:-o=nombreimagen.png-s=tamañodelaimagen""=enlaceotextoconmensajequedeseemosescribir
Paraconocerotrosparámetrosausarpodemosconsultarlaayuda:
manqrencode
ParaleercódigoQRprimeronosubicamoseneldirectoriodondeseencuentraelarchivo,luegoabrimoslaconsolayescribimoslasiguientelineadecodigo:
libdecodeqr-simpletestfortinux-qr.png
Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/man1/qrencode.1.html(idiomainglés)
TutorialcrearimágenesQRdepáginaswebenGNU/Linuxconqrencode
50
TutorialusarPngquantenLinuxEnestetutorialaprenderemosausarpngquantparareducireltamañodeimágenes.pngenLinux.Especialmenteútilparadiseñadores/programadoresqueprecisanoptimizarimágenesparaunsitiowebojuegodePlayStation.
Palabrasclaves:pngquant,reducirtamañoimagen,diseñoweb,webdesign,sitioweb.
Loprimeroserádescargarelutilitariodesdehttp://www.pngquant.org/releases.html.Abrimosunterminal,vamosaldirectoriodondeestáelarchivoyescribimosnuestroprimercomando:
sudodpkg-ipngquant_version_del_archivo.deb
Estecomandocrearáundirectorio“pornel-pngquant-version_del_archivo”.Vamosdentrodelmismoyescribimosparainstalarelutilitario:
sudomakeinstall
Unavezinstalado,parausarlohayqueiraldirectoriodondeestálaimagenyescribir:
pngquantnombre_de_la_imagen.png
Sidentrodeldirectoriohayvariasimágenespodemosutilizar:
pngquant*.png
Pngquantcrearálosarchivosoptimizadosconlaterminacióndelnombredeellos“-fs8.png”,dejandolosoriginalesintactos.
Paravermásopciones,podeisvisitar:http://www.pngquant.org(idiomainglés)ólapáginaweb:http://www.github.com/pornel/pngquant(idiomainglés)
TutorialusarPngquantenLinux
51
CompresordeimágenesTrimageUnaherramientamultiplataformaparaoptimizararchivosPNGyJPG.
Inspiradaen“imageoptim”:http://imageoptim.pornel.net/,TrimageesunaherramientamultiplataformaqueoptimizaarchivosPNGyJPGutilizandoparaellolosutilitarios“Optipng”:http://optipng.sourceforge.net,“Advpng”:http://advancemame.sourceforge.net/comp-readme.htmly“Jpegoptim”:http://www.kokkonen.net/tjko/projects.html#jpegoptim,dependiendodeltipodearchivo(PNGoJPG).
Sepuedeutilizardesdelalíneadecomandosoconunasimpleinterfazgráficacreadaporelautor.
Palabrasclaves:trimage,compresordeimagen,diseñoweb.
ParainstalarlaenUbuntubastaabrirunterminalyejecutar:
sudoapt-getinstalltrimage
Lapáginadelautor:http://trimage.org/(idiomainglés)
CompresordeimágenesTrimage
52
TutorialextraerpáginasdearchivospdfconPDFTKenLinuxPDFTK(PDFToolkit)esunaaplicaciónmuysimplequepermitemanipulararchivosconextensiónpdf.Paravertodaslasposibilidadesdelprogramaospasoelsitioweboficial:http://www.pdflabs.com
Palabrasclaves:pdftk,editarpdf.
AbrimosunterminalyparainstalarPDFTKescribimosnuestroprimercomando:
sudoapt-getinstallpdftk
Unavezinstalado,vamosaldirectoriodondetenemoslosarchivospdfyescribimos:
pdftkA=nombre-de-archivo.pdfcatA52-57outputsalida.pdf
Con‘catA52-57′indicamosquequeremosextraerdesdelapágina52alapágina57inclusive,parasercolocadasenunnuevoarchivollamadosalida.pdf.
Siporejemploqueremosextraerpáginasde2archivos:
pdftkA=archivo1.pdfB=archivo2.pdfcatA52-57B1outputsalida.pdf
Con‘catA52-57B1′indicamosquequeremosextraerdesdelapágina52alapágina57inclusivedelarchivo1.pdf,ylapágina1delarchivo2.pdf,queseráncolocadasenelnuevoarchivosalida.pdf.
TutorialextraerpáginasdearchivospdfconPDFTKenLinux
53
TutorialuniendoarchivospdfconPDFTKenLinuxEnestetutorialveremoscomounirvariosarchivospdfenunosolousandoPDFTK(PDFToolkit).
Paravertodaslasposibilidadesdelprogramaospasoelsitioweboficial:http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
Palabrasclaves:pdftk,editarpdf.
AbrimosunterminalyparainstalarPDFTK,escribimosnuestroprimercomando:
sudoapt-getinstallpdftk
Unavezinstalado,vamosaldirectoriodondetenemoslosarchivospdfyescribimos:
pdftk1.pdf2.pdf3.pdfoutputsalida.pdf
Aquíindicamoscuálesarchivosseránunidosenunosolo(tambiénpodemosusarelcomandopdftk*.pdfoutputsalida.pdf).
TutorialuniendoarchivospdfconPDFTKenLinux
54
TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/LinuxEnestetutorialveremoscomousarunmultiplexadordeconsolasparatrabajarconvariasaplicacionessimultáneamenteenunasolaconsolaGNU/Linux
Palabrasclaves:tmux,multiplexadordeconsolas,terminalmultiplexer.
TmuxTerminalMultiplexeresunprogramaquepermitetrabajarconvariosprogramasenunasolaventana,ocambiarlosaotraventanasinpararlos.
ParainstalarTmux:
sudoapt-getinstalltmux
CuandoTmuxiniciacreaunanuevasesiónconunasolaventanaylamuestraenlapantalla.Laparteinferiordelamismasirveparainformaciónyparaingresarórdenes.
Abrimosunterminalyescribimos:
tmux
Enlaventanaquesenosabreyapodemoscomenzarausarelprogramausandolateclactrl+byluegolatecladecombinación.Paraabrirunaventana:
ctrl+bc
Parairalaventanaanterior:
ctrl+bp
Parairalasiguienteventana:
ctrl+bn
Listarlasventanasparapoderseleccionarunadeellas:
ctrl+bw
TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/Linux
55
Renombraventana:
ctrl+b,
Paradividirlaventanaendospaneles:
ctrl+b%
Parairalsiguientepanel:
ctrl+b{
Parairalpanelanterior:
ctrl+b}
Paracerrarelpanel:
ctrl+bx
Paracerrarlaventana:
ctrl+b&
Paracrearunanuevasesiónllamadanueva-sesion:
tmuxnew-snueva-sesion
Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/man1/tmux.1.html(idiomainglés)
TutorialabrirmúltiplesconsolasenunasolaventanaconTmuxenGNU/Linux
56
TutorialcompartirsesionesSSHconTmuxenGNU/LinuxEnestetutorialveremoscomo,porejemplo,sepuedencompartirsesionesSSHenunservidorGNU/Linux
Palabrasclaves:tmux,multiplexadordeconsolas,ssh,compartirsesión,GNU/Linux.
Supongamosparaelejemploquetenemosunordenadorllamado'uno'conusuario'uno',otrollamado'dos'conusuario'dos',yelservidoralquenosqueremosconectarporSSHconIP10.0.0.11.
Desdeelordenador'uno',abrimosunterminalyiniciamosTmux:
tmux
AhoranosconectamosalservidorporSSH:
Nospediralaseña,laescribimosyyaestamosconectadosalservidor.Enlaterminaldelservidorcreamosunasesiónparacompartirllamada'compartiendo':
tmuxnew-session-scompartiendo
Enelordenador'dos'seguimoslospasosanterioresparaconectarnosalservidor,ycuandoyaestamoslogueadosenlaterminaldelservidorverificamoslassesionesdeTmuxabiertascon:
tmuxlist-sessions
nosaparecerálasesión'compartiendo'creadaporelusuario'uno'.paraconectarnosaellaescribimos:
tmuxattach-tcompartiendo
Ahoratendremosalosdosusuarioscompartiendolamismasesión.
Finalmenteparasalirdelasesiónusamoslacombinacióndeteclas:
TutorialcompartirsesionesSSHconTmuxenGNU/Linux
57
ctrl+bd
TutorialcompartirsesionesSSHconTmuxenGNU/Linux
58
TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/LinuxEnestetutorialveremoscomousarunmultiplexadordeconsolasparatrabajarconvariasaplicacionessimultáneamenteenunasolaconsolaGNU/Linux
Palabrasclaves:byobu,multiplexadordeconsolas,terminalmultiplexer.
ByobuTerminalMultiplexeresunprogramaquepermitetrabajarconvariosprogramasenunasolaventana,ocambiarlosaotraventanasindetenerlos.
ParainstalarByobu:
sudoapt-getinstallbyobu
CuandoByobuiniciacreaunanuevasesiónconunasolaventanaylamuestraenlapantalla.Laparteinferiordelamismasirveparainformaciónyparaingresarórdenes.
Abrimosunterminalyescribimos:
byobu
Enlaventanaquesenosabreyapodemoscomenzarausarelprogramaabriendoporejemplolaayudausandolatecla*shift+F1:
shift+F1
ParaabrirunanuevaventanaapretamoslateclaF2:
F2
Paracambiarentrelasventanasabiertastenemoscuatroopciones:
F3F4alt+FlechaIzquierdaalt+FlechaDerecha
Paradividirlaventanaendospaneleshorizontales:
shift+F2
TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux
59
Paradividirenpanelesverticales:
ctrl+F2
Paracambiarentresesiones:
alt+FlechaArribaalt+FlechaAbajo
Paracambiarentrepaneles:
shift+F3shift+F4shift+FlechaIzquierdashift+FlechaDerechashift+FlechaArribashift+FlechaAbajo
Paramoverelpanel:
Ctrl+F3Ctrl+F4
Paramoverlaventana:
Ctrl+Shift+F3Ctrl+Shift+F4
Paraaumentarodisminuireltamañodelospaneles:
shift+alt+FlechaIzquierdashift+alt+FlechaDerechashift+alt+FlechaArribashift+alt+FlechaAbajo
Paraconfigurarlabarradeestadoenlaparteinferiordelaventana:
F9
Paracerrarelpanel:
ctrl+F6
Másinformaciónen:http://byobu.co/(idiomainglés)
TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux
60
TutorialabrirmúltiplesconsolasenunasolaventanaconByobuenGNU/Linux
61
AdministrarGNU/Linux
TutorialquéesrootycomousarloenGNU/Linux
TutorialcomofuncionaelprocesodeinicioenGNU/Linux
TutorialcomofuncionanlosnivelesdeejecuciónenGNU/Linux
TutorialgestionarprocesosenunsistemaoperativoGNU/Linux
TutorialverprogramasinstaladosenGNU/Linux
TutorialconfigurandounsistemaRAIDenGNU/Linux
TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk
TutorialcrearoeliminarunaparticiónswapenGNU/Linux
TutorialformatearparticionesenGNU/Linux
TutorialmontarydesmontarunpendriveusbenGNU/Linux
TutorialMontarparticionesNTFSenGNU/LinuxUbuntu
TutorialmontarparticionesNFSenunaredGNU/Linux
TutorialconfigurarlaredenGNU/Linux
TutorialConfigurarImpresoraenunaredGNU/Linux
TutorialconfigurarusuariosenGNU/Linux
TutorialconfigurargruposdeusuariosenGNU/Linux
AdministrarGNU/Linux
62
TutorialgestionarpermisosyatributosdearchivosenGNU/Linux
TutorialgestionaratributosextendidosdearchivosenGNU/Linux
Palabrasclaves:root,sudo,su,administrador,sudoers,gksudo,BIOS,MBR,EFI,UEFI,sistemadeinicio,bootloader,nivelesdeejecución,runlevels,init,proceso,tarea,thread,ps,fg,bg,RAID,discoduro,mdadm,programas,editarparticiones,swap,montarparticiones,mount,NTFS,NFS,compartirdirectorioenred,servidor,cliente,ifconfig,configurarusuario,usermod,userdel,groupadd,groupdel,cambiarpermisos,atributosdearchivo,chmod,chown,chattr,lsattr,attr,extendedfileattributes.
AdministrarGNU/Linux
63
TutorialquéesrootycomousarloenGNU/LinuxEnestetutorialveremosparaquésirvelacuentaderootenGNU/Linuxycómousarla
Palabrasclaves:root,sudo,su,administrador,sudoers,gksudo.
ElusuariorootdeunsistemaoperacionalGNU/Linuxeseladministradordelmismo.Éltienelospermisosnecesariospararealizarcualquiertipodetarea.
Losusuarioscomunesencambio,notienenpermisosparainstalarprogramasoescribirenlosdirectoriosdesistema.Porlotanto,pararealizarcualquieracciónquenecesitepermisosderoot,debenusarsudoósu.
Siqueremosconvertirnosenadministradoresdelsistema(root)escribimos:
su
Nospidelaclavederoot,laescribimosyyasomosroot.
Siqueremoscambiardeusuario:
sunombre_de_usuario
Yescribimoslaclavedelusuario.
Paradejardeserroot:
exit
sudoencambio,sirveparaejecutaruncomandocomorootsindejardeserunusuariocomún.LousamosporejemploparainstalarelprogramaGimp:
sudoapt-getinstallgimp
Nospidelaclavederoot,laescribimosyyatenemospermisoparainstalarelprograma.
Importante:Sielusuariodeunprogramanoestádentrodelgruposudoersnovaapoderusarsudo.Paraagregarloalgrupo:
TutorialquéesrootycomousarloenGNU/Linux
64
sudoaddusernombre_de_usuariosudo
Paracambiarlaclavederootescribimos:
sudopasswdroot
EnUbuntu,tenemostambiénunambientegráficoespecialcompermisosderoot:
gksudonautilus
Nospedirálaclavederootynosabriráunaventanaeneldirectoriodeladministradorroot.Desdeallípodremosnavegarporlosdirectoriosdelsistemacomoadministradores.
Másinformaciónen:http://www.howtogeek.com/111479/htg-explains-whats-the-difference-between-sudo-su/(idiomainglés)
TutorialquéesrootycomousarloenGNU/Linux
65
TutorialcomofuncionaelprocesodeinicioenGNU/LinuxEnestetutorialveremoscomofuncionaelprocessodeiniciodeunsistemaoperativoGNU/Linux
Palabrasclaves:BIOS,MBR,EFI,UEFI,sistemadeinicio,bootloader,kernel,grub,isolinux,RAM,initrd,initramfs,sbin/init,xwindow.
ElprocesodearranquedeunordenadorempiezaenlaBIOSqueiniciaelhardwareatravésdeunfirmwareinstaladoenunchipEEPROM.
EstechiphaceuntestllamadoPOSTaloscomponentesdelordenadorycargaenlamemoriaprincipalelsistemadeinicio(bootloader).Éste,queestáalojadoenelMBRoenlaparticiónEFI,escontroladoporelsistemaoperativo.
GrubeisolinuxsonlossistemasdeiniciodeGNU/Linuxmásconocidosysedividenendospartes:laprimeraexaminalaMBRparabuscarlaparticióndeinicioycargaelsistemadearranque(porejemploGrub)enlamemoriaRAM.
Enlasegundaparte,grubcargaelkernelyunsistemadearchivosinicial(initrdoinitramfs)enlaRAM.Unavezqueelkernelhaconfiguradoelhardwareymontadoelsistemadearchivos,iniciaelprocesoinitlocalizadoen/sbin/initqueeselencargadodeiniciarlosdemásprocesosnecesarios(cambiaamodomultiusuario,iniciagetty)parafinalmentedejarelsistemaoperativolistoparausar.
EnsistemasEFI/UEFIencambio,elfirmwareUEFIleesusistemadeiniciopropioparadeterminarqueprogramaUEFIvaainiciar.
http://www.ibm.com/developerworks/library/l-linuxboot/index.html(idiomainglés)
TutorialcomofuncionaelprocesodeinicioenGNU/Linux
66
TutorialcomofuncionanlosnivelesdeejecuciónenGNU/LinuxEnestetutorialveremoscomofuncionanlosnivelesdeejecuciónenunsistemaoperativoGNU/Linux
Palabrasclaves:LSB,nivelesdeejecución,runlevels,init.
Aclaración:elLSB(LinuxStandardBase)establecequelossistemasoperativosGNU/Linuxfuncionancon7nivelesdeejecuciónperoéstosvaríanentrelasdistintasdistribuciones.Enestecaso,nosbasaremosenDebianGNU/Linux.
Elprocesoiniteselencargadodeiniciarlosnivelesdeejecución(runlevels)delsistemaoperativo.
Porejemplo,elnível0eseldeapagadodelordenador,elnível1esenmodomonousuario(root),delnivel2al5sonmultiusuarioconredysistemagráfico,yporúltimoelnivel6esparareiniciarelsistemaoperativo.
Parasaberenquenivelestamostenemosdosopcionescomorootyusuariorespectivamente:
runlevel
who-r
Paracambiardenivel,porejemplo,ponerelsistemaenmodomanutenciónsinred:
init1
Siqueremosreiniciarelsistema:
init6
Másinformaciónen:http://wiki.linuxquestions.org/wiki/Run_Levels(idiomainglés)
TutorialcomofuncionanlosnivelesdeejecuciónenGNU/Linux
67
TutorialgestionarprocesosenunsistemaoperativoGNU/LinuxEnestetutorialveremoscomogestionarprocesosenunsistemaoperativoGNU/Linux
Palabrasclaves:proceso,tarea,thread,ps,fg,bg.
Unprocesoessimplementeunainstanciadeunaomástareas(threads)relacionadasqueseejecutanenelordenador.
Tenemosprocesosinteractivostipobashofirefoxquedebenseriniciadosporelusuario,procesosenlote(batch)tipoupdatedbquesonautomáticos,demonios(daemons)quefuncionansininterrupcióntipohttpdoxinetd,oprocesosdelkernel.
Losprocesostienenprioridadquevade-20comolamásaltahasta19,lamásbaja,yunidentificadorllamadoPID.
Parasaberqueprocesosseestánejecutandoahoraenformadetallada:
ps-ef
Conocerlosprocesosdeunusuario:
ps-unombre_usuario
Paraverdetodoslosusuarios:
ps-aux
Paraverlosprocesosentiemporeal:
htop
Paraponerunprocesoensegundoplano(bg),porejemplohtop:
htop&
Parapasareseprocesoaprimerplano:
TutorialgestionarprocesosenunsistemaoperativoGNU/Linux
68
fghtop
TutorialgestionarprocesosenunsistemaoperativoGNU/Linux
69
TutorialverprogramasinstaladosenGNU/LinuxEnestetutorialaprenderemosaverquéprogramasysusversionestenemosinstaladosennuestroGNU/Linux
Palabrasclaves:programas,dpkg,grep.
Parasaberqueprogramasestáninstaladosescribimosenunterminal:
dpkg--get-selections
Silalistaesmuylarga,podemosbuscarsoloelprogramaquenecesitamos:
dpkg--get-selections|greppython
Yparasaberdondeestásituado:
dpkg-Lphyton-apt
TutorialverprogramasinstaladosenGNU/Linux
70
TutorialconfigurandounsistemaRAIDenGNU/LinuxEnestetutorialveremoscomopodemosconfigurarunsistemaRAIDenGNU/Linux
Palabrasclaves:RAID,discoduro,mdadm.
UnsistemaRAIDesun"conjuntoredundantedediscosindependientes"(elsignificadodelatraduccióndelinglésRAID)quepermitealmacenardatosdeformadistribuidaenvariosdiscoscomosifueranunosolo.
ParapodercrearunsistemaRAIDtenemosqueteneralmenosdosdiscosduros,siendoconvenientequeéstostenganlamismacapacidad.
Paraconfigurardosdiscosduros(sdb1,sdc1)comoRAID0enGNU/Linuxvamosausarlaherramientamdadm.Parainstalarla:
sudoapt-getupdate
sudoapt-getinstallmdadm
AhoraparaconfigurarelRAID:
mdadm--create--verbose/dev/md0--level=0--raid-devices=2/dev/sdb1/dev/sdc1
Ahoralovamosainiciar:
mdadm--assemble/dev/md0/dev/sdb1/dev/sdc1
OtraopciónparainiciarelRAID:
mdadm--assemble--scan
ParaañadirundiscoaunRAIDactivo:
mdadm/dev/md0--add/dev/sdd1
Paraeliminareldisco/dev/sdb1delRAID/dev/md0:
TutorialconfigurandounsistemaRAIDenGNU/Linux
71
mdadm/dev/md0--fail/dev/sdb1--remove/dev/sdb1
SialgunavezqueremossabercomoestáconfiguradoelRAID:
mdadm-E/dev/md0
Sialgunavezqueremoseditarlo,podemosusarelarchivodeconfiguración:
/etc/mdadm/mdadm.conf
Másinformaciónenhttp://es.wikipedia.org/wiki/RAIDyenhttp://elpuig.xeill.net/Members/vcarceler/articulos/mdadm-una-nueva-herramienta-para-la-gestion-de-raid-mediante-software-en-linux
TutorialconfigurandounsistemaRAIDenGNU/Linux
72
TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk*Unaparticiónesunaseccióndeundiscorígidoqueestratadacomosifueraotrodiscoindependiente.
Estopuedeserútilporejemploparadedicarunespacioúnicoparanuestrosarchivosimportantesoparacolocarlosarchivosmultimedia.
EnestetutorialveremoscomocrearoeliminarparticionesenGNU/Linux.*
Palabrasclaves:partición,discorígido,harddrive,GNU/Linux,sistemaoprativo,fdisk.
Parasabercómoestáconfiguradonuestrodiscorígido:
df-Th
Paraporejemploparticionarelsegundodiscorígido:
sudofdisk/dev/sdb
Nosapareceráelcursoryalistopardarunaordem.escribimosmparalaayuda:
m
Lasotrasopcionesimportantesson:
*n*creaunapartición*d*borraunapartición*l*muestralostiposdeparticiones*t*modificaeltipodepartición*p*muestralatabladeparticiones*w*escribeloscambiosysale*q*salesinguardarloscambios
Porejemporparacrearunaparticiónescribimosn,luegop(primaria)oe(extendida)yfinalmentewparaescribirloscambios.
Nota:OtraherramientamásnuevaeslasuiteGPTfdiskquepermitecrearhasta128particionesyeliminalarestriccióndediscosmayoresde2TiBdelMBT.
TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk
73
Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/es/man8/fdisk.8.html(idiomainglés)http://www.ibm.com/developerworks/linux/library/l-gpt/index.html(idiomainglés)
TutorialcrearoeliminarparticionesenGNU/Linuxconfdisk
74
TutorialcrearoeliminarunaparticiónswapenGNU/LinuxUnaparticiónswapesunaparticiónqueactúacomomemoriadeintercambio,yseusacomosifueramemoriaRAMcuandoéstanoessuficiente.EnestetutorialveremoscomocrearlaenGNU/Linux.
Palabrasclaves:particióndeintercambio,swap,discorígido,harddrive,GNU/Linux,sistemaoperativo.
Elarchivoquetienelaconfiguracióndenuestrosdiscosrígidosyparticioneses/etc/fstab.Parasabersitenemosunaparticiónswapennuestrosistemaoperativo:
cat/proc/swaps
Porejemploparacrearunaparticiónswapde512megasprimerocreamosunarchivoconesetamaño:
sudoddif=/dev/zeroof=/mnt/512MiB.swapbs=1024count=524288
Damospermisosdeleeryescribirsolamentearoot:
sudochmod600/mnt/512MiB.swap
Formatamoselarchivocomoswap:
sudomkswap/mnt/512MiB.swap
Agregamoslaparticiónalsistemaoperativo:
sudoswapon/mnt/512MiB.swap
Podemosverqueyaestádisponibleconcat/proc/swapsocat/proc/meminfo.
Finalmenteparahacerloscambiospermanentes:
sudovim/etc/fstab
TutorialcrearoeliminarunaparticiónswapenGNU/Linux
75
Alfinaldelarchivoagregamosestalíneaysalvamosloscambios:
/mnt/512MiB.swapnoneswapsw00
Reiniciandoelsistemaoperativoveremosqueyacontamosconlanuevamemoriaswap.
Paraeliminaresaparticiónswapabrimoselarchivofstab:
sudovim/etc/fstab
Borramoslalínea/mnt/512MiB.swapnoneswapsw00ysalvamosloscambios.Porúltimoremovemoslaparticiónswapdelsistemaoperativoyeliminamoselarchivo:
sudoswapoff/mnt/512MiB.swap&&sudorm/mnt/512MiB.swap
Másinformaciónen:https://help.ubuntu.com/community/SwapFaq(idiomainglés)
TutorialcrearoeliminarunaparticiónswapenGNU/Linux
76
TutorialformatearparticionesenGNU/LinuxEnestetutorialveremoscómopodemosformatearparticionesydiscosrígidosenGNU/Linux
Palabrasclaves:mkfs,formatearparticiones,discorígido,GNU/Linux.
ComenzamosaveriguandoquésistemasdearchivossoportanuestoSO:
ls/sbin/mk*
Ydóndeestálaparticiónquequeremosformatar:
df-Th
Paraformatearporejemplolaparticiónsdbconsistemadearchivosext4yetiquetapruebasescribimos:
mkfs.ext4-Lpruebas/dev/sdb
Másinformaciónen:http://manpages.ubuntu.com/manpages/trusty/en/man8/mkfs.8.html(idiomainglés)
TutorialformatearparticionesenGNU/Linux
77
TutorialmontarydesmontarunpendriveusbenGNU/LinuxEnestetutorialveremoscomomontarydesmontarcualquierdispositivoexterno(pendriveusb,cámarafotográfica,etc.)enGNU/Linuxdesdelalíneadecomandos
Palabrasclaves:pendriveusb,montardispositivoexterno,mount,umount.
Primeroverificamosdondeestámontadoeldispositivoexterno:
sudofdisk-l
Nosapareceráunalíneadetextosimilaraesta:
/dev/sdb1*6339167991958368+cW95FAT32(LBA)
Aclaración:saldráprimeroeldiscodurodelordenadorcomohda(siesIDE)osda(siesSCSI),luegosituviéramosotrodiscoduro,éstesaldríacomosdbyenesecaso,nuestrousbseríasdc.
Paramontareldispositivo:
sudomount-tvfat/dev/sdb1/mnt/
Enestecasomontamoseldispositivosdb1eneldirectorio/mnt.Paraversiestácorrecto:
df-l
Finalmenteparadesmontarlo:
sudoumount/dev/sdb1
TutorialmontarydesmontarunpendriveusbenGNU/Linux
78
TutorialMontarparticionesNTFSenGNU/LinuxUbuntuNTFSesunsistemadearchivosampliamenteutilizadoporlossistemasoperativosdeMicrosoft(TM)tipoXP,Vista,etc.EnestetutorialveremoscomomontarparticionesNTFSenGNU/Linux.
Palabrasclaves:montarpartición,ntfs,fdisk,fstab.
Abrimoslaterminalyescribimosestaordenparasabercomoestánmontadaslaparticionesennuestrodiscoduro:
sudofdisk-l
Creamosundirectoriodenombredatoseneldirectorio/mediadondealojarlapartición:
sudomkdir/media/datos
Denombrealdirectoriolehepuestodatosperolepodeisponerloqueseosocurra.Ahoraeditamoselarchivofstab
sudogedit/etc/fstab
alfinaldelarchivoescribimoslosiguiente:
/dev/sda5/media/datosntfs-3gquiet,defaults,rw00
guardamosloscambiosyalreiniciarnosaparecerálaparticiónennuestroescritorio.
TutorialMontarparticionesNTFSenGNU/LinuxUbuntu
79
TutorialmontarparticionesNFSenunaredGNU/LinuxNFS(networkfilesystem)esunsistemadearchivosdistribuidosquepermiteaccederennuestroordenadoraarchivosqueestánlocalizadosenundiscooparticiónenlaredlocal.EnestetutorialveremoscómoconfigurarloenGNU/Linux.
Palabrasclaves:NFS,montar,compartirdirectorioenred,servidor,cliente.
InstalamoselservidorNFSenunordenadordenuestrared:
sudoapt-getinstallnfs-kernel-server
Porejemplo,paramontarenlaredeldirectoriohomedelservidor,abrimoselarchivo/etc/exportsyescribimos:
/homeip-ordenador-cliente(rw,sync,no_root_squash,no_subtree_check)
Dondeip-del-servidoreselnúmerodelaIPdelservidor.Eldirectoriotendrápermisosdelecturayescritura(rw).
Exportamoseldirectoriocompartidocon:
sudoexportfs-a
AhorareinicimoselservidorNFS:
sudoservicenfs-kernel-serverstart
Enelordenadorclienteinstalamosnfs-common:
sudoapt-getinstallrpcbindnfs-common
Añadimosunalíneaalarchivo/etc/hosts.deny:
rpcbind:ALL
Yotraalarchivo/etc/hosts.allow:
TutorialmontarparticionesNFSenunaredGNU/Linux
80
rpcbind:ip-del-servidor
Creamosundirectoriollamadodirectorio-redparamontarenéleldirectoriohomedelservidor:
mkdirdirectorio-red
Montamoseldirectoriocon:
sudomountip-del-servidor:/home/home/usuario/directorio-red
Vemossiestámontado:
mount-tnfs
Paraqueeldirectorio-redsemonteautomáticamentealiniciarelsistemaoperativo,abrimoselarchivo/etc/fstabyescribimosalfinallasiguientelínea:
192.168.1.8:/home/home/usuario/directorio-rednfsauto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=180000
Parasaberquesignificaestalíneapodemosleerlaayuda:
mannfs
Sialgunavezqueremosdesmontarestedirectoriodered:
sudoumount/home/usuario/directorio-red
yluegoeliminamoslalíneaañadidapreviamentealarchivo/etc/fstab
Másinformaciónen:https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-14-04(idiomainglés)
TutorialmontarparticionesNFSenunaredGNU/Linux
81
TutorialconfigurarlaredenGNU/LinuxSitenemosproblemasconlaconexiónaInternet,podemosconfigurarlareddesdelalíneadecomandos,algoqueesmuysencillodehacersiguiendoestospasos:
NOTA:EnesteejemplopondrécomodirecciónIPdelRouter192.168.1.1,direccióndelordenador192.168.1.2ylosservidoresDNS8.8.8.8y8.8.4.4quesonlosdeGoogle®.AdaptarlosavuestraconexónaInternet.
Abrimosunterminalyescribimos:
sudogedit/etc/NetworkManager/nm-system-settings.conf
Ospedirálacontraseñaderoot,laponeisyseosabreelarchivonm-system-settings.conf.Enéltenemosquemodificarlaopciónmanageddetrueafalse.Guardamosloscambiosycerrramoselarchivo.
Enlamismaterminalescribimos:
sudogedit/etc/network/interfaces
seosabreelarchivointerfaces,dondetendremosqueescribirlosiguiente:
autoeth0ifaceeth0inetstaticaddress192.168.1.2netmask255.255.255.0network192.168.1.0broadcast192.168.1.255gateway192.168.1.1
Guardamosloscambiosycerramoselarchivo.Ahoraenlaterminalescribimos:
sudogedit/etc/resolv.conf
Seosabreelarchivoresolv.confdondepondreislasdireccionesDNSdeGoogle:
nameserver8.8.8.8nameserver8.8.4.4
TutorialconfigurarlaredenGNU/Linux
82
Finalmenteparaaplicartodosloscambiosreseteamoslaredescribiendoelsiguientecomandoenlaterminal:
sudo/etc/init.d/networkingrestart
TutorialconfigurarlaredenGNU/Linux
83
TutorialConfigurarImpresoraenunaredGNU/LinuxEnestetutorialveremoscomoconfigurarunaimpresoraparaserusadaenunareddeordenadoresGNU/Linux
Primeroinstalamossambaycups:
sudoapt-getinstallcupsyssamba-common
Vamosalarchivosmb.confyloeditamos:
sudogedit/etc/samba/smb.conf
Enladirectiva"printing"buscamoslaopciónolaagregamossegúnseaelcaso:
printing=cups
Unavezhechoestovamosaconfigurarcups,primeromodificandoestosdosarchivos:
sudogedit/etc/cups/mime.types
dondedescomentamosoagregamossegúnseaelcasolalínea:
application/octet-stream
luegovamosalarchivo:
sudogedit/etc/cups/mime.convs
yagregamosodescomentamoslalínea:
application/octet-streamapplication/vnd.cups-raw0-
Reiniciamoslos2serviciosparaquetomenefectoloscambiosyabrimosnuestronavegadorenestadirección:
TutorialConfigurarImpresoraenunaredGNU/Linux
84
http://localhost:631/
En"Tareasdeadministración"nospedirálaclavederoot,luegovamosalaopciónañadirimpresoraycompletamoslosdatosteniendoencuentaqueelnombredebersersolounapalabra,novarias.
EnconexiónseleccionamosWindowsPrinterviaSamba.Siaúnnoapareceestaopciónseleccionamosippyhacemosclicensiguiente,enlaurldeconexióncolocamos:
smb://server/nombre.de.la.impresora
(estoencasoqueseacompartidaportodosynosenecesiteidentificaciónparausarla)
casocontrariocolocamos:
smb://username:password@workgroup/server/nombre.de.la.impresora
Enserverseescribeladirecciónip,luegoclicensiguienteyporúltimoquedaráconfigurarelcontroladordelaimpresora.
TutorialConfigurarImpresoraenunaredGNU/Linux
85
TutorialconfigurarusuariosenGNU/LinuxEnestetutorialveremoscomocrear,editary/oeliminarusuariosenGNU/Linux
Palabrasclaves;usuarioGNU/Linux,adduser,usermod,id,userdel.
Paracrearunnuevousuariousaremosnuestracuentadeadministradordelsistema(root)conelsiguientecomando:
sudoaddusernombre_usuario
Allínospediráprimerolacontraseñaderootyluegodecrearelusuario"nombre_usuario"yelgrupo"nombre_usuario",nospedirálacontraseñadelnuevousuario.
Finalmentepodemosingresarlosdatosdelnuevousuario(nombrecompleto,teléfono,etc.)o,apretandolateclaintro,simplementeconfirmarlacreación.
Alcrearlacuentadeunusuario,elsistemaoperativotambiéncrearáeldirectorio/home/nombre_usuario/,3archivosocultosqueconfiguransusvariablesdeambiente:.bash_logout-.bash_profile-.bashrc,ycomodijimosanteriormenteungrupoconelnombredelusuario.
Paraverlainformacióndelascuentasdeusuariodenuestrosistemaoperativo:
cat/etc/passwd
Paraverlascuentasdelosusuariosquenosondelsistema,podemosusar:
grep/home//etc/passwd
Otambiénpodemosmostrarunasimplelistadeusuariossininformacionesadicionales:
grep/home//etc/passwd|cut-d:-f1
Siqueremosquelacuentaexpireel31-12-2015:
usermod--expiredate31-12-2015nombre_usuario
Paraverificaraquegruposdeusuariosperteneceunusuario:
TutorialconfigurarusuariosenGNU/Linux
86
idnombre_usuario
Paraagregarelusuarioalgrupodeusuariosusers:
sudousermod--append--groupsusersnombre_usuario
Paracambiarlaubicacióndeldirectoriohomealdirectoriotmpdenombre_usuario:
usermod--home/tmpnombre_usuario
Parabloquear(-L)/desbloquear(-U)lacuentadelusuario:
usermod-Lnombre_usuariousermod-Unombre_usuario
Paraeliminarelusuario:
sudouserdel-rnombre_usuario
TutorialconfigurarusuariosenGNU/Linux
87
TutorialconfigurargruposdeusuariosenGNU/LinuxEnestetutorialveremoscomocreary/oeliminargruposdeusuariosenGNU/Linux
Palabrasclaves:grupodeusuarios,groupadd,groupdel.
Crearungrupodeusuariossirveparaqueesosusuariospuedantenerparámetrosdeseguridadydeaccesoespecíficos.
Unejemplotípico:enunaempresatendríamoslosgrupos"marketing","administración","ventas"ect.cadaunoconaccesoypermisospersonalizados.
Paraverlainformacióndelosgruposdeusuariodenuestrosistemaoperativo:
cat/etc/group|more
Paracrearungrupoescribimos:
sudogroupaddnombre_grupo
Paraverificaraquegruposperteneceunusuario:
idnombre_usuario
Paraañadirnombre_usuarioalgruponombre_grupo:
sudoaddusernombre_usuarionombre_grupo
Paraeliminarunusuariodelgrupo:
sudodelusernombre_usuarionombre_grupo
Paraeliminarungrupo:
sudogroupdelnombre_grupo
TutorialconfigurargruposdeusuariosenGNU/Linux
88
TutorialconfigurargruposdeusuariosenGNU/Linux
89
TutorialgestionarpermisosyatributosdearchivosenGNU/LinuxEnestetutorialveremoscomopodemoscambiarpermisosdelectura,escritura,ejecuciónydepropietarioalosarchivosenGNU/Linux.
Palabrasclaves:permisosdearchivos,propietariodearchivo,chmod,chown,atributosespecialesarchivo,chattr,lsattr.
Paraverlospermisosdeldirectorioenelcualestamosposicionados:
ls-l
Locualnosdaráporejemploestasinformaciones:
-rw-rw-r--1usuariousuario15912Fev1820:48archivo_de_texto.txt
Loprimeroqueleemossonlospermisos-significaqueesunarchivonormal,r(read)quesepuedeleer,w(write)escribirporelpropietariodelarchivo.
Elsegundoterceto(rw-)sonlospermisosdelgrupodeusuariosyeltercero(r--)paraelrestodeusuarios.Elnúmeroquelesigueeslacantidaddeenlaces
Laterceracolumnasonelnombredelusuarioydelgrupodeusuarios,lacuartacolumnaeseltamañodelarchivo,luegovienelafechadelaúltimamodificaciónyporúltimoelnombredelarchivo.
drwxr-xr-x2usuariousuario4096Fev282014Documentos
Enestalíneavemosunaletrad(directory)alinicio,significaqueesundirectorio.Otrasopcionespuedenserl(links)enlaceyp(pipe).Laletraxsignificapermisoparaejecutarunprograma.
Porejemploparacambiarlospermisosalarchivoarchivo_de_texto.txtescribimos:
chmod664archivo_de_texto.txt
ParacambiarlospermisosaldirectorioDocumentos:
TutorialgestionarpermisosyatributosdearchivosenGNU/Linux
90
chmod755Documentos
Paraentendermejorelporquédelosnúmeros:
755usuariogrupootrosr+w+xr+xr+x4+2+14+0+14+0+1
Encuantoalosusuarios,paracambiaralpropietariodeunarchivo:
chownusuario2archivo_de_texto.txt
Aquielpropietariodelarchivopasaaserusuario2.Paracambiartambiénelgruposería:
chownusuario2:usuario2archivo_de_texto.txt
Porúltimo,losarchivostienenatributosespecialesqueprohibenporejemplo,queéstosseanmovidos,borrados,modificadosorenombrados.Siescribimos:
chattr+iarchivo_de_texto.txt
Elarchivoquedaráinmutable.
Siqueremosenunfuturoborrarloomodificarlos:
lsattrarchivo_de_texto.txt
Másinformaciónenhttps://wiki.archlinux.org/index.php/File_permissions_and_attributes(idiomainglés)
TutorialgestionarpermisosyatributosdearchivosenGNU/Linux
91
TutorialgestionaratributosextendidosdearchivosenGNU/LinuxEnestetutorialveremoscomopodemoseditarlosatributosextendidosdeunarchivoenGNU/Linux.
Palabrasclaves:atributosdearchivo,extendedfileattributes,attr,setfattr,getfattr.
Paraverlosatributosextendidosdelosarchivostenemosquetenerinstaladoattr:
sudoapt-getinstallattr
Porejemplo,vamosaagregaruncomentarioalarchivo_de_texto.txt:
setfattr-nuser.comment-v"esteesuncomentario"archivo-de-texto.txt
Parasabersiarchivo_de_texto.txttieneatributos:
getfattrarchivo_de_texto.txt
Paraveresosatributos:
getfattr-nuser.commentarchivo_de_texto.txt
Másinformaciónenhttp://www.linux-mag.com/id/8741/(idiomainglés)
TutorialgestionaratributosextendidosdearchivosenGNU/Linux
92
ResolverproblemasenGNU/Linux
TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux
TutorialaprendiendoausarunprogramadechatparapedirayudaenLinux
TutorialbuscarayudaconlalíneadecomandosenLinux
TutorialeliminarkernelsantiguosenUbuntuoDebian
Tutorialresolver"GPGerror"usandoapt-getupdateenGNU/Linux
TutorialresolverproblemadeconfiguracióndelidiomaenGNU/Linux
TutorialcerrarprogramasbloqueadosenGNU/Linux
TutorialintroducciónaloslogsdelsistemaGNU/Linux
TutorialusarloslogsdelsistemaGNU/Linuxparadescubrirerrores
TutorialresolverproblemasconsistemasdearchivosenGNU/Linux
Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañados
Palabrasclaves:df,free,lshw,lsmod,ifconfig,iwconfig,ps,top,chat,irc,xchat,help,type,man,whatis,info,eliminarkernelantiguo,purge,GPGerror,locale,configuracióndeidioma,kill,log,dmesg,tail,rsyslog,udev,resolverproblema,sistemadearchivos,filesystem,e2fsck,dosfsck,ntfs-3g,testdisk,GNUddrescue,foremost.
ResolverproblemasenGNU/Linux
93
ResolverproblemasenGNU/Linux
94
TutorialbuscandoinformacióndelsistemaoperativoenGNU/LinuxEnestetutorialaprenderemosabuscarinformaciónsobrenuestrosistemaoperativo(RAM,discoduro,procesador,procesos,red,etc.)usandolalíneadecomandoenGNU/Linux
Palabrasclaves:líneadecomandos,commandline,shell,bash,df,free,lshw,lsmod,ifconfig,iwconfig,ps,top.
ParasaberelnombredelordenadoryelkernelLinuxusado:
uname-a
Elsistemaoperativo:
cat/etc/os-release
Parasabercuantoespaciotenemoseneldiscoduro:
df-h
ParasabercuantamemoriaRAMlibre:
free
Paraobtenerunalistadelhardwaredelordenador:
sudolshw
Listartodoslosmódulosquehacargadoelkernel:
lsmod
Paraverlosdatosdered(IP,gateway,broadcast,etc.):
ifconfig
Paraverlosdatosdelaredinalámbrica:
TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux
95
iwconfig
Paraverlosprocesosactivos:
ps
Paraverlosprocesosentiemporeal:
top
Parasalirapretamoslateclaq
TutorialbuscandoinformacióndelsistemaoperativoenGNU/Linux
96
TutorialaprendiendoausarunprogramadechatparapedirayudaenLinuxMuchosmiembrosdelacomunidadLinuxgeneralmentesuelenestarenunsaladechatparaestarencontactoconsuscolegasycuandopueden,ayudaralosnovatosaresolveralgúnproblema.Enestetutorialaprenderemosloscomandosbásicosdechat.ComousamosLinux,sugierolaaplicaciónXChataunquepodeistambiénchateardesdeelnavegadorutilizandolosservidoresdeFreenode,porejemplo:http://webchat.freenode.net/?channels=ubuntu-es.
Palabrasclaves:irc,chat,xchat,nick,join,query,irc.freenode.net.
ÓrdenestípicasdeIRC
/nicknuevo_nombreCambiamosnuestronick./join#ubuntu-esEntramosenuncanal./serverirc.freenode.netNosconectamosaunared./queryusuarioEntablamosunaconversaciónprivadaconunusuario./part#canalSalimosdelcanal./quit“mensajedesalida”Nosdesconectamosdeunaredenviandomensajedesalida./msgnickservregister<password><e-mail>.Registrarunnombredeusuario./msgnickservidentify<password>.Identificamoselnickregistrado./msgNickServghost<nick><password>.Conseguimosnuestronick,aunqueesteusadoporotrapersona./msgNickServINFO<nick>.ComprobamoscuantotiempollevamosconectadosalIRC./msgNickServSETPASSWORD<mynewpassword>.CambiarlacontraseñadelNickregistrado./asauthnickpass.Identificanuestronombredeusuario.
Comenzamos:
AbrimosunterminalylanzamosXChat:xchat
Xchatnospreguntaráaquéservidornosqueremosconectar(porejemploUbuntuoDebian),yluegonospediráunnickname(nombredeusuario).Podemoselegircualquiernombreperosiyaestásiendousadodeberemoselegirotro.Siteconectashabitualmentealared,deberíasregistrartunombredeusuarioenunservidor,paraquelosdemásusuariospuedanidentificarteynadiepuedausurpartupersonalidad(lasinstruccioneseninglés:http://freenode.net/faq.shtml#nicksetup).
Lasórdenesmáscomunesson:
TutorialaprendiendoausarunprogramadechatparapedirayudaenLinux
97
/nicknuevo_nombreCambiamosnuestronick./join#ubuntu-esEntramosenuncanal./serverirc.freenode.netNosconectamosaunared./queryusuarioEntablamosunaconversaciónprivadaconunusuario./part#canalSalimosdelcanal./quit“mensajedesalida”Nosdesconectamosdeunaredenviandomensajedesalida.
Basadoenhttp://www.wikipedia.org(idiomainglés)
TutorialaprendiendoausarunprogramadechatparapedirayudaenLinux
98
TutorialbuscarayudaconlalíneadecomandosenLinuxEsestetutorialaprenderemoscómobuscarayudayobtenerinformaciónutilizandolalíneadecomandoenLinux
Comandos:
type–Nosdicequecomandosevaaejecutarhelp–Exibeinformaciónsobreuncomandobuiltin(quepertenecealbash)man–Muestralapáginadelmanualdelcomandowhatis–Exibeunabrevedescripcióndelcomandoinfo–MuestralainformacióndelcomandoconlaayudadelproyectoGNU
Comenzamos:
Abrimosunterminalyescribimostype,nuestroprimercomando,quenosdicedóndeestaubicadodate:
typedatedatees/bin/date
Ahoraprobamoslaayudadeuncomandodelbash:
helphelp
Algunosejecutablespermitenlaopción--helpparamostrarargumentosyopcionesdelosmismos,porejemplo:
date--help
Todocomandotienesu/spágina/sdelmanualdeayudaconargumentos,opcionesy,aveces,ejemplos.La/sinvocamosconmanyelnombredelcomando(parasalirtecleamosq):
mandf
Encuantoawhatis,nosdaunabrevedescripcióndeparaquésirveuncomando:
TutorialbuscarayudaconlalíneadecomandosenLinux
99
whatiswhoami
ParaverlainformacióndelproyectoGNUutilizamoselcomandoinfo:
infouname
Tip:Ladocumentacióndelosprogramassueleestaren/usr/share/docylapodemosverusandoelcomandolessparalosarchivosdetexto,zlessparalosarchivoscomprimidosgzipyunnavegadorwebparalosarchivos.htlm
TutorialbuscarayudaconlalíneadecomandosenLinux
100
TutorialeliminarkernelsantiguosenUbuntuoDebianAmedidaquevamosactualizandonuestrosistemaoperativovanquedandoinstaladaslasversionesantiguasdelkernelLinux.Aquíveremoscomoeliminarlas
Palabrasclaves:eliminarkernelantiguo,uname,purge.
Parasabercuálesnuestrokernelactualescribimos:
uname-r
Siqueremosverunalistadetodosloskernelsinstalados:
dpkg--list|greplinux-image
Paraeliminarunodeloskernelsescribimosmodificando"x"conelnúmerodeversióndelmismo:
sudoapt-getpurgelinux-image-x.x.x.x-generic
Actualizamoselgestordeiniciodelsistemagrub2:
sudoupdate-grub2
Finalmentereiniciamoselsistema:
sudoshutdown-rnow
TutorialeliminarkernelsantiguosenUbuntuoDebian
101
Tutorialresolver"GPGerror"usandoapt-getupdateenGNU/LinuxEnestetutorialveremoscomopodemossolucionarelerrordeclavepública(publickey)indisponibleenGNU/Linuxcuandoqueremosactualizarelsistemaoperativoconsudoapt-getupdate
Palabrasclaves:GPGerror,publickeynotavailable,actualizarsistemaoperativo,apt-getupdate,dpkg.
Puedesucederquealintentaractualizarelsistemaoperativoconsudoapt-getupdatenosaparezcaesteerror:
Readingpackagelists...DoneW:GPGerror:http://extras.ubuntu.compreciseRelease:Thefollowingsignaturescouldn'tbeverifiedbecausethepublickeyisnotavailable:NO_PUBKEY16126D3A3E5C1192
Lasoluciónesingresarestoscomandos,unoalavez:
sudodpkg--configure-a
sudorm/var/lib/apt/lists/*-vf
sudoapt-getupdate
sudoapt-getclean
sudoapt-getupdate
sudoapt-keyadv--keyserverkeyserver.ubuntu.com--recv-keys16126D3A3E5C1192
Nota:Laclavepúblicapuedevariar,porloquetendreisquealterarlaenesecaso,colocandovuestraclave.
Másinformaciónenhttp://askubuntu.com/questions/127326/how-to-fix-missing-gpg-keys(idiomainglés)
Tutorialresolver"GPGerror"usandoapt-getupdateenGNU/Linux
102
TutorialresolverproblemadeconfiguracióndelidiomaenGNU/LinuxEnestetutorialveremoscomoresolverelproblemadeconfiguracióndelidiomaincorrectoenGNU/Linux
Palabrasclaves:locale,configuracióndeidioma.
Sinosapareceelsiguienteerroraliniciarelsistemaoperativoocuandoqueremosinstalaralgúnprograma:
locale:CannotsetLC_ALLtodefaultlocale:Nosuchfileordirectory
Abrimosunterminalyescribimos:
locale
Lainformaciónqueaparecenosmostrarácómoestáconfiguradoelidioma.Ahoravamosagenerarlo:
sudolocale-genes_ES.UTF-8
Yreconfigurarlo:
sudodpkg-reconfigurelocales
Porúltimoreiniciamoselsistemaoperativo:
sudoshutdown-rnow
ForosdeGNU/Linuxenespañol:http://www.linuxespanol.com/index.php
TutorialresolverproblemadeconfiguracióndelidiomaenGNU/Linux
103
TutorialcerrarprogramasbloqueadosenGNU/LinuxEnestetutorialveremoscomopodemoscerrarprogramasqueestánbloqueadosenLinuxusandolautilidadkill
Palabrasclaves:kill,cerrarprogramasbloqueados,GNU/Linux.
Elmétodomásfácilparacerrarunprogramaesabrirunterminalyescribir:
xkill
ElpunterodelratónsetransformaráenunaXysimplementeclicandoenlaventanadelprogramabloqueadolocerrará.
Otraformaesutilizandolautilidadkilldesdelalíneadecomandos.Paraelloprimerotenemosqueaveriguarelidentificadordelprograma(PID)abriendounterminalyescribiendo:
ps-e
Enlalistaqueaparece,porejemplo,elprogramaFirefoxtieneelPID3192.Paracerrarloescribimos:
kill-93192
Siqueremosencambiobuscarunprogramaespecífico,porejemploescribimos:
ps-Cfirefox
ComoconcualquierutilidadLinux,usandomankillvereislaayudadelamisma(teclaqparasalir)
mankill
TutorialcerrarprogramasbloqueadosenGNU/Linux
104
TutorialcerrarprogramasbloqueadosenGNU/Linux
105
TutorialintroducciónaloslogsdelsistemaGNU/LinuxEnestetutorialveremosquesonlosarchivoslogycómopodemosusarlos
Palabrasclaves:log,rsyslog,dmesg,tail.
LosarchivoslogregistranlasactividadesdelosprogramasyserviciosensistemasGNU/Linux.Ellossonherramientasfundamentalesalahoradeadministrary/oanalizarloqueocurreenelsistemaoperativo.
Loslogsseencuentrandentrodeldirectorio/var/logysonrecogidosporeldemoniorsyslog.Parareiniciarloescribimos:
sudoservicersyslogrestart
Paraleerunarchivologsesueleutilizartail:
taildmesg
Tailsolamentemuestralasúltimas10líneasdelarchivo,siqueremosporejemplover18:
tail-n18dmesg
Paramonitorarentiemporealunserviciooprogramausamos:
tail-fdmesg
Porúltimo,paraeditarlaconfiguraciónbásicadeloslogseditamos:
vim/etc/rsyslog.conf
TutorialintroducciónaloslogsdelsistemaGNU/Linux
106
TutorialusarloslogsdelsistemaGNU/LinuxparadescubrirerroresEnestetutorialveremoscuálessonlosarchivoslogquenospermitendescubrir,diagnosticaryresolverproblemasenGNU/Linux.
Palabrasclaves:log,tail,dmesg,udev.
Elarchivo/var/log/udevcontienelainformacióndelosdispositivosdetectadosporelkernelLinux:
tail-n90/var/log/udev
Dmesgmuestralosmensajesdelsistema:
tail-n90/var/log/dmesg
Paradiagnosticaryresolverproblemasdevideo(servidorgráficoX):
tail-n90/var/log/Xorg.0.log
Otrosarchivoslogcomunesson:
/var/log/auth.log:logdeautenticación/var/log/kern.log:logdelkernel/var/log/cron.log:logdecrond/var/log/boot.log:logdeiniciodelsistema/var/log/wtmp:logdelogins
AlgunasaplicacionescomoelservidorApache(httpd)creansupropiodirectoriodentrode/var/log/paraguardassusarchivoslog.
TutorialusarloslogsdelsistemaGNU/Linuxparadescubrirerrores
107
TutorialresolverproblemasconsistemasdearchivosenGNU/LinuxEnestetutorialveremoscomopodemosresolverproblemasconlossistemasdearchivosdañadosenGNU/Linux
Palabrasclaves:sistemadearchivos,filesystem,resolverproblemas,e2fsck,dosfsck,ntfs-3g.
Pararesolverproblemasenlossistemasdearchivoext2,ext3yext4tenemoslaherramientae2fsck.Parausarlaprimerodesmontamoslaparticiónoeldiscorígidoconproblemas(sdb1comoejemplo):
sudoumountsdb1
Paraverificaryresolverproblemasmostrandounabarradeprogresoenunsistemadearchivosext4:
fsck.ext4-p-f-C0/dev/sdb1
Paraencontrarsectoresdañadosyhacerlosinutilizablesporelsistemaoperativo:
fsck.ext4-f-c-C0/dev/sdb1
Paraverificaryrepararsistemasdearchivosfat12,fat16yfat32(windows),ademásdeinutilizarlossectoresdañados:
fsck.vfat-l-v-a-t/dev/sdb1
Paraverificaryrepararsistemasdearchivosntfs(windows):
ntfsfix/dev/sda1
Másinformaciónen:https://help.ubuntu.com/community/FilesystemTroubleshooting(idiomainglés)
TutorialresolverproblemasconsistemasdearchivosenGNU/Linux
108
TutorialresolverproblemasconsistemasdearchivosenGNU/Linux
109
Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañadosEnestetutorialveremoscomopodemosrecuperarinformacióndediscosduros,CD-ROMsyDVDsconproblemas
Palabrasclaves:discoduro,CD-ROM,DVD,testdisk,GNUddrescue,foremost.
Primeroinstalamoslosprogramasnecesariosparalatarea:testdisk,GNUddrescueyforemost.
sudoapt-getinstalltestdiskgddrescueforemost
Parabuscarennuestroordenadordiscosduros,particionesoCD-ROMsdañadosusamostestdisk:
sudotestdisk
ParapararecuperarunCD-ROMconGNUddrescueescribimos:
ddrescue-b2048/media/cdromnombre_imagen.isoarchivo.log
Losiguienteserámontarlaimagenobtenida:
sudomount-oloop/media/nombre_imagen.iso/mnt/
Encambio,porejemplo,pararecuperarlaparticiónhda1deldiscoduroescribimos:
ddrescue--no-split/dev/hda1nombre_imagenarchivo.log
Porotrolado,pararecuperararchivossueltosusamosforemost:
sudoforemost-tjpg-i/dev/hda1-o/media
Enestecasorecuperamosarchivosjpgdelaparticiónhda1,guardándoloseneldirectorio/media
Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañados
110
Másinformaciónsobrerecuperacióndeinformación:https://help.ubuntu.com/community/DataRecovery(idiomainglés)
GNUddrescue:http://www.forensicswiki.org/wiki/Ddrescue(idiomainglés)
Tutorialrecuperararchivoseinformacióndediscosduros,CD-ROMsyDVDsdañados
111
SeguridadenGNU/Linux
Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux
Tutorialhacercopiasderespaldo(backup)dediscosrígidosenGNU/Linux
Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux
Tutorialexaminarsinuestroordenadorestásiendoinvadidoatravésdeunrootkit
Tutorialdescubrirrootkits,backdoors,sniffersymalwareconRKHunterenGNU/Linux
TutorialmonitorearreddeInternetconntopenGNU/Linux
TutorialescaneodepuertosconNmapenGNU/Linux
TutorialusartcpdumpparaanalizarpaquetesderedenGNU/Linux
Palabrasclaves:copiasderespaldo,rsync,GRsync,seguridad,GNU,Linux,copiasdeseguridad,backup,cortafuegos,firewall,chkrootkit,rootkit,backdoor,sniffer,malware,RKHunter,ntop,monitorearred,nmap,tcpdump,capturarpaquetesred.
SeguridadenGNU/Linux
112
Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/LinuxEnestetutorialveremoscómopodemoshacercopiasderespaldo(backup)dearchivosusandorsyncenGNU/Linux
Palabrasclaves:copiasderespaldo,copiasdeseguridad,backup,rsync,GRsync.
RsyncesunaherramientaquesirveparasincronizararchivosydirectoriosenGNU/Linux,porloqueesmuyútilalahoradehacercopiasderespaldo.Paracopiarunarchivoporejemploescribimos:
rsync-vnombre_del_archivonombre_del_archivo_de_backup
Lapróximavezqueejecutemosesamismaorden,copiaráelarchivosolamentesifuemodificado.
Siqueremoshacerunacopiaderespaldodeundirectorio:
rsync-avnombre_del_directorio/nombre_del_directorio_de_backup
Siporejemploborramosunarchivodeldirectorio,rsyncnoloborraráeneldirectoriodebackupamenosqueusemoslaopción--delete:
rsync-av--deletenombre_del_directorio/nombre_del_directorio_de_backup
Siqueremoshacerunacopiaenunordenadorremotousandossh:
rsync-av--deletenombre_del_directorio/usuario@IP_del_ordenador_remoto:/nombre_del_directorio_de_backup/
Oalcontrario:
rsync-av--deleteusuario@IP_del_ordenador_remoto:/nombre_del_directorio_de_backup/nombre_del_directorio/
Porúltimo,GRsyncesunadelasinterfacesgráficasdersyncenGNU/Linux.Lainstalamoscon:
Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux
113
sudoapt-getinstallgrsync
Másinformaciónenhttp://www.vicente-navarro.com/blog/2008/01/13/backups-con-rsync/
Tutorialrealizarcopiasderespaldo(backup)dearchivosenGNU/Linux
114
Tutorialhacercopiasderespaldo(backup)dediscosrígidosenGNU/LinuxEnestetutorialveremoscomopodemoshacercopiasderespaldo(backupeninglés)deunapartición,undiscorígidoy/odenuestrosistemaoperativoGNU/Linuxcompleto
Palabrasclaves:backup,copiasderespaldo,copiasdeseguridad,mount,sync,dd.
Abrimosunterminalyverificamoscomoestáorganizadonuestrodiscorígido:
mount
Montamoseldiscorígidoquevamosausarparagrabarlacopiasdb:
mount/media/sdb
Sivamosahacerunacopiaderespaldodeundiscorígidooparticiónqueestánmontados,ejecutamossyncparadescargarlosdatosdelamemoriaRAMaldiscorígido:
sync
Ahorayapodemoshacerlacopiaderespaldo,porejemplodeldiscorígidosdaaldiscorígidoexternomontadocomosdb:
ddif=/dev/sda|bzip2-c>/media/sdb/disco-rigido.bz2
Enunfuturo,pararestauraresamismacopia:
bzip2-c-d/media/sdb/disco-rigido.bz2|ddof=/dev/sda
Másinformaciónen:http://doc.ubuntu-es.org/Clonar_discos_duros
Tutorialhacercopiasderespaldo(backup)dediscosrígidosenGNU/Linux
115
Tutorialconfiguraruncontafuegos(firewall)enGNU/LinuxEsestetutorialaprenderemoscómoconfigurarIPTABLES,elcomandoutilizadoporNETFILTER,cortafuegospredeterminadodeGNU/Linux
Parasabersilotenemosinstalado,abrimosunterminalyescribimos:
whereisiptables
EstecomandonosdirásiIPTABLESestáinstaladoyeldirectoriodondereside.Paravercómoestáconfiguradoescribimos:
sudoiptables-L
Sitenemosalgunareglayqueremosborrarlaparacomenzardesde0:
sudoiptables-F
AhoraconfiguramosIPTABLESescribiendoreglasquepermitentráficohaciaafueradenuestrared(usarInternet,correoelectrónico,etc.)ybloqueaneltráficodesdeafuera(invasióndehackers,programasespías,etc.).
Reglaparaaceptarlasconexionesentrantes:
sudoiptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
Reglaparapermitirloopback(lo0)ybloqueartráficoa127/8:
sudoiptables-AINPUT-ilo-jACCEPTsudoiptables-AINPUT!-ilo-d127.0.0.0/8-jREJECT
Reglaparapermitirhacerping:
sudoiptables-AINPUT-picmp-micmp--icmp-type8-jACCEPT
Reglaparapermitirtráfico(Internetporejemplo)salirdenuestrared:
Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux
116
sudoiptables-AOUTPUT-jACCEPT
Reglapararechazarotrotipodeconexionesentrantes:
sudoiptables-AINPUT-jREJECTsudoiptables-AFORWARD-jREJECT
Ahoratenemosquesalvarestasnuevasreglas,casocontrariocuandoapagamoselordenadoréstasseborran.Parasalvarlasinstalamoselprogramaiptables-persistent:
sudoapt-getupdatesudoapt-getinstalliptables-persistent
Elprogramanospreguntarásiqueremossalvarlasreglasconfiguradasanteriormente.Aceptamosyfinalizamoslainstalación.
Másinformaciónen:AyudaUbuntu(idiomainglés)yen:Netfilter.org(idiomainglés)
Tutorialconfiguraruncontafuegos(firewall)enGNU/Linux
117
TutorialexaminarsinuestroordenadorestásiendoinvadidoatravésdeunrootkitUnrootkitesunprogramaoconjuntodeprogramasusadosporunintrusoparaaccederaunordenadorsinservisto.EnestetutorialveremoscómoinstalarChkrootkit,unaherramientaquebuscapistasdeunrootkit.
Palabrsclaves:CHkrootkit,rootkit.
Abrimosunterminalyescribimos:
sudoapt-getinstallchkrootkit
Parausarloescribimos:
sudochkrootkit
Estaordenrealizarátodoslostests.
Otrasconfiguraciones:paraqueseejecutediariamenteabrimoselarchivo:
/etc/chkrootkit.conf
Yreemplazamos:
RUN_DAILY="false"
por
RUN_DAILY="true"
Tutorialexaminarsinuestroordenadorestásiendoinvadidoatravésdeunrootkit
118
Tutorialdescubrirrootkits,backdoors,sniffersymalwareconRKHunterenGNU/LinuxRootkitHunterescaneanuestrosistemaoperativoenbuscaderootkits,backdoors,sniffersymalware.
Palabrasclaves:Rkhuntes,rootkit,backdoor,sniffer,malware,log.
Abrimosunterminalyescribimos:
sudoapt-getinstallRkhunter
Parausarloescribimos:
sudochkrootkit--check
Estaordenrealizarátodoslostestsycrearáunarchivorkhunter.logconlosresultadosen/var/log/.
Paraactualizarelprogramaescribimos:
rkhunter--update
Paraverotrasopcionesdelmismo:
sudorkhunter--help
Tutorialdescubrirrootkits,backdoors,sniffersymalwareconRKHunterenGNU/Linux
119
TutorialmonitorearreddeInternetconntopenGNU/LinuxNTOPesunaherramientademonitoreoygeneracióndereportesdeusoderedentiemporealparaGNU/Linux.Enestetutorialveremoscomoinstalarlayusarla.
Palabrasclaves:Ntop,monitoreored,ntopng.
Parainstalarla:
sudoapt-getinstallntop
Seabriráunaventanapidiéndonoslaolasinterfacesderedamonitorar(sinolassabemospodemosusarifconfigperoengeneralsoneth0siesporcableowlan0siesredinalámbrica)yunusuario/contraseña.Unavezcompletadalainstalaciónlainiciamos:
ntop
Ahorapodemosiralainterfazwebdelaherramientaabriendounnavegadorenelpuerto3000:
http://IP_servidor:3000
Porotrolado,tenemostambiénNTOPNG,queeslasiguientegeneracióndeNTOPconunainterfazwebmásamigable.
Másinformaciónenhttp://www.ntop.org/(idiomainglés)
TutorialmonitorearreddeInternetconntopenGNU/Linux
120
TutorialescaneodepuertosconnmapenGNU/LinuxNMAPesunaherramientadeescaneodepuertosygeneracióndereportesdeusoderedentiemporealparaGNU/Linux.Enestetutorialveremoscomoinstalarlayusarla
Palabrasclaves:Nmap,puertosabiertos.
Parainstalarlaabrimosunterminalyescribimos:
sudoapt-getinstallnmap
PorejemploparaescanearnuestroservidorconIP192.168.0.10escribimos:
nmap192.168.0.10
Nosmostraráunalistadelospuertosabiertos.ValelapenaleerlaayudadeNMAP:
nmap-h
Allíporejemploencontraremosqueparasaberelsistemaoperativodelordenadorescaneadoescribimos:
nmap-O192.168.0.10
Parasaberquetipodeservidortenemosenelpuerto80:
sudonmap192.168.0.10-p80-sV
Paraescaneartodalared:
sudonmap192.168.0.0/24
Másinformaciónen:http://www.insecure.org/nmap(idiomainglés)
TutorialescaneodepuertosconnmapenGNU/Linux
121
TutorialescaneodepuertosconnmapenGNU/Linux
122
TutorialusartcpdumpparaanalizarpaquetesderedenGNU/LinuxTcpdumpesunapoderosaherramientadelíneadecomandosutilizadaparacapturar,mediantelabibliotecalibpcap,eltráficodeunaredLAN,WAN,etc.enGNU/Linux.
Palabrasclaves:red,internet,LAN,WAN,paquete,network,packet,tcpdump,commandline,líneadecomandos,GNU,Linux.
Parainstalartcpdump:
sudoapt-getinstalltcpdump
Paraverqueinterfacesderedtenemosinstaladas:
sudotcpdump-D
Paracomenzaracapturarpaquetesenlaredinalámbrica:
sudotcpdump-nS-iwlan0
Parausartcpdumpenmodoverboseentodaslasinterfacesdered:
sudotcpdump-v-iany
ParaevitarquetcpdumpbusquelosnombresdedominiodelasIPcapturadas(aceleralacaptura):
sudotcpdump-n-v
Porúltimo,paraenviarlacapturadepaquetesaunarchivo:
sudotcpdump-wnombre-archivo.txt-s0
Yparaleerlo:
sudotcpdump-rarchivo.txt
TutorialusartcpdumpparaanalizarpaquetesderedenGNU/Linux
123
Másinformaciónen:http://www.tcpdump.org/(idiomainglés)yuntutorial:http://www.alexonlinux.com/tcpdump-for-dummies(idiomainglés)
TutorialusartcpdumpparaanalizarpaquetesderedenGNU/Linux
124
ProgramarenGNU/Linux
Comocrearunscriptenlalíneadecomando(shellscript)
Tutorialbásicocrontab
TutorialComandosdeiniciodelsistemaoperativo
VariablesdelsistemaGNU/Linux
TutorialAwkcomocomandoycomolenguajedeprogramación
Palabrasclaves:shellscript,bash,programar,programartarea,crontab,modificarconfiguraciónusuario,rc.local,profile,variablesdelsistemaoperativo,variablesusuario,set,PATH,awk.
ProgramarenGNU/Linux
125
Comocrearunscriptenlalíneadecomando(shellscript)Unshellscriptesunarchivoquecontieneunaseriedecomandos.UnaopciónsumamenteútilalahoradeautomatizartareasenGNU/Linux.Enesteejemplocrearemosunscriptquemuestreunaseriedenúmeros.
Palabrasclaves:shellscript,bash,programar.
Abrimosunterminalycreamoselarchivocontar_hasta_5.sh:
cat>contar_hasta_5.sh
Escribimoslosiguienteenélysalimosconctrl+D:
#!/bin/bash
#contar_hasta_5.sh:muestraunaseriedenúmeros
count=1
while[$count-le5];do
echo$count
count=$((count+1))
done
echo"Contarhasta5."
Ahoraprocederemosadarlepermisosdeejecuciónalarchivo:
chmod755contar_hasta_5.sh
Controlamosquetodoestécorrecto:
ls-lcontar_hasta_5.sh`-rwxr-xr-x1usuariousuario147Out2016:53contar_hasta_5.sh`
Finalmenteloejecutamos:
Comocrearunscriptenlalíneadecomando(shellscript)
126
./contar_hasta_5.sh
Resultado:
1
2
3
4
5
Contarhasta5.
Comocrearunscriptenlalíneadecomando(shellscript)
127
TutorialbásicocrontabEnestetutorialveremoscomopodemoscrearyagendarunatareaenGNU/Linuxusandolautilidadcrontab
Palabrasclaves:crontab,programartarea,script.
Nota:sinosabeisutilizarvimosaconsejohacereltutorialdeesteeditorprimero.
Abrimosunterminalyescribimos:
crontab-e
Enesearchivocrontabtenemosqueescribirunaordendelasiguientemanera:
minutos(0-59)horas(0-23)dias(1-31)meses(1-12)dias_de_la_semana(0-6)orden_a_ejecutar
Podeisusarunasterisco(*)comounvalor.Porejemplo,usarunasteriscoparalasemanaharáqueelcomandoseejecutecadasemana.
Ejemplo:Paraejecutarelcomando/usr/bin/ejemplo1alas10:30a.m.cadadiaescribimos:
2910***/usr/bin/ejemplo
Siquereisespecificarmultipleshorários,tendreisquesepararporcomaslosvalores.Enesteejemploelcomandoseejecutarácada15minutos:
0,14,29,44****/usr/bin/ejemplo1
Unúltimoejemploseparandounrangodevaloresconunguión,vamosaejecutaramediodiatodoslosdíasperosolamenteenlosprimerosseismesesdelaño:
012*1-6*/usr/bin/ejemplo1
ejemplo1esunscriptpreviamentecreadoconlastareasquequeremosautomatizar,porejemplounacopiadeseguridad,unaactualizacióndelsistemaoperativo,etc.
Paralosarchivoscrontabquenecesitandepermisosdeadministradordebemosusar:
Tutorialbásicocrontab
128
sudocrontab-e
Másinformaciónen:http://crontab.org/(idiomainglés)
Tutorialbásicocrontab
129
ComandosdeiniciodelsistemaoperativoGNU/LinuxEnestetutorialveremosunaintroducciónaloscomandosejecutadoseneliniciodelsistemaoperativoGNU/Linux.
Palabrasclaves:modificarconfiguraciónusuario,rc.local,profile.
Cuandoelsistemaoperativoseinicia,tenemosarchivosqueejecutanlasórdenesbásicasdelsistema.Nosotrospodemosveromodificaresosarchivosparaadaptarlosanuestrosgustos.rc.localeselarchivoqueseejecutajustoluegodeliniciodelsistema:
cat/etc/init.d/rc.local
profileseejecutaluegodeliniciodesesióndeusuário:
cat/etc/profile
Lasconfiguracionesparticularesdecadausuárioestánenelarchivo.profileeneldirectoriodelusuário,porej.:
ComandosdeiniciodelsistemaoperativoGNU/Linux
130
cat.profile
#~/.profile:executedbythecommandinterpreterforloginshells.#Thisfileisnotreadbybash(1),if~/.bash_profileor~/.bash_login#exists.#see/usr/share/doc/bash/examples/startup-filesforexamples.#thefilesarelocatedinthebash-docpackage.
#thedefaultumaskissetin/etc/profile;forsettingtheumask#forsshlogins,installandconfigurethelibpam-umaskpackage.#umask022
#ifrunningbashif[-n"$BASH_VERSION"];then#include.bashrcifitexistsif[-f"$HOME/.bashrc"];then."$HOME/.bashrc"fifi
#setPATHsoitincludesuser'sprivatebinifitexistsif[-d"$HOME/bin"];thenPATH="$HOME/bin:$PATH"fi
ComandosdeiniciodelsistemaoperativoGNU/Linux
131
VariablesdelsistemaGNU/LinuxEnestetutorialveremosunaintroducciónalasvariablesdeambiente.
Lasvariablesdeambientesoninformacionesquedefinenparámetrosnecesariosparaelfuncionamentodelsistemaoperativoydesusprogramas,porejemplo,eltipodeshellqueusaelusuário,sudirectorioprincipaloidioma.
Palabrasclaves:variablesdelsistemaoperativo,variablesusuario,set,PATH,profile.
Paraverlasvariablesescribimos:
set
UnavariableimportanteesPATH,éstainformaquedirectoriostienenarchivosejecutables.ParaverlosdirectoriosqueestáncomoPATH:
echo$PATH
Unejemplo,siyoestoyeneldirectoriopruebasyquieroejecutarunarchivo,tendríaquecolocarlotemporalmenteenlavariablePATH:
PATH=$PATH:/pruebas
Oeditaresavariablepermanentementedentrodelarchivo/etc/profile.
VariablesdelsistemaGNU/Linux
132
TutorialAwkcomocomandoycomolenguajedeprogramaciónEstetutorialesunabreveintroducciónalusodeawkcomocomandoycomolenguajedeprogramaciónenGNU/Linux
Palabrasclaves:awk,script.
Awknoessolounprogramautilitariosinotambiénunlenguajedeprogramación,loquelohaceútilalahoradecrearscriptstambién.Fuediseñadoparaextraerdatosporloqueaquíveremosalgunosejemplos.
Veamoselprimero.Abrimosunterminalyescribimos:
dpkg-l|awk'{print$2}'>instalados.txt
Enestecasoawkcrearáunarchivollamadoinstalados.txtconunlistadodelasegundacolumnadelcomandodpkg-lquemuestraelnombredelosprogramasinstaladosennuestroordenador.
Siqueremosimprimirtodaslascolumnas:
dpkg-l|awk'{print$0}'>instalados.txt
Otroejemplo,enestecasoprogramandoelclásico"HolaMundo":
awk"BEGIN{print\"HolaMundo\"}"
Paraimprimirnuevenúmerosaleatorios:
awk'BEGIN{for(i=1;i<=9;i++)printint(101*rand())}'
Contarlafrecuenciasdelaspalabrasdelarchivoinstalados.txt:
awk'BEGIN{FS="[^a-zA-Z]+"}\{for(i=1;i<=NF;i++)words[tolower($i)]++}\END{for(iinwords)printi,words[i]}'instalados.txt
Másejemplosen:http://www.linux-es.org/node/31
TutorialAwkcomocomandoycomolenguajedeprogramación
133
Elmanualcompleto:http://www.gnu.org/software/gawk/manual/gawk.html(idiomainglés)
TutorialAwkcomocomandoycomolenguajedeprogramación
134
BibliografíaLoslibroselectrónicoslospodeisdescargardemibloghttps://www.fortinux.com
PERPIÑAN,A.(2007).BásicamenteGNU/LINUXSegundaedición.SantoDomingo(Rep.Dominicana):ImpresosGamma.
SHOTTS,W.E.Jr.(2009).TheLinuxCommandLine.http://linuxcommand.org.Consultado:27/03/2013.
WILDING,M.,BEHMAN,D.(2005).Self-ServiceLinux®MasteringtheArtofProblemDetermination.USA:PrenticeHall-BrucePerens’OpenSourceSeries.
KIRCH,O.(1999).GuíadeAdministracióndeRedesconLinux,(TraducciónProyectoLuCAShttp://es.tldp.org/).
Bibliografía
135
AnexoA:RecursosLinuxformscrach(LFS):UnproyectoqueproveeinstruccionespasoapasoparacrearnuestrapropiaversiónpersonalizadadeGNU/Linux.http://www.linuxfromscratch.org/index.html
Explainshell.com:Nosmuestralaayudadecadacomandoquenosotrosescribimos.Sumamenteútilparaentenderloqueestamoshaciendo.http://explainshell.com/
Openvim.comUntutorialinteractivodeVim.Recomendable.http://www.openvim.com/
AnexoA:Recursos
136