martes, 11 de abril de 2017

LINUX-optimizar la ejecución de procesos: setear (nice) o cambiar (renice) la prioridad de un proceso en ejecución

Niceness (Nice value ) y Priority 

Priority se refiere a la prioridad actual con la que un proceso se ejecuta en el espacio de la CPU asignado al kernel. Mientras que Nice Value o Niceness es lo correspondiente al espacio de la CPU asignado al usuario. 
En linux el rango de valores asignado de kernel space para prioridades es 0 hasta 139, mientras que para el niceness o user space es desde -20 (más alto), hasta el +19 (más bajo). Siendo el valor 0 el asignado por default.  

la relación entre priority y niceness es:

PR = 20 + NI

Cómo obtener el valor de la prioridad de un proceso en ejecución. 

Poner atención a las siguiente columnas
PR: 20
NI: 0
Cuando NI es 0 (default), el valor de PR es 20 (default)
root@centOS-testing02 ~]# dd if=/dev/zero of=/dev/null &
[1] 1578
[root@centOS-testing02 ~]# top

top - 14:32:10 up 4 min,  2 users,  load average: 0.16, 0.06, 0.01
Tasks: 101 total,   2 running,  99 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.4%us,  7.5%sy,  0.0%ni, 90.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1020380k total,   137708k used,   882672k free,     6884k buffers
Swap:  1048568k total,        0k used,  1048568k free,    39384k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                1578 root      20   0  102m  708  588 R 99.7  0.1   0:11.20 dd                                                                                              
[root@centOS-testing02 ~]# ps -o pid,comm,nice -p 1578
  PID COMMAND          NI
 1584 dd                0
[root@centOS-testing02 ~]# 

viernes, 7 de abril de 2017

LINUX-optimizar la ejecución de procesos: context switching

en un post anterior comenté acerca del uso del comando TOP (tail of processes) para conocer el load average
http://eloraculodelpinguino.blogspot.cl/2014/01/lalal.html

En el siguiente laboratorio, aprendemos a usar diferentes utilitarios  para manejar un proceso en particular y optimizar su ejecución adecuando el context switch.

Concepto de context switch.

hay varios post que se pueden encontrar googleando, sin embargo recomiendo el que (a mi parecer) está mejor explicado:
http://www.linfo.org/context_switch.html (los 3 primeros párrafos son suficientes)

jueves, 17 de noviembre de 2016

LINUX-backup/restore HDD con utilitario dd

el utilitario dd es una excelente herramienta para realizar backup integro de data a hdd del server.
Se recomienda utilizar versión del package gnu coreutils 8.24 o superior que viene en live DVD ubuntu 16.10 ya que incluye el param status, el cual indica la progresión en el proceso de la copia.

Así, cuando sea necesario realizar un backup de un HDD completo hacia una unidad externa,

jueves, 27 de octubre de 2016

LINUX-comprobar integridad archivo via sum

para comprobar la integridad de un archivo después de la transferencia via ftp desde un server unix a un server linux. se puede aplicar el comando sum en ambos servers.

En el server unix de origen,

lala@unixServer:/Exports$ sum datos.log
15053 2 datos.log
lala@unixServer:/Exports$

En el server linux, la invocación al comando sum, requiere del param -s (use System V sum algorithm, use 512 bytes blocks) el cual es el mismo algoritmo utilizado por unix.

[root@linuxServer]# sum -s datos.log
15053 2 datos.log
[root@linuxServer]#

sábado, 9 de julio de 2016

LINUX-understanding umask

A través de un excelente post sobre la estructura de umask en linux (o file permisions) es que quiero referirme a algunos tips:

El link sobre la explicación de umask
http://www.computerhope.com/unix/uumask.htm

jueves, 28 de abril de 2016

LINUX-lab understanding quotas

En el siguiente lab vamos a entender para qué es y cómo se utiliza las quotas en el S.O.
La quota es un concepto que limita la cantidad de espacio en el filesystem que puede ser utilizado por un user o un grupo de users. Así, es posible asignar destinar y acotar un espacio en el filesystem para cada user que lo requiera deacuerdo a los aplicativos que ejecute.

lunes, 18 de abril de 2016

LINUX-SySAdmin-fundamentos y lab de routing

