WikiCiencia - Informática y Computación - Linux - Curso básico de Linux

Firenox
PRINCIPALELECTRONICAINFORMATICATECNOLOGIANOTICIASDESTACADOS
 

Curso básico de Linux


Si le resulta útil el contenido de este portal, por favor considere hacer una donación a Cáritas Argentina. Muchas gracias.

Instalación

El proceso de instalación de Linux, es una de las cosas mas temidas por los usuarios que empiezan en este sistema, la verdad, es que quizá pueda resultar tedioso si decidimos ir seleccionando que instalamos y que no, cosa bastante recomendable si no disponemos de un enorme disco duro para ponerlo todo y acabar antes...

Lo primero a la hora de instalar linux, es dejar espacio necesario en nuestro HD para crear una partición Linux y otra SWAP, que mas tarde será explicada.

Si disponemos de un disco duro amplio, lo recomendable seria dejar unos 600 - 700 mb para ambas particiones, aunque con bastante menos, dependiendo de lo que queramos instalar tendremos suficiente (yo, actualmente, tengo mi linux en un HD de 540 mb).

Cuando digo espacio libre, no me refiero a MB libres en la partición en la que tengas funcionando tu Windows u otro sistema, sino, de espacio físico en el HD, para conseguir este espacio, si esta todo ocupado por la partición/es actual/es, lo podremos hacer de dos formas:

1º FORMA,"drástica", que consiste en hacer copia de seguridad de las cosas mas importantes que tengamos, y eliminar la partición, crearla de nuevo, con menor tamaño (reservando espacio para linux) y reinstalar todo lo que tuviéramos en ella, los pasos para realizar esto desde Windows 95 serian:

  • Hacer copia de seguridad de todos nuestros programas/documentos, si no se dispone de CDR o unidad ZIP, esto puede resultar mas o menos tedioso, dependiendo de las cosas que queramos conservar (pasar 300 mb a disquetes no es algo "fácil" de soportar)

  • Crear un disco de Arranque si no disponemos de uno (debería darte vergüenza si no tienes uno hecho ya), y asegurarnos de que disponemos del Windows en su correspondiente CD o disquetes (creo que esto es evidente, pero que luego nadie me diga que ha borrado todo y ahora no puede instalarlo porque no tiene el Windows 95...) y asegurarnos de que disponemos de los drivers en disquetes del CDROM, y demás, copiar al disquete de arranque el MSCDEX.EXE, si no se copia por defecto para poder acceder a vuestro CDROM.

  • Borrar la partición con el programa FDISK de msdos, para hacerlo, simplemente reiniciamos en modo ms-dos y tecleamos FDISK en el prompt, luego vamos leyendo las instrucciones en pantalla para poder eliminar la partición.

  • Una vez eliminada la partición, reiniciamos con nuestro disco de arranque, y desde el prompt A:/>, volvemos a ejecutar FDISK, esta vez con la intención de volver a crear la partición, lo hacemos siguiendo las instrucciones del programa (es tan simple el hacerlo, que no lo comento). Al crear la partición nos aseguramos de dejar el espacio físico libre que hayamos decidido en el HD y de seleccionar como activa la partición que creamos.

  • Cuando ya este creada la partición, reiniciamos con nuestro querido disco de arranque, y formateamos la partición (a:/>format c:) una vez acabado esto, transferimos el sistema con la orden " a:/>sys c: " y reiniciamos, pero ahora ya sin disco de arranque, el ordenador cargar Himem.sys ... y aparecerá el prompt c:/>, ahora es el momento de reinstalar los drivers del CDROM y comenzar a instalar el Windows de nuevo.

2º FORMA, "no drástica", por el contrario, si no deseamos perder el contenido de nuestra partición actual, podemos reducir su tamaño mediante algún programa como el FIPS o el PARTITION MAGIC, el fips suele venir en los cds de casi cualquier distribución linux, de todas formas, podéis conseguirlos ambos en internet.

Ambos programas llevan su propia ayuda, el Partition Magic es bastante mas fácil de usar (es gráfico y mas intuitivo), pero hay gustos para todos, con ambos, simplemente, reducimos el tamaño de la partición los mb que decidamos.

Si disponemos de un HD nuevo sin particiones ni nada, evidentemente, todo lo anterior sobra ;).

Una vez que ya tengamos el espacio preparado, solamente nos falta iniciar la instalación, hay varias formas de hacerlo, normalmente se utilizan disquetes de arranque, que se pueden crear a partir de imágenes que vienen el en CD de la distribución, también hay distribuciones que nos permiten arrancar desde el propio CD ROM, siempre y cuando nuestra BIOS lo soporte.

