Download El término Linux estrictamente se refiere al núcleo

Document related concepts

Linux Mint wikipedia , lookup

Distribución Linux wikipedia , lookup

Chakra project wikipedia , lookup

Puppy Linux wikipedia , lookup

Kurumin Linux wikipedia , lookup

Transcript
El término Linux estrictamente se refiere al núcleo Linux, pero es más comúnmente utilizado para describir al sistema
operativo tipo Unix, que utiliza primordialmente filosofía y metodologías libres (también conocido como GNU/Linux) y que
está formado mediante la combinación del
Bueno, pues Linux es la denominación de un sistema operativo y el nombre de un núcleo. Su núcleo Linux con las
bibliotecas y herramientas del proyecto GNU y de muchos otros proyectos/grupos de software (libre o no libre).
El sistema de archivos de Linux
Generalidades:
El sistema de archivos es más o menos "la forma de escribir los datos en el disco duro". El sistema de archivos nativo de
Linux es el EXT2. Ahora proliferan otros sistemas de archivos con journalising (si se arranca sin haber cerrado el
sistema, no necesitan hacer un chequeo sino que recuperan automáticamente su último estado), los más conocidos son
EXT3, ReiserFS y XFS.
La estructura de directorios que sigue Linux es parecida a la de cualquier UNIX. No tenemos una "unidad" para cada
unidad física de disco o partición como en Windows, sino que todos los discos duros o de red se montan bajo un sistema
de directorios en árbol, y algunos de esos directorios enlazan con estas unidades físicas de disco. NOTA: Las barras en
Linux al igual que en cualquier UNIX son inclinadas hacia la derecha, como se puede ver más abajo (ese es el motivo de
que en internet sean inclinadas hacia la derecha ya que nació bajo UNIX y en Linux podremos aprovechar todas sus
ventajas).

a. /boot
b. / (root)
c. /home
d. swap
Todos ellos pueden colocarse juntos en una partición primaria extendida. Si en embargo, si tenemos en
nuestro equipo más de un sistema operativo instalado, es fundamental que coloquemos al punto de
montaje /boot en un partición diferente. De modo que, para poder instalar fedora, vamos a necesitar como
mínimo, entre una y dos particiones primarias libres (aunque lo más aconsejable, es que cada punto de
montaje ocupe una partición diferente, sin importar que sea primaria o extendida).
Si tenemos instalado Windows, ya tenemos ocupada una partición primaria con este sistema operativo, o sea
que nos queda espacio para realizar tres particiones más, o sea que para instalar fedora, inevitablemente
vamos a tener que colocar más de un punto de montaje en una misma partición. Como dijimos antes,
necesitamos genera una partición primaria extendida, y esto lo hacemos con el mismo DVD de instalación de
fedora
Descripción de los puntos de montaje
a) /boot: Acá van a ir copiándose todos los archivos necesarios para hacer arrancar los sistemas operativos
que tenemos instalados en nuestro equipo, cualquiera que estos sean. Es fundamental que esté colocado
sólo, en una partición primaria. El tamaño de la partición en la que vamos a colocar este punto de montaje
tiene que ser aproximadamente de 150 MB cada tres sistemas operativos instalados. El tipo de formato de
la partición en donde vamos a ponerlo, tiene que ser “ext3” (o también “ext4” a partir de fedora 12).
b) / (root): En este punto de montaje se irán copiando los archivos que hacen funcionar a fedora en su
totalidad. No es imprescindible que esté solo, en una partición independiente, pero hay que tener en cuenta
que con cada nueva instalación que hagamos de fedora, este punto de montaje se formatea, se sobrescribe y
se pierden todos los datos anteriores. Pensando en un equipo de uso personal, el tamaño de la partición en
donde colocamos este punto de montaje no debe ser inferior a los 9 GiB, y tampoco es necesario que supere
los 20 GiB. El tipo de formato que pide es “ext3” (o “ext4” a partir de fedora 11).
c) /home: En este punto de montaje se van a ir guardando todos los archivos personales del usuario de fedora,
más el espacio libre que quiera tener en su disco rígido. Por archivos personales no sólo tenemos que
entender aquellos que utilizamos cotidianamente para nuestro trabajo, o estudio, o pasatiempos (textos, pelis,
fotos, música, etc.), sino que tenemos que incluir archivos de configuración, o de estilo, o de apariencia, o
nuestras preferencias a la hora de utilizar tal o cual programa. Por ejemplo, todos los archivos que permiten
que veamos nuestro escritorio de determinada manera: cuál es la configuración de nuestro protector de
pantalla o la imagen de fondo; o cuántos y cuáles son los plugins que tenemos instalados en nuestro
navegador, o quiénes son nuestros contactos en los mensajeros, o los datos de nuestra agenda, o los filtros en
nuestro programa de correo electrónico, o las plantillas en nuestros programas de diseño, etc. Es muy útil que
tengamos este punto de montaje sólo, en una partición independiente. De esta manera, llegado el caso
de una nueva instalación, no es necesario formatearlo y conservaremos todos nuestros archivos y todas
nuestras configuraciones intactas. En el caso contrario, cada vez que instalamos una nueva versión,
tenemos que crear nuevamente este punto de montaje, formatearlo, sobrescribirlo, perder todos sus datos, y
reconfigurar nuevamente todo lo que ya teníamos configurado. El tamaño de la partición en donde alojaremos
este punto de montaje lo conoce cada uno de quienes estén haciendo la instalación en función de sus propias
necesidades. Y el formato que pide, también es “ext3” (o “ext4” a partir de fedora 11).
d) swap: Este punto de montaje no necesita formato y se va a utilizar fundamentalmente para dos cosas: (i)
llegado el hipotético caso que nuestro equipo se quede sin memoria RAM que utilizar, el sistema utilizará el
espacio asignado en swap para “descongestionar” las capacidades saturadas de la memoria RAM. (ii) Si
usamos las funciones “suspender” o “hibernar” de nuestro equipo en lugar de apagarlo, en swap se va a volcar
toda la información de nuestra sesión activa, de modo tal que nuestro equipo se “despierte” instantáneamente
cuando lo indiquemos. Hay una fórmula muy conocida acerca del espacio de esta partición y es que debe tener
“el doble que nuestra memoria RAM”. Esta fórmula es de antigua data, y hoy en día, debido a la cantidad de
memoria RAM de la que podemos disponer, es un tanto exagerada. A la partición que utilicemos para colocar
este punto de montaje, no es necesario destinarle más que 4 GiB de espacio.
Distribuciones de Linux
Linux es un sistema de libre distribución por lo que podéis encontrar todos los ficheros y
programas necesarios para su funcionamiento en multitud de servidores conectados a Internet.
La tarea de reunir todos los ficheros y programas necesarios, así como instalarlos en tu
sistema y configurarlo, puede ser una tarea bastante complicada y no apta para muchos. Por esto mismo, nacieron las
llamadas distribuciones de Linux, empresas y organizaciones que se dedican a hacer el trabajo "sucio" para nuestro
beneficio y comodidad.
Una distribución no es otra cosa, que una recopilación de programas y ficheros, organizados y preparados para su
instalación. Estas distribuciones se pueden obtener a través de Internet, o comprando los CDs de las mismas, los cuales
contendrán todo lo necesario para instalar un sistema Linux bastante completo y en la mayoría de los casos un programa
de instalación que nos ayudara en la tarea de una primera instalación. Casi todos los principales distribuidores de Linux,
ofrecen la posibilidad de bajarse sus distribuciones, vía FTP (sin cargo alguno).
Existen muchas y variadas distribuciones creadas por diferentes empresas y organizaciones a unos precios bastantes
asequibles (si se compran los CDs, en vez de bajársela vía FTP), las cuales deberíais poder encontrar en tiendas de
informática ó librerías. En el peor de los casos siempre podéis encargarlas directamente por Internet a las empresas y
organizaciones que las crean. A veces, las revistas de informática sacan una edición bastante aceptable de alguna
distribución.
A continuación tenéis una gráfica con todas las distribuciones a lo largo de los últimos años. Este gráfico es grande así
que pulsar en el mismo para ver la versión en tamaño original.
UBUNTU
Distribución basada en Debian, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. Muy
popular y con mucho soporte en la comunidad. El entorno de escritorio por defecto es GNOME.

Pagina Web de Ubuntu
REDHAT ENTERPRISE
Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los usuarios por
parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte. Enfocada
a empresas.

Pagina Web de Red Hat
FEDORA
Esta es una distribución patrocinada por RedHat y soportada por la comunidad. Fácil de instalar y
buena calidad.

Pagina Web de Fedora
DEBIAN
Otra distribución con muy buena calidad. El proceso de instalación es quizás un poco mas
complicado, pero sin mayores problemas. Gran estabilidad antes que últimos avances.

Pagina Web de Debian
OpenSuSE
Otra de las grandes. Fácil de instalar. Versión libre de la distribución comercial SuSE.

Pagina Web de OpenSuSE
SuSE LINUX ENTERPRISE
Otra de las grandes. Muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la
distribuye, Novell. Es necesario el pago de una licencia de soporte. Enfocada a empresas.

