Se distribuye su código fuente, lo cual permite a cualquier persona que así lo desee hacer todos los cambios necesarios para resolver problemas que se puedan presentar, así como también agregar funcionalidad. El único requisito que esto conlleva es poner los cambios realizados a disposición del público.
Es desarrollado en forma abierta por cientos de usuarios distribuídos por todo el mundo, los cuales la red Internet como medio de comunicación y colaboración. Esto permite un rápido y eficiente ciclo de desarrollo.
Cuenta con un amplio y robusto soporte para comunicaciones y redes, lo cual hace que sea una opción atractiva tanto para empresas como para usuarios individuales.
Da soporte a una amplia variedad de hardware y se puede correr en una multitud de plataformas: PC's convencionales, computadoras Macintosh y Amiga, así como costosas estaciones de trabajo
A ) Linux y sus Shells
Cada usuario de un sistema Linux tiene su propia interfaz de usuario o Shell. Los usuarios pueden personalizar sus shells adecuándolos a sus propias necesidades específicas. En este sentido, el Shell de un usuario funciona más como un entorno operativo que el usuario puede controlar. Linux permite la utilización de distintos tipos de shell programables. Para aquellos que se pregunten qué es un shell es como el command.com de ms-dos, es decir, un intérprete de comandos. Es básicamente la interfaz, el modo de comunicación, entre el usuario y el sistema. Cada shell tiene sus características propias. La principal diferencia que existe entre los distintos tipos de shell radica en la sintáxis de la linea de comandos. No es necesario aprender a programar con todos los tipos de shell ya que sabiendo uno los conocemos todos, así que es mucho más sencillo de lo que parece. Concluyendo podemos decir que un shell conecta las ordenes de un usuario con el Kernel de Linux (el núcleo del sistema), y al ser programables se puede modificar para adaptarlo a tus necesidades. Por ejemplo, es muy útil para realizar procesos en segundo plano.
B ) Linux es Multitarea:La multitarea no consiste en hacer que el procesador realize más de un trabajo al mismo tiempo (un solo procesador no tiene esa capacidad), lo único que realiza es presentar las tareas de forma intercalada para que se ejecuten varias simultáneamente. Por lo tanto en Linux es posible ejecutar varios programas a la vez sin necesidad de tener que parar la ejecución de cada aplicación.
C ) Linux es Multiusuario:Para que pueda desarrollar esta labor (de compartir los recursos de un ordenador) es necesario un sistema operativo que permita a varios usuarios acceder al mismo tiempo a través de terminales, y que distribuya los recursos disponibles entre todos. Así mismo, el sistema debería proporcionar la posibilidad de que más de un usuario pudiera trabajar con la misma versión de un mismo programa al mismo tiempo, y actualizar inmediatamente cualquier cambio que se produjese en la base de datos, quedando reflejado para todos. Pues bien, este sistema operativo no lo tenemos que inventar puesto que yá esta inventado. Pero no todo es tan bonito como se pinta ya que el hecho de que se conecten a tu ordenador más usuarios significa que es más dificil mantener tu seguridad. Otra de las caracteristicas referentes a esta tema es que Linux es multiplataforma. Fue diseñada para plataforma Intel pero ha sido fácilmente exportado a diversos tipos de sistema. En conclusión, en el sistema multiusuario, varios usuarios pueden acceder a las aplicaciones y recursos del sistema Linux al mismo tiempo. Y, por supuesto, cada uno de ellos puede ejecutar varios programas a la vez (multitarea).
D ) Linux es Seguro:El concepto de seguridad en redes de ordenadores es siempre relativo. Un sistema puede ser seguro para un determinado tipo de actividades e inseguro para otras. Por ejemplo, no sería recomendable guardar secretos de estado en un sistema Linux al que pudiera acceder mucha gente y careciese de un administrador dedicado absolutamente a la tarea, ya que según todos los hackers, no hay sistema cuya seguridad sea perfecta. El sistema de contraseñas que protege el acceso al sistema se basa en el algoritmo DES, el más probado de los algoritmos de seguridad. Pero claro, por muy bueno que sea el algoritmo, si después permitimos a sus usuarios poner como contraseña su nombre de usuario, de nada servirá la contraseña y todos sus esfuerzos. Si se quiere que el sistema sea seguro, se debe administrar de tal forma que se tengan controlados a los usuarios en todo momento, para poder aconsejarles e incluso regañarles, en caso de que cometan alguna imprudencia, todo ello con el fin de mantener la propia seguridad de sus datos y de los nuestros. Para ayudarse a mantener la seguridad surgen nuevas herramientas constantemente, tanto para detectar intrusos como para encontrar fallos en el sistema y evitar así ataques desde el exterior.
E ) Linux y su Control de Dispositivos Una vez instalado Linux se podrá acceder a un directorio llamado /dev Dentro de él se observa un montón de archivos con nombres tan dispares como hda1(Disco Duro IDE) o mouse. Estos son los controladores de dispositivos del sistema. La mayoría de los sistemas operativos para ordenadores personales, como Ms-Dos, llevaban parcialmente implementadas en el núcleo las facilidades de acceso a los distintos dispositivos, como el disco duro o el ratón, de tal modo que a no ser que se reescriba el núcleo, dificilmente se podrá tener el control sobre nuevos tipos de dispositivos. Los controladores son tratados de forma independiente al núcleo del sistema, y por lo tanto se podrá añadir tantos controladores como dispositivos nuevos se vayan añadiendo al ordenador. Por otra parte todos los dispositivos son tratados de igual forma, y gracias a ello se podrá redirigir datos de la misma manera al disco duro o a la impresora.
F ) Linux y las Redes de Ordenadores Cuando se trabaja con Linux se está ante un sistema operativo orientado al trabajo de redes de ordenadores. Se dice esto porque cuando se trabaja con un sistema como Ms-Dos se sabe que todas las operaciones que conlleva las órdenes ejecutadas se llevan a cabo dentro de la carcasa del ordenador mientras que en Linux no se puede garantizar esta afirmación. Linux dispone de varios protocolos como PPP, SLIP, TCP/IP, PLIP, etc.., para la transferencia de archivos entre plataforma. Tiene a su disposición multitud de aplicaciones de libre distribución que permiten navegar a través de Internet y enviar y recibir correo electrónico. Posee gran variedad de comandos para comunicación interna entre usuarios que se encuentren ubicados en plataformas distintas (gracias a utilidades como telnet). En fin, un universo de posibilidades de comunicación a recopilar las distintas aplicaciones escritas para Linux y ponerlas en uno u otro formato, con diferentes facilidades de instalación, mantenimiento y configuración. La licencia garantiza la libre distribución de las aplicaciones, pero las empresas pueden cobrar por el trabajo de agrupar un determinado conjunto de esas aplicaciones y hacer más sencilla su instalación. Lo único que no varía para nadie es el núcleo del sistema, que se desarrolla de forma coordinada y con actualizaciones sistemáticas. Es por ello que antes de instalar Linux hemos de elegir qué distribución nos interesa más.
G ) Independencia de dispositivos
Linux admite cualquier tipo de dispositivo (módems, impresoras) gracias a que cada una vez instalado uno nuevo, se añade al Kernel el enlace o controlador necesario con el dispositivo, haciendo que el Kernel y el enlace se fusionen. Linux posee una gran adaptabilidad y no se encuentra limitado como otros sistemas operativos.
H ) Comunicaciones
Linux es el sistema más flexible para poder conectarse a cualquier ordenador del mundo. Internet se creó y desarrollo dentro del mundo de Unix, y por lo tanto Linux tiene las mayores capacidades para navegar, ya que Unix y Linux son sistemas prácticamente idénticos. Con linux podrá montar un servidor en su propia casa sin tener que pagar las enormes cantidades de dinero que piden otros sistemas.
Linux no sacrifica en ningún momento la creatividad, tal y como lo hacen algunas compañías informáticas. Linux es una ventana abierta por la que es posible huir hacia un mundo donde la verdadera informática puede ser disfrutada sin limites ni monopolios.
Linux es distribuido mediante una serie de distribuciones como RedHat, Slackware, Debían … las cuales se diferencian por su método de instalación y por los paquetes (software) que viene incluido. Es posible que encuentre a la venta versiones de Linux y piense: "si, si…. decían que era gratis…" No se asuste, todo el software de Linux esta regido por la licencia de GNU, con la cual cualquier persona puede modificar un programa y venderlo según el desee, con la condición que la persona que compra ese producto puede realizar la misma acción o simplemente hacer copias para todos aquellos que lo quieran sin tener que pagar más (por lo tanto no se extrañe si encuentra distribución comerciales). Esta licencia es la garantía que afirma la absoluta libertad de este sistema operativo. Si no desea ni siquiera pagar esa mísera cantidad puede descargárselo de Internet totalmente gratis (bueno, sólo tendrá que pagar la factura de teléfono ).
III- Versiones
El desarrollo inicial Linux ya aprovechaba las características de conmutación de tareas en modo protegido del 386, y se escribió todo en ensamblador.
Linus nunca anunció la versión 0.01 de Linux (agosto 1991), esta versión no era ni siquiera ejecutable, solamente incluía los principios del núcleo del sistema, estaba escrita en lenguaje ensamblador y asumía 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, – versión 0.02. Con esta versión 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 términos soporte, documentación, distribución.
Después de la versión 0.03, Linus salto 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 después de sucesivas revisiones, Linus incremento el numero de versión hasta la 0.95 (Marzo 1992). Mas de un año después (diciembre 1993) el núcleo del sistema estaba en la versión 0.99 y la versión 1.0 no llego hasta el 14 de marzo de 1994.
La versión actual del núcleo es la 2.2 y sigue avanzando día a día con la meta de perfeccionar y mejorar el sistema.
La ultima versión estable es la versión 2.2, que soporta muchos más periféricos, desde procesadores hasta joysticks, sintonizadores de televisión, CD ROMs no ATAPI y reconoce buena cantidad de tarjetas de sonido. Incluye también soporte para tipos de archivos para Macintosh HFS, Unix UFS y en modo de lectura, HPFS de OS/2 y NTFS, de NT.
Otras Versiones:
Linux 2.0
Linux 2.2
Linux 2.3
IV- Preguntas y respuestas acerca del sistema
A ) ¿Cuál es la ventaja de GNU/Linux?
La ventaja de GNU/Linux es que pertenece al desarrollo del software libre. El software libre, a diferencia del software propietario, es desarrollado bajo la premisa de que los programas son una forma de expresión de ideas y que las ideas, como en la ciencia, son propiedad de la humanidad y deben ser compartidas con todo el mundo (como ya se expuso en la licencia del público en general del GNU). Para lograr esto, el software libre expone el código fuente de sus programas a quien desee verlo, modificarlo o copiarlo.
El software propietario no permite que nadie vea el código fuente de sus programas, porque eso sería exponer la manera en que estos funcionan. Las empresas creen que si la gente pudiera ver cómo está construido su software, entonces no habría necesidad de comprarlo, ya que la gente construiría el propio – o la competencia se robaría sus ideas. También, al tratar de cubrir el mercado más amplio posible, ignoran las necesidades particulares de las minorías. Con el software libre, la gente no compite entre sí, sino que se ayudan mejorando los programas que ya existen y adaptando el software a sus necesidades, sin importar cuán específicas sean estas.
B ) * Software propiertario:El software propietario es aquel que es propiedad intelectual de alguna empresa. Lo que las empresas hacen con sus programas es venderlos, asi que sus productos vienen acompañados de licencias de uso que evitan que quien tenga posesión de ellos los copien o alteren. La desventaja es que los usuarios de software propietario no pueden adaptar los programas a sus necesidades específicas, mejorarlos o corregir errores que encuentren. Tampoco pueden hacer copias y distribuirlas para algún proyecto, aplicación o fin personal, a menos que paguen más licencias de uso.
¿Qué puedo hacer con el Software Libre? ¿Cuál es su alcance?
El Software Libre es un género nuevo de software, paralelo al que conocemos y pretende cubrir las necesidades de los usuarios, ya que está hecho por los usuarios mismos. Hoy en día hay ciertas áreas del cómputo en las que el software libre no ha penetrado de manera considerable.
¿Qué puedo hacer con Linux?
Las áreas de aplicabilidad de Linux son varias. En sus inicios fue muy utilizado por personas relacionadas con ciencias de la computación, desde hace algunos años ha sido también adoptado en instalaciones científicas de diversa índole (Física, Biología, Ciencias Espaciales y otras). Son de particular interés los proyectos en el área de Computación de Alto Rendimiento, donde Linux se está utilizando intensiva y extensivamente.
Recientemente, también muchas compañías grandes han introducido soporte para Linux en su línea de productos. Un caso ejemplar es Corel, desarrolladores del popular programa de oficina WordPerfect, quienes han venido trabajando de cerca con la comunidad de Linux y ofrecen una versión de WordPefect en forma gratuita para uso personal. Además de WordPerfect hay otros programas de oficina disponibles para Linux, pero haciendo honor a la verdad, las aplicaciones de escritorio son un área con poco desarrollo en este ambiente. Otras compañías internacionales que utilizan y desarrollan productos para Linux incluyen a IBM, Netscape, Oracle, HP y Dell.
C ) ¿Dónde instalo Linux?
Linux se puede instalar en cualquier disco que tengas en tu sistema y en cualquier particion del disco duro (Primaria o extendida).
D ) ¿Qué es una partición? ¿Cómo creo una partición?
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 primaria y 1 extendida. En la partición extendida se podrán definir todas (bueno también existe un limite, 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 mas 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 trabajas 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.
¿Cuantas particiones necesito para Linux?
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á muchisimo 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 particion 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 quizás 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, o en cualquier servidor con documentación Howto.
¿Porque necesito diferentes particiones?
El particionar el disco, es simplemente una manera de organizar tu disco duro. Podrás 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 vuestro 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.
Poder tener diferentes sistemas operativos en vuestra maquina, totalmente independientes unos de otros.
Poder tener vuestros archivos de datos en particiones totalmente independientes.
Poder borrar/cambiar el contenido de una partición, sin que esto afecte a las demás.
E ) ¿Existen también los virus en GNU/Linux? Se ha sabido de un virus llamado bliss.
F) ¿Dónde se puede conseguir el GNU/Linux? Hay múltiples mirrors de GNU/Linux en el Internet. Generalmente se recomienda usar la distribución RedHat ya que es la más usada y la que va más a la vanguardia con respecto a la evolución del Software Libre.
Una distribución de Linux se puede conseguir gratis o por un muy bajo precio, o incluso puede comprarse una máquina con Linux precargado.
¿Cómo se puede aprender a usarlo? El Software Libre es tan extenso, que uno nunca deja de aprender. Lo importante es aprender a usar el software. Al principio puede ser duro, porque todo es distinto y algunas cosas no son del todo amigables para el neófito. Antes de dar ningún paso, es necesario leer y documentarse con respecto a lo que habrá de hacerse. Si no te documentas, puedes arrepentirte, y terminarás volviendo de todos modos al manual. El mejor apoyo es el de la sección de documentación que aparece en las páginas que hablan sobre el Linux en el internet.
La sección de documentación es la información de Linux y la ayuda técnica que están disponibles en una variedad amplia de localizaciones. Hay las rutas " oficiales " tales como la correspondencia del software lógica de Linux, el proyecto de la documentación de Linux, el HOWTOs, y el FAQs (hecho con frecuencia de preguntas). Hay docenas de materiales de referencia publicados, de los libros y de los diarios de la impresión a los " ezines electrónicos " disponibles por el email y/o los varios sitios del Web.)
¿Qué computadora se necesita para correr el Linux?
Es necesario un 386, o superior, con al menos 2Mb de memoria y una disquetera para poder arrancar Linux, no obstante es difícil correr aplicaciones útiles con esta configuración. Para poder instalar Linux se requiere al menos 4Mb de memoria y por lo menos 8Mb si se desea correr el ambiente gráfico XWindows y, obviamente, un disco duro instalado en la máquina. Linux soporta arquitecturas VESA local bus y PCI. También soporta buses MCA (arquitectura propietaria de IBM) y ESDI. Linux soporta tambien multi-procesadores en base a arquitecturas Intel MP.
¿Se puede correr GNU/Linux en una laptop?
Claro que de puede, y se tienen muchos recursos para consultar como el PCMCIA-Como, el GNU/Linux PCMCIA Information Page, y GNU/Linux on Laptops , con lo que se tiene suficiente para empezar.
¿Si se posee una Mac, se puede tener el sistema GNU/Linux?
GNU/Linux, al ser un sistema libre, ha sido portado hacia muchas arquitecturas, y Mac no está excluída. Se puede correrlo sin problemas instalando GNU/LinuxPPC, MkGNU/Linux o m68k, dependiendo del tipo de Mac que se tenga.
¿Cómo se puede hacer para que una máquina tengo dos sistemas a la vez?Cuando se trata de otros sistemas operativos, se debe de instalar el sistema operativo que no es GNU/Linux primero. Si es Windows, se debe usar el fdisk de DOS para particionar el disco en dos áreas: la de Windows y la de GNU/Linux. Luego, se instala Windows en modo personalizado, ya que el modo rápido puede regresar al disco a una sola partición. Luego se instala GNU/Linux, borrando la partición que se dejó para GNU/Linux y creando con el espacio libre que queda las particiones nativas y de swap que se necesite.
¿Se puede correr MS Office u otras aplicaciones con GNU/Linux?
Aparentemente sí, con WINE se pueden correr aplicaciones hasta de Win32, pero usar aplicaciones propietarias arriba de un kernel libre no hace la gran diferencia a usar puro software propietario.
G ) ¿Qué es el "kernel"? Kernel (Núcleo) es el programa que tiene control total de la máquina y administra sus recursos. GNU/Linux, desde un punto estricto es un kernel, no un sistema operativo. El sistema operativo es el kernel junto con todas las herramientas necesarias para que la computadora pueda operar. De poco sirve un kernel sin un shell, ni ambiente gráfico, ni herramientas de administración.
El kernel es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.
Las funciones mas importantes del mismo, aunque no las únicas, son:
Administración de la memoria, para todos los programas en ejecución.
Administración del tiempo de procesador, que estos programas en ejecución utilizan.
Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda.
Existen dos versiones del Linux kernel:
Versión de producción: La versión de producción, es la versión estable hasta el momento. Esta versión es el resultado final de las versiones de desarrollo o experimentales.
Cuando el equipo de desarrollo del kernel experimental, decide que ha conseguido un kernel estable y con la suficiente calidad, se lanza una nueva versión de producción o estable. Esta versión es la que se debería utilizar para un uso normal del sistema, ya que son las versiones consideradas mas estables y libres de fallos en el momento de su lanzamiento.
Versión de desarrollo: Esta versión es experimental y es la que utilizan los desarrolladores para programar, comprobar y verificar nuevas características, correcciones, etc. Estos núcleos suelen ser inestables y no se deberían usar, a no ser que sepas lo que haces.
Como interpretar los números de las versiones:
Las versiones del kernel se numeran con 3 números, de la siguiente forma: XX.YY.ZZ
XX: Indica la serie principal del kernel. Hasta el momento solo existen la 1 y 2. Este numero cambia cuando la manera de funcionamiento del kernel ha sufrido un cambio muy importante.
YY: Indica si la versión es de desarrollo o de producción. Un numero impar, significa que es de desarrollo, uno par, que es de producción. ZZ: Indica nuevas versiones dentro de una versión, en las que lo único que se ha modificado, son fallos de programación /bugs.
Unos ejemplos nos ayudaran a entenderlo mejor:
ej1: versión del kernel 2.0.0: Kernel de la serie 2 (XX=2), versión de producción 0 (YY=0 par), primera versión de 2.0 (ZZ=0)
ej2: versión del kernel 2.0.1: Kernel de la serie 2, versión 0, en el que se han corregido errores de programación presentes en la versión 2.0.0 (ZZ=1)
ej3: versión del kernel 2.1.100: versión 100 del kernel de desarrollo 2.1.
¿A dónde se puede obtener información acerca de los nuevos kernels?
Todo lo que necesitas saber sobre el kernel de GNU/Linux lo encuentras en www.kernel.org (el sitio oficial del kernel de GNU/Linux).
H ) ¿Qué es el WINE?
Wine es una puesta en práctica de los Windows 3.x y Win32 APIs encima de X y de Unix. Piense en WINE como una capa de la compatibilidad de los Windows. WINE proporciona a una caja de herramientas del desarrollo (Winelib) para las fuentes de los Windows que viran hacia el lado de babor a Unix y a un cargador del programa, permitiendo que los binaries sin modificar de los Windows 3.1/95/NT se ejecuten bajo Intel Unixes. WINE trabaja en la mayoría de la Intel popular Unixes, incluyendo Linux , FreeBSD , y Solaris .
WINE no requiere los Windows de Microsoft, pues es una puesta en práctica totalmente alternativa que consiste en el código Microsoft-libre del 100%, pero puede utilizar opcionalmente el sistema nativo DLLs si están disponibles. El vino viene con fuentes, la documentación y ejemplos completos y es libremente redistributable. ( los términos que licencian son similares a X11.)
Características Del WINE:
Compatibilidad Binaria
Ayuda para el DOS del cargamento, los Windows 3.x y binaries Win32
Ayuda para llamadas de la función Win16 y Win32
16 y 32 código del dígito binario x86
La biblioteca grande de la interrupción para los programas que usan el verdadero-modo INTxx llama
Capacidades thunking avanzadas
Uso opcional del vendedor externo DLLs
el diseño de la Reverso-ingeniería asegura el “bug-para-fallo de funcionamiento ' ' compatibilidad
Gráficos
Representación gráfica de X11-based
Visualización alejada a cualquier terminal de X
Ayudas GDI lleno y muchas nuevas características de GDI32
Ayuda parcial de DirectX para los juegos
Utiliza programas pilotos nativos de la impresora Win16
Programa piloto interno de PostScript que imprime el interfaz
Programa piloto del metafile
Tablero del escritorio-en-uno-rectángulo o Windows mixable
Otras Características
Buena ayuda para el sonido, dispositivos de entrada de información alternativos
Se utilizan los módems, los dispositivos seriales
Ayuda del explorador de ASPI
I ) ¿Qué es la swap?
La swap es un espacio reservado en tu disco duro para poder usarse como una extensión de memoria virtual de tu sistema. Es una técnica utilizada desde hace tiempo para hacer creer a los programas que existe mas memoria RAM de la que en realidad existe. Es el propio sistema operativo el que se encarga de pasar datos a la swap cuando necesita mas espacio libre en la RAM y viceversa.
En Linux, la memoria total disponible por el sistema estará formada por la cantidad de memoria RAM instalada + la swap disponible. El acceso a la swap (disco duro) es mas lento que el acceso a la memoria RAM, por lo que si nuestro ordenador esta muy cargado de trabajo y hace un uso intensivo de la swap, la velocidad del sistema disminuirá. Un uso muy intensivo y continuado de la swap es un indicativo de que necesitamos mas memoria en nuestro sistema para que funcione desahogado con el uso que le estamos dando.
En linux generalmente se usa como mínimo una partición dedicada a swap (aunque también se puede tener un fichero swap).
¿Cuanta swap necesito?
Esta es otra pregunta que es difícil de contestar: Todo dependerá del uso que se le vaya a dar al sistema y del espacio libre que tengamos.
Si vas a utilizar muchos programas a la vez y tienes poca memoria RAM, necesitaras mas swap, si tienes mucha RAM, no necesitaras tanta swap. Hay que recordar que un uso no intensivo de la swap es normal y no afectara mucho a la velocidad del sistema, pero como hemos dicho antes, un uso muy intensivo y continuado es un indicativo de que necesitamos mas memoria RAM.
No existe una formula mágica para saber cuanto espacio deberíamos reservar para swap. Hay que recordar que la memoria total disponible en Linux es RAM + Swap. Como datos orientativos podríamos decir que como mínimo, esta combinación debería ser de 32MB para sistemas que se utilicen en modo texto y de 64MB en adelante para sistemas que se utilicen en modo gráfico.
Aquí tienes una serie de consejos sobre la swap:
Es recomendable el tener siempre algo de swap configurada, incluso en sistemas con mucha memoria.
En linux no se puede tener mas de 128MB en una partición swap, si necesitas mas de 128MB de swap, puedes tener mas de una partición dedicada a swap, por ejemplo, dos de 128MB
Si tienes mas de un disco, instala la swap en el que trabaje mas rápido.
Si tienes mas de un disco que se puedan acceder simultáneamente (por ej. dos SCSI, o dos IDE en diferentes canales IDE), se puede ganar algo de velocidad teniendo una particion swap en cada uno de estos discos.
Para un uso privado "normal-alto" del sistema, aquí tienes unos ejemplos orientativos de la cantidad de swap recomendable:
16MB RAM + 64MB Swap
32MB RAM + 96MB Swap
64MB RAM + 64MB Swap
128MB RAM + 128MB Swap
256MB RAM + 128MB Swap
Como dato anecdótico, decir que existen servidores, en donde la cantidad de swap llega a ser de 256MB y hasta 512MB aunque yo tengo ordenadores con 16MB de RAM y 16MB de Swap como servidores de impresión que funcionan sin ningún problema.
En fin, cada uno debe de saber el uso que le va a dar a su sistema y analizar la cantidad de memoria necesaria, aunque si tienes espacio de sobra en el disco, mas vale tener mas Swap disponible que la necesaria, por lo que pueda ocurrir en un futuro, como dice el dicho, mas vale que sobre que no que falte.
J ) ¿Existe software para GNU/Linux que pueda reemplazar a MS Office? Existen varias suites que pueden ser de utilidad, por ejemplo Freshmeat.
¿Qué es lo que hace específicamente el Freshmeat?
El freshmeat mantiene el índice más grande del software lógica de Linux en el Web. La primera parada para la caza para el software lógica que necesitan para el trabajo o que juegan, freshmeat de los utilizadores de Linux se pone al día continuamente con las últimas noticias " desbloquear temprano, de la comunidad del desbloquear a menudo ". Además de proporcionar a noticias en nuevos desbloquear, el freshmeat ofrece una variedad de contenido original en por los aspectos técnicos, políticos, y sociales el software lógica y programación, escritos los programas de lectura del freshmeat y los luminaries libres del software lógica. La tarjeta del comentario asociada a cada artículo sirve como un hogar para spirited la discusión, fallo de funcionamiento señala, y ayuda técnica.
K ) ¿Cómo podemos conectarnos a Internet?
Como root, debemos arrancar un shell (una terminal) y ejecutar el control-panel, que es la herramienta gráfica de configuración. Luego debemos entrar a la configuración de la red y meternos a la sección de "interfaces". Alli, se debe dar de alta una interface tipo PPP, especificando el número de ISP, login y password de acceso telefónico.
No podrás tener Linux en una partición compartida con otro sistema operativo, Linux necesita su propia particion/es para funcionar.
V- Diferencias principales entre dos y linux
Se señala las diferencias de Linux con el DOS y no con otro S.O. porque la mayoría provienen del DOS.
No existe el concepto de unidad de disco. Todas las unidades en Linux se 'montan' como si fueran un subdirectorio más.
No existe el concepto de extensión del nombre de un fichero. Los ficheros pueden tener nombres de hasta 256 caracteres. Los puntos están permitidos en el nombre de un fichero. Así, un fichero se podrá llamar:
DOSEMU-HOWTO.español.tar.gz
por poner un ejemplo.
Los subdirectorios no se separan con el carácter '', como en DOS, sino con el carácter '/'. Ejemplo:
/usr/src/linux-1.2.13/Makefile
Existe diferencia entre mayúsculas y minúsculas. Por ejemplo, no es lo mismo 'dir' que 'DIR' que 'Dir'…
Adiós a los atributos de los ficheros, tal y como los conoce el DOS. Cada fichero tendrá ahora 10 'atributos'.
Entre un comando y sus parámetros deberemos dejar obligatoriamente un espacio en blanco. Por ejemplo 'cd..' no funcionará mientras que 'cd ..' sí.
IMPORTANTE: Un sistema Linux NUNCA se puede apagar por las buenas. Antes le hemos de advertir al S.O. de que vamos a apagarlo (o reiniciarlo). La razón de que esto deba ser así es para que al sistema le dé tiempo de escribir en disco todos los datos que tuviera pendientes de escribir, salir ordenadamente de todas las aplicaciones que tuviera arrancadas y desmontar todas las unidades que tuviera montadas.
Existen muchas otras diferencias (gestión de memoria plana, …), pero las mencionadas son las que más nos pueden influir en la forma de trabajar, al menos en principio
VI- Linux – comandos básicos
1.- date muestra la fecha del sistema.
2.- date –u mmddhhhhaa cambia la fecha del sistema, ej. 1202120095 es igual a mes 12, día 02,
hora 12:00 y año 1995.
3.- logout sale de la actual sesión.
4.- login sale de la actual sesión.
5.- ^D sale de la actual sesión.
6.- Alt+F1 inicia una consola virtual (varias a la vez: F1,F2,F3…)
7.- passwd cambia el password del actual usuario.
8.- ^C aborta programa en ejecución.
9.- ^S paraliza la pantalla.
10.- ^Q anula la paralización de la pantalla.
11.- who lista los usuarios conectados.
12.- who am i lista tu nombre.
13.- who you are lista tu nombre.
14.- mail nombre envía correo, se finaliza escribiendo un punto en una línea sola.
15.- mail visualiza tu correo, teclea ? para ayuda.
16.- ls lista directorios y ficheros.
17.- ls –i lista directorios y ficheros con sus i-números.
18.- ls –a lista directorios y ficheros en orden alfabético.
19.- ls –s lista directorios y ficheros con su tamaño en bloque (1 bloque= 512 bytes)
20.- ls –r lista directorios y ficheros en orden inverso.
21.- ls –u lista directorios y ficheros según último acceso.
22.- ls –l lista todos los directorios y ficheros en formato largo.
23.- Head –nº lines selecciona la primera línea (ej. ls|head –1 lines)
24.- cat file file … visualiza seguidamente los ficheros indicados.
25.- cat file file > file graba los dos archivos en uno.
26.- ln file link crea un enlace a un archivo, los dos contienen el mismo fichero físico, si cambias uno,
cambia el otro. Pero si borras uno todavía queda el otro.
27.- cp file file copia ficheros.
28.- rm file borra ficheros.
29.- mv file file mueve o cambia de nombre.
30.- pwd muestra el directorio actual.
31.- cd cambia de directorio.
32.- mkdir directorio crea un directorio.
33.- rmdir directorio borra un directorio.
34.- comando & hace que el proceso sea desatendido en 2º plano (background).
35.- ps [nº] muestra los procesos desatendidos.
36.- ps alx muestra los procesos desatendidos asociados a la terminal (a), los no asociados (x) y hace una lista larga (l).
Elementos de la lista larga: – STA (Estado del proceso) – O (Inexistente) S (Durmiendo) W (Esperando) – I (Intermedio) R (Ejecutándose) Z (Terminado) – Z (Parado) – UID (Nº de Identificación del propietario) – PID (Nº de Identificación del proceso) – PPID (Nº de Identificación del proceso padre) – PRI (Prioridad, nº altos=baja prioridad) – WCHAN (Suceso al que espera) NICE (Nº para calcular la pri.) – TTY (Terminal) STTY (Tiempo de ejecución)
37.- kill nº detiene la ejecución de un proceso en background.
38.- at hora o fecha ejecuta algo a una hora establecida (para salir escribir EOF) Posibilidades para hora o fecha: 8am, 2130, 12N fri week (siguiente semana), 2PM apr 3, now +1minute, now +1 hour, 4PM +2 days, 1PM tomorrow,…
39.- comando ; comando se pueden escribir varios comandos a la vez.
40.- comando > file redirecciona la salida a un archivo.
41.- (comando ; comando) > file redirecciona toda la salida del conjunto a un archivo.
42.- comando >> file redirecciona la salida a un archivo, pero lo añade al final de este.
43.- comando < file > file redirecciona de forma contraria para acabar llevando el resultado a un archivo.
44.- comando | comando tubo (pipeline) la salida del 1º la envía hacia el 2º.
45.- *, ?, […], … caracteres de sustitución.
46.- echo * lista directorios y ficheros.
47.- echo –n "Hoy es `date`, hola $variable" hace eco sin carro de retorno (-n) de la frase Hoy es, ejecuta el comando date (entre acentos), hace eco de hola y imprime el contenido de la variable. Para eliminar los valores especiales de algunos caracteres deberemos escribir / antes, ejemplo "Hola /"Pepe/"".
48.- mesg y permite que te escriban los usuarios del sistema.
49.- mesg n prohibe que te escriban a los usuarios del sistema.
50.- mesg muestra el estado actual (escribir o no).
51.- Tty muestra tu número (archivo) de terminal.
52.- write nombre [tty] para comunicarse con un usuario conectado al sistema. Para salir ^D, para indicar al otro el fin del mensaje –oo-, y el fin de la comunicación –oo-. Si el usuario pertenece a otra terminal, se debe indicar. Si el usuario tiene el mesg en no o esta realizando una tarea específica no podremos comunicarnos.
53.- cmp file file comprueba si son idénticos, si lo son no aparece ninguna salida.
54.- comm [-nº] file file lista las palabras comunes de los dos archivos, en el número se indica la columna a comparar: 0,1,2,3.
55.- diff file file lista las palabras diferentes de los dos archivos.
56.- find . –file … –mtime 1 –size +10 –type f busca en el directorio actual los ficheros con dicho nombre, que hayan sido modificados hace 1 día, con un tamaño mayor a 10 bloques y del tipo fichero.
57.- find / -name … –atime 1 –size –20 –type d busca en el directorio actual los directorios con dicho nombre, que hayan tenido acceso hace 1 día, con tamaño menor que 20 bloques y del tipo directorio.
58.- find . –name –ok rm {} ; busca en el directorio actual y borra los ficheros encontrados que cumplan los requisitos.
59.- lpr file imprime el archivo.
60.- pr file imprime el archivo junto a un encabezamiento, la fecha, hora, …
61.- tail nº file muestra la cola de un archivo, en nº se debe especificar: +2l (a partir de la segunda línea por arriba), -10l (a partir de la décima línea por abajo). Si en lugar de l (línea) podemos escribir b (bloque) ó c (carácter).
62.- tr caracteres caracteres cambia los caracteres por los indicados a continuación. (Ejemplo: tr abc ABC).
63.- tee file muestra los datos en un punto intermedio.
64.- du muestra el tamaño por bloques de cada archivo y directorio.
65.- du –s muestra el tamaño total por bloques.
66.- File file indica el tipo de archivo que es (empty cannot open directory English text ascii text data).
67.- stty información sobre nuestro terminal.
68.- stty [-] raw lee carácter a carácter. Se anula añadiendo el signo – al comando.
69.- stty [-] cooked lee línea a línea. Se anula añadiendo el signo – al comando.
70.- stty [-] cbreak mezcla de los dos anteriores. Se anula añadiendo el signo – al comando.
71.- stty [-] nl no retorna el carro hasta el principio (se anula con ^J).
72.- stty [-] echo no se ven las pulsaciones en pantalla. Se anula añadiendo el signo – al comando.
73.- sort file muestra en pantalla el archivo ordenado por la 1ª columna (para indicar la segunda columna añadir +1 y así sucesivamente).
74.- sort file –u muestra en pantalla el archivo ordenado por la 1ª columna sin las líneas duplicadas.
75.- sort file –b muestra en pantalla el archivo ordenado por la 1ª columna ignorando espacios en blanco.
76.- sort file –f muestra en pantalla el archivo ordenado por la 1ª columna distinguiendo entre minúsculas y mayúsculas.
77.- sort file –r muestra en pantalla el archivo ordenado por la 1ª columna en orden inverso.
78.- sort file –c comprueba si el archivo ya esta ordenado.
79.- grep palabra file busca unos caracteres determinados en un fichero. 80.- grep –v palabra file busca las líneas que no contienen dicha palabra. 81.- grep –c palabra file muestra el número de líneas que contienen la palabra. 82.- grep –y palabra file busca la palabra en el fichero sin distinguir entre minúsculas y mayúsculas.
83.- grep –n palabra file busca la palabra y muestra su línea con el número de esta.
84.- uniq file muestra el archivo sin las líneas que estén repetidas.
85.- wc file muestra el número de líneas, palabras y caracteres (en este orden) del archivo.
86.- wc –l file muestra el número de líneas del archivo.
87.- wc –w muestra el número de palabras del archivo.
88.- wc –c muestra el número de caracteres del archivo.
89.- cal [nº mes] nº año imprime un calendario del mes y/o año indicado. Mes: 1-12, año 1-9999.
90.- newgrp grupo cambia de grupo.
91.- sum file suma las palabras de un archivo.
92.- expr nº + nº suma +, resta -, multiplica *, divide /,… una expresión.
93.- wall mensaje manda un mensaje a todos los usuarios. (Solo lo recibirán los usuarios que tengan su sistema configurado para poder recibir estos mensajes)
94.- id muestra nuestro UserId y el GroupId.
95.- chmod nºnºnº file cambia los permisos de un archivo. 1: Permiso de ejecución (x), 2: Permiso de escritura (w), 3: Permiso de lectura ( r). Se deben sumar para poner más de uno. El primer número corresponde al creador del archivo, el segundo al grupo del creador, y el tercero al resto de usuarios. Ej. 666 : todo el mundo tiene permiso de todo.
96.- chown nombre file cambia el propietario de un archivo.
97.- chgrp grupo file cambia el grupo del propietario de un archivo.
98.- umask muestra los permisos por defecto de los archivos creados. Ej. 022 entonces 666-022=644, es decir usuario permiso de w, r, grupo permiso de r y lo otros permiso de r.
99.- umask nº cambia los permisos por defecto de los archivos creados. Ej. umask 000: todo el mundo tiene todos los permisos al ser creado un archivo.
VII- Archivos especiales
/etc/passwd Contiene todos los logins y passwords
/etc/motd Mensaje del día
/etc/profile Se ejecuta al introducir al entrar en el sistema
VIII- Sistemas de archivos
A ) Sistema de ficheros linux (I)
Bueno como sabrás el DOS funciona con FAT, File Allocation Table, o sea una tabla a principio del disco duro donde se almacena, la información de cada bloque del disco, de manera que tenemos una lista enlazada para cada fichero.
——— | 2| 0 FICHERO A bloques 0 2 6 ——— | 3| 1 FICHERO B bloques 1 3 4 ——— | 6| 2 ——— | 4| 3 ——— | fin| 4 ——— | | 5 ——— | fin| 6 ———
Para leer un fichero A leemos en la fat el bloque 0, vemos donde continua y leemos la fat en el bloque 2, leemos el bloque del disco, y volvemos a leer el bloque de la fat donde esta el bloque 6. Esto parece rápido, y lo es i la FAT esta en memoria, pero si calculamos lo que puede ocupar una FAT de un disco duro de 1Giga donde el disco esta dividido en bloques de pongamos 4024Kb y pongamos 20 bytes por descriptor, tenemos una FAT de 5 megas, (no recuerdo de cuanto era el tamaño de bloque/descriptor en MSDOS), lo cual no se puede tener en memoria y si hay que leer cada vez de disco es muy lento. Cuando MSDOS funcionaba en disquete no era demasiado problema tener en memoria unos Ks de FAT, pero con los disco de ahora de Giga ya es un problema.
¿Como lo hace UNIX? ¿Y por supuesto ext2 de Linux? Con otra estructura de datos llamada i-nodes, que para cada fichero tiene un array, con las posiciones del disco donde se encuentra este. De esta manera cuando queremos leer un fichero, leemos solo un trozo de disco contiguo, donde encontramos todas las referencias a ése y no toda la FAT que puede ser de mas de un mega. Con los nodos-i (o inodes) no ahorramos espacio de disco (con respecto a FAT), la información de en que bloques esta cada fichero la tenemos igual pero mejor organizada.
Las tablas de i-nodes tienen un tamaño limitado, pero en caso de que se llenen con indirecciones se accede a otras tablas de i-nodes, con lo que el limite del tamaño de los ficheros es grande. (bueno esto lo he explicado un poco por encima se podría explicar extensamente).
IN> Me imagino que el ext2 es mejor que el msdos, pero realmente que IN> diferencias hay entre ellos (menos lo de los permisos y la lon- IN> gitud del nombre de los ficheros).
Pues como has visto es mas rapido y eficiente, aparte de no tener las limitaciones de usuario, permisos, nombres largos, etc.
El tamaño de bloque de disco, en MS DOS es fijo en función del tamaño de la partición, en linux en el momento en que formateas la partición con mkfs (o mk2efs no recuerdo) puedes elegir el tamaño del bloque según vayas a tener mas ficheros pequeños, o mas ficheros grandes.
B ) Sistema de ficheros linux (II)
El ext2 tiene un tamaño de i-nodo fijo entre 1 y 4K, independientemente del tamaño de la partición. El tamaño del i-nodo se selecciona al crear el sistema de archivos y es seleccionable por el usuario.El ext2 tiene una unidad similar al cluster, llamada bloque, y que es, por lo general de 1K, especificable por el usuario e independiente del tamaño de la partición, lo cual asegura un buen aprovechamiento del espacio libre con archivos pequeños.
El ext2 no usa una FAT, sino una tabla de i-nodos distribuidos en un número determinable de grupos a través de la superficie, lo cual permite balancear la distribución de los bloques de archivos en la superficie a través de dichos grupos para asegurar la mínima fragmentación.
El ext2 tiene un límite máximo de 4GB de archivo, pero no limita el tamaño máximo de la partición a 4GB, como es el caso de la FAT.
El ext2 tiene soporte para detección de un sistema de archivos desmontado incorrectamente cuando el sistema se apaga de forma errónea, y capacidad para autorecuperarlo en caso de fallo accidental.
El ext2 mantiene información de la última vez que se montó y se accedió al volumen (sistema de archivos), así como del número de veces que se ha montado dicho volumen desde la última comprobación automática, así como la fecha en la que se comprobó su integridad por última vez.
El ext2 permite asignar un porcentaje del disco duro que se reserva para el uso de usuarios con un "uid" y "gid" específicos.
El ext2 es un sistema de archivos mucho más avanzado que el MS-DOS, con soporte de corrección y detección de errores, compresión de archivos (todavía por implementar), mayor tolerancia a la fragmentación de archivos y con unos tiempos de respuesta muy superiores, aunque a un coste superior de utilización de memoria.
IX- Novedades
1.- En la actualidad ya existen versiones de 64-bits para algunas otras plataformas hardware distintas del PC.
2.- Linux dispone en la actualidad de la versión X11R6 de X Window
3.- Ya existe un WordPerfect 6.1 nativo para Linux
4.- Linux ya soporta, en la actualidad arquitecturas tales como ALPHA, Amiga, PowerPc, etc.
5.- El parque de CD ROMs ha cambiado de forma asombrosa en los últimos meses. Sirva decir que Linux soporta, los nuevos estándares ATAPI para CD ROMs conectables a controladoras IDE
X- Bibliografía
http://www.datapro.bm/doc/HOWTO/translations/es/html/infoSheet-COMO.html#toc5
http://ns.intertux.com.mx/linux.html
http://www.marqueze.net/linux/explica.htm
http://www.fut.es/~sblanco/linux.html
http://www.internet.ve/asic/qlinux.html
http://www.nyx.net/~sgjoen/disk.html
http://linux-es.uio.no/docs/HOWTO/mini/Partition.
http://metalab.unc.edu/LDP/
ftp://ftp.kernel.org/pub/linux/kernel/
ftp://ftp.cs.helsinki.fi/pub/Software/Linux/Kernel/
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/
Autor:
Dalith Colordo17 añosLima, Peru.
dalith[arroba]terra.com.pe
![]() | ![]() ![]() | Página siguiente ![]() |