Para crear los disquetes de arranque, primero debemos de leer en algún readme de la distribución donde se encuentran las imágenes, en Red Hat, la imagen se suele encontrar en el directorio images, y se llama " boot.img ", en Slackware habrá que crear dos discos, uno llamado BOOT y otro ROOT, las imágenes a utilizar variaran según nuestro hardware, pero lo usual es usar el fichero " bare.i ", para el BOOT (siempre y cuando nuestros dispositivos sean IDE) y " color.gz " para el root. De todas formas, lo mejor es leer la documentación que acompaña a cada CD para salir de dudas . Una vez que las encontremos, crearemos los disquetes a través del programa RAWRITE, que viene en todas las distribuciones y cuya forma de uso es la siguiente:

SLACKWARE: c:/>rawrite [fichero] [unidad]

DEBIAN y RED HAT: c:/>rawrite -f [fichero] -d [unidad]

De todas formas, si ponemos rawrite solo, sin parámetros, el programa nos ira preguntando por los mismos.

Además, algunas distribuciones, cargan desde msdos, a través de loadlin el proceso de instalación, busca algo como autoboot.bat en Red Hat o Install.bat en Debian en tu cd y ejecútalo...

Si eliges los disquetes o CD a través de la BIOS, reinicia con el método que elijas.

NOTA:Se puede instalar linux a través de su descarga desde un FTP, o incluso por disquetes, pero el proceso a realizar es similar, y no voy a contar como hacerlo porque no quiero aburrir a nadie... todavía.

Una vez comenzado el proceso de instalación, lo primero después de seleccionar el Idioma y el teclado (es para Español), es la creación de las particiones linux, y digo particiones y no partición, porque es recomendable crear una partición de tipo SWAP (intercambio o memoria virtual), se recomienda crear una partición SWAP que ocupe el doble de memoria RAM que tengamos, hasta los 32 MB, por ejemplo si tenemos 128 Mb de RAM, la creamos de 32, si tenemos 8 MB de RAM, la creamos de 16 ...

La creación de estas particiones se suele llevar a cabo a través del programa FDISK para linux, que el propio programa de instalación lanza llegado el momento. Existen otros programas para realizar esta tarea, tales como Disk Druid... pero pienso que FDISK es el mas extendido, así que será el que se explique aquí.

Cuando arranca Fdisk, nos dice que pulsemos " m " para ayuda, cosa que podemos hacer para ver los comandos, para ver la lista de particiones, introducimos " p ", para crear una nueva, lo haremos con " n " , para borrar una partición, utilizaremos " d ", para seleccionar el tipo de la partición (en nuestro caso para seleccionar la SWAP), " t ", y para salir, o bien usamos " q " para salir sin cambios o " w " para guardarlos, por tanto, mientras no pongamos w, no nos habremos cargado nada ;-).

Antes de continuar, creo que es necesario explicar como se refiere Linux a los discos, linux, se refiere a los discos a través de devices, por ejemplo, la primera partición del primer disco duro es "/dev/hda1", la segunda "/dev/hda2 ", y la primera del segundo disco duro seria "/dev/hdb1"

Bien, ahora vamos a crear nuestra partición primaria de Linux:

  • Introducimos " n ".

  • Se nos preguntara el numero de la partición, si es un HD nuevo, introducimos 1, si hay particiones anteriores, metemos el numero que le corresponda, por ejemplo si hay una partición de ms dos, pues introducimos 2...

  • Seleccionamos el tamaño, o bien a través de cilindros o en Mb, recuerda dejar algo para la SWAP...

  • Ahora creamos la SWAP, introducimos " n " , como numero el siguiente al de la partición Linux por ejemplo, luego especificamos su tamaño. Cuando este creada, hay que cambiarle el tipo, así que introduce " t ", pon el número de la partición SWAP y pon de tipo el número 82...

Ya tenemos las particiones creadas, el siguiente paso es el formateo de estas, cosa que el programa de instalación hará solito, después hay que activar la partición SWAP, cosa que la instalación también hará solita después de pedirte confirmación de la partición (asegúrate de que este correcto todo).

Bueno, ahora ya solo queda el proceso de selección de paquetes... como cada distribución es diferente, no lo voy a explicar, y solo diré, que hay que vigilar las dependencias de unos ficheros con otros, y leer la descripción que viene de cada paquete...

