jueves, 18 de abril de 2013

Trabajo Practico - Introduccion a linux

Hola mis amigos, para liberar espacio de mi cuenta de GoogleDrive decidí subir a este blog los Trabajos practicos que me hacen completar en mi carrera universitaria. Estaba por borrarlos pero creo que puede ser de utilidad para alguna persona en el  futuro. Espero les ayude un poco.


A. ¿Qué es un directorio?
Un directorio es un archivo con características particulares, es un repositorio que contiene información de la posición de inicio (en disco) de otros archivos de directorio o de los otros tipos de archivos. Su función principal es para ordenar el disco en agrupaciones de archivos con características en común, por ejemplo en el directorio /dev de un sistema de archivo Linux ext se pueden encontrar todos los archivos que representan y se enlazan a los dispositivos conectados a la computadora.

B. ¿Cuál es la jerarquía estándar de directorios de Linux? Describa el propósito de cada uno de ellos.
  • /bin: se le llama también “binario” porque es donde se almacenan los programas que hacen los llamados “comandos externos” todo los archivos de este directorios son ejecutables o enlaces a alguno de ellos,
  • /boot Directorio donde se guardan los archivos de arranque del sistema, entre ellos el mas importante es el núcleo del SO, que según la versión puede variar el nombre,
  • /dev: directorio de dispositivos, en él se enlistan todos los archivos que representan a los dispositivos físicos que están conectados al computador, estos son lo llamados archivos especiales, (puede ser por carácter o por bloques)
  • /usr: directorio donde se guardan otros directorios para almacenar los archivos binarios (aplicaciones), programas fuentes, binarios de los usuarios y todo aquellos que puedan usar los usuarios del sistema. Es en si mismo una gran rama del árbol de directorios del sistema, porque también tiene los binarios, librerías, documentos, aplicaciones etc para X window (entre otros)
  • /home: directorio donde existe una carpeta para cada usuario registrado en el sistema.
  • /etc: En este directorio se guardan la gran mayoría (si no todos) de los archivos de configuración del sistema, y que son específicos de cada sistema como por ejemplo passwd
  • /lib: Contiene una gran cantidad de archivos que son librerías compartidas por muchas de las aplicaciones del sistema, así también como arhivos objeto, y librerias para el desarrollo de software.
  • /var: contiene archivos de tamaño variable (generalmente crecen) en ellos se encuentran los correos electrónicos, log del sistema, históricos, etc.
C. ¿En qué directorio se almacenan los archivos de los usuarios de un sistema Linux?
En todos sistema Linux, al crear a un usuario para que trabaje con el sistema se crea una carpeta para ese usuario en /home, donde se guardarán todos los datos, archivos, fuentes, imágenes, etc. que es usuario cree y use durante su trabajo con el sistema.

D. ¿Qué comando se usa para crear directorios? Consigne formato, parámetros y modificadores.
El comando que se usa es mkdir, (make directory) seguido del nombre que se quiere dar al directorio a crearse.
$ mkdir  - p [nombre de directorio] <┘
el modificador –p se usa para crear toda una rama de directorios,  y si no existe alguno que este indicado en la ruta, los crea.

E. ¿Qué comando se usa para trasladarse de un directorio a otro? Consigne formato, parámetros y modificadores.
Para la navegación por el árbol de directorio se utiliza la orden cd (change directory) y se utiliza de la siguiente manera:
$ cd ruta  <┘

F. ¿Qué comando se usa para eliminar directorios? Consigne formato, parámetros y modificadores.
La orden que elimina a un directorio es rmdir (remove directory), siempre y cuando el directorio que se quiere eliminar se encuentre vacío de archivos y de otros directorios.  Si se quiere eliminar toda la rama del directorio se utiliza el modificador –p
$ mrdir [- p] Ruta

G. ¿Cuál es la utilidad del comando pwd?
El significado de las letras es Print Working Directory, es decir imprimir (por pantalla) el directorio de trabajo (actual) esta orden muestra el directorio en donde esta el usuario, es muy útil porque muchas veces el usuario se pierde durante la navegación por el árbol de directorios.