En linux la comunicación entre servidores se da a través de rutas.
Las rutas pueden ser comprendidas como carreteras donde viajan los datagramas hacia un destino (host IP).

Existe bastante literatura al respecto que explica el funcionamiento del routing. La intención de este articulo es observar la información desplegada por los distintos comandos y aprender a interpretarla adecuadamente.

lunes, 4 de abril de 2016

LINUX-CENTOS-LAB-ACL vs chmod,chown. ejercicios

En el siguiente lab de ejercicios, vamos a analizar un par de requests, donde intentaremos dar solución aplicando ACL y chmod + chgrp + chown como alternativa. De esta forma podremos apreciar en mejor medida ambos utilitarios.

Req. 1: Create a directory named /common. Allow john and davis to share documents in the /common directory using a group called team. Both of them can read, write and remove documents from the other in this directory but any user not member of the group can’t.

sábado, 2 de abril de 2016

LINUX-CENTOS-LAB-comprendiendo ACL con ejercicios

ACL o access control list es un paquete de utilidades para administrar privilegios sobre los directorios de trabajo.

Honestamente, no pude determinar una característica diferenciadora entre usar ACL para controlar los privilegios a user/groups, versus las tecnicas anteriormente estudiadas con chown, chgrop y chmod.

Sin embargo, la implementación de ACL sugiere que el sysadmin se encuentra en un nivel avanzado, por lo que en este post vamos a estudiar sus fundamentos, configuración y algunos ejercicios para comprenderlo mejor.

lunes, 28 de marzo de 2016

LINUX-JAVA-timezone-aplicar cambios tzdata con utilitario tzupdater

Deacuerdo a la normativa del gobierno de chile, se aplica el horario de invierno desde el segundo sábado de mayo hasta el segundo sábado de agosto.

Para los aplicativos en java es necesario compilar el archivo tzdata que publica la iana.org
tzdata2016c.tar.gz
Para aplicar los cambios en el server es necesario seguir las instrucciones que indica oracle en su sitio web.
http://www.oracle.com/technetwork/java/javase/documentation/tzupdater-readme-136440.html

sábado, 26 de marzo de 2016

LINUX-lab ejercicios nivel intermedio con vi

El comando vi es  un editor con muchas funciones y capacidades, siendo una de las herramientas más utilizadas por los usuarios y sysadmin en cualquier distro linux. Debido a que es imposible abordar todas en un sólo articulo, concentraremos la atención en los usos que pueden darse con mayor frecuencia.

En las siguientes experiencias de lab vamos a utilizar el comando vi para modificar archivos, no para crearlo. Esto porque el modo de edición de texto es lo más utilizado.

Tabla resúmen de features

http://www.yolinux.com/TUTORIALS/LinuxTutorialAdvanced_vi.html

Características más utilizadas de vi

- indentación.
- patrones de búsqueda dentro del texto
- substitución de texto.

lunes, 14 de marzo de 2016

ORACLE-DBA-DataPump-Taller 2: respaldos personalizados

Esta es la segunda parte de un lab ejecutado anteriormente,
http://eloraculodelpinguino.blogspot.cl/2013/01/oracle-dba-datapump-taller-1-respaldo.html

Donde lo que se revisó fue la generación de un respaldo full de un esquema. En este articulo vamos a revisar distintas customizaciones para generar respaldos a la medida del requerimiento.

Obtener el tamaño del respaldo a ejecutar. 

Es posible sólo obtener un conteo del tamaño del archivo dump correspondiente al respaldo que se requiere ejecutar.
Es importante destacar que para esta opción no se debe incluir en el listado de parámetros el nombre del archivo dump, ya que no lo requiere. Inclusive, el utilitario rechaza incluir el param "dumpfile" junto con esta opción.

Se utiliza el param "estimate_only=y"

[oracle@datacenter ~/Export]$ cat exp_user_estimateonly.par
SCHEMAS=scott
DIRECTORY=TEMPDIR
LOGFILE=scott.log
estimate_only=y
[oracle@datacenter ~/Export]$expdp scott/tiger parfile=exp_user_estimateonly.par

viernes, 11 de marzo de 2016

LINUX-CENTOS 7.x-ejercicios para entender las interfaces de red

En el siguiente lab vamos a comprender cómo el sistema lee y ejecuta las configuraciones de los scripts de las interfaces de red.