Cuando acabes la instalación, y después de responder a unas preguntas sobre impresoras, ratón, red ..., lo normal es que se te pregunte como deseas arrancar tu nuevo sistema linux... básicamente, puedes hacerlo de tres formas:

  • LOADLIN desde ms-dos

  • LILO en el Master boot

  • Disco de arranque

Para mi la mejor opción es LILO, pero también recomiendo crear un disquete de arranque por si las moscas..., la instalación de lilo con las distribuciones actuales es bastante intuitiva, así que solo recordar, /dev/hda1 seria la partición primaria del disco duro ...

Si por alguna razón lilo se quedase colgado, podemos desinstalarlo, o bien a través del comando fdisk /mbr desde un disco de arranque ms-dos o bien a través de lilo -u arrancando linux a través de disquete.

Hace poco, HOWE, un buen colega mío, tubo un problema, y fue, que al ser su disco duro SCSI, el lilo no se quitaba ni con lilo -u ni con fdisk /mbr , pero consiguió quitarlo con fdisk /x , cosa que no se exactamente para que sirve, pero que pongo por si a alguien le pudiese resultar de ayuda.

El archivo de configuración de lilo, se encuentra en /etc/lilo.conf , y si por ejemplo, tenemos una tarjeta SCSI, para que sea reconocida, habrá que pasárselo como opción " append="no-hlt, aha1542=0x230" ", donde, el 230 seria la dirección de la tarjeta SCSI. La verdad es que nunca he tenido una SCSI, así que no he podido experimentar con ella y por tanto lo que aquí pongo sobre ella, si que es verdad que es de "oídas", al final del texto, pondré links a sitios donde se pueda conseguir mas información.

Uso básico del sistema

Creando usuarios

La primera vez que accedamos a nuestro sistema linux, lo haremos poniendo la palabra root como " login " y no pondremos passwords (o pondremos el que hayamos definido en la instalación), " root " es la identificación que se le da al administrador del sistema, y no es conveniente acceder como tal al sistema, a no ser que sea necesario, pues el root es la única persona que podrá hacer algo dañino para el sistema (otra ventaja de linux, el cabreode tu hermano por no dejarle jugar al Quake no te puede costar el trabajo de meses ...)

La primera vez que entremos es necesario acceder como root, pues no hay otros usuarios definidos, para hacer esto, añadir usuarios, simplemente hacemos:

#adduser NOMBRE

donde nombre será la identificación del usuario, una vez hecho esto, le otorgamos una clave al usuario:

#passwd NOMBRE

se nos pide la clave, y después una comprobación de la misma.

Ahora ya podemos cambiarnos a el nuevo usuario, simplemente ponemos:

#su NOMBRE

Siendo root, podemos pasar a ser cualquier usuario que deseemos, pero siendo un usuario normal, para pasar a root, habrá que introducir la clave de root.

Nota: Se dispone de la posibilidad de usar varios usuarios al tiempo, a través de la terminales virtuales, simplemente vamos de una a otra con las teclas ALT + F1... (hasta F6).

También seria recomendable, modificar los datos personales de cada usuario, que se haría, de la siguiente forma:

(Cambiándola el propio usuario)

/home/jose$ chfn

El sistema nos ira preguntando los datos del usuario, tales como nombre, teléfono ... esta información podrá ser visualizada por cualquier usuario del sistema a través del comando:

/home/jose$ finger usuario

Además, se puede hacer, que cuando algún usuario nos haga un finger, le aparezca un mensaje adicional, este mensaje es el " plan ", y se define simplemente, escribiendo el mensaje, en un fichero al que llamaremos " .plan " , dentro del directorio personal del usuario.

Nota: Recordemos que linux es Case sensitive, esto quiere decir que " Pedro " y " pedro " son usuarios distintos, dependiendo de las mayúsculas.

OLVIDADA LA CLAVE DE ROOT !!

¿Y si se me olvida la password del root?, bueno, hay una forma de poder cambiarla, simplemente reiniciamos con un disquete de instalación de linux, que nos dará root por defecto (para instalar hay que serlo), una vez accedamos al sistema como root, editamos el fichero /etc/passwd, borrando la clave encriptada del root. Si nuestro sistema dispone de la opción de seguridad shadow para el fichero passwd (esto es, que las claves, en vez de guardarse en /etc/passwd, fichero con permisos de lectura para todos, se sustituyen en /etc/passwd pon una " x " o un " * " y la clave encriptada se guarda en el fichero /etc/shadow, fichero con permisos solo para root), tendremos que borrar esta clave del fichero /etc/shadow. Una vez hecho esto, reiniciamos, hacemos login como root y no metemos clave (damos al enter), habremos entrado como root sin password, ahora debemos teclear

