Sistemas Operativos
Un sistema operativo (SO, frecuentemente OS) es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas de aplicación, ejecutándose en modo privilegiado respecto de los restantes y anteriores próximos y viceversa.
La parte más importante del SO es kernel que es núcleo del sistema operativo, la parte más importante.
Cuando arrancas un ordenador con cualquier sistema operativo, el Kernel se carga en memoria y permanece allí hasta que apagas el equipo, realizando funciones básicas como pueden ser: - Comunicación entre procesos - Control de periféricos - Manejo de memoria - Control de interrupciones
- Olalla
- Linux
Estructura de un Script
Los archivos que creamos debemos guardarlos como .bash o .sh y asi podran ser ejecutados desde terminal.
Si la primera linea ponemos:
#!/bin/bash
echo "esto es una prueba de bash"
Con la primera linea podremos ejecutar el script desde la carpeta.
Maneras de ejecutar programa .bash
Desde la carpeta una vez dados los permisos de ejecución.
Desde terminal:
- Nos colocamos donde tengamos el archivo:
xxxxx@xxx:~Escritorio$ ./prueba.bash
esto es una prueba de bash - Nos colocamos donde tengamos el archivo:
xxxxx@xxx:~Escritorio$ bash prueba.bash
esto es una prueba de bash
La mayoría de las distribuciones a la hora de instalarse se componen de paquetes fundamentales para el correcto funcionamiento del sistema operativo con una configuración preestablecida, para hacer mas sencilla la instalación, sobretodo para novatos como yo, aunque estó no siempre es lo mas recomendable, ya que esta configuración debería ser en función del hardware que disponga el equipo y el uso para el que se va aplicar ese ordenador.
Una Distribución de Linux ( Distro ) es un conjunto de software basada en el kernel de linux, normalmente cada distro se especializa para el grupo de usuarios al que fue creado.
Las distribuciones de Linux ademas del núcleo de linux, incluyen habitualmente las bibliotecas ,herramientas y software adicional dependiendo a que usuarios va dirigida. Normalmente una distribución está relacionada con una empresa o comunidad.
Casi siempre el software que incluye las distribuciones de Linux es software libre, aunque hay algunas (pocas) que incluyen controladores y aplicaciones que son propietarias (software con derecho de autor).
A la hora elegir una distribución a instalar en nuestro equipo debemos tener en cuenta el prósito por el que fue creado la distro, teniendo en cuenta también, su arquitectura base , fechas de lanzamiento, fechas de las ultimas versiones estables y el tiempo de soporte (LTS).
En el este link de la wikipedia , podeís ver anexo de comparaciones de distribuciones de Linux.
El software y el sistema operativo de nuestro equipo normalmente se distribuye en forma de paquetes, estos a la hora actualizarse o instalarse suele estar encapsulado en un solo fichero en los repositorios. En este fichero encapsulado podremos encontrar a parte del propio software la información de la versión, de los requisitos a la hora instalar (dependencias ), información detallada del funcionamiento del software,...
Los Sistemas de gestión de paquetes también conocidos como "gestores de paquetes" son programas que sirve para automatizar software y el propio sistema operativo. Estos gestores de paquetes analizan las metas-información de los ficheros encapsulado, donde le indica la versión a actualizar y compruebe las dependencias (que se cumplan o no), para conseguir una correcta actualización o instalación del paquete (software o programa del sistema operativo).
En todas las distribuciones de Linux podemos utilizar varios sistemas de gestión de paquetes tanto desde terminal como desde la parte gráfica.
Algunos de los gestores de paquetes que podemos ejecutar desde terminal:
- Aptitude
- Apt-get
- dpkg ( Esté es la base de sistema de gestión paquetes de Debian )
Si deseas profundizar más en los sistemas gestión de paquetes hay tema bastante amplio en este libro : "Libro de administración de Debian".
¿Que es Aptitude ?
Es uno de los gestores paquetes mas utilizado por casi todas las distribuciones de linux.
DESCRIPCIÓN:Permite al usuario ver la lista de paquetes y realizar tareas de gestión tales como instalar, actualizar o eliminar paquetes. Puede llevar a cabo las acciones con una interfaz gráfica o en la línea de órdenes.
¿Por que utilizar Aptitude ?
aptitude administra mejor las dependencias que apt-get.
Otras ventajas de aptitude:
- aptitude eliminará los paquetes inútiles al desinstalar un paquete.
- aptitude permite el acceso a todas las versiones de un paquete.
- aptitude registra todas sus acciones en dans /var/log/aptitude.
- aptitude facilita el seguimiento de programas obsoletos listándolos en “Obsolete and Locally Created Packages”
- aptitude incluye un potente sistema de búsqueda para encontrar paquetes específicos o limitar la visualización de paquetes. Los usuarios familiarizados con mutt rápidamente se sentirán cómodos con aptitude, ya que la sintaxis de sus expresiones está inspirada en mutt. Ver “SEARCHING, LIMITING, AND EXPRESSIONS” en /usr/share/doc/aptitude/README.
- aptitude en pantalla completa integra a su y puede ser utilizado por un usuario normal hasta que realmente necesite privilegios de administrador.
NOTA:
Aunque recomendamos utilizar aptitude por las ventajas nombradas con anterioridad, hay que tener en cuenta que distribución utilizamos, ya el comportamiento puede varias, sobretodo aquellas que son retocadas sus repositorios a mano.
Sintexis y Ejemplos de APTITUDE :
aptitude [opciones ] paquetes
SINOPSIS COMANDO RENAME:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
DESCRIPCIÓN COMANDO RENAME:
"rename" cambia el nombre de los nombres de archivo suministrados de acuerdo a la regla especificada como primer argumento . El argumento perlexpr es una expresión Perl para modificar al menos algunos de los nombres de archivo especificados. Si un nombre de archivo que se da no se modifica por la expresión , no va a cambiar el nombre . Si no se dan los nombres de archivo en la línea de comandos , los nombres de archivos se pueden leer a través de la entrada estándar .
Expresiones regulares que podemos utilizar en este comando:
Expresiones regulares:
Expresiones regulares que pueden ser utilizadas en rename.
^
coincide con el principio de la línea
$
coincide con el final de la linea
.
Coincide con cualquier carácter individual
SINOPSIS COMANDO MOUNT
mount [-lhV]
mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
mount [-fnrsvw] [-o option[,option]...] device|dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
DESCRIPCIÓN COMANDO MOUNT
El comando mount une el sistema de ficheros especificado por con la fuente (que frecuentemente es un dispositivo físico, pero que puede ser también un nombre de directorio o un dispositivo virtual) al directorio especificado por destino.
DESMONTAR ANTES DE QUITAR DISPOSITIVO
El comando umount y umount2 eliminan la unión del sistema de ficheros que se encuentra montado en destino.
KILL es un comando utilizado para enviar mensajes sencillos a los procesos ejecutándose en el sistema. Por defecto el mensaje que se envía es la señal de terminación.
kill -l
Te muestra todas la señales que podemos enviar a los procesos.
Podemos enviar señales a procesos o grupos de procesos del sistema, referenciados por sus IDs de proceso (PIDs) o IDs de grupo de procesos (PGIDs).
kill se ofrece siempre como programa independiente, pero la mayoría de las shells tienen intrínsecamente comandos kill que pueden diferir levemente de ella.
EJEMPLOS DE TERMINACIÓN DE PROCESOS
Imaginemos que queremos cerrar una aplicación que nos está dando problemas, lo primero es buscar el proceso abierto de esa aplicacion, para ello necesitamos el numero id para poder cerrarlo.
KILL [id]
Hay varias formas para localizar y ve los procesos abiertos, ejecutando desde la terminal:
ps -A
Nos lista los procesos con su ID y el nombre del proceso.
Imaginemos que nos hacemos un poco adictos a Linux, imaginemos que ya tenemos dos equipos en la misma red con Sistemas Operativos Linux. Mejor lo ponemos gráficamente:
ESQUEMA DE INSTALACIÓN OFICINA
El comando MAN es una herramienta de sistemas Unix que se utiliza para documentar y aprender sobre comandos, archivos, llamadas de sistema, etc., en un sistema operativo tal como GNU/Linux
Este comando acompañado por otro , no da la información sobre el comando, su ayuda, aunque info también nos da esa información, la documentación que encontramos en MAN es suficiente
Para aquellos que el ingles no es su fuerte como a mi, esta documentación en su mayoría ya existe en español, para que al ejecutar man no la muestre, tenemos que hacer lo siguiente desde terminal.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install manpages-es manpages-es-extra
sudo dpkg-reconfigure locales
Y ahora ya puede leer en español la información que nos ofrece MAN de los comandos