Archivos de configuración de network

https://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-networkscripts.html

Deacuerdo a la documentación oficial de CentOs, los siguientes archivos son parte de la configuración de las interfaces de red:

/etc/hosts
/etc/resolv.conf
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-

jueves, 10 de marzo de 2016

LINUX-CENTOS-LAB-ejericicios para entender la diferencia entre chgrp y chown

En el siguiente lab vamos a mostrar la diferencia en el resultado de los comandos chgrp y chown, los cuales comparten algunas funciones pero están diseñados para distintos usos.

Uso del comando chgrp
- cambia el grupo owner a un directorio/archivo

Uso del comando chown
- cambia el usuario y también el grupo owner a un directorio/archivo

Acontinuación los siguientes ejemplos:

martes, 8 de marzo de 2016

LINUX-CENTOS-LAB-ejercicios combinando comando useradd,usermod,groupadd,chage,chgrp,id,

En el siguiente lab revisaremos requerimientos complejos que pueden ser resueltos combinando los comandos examinados en los post anteriores.

Create two users: john with uid/gid equal to 2000, password 12345678 and davis with uid/gid equal to 3000, password 87654321. Make davis‘ account validity stopping in one month.

crea el user john con UID/GID 2000, password 12345678
[root@localhost ~]# /sbin/useradd -u 2000 john
[root@localhost ~]# /bin/id john
uid=2000(john) gid=2000(john) groups=2000(john)
[root@localhost ~]# /bin/passwd john 
Changing password for user john.
New password: 
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost ~]# 

LINUX-CENTOS-LAB-ejercicios comando groupadd


En el siguiente lab realizaremos ejercicios con el comando groupadd

Consideraciones:
Al ejecutar cualquier acción con el comando groupadd, los archivos se encuentran involucrados:
       /etc/group : Group account information.
       /etc/gshadow :  Secure group account information.
       /etc/login.defs : Shadow password suite configuration.

La Configuración por defecto de los parámetros de uso del comando groupadd se encuentran en el archivo
/etc/login.defs

Los parámetros modificables son:
# Min/max values for automatic gid selection in groupadd
#
GID_MIN                  1000
GID_MAX                 60000
# System accounts
SYS_GID_MIN               201
SYS_GID_MAX               999

martes, 1 de marzo de 2016

LINUX-CENTOS-LAB-ejercicios comando cut

En el siguiente lab vamos a aprender cómo utilizar el comando cut para obtener información relevante de archivos del server.
cut, sirve para cortar información en forma de columnas dentro de un archivo.

Considerar los siguientes parámetros del comando


-d indica cómo es el delimitador  
-f indica la columna a considerar. 
-s muestra las líneas que contienen el delimitador indicado. 
--output-delimiter= depliega la info cambiando el caracter delimitador entre columnas 

lunes, 29 de febrero de 2016

LINUX-CENTOS-LAB-ejercicios comando sed

Para el siguiente lab utilizamos el comando sed, comúnmente empleado para reemplazo de texto en un archivo

Considerar los siguientes atributos

Dentro de la línea de acciones del comando.
s indica la acción de reemplazo
g indica que el reemplazo se realice buscando en todo el archivo.
I indica que no importa si la letra es mayúscula/minúscula.
\L convierte a minúscula el texto que viene.
\U convierte a mayúscula el texto que viene.
\E no realiza ninguna acción sobre el texto que viene.

Como parametro de invocación del comando:
-i indica que el reemplazo del texto se realiza en el mismo archivo

miércoles, 10 de febrero de 2016

LINUX-CENTOS-LAB-ejercicios comando usermod.

Cualquier modificación que se realiza con el comando usermod, está realizando modificaciones a los siguientes archivos:

/etc/passwd – User account information.
/etc/shadow – Secure account information.
/etc/group – Group account information.
/etc/gshadow – Secure group account information.
/etc/login.defs – Shadow password suite configuration..

lunes, 8 de febrero de 2016

LINUX-CENTOS-LAB-ejercicios comando useradd

crear usuario incluyendo un archivo predefinido en su directorio home. 

Los parámetros por defecto para crear un usuario se encuentran en dos archivos:

/etc/default/useradd
root@localhost ~]# cat /etc/default/useradd 
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@localhost ~]#