Pagina Web de SuSE Linux Enterprise
SLACKWARE
Esta distribución es de las primeras que existió. Tuvo un periodo en el cual no se actualizo muy a menudo,
pero eso es historia. Es raro encontrar usuarios de los que empezaron en el mundo Linux hace tiempo, que
no hayan tenido esta distribución instalada en su ordenador en algún momento.

Pagina Web de Slackware
GENTOO
Esta distribución es una de las únicas que incorporaron un concepto totalmente nuevo en Linux. Es una
sistema inspirado en BSD-ports. Podéis compilar/optimizar vuestro sistema completamente desde cero. No es
recomendable adentrarse en esta distribución sin una buena conexión a internet, un ordenador
medianamente potente (si queréis terminar de compilar en un tiempo prudencial) y cierta experiencia en
sistemas Unix.

Pagina Web de Gentoo
KUBUNTU
Distribución basada en Ubuntu, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. La
gran diferencia con Ubuntu es que el entorno de escritorio por defecto es KDE.

Pagina Web de Kubuntu
MANDRIVA
Esta distribución fue creada en 1998 con el objetivo de acercar el uso de Linux a todos los usuarios, en un
principio se llamo Mandrake Linux. Facilidad de uso para todos los usuarios
VERSION Y DISTRIBUCION
Las versiones de Linux son las modificaciones periódicas al kernel, esto es al sistema raíz de Linux, son modificaciones
que hacen el equipo de programadores principal de Linux para mejorar el kernel.
Las distribuciones son punto y aparte, estos son los tipos de instalación, interfaz gráfica, etc. de cada fabricante. Hay
también diferencia en interfaz gráfica con cada fabricante, por ejemplo, Ubuntu y Kubuntu, lo que varía es la interfaz
gráfica, Ubuntu es con GUI de Gnome y Kubuntu es con GUI de KDE.
Hay distribuciones de Linux que son con costo como Mandriva, pero lo que se cobra es el soporte.
GNU
En lo relativo a GNU, decir que es un proyecto iniciado por Richard Stallman, con el objetivo de crear un sistema
operativo completo libre: el sistema GNU . El 27 de septiembre de 1983 se anunció públicamente el proyecto por primera
vez en el grupo de noticias net.unix-wizards. Al anuncio original, siguieron otros ensayos escritos por Richard Stallman
como el “Manifiesto GNU”, que establecieron sus motivaciones para realizar el proyecto GNU, entre las que destaca
“volver al espíritu de cooperación que prevaleció en los tiempos iniciales de la comunidad de usuarios de computadoras”.
GNU es un acrónimo recursivo que significa “GNU No es Unix”.
Por tanto, el sistema operativo que utiliza el kernel Linux, en conjunto con las aplicaciones de sistema creadas por el
proyecto GNU es lo que se conoce como GNU/Linux. A pesar de ello, comúnmente este sistema operativo es
denominado como Linux, aunque esta denominación no es correcta.
-Un poco de historia…
Como ya se ha dicho, la historia de Linux está fuertemente vinculada a la del proyecto GNU. El proyecto GNU, iniciado
en 1983, tiene como objetivo el desarrollo de un sistema Unix completo compuesto enteramente de software libre. Hacia
1991, cuando la primera versión del núcleo Linux fue liberada, el proyecto GNU había producido varios de los
componentes del sistema, incluyendo un intérprete de comandos, una biblioteca C y un compilador.
El proyecto GNU aún no contaba con el núcleo que definiría un sistema operativo. Sin embargo, el núcleo creado por
LinusTorvalds, quien se encontraba por entonces estudiando en la Universidad de Helsinki, llenó el hueco final que el
sistema operativo GNU exigía. Consecuentemente, miles de programadores voluntarios alrededor del mundo han
participado en el proyecto, mejorándolo continuamente. Torvalds y otros desarrolladores de los primeros días de Linux
adaptaron los componentes de GNU para trabajar con el núcleo de Linux, creando un sistema operativo completamente
funcional.
Un gestor de arranque es un programa que administra el arranque del sistema operativo.
En el caso de tener en tu ordenador más de un sistema operativo como Windows o Linux, el gestor lo que hace es
permitir al usuario elegir entre un sistema u otro.
Los gestores de arranque se instalan en una parte del disco duro llamada MBR. Esta zona, es conocida como”master
boot record” o sector cero del disco. Está exclusivamente diseñada para almacenar la información del arranque de tu
PC.
En un ordenador en el que solo hay un sistema operativo, el programa de gestión no aparece en pantalla (en la mayoría
de los casos), aunque si que se ejecuta, ya que si instalamos otro sistema operativo en una nueva partición, el gestor de
arranque nos dará la opción de elegir entre uno u otro.
En el caso de las computadoras con Linux, el gestor de arranque es el llamado LILO o GRUB. Aunque existen otros
muchos otros como el GAG (Gestor de arranque Grafico) que permite cargar hasta un máximo de 16 sistemas operativos
diferentes. Una de las ventajas de este último es su fácil e intuitiva instalación y su interfaz gráfica.
Espacio de intercambio
En informática, el espacio de intercambio es una zona del disco (un fichero o partición) que se usa para guardar las
imágenes de los procesos que no han de mantenerse en memoria física. A este espacio se le suele llamar swap, del
inglés "intercambiar”
La mayoría de los sistemas operativos modernos poseen un mecanismo llamado memoria virtual, que permite hacer
creer a los programas que tienen más memoria que la disponible realmente; por ejemplo, 4 Gb en un ordenador de 32
bits. Como en realidad no se tiene físicamente toda esa memoria, algunos procesos no podrán ser ubicados en la
memoria RAM.
En este caso es cuando es útil el espacio de intercambio: el sistema operativo puede buscar un proceso poco activo, y
moverlo al área de intercambio (el disco duro) y de esa forma liberar la memoria principal para cargar otros procesos.
Mientras no haga falta, el proceso extraído de memoria puede quedarse en el disco, ya que ahí no utiliza memoria física.
Cuando sea necesario, el sistema vuelve a hacer un intercambio, pasándolo del disco a memoria RAM. Es un proceso
lento (comparado con usar sólo la memoria RAM), pero permite dar la impresión de que hay más memoria disponible.
En realidad, puede ser que no toda la imagen del proceso se lleve al disco. De esta forma, se mantienen algunas partes
en memoria principal, mientras que otras permanecen en el almacenamiento secundario.
Si los algoritmos utilizados en el intercambio de páginas están mal diseñados o hay poca memoria disponible, se puede
dar un problema conocido como hiperpaginación, o en inglés thrashing. Los síntomas son un atasco y sobrecarga en el
sistema, y la causa es que los procesos continuamente están siendo pasados de memoria física a área de intercambio
(porque hace falta memoria para correr otro proceso) y luego otra vez a memoria (porque han de ejecutarse).
Que es el kernel/núcleo?
El kerneló núcleo de Linux se puede definir como el corazón de este sistema operativo. Es el encargado de que el
software y el hardware de tu ordenador puedan trabajar juntos.
Las funciones más importantes del mismo, aunque no las únicas, son:

Administración de la memoria para todos los programas y procesos en ejecución.

Administración del tiempo de procesador que los programas y procesos en ejecucion utilizan.

Es el encargado de que podamos acceder a los periféricos/elementos de nuestro
Introducción a la Shell
El intérprete de comandos es la interfaz entre el usuario y el sistema operativo. Por esta razón, se le da el nombre inglés
"Shell", que significa "caparazón".
Por lo tanto, la Shell actúa como un intermediario entre el sistema operativo y el usuario gracias a líneas de comando
que este último introduce. Su función es la de leer la línea de comandos, interpretar su significado, llevar a cabo el
comando y después arrojar el resultado por medio de las salidas.
La Shell es un archivo ejecutable que debe interpretar los comandos, transmitirlos al sistema y arrojar el resultado.
Existen varios shells. La más común es sh (llamada "Bourne shell"), bash ("Bourne again shell"), csh ("C Shell"), Tcsh
("Tenex C shell"), ksh ("Korn shell") y zsh ("Zero shell"). Generalmente, sus nombres coinciden con el nombre del
ejecutable.
Cada usuario tiene una Shell predeterminada, la cual se activará cuando se abra un indicador del comando. La Shell
predeterminada se especifica en el archivo de configuración /etc/passwd en el último campo de la línea que corresponde
al usuario. Es posible cambiar de Shell durante una sesión. Para esto, sólo debe ejecutar el archivo ejecutable
correspondiente, por ejemplo:
/bin/bash
Indicador del sistema
La shell se inicia al leer su configuración completa (en un archivo del directorio /etc/) y después al leer la configuración
propia del usuario (en un archivo oculto cuyo nombre comienza con un punto y que se ubica en el directorio básico del
usuario, es decir /home/user_name/.configuration_file). A continuación, aparece el siguiente indicador (prompt en
inglés):
equipo:/directorio/actual$
De manera predeterminada, para la mayoría de las shells, el indicador consiste en el nombre del equipo, seguido de dos
puntos (:), el directorio actual y después un carácter que indica el tipo de usuario conectado:


"$" especifica un usuario normal
"#" especifica el administrador, llamado "root"
KDE:



