lunes, 12 de enero de 2009

Untitled






Esto es algo que a muchos usuarios nuevos causa confusión...

Muchas veces verán manuales y mensajes que se ven así:

Código:
$ls todo

#apt-get install miprograma


Y no toman en cuenta el primer carácter.

Linux
es un sistema bastante seguro debido a que la mayor parte de las cosas
se hacen en modo usuario, de manera que lo que hacemos en este modo
nunca dañará el sistema (a menos que hayamos hecho cosas muy estúpidas
con anterioridad como cambiar permisos de archivos y directorios
importantes).

Cuando en un manual o instrucción indicamos que un
comando debe ser usado en modo usuario entonces usamos el carácter "$"
al principio de la linea, por ejemplo:

Código:
$mkdir nuevacarpeta
$rm archivodeprueva
$ls *

En cambio, cuando debemos correr un comando como administrador lo indicamos con el caracter "#", por ejemplo:

Código:
#apt-get install loquesea
#nano /etc/archivo.conf
#rm -r /*
Recomendaciones:

Por
la seguridad de sus equipos, cuando vayan a correr un comando como
administrador, inicien la sesión, ejecuten lo que han de ejecutar y
regresen de inmediato al modo usuario, eso les salvara de cometer un
error que pudiese ser fatal para el sistema.


Alternar entre modo usuario y Administrador:


En linux siempre habrá más de una manera de hacer las cosas.

La
opción más común para correr un comando es abrir una consola virtual
(algun programa dentro del ambiente gráfico que nos muestre la línea de
comandos al más puro estilo MS-DOS). y ejecutar comandos. al abrirlo
veremos algo así:

Código:
paynalton@Carlos-Internet:~$
Como
pueden ver, el "$" nos indica que estamos en modo usuario. Para ser más
específicos, el PROMPT se estructura de la siguiente manera:

Código:
paynalton                  @       Carlos-Internet      :   ~                       $
NombreDelUsuario     @       NombreDelEquipo  :   DirectorioActual   MODO
Para pasar al modo administrador usamos el comando "su"

Código:
paynalton@intraasm:~$ su
Password:
intraasm:/var/www/nuevaintra#

Como
ven nos cambia el caracter final por un "#" indicando que estamos en
modo administrador, para volver al modo anterior simplemente se usa el
comando "exit"

Código:
paynalton@intraasm:~$ su
Password:
intraasm:/var/www/nuevaintra# exit
exit
paynalton@intraasm:~$   

Así siempre volveran al usuario anterior.

Algunos
sistemas, por seguridad, no te permiten usar el comando "su" (ubuntu y
toda su prole) pero en cambio vienen con otro comando bastante útil y
seguro: "sudo" (hacer como su). Este comando les permitirá ejecutar
comandos como si fueran el administrador pero sin abrir por completo la
sesión, de manera que no necesitan el comando "exit".

de manera que si en un manual ven algo así:
Código:
$./config
$./make
#./make install

da lo mismo que ejecuten:


Código:
paynalton@intraasm:~$./config
paynalton@intraasm:~$./make
paynalton@intraasm:~$su
Password:
intraasm:/var/www/nuevaintra#./make install
intraasm:/var/www/nuevaintra# exit
exit
paynalton@intraasm:~$ 
 

y

Código:
paynalton@Carlos-Internet:~$./config
paynalton@Carlos-Internet:~$./make
paynalton@Carlos-Internet:~$ sudo ./make install
[sudo] password for paynalton:
paynalton@Carlos-Internet:~$


Y creo que eso es todo de esta pequeña aclaración, espero que les sea útil.

Si desean saber mas sobre los comandos aquí mencionados, no olviden ver los manuales tecleando en su consola:
Código:
$man comando

Untitled






Uno de los principales problemas con GNU-Linux desde sus inicios
siempre fue la estandarización. Y es que GNU-linux siempre fue un
proyecto abierto a todo el mundo y en donde miles de manos han creado
un pequeño trozo de código. Pero, humanos al final de cuentas, no
siempre estaremos todos de acuerdo y al existir tantas manos metidas es
difícil tener un orden, siendo que cada persona puede tener un Linux
totalmente distinto del que tiene su vecino.

Entonces los
programadores de aplicaciones tienen un gran problema: Cuando ellos
crean su programa utilizan diferentes bibliotecas para ahorrarse
trabajo y comprueban que en su sistema funcione correctamente. Pero si
el programador quiere distribuirlo es muy posible que otras
computadoras no tengan las mismas bibliotecas que las que el utilizó o
simplemente que se encuentren en un directorio distinto del esperado,
lo cual hace que su programa sea incompatible con otros sistemas.

Esto
crea un gran problema que en un principio se intento solucionar por
medio de LSB (Linux Standard Base) que proponía un conjunto de
bibliotecas standard en las que los programadores podrían confiar con
encontrar siempre en cualquier sistema linux.

