<HTML> <HEAD> <TITLE>Cómo pasar de DOS a Linux.: El restante 1%</TITLE> </HEAD> <BODY> <A HREF="Dos-a-Linux-Como-7.html">Anterior</A> <A HREF="Dos-a-Linux-Como-9.html">Siguiente</A> <A HREF="Dos-a-Linux-Como.html#toc8">Indice</A> <HR> <H2><A NAME="s8">8. El restante 1%</A></H2> <H2><A NAME="ss8.1">8.1 Gestión de Memoria Virtual</A></H2> <P>Aunque Linux puede ejecutarse en teoría con sólo 2 megas de RAM, cuanto más se tenga, más se puede hacer. El sistema X Window no se ejecutará a menos que tenga 8 megas. Para crear una memoria virtual de 8 megas adicionales, teclee como root: </P> <P> <BLOCKQUOTE><CODE> <PRE> # dd if=/dev/zero of=/swapfile bs=1024 count=8192 # mkswap /swapfile 8192 # sync # swapon /swapfile </PRE> </CODE></BLOCKQUOTE> </P> <P>Añada la última línea en <CODE>/etc/rc.d/rc.local</CODE> para hacer que el fichero de memoria virtual esté disponible la siguiente vez que arranque, o añada esta línea en <CODE>/etc/fstab</CODE>: </P> <P> <BLOCKQUOTE><CODE> <PRE> /swapfile swap swap defaults </PRE> </CODE></BLOCKQUOTE> </P> <H2><A NAME="ss8.2">8.2 Utilización de <CODE>tar</CODE> y <CODE>gzip</CODE></A></H2> <P>Bajo Unix hay algunas aplicaciones ampliamente utilizadas para archivar y comprimir ficheros. <CODE>tar</CODE> se utiliza para archivar varios ficheros en uno ---es como PKZIP o ARJ, pero no comprime, sólo archiva. Para archivar varios ficheros en uno (que llamaremos archivo de ahora en adelante):</P> <P> <BLOCKQUOTE><CODE> <PRE> $ tar -cvf <nombre_fichero_final.tar> <fichero1> [fichero2...] </PRE> </CODE></BLOCKQUOTE> </P> <P>Para extraer ficheros de un archivo:</P> <P> <BLOCKQUOTE><CODE> <PRE> $ tar -xpvf <nombre_fichero.tar> [fichero] </PRE> </CODE></BLOCKQUOTE> </P> <P>Para listar los ficheros contenidos de un archivo:</P> <P> <BLOCKQUOTE><CODE> <PRE> $ tar -tf <nombre_fichero.tar> | less </PRE> </CODE></BLOCKQUOTE> </P> <P>Puede comprimir los ficheros usando <CODE>compress</CODE>, el cual es obsoleto y no debería ser utilizado nunca más, o usando <CODE>gzip</CODE>: </P> <P> <BLOCKQUOTE><CODE> <PRE> $ compress <fichero> $ gzip <fichero> </PRE> </CODE></BLOCKQUOTE> </P> <P>eso crea un fichero comprimido con la extensión <CODE>.Z</CODE> (compress) o <CODE>.gz</CODE> (gzip). Estos programas sólo pueden comprimir un fichero cada vez. Para descomprimir, use:</P> <P> <BLOCKQUOTE><CODE> <PRE> $ compress -d <fichero.Z> $ gzip -d <fichero.gz> </PRE> </CODE></BLOCKQUOTE> </P> <P>LPM.</P> <P>Las utilidades <CODE>unarj</CODE>, <CODE>zip</CODE> y <CODE>unzip</CODE> (compatibles con ARJ y PK??ZIP) también están disponibles. Los ficheros con la extensión <CODE>.tar.gz</CODE> o <CODE>tgz</CODE> (archivados con <CODE>tar</CODE>, posteriormente comprimidos con <CODE>gzip</CODE>) son tan comunes en el mundo Unix como los ficheros <CODE>.ZIP</CODE> bajo DOS. Para listar los contenidos de un fichero <CODE>.tar.gz</CODE> utilice:</P> <P> <BLOCKQUOTE><CODE> <PRE> $ gzip -dc <fichero.tar.gz> | tar tf - | less </PRE> </CODE></BLOCKQUOTE> </P> <P>o también:</P> <P> <BLOCKQUOTE><CODE> <PRE> $ tar -cvzf <fichero.tar.gz> </PRE> </CODE></BLOCKQUOTE> </P> <H2><A NAME="ss8.3">8.3 Instalación de aplicaciones</A></H2> <P>Antes de nada: instalar paquetes es trabajo del root. Algunas aplicaciones Linux se distribuyen como ficheros <CODE>.tar.gz</CODE> o <CODE>.tgz</CODE>, preparadas específicamente para que sean descomprimidas desde el directorio raíz <CODE>/</CODE> escribiendo el siguiente comando: </P> <P> <BLOCKQUOTE><CODE> <PRE> # gzip -dc <fichero.tar.gz> | tar xvf - </PRE> </CODE></BLOCKQUOTE> </P> <P>Los ficheros se descomprimirán en el directorio adecuado, el cual será creado ``al vuelo''. Los usuarios de la distribución Slackware tienen un programa gestor de paquetes amigable para el usuario; otro programa es <CODE>rpm</CODE>, el cual está disponible para todas las distribuciones gracias a Red Hat. </P> <P>Los demás paquetes no deberían ser instalados desde <CODE>/</CODE>; típicamente, el paquete contendrá un directorio llamado <CODE>nombrepaquete/</CODE> y un montón de ficheros y/o subdirectorios dentro de <CODE>nombrepaquete/</CODE>. Una buena regla es instalar todos esos paquetes bajo <CODE>/usr/local</CODE>. </P> <P>Además, otros paquetes se distribuyen con sus fuentes en C o C++, los cuales han de ser compilados para crear los programas binarios. En la mayor parte de los casos, todo lo que debe hacer es ejecutar <CODE>make</CODE>. Obviamente, necesitará el compilador <CODE>gcc</CODE>. </P> <H2><A NAME="ss8.4">8.4 Trucos imprescindibles</A></H2> <P> <UL> <LI><B>Terminación de comandos</B>: presionando <CODE>TAB</CODE> mientras teclea un comando completará la línea por usted. Ejemplo: tiene que teclear <CODE>gcc este_es_un_nombre_de_fichero_largo.c</CODE>; con teclear <CODE>gcc este TAB</CODE> bastará. (Si tiene otros ficheros que comienzan con los mismos caracteres, proporcione los caracteres suficientes para resolver cualquier ambigüedad.) </LI> <LI><B>Visión de pantallas anteriores</B>: presionar <CODE>MAYÚS + RE PÁG</CODE> (la tecla gris) le permite volver atrás unas cuantas páginas, dependiendo de la memoria de vídeo que posea. </LI> <LI><B>Resetear la pantalla</B>: si por un casual hace un <CODE>cat</CODE> o un <CODE>more</CODE> de un fichero binario, su pantalla puede acabar llena de basura. Para arreglar las cosas, teclee <CODE>reset</CODE> a ciegas o pulse esta secuencia de caracteres: <CODE>echo CTRL-V ESC c RETURN</CODE>. </LI> <LI><B>Pegar texto</B>: en consola, ver más abajo; en las X, haga click y arrastre para seleccionar el texto en una ventana xterm, después haga click en el botón central (o con los dos a la vez si tiene un ratón de dos botones) para pegar. También hay un <CODE>xclipboard</CODE> (portapapeles de X) (de momento, sólo para texto); no se confunda por su muy baja velocidad de respuesta. </LI> <LI><B>Usar el ratón</B>: instale <CODE>gpm</CODE>, el controlador de ratón para la consola. Haga click y arrastre para seleccionar texto, entonces haga un click con el botón derecho para pegar el texto seleccionado. Funciona a través de diferentes consolas virtuales. </LI> <LI><B>Mensajes del kernel</B>: échele un vistazo a <CODE>/var/adm/messages</CODE> o <CODE>/var/log/messages</CODE> como root para ver lo que el kernel le dice, incluyendo los mensajes de inicio. </LI> </UL> </P> <H2><A NAME="ss8.5">8.5 Programas y comandos útiles</A></H2> <P>Esta lista refleja mis preferencias y necesidades personales, por supuesto. En primer lugar, dónde encontrarlas. Ya que usted sabe cómo navegar por la red y cómo utilizar <CODE>archie</CODE> y <CODE>ftp</CODE>, sólo le daré tres de las más importantes direcciones para Linux: <CODE> <A HREF="ftp://sunsite.unc.edu/">ftp://sunsite.unc.edu/</A></CODE>, <CODE> <A HREF="ftp://tsx-11.mit.edu/">ftp://tsx-11.mit.edu/</A></CODE>, y <CODE> <A HREF="ftp://nic.funet.fi/">ftp://nic.funet.fi/</A></CODE>. Por favor, use el mirror más cercano. </P> <P> <UL> <LI><CODE>at</CODE> le permite ejecutar programas a una hora y fecha especificados. </LI> <LI> <CODE>awk</CODE> es un lenguaje simple pero potente de manipulación de ficheros de datos (entre otras cosas). Por ejemplo, siendo <CODE>datos.dat</CODE> su fichero de datos multicampo, <BLOCKQUOTE><CODE> <PRE> $ awk '$2 ~ "abc" {print $1, "\t", $4}' datos.dat </PRE> </CODE></BLOCKQUOTE> imprime los campos 1 y 4 de cada linea de <CODE>datos.dat</CODE> cuyo segundo campo contenga ``<CODE>abc</CODE>''. </LI> <LI><CODE>delete-undelete</CODE> borran y recuperan ficheros; </LI> <LI><CODE>df</CODE> da información acerca de los discos montados; </LI> <LI><CODE>dosemu</CODE> permite ejecutar bastantes (no todos) programas DOS ---incluyendo Windows 3.x--- con un poco de trasteo; </LI> <LI><CODE>file nombrefichero</CODE> le dice qué tipo de fichero es <CODE>nombrefichero</CODE> (texto ASCII, ejecutable, comprimido, etc.); </LI> <LI><CODE>find</CODE> (ver también la sección <A HREF="Dos-a-Linux-Como-3.html#Directorios">Directorios</A>) es uno de los comandos más potentes y útiles. Se utiliza para buscar ficheros que se ajusten a unas determinadas características, y realizar acciones sobre ellos. El uso general de <CODE>find</CODE> es: <BLOCKQUOTE><CODE> <PRE> $ find <directorio> <expresion> </PRE> </CODE></BLOCKQUOTE> donde <CODE>expresion</CODE> incluye criterios de búsqueda y acciones. Ejemplos: <BLOCKQUOTE><CODE> <PRE> $ find . -type l -exec ls -l {} \; </PRE> </CODE></BLOCKQUOTE> busca todos los ficheros que son enlaces simbólicos y dice a dónde apuntan. <BLOCKQUOTE><CODE> <PRE> $ find / -name "*.old" -ok rm {} \; </PRE> </CODE></BLOCKQUOTE> busca todos los ficheros que se ajusten a lo especificado y los borra, pidiéndole antes confirmación. <BLOCKQUOTE><CODE> <PRE> $ find . -perm +111 </PRE> </CODE></BLOCKQUOTE> busca todos los ficheros cuyos permisos sean <CODE>111</CODE> (ejecutables para todos). <BLOCKQUOTE><CODE> <PRE> $ find . -user root </PRE> </CODE></BLOCKQUOTE> busca todos los ficheros que pertenecen al root. Hay muchas posibilidades: LPM. </LI> <LI><CODE>gnuplot</CODE> es un brillante programa para dibujos científicos; </LI> <LI><CODE>grep</CODE> busca cadenas de texto en ficheros. Por ejemplo: <BLOCKQUOTE><CODE> <PRE> $ grep -l "geologia" *.tex </PRE> </CODE></BLOCKQUOTE> lista todos los ficheros <CODE>*.tex</CODE> que contienen la palabra <CODE>geologia</CODE>. La variante <CODE>zgrep</CODE> trabaja en ficheros comprimidos con gzip. LPM; </LI> <LI><CODE>gzexe</CODE> comprime binarios ejecutables manteniéndolos ejecutables (similar a PKLITE); </LI> <LI><CODE>joe</CODE> es un excelente editor. Invocándolo tecleando <CODE>jstar</CODE> conseguirá los mismos caracteres de teclado que WordStar y sus descendientes, incluyendo DOS y los editores Turbo... de Borland; </LI> <LI><CODE>less</CODE> es, probablemente, el mejor navegador de texto, y si está adecuadamente configurado, permite navegar por ficheros <CODE>zip</CODE>, <CODE>tar</CODE> o <CODE>gzip</CODE>. </LI> <LI><CODE>lpr fichero</CODE> imprime un fichero en segundo plano. Para comprobar el estado de la cola de impresión, use <CODE>lpq</CODE>; para quitar un fichero de la cola de impresión, use <CODE>lprm</CODE>; </LI> <LI><CODE>mc</CODE> es un maravilloso gestor de ficheros, clon del <I>comandante norton</I>; </LI> <LI><CODE>pine</CODE> es un simpático programa gestor de correo electrónico; </LI> <LI><CODE>script fichero_script</CODE> copia a <CODE>fichero_script</CODE> lo que aparece en pantalla antes de ejecutar el comando exit. Util para depuración; </LI> <LI><CODE>sudo</CODE> permite a los usuarios ejecutar algunas funciones del root (p.e. formatear y montar discos; LPM); </LI> <LI><CODE>uname -a</CODE> da información acerca del sistema; </LI> <LI><CODE>zcat</CODE> y <CODE>zless</CODE> son útiles para ver ficheros de texto comprimidos con <CODE>gzip</CODE> sin descomprimirlos. Un posible uso es: <BLOCKQUOTE><CODE> <PRE> $ zless ficherotexto.gz $ zcat ficherotexto.gz | lpr </PRE> </CODE></BLOCKQUOTE> </LI> <LI> Los siguientes comandos son a menudo utilizados: <CODE>bc, cal, chsh, cmp, cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew</CODE>. LPM. </LI> </UL> </P> <H2><A NAME="ss8.6">8.6 Extensiones comunes y programas relacionados</A></H2> <P>Se podrá encontrar con una gran variedad de extensiones de ficheros. Excluyendo los más exóticos (como los de fuentes, etc.), aquí tenemos una lista de los más usuales: </P> <P> <UL> <LI><CODE>1 ... 8</CODE>: páginas de manual. En el extraño caso en que aún no lo tenga, consiga <CODE>man</CODE>. </LI> <LI><CODE>arj</CODE>: archivo hecho con <CODE>arj</CODE>. Use <CODE>unarj</CODE> para descomprimirlo. </LI> <LI><CODE>dvi</CODE>: fichero de salida producido por TeX (ver más abajo). Use <CODE>xdvi</CODE> para visualizarlo; Use <CODE>dvips</CODE> para transformarlo en un fichero PostScript (<CODE>.ps</CODE>). </LI> <LI><CODE>gif</CODE>: fichero gráfico. Consiga <CODE>seejpeg</CODE>, <CODE>xpaint</CODE> o <CODE>zgv</CODE> para visualizarlo. </LI> <LI><CODE>gz</CODE>: archivo comprimido con <CODE>gzip</CODE>. </LI> <LI><CODE>info</CODE>: archivo <EM>info</EM> (Algo así como una alternativa a las páginas de manual). Consiga <CODE>info</CODE>. </LI> <LI><CODE>jpg, jpeg</CODE>: fichero gráfico. Consiga <CODE>seejpeg</CODE> o <CODE>zgv</CODE>. </LI> <LI><CODE>lsm</CODE>: Fichero <EM>Linux Software Map</EM>. Es un fichero de texto ASCII plano que contiene la descripción de un paquete. </LI> <LI><CODE>ps</CODE>: Fichero PostScript. Para visualizarlo o imprimirlo consiga <CODE>gs</CODE> y, opcionalmente, <CODE>ghostview</CODE>. </LI> <LI><CODE>rpm</CODE>: Paquete de Red Hat. Puede instalarlo en cualquier sistema utilizando el gestor de paquetes <CODE>rpm</CODE>. </LI> <LI><CODE>taz, tar.Z</CODE>: archivo hecho con <CODE>tar</CODE> y posteriormente comprimido con <CODE>compress</CODE>. </LI> <LI><CODE>tgz, tar.gz</CODE>: archivo hecho con <CODE>tar</CODE> y posteriormente comprimido con <CODE>gzip</CODE>. </LI> <LI><CODE>tex</CODE>: fichero de texto para utilizar con TeX, un poderoso formateador de textos. Consiga el paquete <CODE>tex</CODE>, disponible en muchas distribuciones; pero tenga cuidado con NTeX, el cual tenía fuentes corruptas y estaba incluido en algunas versiones de la distribución Slackware. </LI> <LI><CODE>texi</CODE>: fichero texinfo, a partir del cual se pueden producir tanto archivos TeX como info. Consiga <CODE>texinfo</CODE>. </LI> <LI><CODE>xbm, xpm, xwd</CODE>: fichero gráfico. Consiga <CODE>xpaint</CODE>. </LI> <LI> <CODE>Z</CODE>: archivo hecho con <CODE>compress</CODE>. </LI> <LI> <CODE>zip</CODE>: archivo hecho con <CODE>zip</CODE>. Consiga <CODE>zip</CODE> y <CODE>unzip</CODE>.</LI> </UL> </P> <HR> <A HREF="Dos-a-Linux-Como-7.html">Anterior</A> <A HREF="Dos-a-Linux-Como-9.html">Siguiente</A> <A HREF="Dos-a-Linux-Como.html#toc8">Indice</A> </BODY> </HTML>