viernes, 15 de enero de 2016

Una breve iniciación al uso de Linux en servidores

Me pide un compañero que le facilite algunas nociones para manejar uno de nuestros servidores en la red.  Se trata de un ordenador con Linux (concretamente Ubuntu) que se encuentra en un centro especializado en Madrid.  Mi compañero es un informático habituado al uso de Windows y otras herramientas.   Así que recojo algunas notas que aunque son elementales van orientadas a un público especializado

Acceso al ordenador

Lo primero de todo es acceder remotamente al ordenador y abrir una sesión de trabajo. La sesión será muy parecida al procesador de comando de Windows.  

Normalmente se accede por SSH, que significa 'Secure SHell' (lo traducimos como 'intérprete de órdenes seguro').   El programa más conocido para usar un acceso SSH ahora mismo es Putty.  El nombre PuTTY es una abrevitura.  Pu: Port unique TTY: terminal type. Su traducción al castellano sería: Puerto único de tipo terminal. Así que descargamos Putty y lo instalamos.

Una vez instalado PuTTY lo ejecutamos y escribimos los datos necesarios para el acceso que pueden guardarse para el futuro.  Estos datos son los siguientes:

Host Name (or IP adress): Justo lo que indica (aunque lo indica en inglés). Debemos poner o bien la IP del ordenador o bien una URL que lo identifique.  Lo mejor es usar lo que vaya a ser más estable.   Si tenemos un servidor accesible en 'nuestroservidor.com' y creemos que el dominio continuará por largo tiempo puede ser lo más cómodo.

Port: El puerto de acceso.  Por omision es el 22
 
Connection type:  Pues tal y como estamos comentando, vamos a usar una conexión SSH.

Una vez que pulsemos el botón de acceso aparecerá la pantalla del terminal, una pantalla que recuerda al llamado 'Símbolo del sistema' o 'Gestor de comandos' de Windows o el antiguo MSDOS.   

El primer mensaje de la pantalla será:

login as:
 
Debemos escribir el nombre de usuario.  El usuario principal de una instalación Linux es root y por lo general no debemos usarlo nada más que en caso excepcionales.   Tras el usuario se nos pide la clave y si todo ha ido bien aparecen unos mensajes informativos y el 'prompt' del sistema.  Este puede ser algo así como:

usuario@eiservidor65:~$
 
Ya tenemos listo el ordenador para escribir órdenes

Algunos comandos básicos

Los comandos de Linux recuerdan algo a los de MSDOS (bueno, históricamente la verdad es que los comandos de MSDOS recordaban a los de Unix), aunque solo ligeramente.  

Antes de nada debemos saber que nos encontramos en un ordenador con un estructura de ficheros organizados en árbol de carpetas (o directorios, que son sinónimos).  Como he dicho al principio me dirijo a una persona con ciertos conocimientos informáticos y por ello voy a prescindir de explicar lo que son ficheros, carpetas y como nombrarlos.  Lo doy por conocido.

Los comandos se teclean junto con sus opciones, que se identifican por ir precedidos de un guión y los argumentos, que en algunos casos son obligatorios y en otros opcionales.

Un ejemplo de comando es:

ls -l datos*.*
 
El comando es 'ls'.  Se ejecuta con la opción 'l'  y el argumento es 'datos*.*'.  Ahora veremos que significa.

Casi todos los comandos tienen la opción --help  que  muestra su ayuda.  Así para ver la ayuda del comando ls que acabamos de citar escribiriamos lo siguiente:

ls --help

Vamos a ver 8 comandos básicos.

ls     

El comando ls sirve para listar los ficheros del directorio en el que nos encontramos.  Se usa con la siguiente sintaxis
ls -[opciones] [ficheros]
presenta una lista de todos los ficheros que incluye [ficheros] y que puede tener comodín, por ejemplo da*.* indica todos los ficheros que comienzan por da.  *.txt todos los ficheros cuyo sufijo es .txt
las opciones más usuales son las siguientes:
l Presenta la lista en formato largo, es decir con una información adicional de los ficheros.
s Incluye el tamaño de cada fichero en bloques
p Añade el símbolo / a los directorios
R incluye el contenido de los subdirectorios en modo recursivo
t Ordena por fecha de modificación, colocando primero el más reciente

cd

El comando cd permite cambiar de directorio.  Su sintaxis es muy simple:
cd   -[opciones] [directorio]
Como puedes imaginar nos cambia al directorio indicado.

mv

El comando mv sirve principalmente para dos cosas aparentemente distintas: Mover un fichero o conjunto de ficheros de directorio y cambiar el nombre a un fichero.
Su sintaxis es la siguiente:
mv  -[opciones] [fichero1] [fichero2]
Para renombrar fichero1 y fichero2 deben ser dos nombres exactos de ficheros (esto es sin comodines ni que sean carpetas), el fichero1 debe existir y tras ejecutar el comando su nombre será fichero2, que, lógicamente no existirá antes.
Para mover ficheros fichero1 debe ser un fichero o conjunto de ficheros (podemos usar comodines por tanto o carpetas) y fichero2 será un directorio.

cp

Su sintaxis es:
cp -[opciones] [fichero1] [fichero2]
Copia el fichero1 al fichero2 que puede existir (será sobreescrito) o no (será creado).

df

df facilita una información del uso del almacenamiento, indicado el espacio consumido y el espacio libre.  Es fundamental para controlar el estado del ordenador. 

service

service permite controlar los servicios  parándolos o poniendolo en marcha.
Para parar un servicio escribimos lo siguiente:
service [servicio] stop
y para ponerlo en marcha
  
service [servicio] start


sudo

Este comando permite ejecutar otro con privilegios de administrador.

sudo [comando]


apt-get

Esta utilidad permite entre otras cosas actualizar el sistema operativo.  'apt' son las iniciales de Advanced Packaging Tool (Herramienta Avanzada de Empaquetado).  Debe ejecutarse con privilegios de administrador.

Hay dos usos que conviene que sepas. Uno permite descargar las novedades y el otro instalarlas.   Normalmente se ejecuta uno y a continuación el otro, pero atento a los posibles mensajes que aparezcan
 
sudo apt-get update
sudo apt-get upgrade