KDE es un proyecto de software libre para la creación de un entorno de escritorio e infraestructura de
desarrollo para diversos sistemas operativos como GNU/Linux, Mac OS X, Windows, etc.
De acuerdo con su página web, «KDE es un entorno de escritorio contemporáneo para estaciones de trabajo
Unix. KDE llena la necesidad de un escritorio amigable para estaciones de trabajo Unix, similar a los escritorios
de Mac OS X o Windows».[4]
Las aplicaciones KDE están traducidas a aproximadamente 75 idiomas[3] y están construidas con los principios
de facilidad de uso y de accesibilidad moderna en mente. Las aplicaciones de KDE 4 funcionan de forma
completamente nativa en GNU/Linux, BSD, Solaris, Windows y Mac OS X.







La «K», originariamente, representaba la palabra «Kool»,[5] pero su significado fue abandonado más tarde.
La mascota del proyecto es un pequeño dragón llamado Konqi.
KDE se basa en el principio de la personalización; todos los componentes de KDE pueden ser configurados en
mayor o menor medida por el usuario. Las opciones más comunes son accesibles en su mayoría desde menús
y diálogos de configuración. Los usuarios avanzados pueden optar por editar los archivos de configuración
manualmente, obteniendo en algunos casos un mayor control sobre el comportamiento del sistema.
La apariencia de KDE es configurable en varios niveles. Tanto el gestor de ventanas (llamado KWin) como los
controles (botones, menús, etc.) utilizan "estilos" intercambiables, que definen cada aspecto de su apariencia.
Es por este motivo que KDE no mantiene una única apariencia entre versiones, sino que se opta por aquella
más ampliamente aceptada en el momento de cada nuevo lanzamiento.
La intención del proyecto KDE es la de crear un entorno de escritorio que no se comporte de un modo
predefinido, sino que permita al usuario adecuar el sistema a su gusto y comodidad. Esto no impide que KDE
resulte fácil de usar para nuevos usuarios, detalle al que no se resta importancia.
GNOME es un entorno de escritorio e infraestructura de desarrollo para sistemas operativos Unix y derivados
Unix como GNU/Linux, BSD o Solaris; compuesto enteramente de software libre.
El proyecto fue iniciado por los programadores mexicanos Miguel de Icaza y Federico Mena y forma parte
oficial del proyecto GNU. Nació como una alternativa a KDE bajo el nombre de GNU Network Object Model
Environment. Actualmente se encuentra disponible en 48 idiomas, entre ellos el español.
El Proyecto GNOME, según sus creadores, provee un gestor de ventanas «intuitivo y atractivo» y una plataforma de
desarrollo para crear aplicaciones que se integran con el escritorio. El Proyecto pone un gran énfasis en la simplicidad,
usabilidad y eficiencia. Otros objetivos del proyecto son:

La libertad para crear un entorno de escritorio que siempre tendrá el código fuente disponible para reutilizarse
bajo una licencia de software libre.

El aseguramiento de la accesibilidad, de modo que pueda ser utilizado por cualquiera, sin importar sus
conocimientos técnicos y discapacidad física.

Hacer que esté disponible en muchos idiomas. En el momento está siendo traducido a más de 100 idiomas.

Un ciclo regular de liberaciones y una estructura de comunidad disciplinada.
OTROS GESTORES:
(Sawfish, Window Maker, Blackbox, Fluxbox, FVWM, IceWM, JWM, Oroborus, QVWM, Twm, WindowLab, Awesome,
Dwm, Evilwm, Ratpoisonz, StumpWM, Wmii, XMonad, Xwem).
K Desktop Environment es un proyecto iniciado en octubre de 1996 por el programador alemán Matthias Ettrich,
multilingüe y totalmente personalizable, todos sus componentes se pueden configurar en mayor o menor medida por el
usuario. Escrito en C++ y Qt.
GNU Network Object Model Environment se empezó a desarrollar en 1997 por Miguel de Icaza, pero la primera
versión se lanzó en marzo de 1999, se caracteriza por su simplicidad, usabilidad y eficiencia. Multilingüe, intuitivo y
atractivo está escrito en C y GTK+, las opciones de configuración se gestionan desde el Centro de control GNOME.
X Free Choresterol Environment es un entorno de escritorio multilingüe y ligero, que se configura íntegramente con el
ratón, diseñado para la productividad, las aplicaciones se cargan y se ejecutan rápidamente, mientras conserva recursos
de sistema. Su creador es Olivier Fourdan, está basado en la biblioteca GTK+ 2.x y utiliza el gestor de ventanas Xfwm.
Lightweight X11 Desktop Environment es otro entorno de escritorio ligero y rápido, mantiene una baja utilización de
recursos, usando componentes independientes al entorno de escritorio. Multilingüe, usa Openbox como gestor de
ventanas, está escrito en C y GTK+, PTK.
Xfast incorpora una X y un gestor de ventanas dentro de un mismo proyecto, muy ligero, portátil y funciona en muchos
dispositivos (embebido, dispositivos portátiles…). Debido a la característica del proyecto la comunicación entre el
servidor y la capa de escritorio se puede hacerse de la forma clásica (a través de TCP / IP) o a través de la memoria
compartida.
Enlightenment, también conocido como “E“, ligero, muy configurable y atractivo visualmente con el tiempo se ha
convertido de gestor de ventanas a entorno de escritorio. Desarrollado principalmente por Carsten “Rasterman” Haitzler,
es muy personalizable y destaca
ROX Desktop surgió a partir del sistema de ficheros ROX-Filer file manager. Usa GTK+ y destaca por su sistema de
actualización e instalación a través de URLs. Utiliza la técnica de arrastrar y soltar para mover los datos entre las
aplicaciones.
Equinox Desktop Environment (EDE) es un entrono de escritorio sencillo, rápido y portable. Desarrollado por Sanel
Zukan y Vedran Ljubovic. Ideal para ejecutar en equipos muy antiguos y con pocos recursos.
Basado en el gestor de ventanas FVWM. Utiliza herramientas GUI para editar la apariencia de las ventanas, en lugar de
la utilización de la edición de un archivo de texto. FVWM-Cristal hace uso de la propiedad de semi-transparencia. Casi
todo lo que hay en el escritorio por defecto es semi-transparente. Posee un alto nivel de configuración del entorno de
escritorio a través de scripts de Python.
Étoilé es un proyecto flexible, modular y ligero que ofrece al usuario crear su propio entorno de trabajo o combinación de
aplicaciones y servicios. Trabaja con un sistema de clasificación de etiquetas a los objetos, en lugar de depender de las
carpetas, muy útil para su uso en dispositivos portátiles como PDAs. Gracias a este sistema se puede compartir datos
entre las tareas / documentos de una manera rápida y sencilla.
Partición /var
El sistema Conectiva Linux irá crear diversos archivos de históricos y mensajes en /var/log. Normalmente residen en el
directorio /var/spool los archivos en colas de impresión. Solamente hay dos tipos de datos grabados en /var. A menos
que sea configurado de otra forma, /var hará parte del sistema de archivos raíz, y normalmente no tendrá mucho espacio
disponible. Si puedes prever una gran actividad de impresión, o actividad de registros de actividades del sistema, se
debe considerar la posibilidad de crear una partición /var. En general solamente sistemas servidores y multiusuarios
harán uso efectivo de un sistema de archivos /var por separado.
Partición Raíz3.5
Una partición root o raíz, será montada como / (directorio inicial) cuando Conectiva Linux inicia, y contiene los ítems
necesarios al arranque del sistema y archivos de configuración. Un tamaño entre 50 a 100 Mb en media es suficiente
para esta partición.
Partición /usr
Esta partición contendrá la mayor parte de los softwares que Conectiva Linux pone a disposición. Debe tener entre 300 a
700 Mb, dependiendo de cuantos paquetes se pretenda instalar. Si es posible, intente ser generoso con la partición /usr.
Cualquier instalación vía RPM intentará en general utilizar más espacio de esta partición que de cualquier otra.
Partición /home
Esta partición contiene los directorios personales de los usuarios. Su tamaño depende principalmente de cuantos
usuarios utilizarán el sistema y del volumen de datos que almacenen.
Partición /boot
Mientras muchas particiones mencionadas aquí, solamente se justifican en grandes sistemas, con mucha actividad, esta
partición puede ser útil también en pequeños sistemas, donde el espacio libre esté limitado. En la sección
Limitaciones del BIOS, hablamos de como las limitaciones impuestas por BIOS padrones afectan el cargador del sistema
LILO. Todos los archivos que LILO necesita acceder (en tiempo de arranque) están en el directorio /boot. Una vez que
los archivos (incluyendo el kernel del Linux) tienen el tamaño de 1 Mb aproximadamente, y haya dificultades en encontrar
una área de 100 Mb para la partición raíz en el área deseada, puede ser más simple crear una partición con 5 a 10 Mb
denominada /boot. Se debe aún, crear una partición raíz, pero esta puede estar ahora localizada en cualquier parte del
sistema, pues las restricciones del BIOS se aplican solamente al contenido de /boot.
Partición /tmp
Destinada al almacenaje de archivos temporales. Bastante indicada para sistemas con muchos usuarios o servidores de
red. La razón de su creación reside en la posibilidad de los diversos usuarios agotaren el espacio en disco de la partición
raíz ( / ), donde queda localizado el directorio /tmp. No es necesaria en sistemas monousuarios o estaciones de trabajo.
Ext2
Ext2 (second extended filesystem o "segundo sistema de archivos extendido") es un sistema de archivos para el kernel
Linux. Fue diseñado originalmente por Rémy Card. La principal desventaja de ext2 es que no implementa el registro por
diario (en inglés Journaling) que sí implementa su sucesor ext3, el cual es totalmente compatible.
ext2 fue el sistema de ficheros por defecto de las distribuciones de Linux Red Hat Linux, Fedora Core y Debian hasta ser
reemplazado recientemente por su sucesor ext3.
El sistema de ficheros tiene un tipo de tabla FAT de tamaño fijo, donde se almacenan los i-nodos. Los i-nodos son una
versión muy mejorada de FAT, donde un puntero i-nodo almacena información del archivo (ruta o path, tamaño,
ubicación física). En cuanto a la ubicación, es una referencia a un sector del disco donde están todos y cada una de las
referencias a los bloques del archivo fragmentado. Estos bloques son de tamaño especificable cuando se crea el sistema
de archivos, desde los 512 bytes hasta los 4 Kb, lo cual asegura un buen aprovechamiento del espacio libre con archivos
pequeños.
Los límites son un máximo de 2 TB de archivo, y de 4 TB de partición.
Ext3
Ext3 (third extended filesystem o "tercer sistema de archivos extendido") es un sistema de archivos con registro por
diario (journaling). Es el sistema de archivo más usado en distribuciones Linux, aunque en la actualidad está siendo
remplazado por su sucesor, ext4.
La principal diferencia con ext2 es el registro por diario. Un sistema de archivos ext3 puede ser montado y usado como
un sistema de archivos ext2. Otra diferencia importante es que ext3 utiliza un árbol binario balanceado (árbol AVL) e
incorpora el asignador de bloques de disco Orlov.
Ext4
ext4 (fourth extended filesystem o «cuarto sistema de archivos extendido») es un sistema de archivos con registro por
diario (en inglés Journaling), anunciado el 10 de octubre de 2006 por Andrew Morton, como una mejora compatible de
ext3. El 25 de diciembre de 2008 se publicó el kernel Linux 2.6.28, que elimina ya la etiqueta de "experimental" de código
de ext4.
Las principales mejoras son:




Soporte de volúmenes de hasta 1024 PiB.
Soporte añadido de extent.
Menor uso del CPU.
Mejoras en la velocidad de lectura y escritura.
root
En sistemas operativos del tipo Unix, root es el nombre convencional de la cuenta de usuario que posee todos los
derechos en todos los modos (mono o multi usuario). Root es también llamado superusuario. Normalmente esta es la
cuenta de administrador. El usuario root puede hacer muchas cosas que un usuario común no puede, tales como
cambiar el dueño o permisos de archivos y enlazar a puertos de numeración pequeña. No es recomendable utilizar el
usuario root para una simple sesión de uso habitual, ya que pone en riesgo el sistema al garantizar acceso privilegiado a
cada programa en ejecución. Es preferible utilizar una cuenta de usuario normal y utilizar el comando su para acceder a
los privilegios de root de ser necesario.
La separación de privilegios administrativos de aquellos del usuario normal también hacen más resistente contra virus y
otros tipos de software malicioso a un sistema operativo. La falta de esta característica en DOS y versiones tempranas
de Microsoft Windows han sido citadas como una de las principales causas por las cuales estos sistemas son más
inseguros.
Defectos de software los cuales permiten a un usuario "convertirse" en root son un problema de seguridad mayor y la
reparación de tal software es una parte importante del mantenimiento de su seguridad. Un método habitual por el cual es
posible acceder a privilegios de root es mediante un desbordamiento de pila en un programa en ejecución con privilegios
de root.
En el sistema operativo BeOS el superusuario es llamado baron, mientras que en algunas variantes de Unix es llamado
avatar.
En Microsoft Windows NT y sistemas operativos sucesivos de la línea de comandos, el superusuario es llamado
Administrador.
El superusuario o root es quien tiene UID=0.
Para Linux todo es un archivo, incluyendo dispositivos como discos duros, cdroms, disquetes, unidades de cinta,
memorias usb, etc., así como dispositivos de comunicación como puertos seriales y paralelos, módems, etc., incluso
también las consolas o terminales son dispositivos asociados a un archivo. Estos dispositivos son enlazados (linked) a
un dispositivo de archivo, es decir un dispositivo físico es representado o asociado a un archivo. Estos archivos se
encuentran bajo el directorio /dev.
Los dispositivos en Linux son identificados con un designador de dos o tres letras, además si el dispositivo admite
perticiones se utiliza una progresión numérica o alfábetica para identificar la partición. En la siguiente tabla se indica el
designador de tipo dispositivo y su descripción.
Tipo
Dispositivo
hd
Discos duros IDE y dispositivos IDE como cdroms
sd
Discos duros SCSI
scd
Cdrom SCSI
st
Unidades de cinta SCSI
ht
Unidades de cinta IDE
fd
Unidades de disquetes
lp
Puertos paralelos
tty
Terminales o consolas
pty
Terminales remotas o de red, incluyendo las abiertas en Window X
ttyS
Puertos seriales
cua
Puertos de comunicación
eth
Tarjetas o interfaces de red Ethernet
Los dispositivos que admiten particiones generalmente estas se designan con letras, asi por ejemplo las unidades IDE
que son las mas comunes en cualquier PC actual su designación sería la siguiente:
Canal IDE
Dispositivo Linux
Equivalente Windows
Primario Maestro
/dev/hda
C:
Primario Esclavo
/dev/hdb
D:
Secundario Maestro
/dev/hdc
E:
Secundario Esclavo
/dev/hdd
F:
El equivalente Windows es suponiendo una sola partición en el disco, ahora bien en Linux, por ejemplo, el dispositivo
/dev/hda es en si el disco duro completo, pero ya particionado se numera secuencialmente a partir de 1 cada partición,
entonces realmente nuestro sistema de archivos suponiendo una sola partición, estaría en /dev/hda1. En los dispositivos
se admiten hasta 4 particiones primarias y una de ellas puede ser extendida, dentro de una extendida puede haber hasta
16 particiones lógicas, en Linux las particiones lógicas comienzan a partir de 5, esto para diferenciar claramente de la 1 a
la 4 como particiones primarias.
Los dispositivos que no admiten particiones en sus sistemas de archivos tales como disquetes o cdroms, se numeran
secuencialmente a partir de 0 o simplemente se omite. Ejemplos:



Disquete equivalente a: en Windows, en Linux: /dev/fd0
Disquete equivalente b: en Windows, en Linux: /dev/fd1
Unidad de cdrom en secundario maestro: /dev/hdc
Es muy común encontrar el dispositivo cdrom de la siguiente manera:

/dev/cdrom
Esto es realmente un enlace suave (ln -s /dev/hdc /dev/cdrom) a su verdadero archivo de dispositivo que podría ser
/dev/hdc.
En cuanto a puertos seriales, sus equivalentes con Windows serían los siguientes:




Windows COM1, Linux /dev/ttyS0
Windows COM2, Linux /dev/ttyS1
Windows COM3, Linux /dev/ttyS2
Windows COM4, Linux /dev/ttyS3
Si el modem esta conectado, por ejemplo, al puerto serial ttyS0, también es común encontrar o uno mismo crear un
enlace simbólico a dicho puerto, llamado /dev/modem. (ln -s /dev/ttyS0 /dev/modem)
Puertos paralelos se designan de la siguiente manera, incluyendo el equivalente Windows:


