Eclesiastés 9:5 Porque los que viven saben que han de morir, pero los muertos no saben nada, ni tienen ya ninguna recompensa, porque su memoria está olvidada.
miércoles, 30 de noviembre de 2011
Los Creadores de Lenguaje C y Unix
martes, 20 de septiembre de 2011
Programas desarrollados por GNU
Pero El les dijo: Soy yo; no temáis.(Juan 6:20)
Listado de algunos programas desarrollados por el proyecto GNU:
- Bison - generador de analizadores sintácticos diseñado para sustituir a yacc
- Bash - intérprete de comandos
- BFD - archivos de bibliotecas
- Binutils - ensamblador GNU, enlazador GNU, y herramientas relacionadas
- Classpath - bibliotecas para Java
- DotGNU - sustituto de .NET
- Emacs - editor de texto extensible y autodocumentado
- GCC - compilador optimizado para varios lenguajes, particularmente C
- GDB - depurador de aplicaciones
- GNU Ghostscript - aplicaciones para PostScript y PDF[3]
- GIMP - programa de edición fotográfica
- Glibc - biblioteca para lenguaje C
- GMP - biblioteca para cálculos con precisión arbitraria
- GNOME - ambiente de escritorio gráfico
- Sistema de construcción para GNU
- GNUnet - red descentralizada de comunicaciones personales, diseñada para resistir interferencias no autorizadas
- GNUstep - implementación del conjunto de bibliotecas OpenStep, así como herramientas para programar aplicaciones gráficas
- GSL - biblioteca científica para GNU
- Gzip - aplicaciones y bibliotecas para compresión de datos
- Hurd - un micronúcleo y un conjunto de servidores que funcionan del mismo modo que el núcleo UNIX
- Maxima - un sistema para cálculos algebraicos
- Octave – un programa para cómputo numérico similar a MATLAB
- GNU MDK - un conjunto de herramientas para la programación en MIX
- Texinfo - sistema de documentación
- LilyPond - editor de partituras musicales.
- CVS - sistema de control de versiones para código fuente
- DDD - herramientas gráficas para detección y depuración de errores
Distribuciones de GNU
La única variante completamente GNU es el núcleo Hurd, la cual es distribuida como Debian GNU/Hurd y otros, aunque no hay ninguna versión oficial hasta el momento.Linux es el núcleo más usado con GNU, aunque Linux en sí no es parte de él. GNU también es utilizado con otros núcleos, como Debian GNU/kFreeBSD, Debian GNU/NetBSD, Nexenta OS o GNU-Darwin.
miércoles, 14 de septiembre de 2011
Tux
Deuteronomio 4:23 Guardaos, pues, no sea que olvidéis el pacto que el SEÑOR vuestro Dios hizo con vosotros, y os hagáis imagen tallada en forma de cualquier cosa que el SEÑOR tu Dios te ha prohibido.
Origen
viernes, 5 de agosto de 2011
REFERENCIA DE COMANDOS UNIX-LINUX
Tomado de :Pello.info
Pueden probar los comandos de Linux en la siguiente Dirección: http://www.masswerk.at/jsuix/
claro no son todos pero si los basicos este es el :Manual man
Comando
ls Descripción: =list. listar contenido de directorios. Ejemplos: ls, ls -l, ls -fl, ls --color
cp Descripción: =copy. copiar ficheros/directorios. Ejemplos:cp -rfp directorio /tmp, cp archivo archivo_nuevo
rm Descripción: =remove. borrar ficheros/directorios. Ejemplos: rm -f fichero, rm -rf directorio, rm -i fichero
mkdir Descripción: =make dir. crear directorios. Ejemplos: mkdir directorio
rmdir Descripción: =remove dir. borrar directorios, deben estar vacios. Ejemplos: rmdir directorio
mv Descripción: =move. renombrar o mover ficheros/directorios. Ejemplos: mv directorio directorio, mv fichero nuevo_nombre, mv fichero a_directorio
date Descripción: gestion de fecha de sistema, se puede ver y establecer. Ejemplos: date, date 10091923
history Descripción: muestra el historial de comandos introducidos por el usuario. Ejemplos: history | more
more Descripción: muestra el contenido de un fichero con pausas cada 25 lineas. Ejemplos: more fichero
grep Descripción: filtra los contenidos de un fichero. Ejemplos:cat fichero | grep cadena
cat Descripción: muestra todo el contenido de un fichero sin pausa alguna. Ejemplos: cat fichero
chmod Descripción: cambia los permisos de lectura/escritura/ejecucion de ficheros/directorios. Ejemplos: chmod +r fichero, chmod +w directorio, chmod +rw directorio -R, chmod -r fichero
chown Descripción: =change owner. cambia los permisos de usuario:grupo de ficheros/directorios. Ejemplos: chown root:root fichero, chown pello:usuarios directorio -R
tar Descripción: =Tape ARchiver. archivador de ficheros. Ejemplos: tar cvf fichero.tar directorio , tar xvf fichero.tar, tar zcvf fichero.tgz directorio, tar zxvf fichero.tgz
gunzip Descripción: descompresor compatible con ZIP. Ejemplos: gunzip fichero
rpm Descripción: gestor de paquetes de redhat. Para instalar o actualizar software de sistema. Ejemplos: rpm -i paquete.rpm, rpm -qa programa, rpm --force paquete.rpm, rpm -q --info programa
mount Descripción: montar unidades de disco duro, diskette, cdrom. Ejemplos: mount /dev/hda2 /mnt/lnx, mount /dev/hdb1 /mnt -t vfat
umount Descripción: desmontar unidades. Ejemplos: umount /dev/hda2, umount /mnt/lnx
wget Descripción: programa para descargar ficheros por http o ftp. Ejemplos: wget http://www.rediris.es/documento.pdf
lynx Descripción: navegador web con opciones de ftp, https. Ejemplos: lynx www.ibercom.com, lynx --source http://www.ibercom.com/script.sh | sh
ftp Descripción: cliente FTP. Ejemplos: ftp ftp.ibercom.com
whois Descripción: whois de dominios. Ejemplos: whois ibercom.com
who Descripción: muestra los usuarios de sistema que han iniciado una sesion. Ejemplos: who, w, who am i
mail Descripción: envio y lectura de correo electronico. Ejemplos: mail pepe@ibercom.com < fichero, mail -v pepe@ibercom.com < fichero
sort Descripción: ordena el contenido de un fichero. Ejemplos: cat /etc/numeros | sort, ls | sort
ln Descripción: =link. para crear enlaces, accesos directos. Ejemplos: ln -s /directorio enlace
tail Descripción: muestra el final (10 lineas) de un fichero. Ejemplos:tail -f /var/log/maillog, tail -100 /var/log/maillog | more
head Descripción: muestra la cabecera (10 lineas) de un fichero. Ejemplos: head fichero, head -100 /var/log/maillog | more
file Descripción: nos dice de que tipo es un fichero. Ejemplos: file fichero, file *
Comandos de administracion
sysctl Descripción: Configurar los paràmetros del kernel en tiempo de ejuecución. Ejemplos: sysctl -a
ulimit Descripción: muestra los limites del sistema (maximo de ficheros abiertos, etc..) Ejemplos: ulimit
adduser Descripción: añadir usuario de sistema. Ejemplos: adduser pepe, adduser -s /bin/false pepe
userdel Descripción: = eliminar usuario de sistema Ejemplos: userdel pepe
usermod Descripción: = modificar usuario de sistema Ejemplos: usermod -s /bin/bash pepe
df Descripción: = disk free. espacio en disco disponible. Muy util. Ejemplos: df, df -h
uname Descripción: =unix name. Informacion sobre el tipo de unix en el que estamos, kernel, etc. Ejemplos: uname, uname -a
netstat Descripción: la informacion sobre las conexiones de red activas. Ejemplos: netstat, netstat -ln, netstat -l, netstat -a
ps Descripción: =proccess toda la informacion sobre procesos en ejecucion. Ejemplos: ps, ps -axf, ps -A, ps -auxf
free Descripción: muestra el estado de la memoria RAM y el SWAP. Ejemplos: free
ping Descripción: heramienta de red para comprobar entre otras cosas si llegamos a un host remoto. Ejemplos: ping www.rediris.es
traceroute Descripción: herramienta de red que nos muestra el camino que se necesita para llegar a otra maquina. Ejemplos: traceroute www.rediris.es
du Descripción: =disk use. uso de disco. Muestra el espacio que esta ocupado en disco. Ejemplos: du *, du -sH /*, du -sH /etc
ifconfig Descripción: =interface config. configuracion de interfaces de red, modems, etc. Ejemplos: ifconfig, ifconfig eth0 ip netmask 255.255.255.0
route Descripción: gestiona las rutas a otras redes. Ejemplos: route, route -n
iptraf Descripción: muestra en una aplicacion de consola TODO el trafico de red IP, UDP, ICMP. Permite utilizar filtros, y es SUMAMENTE UTIL para diagnostico y depuracion de firewalls Ejemplos: iptraf
tcpdump Descripción: vuelca el contenido del trafico de red. Ejemplos: tcpdump, tcpdump -u
lsof Descripción: muestra los ficheros(librerias, conexiones) que utiliza cada proceso Ejemplos: lsof, lsof -i, lsof | grep fichero
lsmod Descripción: Muestra los modulos de kernel que estan cargados. Ejemplos: lsmod
modprobe Descripción: Trata de instalar un modulo, si lo encuentra lo instala pero de forma temporal. Ejemplos: modprobe ip_tables, modprobe eepro100
rmmod
Descripción: Elimina modulos del kernel que estan cargados
Ejemplos: rmmod
sniffit Descripción: Sniffer o husmeador de todo el trafico de red. No suele venir instalado por defecto. Ejemplos: sniffit -i
lsusb
El comando lsusb en Linux se usa para mostrar la información sobre los
buses USB y los dispositivos conectados a ellos . Las propiedades que
se muestran son velocidad, BUS, clase, detalles de tipo, etc. Esta
información se recopila escaneando /dev/bus/usb para obtener
información sobre el dispositivo conectado, la identificación del
dispositivo y la información del proveedor.
mkfs
Comando Linux MKFS, se utiliza para dar formato a un dispositivo de
almacenamiento de bloque con un determinado sistema de archivos.
Un Sistema de archivos es la estructura básica de toda los datos que se
guarda, edita, borra o copia etc…en el ordenador, siendo toda esta
información accesada a través de gestores de archivos en sus
respectivos SO.
ext – Extended file system (sistema de archivos extendido)
ext2 – Second extended file system (segundo sistema de archivo extendido)
ext3 – Third extended file system (tercer sistema de archivos extendido), una forma de ext2 con registro en diario.
ext4 – Fourth extended file system (cuarto sistema de archivos
extendido), una mejora de ext3 y también un sistema de archivos con
registro en diario con soporte para extensiones.
Ejemplos prácticos mkfs:
#Crear filesystem
mkfs -t ext4 /dev/sdd1
mke2fs -t ext4 /dev/sdb
fsck
fsck (comprobación del sistema de archivos) es una utilidad de línea de
comandos que le permite realizar comprobaciones de coherencia
interactivas y reparaciones en uno o más sistemas de archivos de Linux.
Utiliza programas específicos para el tipo de sistema de archivos que
comprueba.
Ejecute fsck para reparar el sistema de archivos:
sudo fsck -p /dev/sdc1
La -p indica a la fsck que repare automáticamente cualquier problema
que pueda solucionarse de forma segura sin la intervención del usuario.
split
El comando split es una de las herramientas de coreutils del sistema GNU con kernel Linux.
El comando split sirve para dividir un archivo grande en varios
archivos pequeños. Podemos realizar esa división por número de líneas,
por tamaño u otras opciones.
Podemos dividir el archivo en archivos de 100 líneas cada uno mediante:
split -l 100 archivo.txt
También podemos dividir el archivo grande en archivos más pequeños y cada uno de un tamaño determinado, por ejemplo 10 Megas:
split -b 10M archivo.txt
Podemos hacer que nuestros archivos divididos no terminen con letras
como hemos visto (aa, ab, ac) si no que vayan numerados empezando por
el 0. Para ello utilizamos la opción -d:
split -d -b 10M archivo.txt
Pero quizás queremos que no sean números de dos dígitos, si no de 2 o
más, para ello añadimos la opción -a y el número de dígitos que
queremos:
split -a 3 -d -b 10M archivo.txt
También podemos cambiar el nombre x que le pone el comando split por un
prefijo que nosotros determinemos. Para ello escribimos nuestro prefijo
detrás del nombre del archivo. En este caso sustituiremos la x por logs_
split -a 3 -d -b 10M archivo.txt logs_
Quizás queremos dividir nuestro archivo no en líneas o no por tamaño,
si no simplemente porque queremos forzar el comando para que lo divida
en un número determinado de archivos. Para ello usaremos la opción -n y
lo dividiremos en 5 partes:
split -n 5 archivo.txt log_
Con todo esto y mucho más podemos utilizar el comando split en
GNU/Linux para dividir archivos, pero ¿y si queremos volver a unir los
archivos en uno solo?
Para eso utilizamos el comando cat. Por ejemplo, si tenemos los 5
archivos divididos en una carpeta, que se llaman xaa, xab, xac, xad,
aae y los queremos unir en un archivo llamado log.txt:
cat xa* > log.txt
Podemos comprobar que el archivo generado es idéntico al que utilizamos
originalmente para dividirlo mediante la suma de verificación que nos
genera el comando sha256sum
sha256sum archivo.txt log.txt
Y los valores que nos de, deberán ser idénticos.
domingo, 24 de julio de 2011
Núcleo Linux
El núcleo Linux fue concebido por el entonces estudiante de ciencias de la computación finlandés, Linus Torvalds, en 1991. Linux consiguió rápidamente desarrolladores y usuarios que adoptaron códigos de otros proyectos de software libre para su uso en el nuevo sistema operativo. El núcleo Linux ha recibido contribuciones de miles de programadores.
Normalmente Linux se utiliza junto a un empaquetado de software, llamado distribución Linux.
Historia
En abril de 1991, Linus Torvalds, de 21 años, empezó a trabajar en unas simples ideas para un núcleo de sistema operativo. Comenzó con un intento por obtener un núcleo de sistema operativo gratuito similar a Unix que funcionara con microprocesadores Intel 80386. Luego, el 25 de agosto de 1991, Torvalds escribió en el grupo de noticias comp.os.minix:
(autoalbergada). Es decir, Linux 0.11 podía ser compilado por una computadora que ejecutase Linux 0.11, mientras que las versiones anteriores de Linux se compilaban usando otros sistemas operativos. Cuando lanzó la siguiente versión, Torvalds adoptó la GPL como su propio boceto de licencia, la cual no permitía su redistribución con otra licencia que no sea GPL.
Se inició un grupo de noticias llamado alt.os.linux y el 19 de enero de 1992 se publicó en ese grupo el primer post. El 31 de marzo, alt.os.linux se convirtió en comp.os.linux. XFree86, una implementación del X Window System, fue portada a Linux, la versión del núcleo 0.95 fue la primera en ser capaz de ejecutarla. Este gran salto de versiones (de 0.1x a 0.9x) fue por la sensación de que una versión 1.0 acabada no parecía estar lejos. Sin embargo, estas previsiones resultaron ser un poco optimistas: desde 1993 a principios de 1994, se desarrollaron 15 versiones diferentes de 0.99 (llegando a la versión 0.99r15).
El 14 de marzo de 1994, se lanzó Linux 1.0.0, que constaba de 176.250 líneas de código. En marzo de 1995 se lanzó Linux 1.2.0, que ya estaba compuesto de 310.950 líneas de código.
En mayo de 1996 Torvalds decidió adoptar al pingüino Tux como mascota para Linux.
La versión 2 de Linux se lanzó el 9 de junio de 1996 y fue un gran éxito. A éste le siguieron grandes desarrollos:
- 25 de enero de 1999: se lanzó Linux 2.2.0 con 1.800.847 líneas de código.
- 18 de diciembre de 1999: se publicaron parches de IBM Mainframe para 2.2.13, permitiendo de esta forma que Linux fuera usado en ordenadores corporativos.
- 4 de enero de 2001: se lanzó Linux 2.4.0 con 3.377.902 líneas de código.
- 17 de diciembre de 2003: se lanzó Linux 2.6.0 con 5.929.913 líneas de código.
- 24 de diciembre de 2008: se lanzó Linux 2.6.28 con 10.195.402 líneas de código.
- 20 de octubre de 2010: se lanzó Linux 2.6.36 con 13.499.457 líneas de código.
Su código fuente está disponible para descarga en el sitio web oficial.
El 30 de mayo de 2011, Linus Torvalds anunció que la versión del núcleo dará el salto a la 3.0 en la siguiente publicación.
Lenguajes de programación
Asimismo se usan muchos otros lenguajes en alguna forma, básicamente en la conexión con el proceso de construcción del núcleo (el método a través del cual las imágenes arrancables son creadas desde el código fuente). Estos incluyen a Perl, Python y varios lenguajes shell scripting. Algunos drivers también pueden ser escritos en C++, Fortran, u otros lenguajes, pero esto no es aconsejable. El sistema de construcción de Linux oficialmente solo soporta GCC como núcleo y compilador de controlador.
Tomado de: wikipedia.org
lunes, 20 de junio de 2011
Mitos y leyendas
El software libre es gratuito. Esta es la creencia más arraigada entre la gente y por supuesto totalmente falsa. El software libre no tiene por qué ser gratuito, aun cuando puedas conseguirlo gratuitamente. Es perfectamente normal cobrar por ello (si no mirad la cantidad de distribuciones que son comerciales), generalmente no hay un pago por licencia, siendo lo normal el pago por el soporte y mantenimiento, que un usuario normal no suele usar pero sí generalmente empresas. Ni que decir tiene que hay muchas más formas, pero no es el objetivo, al menos de momento.
Linux sólo es para hackers y programadores. Otra cosa que es totalmente falsa y que aún sigue en la mente de muchos. Linux es cada vez más un sistema operativo de lo más versátil al que le queda muy pocos campos en los que se queda corto.
Linux es difícil. Realmente esto con los nuevos escritorios y las instalaciones tan sencillas que se nos ofrecen es ya algo del pasado. Lo único que requiere Linux es tener unos conocimientos mínimos que tampoco son nada del otro mundo para poder empezar a usarlo. Otra cosa es que no tengamos paciencia ya que el cambio siempre es costoso, tanto por la comodidad de lo conocido como por querer aprender algo nuevo en poco tiempo.
Linux es seguro. Esto es según nosotros queramos que lo sea, por defecto sí es más seguro, pero esto no da más que una falsa seguridad. Hay que recordar que no hay configuraciones por defecto buenas y un sistema mal mantenido y configurado es algo bastante vulnerable. Linux es tan seguro como nosotros de paranoicos para que lo sea.
En Linux no existen virus. Otra cosa totalmente falsa y que muchísima gente cree o piensa que hay 10 ó 12 a lo sumo. Hay varios factores por los que los virus en Linux no tienen mucho alcance. Lo primero es que el usuario medio de Linux no es ni mucho menos el usuario medio de Windows, y muchas técnicas de ingeniería social usadas por los virus no surten mucho efecto, amén de que se acostumbra a conocer el origen de los programas. Otro factor a tener en cuenta es que Linux no es la plataforma mayoritaria, y bien es sabido que todo creador quiere que su creación llegue lo más lejos posible. Y totalmente obvio es que la seguridad es mejor y los errores se corrigen mucho más rápidamente al ser un sistema abierto. Para los incrédulos, decir que hay más de 300 virus para Linux, pero lo bueno es que muchos de ellos son pruebas y virus de “laboratorio”. Lo que sí podemos es llegar a la conclusión de que el riesgo de virus en un sistema Linux es tan pequeño que no es nada preocupante no tener un antivirus, que generalmente sirven para limpiar virus de Windows ya que hay muchos servidores Linux en Internet.
Qué puedo y no puedo hacer con software libre.
Los derechos que tenemos con el software libre (la licencia GPL de la GNU es la más representativa aunque existen muchísimas más como por ejemplo la BSD, ver http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses) es que podemos copiarlo, modificarlo e incluso redistribuirlo y cobrar por ello si quisiéramos (otra cosa es que nos paguen por ello), pero bajo unos deberes. En el caso concreto de nuestro representativo ejemplo, la licencia GPL, tienes que distribuir el código, respetar la licencia y las notas de autor, siendo ilegal apropiarse de ese código. Si tú modificas algo con licencia GPL el nuevo código será forzosamente GPL (otra cosa es que tú uses código propietario apoyado en GPL), y evidentemente tú serás el autor de ese código que añades. Para una mejor información lee la propia GPL, es un poco pesada pero bueno.
Nota: Software abierto no es lo mismo que software libre, con un software abierto puedes ver su código pero no tienen que cumplirse los otros derechos.
Características de GNU/Linux.
Multitarea. Puede hacer varias cosas a la vez y además hay que destacar que es el multitarea más eficiente que he visto nunca.
Multiusuario. Cualquier Linux puede tener muchos usuarios concurrentemente usándolo en Tiempo real y sin ningún programa añadido, ya sea por consolas virtuales, sesiones remotas o terminales.
Multiprocesador. Maneja dos o más procesadores a la vez, sin por ello tener que pagar nada de más.
Soportado por múltiples arquitecturas. ¿Conoces alguna arquitectura de computador? Seguro que ya hay una versión de Linux para ella a menos que sea demasiado nueva (y ya tiene que serlo) para que no la haya. Hay que destacar que no existen versiones de Linux para arquitecturas Intel más bajas que el 386. ¿Sale una nueva arquitectura? Seguro que si no está ya soportada pronto lo estará, mirad si no qué rápido fue soportado el AMD 64.
Dónde conseguir GNU/Linux.
Pues es bien sencillo, si no conoces a nadie que tenga una distribución que pueda pasarte, puedes conseguirlas en cualquier buscador web y encontrarás casi todas las distribuciones disponibles. Si no tienes una buena conexión a Internet u oportunidad de que alguien baje una por ti, sólo tienes que acercarte a una librería o kiosco y buscar una revista especializada, seguro que alguna trae una distribución incluida.
Pero como siempre todo es cuestión de gustos, y lo aquí expuesto esta basado en la experiencia y mi opinión personal. Seguro que encuentras el sabor Linux (Linux like) que más te gusta.
viernes, 13 de mayo de 2011
Richard Stallman
"Porque de tal manera amó Dios al mundo, que dio a su Hijo unigénito, para que todo aquel que cree en El, no se pierda, mas tenga vida eterna." ( Juan 3:16)"Jesús le dijo: Yo soy la resurrección y la vida; el que cree en mí, aunque muera, vivirá,"(Juan 11:25)
El Hombre:
Richard Matthew Stallman
(nacido en Manhattan, Nueva York, 16 de marzo de 1953), con frecuencia abreviado como "rms", es un programador estadounidense y fundador del movimiento por el software libre en el mundo.
Entre sus logros destacados como programador se incluye la realización del editor de texto GNU Emacs, el compilador GCC, y el depurador GDB, bajo la rúbrica del Proyecto GNU. Sin embargo, es principalmente conocido por el establecimiento de un marco de referencia moral, político y legal para el movimiento del software libre, como una alternativa al desarrollo y distribución del software no libre o privativo. Es también inventor del concepto de copyleft (aunque no del término), un método para licenciar software de tal forma que su uso y modificación permanezcan siempre libres y queden en la comunidad.
Iniciativa GNU
Al anuncio inicial del proyecto GNU siguió, en 1985, la publicación del Manifiesto GNU, en el cual Stallman declaraba sus intenciones y motivaciones para crear una alternativa libre al sistema operativo Unix, al que denominó GNU (GNU No es Unix), pronunciado de forma parecida a ñu, en inglés (de ahí los dibujos-logotipos que lo representan). Poco tiempo después fundó la organización sin ánimo de lucro Free Software Foundation para coordinar el esfuerzo. Inventó el concepto de copyleft, que fue utilizado en la Licencia Pública General GNU (conocida generalmente como la "GPL") en 1989. La mayor parte del sistema GNU, excepto el núcleo, se completó aproximadamente al mismo tiempo.
Copyleft
El término surge en las comunidades de software libre como un juego de palabras entorno a copyright: "derecho de autor", en inglés (literalmente: "derecho de copia"). Se puede traducir por "izquierdo de autor", aunque esta propuesta no refleja otro sentido de left en inglés: pretérito del verbo dejar. Se considera que una licencia libre es copyleft cuando además de otorgar permisos de uso, copia, modificación y redistribución de la obra protegida, contiene una cláusula que impone una licencia similar o compatible a las copias y a las obras derivadas.
Tomado de: Wikipedia