H. ¿Cuál es la función del comando ls? Indique formato, parámetros y modificadores del comando ls.
ls es una orden interna que lista por la salida estándar (pantalla en la mayoría de los casos) el contenido de un directorio, la lista de ficheros y directorios contenidos en un directorio.
ls [-opciones (son muchas)] [--color][directorio...]
ls tiene muchas opciones, para obtener una información mas detallada consultar ($  man ls ), algunas opciones:
-a Se muestran todos los ficheros de los directorios, incluyendo los "invisibles"; es decir, aquéllos cuyos nombres empiezan por punto (`.').
-l Se muestran el tipo, los permisos, el número de enlaces duros, el nombre del propietario, el del grupo, el tamaño en bytes, y una marca de tiempo.
Una opción --color hace que cada elemento del directorio aparezca de un color distinto según sea su tipo de fichero o directorio.
I. ¿A qué se llama directorio actual o de trabajo?
Directorio de trabajo es el directorio donde se encuentra el usuario, aparece en el prompt del sistema, es donde se aplican todas las ordenes que indica el usuario (a menos que indique otro directorio), no es fijo porque el usuario puede cambiar de directorio, el directorio inicial es /home/usuario o .
J. ¿A qué se llama ruta absoluta de un directorio? ¿y ruta relativa?
Una ruta absoluta es aquella que comienza en la raíz (/), y se nombran todos los directorios por los cuales hay que pasar para llegar a un directorio o archivo especifico. Solo hay un camino a ese directorio particular desde al raíz.
Una ruta relativa es aquella que comienza en el directorio actual y se debe indicar todos los directorios por los cuales hay que pasar para llegar a un directorio o archivo especifico, es relativa al directorio actual.
K. ¿Qué es un archivo?, ¿qué es un sistema de archivos? ¿Qué sistema de archivos utiliza Linux?
Un archivo es una sucesión de bytes. Un sistema de archivo es la forma en que están organizados los archivos en el disco, también la manera de almacenarlos y como manipularlos. Linux utiliza el sistema de archivos se llama ext2, actualmente la distribución fedora13 utiliza ext4, muy veloz y recomendable.

L. ¿Qué tipos de archivos existen en Linux? En la siguiente tabla, indique el significado de los caracteres identificadores de tipo de archivo.
La definición de archivo en Linux dice que “archivo es toda sucesión de bytes”, por esto todo en Linux (TODO) se lo puede manipular como si fuera un archivo. Ahora bien esta característica hace que en Linux se utilicen distintos tipos de archivos. a saber:
Carácter
Significado
-
archivo ordinario
d
archivo de directorio
l
enlace a otro archivo
b
archivo de bloque
c
archivo de carácter
p
Archivo de tubo con hombre.




M. ¿Qué convenciones deben seguirse para nombrar archivos o directorios en Linux?, ¿las extensiones son necesarias?
La elección del nombre para un archivo es libre, se pueden utilizar hasta 255 de cualquiera de los caracteres. Pero para evitar usar algunos caracteres que utiliza el intérprete de comandos, hay que evitar usar los siguientes.
* ? < > | [ ] \ ( ) / $ % y demás. En general se usan las letras [a-z] y el guión bajo para separar palabras.
Las extensiones no existen en Linux, pero son necesarias para reconocer de la información que tiene ese archivo, por parte del operador y de algunas aplicaciones por ejemplo .tgz,.gzip y otros para archivos comprimidos o .c para fuentes de programas escritos en el lenguaje C.
N. ¿Qué es un carácter comodín? ¿qué comodines se utilizan en Linux?
Un carácter comodín es un metacaracter, el mismo puede tomar el lugar de un carácter (o letra) o de muchos.
  • para reemplazar un carácter se usa el “?”
  • para uno o mas caracteres se utiliza el “*”.
O. Indique la función, parámetros y modificadores de los comandos cp, mv, rm, cat y more.
cp: copia un archivo en un destino que puede ser otro archivo (con el mismo nombre o no) o un directorio.
Opciones
-i  pregunta antes de sobrescribir un archivo existente.
-p mantiene la información de fecha y los permisos del original
-r  copia los archivos de los directorios y los directorios.
mv: desplaza el/los archivo/s a otro archivo (cambiar nombre) o a otro directorio (mover)
Opciones
-f forzar el traslado sin importar los permisos del destino.
-i pregunta antes de escribir en el destino.
rm: elimina del disco el/los archivo/s indicado/s de la estructura de archivos y también del disco (eliminación física)
Opciones
-f fuerza el borrado de archivos sin importar los permisos.
-i consulta al usuario antes de borrar los archivos.
-r borra de manera recursiva, es decir que también borra los directorios (que son archivos especiales)
cat: concatena archivos y muestra en la salida estándar (pantalla) todo el contenido de uno o mas archivos (generalmente de texto)
more: Es equivalente a cat, solo que si el archivo tiene mas líneas de texto que las que muestra en la pantalla muestra una pantalla a la vez, se cambia a la siguiente al presiona la barra espaciadora.
P. ¿De qué formas puede compartirse archivos en Linux?
A través de la creación un vinculo con el archivo, y gestionando de manera correcta los permisos del archivo.
Q. ¿Qué es un vínculo fijo? ¿y un vínculo simbólico?
Vinculo fijo: es un puntero del i-nodo de un archivo, esto es que el archivo o (o la misma información en bytes) tiene dos nombres (o más dependiendo de la cantidad de enlaces fijos)
Vinculo Simbólico: es un archivo (o colección de bytes) distinto de la información a la cual esta vinculado. Y tiene información de acceso al archivo al cual esta vinculado.
R. Indique función, opciones y argumentos de los comando ln y symlinks.
La función de esta orden es crear un vínculo entre dos archivos.
ln [-fns] archivo_existente archivo_nuevo
-f forzar la creación del vinculo, no consultar si ya existe el nuevo archivo
-n no crear el nuevo archivo si ya existe
-s crea un vinculo simbólico (si se suprime se crea un vinculo fijo)

jueves, 6 de diciembre de 2012

Arreglar / Recuperar el cargador Grub 2 en Ubuntu 10.04


Ubuntero/a querido. Te cuento que me pasó.:Tuve Instalar el Winbugs, por cuestiones académicas en mi netbook (en la facultad donde estudio, hacen honor a los convenios que firmaron las multinacionales informáticas). De tal forma que eliminó al Grub (el programa de arranque de linux que permite elegir entre varios sistemas operativos).

Para reinstalarlo y que reconozca las antiguas configuraciones tenes que hacer los siguiente (no te llevara mas de 10 min)

1) tener a mano un dispositivo de arranque con la instalación de Ubuntu, puede ser el “Ubuntu 10.04 LTS Desktop” (puede ser un CD o como en mi caso un Pendrive)

2) Arrancar Selecciona español y da click en “Probar Ubuntu”. Cuando aparezca el Escritorio abre una terminal accediendo a los menús “Aplicaciones-Accesorios-Terminal”

3) Averiguar cual partición tiene la instalación de Ubuntu, como se hace esto? con el comando:

sudo fdisk -l

La opción de fdisk es una letra “L” de Luis minúscula. Si no estás seguro de la partición debes ver cual es la partición con mayor tamaño, por lo general es la que dice “LINUX” obvio no?.

Aparece algo como esto

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 9138 73400008+ 7 HPFS/NTFS
La partición 1 no termina en un límite de cilindro.
/dev/sda2 9138 38914 239170809+ f W95 Ext'd (LBA)
/dev/sda5 9138 35247 209714368+ 7 HPFS/NTFS
/dev/sda6 38789 38914 999424 82 Linux swap / Solaris
/dev/sda7 35247 38788 28448768 83 Linux

4) Ahora montá (=enlazar el dispositivo al sistema de archivos) la partición que contiene la instalación de Ubuntu que identificaste con el comando anterior.

sudo mount /dev/sda7 /mnt

Tené en cuenta que sda7 es un ejemplo de MI PC, en tu caso debes indicar la partición que te dio el comando fdisk y puede ser algo como /dev/sdb2 o /dev/sda5 donde sda1 es la primera partición del primer disco, sdb2 es la segunda partición del segundo disco y sda5 es la quinta partición del primer disco

5) Ejecutá el comando grub-install como se describe abajo. Este comando instalará los archivos del cargador de arranque GRUB 2 que están en la partición que fue montada con el comando anterior y los ubicará en la ubicación correcta del dispositivo que indiqués.

sudo grub-install --root-directory=/mnt/ /dev/sda

Si es otro disco puede ser /dev/sdb (para el segundo disco). /dev/sdc (para el tercero), etc. 
De nuevo te recuerdo que debes atender el dato que te indique el comando fdisk.

6) Actualiza el menú de GRUB 2 con el comando

sudo update-grub

7) Reiniciá tu Equipo

Con esto tu sistema debe volver a cargar sin problema y debes poder arrancar Ubuntu de nuevo.

viernes, 30 de noviembre de 2012

Borrar, eliminar kernel viejos del arranque grub

Hola Ubunteros míos!!

Un proceso bastante sencillo es actualizar el sistema; ya sea a través de la terminal o de aplicaciones gráficas  y usualmente dentro de las actualizaciones también entra el kernel del sistema operativo. eso hace que al arrancar se vaya alargando la lista de kernels en el Grub. lo cual a veces es bastante molesto (si es que siempre querés arrancar con la ultima versión instalada) y ademas cada una pesa entre 110 a 130 Mb...

luego de este aburrido exordio pasemos a la acción.

Primero tenes que actualizar el sistema

después abrís una consola (aplicaciones - Accesorios - Terminal) y escribis:

dpkg --get-selections | grep linux-image 


esta es una orden en serie, las separa el caracter "|" se ejecuta de izquierda a derecha. La primera parte "dpkg --get-selections" muestra un listado de todo lo instalado en el sistema, es una lista muy larga. Por eso se la filtra con la segunda parte "grep linux-image" donde solo mostrará aquellas coincidencias linux-images que son justamente los kernels antiguos. Muestra algo como esto 

linux-image-2.6.32-33-generic install
linux-image-2.6.32-45-generic install
linux-image-generic install

El kernel más nuevo es el que tiene el numero de actualización mas alto obviamente. Para este caso de ejemplo el "linux-image-2.6.32-33-generic". Para eliminar el/los anteriores tenés que escribir a continuación:

$ sudo apt-get remove <paquete>

aplicado en  el ejemplo:

$ sudo apt-get remove linux-image-2.6.32-33-generic

luego pregunta si estamos seguros de eliminar esa imagen que ocupa 99-110 mb. respondemos que si


¡y listo! al reinciar el sistema el grub no aparecerá el kernel "purgado".

¡ojo! ¡cuidado! ¡atencion! NO ELIMINAR/REMOVER "linux-image-generic ". Porque es el que toma el control en las actualizaciones y si eso no esta, luego no queda nada.

Saludos cordiales