Primer puerto paralelo, Windows LPT1, Linux /dev/lp0
Segundo puerto paralelo, Windows LPT2, Linux /dev/lp1
Recuerda entonces que los dispositivos se numeran con su identificador de dispositivo y secuencialmente a partir de 0 y
hasta donde la arquitectura de hardware lo limite.
ANTIVIRUS:
90534
NOD32 Antivirus para Linux 4.0.26 Beta
67236
Avira AntiVir Personal 3.1.3.4-1 for Unix/Linux
81681
AVG Free para Linux 8.5.287
40979
Bit Defender Linux Edition 7.6-3
38753
Sophos Anti-Virus 3.8.9
57720
F-Prot Antivirus for Linux Workstations 6.0.1
11695
AntiViral Toolkit Pro for Linux Beta
avast! Antivirus y
Anti-Spyware para Linux
avast! Linux Home Edition Gratuito
Norton Antivirus 2009 (XP/Vista/Linux)
PANDA (XP/Vista/Linux/MAC)
Kaspersky (XP/Vista/Linux)
WINE:
Wine es el acrónimo de Wine Is Not an Emulator, y es que Wine no es un emulador ni una máquina virtual, pero te
permite usar programas y juegos de Windows en Linux sin instalar el sistema de Microsoft.
Wine incluye las API y librerías necesarias para que una aplicación nativa de Windows se entienda con Linux y pueda
funcionar sin problemas.
Fácil de instalar y de configurar, Wine te ahorrará el tener que instalar Windows en otra partición o tener que usar
VirtualBox o VMware.
Wine generalmente se configura ejecutando "Aplicaciones--> Wine --> Configura Wine" o con el comando "winecfg".
Esta pantalla es un poco engorrosa y poco intuitiva.
Además no se integra para nada en el escritorio de Ubuntu, la pantalla es Windows 100%, o no?
Para ello ha salido Vineyard esta aplicación nos facilitará la configuración de Wine en Ubuntu de forma más intuitiva y se
integra mucho mejor en la estética de Ubuntu.
Para instalarlo hay que agregar el siguiente repositorio PPA en Ubuntu Lucid (10.04):
$ sudo add-apt-repository ppa:cybolic/ppa
Pero si lo quieres instalarlo en Karmik (como es mi caso), añade estas líneas al final del fichero "/etc/apt/sources.list"
# Vineyard
deb http://ppa.launchpad.net/cybolic/ppa/ubuntu lucid main
deb-src http://ppa.launchpad.net/cybolic/ppa/ubuntu lucid main
Y ya sólo queda actualizar los repositorios e instalar:
$ sudo apt-get update
$ sudo apt-get install vineyard
Una vez instalado para acceder a Vineyard sólo hemos de ir a "Sistema-->Preferencias-->Wine Applications"
RPM
El RPM, acrónimo de Red Hat Package Manager, es un potente programa en modo línea de comandos que nos permite
instalar, desinstalar, verificar, preguntar y actualizar paquetes de software para Red Hat y distribuciones que usen esta
clase de instaladores.
TAR
Introducción
Los archivos TAR no son archivos comprimidos sino empaquetados.
TAR es un empaquetador, es algo más parecido a un compresor como “arj” ó “zip” pero sin compresión.
Su función es la de incluir todos los ficheros juntos en el mismo archivo, conservando las estructuras de directorios y
permisos de los mismos.
Paquetes con TAR
Tenemos 2 operaciones básicas con TAR: empaquetado y desempaquetado.
Si estamos en un directorio y queremos “empaquetar” todos los archivos de éste y los que cuelgan de él, tecleamos la
orden:
tar -cvf nombredelarchivo.tar*
En esta linea de comandos encontramos las siguientes variables:
c=compress (empaquetar).
v=verbose (para que nos diga lo que hace).
f=file (empaquetar en un archivo).
* (empaquetar todos los archivos).
Si tenemos un archivo “.tar” y queremos desempaquetarlo tecleamos:
tar -xvf nombredelarchivo.tar
Donde la variable “-x” indica eXtract.
GZ
Compresor GZ
Los archivos con extensión “.gz” son archivos comprimidos.
El contenido de un archivo .gz es un solo archivo, es decir cuando comprimimos un archivo “txt” con este compresor
llamado “GZIP” obtenemos un archivo “txt.gz” de un tamaño mucho menor al original.
Con GZ no es posible empaquetar archivos, es decir, la compresión se realiza sobre un solo archivo.
Para comprimir un archivo con “gz” se utiliza el comando:
gzip nombredelarchivo
Para descomprimirlo:
gunzip nombredelarchivo.gz
También es posible hacer la compresión y la descompresión en 2 pasos,
(primero tar y luego usar gz) o bien usar el flag “-z”.
Compresión:
tar -cvzf nombredelarchivo.tar.gz
Descompresión:
tar -xvzf.tar.gz
Nota: Debido a que GNU/Linux es racional a la hora de crear archivos y evitando cualquier exceso de tamaño, mas las
mejoras en la velocidad de conexion, la gran mayoría de los archivos descargados de Internet vienen en formato “.tar” ,y
se utilizan muy poco los compresores, por esto, el comando mas usado para ejecutar un archivo de estos es:
tar -xvzf nombredelarchivo.tar
INSTALACION DE PAQUETES

l
YaST Software Management