#passwd

para definir de nuevo la clave.

Ficheros y directorios

Cambiar de directorio:

Cuando hacemos login en linux, iremos al directorio base del usuario con el que hagamos login, por ejemplo, si lo hacemos como " root " iremos a /root , si lo hacemos como " jose " iremos al directorio /home/jose ... en ese directorio base es en el que debemos instalar nuestros programas, compilar, editar archivos... Para cambiar de directorio, lo hacemos al igual que en ms-dos, con el comando " cd ".

Por ejemplo si estamos en /home/jose y queremos ir a /home/jose/a , simplemente ponemos cd a ; pero si queremos ir a /etc , pues ponemos cd /etc , la " / " indica directorio hijo, por ejemplo si no hay nada delante de " / ", quiere decir que ese directorio cuelga directamente de la raiz, pero por ejemplo en /etc/ppp , ppp cuelga de /etc...

Para volver al directorio padre, ponemos " cd .. " y para ir al raíz, ponemos " cd / ".

También podemos referirnos a la ruta actual con " .. ", por ejemplo, en el caso anterior, estando en " /home/jose ", para ir a " /home/jose/a ", podemos poner " cd ../a ". Asimismo, si ponemos solamente " cd ", iremos al directorio base del usuario con el que hayamos hecho login.

NOTA: En linux, como se vera mas adelante, existen los llamados permisos, que filtran el uso de ficheros o directorios por parte de usuarios. El dueño del fichero y el root, pueden definir estos permisos a su antojo, con la única salvedad de que para el root no existen permisos, el puede leer cualquier cosa que haya en el sistema... si, incluso tu e-mail personal, por tanto el root, no puede ser cualquier persona, sino alguien con responsabilidad y respeto por los demás usuarios. Esto a nivel domestico no tiene mucha importancia...bueno, quizá a tu hermana le moleste que le leas los e-mails del novio... pero, imagínate en un sistema con 5.000 usuarios... o en tu propio proveedor de acceso a internet..., pero volviendo a nuestro tema, quizá no puedas entrar a algún directorio, pues no tengas permiso para ello.

Listar el contenido de un directorio:

Esto se hace a través del comando:

ls [-alF] [--color] [directorio/s] [fichero/s]

Por ejemplo para ver el contenido de /etc , si nos encontramos en el, simplemente haríamos:

/etc$ ls

Los parámetros que se le pueden pasar al comando son:

-a

Muestra ficheros ocultos

-l

Muestra los permisos de los ficheros que son listados

-F

Distingue entre tipos de archivos, por ejemplo a los binarios o ejecutables les coloca un " * " detrás

--color

Igual que " -F " , pero diferenciando los tipos de ficheros o subdirectorios por colores.

Ver la ruta donde nos encontramos:

Para saber donde nos encontramos, tecleamos:

$pwd

Este comando nos devuelve la ruta actual en la que nos encontramos.

Crear Directorios:

Esta tarea la realizaremos con el comando:

mkdir -p [directorio]

Con el parámetro " -p ", indicamos que de no existir parte de la estructura donde se quiere crear el directorio, debe ser creada.

Por ejemplo si queremos crear " /etc/ppp/conexion/clave " y no existe " /conexion " seria necesario.
Para crear un directorio hijo al que nos encontramos, simplemente " mkdir [directorio] ".

Borrar Directorios:

Hay dos formas para realizar esto:

rmdir [directorio] (solo borra ficheros vacíos, no se explicara mas sobre este comando)

o

rm [-friv] nombre (para borrar directorios y ficheros)

Los parámetros de rm son :

-f

No pide confirmación

-r

Borrado recursivo de archivos y directorios

-v

Se muestra lo que se va borrando

-i

Se pide confirmación para cada fichero o directorio

Copiar ficheros:

Cuyo formato básico es:

cp [origen] [destino]

Existen parámetros para este comando que pueden ser consultados a través de las páginas de manual de linux (explicación mas adelante en el documento).

Mover/Renombrar ficheros:

Ambas acciones se realizan a través del comando:

mv [origen] [destino]

Si lo que se quiere es renombrar el fichero, el destino será el mismo directorio pero un nombre de archivo diferente.
Al igual que para " cp ", se deben consultar las páginas del manual en linea de Linux para obtener mas parámetros.