Sin embargo este
plan no progresó como se esperaba y LSB se convirtió en una solución no
muy bien aceptada, pues había serias discusiones sobre que biblioteca
era mejor que otra, un programa que causaba inestabilidad con otro o
que era demasiado inseguro, y culminó con el rompimiento de relaciones
con algunas compañías importantes.

Y hasta hace algunos años
instalar un programa en linux era una pesadilla, pues para tenerlo
debías de conseguir e instalar todos y cada uno de los programas que se
requerían para hacer funcionar ese programa.

Una primera
solución fueron los paquetes de instalación. Un usuario que quería
instalar un programa debía buscar el respectivo paquete de instalación
(.deb, .ebuild, .rpm, etc.) para su sistema y el sistema instalador
comprobaba las dependencias del programa, alertando si faltaba alguna y
sugiriendo a veces de donde descargar el programa que faltaba.

Posteriormente
algunos de estos sistemas de instalación podían descargar los paquetes
de instalación de los programas que faltaban (dependencias) para hacer
la vida del usuario mucho más fácil.

Todo esto ha ido evolucionando hasta llegar a los actuales sistemas de repositorios.

SISTEMAS DE REPOSITORIOS

Casi cualquier versión de GNU-Linux cuenta con un sistema de repositorios. Pero que demonios es eso?

Los
usuarios que migran de un sistema a otro se sorprenden de que ya no
tienen que pasar horas buscando un programa en internet para
instalarlo, sino que dentro de su sistema linux encuentran una lista de
programas para instalar.

Un repositorio es eso, una lista de
programas que es mantenida por la gran cantidad de usuarios y
desarrolladores de una distribución determinada. Cada vez que surge un
programa nuevo o una nueva versión de este, un grupo de entusiastas
revisa las dependencias de ese programa, lo instalan y revisan su
estabilidad, seguridad y diversos conflictos con otras aplicaciones.
Tras un periodo de prueba el programa es colocado en la lista de
"programas estables" en donde los usuarios comunes pueden hacer uso de
el con toda confianza.

por tanto un usuario que quiere instalar un programa solo tiene que hacer lo siguiente:

Reconoce
el sistema instalador que utiliza, para RedHat y Fedora se usa YUM,
para los venidos de Debian se usa APT, para gentoo está PORTAGE y
disculpen si por ignorancia omito alguno.

Entonces deben actualizar la lista de programas desde el sitio de la distribución corriendo un simple comando:
Código:
#apt-get update
#emerge --sync

Una vez hecho esto hacen una búsqueda para encontrar su programa.

Código:
$apt-cache search programa
$emerge -s programa
$yum search programa

Una vez que tienen el nombre exacto del programa simplemente ejecutan otro comando para instalarlo:
Código:
#apt-get install programa
#emerge programa
#yum install programa

Y listo, el sistema realizará las siguientes acciones:

  • buscar la última versión estable para el programa
  • calcular la cantidad de dependencias del programa
  • descargar todos los archivos necesarios para instalar el programa y sus dependencias
  • verificar que los archivos descargados no estén corruptos (ya sea por un error en la descarga o porque alguien muy malo
  • haya alterado el paquete)
  • descomprimir todos los archivos
  • instalar todos los programas
  • configurar todos los programas
  • mostrar opciones para cosas que requieran la atención del usuario (como aceptar contratos o dar datos específicos del equipo).

Y con eso su programa estará instalado...

Muy fácil no? no? porque no?

Si
lo suyo no son los comandos, casi todas las distribuciones cuentan ya
con una interfaz gráfica para su sistema instalador. que ejecula por
ustedes esos tres simples comandos de manera que ustedes solo tienen
que: buscar el programa, seleccionar el que quieren instalar y dar
click en "instalar"...

Les gusta el peligro?

Todo
sistema de repositorios siempre está establecido por defecto en las
versiones estables del sistema, pero si ustedes son lo bastante
audaces, siempre pueden configurarlo en repositorios inestables para
obtener siempre los últimos programas recién saliditos de la forja
(sourceforge), y si encuentran algún error no olviden reportarlo para
que así e, la próxima actualización sea corregido no solo para ustedes,
sino para todos los que utilizan ese programa.

lo olvidaba, actualizaciones.

Pueden
ustedes actualizar sus sistemas por completo, incluyendo todos y cada
uno de los programas instalados con un simple comando:
Código:
#yum update
#apt-get upgrade
3emerge -u world

Y
con esto siempre tendrán a su equipo en las mejores condiciones y
claro, también hay interfaces gráficas para todo esto y notificadores
automáticos que le informan de nuevas actualizaciones disponibles.

Suerte, si hay preguntas pues es la hora.