Instalar y desinstalar software es la herramienta principal para la administración de paquetes en openSUSE. Puedes
usarla para instalar paquetes adicionales o desinstalar paquetes ya instalados.
Instalación de software
El proceso de instalación de paquetes es muy simple. Abre YaST seleccionándolo desde el menú, bajo Sistema, o
usando el diálogo Ejecutar comando (pulsando Alt+F2) y escribiendo yast. Después de introducir la contraseña de root,
inicia el módulo Instalar/desinstalar software seleccionándolo en la pestaña Software del Centro de control YaST.
Busca el paquete que quieres instalar, y YaST mostrará una lista de coincidencias. Puedes hacer búsquedas mediante el
nombre del paquete o por la descripción. También hay disponibles varios filtros que te permitirán encontrar el que buscas
navegando entre ciertas categorías.
Selecciona los paquetes que quieres instalar y pulsa Aceptar. Si se necesitara algún paquete adicional como
dependencia, YaST mostrará una confirmación. Una vez aceptes, YaST descargará los paquetes oportunos de los
repositorios y los instalará.
Disponibilidad de software
El número de paquetes disponibles mediante esta herramienta dependerá de los repositorios que tengas añadidos. Por
defecto sólo tendrás los CDs o el DVD de instalación o los repositorios online oficiales que puedas haber añadido
durante la instalación del sistema. Si quieres leer más acerca de cómo encontrar y añadir más repositorios a YaST, léete
este artículo.
Actualización de software
Mediante este herramienta no sólo puedes instalar o desinstalar paquetes, también puedes usarla para actualizarlos, de
haber nuevas versiones en los repositorios. Esta es la forma común de hacerlo cuando se trate de paquetes no oficiales
o paquetes no soportados. Los paquetes oficiales, en cambio, y las actualizaciones de seguridad suelen instalarse
mediante YaST Online Update.
La disponibilidad de versiones nuevas de un paquete se indica con texto azul en la lista de software. Haz clic derecho
sobre él y selecciona Actualizar.
De esta misma forma puedes actualizar también todos los paquetes que cuenten con nuevas versiones de una sola vez.
Recuerda que siempre hay cierto riesgo cuando se actualizan muchos paquetes de forma indiscriminada, así que
piénsatelo dos veces antes de hacerlo, especialmente si tienes un sistema que funciona como quieres. El procedimiento
es el siguiente: Haz clic en el menú Paquete -> Todos los paquetes -> Actualizar si hay una versión posterior
disponible.
Significado de los símbolos de YaST
En la lista de paquetes del módulo hay unos símbolos que nos informan del estado actual de cada uno de ellos:
No instalado
El paquete no está instalado y no se instalará.
Instalado
Este paquete todavía no está instalado y será instalado.
Mantener
Este paquete ya está instalado. No se modificará.
Actualizar
Este paquete ya está instalado. Actualizar o reinstalar (si las versiones coinciden).
Eliminar
Este paquete está instalado. Se eliminará.
Tabú
Este paquete no está instalado y no debe ser instalado bajo ningún concepto, especialmente debido a posibles
dependencias no resueltas de otros paquetes. Los paquetes con el estado "tabú" son tratados como si no
existieran en ningún medio de instalación.
Protegido
Este paquete está instalado y no debe ser modificado, especialmente debido a posibles dependencias no resueltas
de otros paquetes. Use este estado para paquetes de otros fabricantes que no deben sobreescribirse con
versiones más recientes que puedan estar en la distribución.
Instalar automáticamente
Este paquete ha de ser instalado automáticamente porque algún otro paquete lo necesita. NOTA: Puede que tenga
que usar "tabú" para deshacerse de un paquete de este tipo.
Actualizar automáticamente
Este paquete ya está instalado pero algún otro paquete necesita una versión posterior, por lo que será actualizado
automáticamente.
Eliminar automáticamente
Este paquete ya está instalado, pero debido a las dependencias de paquetes debe ser eliminado. Éste puede ser el
caso si este paquete es reemplazado por otro.
Instalar automáticamente (por selección)
Este paquete se instalará automáticamente, porque está incluido en una selección de software predefinida (ej.
"Multimedia", "Desarrollo").
Actualizar automáticamente (por selección)
Este paquete ya está instalado pero existe una versión más reciente del mismo. Está incluido en una selección de
software predefinida (ej. "Multimedia", "Desarrollo") seleccionada por usted para actualizar. Por eso, este paquete
será actualizado automáticamente.
Eliminar automáticamente (por selección)
Este paquete ya está instalado, pero alguna selección de software predefinida (ej. "Multimedia", "Desarrollo")
requiere que sea eliminado.
Solución de problemas
Cuando cambia el contenido del repositorio, es necesario rehacer la lista de paquetes que contiene éste. Si la lista de
paquetes no está actualizada, YaST mostrará errores cuando intente instalar paquetes, diciendo que no se encuentran.
Para refrescar el contenido de cualquier repositorio, abre el módulo Repositorios de programas desde YaST,
selecciona el repositorio requerido, y haz clic en Actualizar ahora.
COMO CREAR CUENTAS DE USUARIO
Procedimientos.
Generalmente el paso que procede a una instalación de GNU/Linux® es la creación de cuantas de usuario. Existen
distintos métodos, todos son sencillos y permiten crear una cuenta con su propio directorio de trabajo y los archivos
necesarios.
Actualmente se existen recursos como el programa instalador de Red Hat™ Linux® y programas que funcionan desde
un entorno gráfico, como es Linuxconf, y recursos que funcionan en modo de texto o desde una ventana terminal, como
son los comandos tradicionales, useradd y passwd, y algunos otros programas, como YaST y la versión correspondiente
de Linuxconf.
Creando una cuenta desde el programa instalador en Red Hat™ Linux®
Casi al concluir el proceso de instalación de Red Hat™ Linux® se proporciona la opción de crear, con opciones
predeterminadas, cuentas de usuarios en la misma pantalla en donde se ingresa la contraseña de root. El procedimiento
solo requiere que se ingresen los nombres de usuarios o loginsy que se teclee, con confirmación, la contraseña
correspondiente. Opcionalmente se pueden especificar el nombre completo del usuario y directorio de trabajo -home-.
En algunos casos, una vez que se accede por primera vez al sistema, será necesario hacer ciertas modificaciones o
agregar más cuentas. Definitivamente no es práctico re-utilizar el programa de instalación para tal efecto. Puede hacerse
todo lo necesario desde un entorno gráfico con Linuxconf o bien desde el modo de texto o una ventana terminal con los
comandos useradd y passwd.
Creando una cuenta en el modo de texto: useradd y passwd
Este procedimiento puede realizarse de forma segura tanto fuera de X Window® como desde una ventana terminal en el
entorno gráfico del que se disponga. Fue el método comúnmente utilizado antes de la aparición de programas como
YaST y Linuxconf. Sin embargo aún resulta útil para la administración de servidores, cuando no se tiene instalado X
Window®, no se tienen instalados YaST o Linuxconf -o las versiones de estos que se han instalado no trabajan
correctamente-, o bien se tienen limitaciones o problemas para utilizar un entorno gráfico.
Lo primero: el comando useradd.
El primer paso para crear una nueva cuenta consiste en utilizar el comando useradd del siguiente modo:
useradd nombre_del_usuario
Ejemplo:
useradd joel
Lo segundo: el comando passwd.
Después de crear la nueva cuenta con useradd o que sigue a continuación es especificar una contraseña para el
usuario. Determine una que le resulte fácil de recordar, que mezcle números, mayúsculas y minúsculas y que,
preferentemente, no contenga palabras que se encontrarían fácilmente en el diccionario. Existen otras recomendaciones
más, por lo que es conveniente leer, antes de continuar, los comentarios finales acerca de la seguridad incluidos en este
mismo artículo.
Aunque el sistema siempre tratará de prevenirlo cuando se escoja una mala contraseña, el sistema no le impedirá que lo
haga. Especificar una nueva contraseña para un usuario, o bien cambiar la existente, se puede realizar utilizando el
comando passwd del siguiente modo:
passwd nombre_del_usuario
Ejemplo:
passwd joel
El sistema solicitará entonces que proceda a teclear la nueva contraseña para el usuario y que repita ésta para
confirmar. No verá el echo, por seguridad, el sistema no mostrará los caracteres tecleados, por lo que debe hacerlo con
cuidado. Si se considera que tal vez se cometieron errores de tecleado, puede presionarse las veces que sean
necesarias la tecla <Backspace> o <Retroceso>. De cualquier forma el sistema le informará si coincide o no lo tecleado.
Si todo salió bien recibirá como respuesta del sistema code 0. Si en cambio recibe code 1, significa que deberá repetir el
procedimiento, ya que ocurrió un error.
Este procedimiento también puede utilizarse para cambiar una contraseña existente.
Opciones avanzadas.
En muchos casos pueden no ser necesarios, pero si se esta administrando un servidor o estación de trabajo, o bien se
es un usuario un poco más experimentado, y se quiere crear una cuenta con mayores o menores restricciones, atributos
y/o permisos, pueden utilizarse las siguientes opciones de useradd:
Opciones más usuales del comando useradd.
-c comment
Se utiliza para especificar el archivo de comentario de campo para la nueva cuenta.
-d home dir
Se utiliza para establecer el directorio de trabajo del usuario. Es conveniente, a fin de tener
un sistema bien organizado, que este se localice dentro del directorio /home.
-e expire date
Se utiliza para establecerla fecha de expiración de una cuenta de usuario. Esta debe
ingresarse en el siguiente formato: AAAA-MM-DD.
-g initial group
Se utiliza para establecer el grupo inicial al que pertenecerá el usuario. De forma
predeterminada se establece como único grupo 1. Nota: el grupo asignado debe de existir.
-G group,[...]
Se utiliza para establecer grupos adicionales a los que pertenecerá el usuario. Estos deben
separarse utilizando una coma y sin espacios. Esto es muy conveniente cuando se desea
que el usuario tenga acceso a determinados recursos del sistema, como acceso a la unidad
de disquetes, administración de cuentas PPP y POP. Nota: los grupos asignado deben de
existir.
-m
Se utiliza para especificar que el directorio de trabajo del usuario debe ser creado si acaso
este no existiese, y se copiaran dentro de este los archivos especificados en /etc/skel.
-s shell
Se utiliza para establecer el Shell que podrá utilizar el usuario. De forma predeterminada, en
Red Hat™ Linux® y LinuxPPP®, se establece bash como Shell predeterminado.
-u uid
Se utiliza para establecer el UID, es decir, la ID del usuario. Este debe ser único. De forma
predeterminada se establece como UID el número mínimo mayor a 99 y mayor que el de
otro usuario existente. Cuando se crea una cuenta de usuario por primera vez, como ocurre
en LinuxPPP®6.x y Red Hat™ Linux® 6.x, generalmente se asignará 500 como UID del
usuario. Los UID entre 0 y 99 son reservados para las cuentas de los servicios del sistema.
Ejemplo:
useradd -u 500 -d /home/Joel -G floppy,pppusers,popusers Joel
Esto creará una cuenta de usuario llamada Joel, que se encuentra incluido en los grupos
floppy, pppusers y popusers, que tendrá un UID=500, utilizará Bash como shell y tendrá un
directorio de trabajo en /home/Joel.
Existen más opciones y comentarios adicionales para el comando useradd, estas se encuentran
especificadas en los manuales -Man pages-. Para acceder a esta información, utilice el comando man
useradd desde una ventana terminal.
Eliminar una cuenta de usuario.
En ocasiones un administrador necesitará eliminar una o más cuentas de usuario. Este es un procedimiento
principalmente utilizado en servidores y estaciones de trabajo a los cuales acceden múltiples usuarios. Para tal fin nos
valdremos del comando userdel.
El comando userdel.
La sintaxis básica de este comando es la siguiente:
userdel nombre_del_usuario
Ejemplo:
userdel Joel
Si se desea eliminar también todos los archivos y sub-directorios contenidos dentro del directorio de trabajo del usuario a
eliminar, se debe agregar la opción -r:
userdel -r nombre_del_usuario
Ejemplo:
userdel -r Joel
Comentarios finales acerca de la seguridad.
Cuando, en la mayoría de los casos, un hacker o cracker consigue infiltrarse en un sistema GNU/Linux® o Unix® no es
porque estos tengan un hueco de seguridad, sino porque el intruso pudo "hackear" alguna de las contraseñas de las
cuentas existentes. Si usted específico durante el proceso de instalación de Linux® una mala contraseña de root, algo
muy común entre usuarios novicios, es altamente recomendado cambiarla.





