1. COMO INSTALAR UNIX
¿Qué necesitamos?
Para instalar Linux necesitamos obviamente una computadora. No es necesario que sea una
computadora de última generación, ya que la cantidad de distribuciones GNU/Linux existentes nos
permite hacer uso de máquinas que normalmente consideraríamos obsoletas.
Claro está, que si quieres hacer uso de lo último en software relacionado con GNU/Linux, si te
recomiendo que tengas un equipo al menos menor a tres años, con una tarjeta aceleradora de vídeo y
una buena cantidad de memoria RAM:
A continuación listo los requerimientos mínimos y recomendados para realizar una instalación exitosa
de una distribución GNU/Linux.
Requerimientos mínimos:
Procesador Existe una distribución GNU/Linux para casi cualquier arquitectura existente
Memoria RAM 256 MB
Disco USB 1 GB
Requerimientos mínimos recomendados:
Procesador Existe una distribución GNU/Linux para casi cualquier arquitectura existente
Memoria RAM 512 MB
Disco USB 5 GB
INSTALACIÓN DEL SISTEMA OPERATIVO
Preparación para instalar Unix
Una vez que usted ha obtenido una distribución de Unix, estará preparado para instalar el sistema.
Esto supone cierto grado de planificación, sobre todo si en su ordenador se usan actualmente otros
sistemas operativos. En las secciones siguientes describiremos cómo preparar la instalación de Unix de
forma general.
Instalación del software de UNIX
Después de modificar sus particiones para reservar espacio a Unix, usted está preparado para instalar
el software. A continuación se muestra un resumen del procedimiento a seguir:
o Ejecutar fdisk bajo Unix para crear las particiones de Unix;
o Ejecutar mke2fs y mkswap para crear los sistemas de ficheros y el espacio de intercambio;
2. Instalar el software de Unix;
Finalmente, instalar el cargador LILO en el disco duro, o crear un disco de arranque con el fin de
arrancar su nuevo sistema Unix.
Como hemos dicho, uno (o más) pasos de los anteriores pueden estar automatizados por los programas
de instalación, según la distribución que esté utilizando. Por favor, consulte la documentación de su
distribución para ver las instrucciones específicas.
Arranque de UNIX
El primer paso es iniciar el computador con el dispositivo de arranque de Unix, que suele ser un disco
"boot" que contiene un pequeño sistema Unix. Tras arrancar con el floppy, se le presentará un menú de
instalación de algún tipo que le guiará en el proceso de instalación. En otras distribuciones, se le
mostrara un prompt de login cuando arranque. Aquí se suele entrar como root o install para comenzar
el proceso de instalación.
La documentación que viene con su particular distribución le explicará qué necesita para arrancar Unix.
La mayoría de las distribuciones de Unix utilizan un disquete de arranque que le permite introducir
parámetros de su hardware en tiempo de arranque, para forzar la detección de sus dispositivos.
Comunicación entre procesos
Tuberías o pipes: | sirven para comunicar procesos, usualmente para pasar el resultado de un proceso
a otro proceso: por ejemplo ps axf | grep bash: lista todos los procesos y filtra los que se llamen bash. La
tubería en definitiva lo que hace es unir la salida de un comando con la entrada de otro.
Redirección de entrada/salida
Proceso > fichero: con este símbolo podemos redirigir la salida estándar de un comando a un fichero.
Téngase en cuenta una cosa. Si decimos fichero siempre lo vamos a decir de manera genérica, puede ser
un fichero de texto o la pantalla de terminal, ahí cabe TODO.
Compresión de ficheros y directorios
Existen varias opciones de compresión de ficheros en Linux: gzip, bz2, rar, zip, y todos ellos se pueden
combinar con el empaquetar o archivador TAR.
Tar Archivador: agrupa ficheros en uno, además se le puede decir que comprima.
Tar cfp resultado.tar /etc. /var: guarda el contenido de /etc. y /var dentro del fichero
resultado.tar
Tar xfp resultado.tar: saca todo el contenido de resultado.tar.
Tar zcfp usr.tgz /usr: archiva y comprime con gzip el directorio /usr.
Tar jcfp usr.tgz /usr: archiva y comprime con bzip2 el directorio /usr.
Tar zxfp usr.tgz: descomprime el fichero anterior.
3. Accediendo a dispositivos y particiones
Para acceder a diskettes, cdroms, dvds, pendrives, cualquier dispositivo USB, etc... Es necesario
“montarlo” de forma manual, salvo que todo esté configurado de una forma cómoda con automount.
En Linux hay un único sistema de ficheros, y si se mete un CD o un USB en el sistema hay que montarlo
sobre algún directorio del sistema. Existen algunos directorios predefinidos para esto, aunque en
principio lo podemos montar donde nos dé la gana
Las flechas
A través de las teclas cursoras podemos volver a los comandos que hemos introducido anteriormente,
algo que los usuarios de MSDOS recordarán como el DOSKEY.
En cualquier momento podemos movernos al inicio o al final del comando podemos usar las teclas
Inicio o fin, o en su defecto Ctrl-A o Ctrl-E.
Ejecución de comandos
Para ejecutar un comando en el shell basta con ponerlo, y si el comando se encuentra dentro de los
directorios indicados en la variable PATH se ejecutará sin problemas.
Linux~# uptime
20:49:05 up 2:35, 2 users, load average: 0.00, 0.00, 0.00 Linux~#
COMANDOS BUILT-IN DEL SHELL
El shell dispone de un conjunto de comandos que vienen de serie. Son comandos muy sencillos que
pueden ayudar en la programación de scripts. Vamos a listarlos, pueden usarse dentro de un script o
desde el propio prompt:
! : Negación
#: comentarios
: : comando nulo
. : El punto sirve para ejecutar ficheros. Con los scripts del mismo directorio se hace: ./script.sh
Alias: sirve para crear alias de comandos largos: alias dir='ls -l | more'
Bind: gestiona la librería readline
Bg: pasa procesos a background o segundo plano
Break: fuerza la salida de fors, whiles, selects o untils
builtin: permite modificar el comportamiento de comandos
Cd: el cambio de directorio
4. Command: ejecutar determinado comando con sus argumentos
Continue: salta a la siguiente iteración en fors, whiles, selects o untils
declare: declaración de variables
Dirs: muestra la pila de directorios
disown: quita los procesos dependientes del shell para que no dependan de este
do, done : parte de las iteraciones
echo : mostrar datos por salida
enable: habilitar o deshabilitar los comandos builtin.
exec : ejecuta un comando en lugar del proceso actual
exit: termina el script o el shell
export: convierte las variables en globales
fc : editar comandos del historial
fg: pasar comandos a primer plano
getopts: para tomar los argumentos opcionales del script, al estilo de c
help : muestra la ayuda
history: el historial de comandos
if: para crear estructuras condicionales
jobs: muestra los procesos que tenemos en marcha
kill: envío de señales a procesos.
let: ejecución de operaciones aritméticas
local: declaración de variables locales
logout: salida del shell
popd: saca un directorio de la pila de directorios
printf: sacar datos formateados como en c
pwd: muestra el directorio actual
5. pushd: mete un directorio en la pila
read: lee desde la entrada estándar
readonly: previene que variables de shell sean sobrescritas
return: para terminar funciones
select: estructura de selección
set: muestra variables del shell, y puede establecer muchas opciones
shopt: establece o quita opciones de shell
shift: desplaza posiciones en el shell
source: similar al .
suspend: suspende el shell actual, suele hacerse en el su
test: para construir condicionales
time: mide el tiempo de ejecución de un comandos
times: muestra tiempos acumulados de procesos
trap: para atrapar señales
true: constante booleana
type:distingue si un comando es builtin, función,alias, palabra clave,..
ulimit: muestra los límites de recursos del sistema
umask: muestra/establece permisos que sse deben aplicar a nuevos ficheros
unalias: quita los alias
unset: desestablece funciones o variables
until: para crear iteraciones
wait: detiene la ejecución a la espera que termine otro proceso
Desconexión de la máquina
En principio, una desconexión correcta advierte a los otros usuarios para que se despidan antes de que
el sistema se pare, eliminara cuidadosamente todos los procesos no esenciales actualizara varios
6. ficheros y registros, sincronizara el disco con los buffers en memoria, y finalmente eliminara el resto de
los procesos.
Algunos sistemas pueden estacionar automáticamente las cabezas del disco bajo software, como parte
de la desconexión. De hecho, algunas máquinas unix incluyen el conmutador de potencia controlado de
modo que el último paso del proceso de desconexión es la desactivación física de la máquina.
La Secuencia de Arranque.
Booting the UNIX System...y carga entonces el núcleo (kernel) del sistema operativo, que es
normalmente /unix. Se puede presionar una tecla mientras se visualiza el mensaje "Booting", y el
cargador permitirá introducir el nombre del núcleo alternativo para cargar. Este núcleo alternativo
debe residir in /stand/unix. Como parte de la secuencia de inicialización, el núcleo puede visualizar
cuanta memoria total real hay instalada en el sistema, si esta cantidad difiere de la cantidad de memoria
física, debe haber un problema de hardware que debería ser reparado. Como parte del proceso de
inicialización, el núcleo analiza las rutinas de dispositivo asociadas con tarjetas adicionales instaladas y
los mensajes "Wangtek ...", etc. aparecen es esta etapa.
Estados Init.
El procedimiento de arranque del sistema Unix se complica por la posibilidad de hacer entrar al sistema
en diferentes estados, es decir, el sistema puede adoptar varios modos de operación conocidos como
estados init, debido a que /etc/init es el programa responsable del mantenimiento del sistema en
funcionamiento correcto.
El estado más comúnmente utilizado es el modo multiusuario, este es el estado del sistema utilizado
para casi todas las interacciones en estas notas y el único que permite más de un usuario. Otro estado
históricamente utilizado pero de raro uso hoy, es el modo de usuario único, este último es una versión
de Unix de multitarea, por lo que permite múltiples procesos, pero no múltiples usuarios, este estado
puede ser utilizado para una actualización del kernel (núcleo) del Unix rápida. Existen otros estados, la
designación de estos estados se muestra en la siguiente tabla:
Alterando los valores default de la creación de cuentas.
Para llevar a cabo esta operación seleccione "Modify Defaults", después usted apreciara una forma en
pantalla, en esta apreciara que el cursor estará posicionado en el campo de "Login group". Algunos de
los campos pueden ser modificados al momento de crear la cuenta del usuario en el modo de
modificación, estos campos son solamente informacionales; sus valores pueden ser cambiados. Estos
campos son los siguientes:
Estado Función
0 Desenchufar la máquina
1 Modo de usuario único
2 Modo de multiusuario
3 Modo de multiusuario con red
4 No usado
5 Desconexión a ROM (o desconexión y arranque)
6 Desconexión y arranque
7. Login group
El grupo asociado con la cuenta cuando el usuario entra. Este campo puede ser cambiado, pero no
deberá estar vacío. Este campo es el grupo del usuario en /etc/passwd. Presionando F3 se muestra una
lista de los grupos existentes.
Groups
Los grupos en los que este usuario es un miembro.
Login Shell
El shell que el usuario utilizara, el valor default está definido en el archivo /etc/default/authsh. Si la
ruta completa es ingresada, el shell descrito por esta ruta es simplemente el usado como el shell usado
por el usuario. Sin embargo si no se especifica la ruta, se asume que se trata del shell predefinido, es
decir, el shell que se encuentra en el subdirectorio /usr/lib/mkuser.
Home directory
Define donde residirán los archivos de usuario. La opción del directorio default se enfatiza; presione
Return para seleccionar el directorio de default. Las opciones del directorio de trabajo son las
siguientes:
Create: Crea un nuevo directorio para el usuario
Do not create: no crear un directorio para el usuario
Populate existing: use el directorio especificado existente
Más adelante analizaremos usuarios que comparten directorios de trabajo.
User ID
Es el número de identificación del usuario (ID). Una vez seleccionado un número de identificación, este
no puede ser cambiado porque podría causar inconsistencia en la auditoria del sistema.
Type of user
En la mayoría de los casos el tipo de usuario es "individuo" o "pseudo-usuario". Por default este campo
asume el valor "individuo" que identifica a la gente real con nombres. Los usuarios "pseudo-user" son
cuentas anónimas dedicadas a ciertas tareas administrativas del sistema.
Account that may su to this user
Se refiere al usuario responsable de esta cuenta. Este campo puede ser cambiado si y solo si el usuario
no es un individuo. Para usuarios individuales este campo esta vacío, pero para usuarios no individuales
no deberá de estar vacío. Por ejemplo, la cuenta de root deberá tener el nombre del usuario responsable
de la cuenta. Presione F3 para ver la lista de los usuarios del sistema.
8. COMPARTIENDO DIRECTORIOS DE TRABAJO
Se puede crear cuentas que compartan el mismo directorio de trabajo (login directory); para hacer esto,
se crea el directorio normalmente durante la adicion de un nuevo usuario. Usted debería después de
salir del sysadmsh e introducir los siguientes comandos (reemplazando o medir con el nombre real del
directorio).
cd homedir
chmod 775
chown aunth
Además, introducir uno de los comandos siguientes de acuerdo al shell de login usado para la cuenta:
Bourne o Korn shell
chmod 660 .profile
chmod 660 .kshrc (korn shell solamente)
C-shell
chmode 660 .login .chsrc
Esto asegura que los miembros del mismo grupo de login puedan compartir este directorio. Note que si
usted asigna diferente grupo de login de varios usuarios, estos no podrán compartir el directorio.