Nota: Evidentemente, los usos de los comandos anteriores variaran dependiendo de los permisos que tengan los ficheros o directorios sobre los que se quieran aplicar.

Caracteres comodines:

Como son " * " y " ? ", habituales en ms-dos, " * " se refiere a una cadena de caracteres y " ? " a un solo caracter.
Por ejemplo:

$ ls h*

listara todos los ficheros que empiecen por h de la ruta actual, y:

$ ls cas?

listara todos los ficheros que empiecen por cas, tengan 4 letras, y acaben por cualquier caracter.

Ejecutar y editar ficheros:

Para ejecutar un archivo binario, simplemente tecleamos su ruta completa o nos situamos en el directorio donde se encuentra y tecleamos su nombre precedido de un punto y una barra (" ./fichero.binario "), si el fichero se encuentra en la línea del PATH, no hará falta el punto y la barra.

Mientras tanto, para editar un fichero, necesitamos de un editor, existen muchos, tales como " vi " , " joe " o " emacs ", todos con ayuda propia, por lo que no serán comentados aquí.

Ver el contenido de un fichero:

Para ver el contenido de los ficheros, aparte de los editores, existen tres comandos:

- cat

Muestra el contenido de un fichero de una sola tirada.

- more

Muestra el contenido tramo a tramo.

- less

Igual que more, pero permite movernospor el fichero con los cursores.

Con cat, también podremos redireccionar la salida a otro fichero o dispositivo, por ejemplo:

$ cat casa > coche

Añadirá el contenido de el fichero " casa " a " coche ".

Permisos:

En linux, la posibilidad de uso de un fichero o directorio, viene determinada por los permisos que tenga. Para el root o administrador, estos permisos no existen, pues tiene acceso a todo, pero todos los demás usuarios del sistema, se ven restringidos por los permisos, lo que ayuda en la privacidad de cada usuario.

básicamente, existen tres tipos de permisos para los ficheros y directorios, aunque existen otros "especiales":

  • Lectura (r).

  • Escritura (w).

  • Ejecución (x).

Creo que esta claro a que se refiere cada permiso, ahora vamos a ver como funcionan estos:

Para ello hacemos un ls -l en el directorio actual:

$ ls -l

-rwxr-xr-x 1 root bin 56722 Jun 23 1996 /home/chevara/prog

De momento solo nos fijamos en el primer grupo de cosas:

-rwxr-xr-x

El primer guion, nos dice el tipo de fichero.
Los 3 siguientes caracteres, nos dicen los permisos del propietario.
Los siguientes 3, los permisos del grupo al que pertenece el propietario.
Y los 3 ultimos los permisos del resto de propietarios.

Para otorgar permisos se usa el comando chmod, cuya sintasis es:

chmod ugoa+-=rwxugo fichero

u

Se refiere al propietario del fichero

g

Se refiere al grupo.

o

Se refiere a los que no son ni grupo ni propietario

a

Se refiere a todos

+

Otorga permisos

-

Quita permisos

=

Los iguala a los de los usuarios que aparecen al final (segundo "ugo")

r,w,x

Los permisos en si.

Ademas, se pueden modificar los permisos a traves de una mascara que es:

Usuario
r = 4
w = 2
x = 1

Grupo
r= 4
w=2
x=1

Otros
r=4
w=2
x=1

Y para asignarlos, se sustituyen los permisos por numeros, por ejemplo, para rwxr-xr-x hariamos:

rwx = 4 + 2 + 1 = 7
r-x=4 + 1 = 5
r-x=4 + 1 = 5
Con lo que para otorgar estos permisos a un archivo solo tendriamos que hacer:

$ chmod 755 archivo

Montar y desmontar:

Como ya se dijo antes en linux, cada dispositivo hardware se trata igual que un directorio, por tanto, habra que definir cual es este direcctorio para poder entrar a el si queremos leer datos...
Esto se realiza a traves del comando " mount ", el uso básico de este comando es:

mount -t tipo origen destino

Por ejemplo, para montar el CD-ROM en /cdrom , hariamos:

$ mount -t iso9660 /dev/cdrom /cdrom

Y, para montar la partición de Windows 95, suponiendo que esta es " hda1 ", hariamos:

$ mount -t vfat /dev/hda1 /windows

Con:

$ mount /dev/fhd0 /mnt/floppy

Montariamos la unidad de disquetes...