Evite especificar contraseñas fáciles de adivinar. Con esto nos referimos particularmente a utilizar contraseñas
que utilicen palabras incluidas en cualquier diccionario de cualquier idioma, datos relacionados con el usuario o
empresa como son registro federal de causantes (R.F.C.), fechas de nacimiento, números telefónicos, seguro
social, números de cuentas de académicos o alumnos y nombres de mascotas, la palabra Linux®, nombres de
personajes de ciencia ficción, etc.
Evite escribir las contraseñas sobre medios físicos, prefiera siempre limitarse a memorizar éstas.
Si necesita almacenar contraseñas en un archivo, hágalo utilizando ciframiento.
Si se le dificulta memorizar contraseñas complejas, utilice entonces contraseñas fáciles de recordar, pero
cámbielas periódicamente.
Jamás proporcione una contraseña a personas o instituciones que se la soliciten. Evite proporcionarla en
especial a personas que se identifiquen como miembros de algún servicio de soporte o ventas. Este último
caso lo menciona con énfasis el man page del comando passwd.
Consideraremos como una buena contraseña aquella se compone de una combinación de números y letras mayúsculas
y minúsculas y que contiene al menos 8 caracteres. También es posible utilizar pares de palabras con puntuación
insertada y frases o secuencias de palabras, o bien acrónimos de estas.
SERVIDOR”X”
====== El servidor gráfico ======
Es muy común en Unix que las cosas no sean tan simples como parecen. Casi todas las herramientas que forman el
sistema operativo GNU/Linux son de gran potencia, es muy normal que después de varios años usando un programa
descubramos una opción en el manual que va de perlas para ahorrarnos algunas preocupaciones. Esto choca
completamente conla concepción moderna del software. En ella se dice que si una característica de tu programa está tan
escondida que nadie la puede ver, entonces no sirve de nada. Las aplicaciones en el mundo Unix ofrecen una cara
mucho más amable de la que tienen en realidad.
Un ejemplo claro de ello es el entorno gráfico. Ahora es cuando recordamos que el título de la sección es "El servidor
gráfico". ¿Qué tienen que ver los gráficos con los servidores? Aparentemente es una comparación sin sentido como la
que se lanzaría entre los routers y el hábitat de la avutarda.
En Windows los gráficos son gestionados directamente por el driver. Los programas hablan a una biblioteca gráfica que
se comunica directamente con el hardware de la tarjeta gráfica. Los que sepan de gráficos tridimensionales y de realidad
virtual estarán pensando en OpenGL y Direct3D. Estas bibliotecas son en realidad un interfaz para asignar procesos a la
GPU (Graphic Process Unit). Windows utiliza esta arquitectura.
En cambio Linux, como el resto de entornos Unix, utiliza el esquema de servidor-protocolo-cliente. Significa que para
conseguir ventanitas a colores es necesario encender un cliente llamado //display manager// que se conecta a un
servidor gráfico utilizando un protocolo. El protocolo gráfico de Unix por excelencia es el protocolo X. Sobre las parejas
servidor-cliente existen dos implementaciones principales, la Xfree86 y la de X.org. La segunda es una derivación de la
primera por desavenencias en las licencias y en la concepción del desarrollo; es la que se está imponiendo.
Cuando en Linux utilizamos un entorno gráfico programado con alguna biblioteca como Qt o GTK+ estamos en realidad
comunicándonos con un servidor gráfico que contiene las librerías gráficas y las aplicaciones. Es el cliente el que se
comunica con la tarjeta gráfica a nivel de hardware. Esto no significa que siempre sea así, también se pueden utilizar
métodos de renderizado directo en la tarjeta gráfica pero lo más habitual operar de este modo.
Este diseño tiene una gran ventaja respecto al uso directo del hardware. La existencia de una comunicación permite que
el cliente y el servidor no estén en el mismo ordenador. Significa esto que puedo renderizar en mi monitor de Madrid una
ventana de una aplicación que en realidad se está ejecutando en Hong Kong. Probablemente no sea conveniente con
comunicaciones a tan larga distancia pero en una red local es perfectamente factible crear un servidor central de
aplicaciones de este modo.
Aún hay más. Existe una variación del protocolo X llamado NX. No es más que el mismo protocolo con un tipo especial
de compresión en vivo. Mostrar una ventana conectándose al servidor por internet no es factible por la gran cantidad de
información que debe transmitirse en un tiempo récord. La solución es reducir las comunicaciones al mínimo para reducir
los tiempos de espera y de latencia. El funcionamiento de NX es espectacular y muy sorprendente.
Otra posibilidad es implementar el servidor X bajo otro sistema operativo. Hay muchas aplicaciones que están tan
íntimamente unidas al protocolo X que portarlas a otro tipo de sistema gráfico es casi imposible (muy importante el casi).
Lo que se ha hecho para solucionarlo es portar el servidor X. Portarlo no es del todo correcto, se ha compatibilizado
mediante Cygwin. Aunque su instalación no es sencilla otorga a Windows una gran potencia. Si instalamos un servidor X
en Windows con unas pocas herramientas más seremos capaces de mostrar aplicaciones Linux que estén en otros
ordenadores.
Esta tecnología es conceptualmente muy compleja. Por eso he empezado con la complejidad real de un sistema Unix.
No es necesario entender todo esto, en el fondo la arquitectura es transparente al usuario, pero es un caso curioso de la
verdadera potencia de Linux, un mejor diseño.
Comprimir/Descomprimir Archivos
La descompresión de archivos es un punto muy importante ya que en la mayoría de los casos uno se encontrara que los
archivos están comprimidos en formatos
Tar.gz
Tar
7zip
rar
zip
aquí daremos los pasos necesarios para poder descomprimir archivos.

Entorno Grafico Gnome
Descomprimiendo
Iniciemos con el entorno grafico Imagen:Tipocomprecion.png Los archivos comprimidos en Gnome están representados
por una cajita
lo único que se tiene que hacer es dar doble click sobre el icono y se abrirá una ventana
Aquí tenemos la ventana que nos sale cuando abrimos un archivo comprimido en este ejemplo lo estamos haciendo con
el ndiswrapper, para descomprimirlo es tan simple como seleccionar la carpeta o archivos que tenga en la ventana y
arrastrarlo hasta donde lo queramos descomprimir.
Comprimiendo
Para comprimir en Gnome es muy sencillo tan solo con dar click derecho ya sea sobre el directorio o carpeta que
queramos comprimir y nos aparecerá un menú
y nos vamos a
Crear Archivador
Luego nos aparecerá una ventana donde podremos darle el nombre que nosotros queramos y también especificarle que
tipo de compresión queremos usar.
Una vez que le demos en aceptar obtendremos el archivo aquí un ejemplo
En la terminal
Para descomprimir en la terminal lo primero que tenemos que hacer es lógicamente abrir una terminal y esto lo logramos
yéndonos
En Gnome
Equipo-->Mas Aplicaciones-->Terminal de Gnome
O presionando
Alt + F2
Aparecerá una ventana diciendo ejecutar y escribimos
xterm
ya estando en la terminal tenemos que ubicarnos donde se encuentra el archivo a descomprimir y escribimos lo siguiente
Ficheros .tar
tar empaqueta varios archivos en uno solo, pero no comprime.
Empaquetar: # tar cf archivo.tar ficheros
Desempaquetar: # tar -xvf archivo.tar
Ver contenido: # tar -tf archivo.tar
Ficheros .gz
gzip sólo comprime fichero a fichero, no empaqueta varios ficheros en uno ni comprime directorios.
Comprimir: # gzip fichero
Descomprimir: # gzip -d fichero.gz
Ficheros .bz2
bzip2 sólo comprime fichero a fichero, no empaqueta varios ficheros en uno ni comprime directorios. Instalar la
Comprimir: # bzip2 fichero
Descomprimir: # bzip2 -d fichero.bz2
Para comprimir varios ficheros y archivarlos en uno solo, al estilo de los compresores zip o rar hay que combinar tar con
gzip o con bzip2 como muestro a continuación.
Ficheros .tar.gz
Comprimir: # tar -czf archivo.tar.gz ficheros
Descomprimir: # tar -xvzf archivo.tar.gz
Ver contenido: # tar -tzf archivo.tar.gz
Ficheros .tar.bz2
Comprimir: # tar -c ficheros | bzip2 > archivo.tar.bz2
Descomprimir: # bzip2 -dc archivo.tar.bz2 | tar -xv
Ver contenido: # bzip2 -dc archivo.tar.bz2 | tar –t
Jerarquía de archivos en Linux
Para garantizar la compatibilidad y portabilidad, los sistemas Linux cumplen con el estándar FHS (Estándar de jerarquía
del sistema de archivos). La jerarquía básica es la siguiente:
/
La raíz, que contiene los directorios principales
/bin
Contiene archivos ejecutables fundamentales del sistema, utilizados por todos los
usuarios (como por ejemplo los comandos ls, rm, cp, chmod, mount, etc.).
/boot
Contiene los archivos que permiten que Linux se inicie
/dev
Contiene los puntos de entrada para los periféricos
/etc
Contiene los comandos y los archivos que el administrador del sistema necesita
(archivos passwd, group, inittab, ld.so.conf, lilo.conf, etc.)
/etc/X11
Contiene los archivos específicos para la configuración de X (XF86Config, por
ejemplo)
/etc/opt
Contiene los archivos de configuración específicos para las aplicaciones
instaladas en /opt
/home
Directorio personal del usuario
/lib
Contiene bibliotecas compartidas que son fundamentales para el sistema durante
su inicio
/mnt
Contiene puntos de montaje de particiones temporales (CD-ROM, disquete, etc.)
/opt
Contiene paquetes de aplicaciones suplementarias
/root
Directorio del administrador de raíz
/sbin
Contiene los sistemas binarios fundamentales (por ejemplo, el comando
adduser)
/tmp
Contiene archivos temporales
/usr
Jerarquía secundaria
/usr/X11R6
Este directorio se reserva para el sistema X versión 11.6
/usr/X386
Éste es un vínculo simbólico con /usr/X11R6, el cual utilizó previamente X
versión 5
/usr/bin
Contiene la mayor parte de los archivos binarios y los comandos del usuario
/usr/include
Contiene los archivos de encabezado para los programas C y C++
/usr/lib
Contiene la mayoría de las bibliotecas compartidas del sistema
/usr/local
Contiene datos que pertenecen a los programas instalados en la raíz del equipo
local
/usr/local/bin
Binarios de programas locales
/usr/local/games Binarios de juegos locales
/usr/local/include Archivos de encabezado locales de C y C++
/usr/local/lib
Bibliotecas locales compartidas
/usr/local/sbin
Binarios del sistema local
/usr/local/share Jerarquía independiente
/usr/local/src
Archivos fuente locales
/usr/sbin
Contiene los archivos binarios que no son fundamentales para el sistema y que
se reservan para el administrador del sistema
/usr/share
Reservado para datos independientes de la arquitectura
/usr/src
Contiene archivos fuente de código
/var
Contiene datos variables
¿Qué es Samba?
Samba es una suite de aplicaciones Unix que habla el protocolo SMB (Server Message Block). Muchos sistemas
operativos, incluidos Windows y OS/2, usan SMB para operaciones de red cliente-servidor. Mediante el soporte de este
protocolo, Samba permite a los servidores Unix entrar en acción, comunicando con el mismo protocolo de red que los
productos de Microsoft Windows. De este modo, una máquina Unix con Samba puede enmascararse como servidor en
tu red Microsoft y ofrecer los siguientes servicios:





