[ubuntu-ar] Sysadmin vol. 1 [ERA: Curso sysadmin?]
Zeroadrenaline
zeroadrenalinux at gmail.com
Wed Jun 22 04:58:31 UTC 2011
Antes que nada me gustaría aclarar que ser administrador de sistemas no
es algo que uno pueda aprender en un curso.
En nuestro país las carreras de sistemas no hacen foco en esta cuestión
(salvo en exactas quizá, pero tampoco demasiado). Ser administrador de
sistemas
es una profesión, y no uso la palabra a la ligera, que no este
profesionalizado el trabajo no significa que no lo sea. Hoy en día en el
mercado ser programador vale mas que ser administrador. El programador
programa, el administrador administra .... repara, compra, tira, arma,
desarma, cablea, atiende teléfonos, en fin, la culpa no es del chancho,
pero quería aclararlo porque me gustaría que eso empiece a cambiar y se
le de al sysadmin el lugar en el mercado que yo creo que merece.
Bueno, yendo al tema puntual: leí por ahí alguien que es programador y
dijo estar cansado de eso, y que quiere empezar a interiorizarse en
temas relativos a la administración. Bueno camarada, ojo al piojo, parte
de ser admin es automatizar, y para eso hay que saber programar y mucho.
Se da un debate permanente entre programadores y admines, como una
especie de inocente boca vs river, y la verdad me parece tonto, porque
ninguno es un profesional completo si no perfecciona al menos un poco
los contenidos que maneja el otro, así que dicho esto, admines a
aprender a programar y programadores a casar un switch de 24 bocas.
Voy a tirar algunos temas que creo que son básicos para iniciarse y los
links que yo creó tienen data interesante al respecto. Lógicamente se me
pueden escapar ciertas cosas, y no puedo dar 100% seguridad sobre todos
los links pero voy a hacer mi mejor esfuerzo.
En principio hay que tener en claro que administrar sistemas gnu/linux
es como muy abarcativo. Tenemos toda la familia de software para
networking, servicios web, servicios complementarios (backup, monitoreo,
documentación, etc), bases de datos, telefonía IP, y un sin fin de
disciplinas. Todas ellas requieren de un conocimiento básico: MANEJO DE
CONSOLA!.
* Aclaración: es importante que sepan lo que es el servicio de SSH, como
funciona y como habilitarlo de movida en su servidor para que usarlo sea
mas amigable: LEER ANTES QUE NADA
<http://www.kindawannadothat.com/2009/02/install-an-ssh-server-on-your-debian-ubuntu-server/>
Así que ahí vamos:
1_ Comandos básicos de consola:
http://ss64.com/bash/
Todo dicho, de la A a la Z, todos los comandos de consola disponibles y
para que sirven.Esta en ingles pero es muy clarito.
Y este otro para hacerlo bien didáctico y completo (En este link van a
leer cosas sobre como están dispuestos los archivos en todo el árbol de
directorios de un sistema gnu/linux like, manipulación de archivos,
redirigir salidas de la pantalla a otros proceso/archivos, manejo de
permisos y control de procesos entre otras cosas)
http://linuxcommand.org/learning_the_shell.php
Perfecto, ya sabemos usar el terminal. Que, cansado? Querías aprender
sin leer nada? ..... error.
Sigamos adelante:
2_ Networking
De temas intrínsecos a la configuración de placas, y ese tipo de cosas
ya vieron algo en los links anteriores, ahora nos vamos a meter con
temas de redes, algo que puede que para muchos sea aburrido pero les
aseguro que en una red hogareña se pueden hacer un montón de cosas tan
copadas que se pasarían la vida entera.
Herramientas básicas:
_ DNS <http://en.wikipedia.org/wiki/Domain_Name_System> (link a
wikipedia)
Un dns es simplemente un servicio que mapéa direcciones IP con
nombres de dominio (domain names, o hostnames), directa o
escalonadamente (no se si es el término correcto). Básicamente
permite dentro de una red, acceder a la PC de tu hermana como "lagorda"
y no como "192.168.0.103", cuando la red escala (se hace mas
grande), es muy útil. Uno de los más comunes es BIND y es del cual voy a
dejarles links.
http://www.debian.org/doc/manuals/network-administrator/ch-bind.html
_* DHCP
<http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol> (link
a wikipedia)
Este servicio es quizás mas popularmente conocido ya que si en
tu casa tenes un router, habrás leído por ahí mas o menos lo que hace.
Para los colgados, el servicio (o mejor dicho
protocolo) DHCP (leer link de wikipedia en el asterisco mas arriba ;)
vamos, no seas vago).
Entrega IPs asociadas a la MAC address (el D.N.I. de la placa
de red..... por dios, que ejemplos que estoy dando) que tenga la placa
de red que la solicita.
En linux existen algunos servicios de DHCP y nosotros vamos a
hablar de dhcpd (la "d" es por demonio, corre en background).Si tenes
una Pentium 2 en tu casa y no sabías que hacer con ella, ponele
2 plaquitas de red, si se puede que una wifi también y le tiras un
debian adentro, un poquito de dedos mágicos y tenes un
DHCP server para tu lan hogareña (o te pensás que el router linksys
tiene mucho mas hardware que eso champion? ;) )
http://oob.freeshell.org/nzwireless/dhcpd.html
_ Router <http://en.wikipedia.org/wiki/Router> (...)
La PC de nuestra hermana ya tiene una IP de la misma red que
nuestra PC porque se la dio nuestro querido DHCPD, también sabemos como
acceder a la
máquina sin tener que saber que IP tiene porque sabemos su
hostname y con ayuda de nuestro BIND llegamos a ella. Pero tenemos un
problema:tu máquina no esta conectada físicamente a la
de tu hermana, sino que esta conectada a través del server (o con un
switch...ponele :S ). Si yo quiero trabajar en la pc de mi
hermana, o quiero generar tráfico de red entre nuestras máquinas,
alguien tiene que saber administrar ese tráfico (como una operadora
telefónica antiguamente sabía dirigir llamadas desde un
conmutador). Ahí es donde nuestro router aparece en acción. Un router no
es mas que un equipo
con un listado de instrucciones precisas y claras sobre para
que lado tiene que tirar cada paquete (bien criollo). Nuestro linux by
default puede hacer ese
trabajo MUY BIEN, así que los dejo en manos de estos dos amigos
"route" y "iproute2"
http://linux-ip.net/html/tools-route.html
http://linux-ip.net/html/tools-ip-route.html
3_ Servicios web
_ Web server
Acá hay que hacer un GRAAAAAAAN libro, pero voy solamente a
aclarar puntos básicos. Para que un sitio web exista, tiene que estar
alojado en algún lado. Cuando alguien desde un navegador
quiere acceder al sitio (utilizando el hostname que un DNS parecido al
nuestro sabe resolver) el servidor a donde llega el pedido y
donde esta alojado físicamente el sitio, debe saber reconocer el pedido
(estar escuchando por si alguien pide datos), interpretar ese
pedido, resolverlo y devolver el contenido solicitado.
Esos 4 pasos básicos son los que debe cumplir cualquier
servicio de red para poder funcionar, di el caso de un servidor web
porque es bastante claro.
Ahora bien, un servidor web es un equipo que cuenta con un tipo
de software instalado el cual le permite escuchar pedidos de un
navegador, reconocerlos como pedidos de su
servicio web, interpretar el pedido para poder buscar dentro de los
sitios que aloja cual es el que solicita el usuario y
devolver el contenido del sitio.
Toooodo ese trabajo lo hacen un montón de aplicaciones
diferentes, de diferentes maneras, pero de las mas populares es Apache.
En particular, hoy Apache2, y nos vamos a enfocar en el.
http://zeroadrenaline.com/httpdocs/wp-content/uploads/files/LinuxDebianServerByForat.pdf
(cabe aclarar que ese PDF no es mío sino que es gentileza de
FORAT
<http://www.forat.info/2008/03/05/como-montar-un-servidor-web-con-linux-debian/>)
_ DB Server
Tiene sentido que si instalamos un servidor web para mostrar
sitios, seguramente vamos a estar interesado en tener algún que otro
servicio corriendo
en nuestro servidor (una wiki por ejemplo) que necesiten de una
base de datos para alojar toda la info que le vayamos tirando con el uso.
Existen distintos tipos de bases de datos, por ejemplo las hay
relacionales y no relacionales. En en común de los casos nos va a
interesar trabajar con
bases de datos del tipo SQL, y para ello podemos utilizar
motores como MySQL o PostgreSQL. Cualquiera de los 2 son muy buenas
alternativas, en cuanto a desempeño, documentación, fiabilidad y
una comunidad de usuarios y desarrolladores que los banca, así que para
no discriminar dejo links de los 2.
http://www.esdebian.org/wiki/mysql-debian
http://www.stuartellis.eu/articles/postgresql-setup/
4_Otro tipo de Servicios
Creo que ya con esto tienen para un rato largo, y seguramente
va a dar para mucho. Les dejo un listado de cosas copadas que se pueden
hacer con servidores en linux para que sea disparador de
nuevos mails.
_ Compartir archivos y recursos (FTP, SFTP, SSH, Samba...)
_ Streaming multimedia (mpd, flowplayer, ...)
_ Mails (sendmail, postfix)
_ Telefonía IP (asterisk)
_ Clustering (heartbeat, ldirectord)
_ Backup (bacula, rsync)
Supongo que me debo estar olvidando de un montón de cosas y también
sospecho que mas de un purista me va a buscar en la próxima reunión para
matarme a trompadas, pero espero que entiendan que me tome este trabajo
porque vi que había gente interesada en el tema y creo que da para mucho
mas.
Sepan que como dije antes, ser admin no es un trabajo del pibito que
sabe de computadoras, así como tampoco lo es ser programador, SOMOS HACKERS,
profesionales del uso de computadoras, y hay que empezar a meterse un
poco en ese plan, comerse un poco la película como quien dice. No se a
ustedes pero a mi no me gusta que no se valore comercialmente mi
conocimiento por que el sistema académico no lo contempla. Mejor lo dejo
ahí.
Por favor no respondan a este mail en el hilo porque ya lo hice muy
largo yo, si la seguimos por acá se va a hacer una biblia. De ultima
abrimos un hilo nuevo que se llame "Sysadmin vol. 2" XD
Se me cuidan, y sepan que este material (seguramente mas prolijo y
chequeado) va a estar disponible en MI BLOG <http://zeroadrenaline.com>
( te tire el chivito ;) ).
PD: no se quejen, pase el corrector ortográfico.
Abrazo.
--
+-----------------------------------+
| ZEROADRENALINE |
| System Administrator |
| zeroadrenalinux en gmail.com |
| www.zeroadrenaline.com |
+-----------------------------------+
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://lists.ubuntu.com/archives/ubuntu-ar/attachments/20110622/040f8dfe/attachment-0001.html>
More information about the Ubuntu-ar
mailing list