Para desmontar, usamos el comando " umount " , por ejemplo, para desmontar los dos ejemplos anteriores hariamos:

$ umount /cdrom

$ umount /windows

Ver y matar procesos:

Los procesos no son mas que programas en funcionamiento, para poder apagarlos o "matarlos" en la jerga de linux, primero necesitamos saber su PID, que lo obtenemos a traves del comando:

$ ps

De la lista obtenida, buscamos el PID del proceso en cuestión y lo matamos, simplemente con:

$ kill PID

Alias y Pipes:

Los alias o sobrenombres, nos permiten crear comandos que se ejecuten con parametros predeterminados...
Por ejemplo, si somos usuarios de ms-dos, y nos gusta mas teclear md en lugar de mkdir, pues podemos hacer un alias de la siguiente forma:

$ alias md="mkdir"

Ademas, otro uso inteligente, es crear alias para cosas que no queremos escribir muchas veces, por ejemplo:

$ alias amigos="pedro, jose, juan, luis"

Nos permitiria enviar un mensaje a todos con:

$ mail amigos

A traves de los pipes (la llamada fontaneria en Linux), podremos ejecutar varios comandos al tiempo, separandolos en la linea de comandos por " | " .

Ayuda

Linux, incluye un sistema de ayuda, al que podremos acceder a traves man. Para aprender como usarla, lo mejor es ver la ayuda de la propia ayuda, para lo que hariamos:

$ man man

Espacio libre

En linux, a diferencia de en ms-dos, no nos aparece el espacio libre del que disponemos al hacer un simple dir, pero disponemos de dos comandos que nos diran el espacio libre, tanto en HD, como en memoria (RAM + SWAP).
Para el espacio en disco, utilizamos el comando :

$ df

Mientras que para la memoria, utilizamos:

$ free [-b] [-k]

Donde, añadiendo -b , se nos mostraria en bytes, y con -k en kilobytes

Comprimir y descomprimir con "TAR" y "GZIP"

Comprimir

Comprimir ficheros es algo muy util, ya que nos facilita la tarea de adquirir software y la de distribuirlo, ademas de realizar copias de seguridad o almacenar datos.
En Linux, para llevar a cabo esta tarea, se suelen utilizar dos herramientas al tiempo, tar y gzip, la primera, se encarga de empaquetar los ficheros en uno solo, pero sin comprimirlos, y la segunda es la encargada de comprimirlos.
Primero vamos a explicar como empaquetar con tar:

$ tar cvf destino.tar origen

Donde " c " indica que ha de crearse un archivo .tar, " v ", es para que se muestre por pantalla lo que tar va haciendo, y " f ", dirige tar al fichero que le sigue. Es recomendable usar las opciones en este orden.
Una vez tengamos creado el fichero.tar con todos los otros en su interior, es el momento de comprimirlo, para esto, simplemente hacemos:

$ gzip fichero.tar

Con lo que ya tendremos el archivo con la extension fichero.tar.gz.
Pero ademas, disponemos de otra opción, " z " que colocariamos delante de " v " ($ tar czvf ...) y cuyo uso, nos hace prescindir de " gzip ", pues lo invoca automaticamente, obteniendo como resultado un archivo, de extensión fichero.tgz

Descomprimir

La tarea de descomprimir, la llevamos a cabo, igualmente, con el comando " tar ", aunque ahora prescindimos de " gzip ", pues utilizaremos la opción " z ". Pero, en algunos sistemas, esta opción no esta incluida, y es necesario, primero usar tar y luego gzip (esto lo he visto en sistemas SunOS, pero no en linux, asi que solo lo explico con el comando tar...).
Simplemente hariamos:

$ tar xzvf archivo.tgz
o
$tar xzvf archivo.tar.gz

Nota: Al expandirse un fichero, se crearan los subdirectorios si al crearlo hubieran existido.

Compilando

Otra ventaja (¿mas todavia?) de Linux con respecto a sistemas como Windows, es que en Linux, la mayoria del software es de distribución gratuita (GNU), y suele venir acompañado de las fuentes (esto es, el codigo en lenguaje de programación), permitiendo a los usuarios con conocimientos de programación, la modificación de los programas...
Para que las fuentes, se conviertan en código, es necesario compilarlas, para ello, existente compiladores, el más utilizado en linux es "gcc".
Para compilar un aplicación o un fichero, por ejemplo jizz.c, simplemte hariamos:

$ gcc jizz.c