Compartir uno o más sistemas de archivos.
Compartir impresoras, instaladas tanto en el servidor como en los clientes.
Ayudar a los clientes, con visualizador de Clientes de Red.
Autentificar clientes logeándose contra un dominio Windows.
Proporcionar o asistir con un servidor de resolución de nombres WINS.
Samba es la idea de Andrew Tridgell, quien actualmente lidera el equipo de desarrollo de Samba development desde su
casa de Canberra, Australia. El proyecto nació en 1991 cuando Andrew creó un programa servidor de ficheros para su
red local, que soportaba un raro protocolo DEC de Digital Pathworks. Aunque él no lo supo en ese momento, aquel
protocolo más tarde se convertiría en SMB. Unos cuantos años después, él lo expandió como su servidor SMB particular
y comenzó a distribuirlo como producto por Internet bajo el nombre de servidor SMB. Sin embargo, Andrew no pudo
mantener ese nombre -ya pertenecía como nombre de producto de otra compañía-, así que intentó lo siguiente para
buscarle un nuevo nombre desde Unix:
grep -i 's.*m.*b' /usr/dict/words
y la respuesta fue:
salmonberry samba sawtimber scramble
De ésta manera nació el nombre de Samba. Hoy, la suite Samba implica a un par de demonios que proporcionan
recursos compartidos a clientes SMB sobre la red (las comparticiones son denominadas a veces también como
servicios). Estos demonios son:
smbd
Un demonio que permite compartición de archivos e impresoras sobre una red SMB y proporciona
autentificación y autorización de acceso para clientes SMB.
nmbd
Un demonio que busca a través del Windows Internet Name Service (WINS), y ayuda mediante un
visualizador.
Samba se encuentra actualmente mantenido y es ampliado por un grupo de voluntarios bajo la supervisión activa de
Andrew Tridgell. Al igual que el sistema operativo Linux, Samba es considerado por sus autores Open Source software
(OSS), y es distribuido bajo la the GNU General Public License (GPL). Desde su concepción, el desarrollo de Samba ha
sido patrocinado en parte por la Australian National University, donde Andrew Tridgell hizo su doctorado. En adición,
algunas partes del desarrollo han sido patrocinadas por distribuidores independientes como Whistle and SGI. Es algo
verdaderamente testimonial el que entidades tanto comerciales como no comerciales estén dispuestas a gastar dinero
para dar soporte a un esfuerzo Open Source.
En el momento de la impresión de este libro, Andrew ha completado su trabajo de doctorado y ha pasado a formar parte
de una compañía desarrolladora de Linux de San Francisco.
Microsoft también ha contribuido materialmente poniendo a disposición su definición de SMB y del Internet-savvy
Common Internet File System (CIFS), como Public Request for Comments (RFC), y otros documentos estandar. El
protocolo CIFS es el nuevo nombre de las futuras versiones del protocolo SMB que serán usadas en los productos
Windows -los dos términos pueden ser usados aleatoriamente en éste libro-. De hecho, verás el protocolo escrito como
"SMB/
X Window System en GNOME 2.20.
Logotipo de X Window System
X Window System (en español sistema de ventanas X) es un software que fue desarrollado a mediados de los años
1980 en el MIT para dotar de una interfaz gráfica a los sistemas Unix. Este protocolo permite la interacción gráfica en red
entre un usuario y una o más computadoras haciendo transparente la red para éste. Generalmente se refiere a la versión
11 de este protocolo, X11, el que está en uso actualmente. X es el encargado de mostrar la información gráfica de forma
totalmente independiente del sistema operativo.
X fue diseñado primariamente para implementar clientes ligeros, donde mucha gente usaba simultáneamente la
capacidad de procesamiento de un mismo computador trabajando en tiempo compartido. Cada persona usaba un
terminal en red que tenía capacidades limitadas para dibujar la pantalla y aceptar la entrada del usuario. Debido a la
ubicuidad del soporte para el software X en Unix, es usado en los computadores personales incluso cuando no hay
necesidad del tiempo compartido.
El sistema de ventanas X distribuye el procesamiento de aplicaciones especificando enlaces cliente-servidor. El servidor
provee servicios para acceder a la pantalla, teclado y ratón, mientras que los clientes son las aplicaciones que utilizan
estos recursos para interacción con el usuario. De este modo mientras el servidor se ejecuta de manera local, las
aplicaciones pueden ejecutarse remotamente desde otras máquinas, proporcionando así el concepto de transparencia
de red.
Debido a este esquema cliente-servidor, se puede decir que X se comporta como un terminal gráfico virtual.
El hecho que exista un estándar definido para X permite que se desarrollen servidores X para distintos sistemas
operativos y plataformas, lo que hace que el código sea muy portable. Por ejemplo. permite tener clientes X
ejecutándose en un potente servidor UNIX mientras los resultados son visualizados en una PC de escritorio con
cualquier otro sistema operativo funcionando.
La comunicación entre el cliente X y el servidor se realiza por medio de un protocolo conocido como Xprotocol, que
consiste en una serie de bytes interpretados como comandos básicos para generar ventanas, posicionarlas, o controlar
eventos. Los clientes X acceden al Xprotocol mediante el uso de una biblioteca llamada Xlib, que evita al programador de
clientes X tener que lidiar con el código binario del Xprotocol. Sin embargo, los aspectos de decoración de ventana y
manejos de ventanas no están definidos en esta biblioteca.
X no es un gestor de ventanas, necesita de uno para controlar el manejo de ventanas. Esto trae la ventaja de que
permite al usuario instalar uno o más administradores de ventanas de su preferencia. También trae la ventaja de que
hace de X estrictamente un sistema gráfico, de tal modo que un cliente X podría estar enviando un gráfico a una pantalla,
a una impresora o a cualquier otro hardware sin darse cuenta, flexibilizando la salida gráfica.
Por otro lado, la desventaja que trae el hecho de no tener un único entorno gráfico es que los programadores de clientes
X que desean hacer uso de los recursos de los entornos gráficos (botones, barras de deslizamientos, etc.) deben elegir
un entorno gráfico específico para programar y contar que el usuario tenga por los menos las bibliotecas de dicho
entorno gráfico instalado. Las bibliotecas de los entornos gráficos se conocen como "Toolkits", el estándar X provee sólo
de un conjunto de herramientas básicas llamadas Xintrisics que permiten a los programadores de los entornos gráficos
armar sus Toolkits sobre éstas.

Diseño
Ejemplo de despliegue del servidor X: el servidor X recibe la entrada de un teclado y de un ratón locales y exhibe hacia
una pantalla. Un navegador web y un emulador de terminal corre en la estación de trabajo del usuario y una aplicación
de actualización de software corre en un computador remoto pero es controlado y monitoreado desde la máquina del
usuario.
Artículos principales: Protocolos y arquitectura de X Window System y Protocolo base de X Window System
X usa el modelo cliente-servidor: un servidor X se comunica con varios programas cliente. El servidor acepta los pedidos
para la salida gráfica (ventanas) y devuelve la entrada del usuario (desde el teclado, del ratón, o de la pantalla táctil). El
servidor puede funcionar así:



una aplicación exhibiendo hacia una ventana de otro sistema de visualización
un programa del sistema controlando la salida vídeo de una PC
una pieza de hardware dedicada
Esta terminología de cliente servidor - el terminal de usuario siendo el servidor y las aplicaciones siendo los clientes - a
menudo confunde a nuevos usuarios de X, porque los términos parecen invertidos. Pero X toma la perspectiva de la
aplicación, en vez de la del usuario final: X proporciona la exhibición por pantalla y los servicios de entrada/salida a las
aplicaciones, así que es un servidor; las aplicaciones usan estos servicios, por lo tanto son los clientes.
El protocolo de comunicaciones entre el servidor y el cliente opera transparente a la red: el cliente y el servidor pueden
correr en la misma o en diferentes máquinas, posiblemente con diferentes arquitecturas y sistemas operativos. Un cliente
y un servidor pueden incluso comunicarse con seguridad sobre Internet haciendo una conexión de túnel sobre una
sesión cifrada de la red.
Un cliente X puede emular un servidor X proporcionando servicios de exhibición a otros clientes. Esto es conocido como
"X nesting" (anidado X). Los clientes de código abierto tales como Xnest y Xephyr soportan el X nesting.
Para utilizar un programa de cliente X sobre una máquina remota, el usuario hace lo siguiente:



En la máquina local, abrir una ventana de terminal
usar telnet o ssh para conectarse con la máquina remota
solicitar el servicio local de pantalla/entrada (ej., export DISPLAY=[user's machine]:0 si no se está usando SSH
con X tunneling activado)
El cliente X remoto entonces hará una conexión al servidor X local del usuario, proporcionando la exhibición por pantalla
y la entrada.
Alternativamente, la máquina local puede correr un pequeño programa que se conecte con la máquina remota y
comience la aplicación cliente.
Ejemplos prácticos de clientes remotos incluyen:



administrando una máquina remota gráficamente
corriendo una simulación de cómputo intensivo en una máquina Unix remota y mostrando los resultados por
pantalla en una de escritorio Windows
correr software gráfico en varias máquinas al mismo tiempo, controlados por una sola pantalla, teclado y ratón.