Una copia de seguridad es simplemente una copia de sus datos, se le llama de seguridad porque no
está destinada a trabajar sobre ella, como suele hacerse sobre los datos originales, sino a prevenir
desastres.
Si le hemos convencido de que haga copias de seguridad he aquí unas pocas indicaciones:
3. Fíjese que hablamos de "copias" en plural, lo que significa que debería tener más de una copia de
sus documentos. Además tendría que tenerlas en lugares físicos distintos, por ejemplo en su
despacho, domicilio y/o en el centro de trabajo, siempre a buen recaudo.
4. Si usted lo desea puede hacer una copia de seguridad de todo su disco duro en un juego de CDs
o DVDs con algunas de las utilidades existentes para ello. Pero en general no debiera preocuparse
de los programas o el sistema operativo, podría volver a instalarlos en cualquier momento aunque
le suponga una molestia. En cambio si pierde sus documentos personales, ese texto que escribió o
su correo electrónico, no podrá volver a recuperarlos a menos que disponga de una copia.
5. Elija un soporte fiable y compruebe periódicamente que los datos están en buen estado.
6. Todos los soportes tienen ventajas e inconvenientes, algunos de los más comúnmente usados en
informática doméstica son: DVD (gran capacidad, fiable, pero necesita de una grabadora que quizá
no tenga), CD (menor capacidad, fiable, necesita de una grabadora aunque muchos ordenadores ya
la tienen.
Los hay de una sola escritura y regrabables. Estos últimos le darán la posibilidad de ir actualizando
sus copias con un menor gasto), unidades ZIP (fiables, menor capacidad, casi se han dejado de
comercializar), disquetes (escasa capacidad, poco fiables, casi todo el mundo tiene una disquetera),
memorias USB (son fiables pero no se suelen emplear con estos fines, puesto que son
suficientemente caras como para grabar en ellas datos y dejarlas después para cuando hagan falta).
Sepa usted además que no todos los soportes CD o DVD tienen la misma calidad ni todos funcionan
bien con todas las grabadoras y lectoras. Así pues, compruebe que el soporte es de calidad y fiable,
pruébelo varias veces hasta que esté seguro de que no le va a fallar y tómese en serio las
indicaciones de conservación del fabricante.
Aprender supone un esfuerzo y el esfuerzo a menudo genera infelicidad. El windosero que prueba
Linux espera un paquete al que se le pueda hacer doble click con el ratón pulsar continuar y
aplicación instalada. El windosero que prueba Linux no sabe ni quiere saber en muchos casos que
es un repositorio ni una dependencia. En lugar de recriminarle las pocas ganas de aprender tal vez
habría que darle lo que pide.
Yo imagino un nuevo tipo de paquetes llamado .rol. Un .rol es un archivo comprimido y dentro del
archivo comprimido existen una serie de rpms y un pequeño archivo de texto que clasifica a cada
.rpm en tres categorías: principal, necessary y suplementary. En la categoría principal normalmente
sólo habría un .rpm que contiene la aplicación. En la categoría necessary estarían los rpms que
contienen las dependencias que el creador del .rol estima que va a necesitar el usuario. En la
categoría suplementary están los rpms que amplían la aplicación pero que no son necesarias para
su funcionamiento como por ejemplo una colección de carátulas.
Cuando el usuario el usuario hace doble click sobre un .rol aparece la aplicación RolInstaller que
actúa así:
5. Advierte al usuario que se van a instalar los rpms de la categoría principal y aquellos de la
categoría necessary que no estén presentes en el sistema.
Este sistema de paquetes no solo ayudaría a usuarios noveles de Linux, sino que resolvería otro gran
problema de Linux: que se trata de un sistema operativo on-line. Cualquier linuxero sabe lo difícil
que es instalar una aplicación cuando no se dispone de una banda ancha. De hecho el nombre de
.rol se me ha ocurrido por “Rpm Off-Line”.
La gran contrapartida de los .rol sería un mayor gasto de ancho de banda para los servidores al
enviarle al usuario de forma repetida dependencias que ya podrían estar en el sistema. Por otra
parte se podría generar una cultura Linux de comprar aplicaciones en Cds o adquirir Cds de
aplicaciones a través de revistas. También podría generarse una cultura Linux similar a la actual
cultura Windows de pasarle al vecino o amigo una aplicación en un CD o una pendrive.
Administradores de inicio.
El administrador de cualquier tipo de servidor debe ser una persona especializada, que
conozca lo mejor posible sus equipos, sus aplicaciones y sus usuarios; manteniéndose al día
en los avances tecnológicos, en las revisiones y parches de los programas instalados y en las
necesidades de su empresa.
LILO.
El Cargador de Linux (LILO) sigue utilizándose como gestor de arranque para Red Hat, aunque
GRUB es el que se está utilizando en la configuración por omisión.
Tanto LILO como GRUB tienen un comportamiento básico equivalente, aunque existen algunas
diferencias :
El siguiente ejemplo describe una configuración de LILO que despliega un menú que permite
arrancar Red Hat desde una partición extendida con núcleo 2.4.0 y MS-DOS desde la primera
partición del disco.
Loading.
El proceso de arranque en Linux es el proceso de inicialización del sistema operativo que realiza
Linux el núcleo o kernel (un componente de este sistema informático), el programa en el sistema
que asigna los recursos de la máquina a los otros programas que ejecuta.
Para empezar, ¿qué es un “Sistema de Archivos”? Pues este término (también se utiliza “Sistema de
Ficheros” o directamente el inglés: “File System“), hace referencia a la forma en la que la
información se organizará en el disco duro (o dispositivo de almacenamiento utilizado), definiendo
cómo se realizarán las operaciones de lectura/escritura, búsquedas e indexación de los datos.
El disco duro de nuestro ordenador está confeccionado por múltiples bloques (denominados
sectores) donde se almacenan los datos que manejamos. El “sistema de archivos” es el que
determina como se organizan dichos bloques para confeccionar lo que conocemos bajo el nombre
de “archivos” y “directorios”, manteniendo información acerca del espacio disponible en cada
instante.
A lo largo de la historia, cada uno de los sistemas operativos que conocemos, ha tenido su propio
“Sistemas de archivos”. Así, podemos encontrar que Microsoft trabaja con dos tipos de sistemas de
archivos bien identificados: FAT (que tenía varias versiones, y que era utilizado para Microsoft
Windows 95, Windows 98, y Windows XP) y NTFS (propio de Microsoft Windows NT, Windows XP,
Windows Vista o el actual Windows 7). Son muchas las diferencias entre FAT y NTFS, pero las más
importantes están orientadas a la posibilidad de contar con dispositivos de almacenamiento más
grandes (FAT estaba limitado en tamaño de particiones) y más seguridad en el acceso a los ficheros
del sistema.
Por el contrario, GNU/Linux comenzó su andadura con su sistema de archivos “Ext2”, pero éste fue
sustituido por nuevas versiones que si tenían la capacidad de trabajar con grandes volúmenes de
información (Terabytes) y de poder restituir rápidamente (gracias al “Journaling”) el sistema ante
un fallo importante en el sistema de archivos. Posteriormente aparecieron otros sistemas de
archivos nuevos y mejoras sobre el modelo existente.
Creado por Silicon Graphics Inc., se trata de un sistema de archivos con “journaling”
que inicialmente funcionaba sobre la implementación IRIX de UNIX, pero que
XFS posteriormente se liberó como código abierto. Destaca por su alta escalabilidad y
fiabilidad (admite redireccionamiento de 64 bits, implementación paralelizada), y
sobre todo porque es capaz de trabajar con archivos muy grandes.
Desarrollado por IBM, inicialmente fue creado para servidores de alto rendimiento y
equipos de altas prestaciones. Posee un eficiente “journaling” que le permite
JFS trabajar cómodamente con archivos de gran tamaño como con otros más pequeños.
Las particiones JFS pueden ser dinámicamente redimensionadas (como ya hacía
RaiserFS), pero no pueden ser comprimidas (algo que si hacen RaiserFS y XFS).
//Crear usuario
-g: Grupo principal que queremos tenga el usuario (debe existir previamente)
Ejemplo, si deseamos crear un usuario llamado 'pedro' cuyo grupo principal sea 'profesores', cuya
carpeta home sea /home/pedro y su intérprete de comandos sea /bin/bash, ejecutaremos el
siguiente comando:
// Crear un usuario
De esta manera habremos creado al usuario pedro y su carpeta home. Si no utilizamos la opción -
m, no se creará la carpeta home del usuario; en tal caso tendríamos que crearla manualmente. Tan
solo nos quedará establecer su contraseña con el comando passwd:
Entonces el sistema nos preguntará dos veces la contraseña que queremos asignar a pedro.
Se recomienda que el nombre de usuario sea en minúsculas y además de letras también puede
contener números y algún signo como guiones normales y guiones bajos. Debemos recordar que
unix distingue entre mayúsculas y minúsculas, es decir, Pepe es distinto de pepe.
Eliminación de usuarios: Se realiza con el comando userdel seguido del nombre del usuario.
Con la opción -r eliminará también su carpeta home, ejemplo:
// Eliminación de un usuario
// Añadir un grupo
Eliminación de grupos: Se realiza con el comando groupdel seguido del nombre del grupo,
ejemplo:
// Eliminación de un grupo
Eliminaría el grupo profesores. Si algún usuario tuviera dicho grupo como grupo primario, el
comando groupdel no eliminará el grupo.
Añadir usuarios a un grupo: Se utiliza el comando adduser seguido del nombre del usuario
y del nombre del grupo al que queremos añadirle, ejemplo:
Quitar usuarios de un grupo: Se utiliza el comando deluser seguido del nombre del usuario
y del nombre del grupo del que queremos quitarle, ejemplo:
Para más información de todos estos comandos se puede consultar la ayuda del manual ejecutando
man seguido del nombre del comando, ejemplo man adduser.
Se trata de una herramienta bastante intuitiva que dispone de una pestaña para administrar
usuarios y otra para administrar grupos.
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
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 u
otros.
r read - lectura
w write - escritura (en archivos: permiso de modificar, en directorios: permiso de crear archivos
en el dir.)
x execution - ejecución
Las nueve posiciones de permisos son en realidad un bit que o esta encendido (mostrado con su
letra correspondiente) o está apagado (mostrado con un guión -), asi que, por ejemplo, permisos
como rwxrw-r--, indicaría que los permisos del propietario (rwx) puede leer, escribir y ejecutar el
archivo, el grupo (o sea los usuarios que esten en mismo grupo del archivo) (rw-) podrá leer y escribir
pero no ejecutar el archivo, y cualquier otro usuario del sistema (r--), solo podrá leer el archivo, ya
que los otros dos bits de lectura y ejecucción no se encuentran encendidos o activados.
Sistemas de impresoras.
Las impresoras son unos de los recursos esenciales de cualquier servidor, ya que permiten
crear copiar en papel de documentos. Se utilizan tanto en oficinas como en ámbitos
académicos y domésticos .
Debe realizarse una previsión exhaustiva del tipo de documentación que los usuarios van a
necesitar imprimir, ya que de ello depende y de las posibilidades económicas de la empresa- la
elección del tipo de dispositivo impresor que deba adquirirse, de cómo va a accederse a
dicho periférico y del tipo de servicio que debe ser instalado y activado en el sistema.
La siguiente tabla presenta las características generales para los tipos de impresoras más
utilizados .
Este es el primero de una serie de artículos que tienen como objetivo introducir al lector en
GNU/Linux, dando sus fundamentos y teniendo como objetivo la seguridad de este sistema
operativo.
El Sistema de Archivos de Linux: Linux es un sistema operativo multiusuario, lo que significa que
podemos tener más de un usuario trabajando al mismo tiempo desde sus diferentes estaciones de
trabajo. A raíz de esto, el sistema debe proteger a unos usuarios frente a otros y a sí mismo.
En Linux se adopta como norma básica de seguridad, asignarle a cada uno de los usuarios, sólo los
permisos mínimos y necesarios para que este pueda realizar su trabajo, sin comprometer el de los
demás y la integridad del sistema.
El sistema de archivos de Linux sigue el estándar de Unix, posee una estructura determinada y
compatible con los demás sistemas Unix. Estos tienen su origen en la denominada raíz" o "root" que
es representado por "/". De este directorio se desprenden todos los Archivos (Archivos ordinarios -
Directorios - Archivos Especiales) a los que el sistema operativo tiene acceso. Entre los que se
encuentran:
/dev Contiene los archivos que representan a los dispositivos que tenemos instalados.
/etc Es reservado para los ficheros de configuración del sistema y aquí no deben existir archivos
ejecutables.
/lib Contiene las librerías para que se ejecuten los programas de /bin y /sbin
/proc Contiene archivos que envía o reciben información de Kernel del sistema.
/sbin Contiene programas que son accedidos únicamente por root y aquellos que se necesitan
durante el arranque y para montar /usr. Además, programas para poder realizar el mantenimiento
y la recuperación del sistema.
/usr Es para los archivos que pueden ser compartidos por todos los usuarios del sistema, es
altamente recomendable que sea montada en modo sólo lectura.
/var Contiene ficheros de datos variables. Esto incluye datos de administración y registro, así como
ficheros temporales.
Para mantener un sistema Linux seguro, lo primero que debemos hacer es una apropiada
distribución del espacio de almacenamiento. Al particionar correctamente el o los discos de
almacenamiento, estamos minimizando el riesgo de que al deteriorarse por alguna circunstancia
una partición, se vea afectada la totalidad del sistema, sólo nos veríamos expuestos a dicha
partición.
En este sentido, no existe un estándar que nos indique como debemos realizar esta tarea,
dependerá del uso que se le aplique al sistema y a la experiencia de quien la realice. Aunque sí,
puedo presentarles como consejo, el siguiente ejemplo en donde se tienen 8 particiones:
1. /boot
En esta partición se alojan todos los archivos a los que necesita acceder el cargador del
sistema que interactúa con el BIOS. A diferencia de las muchas particiones que se presentan
en este ejemplo, en donde se justificarían en sistemas grandes, esta puede ser muy útil si
nos vemos limitados de espacio libre.
2. swap
Es destinada al soporte de la Memoria Virtual, esta partición es obligatoria y de no llegar a
ser así, es altamente recomendable. Generalmente se calcula su tamaño como el doble de
la memoria principal, mayor a esto, generaría pérdidas de espacio en el disco. En grandes
instalaciones podríamos tener más de una partición de intercambio o swap.
3. /
Es la partición root o raíz. Es montada cuando el sistema inicia, y debe contener todos los
archivos necesarios para el arranque y la configuración del sistema. En esta, son necesarios
algunos de los siguientes directorios: /bin, /dev, /etc, /lib, /mnt, /proc, /root, /sbin.
4. /usr
Es una de las particiones con la que tendríamos que ser más cuidadosos y generosos en
cuanto a tamaño, ya que en ella se va a ubicar la mayoría del software que el sistema
operativo pone a disposición de los usuarios. Además en /usr/src encontramos gran
cantidad de códigos fuentes, ya sea del núcleo de Linux como de los paquetes basados en
RPM.
5. /home
Es la partición que contiene los directorios personales de los diferentes usuarios del sistema,
el espacio que se le asignará a esta, dependerá exclusivamente del número de usuarios y de
la cantidad de datos que maneje cada uno de ellos.
6. /opt
En el directorio /opt, es donde la mayoría del software de terceros está diseñado para
instalarse. De no crear esta partición, se instalarán en la partición raíz, la cual podría llegar
a no tener el espacio necesario, aunque obviamente existen otras maneras de resolver esto,
ya que podríamos crear un link simbólico a otra partición con mayor tamaño.
7. /var
De esta partición se hace un uso efectivo solo en sistemas servidores, por ejemplo de
impresión, y multiusuarios, ya que está destinada a ir guardando los distintos archivos de lo
que el sistema Linux irá creando y que ubica en /var/log. En el caso de tener un servidor de
impresión, en /var/spool se encuentran los archivos en cola de impresión.
8. /tmp
Es la partición encargada de almacenar los archivos temporales. Al igual que la partición
/var, de esta se hará un uso efectivo en sistemas con gran cantidad de usuarios o servidores
de red. De no crearse, /tmp se ubica en la partición raíz y haría posibilidades de que los
usuarios ocupen todo el espacio en disco de la mencionada partición. No es necesaria la
creación de ésta en estaciones de trabajo.
Linux incorpora un sistema de manuales internos donde vienen detallados cada uno de los
comandos básicos de Linux.
Para visualizar estos manuales se utiliza en comando man seguido del nombre del parámetro a
consultar.
Para desplazarnos a través de la documentación utilizamos las teclas AVPAG y REPAG y para salir se
utiliza la tecla “q”
No solo se pueden consultar manuales de comando sino que hay también de programas utilidades,
etc.
1. Programas ejecutables
2. Llamadas a librerías de sistema
3. Llamadas al sistema
4. Juegos
5. Archivos especiales
6. Paquetes de marco
7. Formato de los archivos de configuración
8. Rutinas del núcleo
9. Comandos de administración del sistema
Si man no te proporciona suficiente información sobre lo que estás buscando también existe otro
comando que te puede ayudar, se trata del comando info que es algo más extendido que man.
Emuladores.
Es un software que permite ejecutar programas o videojuegos en una plataforma (sea una
arquitectura de hardware o un sistema operativo) diferente de aquella para la cual fueron escritos
originalmente. A diferencia de un simulador, que solo trata de reproducir el comportamiento del
programa, un emulador trata de modelar de forma precisa el dispositivo de manera que este
funcione como si estuviese siendo usado en el aparato original.
D.- ADMINISTRACIÓN DE APLICACIONES EN ENTORNOS MULTIUSUARIOS
BAJO LINUX.
Código reentrante
Decimos que una determinada función (o método) es threadsafe cuando se puede ejecutar de forma
concurrente por varias tareas. Esto implica que, para los accesos a toda información estática
(común) se realizan las operaciones de sincronizan necesarias para garantizar el acceso coherente
al recurso dado.
Decimos que una determinada rutina es reentrante cuando soporta la reentrada en el código en
cuestión mientras este está ejecutando, es decir, es capaz de funcionar correctamente cuando, en
mitad de su ejecución por algún motivo (como por ejemplo una interrupción) esta se detiene en
mitad de proceso y desde algún otro punto se invoca de nuevo la rutina, reentrando en esta,
ejecutándola y restaurando la ejecución en el punto en que se interrumpió en un principio.
No se modifica a si misma (no modifica su propio código). Esto es lo más normal en la gran
mayoría de los programas.
No hace uso de memoria estática (situada en el heap o en el segmento de datos)
No realiza llamadas a funciones no reentrantes
Si una función cumple esos parámetros entonces es reentrante (lo cual no significa que una función
no pueda ser reentrante cumpliendo otros requisitos. Cualquier función que garantice la reentrada
de código (por ejemplo realizando el acceso a variables globales de forma atómica) es reentrante.
El código reentrante puede a veces confundirse con el concepto de código treadsafe (seguro para
tareas), principalmente por que suele ser normal que el código reentrante sea también threadsafe,
sin embargo son conceptos distintos.
1. Para usar memoria compartida en Linux es necesario seguir una serie de pasos que luego se
traducen a llamadas al sistema.
2. 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.
3. Crear el segmento de memoria compartida con la llamada al sistema shmget.
4. Operar con la memoria compartida. Indicamos lo que queremos compartir con la llamada
al sistema shmat.
5. Destruimos el segmento de memoria compartida con la llamada al sistema shmdt y shmctl.
Existen varias variables de entorno que ya están definidas con la instalación del sistema operativo,
pero también es posible agregar otras según sean las necesidades.
Para poder consultar todas las variables que están seteados como variables globales podemos usar
el comando export:
emco@debian:~$ export
declare -x COLORTERM="Terminal"
declare -x DISPLAY=":0.0"
declare -x GLADE_CATALOG_PATH=":/usr/share/glade3/catalogs"
declare -x GLADE_MODULE_PATH=":/usr/lib/glade3/modules"
declare -x GLADE_PIXMAP_PATH=":/usr/share/glade3/pixmaps"
declare -x GTK_PATH=":/usr/lib/gtk-2.0"
declare -x HOME="/home/emco"
declare -x HUSHLOGIN="FALSE"
declare -x LANG="es_SV.UTF-8"
declare -x LANGUAGE="es_SV:es"
declare -x LIBGLADE_MODULE_PATH=":/usr/lib/libglade/2.0"
declare -x LOGNAME="emco"
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
declare -x PWD="/home/emco"
declare -x SHELL="/bin/bash"
declare -x SHLVL="2"
declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share:/usr/share"
E.- GESTIÓN DE LAS UNIDADES FUNCIONALES.
Procesos del sistema operativo.
- Planificación de procesos.
Gestión de la memoria.
- Paginación.
- Segmentación.
Sistemas de archivos.
Gestión de entrada/salida.
- Hardware de entrada/salida.
- Software de entrada/salida.