PORTADA
Nombre del alumno: Emmanuel Rodríguez Sánchez
Docente: Carla Guadalupe de la Rosa Ramírez
Tema: ¿Linux es el futuro?
Plantel: Conalep, Chiapa de Corzo 022
Grupo: 3102
Fecha: 12 de Diciembre del 2012
INDICE
introduccion________________________________________3
¿Quién invento Linux?_________________________________4
Biografía de Linux____________________________________5
¿Qué es Linux?______________________________________6
Objetivos___________________________________________8
¿Qué es el kernel?____________________________________9
Características de linux_______________________________10
Ventajas y desventajas de Linux________________________12
Versiones de linux___________________________________14
Distribuciones populares______________________________15
Distribuciones especializadas__________________________16
Comparación_______________________________________17
Disponibilidad de linux_______________________________18
Procesador________________________________________18
Dispositivo ________________________________________19
Software disponible_________________________________19
Software para servicio de internet______________________19
Linux - comandos básicos_____________________________20
Herramientas de desarrollo____________________________24
Conectividad_______________________________________25
Convivencia________________________________________25
Documentación y Soporte_____________________________25
Familia de Linux____________________________________27
Información actual__________________________________29
Conclusión_________________________________________30
En este proyecto podrás ver como Linux se fue desarrollando poco
a poco y como ahora ya forma parte de nuestra vida espero y este tema
sea de tu agrado y te guste, Linux tiene dos características muy
peculiares que lo diferencian del resto de los sistemas operativos que se
pueden 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 de 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 del sistema (kernel) más un gran número de
programas y librerías que hacen posible su utilización.
Linux es un núcleo de sistema operativo libre tipo Unix. Es utilizado por
la familia de sistemas operativos GNU/Linux. Lanzado bajo la licencia
pública general de GNU y desarrollado gracias a contribuciones
provenientes de todo el mundo, Linux es uno de los ejemplos más
notables de software libre.
Linux fue creado por LinusTorvalds en 1991. Muy pronto, la comunidad
deMinix (un clon de Unix) contribuyó en el código y en ideas para el
núcleo Linux. Por aquel entonces, el Proyecto GNU ya había creado
muchos de los componentes necesarios para obtener un sistema
operativo libre, pero su propio núcleo (GNU Hurd) era incompleto y por
lo tanto no podían conseguir un sistema libre totalmente funcional. Es
por esto que a pesar de las funcionalidades limitadas de la primera
versión, rápidamente Linux fue acumulando desarrolladores y usuarios
que adoptaron el código de estos proyectos para usar con el nuevo
sistema operativo. Hoy en día el núcleo Linux ha recibido contribuciones
de miles de programadores.
INTRODUCCION
¿Quién invento Linux?
El inventor de Linux es el
ingeniero de software
finlandés LinusBenedictTorvalds.
Ligado al mundo de la informática
desde una edad muy temprana,
estudió Ciencias de la Computación en la Universidad de Helsinki. Durante
aquella época, decidió adquirir un nuevo PC 386 -33 Mhz, 4MB de RAM,
uno de los más avanzados de su época-; sin embargo, no le gustaba el
sistema operativo con el que trabajaba -Minix- y decidió crear uno él
mismo.
El 5 de octubre de 1991 anunció de la primera versión de Linux, capaz
de ejecutar BASH -BourneAgain Shell- y el compilador conocido como
GCC -GNU CompilerCollection-. A partir de ese momento, Linux empezó
a evolucionar rápidamente.
En enero de 1992 se adoptó la Licencia Pública General -GPL- para
Linux. Ésta añadió libertades de uso a Linux totalmente opuestas a las
del software propietario, permitiendo su modificación, redistribución, copia y uso ilimitado.
I
m
a
g
e
n
.
1
.
1
Biografía de Linux:
Linux es un núcleo de sistema operativo libre tipo Unix. Es
utilizado por la familia de sistemas operativos GNU/Linux. Lanzado bajo
la licencia pública general de GNU y desarrollado gracias a
contribuciones provenientes de todo el mundo, Linux es uno de los
ejemplos más notables de software libre.
Linux fue creado por LinusTorvalds en 1991. Muy pronto, la comunidad
deMinix (un clon de Unix) contribuyó en el código y en ideas para el
núcleo Linux. Por aquel entonces, el Proyecto GNU ya había creado
muchos de los componentes necesarios para obtener un sistema
operativo libre, pero su propio núcleo (GNU Hurd) era incompleto y por
lo tanto no podían conseguir un sistema libre totalmente funcional. Es
por esto que a pesar de las funcionalidades limitadas de la primera
versión, rápidamente Linux fue acumulando desarrolladores y usuarios
que adoptaron el código de estos proyectos para usar con el nuevo
sistema operativo. Hoy en día el núcleo Linux ha recibido contribuciones
de miles de programadores.
¿QUÉ ES LINUX?
Linux es un sistema operativo diseñado por cientos de
programadores de todo el planeta, aunque el principal responsable del
proyecto es LinusTovalds. Su objetivo inicial es propulsar el software
de libre distribución junto con su código fuente para que pueda ser
modificado por cualquier persona, dando rienda suelta a la creatividad.
El hecho de que el sistema operativo incluya su propio código fuente
expande enormemente las posibilidades de este sistema.
Este método también es aplicado en numerosas ocasiones a los programas que corren en el sistema, lo que hace que podamos
encontrar muchísimos programas útiles totalmente gratuitos y con su
código fuente. Y la cuestión es que, , Linux es un sistema operativo
totalmente gratuito.
Las funciones principales de este magnífico sistema operativo son:
Sistema multitarea En Linux es posible ejecutar varios programas a
la vez sin necesidad de tener que parar la ejecución de cada
aplicación.
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).
Shells programables 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.
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.
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 límites 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 está 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 ).
OBJETIVOS
La situación final pretende que todos los equipos de la red, tanto
clientes como servidores, ejecuten prácticamente sólo software libre, basado en Debian GNU/Linux como sistema operativo base. El nuevo
entorno de trabajo debe suplir plenamente la funcionalidad que
actualmente ofrece Windows NT.
A continuación se presentan los objetivos básicos a conseguir,
sopesando las posibles alternativas que en algunos casos pueden existir.
Así, son puntos fundamentales:
Entorno gráfico, que debe ser estable, cómodo y fácil de usar para
el usuario final. Actualmente se baraja el uso de KDE 2.2.2 y
Gnome 2.
Uso de aplicaciones orientadas a Internet: correo, web, news, etc.
Uso de aplicaciones ofimáticas. Existe en la actualidad un amplio
abanico de suites basadas en software libre: OpenOffice.org, StarOffice, Kword, Knotes, Abiword, etc.
Sistema de instalación automatizada y sencilla de equipos, al
estilo del usado en la actualidad en el MAP. Para ello se está
sopesando el uso de alguna de las siguientes aplicaciones libres:
SystemImager, PartitionImagefor Linux, FAI, etc.
Actualización e instalación de nuevo software de manera
centralizada usando bajo Linux el modelo de distribución ya
existente en el MAP. También se aprovecharían las características
propias de Debian para la instalación y actualización de paquetes
de software de manera remota y automatizada. Se debe conseguir
un método mejor y más sencillo para instalar nuevo software y
esto lo aporta Debian. En concreto, una de las herramientas a
considerar es APT (AdvancedPackageTool). Integración de los nuevos clientes contra los servidores actuales.
Aquí se consideran los aspectos de autentificación y compartición
de recursos contra el servidor usando NIS y NFS. Al tener tanto
clientes como servidores el mismo sistema operativo Linux, esta
integración se debe llevar a cabo de forma natural.
Compatibilidad de los diferentes dispositivos hardware del MAP
para Linux: impresoras, selladoras, escáneres, monitores, tarjetas
de vídeo, etc.
Conseguir la ejecución de las aplicaciones existentes en el MAP
que actualmente están diseñadas para Windows. Esto se abordaría
bien mediante su emulación o mediante algún proceso de
conversión a la plataforma Linux.
¿Qué es el kernel?
El kernel o núcleo de linux se podría definir como el corazón de
este sistema operativo. Es el encargado de que el software y el
hardware de tu ordenador puedan trabajar juntos.
Características de Linux
multitarea: varios programas (realmente procesos) ejecutándose al
mismo tiempo.
multiusuario: varios usuarios en la misma máquina al mismo tiempo
(y sin licencias para todos).
multiplataforma: corre en muchas CPUs distintas, no sólo Intel.
funciona en modo protegido 386.
tiene 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 de 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: 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 (se sigue denominando intercambio, es
en realidad un intercambio de páginas). 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.
la memoria se gestiona como un recurso unificado para los programas
de usuario y para el caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y éste puede a su vez ser reducido
cuando se ejecuten grandes programas.
librerías compartidas de carga dinámica (DLL's) y librerías estáticas
también, por supuesto.
se realizan volcados de estado (coredumps) 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.
casi totalmente compatible con POSIX, System V y BSD a nivel
fuente.
mediante un módulo de 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 tu ordenador ya tiene una FPU (unidad
de coma flotante), 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 necesitas ningún
comando especial para usar la partición MS-DOS, parece un sistema
de archivos normal de Unix (excepto por algunas graciosas
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.
Appletalk disponible en el actual núcleo de desarrollo.
software cliente y servidor NetWare disponible en los núcleos de
desarrollo.
Ventajas de Linux
1. Linux es básicamente un duplicado de UNIX, lo que significa
que incorpora muchas de las ventajas de este importante
sistema operativo.
2. En Linux pueden correr varios procesos a la vez de forma
ininterrumpida como un servidor de red al tiempo que un
procesador de textos, una animación, copia de archivos o
revisar el correo electrónico.
3. Seguridad porque es un sistema operacional diseñado con la
idea de Cliente - Servidor con permisos de acceso y ejecución
a cada usuario. Esto quiere decir que varios usuarios pueden utilizar una misma maquina al tiempo sin interferir en cada
proceso.
4. Linux es software libre, casi gratuito. Linux es popular entre
programadores y desarrolladores e implica un espíritu de
colaboración.
5. Linux integra una implementación completa de los diferentes
protocolos y estándares de red, con los que se puede conectar
fácilmente a Internet y acceder a todo tipo de información
disponible.
6. Su filosofía y sus programas están dictados por el movimiento
``Open Source'' que ha venido crecido en los últimos años y
ha adquirido el suficiente fortaleza para hacer frente a los gigantes de la industria del software.
7. Linux puede ser utilizado como una estación personal pero
también como un potente servidor de red.
8. Linux incorpora una gama de sistemas de interfaz gráfica
(ventanas) de igual o mejor calidad que otras ofrecidas en
muchos paquetes comerciales.
9. Posee el apoyo de miles de programadores a nivel mundial.
10. El paquete incluye el código fuente, lo que permite
modificarlo de acuerdo a las necesidades del usuario.
11. Utiliza varios formatos de archivo que son compatibles con
casi todos los sistemas operacionales utilizados en la
actualidad.
Desventajas de Linux
1. Linux no cuenta con una empresa que lo respalde, por lo que
no existe un verdadero soporte como el de otros sistemas operativos.
2. La pendiente de aprendizaje es lenta.
3. No es tan fácil de usar como otros sistemas operativos, aunque
actualmente algunas distribuciones están mejorando su
facilidad de uso, gracias al entorno de ventanas, sus escritorios
y las aplicaciones diseñadas específicamente para él, cada día
resulta más sencillo su integración y uso.
4. Documentación y terminología muy técnica.
5. Para usuarios corrientes, todavía no es un sistema de
escritorio.
6. Funciona únicamente con proveedores de hardware que accedieron a la licencia GPL y en algunas instancias no es
compatible con variedad de modelos y marcas.
7. Requiere consulta, lectura e investigación en lista, foros o en
bibliografía dedicada al tema.
8. La configuración de dispositivos de entrada y salida no es
trivial.
9. Muy sensible al hardware.
10. Muchas distribuciones e idiomas.
11. Hay que leer y entender código
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 tenía 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
BourneAgain 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 número de versión hasta la 0.95 (Marzo 1992). Más 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 lameta de perfeccionar y mejorar el sistema.
La última 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
Distribuciones populares
Entre las distribuciones Linux más populares se incluyen:
Arch Linux, una distribución basada en el principio KISS, con un
sistema de desarrollo continuo entre cada versión (no es necesario
volver a instalar todo el sistema para actualizarlo).
Debian, una distribución mantenida por una red de desarrolladores
voluntarios con un gran compromiso por los principios del software
libre.
Fedora, una distribución lanzada por Red Hat para la comunidad.
Ubuntu, una popular distribución para escritorio basada en Debian y
mantenida por Canonical.
Kubuntu, la versión en KDE de Ubuntu.
Linux Mint, una popular distribución derivada de Ubuntu.
Chakraproject, una popular distribución para escritorio, inicialmente
basada en Arch Linux, actualmente se encuentra en un desarrollo independiente.
openSUSE, originalmente basada en Slackware es patrocinada
actualmente por la compañía SUSE (TheAttachmateGroup).
Puppy Linux, versión para equipos antiguos o con pocos recursos que
pesa unos 130 MiB.
CentOS, una distribución creada a partir del mismo código del
sistema Red Hat pero mantenida por una comunidad de
desarrolladores voluntarios.
Gentoo, una distribución orientada a usuarios avanzados, conocida
por la similitud en su sistema de paquetes con el FreeBSD Ports, un
sistema que automatiza la compilación de aplicaciones desde su
código fuente.
Knoppix, fue la primera distribución live en correr completamente
desde un medio extraíble. Está basada en Debian.
Mandriva, mantenida por la compañía francesa del mismo nombre,
es un sistema popular en Francia y Brasil. Está basada en Red Hat.
PCLinuxOS, derivada de Mandriva, pasó de ser un pequeño proyecto
a una popular distribución con una gran comunidad de
desarrolladores.
Red Hat Enterprise Linux, derivada de Fedora, es mantenida y
soportada comercialmente por Red Hat.
Slackware, una de las primeras distribuciones Linux y la más antigua
en funcionamiento. Fue fundada en 1993 y desde entonces ha sido
mantenida activamente por Patrick J. Volkerding.
Slax, es un sistema Linux pequeño, moderno, rápido y portable
orientado a la modularidad. Está basado en Slackware.
Dragora y Trisquel, que van adquiriendo importancia entre las
distribuciones que sólo contienen software libre.
Canaima, es un proyecto socio-tecnológico abierto, construido de
forma colaborativa, desarrollado en Venezuela y basado en Debian.
Tuquito Basada en Ubuntu, distribución desarrollada en argentina con buenas interfaces gráficas y drivers universales. Recomendada para
usuarios iniciales.
El sitio web DistroWatch ofrece una lista de las distribuciones más
populares; la lista está basada principalmente en el número de visitas,
por lo que no ofrece resultados muy confiables acerca de la popularidad
de las distribuciones.
Distribuciones especializadas
Otras distribuciones se especializan en grupos específicos:
OpenWrt, diseñada para ser empotrada en dispositivos enrutadores.
Edubuntu, un sistema del proyecto Ubuntu diseñado para entornos
educativos.
LULA, distribución académica para universidades. Proyecto LULA.
MythTV, orientada para equipos multimedia o grabadores de vídeo
digital.
Musix, una distribución de Argentina destinada a los músicos.
mkLinux, YellowDog Linux o Black Lab Linux, orientadas a usuarios
de Macintosh y de la plataforma PowerPC.
64 Studio, una distribución basada en Debian diseñada para la
edición multimedia.
ABC GNU/Linux, distribución para la construcción de clustersBeowulf
desarrollado por Iker Castaños Chavarri, Universidad del País Vasco.
Comparación
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:
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.
Disponibilidad de Linux
Linux es distribuido bajo la Licencia General Pública de GNU, lo
cual significa que puede ser distribuido, copiado y modificado
gratuitamente, a condición de no imponer ninguna restricción en
sucesivas distribuciones. En pocas palabras: Linux es un sistema
operativo gratuito.
Procesador
Linux fue inicialmente concebido como sistema operativo para
computadoras personales con procesador Intel 80386 o superior, con al
menos 8 Mbytes de RAM. Versiones mas recientes (aún en estado
experimental), han incorporado soporte para multiprocesamiento simétrico con hasta 16 procesadores siguiendo la especificación Intel
MP.
Existe una versión de Linux para el procesador de 64-bits Alpha/AXP de
DEC, y esta siendo portado a procesadores PowerPC, Sparc, MIPS, y
Motorola de la serie 68000.
Dispositivos
Linux puede ejecutarse en cualquier PC con arquitectura ISA,
EISA, VESA Local Bus o PCI, e incluso en notebooks con tecnología
PCMCIA, soportando gran parte del hardware usualmente usado en
dichos sistemas: discos y CD-ROMS IDE; controladoras y dispositivos
SCSI (Adaptec, NCR, BusLogic, etc.); tarjetas de video SuperVGA
(Trident, Cirrus, ATI, etc.); tarjetas de sonido (SoundBlaster, AdLib,
Logitech, etc.); controladoras Ethernet (NE2000, Intel, etc.); modems y
mouses seriales; impresoras chorro de tinta y laser (Epson, HP, etc.);
scanners (HP, Genius, Epson, etc.); etc.
Software disponible
Linux cuenta con el habitual conjunto de la interpretes de
comando y utilidades que son standard en ambientes Unix. En su
mayoría son provenientes de GNU y, al igual que Linux en sí mismo y
todo el software que a continuación se menciona, son de distribución libre y gratuita.
Software para Servicios Internet
En particular, en lo referido a software para Servicios Internet,
cabe mencionar que en Linux está disponible exactamente el mismo
software que utilizan (o de los cuales tomaron elementos) muchas de
las versiones comerciales de Unix. Han sido portados a
Linux sendmail (servidor de e-mail SMTP, en sus versiones IDA y
v8); Taylor UUCP (transferencia de mail y news bajo protocolo
UUCP); CERN NCSA y Apache (servidores de
WWW); INN y Cnews (servidores de news); BIND (servidor DNS de
Berkeley); etc.
También están disponibles versiones Linux de servidores PPP, SLIP,
bootp, Telnet, FTP, Gopher, POP e IMAP, IRC
En lo referente a seguridad, puede mencionarse que el kernel de Linux
tiene el soporte necesario para construir firewalls basados en filtrado de paquetes; también existe una versión para Linux de SOCKS, software de
firewalling muy popular en los ambientes Unix.
LINUX - COMANDOS BÁSICOS
Alt+F1 inicia una consola virtual (varias a la vez: F1, F2, F3...)
password cambia el password del actual usuario.
^C: aborta programa en ejecución.
^S: paraliza la pantalla.
^Q: anula la paralización de la pantalla.
Mail nombre envía correo, se finaliza escribiendo un punto en una línea
sola.
Mail visualiza tu correo, teclea? para ayuda.
ls lista directorios y ficheros.
ls –i lista directorios y ficheros con sus i-números.
ls –a lista directorios y ficheros en orden alfabético.
ls –s lista directorios y ficheros con su tamaño en bloque (1 bloque=
512 bytes)
ls –r lista directorios y ficheros en orden inverso.
ls –u lista directorios y ficheros según último acceso.
ls –l lista todos los directorios y ficheros en formato largo.
Head –nº lines selecciona la primera línea (ej. ls|head –1 lines)
cat file file ... visualiza seguidamente los ficheros indicados.
cat file file> file graba los dos archivos en uno.
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.
cp file file copia ficheros.
rm file borra ficheros.
mv file file mueve o cambia de nombre.
pwd muestra el directorio actual.
Cd cambia de directorio.
mkdir directorio crea un directorio.
rmdir directorio borra un directorio.
Comando& hace que el proceso sea desatendido en 2º plano
(background).
ps [nº] muestra los procesos desatendidos.
psalx 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)
kill nº detiene la ejecución de un proceso en background.
at hora o fecha <<EOF ejecuta algo a una hora establecida (para salir escribir EOF)
Posibilidades para hora o fecha: 8am, 2130, 12N friweek (siguiente
semana), 2PM apr 3, now +1minute, now +1 hour, 4PM +2 days, 1PM
tomorrow,...
Comando; comando se pueden escribir varios comandos a la vez.
Comando> file re direcciona la salida a un archivo.
(Comando; comando) > file re direcciona toda la salida del conjunto a
un archivo.
Comando>> file re direcciona la salida a un archivo, pero lo añade al
final de este.
Comando< file > file re direcciona de forma contraria para acabar
llevando el resultado a un archivo.
Comando | comando tubo (pipeline) la salida del 1º la envía hacia el 2º.
*, ?, [...], ... caracteres de sustitución.
echo * lista directorios y ficheros.
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 e imprime el contenido de la variable. Para eliminar los
valores especiales de algunos caracteres deberemos escribir / antes,
ejemplo "Hola /"Pepe/"".
mesg y permite que te escriban los usuarios del sistema.
mesg n prohíbe que te escriban a los usuarios del sistema.
mesg muestra el estado actual (escribir o no).
tty muestra tu número (archivo) de terminal.
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 lacomunicación –oo-. Si el usuario pertenece a otra terminal, se
debe indicar. Si el usuario tiene el mesg en no o está realizando una
tarea específica no podremos comunicarnos.
cmp file file comprueba si son idénticos, si lo son no aparece ninguna
salida.
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.
diff file file lista las palabras diferentes de los dos archivos.
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.
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.
find . –name –ok rm {} \; busca en el directorio actual y borra los
ficheros encontrados que cumplan los requisitos.
lpr file imprime el archivo.
pr file imprime el archivo junto a un encabezamiento, la fecha, hora, ...
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) o c
(carácter).
tr caracteres caracteres cambia los caracteres por los indicados a
continuación. (Ejemplo: trabc ABC).
tee file muestra los datos en un punto intermedio.
Du muestra el tamaño por bloques de cada archivo y directorio.
Du –s muestra el tamaño total por bloques.
Filefile indica el tipo de archivo que es (empty\ cannot open\ directory\
English text\ ascii text\ data).
stty información sobre nuestro terminal.
stty [-] raw lee carácter a carácter. Se anula añadiendo el signo – al
comando.
stty [-] cooked lee línea a línea. Se anula añadiendo el signo – al
comando.
stty [-] cbreak mezcla de los dos anteriores. Se anula añadiendo el
signo – al comando.
stty [-] nl no retorna el carro hasta el principio (se anula con ^J).
stty [-] echo no se ven las pulsaciones en pantalla. Se anula añadiendo
el signo – al comando.
sort file muestra en pantalla el archivo ordenado por la 1ª columna
(para indicar la segunda columna añadir +1 y así sucesivamente).
sort file –u muestra en pantalla el archivo ordenado por la 1ª columna
sin las líneas duplicadas.
sort file –b muestra en pantalla el archivo ordenado por la 1ª columna
ignorando espacios en blanco.
sort file –f muestra en pantalla el archivo ordenado por la 1ª columna
distinguiendo entre minúsculas y mayúsculas.
sort file –r muestra en pantalla el archivo ordenado por la 1ª columna
en orden inverso.
sort file –c comprueba si el archivo ya esta ordenado.
Grep palabra file busca unos caracteres determinados en un fichero.
Grep –v palabra file busca las líneas que no contienen dicha palabra.
Grep –c palabra file muestra el número de líneas que contienen la
palabra.
Grep –y palabra file busca la palabra en el fichero sin distinguir entreminúsculas y mayúsculas.
grep –n palabra file busca la palabra y muestra su línea con el número
deesta.
uniq file muestra el archivo sin las líneas que estén repetidas.
wc file muestra el número de líneas, palabras y caracteres (en este
orden) del archivo.
wc –l file muestra el número de líneas del archivo.
wc –w muestra el número de palabras del archivo.
wc –c muestra el número de caracteres del archivo.
cal [nº mes] nº año imprime un calendario del mes y/o año indicado.
Mes: 1-12, año 1-9999.
newgrp grupo cambia de grupo.
sum file suma las palabras de un archivo.
expr nº + nº suma +, resta -, multiplica *, divide /,... una expresión.
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)
chmodnº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.
chown nombre file cambia el propietario de un archivo.
chgrp grupo file cambia el grupo del propietario de un archivo.
Herramientas de desarrollo
Múltiples lenguajes de programación están disponibles bajo Linux.
Sin duda el principal de ellos es GNU C/C++, pero también es posible
desarrollar en Java, Objective-C, Pascal, LISP, BASIC, Perl, Ada, Eiffel, FORTRAN, Forth, Prolog, Oberon, Simula, Modula-2 y Modula-3,
Smalltalk, y algunos otros.
Igualmente, existen varios motores de bases de datos que pueden
utilizarse bajo Linux; algunos de ellos son motores relacionales (tales
como mBase, Thypoon, MiniSQL, Ingres y Postgres), y otros orientados
a objetos (tal como LINCKS). La mayoría de ellos son de carácter
experimental o académico, por lo que no igualan las prestaciones de los
motores de base de datos comerciales, en especial las relacionadas con
performace; sin embargo, el hecho de que su costo sea nulo hace que
sea una opción a tener en cuenta al desarrollar un servidor de Intranet
de pequeñas proporciones. Cabe mencionar nuestra muy favorable
experiencia con un servidor Postgres utilizado actualmente en la UTN
FC, el cual tiene, además, soporte para ser utilizado desde programas Java (vía la especificación JDBC) o desde aplicaciones Windows (vía un
driver ODBC).
Conectividad
Linux ofrece una variada gama de posibilidades a la hora de
interconectarse con otros servidores.
Como es usual en plataformas Unix, Linux cuenta con soporte nativo de
TCP/IP, incluyendo la capacidad para actuar como cliente o servidor NFS
(Network File System).
El kernel incluye soporte para IPX, lo que le permite funcionar como
ruteador en redes Novell; incluso es posible configurar un sistema Linux
para aparentar ser un servidor Novell 3.11 y permitir a clientes DOS
mapear directorios y utilizar impresoras utilizando el shell y comandos
standard de Novell (NETx y CAPTURE). También es posible montar en
el file system de una máquina Linux volúmenes de un servidor Novell y acceder a sus colas de impresión.
Por medio de la utilización del paquete Samba, Linux puede interactuar
con servidores Windows NT y estaciones Windows For Workgroups y
Windows95. Esto incluye la capacidad para acceder desde Linux a
recursos compartidos desde maquinas Windows (directorios e
impresoras), como también la posibilidad de exportar directorios e
impresoras desde Linux y accederlas desde Windows.
Convivencia
Linux es capaz de convivir en el mismo disco duro con otros
sistemas operativos tales como DOS, Windows u OS/2, permitiendo la
selección en el arranque del sistema operativo a bootear. Además de
soportar su sistema de archivos nativo (ext2fs), Linux tiene soporte para
acceder en modo de lectura/escritura a sistemas de archivo FAT (DOS) y
VFAT (Windows95) y en modo de solo lectura a sistemas de archivo NTFS (Windows NT).
Documentación y Soporte
Existe una gran cantidad de bibliografía acerca de Linux,
abarcando temas como la instalación y configuración del sistema
operativo, administración de redes, uso del sistema y sus aplicaciones,
instalación de sitios Internet y BBSs, etc. Todas las distribuciones
importantes de Linux incluyen un juego completo de la documentación
en línea (manpages) e instructivos muy completos y detallados
(llamados HOW-TOs) acerca de temas puntuales tales como
configuración de TCP/IP, servidores DNS, acceso PPP, impresión,
firewalls, configuración de X-Windows, etc.
Debe tenerse en cuenta, además, que Linux es, fundamentalmente, un
sistema Unix en el que se utiliza software Unix standard, por lo que
resulta aplicable a su caso prácticamente toda la bibliografía yknow-
how existente sobre Unix. Son especialmente recomendables los
volúmenes de la colección "A NutshellHandbook" de O’Reilly&Associates,
Inc.
La falta de soporte formal es uno de los temores usuales acerca de
Linux. Esto es una verdad a medias. En primer lugar, debido a que (por la razón dada en el párrafo anterior) cualquier consultor en Unix puede
convertirse en consultor Linux (y viceversa); y en segundo lugar, porque
como se mencionó al comienzo, Linux es un producto de la Internet. Es
más: Linux no habría sido posible sin ella. Es resultado del esfuerzo
combinado de mucha gente alrededor del mundo en donde el principal
componente ha sido el soporte mutuo. Existen
numerosos newsgroups y mailing-lists en donde todo administrador de
un sistema Linux puede recurrir para buscar la solución o pedir ayuda,
con la certeza de que, aún en el peor de los casos, será orientado en la
dirección correcta
Familia de Linux
Existen varias familias del sistema operativo UNIX que han
evolucionado de manera independiente a lo largo de los años. Cada
familia se distingue no tanto por sus diferencias técnicas como por sus
diferencias en propiedad intelectual. Se observa que todas las familias se han visto contaminadas, directa o indirectamente, por otras familias.
Las familias UNIX más significativas son:
* AT&T: la familia que tuvo su origen en el UNIX de AT&T. Considerada
la familia UNIX "pura" y original. Sus sistemas operativos más
significativos son UNIX System III y UNIX System V.
* BSD: familia originada por el licenciamiento de UNIX a Berkely. BSD
incorpora propiedad intelectual no originaria de AT&T, la primera
implementación de los protocolos TCP/IP que dieron origen a Internet.
* AIX: esta familia surge por el licenciamiento de UNIX System III a
IBM.
* Xenix: familia derivada de la adquisición de los derechos originales de AT&T primero por parte de Microsoft y de esta los vendió a SCO.
* GNU: En 1983, Richard Stallman anunció el Proyecto GNU, un
ambicioso esfuerzo para crear un sistema similar a Unix, que pudiese
ser distribuido libremente. El software desarrollado por este proyecto -
por ejemplo, GNU Emacs y GCC - también han sido parte fundamental
de otros sistemas UNIX.
* Linux: En 1991, cuando LinusTorvalds empezó a proponer el núcleo
Linux y a reunir colaboradores, las herramientas GNU eran la elección
perfecta. Al combinarse ambos elementos, conformaron la base del
sistema operativo (basado en POSIX) que hoy conocemos como Linux.
Las distribuciones basadas en el núcleo, el software GNU y otros
agregados entre las que podemos mencionar a Red Hat Linux y Debian
GNU/Linux se han hecho populares tanto entre los aficionados a la
computación como en el mundo empresarial. Obsérvese que Linux tiene
un origen independiente, por lo que se considera un 'clónico' de UNIX y
no un UNIX en el sentido histórico.
Las interrelaciones entre estas familias son las siguientes,
aproximadamente en orden cronológico:
* La familia BSD surge del licenciamiento del UNIX original de AT&T.
* Xenix también surge por licenciamiento del UNIX original de AT&T,
aunque aún no era propiedad de SCO.
* AIX surge por licenciamiento de UNIX System III, pero también
incorpora propiedad intelectual de BSD.
* La familia original AT&T incorpora ilegalmente propiedad intelectual de
BSD en UNIX System III r3.
* La familia AIX vuelve a incorporar propiedad intelectual de la familia AT&T, esta vez procedente de UNIX System V.
* Linux incorpora propiedad intelectual de BSD, gracias a que éste
también se libera con una licencia de código abierto denominada Open-
source BSD.
* Según SCO Group, Linux incorpora propiedad intelectual procedente
de AIX, gracias a la colaboración de IBM en la versión 2.4, mas aún no
está demostrado, hay un proceso judicial al respecto: Disputas de SCO
sobre Linux.
Información actual:
Finalmente después de mucho tiempo y rumores, Android vuelve
al Linux Kernel en la versión 3.3, que fue anunciada ayer
por LinusTorvalds.
Esto significa que este kernel podrá ser usado en dispositivos
Android directamente y viceversa, ya que trae los drivers necesarios
para este sistema. También será más fácil actualizar estos controladores
o implementarlos por parte de los fabricantes, que automáticamente los
tendrían funcionales en Android y GNU/Linux. Sin duda una esperada noticia no solo por los fabricantes.
Desarrolladores y usuarios podrán ejecutar y desarrollar aplicaciones en
los dos sistemas, tenerlos corriendo por separado en un PC sin riesgo a
incompatibilidades o en diferentes dispositivos móviles que podrán
interactuar entre ellos sin problemas.
Por supuesto, aunque esta es la novedad mas relevante, hay otras como
el nuevo controlador NVMe (Non-VolatileMemory), que permite acceder
a discos duros o SSD conectados por tarjetas PCIe, SATA Express, etc.
En el tema de almacenamiento, también trae muchas mejoras para sistemas de archivos Btrfs, mejor redimensionamiento en línea del Ext4
(sin pausas) o la posibilidad de conectar o extraer discos RAID en
caliente.
También trae novedades en el controlador libre NvidiaNouevau y en el
Gallium3D, que ahora tienen soporte para transmitir audio mediante
HDMI, nuevas características energéticas y soporte para nuevo
hardware. Aunque siguen siendo insuficientes porque no incluyen
controladores para algunas tarjetas, como el caso de algunas Radeon
HD. Sin embargo los chips Intel si traen mejoras como el sistema de ahorro
de energía RC6, que pasa de consumir 5W en reposo a 2W.
Las novedades abarcan también a las redes, incluyendo el protocolo
802.1AX permitiendo combinar diversas interfaces Ethernet en un único
dispositivo virtual.
Twitter (que no hace falta explicar ni quién es ni qué hace) ha decidido
unirse a la LinuxFoundation. El Director de OpenSource de Twitter
(Chris Aniszczyk) dijo:
Linux y su capacidad de poder ser modificado es fundamental para
nuestra infraestructura tecnológica. Al unirnos a la Fundación Linux podemos apoyar a una organización que es importante para nosotros, y
colaborar con una comunidad que hace avanzar a Linux tan rápido como
nosotros lo hacemos con Twitter.
Aniszczyk podría darnos más detalles en la próximaLinuxCon, aunque
personalmente estoy mucho más motivado sobre lo que puede aportar
Twitter a Linux en materia técnica, que los detalles legales o de otra
índole sobre su incorporación (o sea, ansío ver las contribuciones de
Twitter, no me genera mucha curiosidad el por qué se unieron ahora
jeje).
Junto a Twitter hay MUCHOS otros grandes que pertenecen a
la Fundación Linux.
Conclusión
Una de las más importantes es que Linux es una excelente elección para
trabajar con UNIX a nivel personal. Linux permite desarrollar y probar el
software UNIX en su PC, incluyendo aplicaciones de bases de datos y X
Windows. Con Linux, se puede correr un sistema UNIX y adaptarlo a las
necesidades. La instalación y uso de Linux es también una excelente
manera de aprender UNIX si no se tiene acceso a otras máquinas UNIX.
Linux no es solo para los usuarios personales de UNIX. Es robusto y
suficientemente completo para manejar grandes tareas, así como
necesidades de cómputo distribuidas. Muchos negocios especialmente los pequeños se están cambiando a Linux en lugar de otros entornos de
estación de trabajo basados en UNIX. Grandes vendedores de software
comercial se están dando cuenta de las oportunidades que puede
brindar un sistema operativo gratuito.
Linux es, propiamente, el núcleo de un sistema operativo. Es decir, el
conjunto de programas que controla los aspectos más básicos del
funcionamiento de un ordenador. Su desarrollo lo inició en 1991 Linus
Tovalds, entonces estudiante en la Universidad de Helsinki, en Finlandia,
y se completó con miles de aportaciones a través de Internet.