Guia 1






Bueno, comienzo la escritura de esta serie de Howto que, si bien no
revelan grandes conocimientos, dejan en claro algunos puntos básicos
que resultan muy útiles a la hora de irse adentrando en un sistema tan
polifacético. Creo que voy a dejar una copia de cada uno en mi blog por
si alguien quiere dar un recorrido por ellos.

Comencemos entonces:

¿Porqué mi amigo Linuxero se enoja si digo solo Linux y no GNU/Linux?

Seguramente
te habrás encontrado con comentarios en foros o gente que directamente
te diga: "el nombre correcto es GNU/Linux,,. si dices solo Linux
entonces solo te refieres al nucleo".

A mi en lo personal me
parece un tanto ridículo el ser tan exigentes con los nombres, pero
estas actitudes tienen su razón de ser que se remontan a los principios
de nuestro amado pingüino.

La Historia tras esas tres letras: GNU

Se
dice que en un principio existió el hombre, y por un tiempo fue bueno.
Entonces el hombre creó a las computadoras a imagen y semejanza de su
televisor. jejeje.

Lo que si se cuenta es que al principio de la
era de las computadoras, el verdadero negocio no era el software, sino
la computadora misma. El software era escrito por cualquier usuario con
conocimientos medios y los profesionales de la computación compartían
libremente sus creaciones que rápidamente se extendían por el planeta y
consiguieron ese fenomenal desarrollo tecnológico que ha caracterizado
a la informática.

Pero entonces las empresas comenzaron a ver
que el software era algo de lo cual se podía sacar provecho, y
comenzaron a crear reglas restrictivas para que sus empleados no
divulgaran sus desarrollos y los mismos fueran vendidos por la empresa.

Estas
actitudes fueron extendiéndose por todas las empresas y la información
dejó de fluir. Un experto de sistemas llamado Richard Stallman, quien
estaba acostumbrado a compartir y a recibir información libremente
trabajaba en una empresa que acababa de comprar una impresora nueva.

Esa
impresora no funcionaba como la empresa necesitaba, y, como buen
experto, Ricardito vio que el problema se encontraba en el controlador
de la impresora.

Entonces, tal y como había hecho en otras
ocasiones, tomó el teléfono y pregunto cuanto le cobrarían por
proporcionarle el código fuente del controlador pues quería hacer una
corrección, misma que posteriormente enviaría a la empresa fabricante
para que consideraran añadirla  sus futuras versiones. pero su sorpresa
fue enorme cuando le dijeron que no podían entregarle el código fuente,
ni siquiera vendido.

Tras armar una revuelta vía telefónica,
hacer gran coraje y terminar sin una sola pizca de código, Stallman se
dió cuenta de que a su alrededor las empresas protegían ya su código
fuente y simplemente pensó: "esto ya no es bueno".

Dialogando
con otros expertos se decidieron a poner fin a todo ello, entonces
crearon la FSF (Free Software Foundation), las licencias GPL, y
comenzaron atrabajar en un nuevo sistema operativo lleno de
aplicaciones y controladores totalmente libres, este sistema recibiría
el nombre de GNU (GNU is Not Unix).

Llegó el año de 1992 y el
sistema estaba ya muy completo, con cientos de aplicaciones pero,
faltaba lo más importante, el núcleo.

Aunque el sistema no
estaba completamente terminado muchos querían ya utilizarlo, pero sin
ese núcleo era imposible realizarlo. entonces llegó una bendición en
forma de núcleo de manos de Linus Tovars quien había desarrollado un
núcleo al cual llamó Linux, el cual había sido concebido en un
principio para ser utilizado en sistemas Minix.

Sin embargo no
resultó muy difícil integrarlo al sistema GNU y, muchos años antes de
lo esperado, surgió la primera versión usable de GNU llamada GNU/linux.

Cabe
destacar que GNU/Linux no es la cumbre del éxito, pues GNU y Linux son
proyectos independientes que solo se apoyan el uno en el otro. El
objetivo principal de la FSF es tener su propio núcleo, del cual
podemos ya existen prototipos bajo el nombre de Hurd.

Entonces GNU/Linux es una palabra que nos indica que estamos viendo al sistema operativo GNU utilizando el núcleo Linux.

Terminaré
mencionando que en algún momento el núcleo nativo de GNU estará
terminado y promete grandes mejoras sobre el actual núcleo linux que,
desde su creación, tampoco ha dejado de mejorar.

Sin embargo
disfruten por ahora de GNU/linux sabiendo que hay miles de personas
trabajando para mejorarlo, y si bien el sistema actualmente ya hace
cosas impresionantes, cuando esté terminado el núcleo GNU verán lo que
es en verdad un sistema robusto, estable, inteligente y capaz de
realizar cualquier cosa que imaginen.