Ahora bien, si lo que se quiere es compilar un aplicación con muchos ficheros..., lo normal es hacer

$ ./configure

en el directorio donde esten las fuentes, con lo que se creara un fichero Makefile, y despues ejecutar en el mismo directorio la orden:

$ make

De todas formas, es aconsejable leer la documentación que suele acompañar a las aplicaciones, pues en ella probablemente vengan instrucciones para compilar con exito la aplicación.

Configurando el servidor grafico

Jejeje, que se creen los usuarios de Windows, ¿que nosotros no tenemos ventanitas?, juajuajuajua
Bromas aparte, ahora vamos a aprender a instalar y configurar el servidor grafico XFREE86 en nuestro sistema, suele venir con todas las distribuciones de Linux, pero si no viene, o simplemente queremos la ultima versión (en el momento en que escribo esto, la última versión es la 3.3.3, que por ya trae soporte para aceleradoras gráficas de la calidad y modernidad de Riva TNT ...) podemos ir a http://xfree86.org ,donde nos haremos con la última versión.
Ni que decir tiene que todo lo siguiente hay que hacerlo como root...

Instalación

Lo primero antes de hacer nada, es buscar (o bien en la WEB anterior, o en el CD-ROM) el programa preinst.sh y correrlo, para ello, hacemos:

# sh preinst.sh

o

# chmod 777 preinst.sh
# ./preinst.sh

Es programa quitara cosillas que pudieran estorbar y nos dira que Xfree debemos instalar (glib , lib5 ...) cosa MUY importante, pues si no ponemos el adecuado, nuestro trabajo habra sido a lo bobo.
Una vez hecho esto, procedemos a la instalación de las Xfree adecuadas, segun nos haya dicho preinst.sh , para hacerlo, nos situamos en /usr y creamos un directorio llamado X11R6:

# cd /usr
# mkdir X11R6

Ahora copiamos los paquetes que queramos instalar al nuevo directorio (en el servidor y en el cd-rom, vendra un descripción de los paquetes, de todas formas leer el APENDICE A) y el paquete adecuado para nuestra tarjeta gráfica... en el ejemplo instalaremos el que se refiere a las SVGA en general y le llama XSVGA.tgz en las X 3.3.3.

Una vez esten todos en /usr/X11R6 , procedemos a descomprimirlos:

# tar xzvf pakete.tgz

Esto resultara algo tedioso y tal ... bueno, cuando este todo descomprimido, una buena idea, seria para los paquetes a disquetes si no los tenemos en cd-rom, y borrarlos de /usr/X11R6 , si dispones de muchos MB , y te hace ilusión, puedes dejarlos allí.
Vuelve a /usr y crea un enlace:

# ln -s X11R6 X11

Ahora es el momento de buscar y correr el programa postinst.sh que actualizara algunos enlaces y nos dara error si no hicimos caso a preinst.sh en lo que a librerias se refiere. Si todo ha ido bien, postinst no dara ningun error y sera el momento de pasar al segundo paso, la configuración de xFREE.

Configuración

