Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OpenCourseWare es un sitio web a travs del cual una Universidad, Centro de Formacin o
Instituciones Pblicas, ofrece sus materiales docentes a la comunidad de Internet:
profesores, estudiantes y autodidactas.
El documento completo fue tomado de la Universitat Oberta de Catalunya
(OpenCourseWare) del curso Administracin de Sistemas Linux.
Migrar o Coexistir
A continuacin, vamos a plantear otro aspecto importante en el
proceso de adopcin de los sistemas GNU/Linux. Supongamos que o
Identificar Requerimientos de
Servicios
Si tenemos unos sistemas ya funcionando, deberemos tener
implantados algunos servicios de los cuales sern clientes los
usuarios, o servicios que ayuden a la infraestructura del soporte
informtico. Los servicios entrarn dentro de alguna de las
categoras vistas anteriormente, con las opciones GNU/Linux que
comentamos.
Los sistemas GNU/Linux no son "nuevos" en absoluto, y derivan
(como vimos en la introduccin) de una historia de ms de cuarenta
aos de uso y desarrollo de los sistemas UNIX. Gracias a ello, una
de las primeras cosas que veremos es que no nos falta soporte para
ningn tipo de servicio que queramos. Si acaso, habr diferencias en
la forma de hacer las cosas. Adems, muchos de los servicios que se
utilizan en los sistemas informticos fueron pensados, investigados,
desarrollados e implementados en su da para UNIX, y
posteriormente adaptados a otros sistemas (como Windows, con
ms o menos acierto).
Muchas de las empresas que disponen de UNIX
propietarios participan en GNU/Linux y ofrecen
algunos de sus desarrollos a la comunidad.
Cualquier servicio disponible en cada momento podr ser adaptado
en los sistemas GNU/Linux con servicios equivalentes (cuando no
iguales).
Ejemplo
Un caso famoso es el de los servidores Samba.
Windows ofrece lo que l denomina "compartir
archivos e impresoras en red" mediante unos
protocolos propios denominados genricamente SMB
(server message block) (con apoyo de red en los
protocolos NetBios y NetBEUI). Tambin es de
comn uso el nombre CIFS (common Internet file
system), que es como se denomin al protocolo en
Proceso de Migracin
En el proceso de migracin, hay que tener en cuenta qu se quiere
migrar, y si quiere realizarse de forma completa o parcial,
coexistiendo con otros servicios o equipos o con un sistema
operativo diferente.
En estos ambientes, como en las grandes
organizaciones, en los que encontramos un gran
nmero de sistemas heterogneos, habr que tener
en cuenta que seguramente no se migrarn todos,
en especial los sistemas de tipo workstation
dedicados a la ejecucin de alguna aplicacin bsica
para una tarea. Puede que no exista la aplicacin
equivalente o simplemente podemos desear
quedarnos con esos sistemas por razones de coste
o para rentabilizar la inversin realizada.
Podemos migrar varios elementos, ya sean los servicios que
ofrecemos, las mquinas que los sirven o los clientes que acceden a
ellos. Los elementos que se migren pueden ser variados.
En la migracin, pasaremos por la sustitucin de un servicio por otro
Open Course Ware es un sitio web a travs del cual una Universidad, Centro de Formacin
o Instituciones Pblicas, ofrece sus materiales docentes a la comunidad de Internet:
profesores, estudiantes y autodidactas.
El documento completo fue tomado de la Universitat Oberta de Catalunya
(OpenCourseWare) del curso Administracin de Sistemas Linux.
Sistemas GNU/Linux
En los primeros aos, los usuarios de los primeros ordenadores
personales no disponan de muchos sistemas operativos donde
elegir.
El mercado de los ordenadores personales lo dominaba un DOS de Microsoft. Otra
posibilidad eran los Mac de Apple, pero a unos precios desorbitados (en
comparacin) con el resto. La otra opcin importante, aunque reservada a grandes
(y caras) mquinas, era UNIX.
Una primera opcin que apareci fue MINIX (1984), creado
desde cero por Andrew Tanenbaum, con el objetivo de usarlo
para la educacin, para ensear diseo e implementacin de
sistemas operativos.
MINIX fue pensado para ejecutarse sobre una plataforma Intel
8086, muy popular en la poca porque era la base de los primeros
IBM PC. La principal ventaja de este operativo radicaba en su
cdigo fuente, accesible a cualquiera (12.000 lneas de cdigo
entre ensamblador y C), ya que estaba incluido en el libro docente
de sistemas operativos de Tanenbaum [Tan87]. Pero MINIX era
ms una herramienta de enseanza que un sistema eficaz
pensado para el rendimiento o para actividades profesionales.
En los noventa, la FSF (Free Software Foundation) y su proyecto
GNU motiv a muchos programadores para promover el software
de calidad y de distribucin libre. Y aparte de software de
utilidades, se trabajaba en un ncleo (kernel) de operativo
denominado HURD, que llevara varios aos de desarrollo.
Mientras, en octubre de 1991, un estudiante finlands llamado
Linus Torvalds presentara la versin 0.0.1 de su kernel de
sistema operativo, que denomin Linux, orientado a mquinas
Intel con 386, y lo ofreci bajo licencia GPL a foros de
programadores y a la comunidad de Internet para que lo probaran
y, si les gustaba, le ayudaran a su desarrollo. El entusiasmo fue
Conceptos y Ordenes
Fundamentales
El sistema GNU/Linux es un sistema multitarea, es decir, permite la
ejecucin de centenares de tareas al mismo tiempo independientemente
de la cantidad de cores o CPU que tenga para ejecutarse utilizando una
caracterstica comn en todos los sistemas operativos modernos llamada
multiprogramacin.
Esta caracterstica permite ejecutar una tarea durante un determinado
tiempo, suspenderla, pasar a la siguiente y as sucesivamente, y cuando
se llega al final, volver a comenzar por la primera sin afectar su
comportamiento o ejecucin.
Normalmente esta ejecucin se denomina "round robin", ya que
distribuye un "quantum" de tiempo (que oscila entre 15 milisegundos a
150 milisegundos, dependiendo del operativo) para cada tarea en
espera y volviendo a comenzar por la primera cuando se llega a la
ltima de la cola.
Si el sistema posee ms de un core o procesador, GNU/Linux tiene
capacidad para distribuir estas tareas en los diferentes elementos de
cmputo obteniendo las consiguientes mejoras en las prestaciones.
Puede parecer que 15 milisegundos = 0,015 segundos es un tiempo
pequeo, pero cualquier procesador actual puede como mnimo ejecutar
en este tiempo unas 2,2 millones de instrucciones mquina! Adems,
Gnu/Linux es un sistema operativo multiusuario que permite que ms de
un usuario a la vez pueda estar trabajando con el sistema y que ste
con su trabajo no pueda afectar a ninguna de las tareas de los otros
usuarios en el sistema.
GNU/Linux es un sistema multitarea y multiusuario que permite (aun
con un solo procesador/core) atender las necesidades simultneas de
mltiples usuarios, utilizando un tcnica habitual de los sistemas
operativos modernos denominada multiprogramacin.
Todos los sistemas Unix, y GNU/Linux no es una excepcin, consideran
dos tipos de usuarios diferenciados: el superusuario (llamado root),
que tiene todos los permisos sobre el sistema, y el resto de los usuarios
que disponen de un directorio de trabajo (home) del que tienen todos
los permisos, pero en el resto del sistema lo que pueden hacer est en
funcin de su importancia y nivel de seguridad para el propio sistema.
pueden
ser
ejecutados
| Visto: 6940
/0
Bueno
La mayor parte del tiempo, especialmente en Windows y Mac OS X, los usuarios finales no tienen
que compilar el software. Los programadores del software escriben el cdigo, y luego recopilado
en un "binario ejecutable" se disea para funcionar en nuestro de ordenador y sistema operativo.
Cada vez ms, sin embargo, con la popularidad del software de cdigo abierto, donde el cdigo
fuente est disponible para todos y cada, y que puede leer y disfrutar, el ltimo paso de compilar
el cdigo en un programa ejecutable, es que se puede dejar al usuario. Pueden ser compilados
especficamente para el tipo de sistema que va a correr, y mantener separados los binarios para
Windows XP, Windows Vista, Mac OS X Tiger, Panther, Linux x86, y todos los dems. Adems,
acaba de publicar el cdigo libre a los usuarios, para poder modificar, a menudo con los parches a
disposicin del pblico, antes de compilar, para personalizarlo a sus necesidades.
Compiladores
Si te encuentras que tienes (o quieres) compilar una parte del software, el proceso es bastante
simple. Cada pieza de software es diferente, pero aqu hay un resumen de las ms comunes. En
primer lugar, usted necesitar una lnea de comandos y un compilador.
Linux: casi seguro que Usted ya tiene una lnea de comandos, y un compilador llamado gcc.
Intente escribir gcc en la lnea de comandos. Si se le dice que "comando no encontrado", instale
gcc a travs de su gestor de paquetes.
Mac OS X Su lnea de comandos es la terminal, que se encuentra en Aplicaciones / Utilidades. Para
ello, deber descargar Xcode, que contiene el compilador de Apple, desde Apple ->herramientas
para desarrolladores desde la web o en tu CD Mac OS X.
Microsoft Windows proporciona un compilador libre para su descarga de Visual Studio Express,
pero Cygwin es el ms til y ms fcil de usar. Descargue e instale, asegurndose de incluir todos
los paquetes del "Desarrollo" cuando usted elige los paquetes.
Asimismo, asegrese de leer nuestro tutorial: instalar y utilizar Cygwin
DESCARGAR E INSTALAR LOS PAQUETES.
Prcticamente todos los paquetes fuente vienen en formato de archivo comprimido. Esto tendr
un sufijo. Tgz o. Tar.gz. Tambin tendr un nombre y un nmero de versin, algo as como
ejemplo-3.2.8.tar.gz. Usted debe hacerse un directorio para trabajar, llamelo "fuente" o
"construir" o algo en ese sentido. Ahora con su navegador, descargue el archivo fuente en ese
directorio.
Ahora, el desembalaje. A partir de su lnea de comandos, vaya a su directorio de trabajo
(utilizando el comando cd): En el ejemplo utilizaremos como directorio uno llamado "source"
cd source
Esto descomprimir todos los archivos del cdigo fuente en un nuevo subdirectorio con el
mismo nombre que su aplicacin, incluida la versin. Si el nombre del archivo termina en.
Bz2 en lugar de. Gz, en lugar de utilizar "xzvf" o "xvfz" que es como yo prefiero escribirlo,
deber usar "xjvf". Ir en este directorio tecleando:
cd example-3.2.8
Leer la documentacin.
Prcticamente cada paquete fuente contiene material de lectura, normalmente archivos con
nombres en maysculas, al igual que README e instalar. Lea estas! Ellos informan sobre
la forma de proceder. Tambin puede haber documentacin para su situacin especfica, al
igual que README.macosx. Puede utilizar el comando less en la lnea de comandos para
leerlos:
less INSTALL
(pulse 'q' en su teclado para salir) o simplemente abrirlos en su editor de textos favorito. La
documentacin podr necesitarlo para instalar software adicional antes de poder instalar
este paquete ( "dependencias"), o peculiaridades del proceso de instalacin que usted
necesita para estar alerta. Gran parte de esto suele ser cubierto por el software de la pgina
web tambin.
Building
El proceso puede variar, pero el procedimiento ms comn es el siguiente. Tipo:
./configure
El punto y barra previo (./) significa que usted quiere ejecutar la herramienta de
configuracin en el directorio actual. Esto realizar pruebas de diagnstico en el equipo,
averiguar si el software tiene todo lo que necesita (dependencias) y dnde estn los
archivos importantes. Puede que tenga que especificar la ubicacin de determinados
archivos en su computadora en caso de no estar en el lugar obvio - la documentacin
debera cubrir esta informacin, por ejemplo:
./configure --ssl-dir=/usr/local/include
Para obtener una lista completa de todas las opciones que usted puede necesitar para
configurar la herramienta, debe ejecutar:
./configure --help
Si todo va bien, debera tomar un tiempo, y puede monopolizar el procesador del ordenador
cuando est corriendo. No te preocupes, la compilacin de software es un trabajo intensivo.
Cuando termina, si todava no ve ningn mensaje de error, ya ests listo para el ltimo
paso. Tenga en cuenta que probablemente no va a ver un mensaje de felicitaciones o bien,
pero si no hay error, es que ha tenido xito. El software ha sido compilado. Todo lo que
queda por hacer es poner en aquellos casos en el lugar que le pertenece.
make install
Los distintos archivos que se han construido, sern colocados en sus lugares adecuados en
el sistema de ficheros. Ahora est listo para ser utilizado.
Solucin de problemas
Si cualquiera de los pasos anteriores no van bien, hay algunos pasos sistemticos para
tomar medidas que ayuden a averiguar cul es el problema. Asegrese de que han seguido
todas las instrucciones de rigor, y que tiene las necesarias dependencias instaladas.
Si no puede averiguar dnde o que sali mal, busque el mensaje de error que has recibido, y
pguelo en Google, Usenet, y en los foros y/o enve un correo a listas de correo pguelo
para que otros le puedan ayudar. Si eso falla, puede probablemente enviar un e-mail la lista
de correo, del software con su pregunta, o incluso en contacto con el autor del software
directamente si no hay lista de correo activa. De cualquier manera, asegrese de haber
realizado su tarea en primer lugar.
Tip: Catb.org tiene un buen tutorial sobre cmo pedir ayuda.
Compartir
Utilidades
Linux
Tutoriales
Nivel Avanzado
Programacin
instaladores segn la distribucin que uses, como DEB, RPM, BIN o TAR.
En Softonic acostumbramos a ofreceros el cdigo fuente de las aplicaciones para que
podis instalarlo en cualquier distribucin Linux y para que tengis la versin ms actual.
Sin embargo, instalar un programa a partir del cdigo fuente no es tarea fcil.
En esta gua aprenderemos a compilar el cdigo fuente de un programa Linux
cualquiera.
Antes de empezar, qu es cdigo fuente? El cdigo fuente es el programa tal como lo
escribi el programador. De esta forma podemos editarlo y adaptar la aplicacin a sus
necesidades. Por otra parte, permite instalarlo en diferentes sistemas operativos, o en este
caso, cualquier distribucin Linux.
Sin embargo, el ordenador no entiende este cdigo fuente, as que tendremos que
compilarlo usando el terminal.
El primer dato es fundamental, ya que las dependencias son los paquetes que utiliza el
programa que vamos a instalar para funcionar.
Las dependencias pueden ser libreras de lenguajes de programacin, como Python, Perl o
C++. Otras sern necesarias simplemente para compilar el cdigo, como make, cmake o
gcc. Tambin las hay que forman parte de nuestro Entorno de Escritorio, KDE o Gnome. Y
otras, simplemente, son libreras que realizan funciones por separado y en las que se apoya
nuestro programa a compilar, como GTK (que usa GIMP) o gstreamer (para reproducir
vdeos).
El principal problema viene cuando el autor del programa no nos da ninguna instruccin de
qu dependencias requiere su creacin. Por suerte, en algunos casos al intentar compilar
veremos mensajes de error que, si nos fijamos bien, nos alertarn de que faltan ciertos
paquetes.
As pues, antes de compilar el cdigo fuente del programa a instalar tendremos que
satisfacer las dependencias. Podemos hacerlo desde el gestor de paquetes de nuestra
distribucin, como Synaptic en Debian/Ubuntu o Yum en Fedora.
Instalar el programa
Desde terminal depender de la distribucin que usemos. En Ubuntu/Debian se puede usar
la herramienta aptitude. Por ejemplo, el autor nos dice que su programa usa la librera
GTK para Java, libgtk-java. Pues escribimos en el terminal:
>sudo aptitude install libgtk-java
Aptitude se encargar de buscar e instalar tambin las dependencias de este paquete. En
caso de no saber el nombre concreto del paquete, podramos buscar GTK y Java
escribiendo:
>aptitude search gtk java
En Fedora y derivados, usaremos yum. Primero introducimos el comando su, para usar el
terminal como root o superusuario. Para buscar paquetes, yum search, y para instalarlo yum
install.
>yum search amsn
>su
>yum install amsn
Una vez resueltas las dependencias habr terminado el trabajo duro. El resto es pan comido.
El proceso habitual suele consistir en:
>make
ndice de contenidos
Introduccin
Antes de preguntar
Cuando preguntes
Cmo interpretar las respuestas
Sobre cmo no reaccionar como un perdedor
Preguntas que no hacer
Buenas y malas preguntas
Si no logras obtener respuesta
Introduccin
En el mundo de los hackers, el tipo de respuestas que obtengas a tus preguntas tcnicas
depende tanto de la manera en que formules tus preguntas como de la dificultad de
desarrollar la respuesta. En esta gua se ensear cmo preguntar de manera que puedas
obtener una respuesta satisfactoria.
Lo primero que tienes que entender es que a los hackers les gustan los problemas realmente
complejos y las buenas preguntas que les hagan pensar en ellos. De no ser as no estaramos
aqu. Si nos proporcionas una cuestin interesante te estaremos agradecidos; las buenas
preguntas suponen un estmulo y un regalo. Las buenas preguntas nos ayudan a desarrollar
nuestra comprensin, y a menudo revelan problemas que podamos no haber percibido o en
los que de otra manera no habramos reparado. Entre los hackers, "Buena pregunta!" debe
entenderse como un sincero cumplido.
A pesar de esto, los hackers tienen la reputacin de enfrentarse a las preguntas sencillas con
hostilidad o arrogancia. A veces parece como si resultsemos hostiles a los principiantes o a
los ignorantes. Pero eso realmente no es cierto.
Lo que somos, de una manera no apologtica, es hostiles con la gente que parece no querer
pensar o hacer sus deberes antes de plantear las preguntas. La gente de ese tipo son
sumideros de tiempo -- toman sin dar a cambio, desperdician el tiempo que podramos
haber dedicado a otra cuestin ms interesante y con otra persona ms merecedora de una
respuesta. A las personas de este tipo las llamamos "perdedores" (y por razones histricas a
veces escribimos "lusers".
Antes de preguntar
Antes de hacer una pregunta tcnica por correo, en un grupo de noticias o en el foro de un
sitio web, haz lo siguiente:
1.
2.
3.
4.
Cuando hagas tu pregunta, destaca el hecho de que ya has hecho todo esto; esto ayudar a
establecer que no eres una esponja vaga y que slo ests desperdiciando el tiempo de los
dems. An mejor, destaca lo que hayas aprendido a partir de estas cosas. Nos gusta
responder a la gente que ha demostrado ser capaz de aprender de las respuestas.
Prepara tu pregunta. Piensa en ella. Las preguntas precipitadas reciben respuestas
precipitadas, o ni siquiera eso. Cuanto ms hagas para demostrar que has puesto
pensamiento y esfuerzo en resolver tu problema antes de pedir ayuda, ms cerca estars de
recibirla realmente.
Ten cuidado de no hacer la pregunta equivocada. Si haces una que est basada en
asunciones errneas, Hacker Al Azar seguramente te responder con algo literal e intil
mientras piensa "Qu pregunta ms estpida...", y esperando que la experiencia de obtener
una respuesta a lo que has preguntado exactamente en vez de a lo que necesitas saber te
ensear una leccin.
Nunca asumas que tienes derecho a una respuesta. No lo tienes. Te ganars una respuesta,
si te la ganas haciendo una pregunta sustancial, interesante y que haga pensar una que
Cuando preguntes
Elige el foro con cuidado
Ten cuidado al elegir dnde planteas tu pregunta. Seguramente te ignorarn o te tacharn de
perdedor si:
Los hackers descartan las preguntas inapropiadas para intentar proteger sus canales de
comunicacin de lo insustancial. No quieres que te suceda eso.
Deletrea correctamente. No confundas "its" con "it's" o "loose" con "lose". No ESCRIBAS
TODO EN MAYSCULAS, eso se lee como si estuvieses gritando, se considera poco
"fino". Si escribes como un bobo medio analfabeto probablemente te ignorarn. Escribir
como un hax0r script kiddie de l33t es el beso de la muerte absoluto y te garantiza que no
recibirs otra cosa que un silencio sepulcral (o, si tienes suerte, un montn de desprecio y
sarcasmo).
Si preguntas en un foro en el que no se usa tu idioma materno, obtendrs una cantidad
limitada de avisos por tus errores gramaticales y de ortografa pero ninguno aadido por
tus argumentaciones chapuceras (y s, normalmente conocemos la diferencia). Adems, a
menos que conozcas las lenguas de quienes te respondan, escribe en ingls. Los hackers
ocupados tienden a descartar las preguntas en idiomas que no entienden, y el ingls es el
idioma de trabajo en la red. Al escribir en ingls minimizas las posibilidades de que
descarten tu pregunta sin leerla.
angustia; mejor usa ese preciado espacio para una descripcin lo ms concisa posible del
problema.
Estpido:
AYUDA! El vdeo no funciona en mi porttil!
Inteligente:
Cursor del ratn deformado con XFree86 4.1, chipset de vdeo Loquesea MV1005
Hazlo lo mejor que puedas para anticiparte a las preguntas que un hacker te hara, y para
responderlas antes de tu solicitud de ayuda.
Simon Tatham ha escrito un excelente ensayo titulado Cmo informar de errores de manera
efectiva. Te recomiendo efusivamente que lo leas.
Inteligente:
Mi K6/233 ensamblado por m con una placa base FIC-PA2007 (chipset VIA
Apollo VP2) con 256MB Corsair PC133 SDRAM empieza a tener frecuentes
errores SIG11 sobre unos 20 minutos despus de haberlo arrancado durante el curso
de compilaciones del ncleo, pero nunca durante los primeros 20 minutos. Si
reinicio no se reinicia el reloj, pero si lo apago durante la noche s. Pasar toda la
RAM a la particin de intercambio no ha servido de nada. A continuacin os pongo
la parte relevante del registro de una tpica sesin de compilacin.
Hay una excepcin limitada a esta regla. Si piensas que puedes recibir una gran cantidad de
respuestas muy similares por el tipo de pregunta, entonces las palabras mgicas son
"mandadme las respuestas por correo-e y har un resmen para el grupo". Se considera
corts ahorrar a la lista de correo o al grupo de noticias una gran cantidad de respuestas
sustancialmente idnticas pero evidentemente tienes que mantener la promesa de
resumirlas.
resmen corto y agradable es mejor que una larga disertacin a menos que la solucin
requiera de cierta profundidad tcnica.
Adems de ser corts e informativo, esta especie de seguimiento ayuda a todos los que te
asistieron a sentir una sensacin satisfactoria de cercana al problema. Si t no eres un
hacker, crete que ese sentimiento es muy importante para los gurs y expertos a quienes
pediste ayuda. Los problemas que acaban sin resolverse resultan frustrantes; los hackers
desean verlos resueltos. El buen karma que aliviar ese picor te har ganar te resultar de
mucha ayuda la prxima vez que necesites plantear una pregunta.
Si no entiendes...
Si no entiendes la respuesta, no devuelvas inmediatamente la solicitud de una clarificacin.
Usa las mismas herramientas que utilizaste para intentar resolver tu pregunta original
(manuales, PUFs, la Web, amigos con mayores destrezas) para entender la respuesta. Si
necesitas pedir una clarificacin, intenta demostrar lo que has aprendido.
Por ejemplo, supn que te digo: "Suena como si tuvieses un zentry atascado; necesitars
liberarlo." Entonces:
He aqu una mala pregunta: "Qu es un zentry?"
He aqu una buena pregunta: "Est bien, he ledo la pgina de manual y los zentrys slo se
mencionan bajo las variables -z y -p. En ninguna de ellas se menciona nada sobre liberar a
los zentrys. Es una de stas o me estoy perdiendo algo?"
una frgil mueca slo porque seas un recin llegado de alma teatralmente hipersensible y
con ilusiones de estar autorizado a todo.
S2464. Los miembros de la lista aportaron la informacin crtica que necesitaba para
resolver el problema.
Al plantear la pregunta de la manera que la hice, le d a la gente algo con que entretenerse;
hice fcil y atractivo para ellos que se involucraran. Demostr respeto por la capacidad de
mis compaeros y les invit a consultarme tambin como compaero. Tambin demostr
respeto por el valor de su tiempo hacindoles saber los callejones sin salida con los que ya
me haba topado.
Despus de todo, cuando les d a todos las gracias y remarqu lo bien que haba funcionado
el proceso, un miembro de la lista de correo del ncleo de Linux hizo la observacin de que
crea que haba sido as no porque yo tuvera un "nombre" en esa lista, sino porque hice la
pregunta de la manera adecuada.
Nosotros los hackers somos de alguna manera una ruda meritocracia; estoy seguro de que
tena razn, y de que si me hubiese comportado como una esponja se me habran echado
todos encima o me habran ignorado sin importar quien fuese. Su sugerencia de que haba
escrito el completo incidente como una instruccin para otros condujo directamente a la
composicin de esta gua.
Para el software popular como Linux, hay al menos unos 10.000 usuarios por cada
desarrollador. Resulta imposible que una sola persona pueda atender llamadas de soporte
tcnico de cerca de 10.000 usuarios. Recuerda que aunque tengas que pagar por el soporte,
ests an pagando mucho menos que si tuvieses que comprar el software (y el soporte para
el software de cdigo cerrado es por lo general mucho ms caro y menos competente que el
soporte para el software de cdigo abierto).
Documentos de estndares
Los estndares, ya sean genricos del mundo UNIX o
particulares de GNU/Linux, nos permiten seguir unos criterios
bsicos, por los que nos guiamos en el momento de aprender o
sistemas de ficheros.
/tmp: ficheros temporales de las aplicaciones o del
propio sistema. Aunque son para la ejecucin temporal,
entre dos ejecuciones la aplicacin/servicio no puede
asumir que va a encontrar los anteriores ficheros.
/usr: diferentes elementos instalados en el sistema.
Algn software de sistema ms completo se instala aqu,
adems de complementos multimedia (iconos, imgenes,
sonidos, por ejemplo en /usr/share) y la documentacin
del sistema (/usr/share/doc). Tambin en /usr/local se
suele utilizar para instalar documentacin o elementos
complementarios.
/var: ficheros de registro de sesin o de estado (ficheros
de tipo log) y/o errores del propio sistema y de
diferentes servicios, tanto locales como de red. Por
ejemplo, ficheros de sesin en /var/log, contenido de los
mails en /var/spool/mail o trabajos de impresin en
/var/spool/lpd.
Herramientas de gestin de
paquetes
En cualquier distribucin, los paquetes son el elemento bsico para
tratar las tareas de instalacin de nuevo software, actualizacin del
existente o eliminacin del no utilizado.
Bsicamente, un paquete es un conjunto de ficheros
que forman una aplicacin o una unin de varias
aplicaciones relacionadas, formando un nico
fichero (denominado paquete), con un formato
propio y comprimido, que es el que se distribuye,
ya sea va CD, disquete o mediante acceso a
servicios de ftp o web.
El uso de paquetes facilita aadir o quitar software, al considerarlo
una unidad y no tener que trabajar con los ficheros individuales.
Paquetes TGZ
Los paquetes TGZ son quizs los de utilizacin ms antigua.
Las primeras distribuciones de GNU/Linux los utilizaban para
instalar el software, y todava los usan varias distribuciones
(por ejemplo, Slackware) y algunos UNIX comerciales.
Son una combinacin de ficheros unidos por el comando tar en
un nico fichero .tar, que luego ha sido comprimido por la
utilidad gzip, suele aparecer con la extensin .tgz o bien
mozilla-source-1.4.tar.gz
Consulta
Archivos
Opciones
RPM
rpm -ql
Resultados
Lista de los archivos que
contiene el paquete (pasado
como parmetro)
Requisitos
rpm -qR
Descripcin
yum install
<nombre>
yum update
<nombre>
yum remove
<nombre>
Eliminar paquete
Buscar ms ampliamente
yum provices
<file>
yum update
yum upgrade
2) Borrado de un paquete:
apt-get remove paquete
apt-get update
3) De qu paquetes depende:
apt-cache depends paquete
Otra herramienta o funcionalidad de apt interesante es aptshow-versions, que nos especifica qu paquetes pueden ser
actualizados (y por qu versiones, ved opcin -u).
Servicios en GNU/Linux
Una vez realizada una primera aproximacin a los sistemas
GNU/Linux, el siguiente paso es integrarlos en el entorno de trabajo
como sistemas de produccin. Segn el sistema actual que est en
uso, podemos plantear, o bien una migracin total a sistemas
GNU/Linux, o bien una coexistencia mediante servicios compatibles.
La migracin al entorno GNU/Linux puede hacerse
de forma progresiva, sustituyendo servicios
parcialmente, o bien sustituyendo todo por los
equivalentes GNU/Linux del antiguo sistema.
En los entornos distribuidos actuales, el paradigma ms presente es
el de cliente/servidor. Cualquier tarea en el sistema global est
gestionada por uno o ms servidores dedicados, accediendo las
aplicaciones o directamente los usuarios a los servicios prestados.
Respecto al ambiente de trabajo, ya sea desde el caso ms simple,
como el usuario individual, o bien a uno complejo, como un entorno
empresarial, en cada entorno se necesitar un conjunto de servicios
que tendremos que seleccionar, adaptando luego las mquinas
clientes y servidores, para que puedan acceder a stos o
proporcionar sus servicios.
Los servicios pueden englobar muchos aspectos diferentes. Suelen
estar presentes varios tipos, ya sea para compartir recursos o
informacin. Son habituales servidores de archivos, de impresin, de
web, de nombres, correo, etc.
El administrador, normalmente, seleccionar un conjunto de
servicios que debern estar presentes en el ambiente de trabajo,
dependiendo de las necesidades de los usuarios finales, y/o de la
organizacin, y deber configurar el soporte adecuado a la
infraestructura, en forma de servidores que soporten la carga de
trabajo esperada (tanto carga interna, como carga del exterior si la
hay).
Sistemas Informticos:
Ambientes
Servicios en GNU/Linux
GNU/Linux dispone de servidores adaptados para
cualquier ambiente de trabajo.
Las categoras de los servicios que hemos apuntado tienen
equivalentes en servicios que podemos proporcionar desde nuestros
sistemas GNU/Linux al resto de mquinas de la red (y de los que
tambin podremos actuar como cliente):
a) Aplicaciones: GNU/Linux puede ofrecer servicios de terminales
remotos, ya sea por conexin directa mediante interfaces serie de
terminales "tontos", que sirvan para visualizar o interactuar con las
aplicaciones. Otra posibilidad es la conexin remota de modo
textual, desde otra mquina, por medio de servicios TCP/IP como los
rlogin, telnet, o de forma segura con ssh. GNU/Linux proporciona
servidores para todos estos protocolos. En el caso de ejecutar
aplicaciones grficas, disponemos de soluciones mediante X Window
de forma remota. Cualquier cliente UNIX, Linux o Windows (u otros)
que dispongan de un cliente X Window puede visualizar la ejecucin
del entorno y sus aplicaciones. Asimismo, hay otras soluciones como
VNC para el mismo problema. En cuanto a las aplicaciones va web,
GNU/Linux dispone del servidor Apache, y cualquiera de los
mltiples sistemas de ejecucin web estn disponibles, ya sean
Servlets/JSP (con Tomcat), Perl, PHP, xml, webservices, etc., as
como servidores de aplicaciones web como Oracle/BEA WebLogic,
IBM Websphere, JBoss (libre), que tambin se ejecutan sobre
plataformas GNU/Linux.
b) Ficheros: pueden servirse ficheros de mltiples maneras, desde
proporcionar acceso a ellos por ftp como servirlos de forma
transparente a otras mquinas UNIX y GNU/Linux con NFS, o bien
actuar de cliente o servidor hacia mquinas Windows mediante
Samba/CIFS.
c) Base de datos: soporta una gran cantidad de bases de datos
cliente/servidor de tipo relacional, como MySQL y PostgreSQL, y
varias comerciales, como Oracle o IBM DB2, entre otras.
d) Impresin: puede servir impresoras locales o remotas, tanto a
sistemas UNIX con protocolos TCP/IP como a Windows mediante
Samba/CIFS.
e) Correo electrnico: ofrece tanto servicios para que los clientes
obtengan correo en sus mquinas (servidores POP3 o IMAP), como
agentes MTA (mail transfer agent) para recuperar y retransmitir
correo, como el servidor Sendmail (el estndar UNIX) u otros como
Exim o Postfix y, en el caso de envos externos, el servicio de SMTP.
f) Web: est disponible el servidor http Apache, ya sea en sus
versiones 1.3.x o las nuevas 2.0.x/2.2.x. Adems, podemos integrar
servidores de aplicaciones web, como Tomcat para servir
servlets/JSP o servidores de aplicaciones como JBoss.
g) Informacin de red: servicios como NIS, NIS+ o LDAP nos
permiten centralizar la informacin de las mquinas, usuarios y
recursos varios de nuestra red, facilitando la administracin y los
servicios a los usuarios, de manera que stos no dependan de su
situacin en la red. Si nuestra organizacin tiene cierta estructura
interna, estos servicios nos permiten modelarla (mediante
estructuras jerrquicas), dejando acceso a los recursos a quien los
necesita.
h) Servicios de nombres: servicios como DNS para los nombres
de las mquinas y su traduccin desde IP o a IP, por medio de, por
ejemplo, el servidor Bind (el DNS estndar UNIX).
i) Servicios de acceso remoto: ya sea para ejecutar aplicaciones
o para obtener informacin remota de las mquinas. Los servidores
podran ser los que hemos comentado para aplicaciones: X Window,
VNC, etc., y tambin los que permiten ejecutar algunos comandos
remotos sin interactividad, como rexec, rsh, ssh, etc.
j) Servicios de generacin de nombres: servicios como DHCP
permiten redes TCP/IP, una generacin dinmica (o esttica) de las
direcciones IP que se disponen en funcin de las mquinas que las
necesiten.
Tipologas de Uso
GNU/Linux ofrece, como sistema, caractersticas
vlidas para el uso desde el usuario personal hasta
el usuario de una infraestructura de media o gran
escala.
Desde la perspectiva de los usuarios de los sistemas GNU/Linux,
podramos diferenciar usuarios individuales, de media escala y de
organizacin amplia:
a) El usuario individual o usuario domstico: este tipo de
usuario dispone de una o varias mquinas en su hogar, que sern
compartidas o no. En general, en este ambiente, GNU/Linux se
usara para desarrollar un sistema de escritorio, con lo cual ser
importante la parte grfica: el escritorio de GNU/Linux. Tambin
est adquiriendo importancia, por el crecimiento de los contenidos
digitales (foto, video, msica), la utilizacin de GNU/Linux en un
ambiente domstico, como servidor de medios digitales, y/o servidor
de archivos, en forma o bien de servidores creados a medida, o de
productos comerciales tipo NAS (network attached storage) caseros
que proporcionan servidores Samba, NFS, FTP, impresin, backup y
streaming de video/audio.
Sistema de Ficheros
OpenCourseWare es un sitio web a travs del cual una Universidad, Centro de Formacin o
Instituciones Pblicas, ofrece sus materiales docentes a la comunidad de Internet:
profesores, estudiantes y autodidactas.
El documento completo fue tomado de la Universitat Oberta de Catalunya
(OpenCourseWare) del curso Administracin de Sistemas Linux.
Permisos
Dado que los sistemas *nix son multiusuario, necesitamos que
los archivos almacenados deban tener un serie de propiedades
que permitan leer, escribir y ejecutar (parmetros r,w,x read,
write, execute). Para ello Gnu/Linux puede trabajar con un
mtodo simplificado (llamado Access Control List reducidas) en
los que para cada elemento en el sistema de archivo se
consideran tres bits (que representan los atributos para rwx) y
se aplican para el dueo del elemento (owner), tres para el
grupo y tres para el resto de usuarios. Por lo cual, para cada
elemento (archivo, directorio, dispositivo, enlace, etc.) existen
9 bits adems de la identificacin a quien pertenece el
elemento (uid) y a qu grupo pertenece (gid). Cuando
hacemos ls -l tendremos para cada elemento una salida como:
-rwxr-xr-x 1 root root 4297 2008-01-18 06:09 mountnfs
Procesos
Como hemos dicho en la introduccin, los *nix son sistemas
operativos multitareas que ejecutan procesos e hilos (threads)
mediante una tcnica llamada multiprogramacin, que permite
ejecutar ms de un proceso/hilo a la vez en forma concurrente
y de forma ms eficiente que si lo ejecutramos en forma
secuencial, ya que se puede solapar la ejecucin de
entrada/salida de un proceso con la ejecucin en CPU de otro
proceso. Para identificar de manera inequvoca cada proceso, el
ncleo del sistema les asigna un nmero denominado PID
(process identification) necesario para administrar y referenciar
el proceso.
Para saber qu procesos se estn ejecutando, podemos utilizar
la orden ps. Otro comando interesante para mirar la ejecucin
interactiva de los procesos es top, que mostrar la carga y
estado de sistema en forma dinmica (hacer q -quit- para salir
del comando).
Adems de esto, podemos enviar unas seales a los procesos a
fin de informarles de algn evento, los podemos sacar de la
cola de ejecucin, eliminarlos, darles ms prioridad, etc. Saber
manipular correctamente todos estos aspectos tambin es muy
importante, ya que nos permitir utilizar nuestro ordenador de
manera ms eficiente. La orden kill nos permite enviar seales
a los procesos que nos interesen.
En general, todos los programas se disean para que puedan
recibir este tipo de seales (incluso los scripts pueden capturar
las seales). De este modo, segn el tipo de seal recibida
saben que deben hacer unas operaciones u otras (por ejemplo,
suspender la ejecucin cuando un usuario hace un Crtl-d). Para
ver los tipos de seales, consultar el man kill. killall es una
orden para hacer lo mismo, pero utiliza el nombre del proceso
rdenes Complementarias
Todas las rdenes disponen en Gnu/Linux (y en todo los *nix)
de un manual completo que indica todos los parmetros y
opciones (man orden) y se utiliza el comando less para
visualizarlas, es por ello que podemos ir adelante y atrs con
las teclas de "AvPg" y "RePg", buscar una palabra con el
carcter "/" seguido de la palabra ("n" nos sirve para buscar
las ocurrencias siguientes y "N", para las anteriores), "q" para
salir, etc. Los manuales del sistema se dividen en diferentes
secciones segn su naturaleza:
El Sistema de Login
Tanto en modo grfico como en modo texto, el
procedimiento de identificacin y entrada se
denomina login. Generalmente, el sistema
arrancar en modo grfico, pero podemos pasar a
modo texto seleccionando el tipo de sesin en el
panel de entrada o con Crtl-Alt-Backspace
(terminando la ejecucin del servidor grfico).
En modo texto se lanzan 5 terminales independientes, a las que se
puede acceder mediante Alt-F1, Alt-F2, etc., que permitir trabajar
simultneamente con diferentes cuentas al mismo tiempo. El
fi
# otros alias
alias ll='ls -l'
# habilita programmable completion features
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
Grupos y Usuarios
Open Course Ware es un sitio web a travs del cual una Universidad, Centro de Formacin
o Instituciones Pblicas, ofrece sus materiales docentes a la comunidad de Internet:
profesores, estudiantes y autodidactas.
El documento completo fue tomado de la Universitat Oberta de Catalunya
(OpenCourseWare) del curso Administracin de Sistemas Linux.
Grupos y Usuarios
Los sistemas Linux son multiusuario y multitarea. Por este motivo es
muy importante que el mismo sistema operativo incorpore mecanismos
para manipular y controlar correctamente a los usuarios: el sistema de
entrada e identificacin (login), los programas que puede ejecutar,
mecanismos de seguridad para proteger el hardware del ordenador,
proteccin para los ficheros de los usuarios, etc.
Para identificar a los usuarios delante del sistema operativo,
generalmente se utiliza una poltica de nombres estndar que suele ser
poner como login la primera inicial del nombre del usuario seguido de su
apellido y se debe recordar que se diferencian maysculas y minsculas
y, por tanto, abc es diferente de ABC.
Los sistemas *nix organizan toda esta informacin por usuarios y
grupos. Para entrar a trabajar interactivamente con el sistema, ste nos
pedir un login y una contrasea.
El login suele ser un nombre que identifica de manera inequvoca el
usuario y si bien existen otros mtodos de identificacin, por ejemplo,
mediante certificados digitales, es el mtodo ms habitual. Para validar
el login, se solicita una palabra que slo conoce el usuario y se llama
contrasea (password).
La contrasea debe ser una combinacin de letras, nmeros y
caracteres especiales y no debe estar formada por ninguna palabra de
diccionario o similares porque puede representar un problema de
seguridad importante.
El sistema de contraseas es de tipo unidireccional, lo cual significa que
nuestra contrasea no es almacenada como texto, sino que es cifrada y
guardada. Cuando entramos en el sistema y escribimos nuestra
contrasea, sta se cifra y se compara con la que hay almacenada.
vinculados
operativo.
otras
tareas
que
se
deben
hacer
en
el
Ejemplo
Por ejemplo, el usuario Debian-Exim es un usuario definido para las
funcionalidades del gestor de correo Exim que tiene ID de usuario (101)
y de grupo (105), pero que no se puede conectar interactivamente (tal
como lo indica el /bin/false de la definicin del usuario en el archivo
/etc/passwd).
Debian-exim:x:101:105::/var/spool/exim4:/bin/false.
Como ya hemos explicado, en todo sistema operativo hay un
superusuario (root) que tiene privilegios mximos para efectuar
cualquier operacin sobre el sistema.
Es necesario que este exista, puesto que ser quien se encargar de
toda la administracin y gestin de servidores, grupos, etc. Este usuario
no se debe utilizar para trabajar normalmente en el sistema.
Slo deberemos entrar como root cuando sea realmente necesario (en la
actualidad, la mayora de las distribuciones no permiten entrar como
root, sino entrar como un usuario normal y luego "elevarse" como root a
travs del comando su o ejecutar comandos a travs del comando
sudo) y utilizaremos otras cuentas o usuarios para el trabajo normal.
De este modo, nunca podremos daar el sistema con operaciones
errneas o con la prueba de programas que pueden ser maliciosos,
etc.
Toda la informacin de usuarios y grupos se encuentra en los archivos
siguientes:
Por
ejemplo:
Campo 9) reservado.
Cuando un usuario entra en el sistema, se le sita en su directorio home
y se ejecuta el intrprete de rdenes (shell) configurado en /etc/passwd
en la lnea correspondiente al usuario (campo 7). De este modo, ya
puede empezar a trabajar.