Preguntas frecuentes

bash (6)
bash
En general en la consola se puede encontrar comandos que siguen el siguiente esquema: NombreComando [-opciones [argumento]] Notas: Los corchetes indican que lo que hay dentro es prescindible. Cabe mencionar que los comandos difieren si están escritos con mayúsculas o minúsculas(case sensitive). una de las formas de obtener informacion acerca de los comandos es usando el comando "man" que te muestra la informacion acerca de el uso del commando y de la sintaxis que este comando debe seguir. man ls el comando anterior nos mostrara la informacion acerca del comando ls, indicandonos la sintaxis (orden de los parametros), sus usos, ejemplos y otros commadnos relacionados con el commando ls Más información en: man man
Algunas veces queremos parar el programa que se está ejecutando en primer plano por alguna razón. Tenemos dos opciones:
  • Detenerlo con CTRL+C
  • Pausarlo y pasarlo a segundo plano con CTRL+Z
home@home-desktop:~$ yes > /dev/null

Aquí hay algunas de las fuentes que pueden consultar:

(Manual oficial de bash)
[http://www.gnu.org/software/bash/manual/bash.html](http://www.gnu.org/software/bash/manual/bash.html)
(The Linux users' guide)
[http://agora.pucp.edu.pe/ftp/pub/linux/manuales/otros/user-guide.pdf](http://agora.pucp.edu.pe/ftp/pub/linux/manuales/otros/user-guide.pdf)
(hora 14 y 1 anterior)    
[http://agora.pucp.edu.pe/ftp/pub/linux/manuales/otros/UNIX.PDF](http://agora.pucp.edu.pe/ftp/pub/linux/manuales/otros/UNIX.PDF)
(43-102) Sams' teach yourself Linux in 24 hours
[http://agora.pucp.edu.pe/ftp/pub/linux/manuales/otros/linux_24h.pdf](http://agora.pucp.edu.pe/ftp/pub/linux/manuales/otros/linux_24h.pdf)
(45-63) Aprenda Linux como si estuviera en primero
[http://mat21.etsii.upm.es/ayudainf/aprendainf/Linux/Linux.pdf](http://mat21.etsii.upm.es/ayudainf/aprendainf/Linux/Linux.pdf)
(60-73) Novato a novato
[http://es.tldp.org/Tutoriales/NOVATO/novato-a-novato/](http://es.tldp.org/Tutoriales/NOVATO/novato-a-novato/)
(3.3 procesos y tareas)
[http://structio.sourceforge.net/guias/AA_Linux_colegio/](http://structio.sourceforge.net/guias/AA_Linux_colegio/)
(lista inmensa de comandos por categorias)
[http://agora.pucp.edu.pe/ftp/pub/linux/manuales/otros/linux_command_ref.pdf](http://agora.pucp.edu.pe/ftp/pub/linux/manuales/otros/linux_command_ref.pdf)
tldp
[http://es.tldp.org/Tutoriales/CURSOLINUX/curso_linux/node16.html](http://es.tldp.org/Tutoriales/CURSOLINUX/curso_linux/node16.html)
[http://www.imago.com.uy/howto/linuxadmin.pdf](http://www.imago.com.uy/howto/linuxadmin.pdf)
comandos básicos
[http://es.tldp.org/Tutoriales/CURSOLINUX/curso_linux/node64.html](http://es.tldp.org/Tutoriales/CURSOLINUX/curso_linux/node64.html)

Es un archivo que emula un dispositivo como un "agujero negro". 
En general en la consola se puede encontrar comandos que siguen el siguiente esquema:

NombreComando [-opciones [argumento]]


Notas: Los corchetes indican que lo que hay dentro es prescindible. Cabe mencionar que los comandos difieren si están escritos con mayúsculas o minúsculas(case sensitive).

una de las formas de obtener informacion acerca de los comandos es usando el comando "man" que te muestra la informacion acerca de el uso del commando y de la sintaxis que este comando debe seguir.

      # man ls

el comando anterior nos mostrara la informacion acerca del comando ls, indicandonos la sintaxis (orden de los parametros), sus usos, ejemplos y otros commadnos relacionados con el commando ls

Más información en:

       #man man

 

 

Para ingresar a trabajar en la línea de comandos no es necesario estar en el modo texto. Casi todas las distribuciones cuentan con una consola en modo gráfico que suele accederse desde el inicio rápido, el menú de herramientas o el lanzador de aplicaciones(usualmente presionando ALT+F2). En el caso del escritorio GNOME se cuenta con gnome-terminal y en el caso de KDE, con konsole; por mencionar dos ejemplos del modo gráfico.
La otra opción es ingresar en modo texto, ésto se logra con la combinación de teclas CTRL+ALTFX(si se ha ingresado en modo gráfico); donde FX es una tecla de función de la F1 a la F7 (normalmente, pero puede que haya un número diferente de consolas disponibles). Luego de ésto, necesitaremos ingresar como usuarios poniendo el login y la contraseña habituales.

Instalación

Esto depende en gran medida de la cantidad de programas/paquetes que quieras instalar, del espacio que reserves para swap (espacio de intercambio) y del espacio libre que quieras tener para datos/documentos. Hay que puntualizar que los datos que se dan en esta subseccion hacen referencia al sistema en si, mas programas.

· Una instalación super mínima, necesitará alrededor de unos 10MB.

· Una instalación mínima con las X incluidas, alrededor de los 80Mb.

· Para tener un sistema completo. (sistema / librerías / programas / aplicaciones / espacio para almacenamiento de datos), funcional y siendo realistas, habría que tener de 500Mb a 1,5Gb de espacio en el disco duro. Como en cualquier sistema, si quieres instalar todos los programas que pasen por tus manos o si la cantidad de información con la que trabajas es muy grande, necesitaras mas y mas espacio y siempre te parecerá poco el que tienes ;)



Esto dependerá también en gran medida del uso que le vayas a dar a tu maquina, cuanta mas memoria, mejor trabajara. Aquí tienes unos datos orientativos sobre la cantidad de memoria necesaria:

· Como mínimo se necesitan 64Mb de memoria RAM para utilizar Linux, esta cantidad es como se indica mínima y no apta para trabajar con sistemas gráficos.

· Para trabajar con las X-windows de una manera decente (dependerá del entorno grafico utilizado) se necesitara como mínimo 128Mb.

· Para un uso intensivo y para trabajar con programas que requieren muchos recursos, se recomienda de 128Mb en adelante. Cuanta más memoria se tenga, más suelto trabajara nuestro sistema y más programas podremos tener cargados en memoria.


Referencia : FAQ sobre Linux

Hoy en día, la gran mayoría de hardware esta soportado por Linux, así que no deberías tener problemas. De todas maneras, existen configuraciones que no están soportadas y quizás últimos modelos de tarjetas gráficas, controladoras, etc, que tampoco lo estén.

Día a día se trabaja para dar soporte a nuevo hardware y lo que no este soportado hoy, probablemente este soportado muy pronto. En un pasado, muchas casas de productos no apoyaban a linux, con el consiguiente retraso en el soporte a estos productos, con respecto a otros sistemas operativos, pero últimamente esto esta cambiando rápidamente.

Si quieres comprobar si tu hardware esta soportado por linux o no, puedes pasar por esta excelente web, http://Linuxhardware.net , donde puedes consultar sobre tu hardware.


Referencia : FAQ sobre Linux

Linux es un sistema de libre distribución por lo que puedes encontrar todos los ficheros necesarios para su funcionamiento en multitud de servidores conectados a Internet. Casi todos los principales distribuidores de Linux, ofrecen la posibilidad de bajarse sus distribuciones, vía FTP.

Otra alternativa para los que van a instalar el sistema por primera vez son las llamadas, "Distribuciones" de Linux. 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, como ya hemos explicado, pero también se encuentran en varios CDs, conteniendo todos los ficheros necesarios 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.

Existen varias distribuciones creadas por diferentes empresas a unos precios bastantes asequibles, las cuales deberías de poder encontrar en tiendas de informática o librerías. En el peor de los casos siempre puedes encargarlas directamente por Internet a las empresas que las crean. A veces, las revistas de informática sacan una edición bastante aceptable de alguna distribución.

Si vas a instalar el sistema por primera vez, te recomiendo hacer con una de estas distribuciones y en un futuro cuando quieras actualizar el sistema con las ultimas versiones y actualizaciones del núcleo y programas que utilices, usar Internet.

También puedes ver un test curioso que te puede dar alguna luz acerca de que distribución puedes usar :). En la sección enlaces puedes encontrar las direcciones de cada distribución para que puedas adquirirlo.



Referencia : FAQ sobre Linux

Como ya se ha explicado en la sección ``¿Qué es Linux?'', un sistema Linux esta formado por el núcleo más una serie de programas y librerías que hacen posible tener un sistema productivo y operativo. Tanto el núcleo, como las librerías y programas necesarios están disponibles libremente en internet.

Con esto, cualquiera con conocimientos, puede instalarse un sistema Linux sin necesidad de adquirir una distribución, o crear una nueva distribución desde cero. No hace falta decir, que hacer esto es una tarea que requiere muchos conocimientos y tiempo. Lo que hacen las empresas que crean una distribución es precisamente esto, poner todos los componentes necesarios juntos, con esto nos evitamos el tener que hacerlo nosotros.

Las distribuciones suelen traer un programa de instalación, generalmente creado por la empresa que crea la distribución, manuales con documentación, una serie de programas/librerías para poder usar el sistema, un kernel, y en algunas ocasiones aplicaciones diversas y soporte técnico.

Sabido esto, podemos afirmar que la diferencia entre una distribución u otra es la calidad de lo incluido en la misma; algunos programas de instalación pueden ser más intuitivos que otros o más fáciles de utilizar, la calidad de la documentación, que el conjunto de programas/librerías estén bien testeados y funcionen bien juntos (diferentes versiones, librerías, etc.), soporte eficiente, etc, el kernel es el mismo en todas las distribuciones, excepto en la versión, es decir, una distribución A con el kernel 2.6 y otra distribución distinta B con el kernel 2.6 estan utilizando exactamente el mismo kernel, el kernel es común a todas las distribuciones y no existe un kernel para una distribución y otro para otra.

A continuación tienes unos comentarios sobre las distribuciones más usadas. No son en absoluto todas, pero si son las que forman el mayor porcentaje de sistemas Linux instalados: Red Hat:

· Más extendida, buena calidad.
· Fácil de instalar, incluye programas de configuración que simplifican ciertas tareas.
· Buena documentación. (En inglés)
· Buen seguimiento de fallos y correcciones de los mismos pueden bajarse de su web.

Debian:

· Muy buena calidad. No esta sometida a presiones comerciales, cuidan mucho la calidad antes de su lanzamiento.
· Definida típicamente como la distribución de los usuarios avanzados. Puede ser un poco difícil de instalar para el usuario iniciado y sin conocimientos de informática.
· Buena documentación.
· Buen seguimiento de fallos y correcciones de los mismos pueden bajarse de su web.

Suse:

· Buena calidad germana.
· Fácil de instalar, incluye programas de configuración que simplifican ciertas tareas.
· Buena documentación. (Gran parte en castellano)
· Buen seguimiento de fallos y correcciones de los mismos pueden bajarse de su web.

Caldera:

· Buena calidad.
· Fácil de instalar.
· Buena documentación.
· Buen seguimiento de fallos y correcciones de los mismos pueden bajarse de su web.

Slackware:

· Esta distribución fue de las primeras y durante un largo tiempo fue la que mas se utilizo. Ha tenido un tiempo en que no se ha actualizado mucho y eso le ha hecho perder seguidores. Parece que ha vuelto con fuerza.
· Un poco mas complicada de configurar que la media.


Algunos fragmentos obtenidos de FAQ sobre Linux

La respuesta es si, no es ningún problema el tener mas de un sistema operativo en tu maquina. Es mas hay mucha gente que tiene incluso 3 y 4 sistemas.

Existen unos documentos Howtos y MiniHowtos que explican muy bien como tener diferentes sistemas en tu ordenador, los puedes encontrar en cualquier servidor que contenga la documentación de Linux.

· Linux-DOS-Win95-OS2
· Linux + FreeBSD
· NT Loader+Linux
· Linux+Win95
· Loadlin+Win95



Tomado de FAQ sobre Linux

Como primera afirmación, podemos decir que no, tus programas para Windows no funcionarán en Linux. Windows y Linux/Unix no son compatibles y programas compilados en una u otra plataforma no funcionaran en otra plataforma que no sea en la que el programa se compilo para su utilización.

Como segunda afirmación, podemos decir que en algunos casos es posible ejecutar programas para Windows en Linux, si hacemos uso de un emulador de windows para Linux. Un emulador es un programa que se ejecuta en Linux y que crea una maquina virtual windows, engañando al programa windows, que creerá que se esta ejecutando en un sistema Windows.

Existen dos emuladores de uso común, Wine (libre) y WMware (comercial). De estos dos parece ser que WMware es de una calidad superior y que funcione sin grandes problemas.

Podríamos aconsejar el no usar emuladores para evitar problemas. A no ser que tengas necesidad de usar una aplicación muy especial, existen versiones de programas con características similares a los de Windows, nativos de Linux, con lo que probablemente te funcionen mejor, más rápido y no te consuman tantos recursos. La elección tuya.


Tomado de FAQ sobre Linux

Previamente tienes que leer las categorías anteriores. Lo que se ha abordado en esta sección son los datos relativos al sistema donde vamos a instalar linux.
Muchos usuarios desconocen por completo qué es lo que están usando: no saben que placa base tienen, ni que tipo de memoria, qué tarjeta de vídeo, si su ratón es serie o ps2, y por supuesto otras más sutiles como el refresco vertical de la pantalla de su monitor. Es necesario conocer el tipo de hardware de nuestro sistema informático para ver si es compatible con la distribución de linux que vamos a instalar.



Linux se puede instalar en cualquier disco que tengas en tu sistema y en cualquier partición del disco duro. (Primaria o extendida)

No podrás tener Linux en una partición compartida con otro sistema operativo, Linux necesita su propia partición/es para funcionar.


Tomado de FAQ sobre Linux

Particionar el disco duro es una manera de dividir el disco físico en varios discos lógicos. O lo que es lo mismo, al particionar un disco, dividimos el disco en varias particiones independientes unas de otras, creando la ilusión de que tenemos diferentes discos, cuando en realidad lo que tenemos es un solo disco físico dividido en partes.

Una partición es una de estas partes (divisiones) del disco.

Existen dos clases de particiones: primarias y extendidas. En un disco solo podrás tener como máximo 4 particiones primarias y 1 extendida. En la partición extendida se podrán definir todas (bueno también existe un límite, pero es alto) las unidades lógicas que queramos. Con este sistema podemos tener una gran cantidad de particiones en nuestro disco.

Cualquier disco que tengamos en nuestro ordenador tiene al menos una partición primaria, que en la mayoría de los casos tiene un tamaño equivalente al total del disco.

Unos ejemplos aclararan las cosas:

· Un disco de 1Gb con una sola partición, tendrá una partición primaria de 1Gb. (Total del disco)
· Ese mismo disco podría tener 4 particiones primarias de 0.25Gb cada una, dando la ilusión de que tenemos 4 discos duros de 0.25Gb en vez de un solo disco de 1Gb.
· Otra combinación posible podría ser 4 particiones primarias de 0.10Gb y 1 extendida con 6 unidades lógicas de 0.10Gb, en este caso parecería que tenemos 10 discos duros de 0.10Gb cada uno.

Las combinaciones son múltiples y variadas y dependerán de nuestros gustos y de lo que necesitemos.

Casi todos los sistemas operativos traen un programa con el que podemos crear, modificar, borrar las particiones de nuestro disco. En Ms-Dos/Windows de llama FDISK, este programa solo puede trabajar con particiones de Ms-Dos/Windows. En Linux también se llama FDISK (/sbin/fdisk), pero es un programa más potente, capaz de trabajar y crear particiones tanto para Linux como otros sistemas operativos. Si vas a trabajar con Linux, es recomendable el uso del FDISK que viene con tu distribución, para evitar problemas.

Al contrario que Ms-Dos, Windows, OS/2, las diferentes particiones en linux no se denominan C:, D:, E:, ...., etc, existe una denominación propia:

Si los discos son IDE: · /dev/hda: Disco duro IDE como master en el canal IDE 1.
· /dev/hda1: Partición primaria 1 en /dev/hda
· /dev/hda2: Partición primaria 2 en /dev/hda
· /dev/hda3: Partición primaria 3 en /dev/hda
· /dev/hda4: Partición primaria 4 en /dev/hda
· /dev/hda5: Partición extendida 1 en /dev/hda
· /dev/hda6: Partición extendida 2 en /dev/hda
· .....
· .....
· /dev/hda16: Partición extendida 16 en /dev/hda
· /dev/hdb: Disco duro IDE como esclavo en el canal IDE 1.
· /dev/hdb1: Partición primaria 1 en /dev/hdb
· ........
· ........
· /dev/hdc: Disco duro IDE como master en el canal IDE 2.
· /dev/hdc1: Partición primaria 1 en /dev/hdc
· ........
· ........
· /dev/hdd: Disco duro IDE como esclavo en el canal IDE 2.
· /dev/hdd1: Partición primaria 1 en /dev/hdd
· ........
· ........

Si los discos son SCSI:

· /dev/sda: Disco duro SCSI nr.1.
· /dev/sda1: Partición primaria 1 en /dev/sda
· ........
· ........
· /dev/sdb: Disco duro SCSI nr.2.
· /dev/sdb1: Partición primaria 1 en /dev/sdb
· ........
· ........

IMPORTANTE: Es muy importante saber lo que se esta haciendo cuando trabajes con programas que modifican la tabla de particiones de un disco. Al cambiar la tabla de particiones de vuestro disco, se pierden los datos contenidos en las particiones afectadas. Realizar copias de seguridad de los datos que quieras mantener antes de usar FDISK.


Tomado de FAQ sobre Linux

El particionar el disco, es simplemente una manera de organizar tu disco duro. Puedes organizarlo con una sola partición o en varias.
Es el usuario el que deberá decidir cuantas particiones tendrá su disco, y el tamaño de las mismas, hay que recordar, que al menos hay que tener una partición primaria.

Desventajas de tener tu disco dividido en diferentes particiones.
· Ninguna

Ventajas en tener vuestro disco particionado en varias particiones:
· Si tienes un error/problema en una de ellas, las demás no se verán afectadas.
· Puedes tener diferentes sistemas operativos en vuestra maquina, totalmente independientes unos de otros.
· Puedes tener archivos de datos en particiones totalmente independientes.
· Puedes borrar/cambiar el contenido de una partición, sin que esto afecte a las demás.



La respuesta rápida y fácil es: recomendable al menos dos, una para el sistema/datos y otra para Swap. Usualmente se suelen tener tres, una para el sistema/programas (/), otra para los datos (/home) y otra para swap.

La respuesta larga y no tan fácil es mas complicada de explicar: Todo dependerá muchísimo del uso que se le vaya a dar al sistema.

Para sistemas que se utilicen de forma particular y por uno o pocos usuarios bastara con las dos/tres particiones antes mencionadas, esto evitara los problemas de saber que cantidad de espacio necesitan las diferentes particiones y el quedarnos sin espacio en alguna partición vital, mientras que nos sobra en otras.

Para sistemas servidores, con gran cantidad de servicios y usuarios es muy recomendable tener varias particiones/discos. Existe un documento (HOWTO: Multi Disk System Tuning) muy bueno y quizas complicado para el principiante que explica cuantas particiones y discos y que tamaño deberían tener en función del uso que se le vaya a dar al sistema, lo puedes encontrar en http://www.nyx.net/~sgjoen/disk.html o en cualquier servidor con documentación Howto. Otro documento (HOWTO: Linux Partition) , se puede encontrar en http://tldp.org/HOWTO/Partition/ .


Tomado de FAQ sobre Linux

Descripción

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 gasta 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.

Implementación

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).

Posibles ubicaciones

En los sistemas operativos se puede usar como área de intercambio un fichero o una partición (los dos son en realidad parte de un disco duro o almacenamiento secundario).

Fichero de intercambio

Un fichero en blanco puede prepararse para ser usado como área de intercambio. Esto tiene una gran ventaja:

Es fácil de crear, borrar, ampliar o reducir, según se crea necesario (a diferencia de una partición)

Pero también alguna desventaja:

* le afecta la fragmentación, ya que se encuentra dentro de un sistema de ficheros

El problema de la fragmentación no es grave, ya que el espacio de intercambio no siempre es accedido de forma secuencial, sino directa (en oposición a la secuencial).

Partición de intercambio

También se puede dedicar una partición entera del disco duro (o el disco completo) como área de intercambio. Ventajas:

Se puede conseguir mejor rendimiento si se coloca la partición en la zona más rápida del disco, que es al principio (los cilindros exteriores del disco, por donde pasan más datos a cada vuelta;

No hay problemas de fragmentación
No hay que usar ningún sistema de ficheros en concreto

Tiene pocas desventajas:

Crear una partición es un proceso algo difícil; de todas formas, si se elige bien el tamaño de la partición, no hará falta ningún cambio en el futuro
La partición siempre ocupará el mismo espacio, aunque no se esté usando al 100%

Otros dispositivos

Las tarjetas de vídeo incluyen una memoria, que en los modelos actuales puede ser de cientos de megabytes; además, es muy rápida, y no se está usando siempre.

Por eso no es extraño que ya se haya intentado usar esta memoria como dispositivo de intercambio (y como almacenamiento genérico). En Linux se puede hacer esto mediante MTD ("Memory Technology Device").

También se ha hecho con la memoria de una tarjeta de sonido, usando un controlador específico que la convierte en un dispositivo de bloque.

Uso en sistemas operativos

Cada sistema operativo gestiona la memoria virtual de forma distinta; por tanto el intercambio depende de la implementación de los algoritmos de intercambio.

En Linux

Linux se suele usar con una partición de intercambio, aunque también permite usar ficheros de intercambio.

Se pueden asignar varios dispositivos de intercambio, incluso de diferentes tipos, y asignar a cada uno una prioridad. Si la prioridad es la misma en varios, las páginas de memoria se distribuirán como en un RAID de nivel 0. Esto permite que los dispositivos de swap se usen en paralelo, cosa que puede aumentar la eficacia, sobre todo si están en discos independientes.

Programas

Para crear un área de intercambio, se usa el comando mkswap nombre, donde nombre puede ser un fichero o la ruta a un dispositivo de disco (por ejemplo /dev/hda1). Esto prepara el dispositivo y le pone la cabecera apropiada.

Si lo que se está usando es un fichero swap, el contenido puede ser cualquiera (se destruirá), y lo que importa es el tamaño. Pero además, mkswap tiene un requisito especial: el fichero no ha de tener agujeros. Quiere decir que los bytes del fichero han de estar realmente en el disco. Esto no pasa siempre: si se usa cp /dev/zero nuevo, el sistema de ficheros probablemente vea que se trata de un fichero disperso (tiene regiones muy grandes todas con nulos), y no lo grabará realmente en el disco. Al usar algo como dd if=/dev/zero of=nuevo bs=1024 count=65536 se le fuerza a que escriba todos los bloques, sin agujeros.

El dispositivo de intercambio se activa con el comando swapon nombre y se desactiva con swapoff nombre. En el fichero /proc/swaps se muestra una lista de los dispositivos de intercambio activos, y en /etc/fstab se suelen añadir las particiones swap que se activan al inicio del sistema.

Con el programa free se puede ver, además de cuánta RAM queda libre, el tamaño total de las áreas de intercambio, cuán de llenas están, y cuánta memoria (RAM) se está usando como caché.

¿Hace falta swap?

La memoria de intercambio sirve como RAM adicional. Entonces, en un ordenador que ya tenga mucha memoria RAM, ¿hace falta swap?

Aunque puede funcionar bien sin tener ningún área de intercambio, es muy recomendable crearla. La razón es que siempre es bueno quitar de la memoria los procesos poco usados, ya que eso permite usar la RAM para otras tareas, como por ejemplo la memoria caché de las operaciones de entrada/salida, como el acceso al disco.

Un ejemplo: supongamos que un usuario abre en un programa una imagen muy grande, que le consume el 80% de la memoria RAM, y después, sin cerrarla, se pone a hacer varias búsquedas de ficheros por su disco duro. Si no se puede llevar a disco ese proceso grande, quiere decir que ha de mantenerse en memoria física; por tanto, las búsquedas sólo tendrán menos del 20% de la memoria RAM para hacer de caché, y por eso serán poco eficientes. Con swap, se podría llevar a disco el proceso grande (o al menos una parte), hacer esas búsquedas usando toda la RAM como caché, y luego restaurar el proceso, si hace falta.

Hay algunos procesos que, debido a la función que realizan, están poco activos, y puede ser recomendable que estén en el área de intercambio para liberar un poco la memoria RAM. Por ejemplo, un servidor SSH (mecanismo de control remoto del ordenador) tiene que estar siempre activo para atender las posibles peticiones, pero sólo empezará a trabajar de verdad cuando un usuario se conecte.

Tamaño del espacio de intercambio

Ésta es una discusión típica entre los administradores de sistemas, y una duda común que sale durante la instalación de un sistema Linux (o cualquier UNIX).

Hay una regla muy conocida que dice que "la swap ha de ser el doble de la memoria RAM instalada", pero esto ya no es válido hoy en día. Esta regla funcionaba bien antes, cuando siempre se compraba menos RAM de la que realmente se necesitaba, porque era muy cara. Tener 3 veces más memoria que la física iba bien para la mayoría de usuarios. Pero en un ordenador nuevo que tenga 1 Gb de RAM, no será necesario gastar 2 Gb en una partición de swap, porque probablemente no se usará.

La regla habitual usada para decidir el tamaño del área de intercambio es "pensar en cuánto querrías tener y en cuánto tienes, y poner como swap la diferencia". Por ejemplo, si un usuario necesita abrir ficheros de hasta 700 Mb, pero sólo tiene 256 Mb de RAM, entonces lo que le falta (aprox. 500 Mb) se ha de poner como swap, como mínimo. Más swap puede ir bien, pero no será muy usada.

Si el ordenador ha de soportar mucha carga, la partición ha de ser mínimamente grande; se recomienda algo más de 128 Mb (en [5] hay más ejemplos sobre esto).

Seguridad

El espacio de intercambio sirve para guardar, aproximadamente, las mismas cosas que la memoria RAM. Esto incluye información privada, contraseñas, documentos abiertos (aunque no se hayan grabado), etc. Pero con una diferencia: la memoria RAM se pierde al apagar el ordenador; en cambio, la swap no (porque está dentro del disco duro).

Esto hace sea necesaria una política de borrado de swaps en algunos sistemas donde la privacidad sea importante. Borrar una partición de swap es muy fácil (sólo hay que escribirla con ceros mediante dd), pero hacerlo manualmente puede ser tedioso, sobre todo porque antes hay que desmontarla y luego volverla a montar.

Otra opción es escribir un código que se ejecute al apagar el ordenador para que haga esto cada vez, cosa que puede ser algo lenta. Existen programas que automatizan estas tareas en varios sistemas operativos.

De todas formas, borrar la swap al apagar no asegura los datos mientras el ordenador está encendido, ya que en el disco habrá información que supuestamente sólo debía estar en memoria RAM. Por eso, en algunos casos se usa un dispositivo de intercambio cifrado, que ofrece más protección, pero como contrapartida, es mucho más lento. Eso afecta al rendimiento general del sistema, y hace que esta solución sea prohibitiva en el caso general.

Naturalmente, también es necesario controlar los permisos de los dispositivos de intercambio, para evitar que usuarios no autorizados puedan leer un fichero de swap, y por tanto la memoria.

Tomado de la Wikipedia



Si tienes todo el espacio de tu disco ocupado por otros sistemas operativos, deberás conseguir espacio para poder crear la partición/es donde instalar Linux. Existen tres maneras de hacer esto:

La primera, compra un disco duro he instálalo.

· Ventajas: Es la manera más fácil y segura de conseguir mas espacio.
· Desventajas: Es la mas cara, tienes que instalar un nuevo disco duro.

La segunda, es borrar todas las particiones de tu disco duro, con lo que perderás toda la información que contiene, y empezar desde cero a definir las diferentes particiones del disco. Así podrás definir las particiones para Linux y otros sistemas operativos si vas a tenerlos.

· Ventajas: Es la manera más fácil y barata de conseguir mas espacio, no necesitas comprar otro disco.

· Desventajas: Pierdes la información que ya tengas en el disco, mas trabajo, ya que si tienes mas de un sistema operativo, tienes que instalarlos también aparte de Linux.

La tercera, existen unos programas que permiten cambiar la tabla de particiones del disco, sin perder los datos de las mismas. Si tienes por ejemplo una partición de 1GB con 500MB libres, puedes utilizar uno de estos programas para "robarle" espacio a la partición y crear una nueva partición, teniendo al final por ejemplo una partición de 600MB con la información de la partición original y una nueva partición con el resto de espacio liberado.

· Ventajas: Liberas espacio sin perder datos, no tienes que instalar de nuevo la información/sistema operativo contenido en la partición original.
· Desventajas: Estas jugando con la tabla de particiones del disco, hay que saber muy bien lo que se hace y como utilizar estos programas "ladrones de espacio". Si algo va mal, puedes perder la información que tenias en la partición original y deberás empezar de cero como en el caso segundo.


Tomado de FAQ sobre Linux

Grub y Lilo son las aplicaciones mas conocidas para gestionar el arranque de Linux, basicamenten este proceso de arranque consiste en los siguientes pasos:

-En el MBR se busca una una pequeña aplicacion de inicio

- Esta aplicacion de inicio hace un llamado a un programa gestor de arranque que tiene registrada la particion inicial de donde se encuentra el sistema operativo que deseamos arrancar (LINUX)

-Finalmente se arranca desde la particion seleccionada

La manera más fácil de arrancar Linux es con Grub. Pásate por la sección ``Sobre Grub'' para mas información.
Tomado de FAQ sobre Linux

Introducción

Estos se utilizan para hacer alguna variación en el código fuente de una aplicación, con el fin de adecuar una aplicación a un comportamiento particularmente deseado. estas variaciones pueden ser actualizaciones, reconfiguraciones, añadir capacidades, entre otros.

Es una forma simple de recibir modificaciones de código y es bastante común entre los desarrolladores pero se deben tener ciertos cuidados para que la aplicación de los parches sea adecuada. 

¿Cómo me beneficia usar parches?

Al obtener el código fuente (*) se tiene un árbol de directorios y ficheros (código-inicial) en el cual realizamos adaptaciones según nos convenga.

Es común que posterior a haber hecho todas las modificaciones para adaptar el código fuente a nuestra necesidad(código-adaptado), se requiera usar una cualidad que aparece en una versión actualizada del código original(código actualizado). Dada esa situación se tienen 2 opciones:

 

  1. Hacer de nuevo todas las adaptaciones en el código actualizado.
  2. Utilizar un parche y en 2 comandos se tiene el código-adaptado con la actualización desea
 
 

¿Cómo funciona el parche?

\

Teniendo el código original, se ejecuta el comando diff que como salida nos muestra la diferencia entre el código-inicial y el código-actualizado, básicamente nos dice que cosas son las que se tienen q cambiar el el código-inicial para que sea idéntico al código actualizado.

Una ves capturada la salida en un archivo ya se tiene el parche, luego se aplica el parche mediante el comando patch, que ejecuta las modificaciones para que el código-adaptado tenga los cambios del codigo-actualizado

Un ejemplo a continuación:

 

 

jcaceres@Josexato:~$ ./codigo-v1.0

Autor: jcaceres

codigo de pruebas version 1.0

Este codigo nos sirve como material de ejemplo para el uso de parches

funcion 1

funcion 2

 

jcaceres@Josexato:~$ ./codigo-v1.0-modificado

Autor: jcaceres

codigo de pruebas version 1.0

Este codigo nos sirve como material de ejemplo para el uso de parches

funcion 1

funcion 2 modificada

 

jcaceres@Josexato:~$ ./codigo-v2.0

Autor: jcaceres

codigo de pruebas version 2.0

Este codigo nos sirve como material de ejemplo para el uso de parches

funcion 1 actualizada

funcion 2

 

jcaceres@Josexato:~$ diff -Nu codigo-v1.0 codigo-v2.0 > parche

jcaceres@Josexato:~$ patch codigo-v1.0-modificado < parche

patching file codigo-v1.0-modificado

Hunk #1 succeeded at 1 with fuzz 1.

 

jcaceres@Josexato:~$ ./codigo-v1.0-modificado

Autor: jcaceres

codigo de pruebas version 2.0

Este codigo nos sirve como material de ejemplo para el uso de parches

funcion 1 actualizada

funcion 2 modificada

  

No es recomendable usar parches en estos casos:

  • La adaptación es simple y corta de rehacer
  • Las adaptaciones hechas están en el mismo intervalo de código donde el parche se aplicará
  • La versión actualizada es muy diferente del código original

 


Como siempre para mas información consultar:

  • man diff
  • man patch
  •  


 

 

 

LINsoftware por el uso del mismo, la segunda, es que el sistema viene acompañado del código fuente. El sistema lo forman el Núcleo (Leer sección ``Kernel/Núcleo'') del sistema mas un gran número de programas / librerías que hacen posible su utilización.

Linux se distribuye bajo la GNU General Public License , por lo tanto, el código fuente tiene que estar siempre accesible.

El sistema ha sido diseñado y programado por multitud de programadores alrededor del mundo. El núcleo del sistema sigue en continuo desarrollo bajo la coordinación de Linus Torvalds, la persona de la que partió la idea de este proyecto, a principios de la década de los noventa.

Día a día, mas y mas programas / aplicaciones están disponibles para este sistema, y la calidad de los mismos aumenta de versión a versión.

La gran mayoría de los mismos vienen acompañados del código fuente y UX es un sistema operativo, compatible Unix. Dos características muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningún tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompañado del código fuente. El sistema lo forman el Núcleo (Leer sección ``Kernel/Núcleo'') del sistema mas un gran número de programas / librerías que hacen posible su utilización.

Linux se distribuye bajo la GNU General Public License, por lo tanto, el código fuente tiene que estar siempre accesible.


En los últimos tiempos, ciertas casas de software comercial han empezado a distribuir sus productos para Linux y la presencia del mismo en empresas aumenta rápidamente por la excelente relación calidad-precio que se consigue con Linux.

Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II,Amiga y Atari, tambien existen versiones para su utilización en otras plataformas, como Alpha, ARM, MIPS, PowerPC y SPARC.


Tomado de FAQ sobre Linux

LINUX hace su aparición a principios de la decada de los noventa, era el año 1991 y por aquel entonces un estudiante de informática de la Universidad de Helsinki, llamado Linus Torvalds empezó, como una afición y sin poderse imaginar a lo que llegaria este proyecto, a programar las primeras lineas de código de este sistema operativo llamado LINUX.

Este comienzo estuvo inspirado en MINIX, un pequeño sistema Unix desarrollado por Andy Tanenbaum. Las primeras discusiones sobre Linux fueron en el grupo de noticias comp.os.minix, en estas discusiones se hablaba sobre todo del desarrollo de un pequeño sistema Unix para usuarios de Minix que querian más.

Linus nunca anunció la version 0.01 de Linux (agosto 1991), esta versión no era ni siquiera ejecutable, solamente incluia los principios del núcleo del sistema, estaba escrita en lenguaje ensamblador y asumia que uno tenia acceso a un sistema Minix para su compilación.

El 5 de octubre de 1991, Linus anunció la primera versión "Oficial" de Linux,version 0.02. Con esta version Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los terminos soporte, documentación, distribución ..... Despues de la version 0.03, Linus saltó en la numeración hasta la 0.10, más y más programadores a lo largo y ancho de internet empezaron a trabajar en el proyecto y despues de sucesivas revisiones, Linus incrementó el número de version hasta la 0.95 (Marzo 1992). Más de un año despues (diciembre 1993) el núcleo del sistema estaba en la version 0.99 y la versión 1.0 no llego hasta el 14 de marzo de 1994.

Desde entonces no se ha parado de desarrollar, la version actual del nucleo es la 2.2 y sigue avanzando dia a dia con la meta de perfeccionar y mejorar el sistema.

Tomado de FAQ sobre Linux

Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo. LINUX utiliza la llamada multitarea preventiva, la cual asegura que todos los programas que se están utilizando en un momento dado serán ejecutados, siendo el sistema operativo el encargado de ceder tiempo de microprocesador a cada programa.

 

· Multiusuario: Muchos usuarios usando la misma maquina al mismo tiempo.

· Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II,Amiga y Atari, también existen versiones para su utilización en otras plataformas, como Alpha, ARM,MIPS, PowerPC y SPARC.

· Multiprocesador: Soporte para sistemas con mas de un procesador esta disponible para Intel y SPARC.

· Funciona en modo protegido 386.

· Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema.

· Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un programa que están siendo usadas actualmente.

· Política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria.

· Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A una partición o un archivo en el sistema de archivos, o ambos, con la posibilidad de añadir más áreas de intercambio sobre la marcha Un total de 16 zonas de intercambio de 128Mb de tamaño máximo pueden ser usadas en un momento dado con un límite teórico de 2Gb para intercambio. Este limite se puede aumentar fácilmente con el cambio de unas cuantas lineas en el codigo fuente.

· La memoria se gestiona como un recurso unificado para los programas de usuario y para la caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y ésta puede a su vez ser reducida cuando se ejecuten grandes programas.

· Librerías compartidas de carga dinámica (DLL's) y librerías estáticas.

· Se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem, permitiendo el uso de depuradores sobre los programas no sólo en ejecución sino también tras abortar éstos por cualquier motivo.

· Compatible con POSIX, System V y BSD a nivel fuente.

· Emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel binario.

· Todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; además todo ello se puede distribuir libremente. Hay algunos programas comerciales que están siendo ofrecidos para Linux actualmente sin código fuente, pero todo lo que ha sido gratuito sigue siendo gratuito.

· Control de tareas POSIX.

· Pseudo-terminales (pty's).

· Emulación de 387 en el núcleo, de tal forma que los programas no tengan que hacer su propia emulación matemática. Cualquier máquina que ejecute Linux parecerá dotada de coprocesador matemático. Por supuesto, si el ordenador ya tiene una FPU (unidad de coma flotante), esta será usada en lugar de la emulación, pudiendo incluso compilar tu propio kernel sin la emulación matemática y conseguir un pequeño ahorro de memoria.

· Soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos dinámicamente.

· Consolas virtuales múltiples: varias sesiones de login a través de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinámicamente y puedes tener hasta 64.

· Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo típicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud.

· Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivos especial: no es necesario ningún comando especial para usar la partición MS-DOS, esta parece un sistema de archivos normal de Unix (excepto por algunas restricciones en los nombres de archivo, permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido añadido al núcleo de desarrollo y estará en la próxima versión estable.

· Un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de archivos DOS.

· Soporte en sólo lectura de HPFS-2 del OS/2 2.1.

· Sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM.

· TCP/IP, incluyendo ftp, telnet, NFS, etc.

· Software cliente y servidor Netware.

· Lan Manager / Windows Native (SMB), software cliente y servidor.

· Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP, Netrom, etc.

Tomado de FAQ sobre Linux

Reglas de Netiquette

Desde los inicios del Grupo Linux de la PUCP (Tuxpuc) siempre ha habido el mismo problema, el no saber como formular una pregunta! El objetivo de esta pregunta es que cada integrante de la lista sepa como formular una buena pregunta y así esta pueda ser atendida de la manera más cordial por el grupo. Para esto se elaboró un documento el cual explica como uno debería formular una buena pregunta pregunta. El documento es bien llamado Cómo hacer preguntas de manera inteligente, espero que pueda resolver alguna de sus dudas.

Usamos este termino para referirnos a las reglas de etiqueta en la red, muchas veces vemos que en algunos mail las personas ponen asuntos que no dicen nada, escriben con mayúsculas y algunas veces usan "k" en vez de "que". Este documento nos puede dar algunas ideas de como debemos comportarnos, empieza algo así:

"Si cuando nos comunicamos con nuestros amigos es conveniente seguir las pautas de buenas maneras en la red (netiquette), cuando nos comunicamos en masa lo es mucho más. Si no seguimos estas sencillas normas, corremos el riesgo de ser considerados novatos, maleducados, o provocadores y reventadores. (Trolls) Estas reglas no han sido impuestas por ninguna organización, sino que son reglas de facto que han ido surgiendo de la propia comunidad de Internet. Fueron compiladas en 1995 en un documento llamado RFC 1855".

Aquí el Documento