Zona de datos de memoria La memoria compartida es uno de los mecanismos de Comunicación Entre Procesos (IPC) que hay en Linux. Para usar memoria compartida en Linux es necesario seguir una serie de pasos que luego se traducen a llamadas al sistema.
Necesitamos obtener un identificador de IPC. Para ello convertimos una ruta (path) del sistema en un identificador IPC. Este identificador es necesario para crear la crear la zona de memoria virtual. Esto es muy sencillo de hacer con la llamada al sistema ftok.
Crear el segmento de memoria compartida con la llamada al sistema shmget.
Operar con la memoria compartida. Indicamos lo que queremos compartir con la llamada al sistema shmat.
Destruimos el segmento de memoria compartida con la llamada al sistema shmdt y shmctl.
Accedemos a la página de descarga de Ubuntu y seleccionamos el sistema de 64 bits y a continuación pulsamos sobre “Start Download”. Acto seguido, se empezará a bajar a nuestro equipo una imagen ISO con Ubuntu Linux.
Una vez descargado el archivo ISO, tenemos dos opciones: grabarlo e instalarlo desde un CD/DVD o hacerlo de un pendrive de por lo menos 2GB, por lo que necesitaremos un software que se ejecuta desde Windows y se llama Universal USB Installer
Ejecutamos la aplicación Universal USB Installer elegimos la ubicación del archivo ISO que nos hemos bajado anteriormente y seleccionamos la letra de la unidad USB y damos clic en la opción "create"
Una vez finalizado el proceso, extraemos de forma segura la unidad USB y apagamos el portátil.
Conectamos la unidad USB al portátil de préstamo y lo encendemos.
En cuanto aparezca el logotipo de nuestra pc pulsamos F12 y cuando aparezca el menú de arranque elegimos la unidad USB.
La instalación de Linux comenzara automáticamente.
A continuación, seleccionamos el idioma Español o en su defecto, el que prefiramos para el sistema operativo y pulsamos sobre “Instalar”.
Durante la instalación, es posible que tengamos la opción de tener el portátil conectado a Internet para que se baje los paquetes mas actualizados. Si tenemos esta posibilidad, Ubuntu lo detectará automáticamente y tendremos la opción de pulsar sobre “Descargar actualizaciones mientras se instala”. También podemos instalar software de terceros (por ejemplo, para reproducir archivos de sonido MP3) pero esta opción ya queda a la elección del usuario, que dependiendo de su filosofía, elegirá una opción u otra. Después de elegir las opciones que mas nos interesen, pulsamos sobre “Continuar”.
Como hemos instalado Windows antes de instalar Linux, deberíamos tener un espacio sin particionar, por lo que elegiremos la opción de “Instalar Ubuntu junto a Microsoft Windows”. El resto de opciones son para usuarios avanzados. Una vez seleccionada la opción deseada, pulsamos sobre “Continuar”.
A continuación, se pondrá a instalar la distribución de Linux, y mientras instala nos va a pedir que introduzcamos nuestra ciudad (Madrid), y datos como nuestro nombre, nombre de equipo, contraseña, etc… que iremos rellenando según nos lo vaya pidiendo.
Una vez finalizado todos estos pasos ya tenemos instalado Ubuntu instalado junto a Windows y en el siguiente arranque, antes de iniciar cualquier sistema operativo, nos saldrá un menú para que seleccionemos el sistema operativo con el que queremos arrancar el portátil.
Instalación de las aplicaciones
Mas usadas:
Gestor de paquetes que traen todas las distribuciones. Con él podemos instalar variedad de programas de forma inmediata usando los repositorios desde Internet o desde un CD. Por ejemplo, en Ubuntu puedes instalar aplicaciones yendo al Centro de software (o también instalando el gestor de paquetes Synaptic).
Las ventajas que tiene usar el sistema de paquetes es que te permite instalar, desinstalar y actualizar los programas de forma muy sencilla, ya que cada programa está formado por uno o varios paquetes que el gestor de paquetes controla que funcionen bien, además si la aplicación que instalas depende de otros paquetes extra, el gestor los añadirá automáticamente.
También podemos usar Play on Linux, que sirve para automatizar la instalación de programas y juegos de Windows, de forma que simplemente escoges un programa de la lista y se instalará de forma automática.
Otra forma de añadir programas es:
En el menú “Aplicaciones”, seleccionamos “Añadir y quitar…”
Aparecerá una ventana , en donde marcaremos la casilla del programa que deseemos después le damos clic al botón “Aplicar cambios”.
por ultimo ingresaremos nuestra contraseña para que se guarden los
cambios que hemos echo en las aplicaciones.
Configuración del S.O Linux
Encender la estación de trabajo
Pulsar la tecla F2 en la pantalla con el logotipo de sun para poder entrar al menú de configuración del BIOS.
Ir a la opción Advanced ----> integrantes Device
Si es necesario, cambiar la opción configured sata a AHCI
Pulsar la tecla F10 para guaradar los cambios y salir del BIOS.
Administradores lilo
Lilo es un gestor de arranque que permite elegir, entre sistemas operativos Linux y otras plataformas, con cual se ha de trabajar al momento de iniciar un equipo con más de un sistema operativo disponible.
LILO funciona en una variedad de sistemas de archivos y puede arrancar un sistema operativo desde el disco duro o desde un disco flexible externo. LILO permite seleccionar entre 16 imágenes en el arranque. LILO puede instalarse también en el master boot record (MBR).
Al iniciar el sistema LILO solamente puede acceder a los drivers de la BIOS para acceder al disco duro. Por esta razón en BIOS antiguas el área de acceso está limitado a los cilindros numerados de 0 a 1023 de los dos primeros discos duros.
En BIOS posteriores LILO puede utilizar sistemas de acceso de 32 bits permitiéndole acceder a toda el área del disco duro.
En las primeras distribuciones de Linux, LILO era el gestor de facto utilizado para arrancar el sistema. En la actualidad es una segunda opción en favor del gestor de arranque GRUB.
Admin de usuarios y grupo
Usuarios:
Un usuario puede utilizar un equipo a su vez
Grupo:
Varios equipos o maquinas se conectan a una red todas al mismo tiempo
La administración de usuarios y grupos solamente puede realizarlas el usuario root utilizando los comandos de gestión de usuarios. Las tareas y los comandos para realizarlas son:
Creación de usuarios / useradd
Modificación de usuarios / usermod
Eliminación de usuarios / userdel
Creación de grupos / groupadd
Modificación de grupos / groupmod
Eliminación de grupos / groupdel
Añadir usuarios a un grupo / adduser
Quitar usuarios de un grupo / deluser
Ejemplo: creación de usuario
//Crear usuario
useradd [opciones] nombre-usuario
Opciones mas destacables:
-g: Grupo principal que queremos tenga el usuario (debe existir previamente)
-d: Carpeta home del usuario. Suele ser /home/nombre-usuario
-m: Crear carpeta home si es que no existe.
-s: Intérprete de comandos (shell) del usuario. Suele ser /bin/bash
Permisos de archivos y directorios
En Linux, todo archivo y directorio tiene tres niveles de permisos de acceso: los que se aplican al propietario del archivo, los que se aplican al grupo que tiene el archivo y los que se aplican a todos los usuarios del sistema. Podemos ver los permisos cuando listamos un directorio con ls -l:
drwxr-xr-x 2 sergio sergio 4096 ago 27 11:41 videos
Veamos por partes el listado, tomando como ejemplo la primera línea. La primera columna (-rwxrwxr--) es el tipo de archivo y sus permisos, la siguiente columna (1) es el número de enlaces al archivo, la tercera columna (sergio) representa al propietario del archivo, la cuarta columna (ventas) representa al grupo al que pertence al archivo y las siguientes son el tamaño, la fecha y hora de última modificación y por último el nombre delarchivo o directorio.
El primer caracter al extremo izquierdo, representa el tipo de archivo, los posibles valores para esta posición son los siguientes:
- un guión representa un archivo comun (de texto, html, mp3, jpg, etc.)
d representa un directorio
l link, es decir un enlace o acceso directo
b binario, un archivo generalmente ejecutable
Los siguientes 9 restantes, representan los permisos del archivo y deben verse en grupos de 3.
Los tres primeros representan los permisos para el propietario del archivo. Los tres siguientes son los permisos para el grupo del archivo y los tres últimos son los permisos para el resto del mundo o otros.
rwx rwx rwx
usuario grupo otros
En cuanto a las letras, su significado son los siguientes:
r read - lectura
w write - escritura (en archivos: permiso de modificar, en directorios: permiso de crear archivos en el dir.)
x execution - ejecución
Entorno Linux
Linux puede funcionar tanto en entorno gráfico como en modo consola. La consola es común en distribuciones para servidores, mientras que la interfaz gráfica está orientada al usuario final tanto de hogar como empresarial. Asimismo, también existen los entornos de escritorio, que son un conjunto de programas conformado por ventanas, iconos y muchas aplicaciones que facilitan la utilización del computador. Los escritorios más populares en GNU/Linux son: GNOME, KDE SC, LXDE y Xfce.
Comunicación entre usuarios
El programa finger permite ver la información que los usuarios han publicado y también permite ver qué usuarios están usando un sistema
Ejemplo:
1.La información de un usuario conectado a la misma máquina que usted
finger pepe
2.Los usuarios conectados a otra máquina
finger @servidor.colegio.edu.co
3.La información de un usuario de otra máquina
finger pepe@servidor.colegio.edu.co
El tercer ejemplo muestra la dirección electrónica de un usuario en una red. Usted como usuario tendrá una dirección como esa que podrá ser usada por otros usuarios para comunicarse con usted con talk o con mail. Para formar su dirección electrónica añada a su login el símbolo @ y el nombre del dominio de su red
El programa talk permite comunicarse con un usuario que esté conectado al mismo computador que usted o en otro (mientras estén conectados por red).
El programa mesg permite a un usuario activar o desactivar peticiones de talk (mesg y las activa y mesg n las desactiva). A continuación se presentan ejemplos de como solicitar una conexión del talk a un usuario en el mismo computador o en otro:
talk pepe talk pepe@purpura.micolegio.edu.com
Cuando haga la solicitud de conexión, si el otro usuario está aceptando mensajes será informado de su solicitud junto con instrucciones para establecer la comunicación (tendrá que responder con talk seguido de la dirección de quien hizo la solicitud) . Para terminar una conexión de talk puede emplear la secuencia de teclas Ctrl-D ---secuencia que significa fin de archivo---, o bien interrumpir el programa con Ctrl-C.
MINIX: Este sistema de archivos se emplea para disquetes.
FAT: El sistema de archivos originalmente utilizado por DOS. FAT 12, FAT16, FAT32.
VFAT: FAT virtual Soporte para nombres de archivo largos dentro del sistema de archivos FAT.
UFS: Empleado por BSD, SunOS y NeXTstep. Sólo soportado en modo de sólo lectura.
NTFS: Sistema de archivos Microsoft Windows NT, sólo lectura.
Ext2,3: Sistemas de archivos Linux originales. Ext3 incluye soporte de journaling (registro por diario).
XFS: Sistema de archivos de journaling de SGI.
JFS: Sistema de archivos de journaling de IBM.
ReiserFS: Sistema de archivos de journaling de Hans Reiser.
swap : Las particiones swap se usan para soportar memoria virtual
Comandos mount y umount
El comando mount es un comando de sistemas basados en Unix que se utiliza para montar dispositivos y particiones para su uso por el sistema operativo. Montar es hacer que el sistema operativo proyecte el contenido de ese dispositivo o partición en un enlace lógico (un directorio). Cuando se desocupa se rompe el enlace y se sigue trabajando con los mismos archivos básicos.
mount [-t <tipo>] [-o <opciones>] <dispositivo> <punto_de_lectura>
mount -t iso9660 /dev/hdb0 /mnt/cdrom
mount -t iso9660 -o loop /home/usuario/imagen.iso /mnt/imagenes
Ejemplos:
montaje de dispositivos son:
mount -t vfat /dev/fd0 /mnt/floppy
mount -t iso9660 /dev/hdb0 /mnt/cdrom
Para montar imágenes de disquetes, CD, etc. se utiliza la opción loop.
mount -t iso9660 -o loop /home/usuario/imagen.iso /mnt/imagenes
El comando unmount sirve para desmontar las unidades que hayamos montado con el comando mount o expulsar un dispositivo
Opciones de uso:
-V muestra el numero de versión y se cierra.
-n desmonta el archivo sin efectuar los cambios que hayamos hecho en este.
Sintaxis:
umount mnt/cdrom #mediante este comando desmontaríamos la imagen que hay como primer ejemplo en el artículo mount, debemos indicar el punto de montaje.
Particiones del disco duro
Linux maneja una variedad de ficheros, el cual nos permite realizar una partición independiente para cada uno de los sistemas de directorios. Adicionalmente una gran cantidad de usuarios de Linux utilizan DUAL BOOT para poder utilizar windows de cualquiera de sus versiones en otra partición. Se dispone de usar Ubuntu 11.04 para poder particionar el disco duro para la instalación de Linux.
[block-messaje type = "error" close= false text "antes de comenzar a realizar cualquier tipo de cambio en tu disco duro, es recomendable hacer un backup completo de todos tus datos para así poder evitar una catástrofe con tus archivos"]
GNU/ Linux : con este programa mínimo se requieren 2 particiones para instalarse correctamente, la partición ROOT/ (raíz del sistema) y la partición SWAP (área de intercambio) pero es recomendable establecer 2 particiones adicionales, la partición Boot/boot (arranque del sistema) y la partición Home ( donde se guardan los datos de los usuarios). Ya que con esto se tiene una mayor control del disco duro para tus datos e información personal.
Pasos para las particiones del disco duro:
Borrar el disco duro e instalar UBUNTU (LINUX)
(Formatear el disco duro para que quede limpio por completo)
Instalar Ubuntu a lado de Windows 7 u otra versión de windows
Reemplazar windows con Ubuntu
Formateo de discos
opción 1 de formateo de disco duro
Forma 2 diferente de formatear disco duro :
Encender la PC y abrir la terminal "para hacer esto presionaremos "CTRL+ALT+F1"
Ingresar el comando "CD/DEV" y presionar "enter", después de esto ingresar el comando "LS SD" y presionar de nuevo la tecla "enter", esto te mostrara la lista de discos de todos los que se encuentran en la pc
Esperar que la terminal abra la tabla de partición, cuando aparezca, usar las flechas del teclado para moverte hasta la palabra "delete" y presionar "enter".
Ingresar en la opción "Yes" y presionar de nuevo la tecla "enter", cuando la pc te pregunte si estas seguro de que quieres formatear o borra el disco inmediatamente se borrara o formateara el disco duro de tu PC
Asignación de Archivos
Un sistema de archivo de disco está diseñado para el almacenamiento de archivos en una unidad de disco, que puede estar conectada directa o indirectamente a la computadora.
Tipos de sistemas de archivos:
FAT: sistema de archivos desarrollado para MS-DOS y Windows.
El formato FAT es soportado por casi todos los sistemas operativos para PCs IBM, y debido a esto a menudo se lo utiliza para compartir información entre diversos sistemas operativos en un mismo equipo.
ExFat: es un sistema de archivos especialmente adaptado para memorias flash presentado con Windows Embedded CE 6.0. exFAT se utiliza cuando el sistema de archivos NTFS no es factible debido a la sobrecarga de las estructuras de datos.
LFN o nombres largos de archivo: Se implementó sobre FAT utilizando un truco en el modo de almacenar los índices de los directorios. Esta implementación también se conoce como VFAT por culpa del controlador de Windows 95 que lo incorporó por primera vez. Los nombres largos también se soportaron en Windows NT a partir de la versión 3.5.
Integridad de ficheros
La integridad de ficheros se refiere a la validez y consistencia de los elementos de
información almacenados y procesador en un sistema informático.
Basándose en este principio, las herramientas de seguridad informática
deben asegurar que los procesos de actualización estén bien sincronizados y
no se dupliquen, de forma que todos los elementos del sistema manipulen
adecuadamente los mismos datos. Este principio es importante en sistemas
descentralizados, es decir, aquellos en los que diferentes usuarios,
computadores y procesos comparten la misma información.
Linux es un sistema operativo de software libre (no es propiedad de ninguna persona), no es necesario comprar una licencia para instalarlo y utilizarlo en un equipo informático. Es un sistema multitarea, multiusuario compatible con UNIX y proporciona una interfaz de comandos y una interfaz gráfica, que lo convierte en un sistema operativo muy atractivo
El código fuente es accesible para el uso de cualquier usuario para que pueda modificarlo y distribuirlo con los conocimientos en informática adecuados de los usuarios.
Linux tiene todas las prestaciones que se pueden esperar de un Unix moderno y completamente desarrollado: multitarea real, memoria virtual, bibliotecas compartidas, carga de sistemas a-demanda, compartimiento, manejo de debido de la memoria y soporte de redes TCP/IP.
La parte central de Linux (conocida como núcleo o kernel) se distribuye a través de la Licencia Pública General GNU, lo que básicamente significa que puede ser copiado libremente, cambiado y distribuído, pero no es posible imponer restricciones adicionales a los productos obtenidos y, adicionalmente, se debe dejar el código fuente disponible, de la misma forma que está disponible el código de Linux.
La licencia tiene por objeto asegurar que Linux siga siendo gratuito y a la vez estándar por su naturaleza Linux se distribuye libremente y puede ser obtenido y utilizado sin restricciones
Características:
Es uno de los sistemas operativos mas estables, robustos y rápidos
Funciona en modo protegido 386
Es multitarea: función de ejecutar varios programas al mismo tiempo. Y a que linux permite ejecutar varios programas en un momento determinado ya que se le sede un tiempo dado a cada programa que se este ejecutando en Linux.
Es multiusuario: Varios usuarios pueden utilizar el equipo al mismo tiempo
Multiprocesador: Soporte para sistemas con mas de un procesador esta disponible para Intel y SPARC.
Linux solo lee del disco duro aquellas partes de un programa que están siendo usadas actualmente
Cuenta con librerías compartidas de carga dinámica (DLL`S) y librerías estáticas
Cuenta con un amplio y robusto soporte para comunicaciones y redes, lo cual hace que sea una opción atractiva tanto para empresas como para usuarios individuales.
Compatible con POSIX, System V y BSD a nivel fuente
Emulación de 387 en el núcleo
Cuenta con un control de tareas POSIX
Sistema de archivos CD-ROM que lee todos los formatos estándar de CD-ROOM
Sistema de ficheros de disco
ext2 : son los sistemas nativos de Linux. Garantizan la compatibilidad de versiones anteriores, de modo que futuras actualizaciones no requieran rehacer el sistema de ficheros.
ISO9660: es el sistema de ficheros estándard para volúmenes de sólo lectura como los CD-ROM.
CIFS : también conocido como SMB o Samba, la implementación más utilizada es la desarrollada por Microsoft, y es utilizado en sistemas Windows. Permite compartir ficheros e impresoras por la red, y Linux puede implementar tanto la versión de servidor como de cliente. Es decir, permite la convivencia simultánea de sistemas Windows y GNU/Linux en la misma red de área local.
Interprete de comandos Linux shell
Cada usuario de un sistema Linux tiene su propia interfaz de usuario o Shell. Los usuarios pueden personalizar sus shells adecuándolos a sus propias necesidades específicas. En este sentido, el Shell de un usuario funciona más como un entorno operativo que el usuario puede controlar.
Linux permite la utilización de distintos tipos de shell programables.
Un shell es la interfaz, el modo de comunicación, entre el usuario y el sistema.
El shell se ejecuta cada vez que un usuario se identifica ante el sistema y comienza una sesión. Se ejecuta un shell para cada usuario que se conecta al sistema. Cuando un usuario introduce una orden, el shell, que es un programa en continua ejecución, analiza la línea y llama a ejecución al programa o programas que realiza
Comandos shell:
C-shell: Se invoca con la orden csh.
Bourne-shell: Es el interprete de comandos básico. Se invoca con la orden sh.
Korn-shell: Añade posibilidades de programación avanzada, facilidades aritméticas y mayor rapidez de ejecución. Se invoca con la orden ksh.
tc-shell: Se invoca con tc
k-shell : Se invoca con k
Bash: Es el shell utilizado por Linux por defecto y amplia las capacidades del Bourne. Se invoca con bash.
Principales ordenes de Linux
cp : Copiar archivos y directorios
pwd : Mostrar el nombre del directorio de trabajo actual
cd : Cambiar de directorio
sort : Ordenar ficheros
mkdir : Crear directorios
touch : Crear o actualizar ficheros
rm : Borrar archivos y/o directorios
rmdir : Borrar directorios vacios
mv : Mover o renombrar archivos
more : Muestra ficheros página a página
less : Muestra Ficheros página a página
cat : Mostrar ficheros de forma continua
head : Ver el inicio de un archivo
tail : Ver las últimas líneas de un archivo
find : Buscar archivos
ls : Listar archivos y directorios
Comandos linux para atributos y permisos de archivos y directorios.
chown : Cambiar el propietario de un archivo
chgrp : Cambiar el grupo propietario de un archivo o grupo de archivos
chmod : Cambiar los permisos de accesos a los archivos y directorios
Comandos linux del sistema (reiniciar y apagar máquina, cerrar sesión de trabajo, uso de memoria, instalar paquetes).
date : muestra fecha y hora actual del sistema
cal : muestra el calendario del mes actual
uptime : tiempo que lleva encendida la máquina
df : espacio libre en los discos
du : espacio usado por los directorios y ficheros
free : uso de memoria y swap
dmesg : muestra mensajes del kernel durante el arranque del ordenador
reboot : reinicia la máquina
halt : apaga la máquina
shutdown : cierra el sistema
init : control de inicialización de procesos
exit : Cerrar sesión actual
clear : borrar pantalla
bc : calculadora
man : formatear y mostrar las páginas del manual en linea
uname : imprime información del sistema
hostname : muestra o establece el nombre del sistema
domainname : nombra o establece el nombre de dominio NIS/YP del sistema
mkfs : construir un sistema de ficheros de linux
fdisk : manipular tablas de particiones de linux
fsck : chequear y reparar sistemas de ficheros
mount : montar un sistema de ficheros
umount : desmontar sistema de ficheros
rpm : instalar los paquetes RedHat
Procesos de linux
Un “Proceso” en Linux es un programa que se esta ejecutando en un determinado momento en el sistema. En el Sistema Operativo Linux siempre hay una serie de procesos que se esta ejecutando sin que el usuario se de cuenta de ello y éstos hacen que el Sistema sea utilizable.
En Linux, los Procesos se manejan en forma jerárquica: cada proceso es lanzado desde un proceso “padre”: dicho proceso se le llama proceso “hijo”. Entonces podremos deducir que todos los procesos son hijos del proceso padre por excelencia: el proceso init.
Hay dos tipos de procesos: los de usuario y los demonios.
Los Procesos de Usuario: son aquello procesos que el usuario utiliza
Los Demonios: son aquellos procesos que para su funcionamiento, no requiere de la intervención del usuario y en general se usan para programas que funcionan constantemente como servidores de red, programas administrativos, etc.
Con el comando “ps” lista los procesos activos. Cuando se ejecuta sin especificar ninguna opción muestra un listado de aplicaciones corriendo en la shell actual. Ya que lee directamente la información de los archivos que se encuentran en este directorio.