La configuración es algo que podemos hacer de 3 maneras, a traves de un programa en modo texto, a traves de un programa gráfico y ediando el archivo XF86Config a mano.
El segundo y tercer método, no seran explicados, pues la configuración a traves del programa gráfico es muy simple (simplemente correr ./XF86Setup y por el contrario, la edición manual es realmente complicada para nuestro nivel actual (ademas es un coñazo).
Lo primero de todo es hacernos con toda la información que podamos sobre nuestra tarjeta y nuestro monitor (frecuencias de refresco, chipset, Ramdac ...) a traves del manual, si no disponemos de manual o de ganas de mirarlo, podemos utilizar el programa SuperProve que nos dira los datos de la tarjeta (del monitor no evidentemente), pero este programa, podria no conocer nuestro dispositivo... en fin... el caso es que sepas lo que tienes antes de empezar a configurar.
Una vez que los sepas, corre:

# xf86config

Se iniciara el programa, las primeras preguntas, se referiran a nuestro mouse, despues pasaremos al teclado, luego le toca al monitor y pos ultimo a la tarjeta gráfica.
Un detalle importante, si nuestra tarjeta no aparece en la lista, y estamos seguros de que es una SVGA, elegir de momento el servidor VGA16, y luego ir haciendo pruebas con SVGA...
Si despues de introducir el número de nuestra tarjeta, al darno la descriptción, el programa nos dice " DO NOT PROBE CLOCKCHIPS", quiere decir, que cuando despues, el programa nos pregunte si queremos correr X en modo PROBE ONLY, tenemos que decir NO.
Una vez que hayamos acabado de configurar todo, es el momento de ejecutar las X , para ello, mejor que pasemos a un usuario normal... y las ejecutemos como tal.

# su usuario
$ startx

Asi las X se arrancaran en el modo que hayamos definido por defecto (8 bits 400x600 ...), para cambiar esto, podemos hacer:

$ startx -- -bpp 32

Donde 32 puede ser cambiado por 16, 24 ...

Direcciones de interés

Bueno, en estos momentos, ya estamos capacitados para hacer nuestros pinitos en Linux, pero también es un buen momento para recopilar información mas avanzada sobre este sistema, con este fin, se incluyen todos los enlaces siguientes:

http://www.redhat.com

Distribución Linux Red Hat

http://www.cdrom.com

Distribución Linux Slackware.

http://www.debian.org

Distribución Debian.

http://www.suse.com

Distribución S.u.S.E

http://www.caldera.com

Distribución Caldera.

http://www.xfree86.org

Xfree86.

http://www.afterstep.org

Gestor de ventanas afterstep.

http://www.apache.org

Site de este servidor WEB.

http://www.kde.org

Gestor de escritorio KDE.

http://www.infor.es/LuCAS

Documentación linux en CASTELLANO.

http://linux.apostols.org

Magnifica página sobre Linux.

http://linux.box.sk

Gran cantidad de información y software.

http://www.seifried.org

Seguridad en Linux Red Hat

http://come.to/linux

Mucha información.

http://www.linux.org

Enlaces a todo lo que necesites.

http://www.sololinux.com

Noticias sobre Linux... nuevas versiones, entrevistas...

Bueno, con esto ya teneis para un ratito :)

APENDICE A: Paquetes de XFREE86

Xbin.tgz

Programas y aplicaciones necesarias.

Xlib.tgz

Bibliotecas necesarias.

Xfnts.tgz

Fuentes de letra.

Xman.tgz

Manuales

Xdoc.tgz

Documentación.

Xset.tgz

Utilidades de configuración.

Xcfg.tgz

Configuración de aplicaciones.

Xf100.tgz

Fuente mas grandes.

Xhtml.tgz

Documentacion en HTML.

Xps.tgz

Documentación en Postscript.

Xkit.tgz

Necesarios para recompilación.

Xfsrv.tgz

Servidor de fuentes.

XSVGA.tgz

Servidor para tarjetas SVGA

XVGA16.tgz

Servidor para tarjetas VGA.

Existen mas paquetes, como Xjdoc.tgz (documentación en Japones...) que creo que no son muy necesarios en este caso, y otros referidos a tarjetas graficas especiales ..., pero, mi intención es generalizar.

APENDICE B: Shadow passwords

En los sistemas Unix, linux incluido, todos los passwords se guardan en /etc/passwd el cual tiene permisos de lectura para todos, antes, esto era relativamente seguro, pues cada password, estaba encriptado con un algoritmo, y la velocidad de los ordenadores domesticos, hacia muy dificil el uso de diccionario o modos incrementales en crackeadores para intentar sacarlos, pero actualmente, aunque sigue resultando dificil, los ordenadores son mucho mas rapidos y facilitan este trabajo a los "hackers".
La forma de "solucionarlo" actualmente, consites en sustituir el password de /etc/passwd por un caracter, que le dice al sistema que el password se encuentra en otro sitio, el el fichero shadow, de lectura solo para el root, asi que ahora igual que antes cualquiera puede leer el fichero passwd, pero lo único que leera sera una x o un * ... en vez del password, lo que dificultara un poquito sus malas intenciones.

Para instalar la utilidad del Shadow Passwords en Red Hat, hacemos lo suiguiente:

Buscamos el fichero:

En RH 5.1, se llamaba shadow-utils-980403-3.i386.rpm, así que bastara con buscar en nuestro cd, algo que empieze por shadow-utils, y acabe por .rpm :)
Para instalarlo, hacemos:

# rpm -ivh shadow-utils-(lo_que_venga_aquí).rpm

y luego corremos:

/usr/sbin/pwconv
/usr/sbin/grpconv

Cosa esta última que deberíamos repetir a menudo, para asegurarnos de que todos los passwords están de verdad shadow (para asegurarte... cat /etc/passwd).

 

WikiCiencia - Creative Commons 2000-2015 - Algunos derechos reservados - Términos y Condiciones

Firenox