Posts by drangel

Fundamentos de la GESTIÓN TI. (ITIL)

Las tecnologías de la información son tan antiguas como la historia misma y han jugado un importante papel en la misma. Sin embargo, no ha sido hasta tiempos recientes que mediante la automatización de su gestión se han convertido en una herramienta imprescindible y clave para empresas e instituciones.

La información es probablemente la fuente principal de negocio en el primer mundo y ese negocio a su vez genera ingentes cantidades de información. Su correcta gestión es de importancia estratégica y no debe considerarse como una herramienta más entre muchas otras.

negocio

 

Hasta hace poco las infraestructuras informáticas se limitaban a dar servicios de soporte y de alguna forma eran equiparables con el otro material de oficina: algo importante e indispensable para el correcto funcionamiento de la organización pero poco más.

Sin embargo, en la actualidad esto ha cambiado y los servicios TI representan generalmente una parte sustancial de los procesos de negocio. Algo de lo que es a menudo responsable el advenimiento de ubicuas redes de información: sirva de ejemplo la Banca Electrónica.

Los objetivos de una buena gestión de servicios TI han de ser:

  • Proporcionar una adecuada gestión de la calidad
  • Aumentar la eficiencia
  • Alinear los procesos de negocio y la infraestructura TI
  • Reducir los riesgos asociados a los Servicios TI
  • Generar negocio

ITIL nace como un código de buenas prácticas dirigidas a alcanzar esas metas mediante:

  • Un enfoque sistemático del servicio TI centrado en los procesos y procedimientos
  • El establecimiento de estrategias para la gestión operativa de la infraestructura TI.

ITIL_service_support_desk

Curso Completo.

Curso ITIL V3 Completo.

Glosario ITIL Español (PDF)

 

 

Restaurar los Paneles de Menú y Gnome a su estado original

Hola!… Ante la situación de que un colega tuvo un problemita dentro de su SO Linux Ubunto, se procedió a apoyarlo. El problema es que su barrá de menú desapareció y en su Escritorio linux ubuntu no había nada….

Si borraste accidentalmente los paneles de ubuntu o con el pasar del tiempo han sufrido muchas modificaciones y simplemente quieres volver a tener los paneles originales de ubuntu.

También nos sirve para recuperar el icono del sonido con la barra del volumen y de la red si las hemos perdido o borrado.

Si jugaste demasiado con Gnome puede ocurrir que nos fallen determinadas cosas y necesitemos volver a su estado original.

RECUPERAR LOS PANELES de Gnome 2.x Ubuntu 10.10 y anteriores

Para esto debemos de utilizar una terminal y si resulta que no tenemos los paneles desde donde abrir una, podemos pulsar las teclas ALT+F2 para lanzar aplicaciones y escribimos:

gnome-terminal

Una vez abierta la terminal ejecutamos los siguientes comandos, uno después de otro:

gconftool-2 --shutdown
rm -rf ~/.gconf/apps/panel
pkill gnome-panel

Y listo paneles restaurados, igualitos a los que teníamos cuando instalamos Ubuntu.

RECUPERAR ICONO DEL SONIDO

Si lo que quieres es sólo recuperar el icono del sonido, ve a Sistema – Preferencias – Aplicaciones de inicio, en el cuadro que se abre, donde dice orden, pones lo siguiente:

gnone-volume-control-applet

el icono volverá a aparecer en el lugar que le corresponde.

RECUPERAR GNOME

Para restaurar Gnome a su estado original ejecuta en una terminal el siguiente comando:

gconftool-2 --recursive-unset /

Notas:
1. Esto volverá a configurar también la red y si es wifi debes de introducir de nuevo la contraseña.
2. Esto hará desaparecer los paneles y para recuperarlos utilizar el apartado de recuperar los paneles.

RESTAURAR LA CONFIGURACIÓN POR DEFECTO DE COMPIZ

Para restaurar la configuración predeterminada de compiz:

gconftool-2 --recursive-unset /apps/compiz

Desaparece la barra del título de las ventanas con los botones maximizar, minimizar y cerrar:

Esto suele pasar porque en el arranque coinciden Nautilus y compiz. No es un problema grave y pasa solo de vez en cuando.

La solución pasa por reiniciar las X y una forma de hacerlo muy fácil es con “Compiz Fusion Icon”:

Instalamos el paquete fusion-icon con:

sudo apt-get install fusion-icon

Abrir “Compiz Fusion Icon”.

Al abrir el programa no se abre ninguna ventana, sino que aparecerá un icono azul con una flecha en el panel superior, a la derecha junto a la hora.

Hacemos clic derecho sobre el icono y nos aparecerán varias opciones. Las que nos interesan son:

Para reiniciar las X, seleccionamos: Reload Window Manager. (Esto reiniciará la gráfica y volverá a la normalidad).

Para activar Compiz, seleccionamos: Select Window Manager > Compiz.

Cualquiera de las dos debe de solucionarlo, pero en este caso aconsejo simplemente reiniciar las X.

Clonezilla – Clona tus discos duros con el live cd

CloneZilla es un software para clonar discos duros y es GRATIS!.

¿Alguna vez te has encontrado un caso en el que has actualizado tu equipo, y descubres que el software no es compatible con el nuevo hardware? Bueno, para superar esta dificultad lo tenemos bastante fácil gracias a Clonezilla. Es un sistema para realizar copias/imágenes de tu disco duro y clonarlo, esta diseñado por Steven Shiau, uno de los desarrolladores de la aplicación. Es un pequeño “Live CD/DVD” (arrancable) GNU/Linux  para computadoras basadas en x86/amd64 (x86-64).

Este software de clonación es muy fácil de usar. Está compuesto de una gran cantidad de drivers/controladores, y la flexible naturaleza del sistema operativo Linux. La herramienta como digo es flexible y potente, posee una interfaz sencilla con algunas de funcionamiento interno muy eficientes que hacen que te sea fácil trabajar incluso en máquinas con menos de 256 MB de memoria RAM.

clonezilla-live-1

La naturaleza paso a paso del asistente del programa hace que sea muy fácil para cualquier usuario aprender a utilizar el programa. Cada paso se presenta como una simple pregunta, junto con algunas sugerencias y algunas opciones útiles.
Existen dos tipos de Clonezilla disponibles.

Clonezilla Live: Esta edición permite a un usuario usar el CD/DVD o unidades flash USB para arrancar y ejecutar Clonezilla (unicast). Esta preparado para realizar copia de seguridad y restaurar la máquina. Los datos clonados utilizados en esta edición se pueden guardar como un archivo de imagen o, una copia.

Clonezilla SE (Server Edition) Se utiliza para clonar varios equipos simultáneamente a través de una red, puede clonar 40 computadoras más, al mismo tiempo. Esta edición ofrece soporte multicast.

Cómo instalar Clonezilla Live

 

Descarga la versión pre-build de Clonezilla Live y instala

Descarga el archivo ISO para CD/DVD: Graba el archivo ISO en un CD/DVD utilizando un programa adecuado para tu Windows y selecciona la opción “Grabar imagen”.

Unidad flash USB/USB de disco duro: Algunas computadoras (Dell Inspiron Mini, Acer Aspire One, Asus Eee) no tiene CD/DVD. En tal caso, lo mejor es usar una unidad flash USB/USB disco duro para arrancar Clonezilla Live. Una vez terminado, se puede utilizar el cargador de arranque de Clonezilla Live para arrancar el sistema en la máquina que deseas clonar.

Requisitos mínimos del sistema

  • Procesador x86 o x86-64.
  • 196 MB de memoria de sistema (RAM).
  • Dispositivo de CD de arranque/DVD, puerto USB.
  • Clonezilla Live ahora incluye muchas mejoras y diversas correcciones de errores y es capaz de trabajar en las dos ediciones de computadoras 32 bits y 64 bits de Windows 7.

 

 

Clonar Discos Duros con el comando “dd”

Hola a todos, dada las circunstancias de un proyecto podemos clonar un disco duro completo utilizando el comando ” dd ” desde cualquier terminal de un linux….

Este comando nos permite realizar una copia de archivos, particiones, el MBR o todo el disco duro de uno sólo. Por supuesto esto también funciona con SSD, pendrives, CDs o incluso podemos intentar recuperar un DVD dañado.

Para realizar la copia usé un Lubuntu que tenía grabado en un pendrive, pero debería funcionar en cualquier Linux: Arch, Ubuntu, Mint, Debian, Fedora

Para realizar la copia de un disco duro entero y comprimido lo primero que debemos hacer es logearnos como root o ejecutar en la consola:

  1. sudo -i

Una vez seamos root tenemos que averiguar como ha reconocido Linux nuestros dispositivos con:

  1. fdisk -l

En mi caso el origen es un SSD de 128 gigas (/dev/sda)  y el destino un disco duro USB (/dev/sdb), así que el SSD al querer la copia completa no lo voy a montar y el disco USB lo monto en /mnt/disco_usb

  1. mkdir /mnt/disco_usb
  2. mount /dev/sdb1 /mnt/disco_usb

Puede que ya lo tengas montado. Puedes usar perfectamente ese punto de montaje, pero debes tener en cuenta de cambiar las rutas en los siguientes comandos. Para desmontarlo se hace con:

  1. umount /dev/sdb1

Ya tenemos todo listo, así que procedemos a crear una imagen comprimida usaremos el siguiente comando:

  1. dd if=/dev/sda | gzip > /mnt/disco_usb/copia_SSD.img.gz

Esto tardará un buen rato dependiendo del tamaño del disco y la potencia de nuestro ordenador. Si es un portátil te aconsejo ponerlo sobre una superficie que ventile bien y conectarle el cargador. Recuerda también de estar atento de que no tenga algún ahorro de energía que haga que el ordenador se suspenda, ya que esto interrumpiría el proceso.

Y eso es todo. Les dejo una copia de otros usos del comando dd que he encontrado en esta página:

Restaurar particion:

  1. dd if=partitionimage.dd of=/dev/hda1

Clonar MBR:

  1. dd if=/dev/hda of=mbr count=1 bs=512

Restaurar imagen del MBR:

  1. dd if=mbr of=/dev/hda

Intentar recuperar un DVD dañado:

  1. dd if=/dev/cdrom of=/tmp/dvd_recuperado.iso conv=noerror,sync

CDPATH y ALIAS en Unix. Tus directorios en un sólo paso.

CDPATH es una variable de entorno que funciona de forma similar a como lo hace la variable PATH para los ejecutables.

Para ejemplificar supongamos que nos encontramos en el directorio /etc y que en nuestro directorio home (/home/usuario) tenemos una carpeta documentos a la que queremos movernos. Podríamos escribir

cd /home/zootropo/documentos

Pero si el directorio /home/zootropo estuviera en CDPATH podríamos movernos a documentos escribiendo simplemente

cd documentos

como si la carpeta documentos se encontrara en el directorio actual. Mucho mas cómodo y rápido.

Para modificar el valor de CDPATH edita el archivo .bashrc

gedit .bashrc

y añade una línea del estilo

export CDPATH=.:/home/zootropo

Observa que los distintos directorios que queramos añadir han de separarse con dos puntos (:) y que el primer valor es ., que es la forma de referirse al directorio actual en Unix, de forma que no deje de buscarse en los directorios relativos al actual.

(más…)

Comandos para Administradores de Servidores Parte 1.

Hola a los TI que visitan este espacio, seguramente estás buscando ciertos comandos para facilitarte un poco la investigación del hardware de tu servidor ya que tu te encuentras en otro lugar y tu SITE en otro edificio. Primeramente van a logearse por ssh y posterior tenemos los siguientes comandos.

Cuando uno se dedica a la administración de servidores, es común que utilicemos muchos comandos e instrucciones, y mas común es que nos olvidemos de como funcionan o mejor dicho, de cual es el que necesitamos para determinada tarea.
Algunos comandos básicos y útiles para los administradores de sistemas Linux/Unix/BSD.

1. Sistema
(Hardware, Statistics, Users, Limits, Runlevels, root password, Compiel Kernel)

Running kernel and system information

# uname -a # Obtiene la version de kernel
# lsb_release -a # informacion completa de cualquier distribucion BSD
# cat /etc/SuSE-release # Obtener la version de SuSE
# cat /etc/version # Obtener la version de Slackware
# cat /etc/debian_version # Obtener la version de Debian

Utiliza /etc/DISTR-release con DISTR= lsb (Ubuntu), redhat, gentoo, mandrake, sun (solaris) y demas, tambien checa /etc/issue

# uptime # muestra el tiempo que ha estado encendido tu sistema
# hostname # Nombre del host
# hostname -i # Muestra la direccion IP del sistema. (Linux solamente)
# man hier # Descripcion de jeraquias del sistema de archivos
# last reboot # Muestra historial de reinicios del sistema

1.1 Informacion del Hardware
Hardware detectado por el kernel

# dmesg # Hardware detectado y mensajes de inicio
# lsdev # informacion del hardware installado
# dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8 # Lee el BIOS

Linux

# cat /proc/cpuinfo # o del CPU
# cat /proc/meminfo # Información de la memoria
# grep MemTotal /proc/meminfo # Despliega la memoria física
# watch -n1 ‘cat /proc/interrupts’ # Ver interrupciones en cambio continuo
# free -m # Memoria utilizada y libre (-m muestra en MB)
# cat /proc/devices # Dispositivos configurados
# lspci -tv # Muestra dispositivos PCI
# lsusb -tv # Muestra dispositivos USB
# lshal # Muestra una lista de todos los dispositivos con sus proiedades
# dmidecode # Muestra DMI/SMBIOS: información hw del BIOS

FreeBSD

# sysctl hw.model # Modelo del CPU
# sysctl hw # Devuelve bastante información del hardware
# sysctl vm # Use de la memoria
# dmesg | grep “real mem” # Hardware memory
# sysctl -a | grep mem # Kernel memory información y configuración
# sysctl dev # dispositivos configurados
# pciconf -l -cv # Muestra los dispositivos PCI
# usbdevs -v # Muestra los dispositivos USB
# atacontrol list # Muestra los dispositivos ATA
# camcontrol devlist -v # Muestra los dispositivos SCSI

 

1.2 Carga, estadísticas y mensajes
Los siguientes comandos son útiles para averiguar lo que está sucediendo en el sistema.

# top # despliega y actualiza los procesos del CPU
# mpstat 1 # despliega estadísticas relacionadas a procesadores
# vmstat 2 # estadísticas de memoria virtual
# iostat 2 # despliega estadísticas de E/S (intervalo de 2 seg)
# systat -vmstat 1 # BSD sumario de estadísticas del sistema (intervalos de 1 s)
# systat -tcp 1 # BSD conexiones tcp (intenta con -ip)
# systat -netstat 1 # BSD conecciónes de red activas
# systat -ifstat 1 # BSD trafico de red a través de las interfaces activas
# systat -iostat 1 # BSD rendimiento del Disco y del CPU
# tail -n 500 /var/log/messages # Últimos 500 mensajes del kernel/syslog
# tail /var/log/warn # Mensajes de advertencia del sistema, ver syslog.conf

1.3 Usuarios

# id # Muestra id de usuarios activos, grupo y login
# last # muestra los últimos logins al sistema
# who # Quién esta activo en el sistema
# groupadd admin # Agrega el grupo “admin” y el usuario colin (Linux/Solaris)
# useradd -c “Colin Barschel” -g admin -m colin
# usermod -a -G # Agregar usuario existente al grupo (Debian)
# groupmod -A # Agregar usuario existente al grupo (SuSE)
# userdel colin # Borrar usuario colin (Linux/Solaris)
# adduser joe # FreeBSD agrega usuario joe (interactivo)
# rmuser joe # FreeBSD borrar usuario joe (interactivo)
# pw groupadd admin # Usa pw on FreeBSD
# pw groupmod admin -m newmember # Agregar nuevo miembro al grupo
# pw useradd colin -c “Colin Barschel” -g admin -m -s /bin/tcsh
# pw userdel colin; pw groupdel admin

Los passwords son encriptados y almacenados en /etc/shadow para Linux y solaris, para FreeBSD en /etc/master.passwd Si master.passwd es modificado manualmente (borrando un password) , ejecuta # pwd_mkdb -p master.passwd para reconstruir la base de datos.

Para prevenir temporalmente el acceso al sistema (para todos los usuarios excepto root) utiliza nologin. Se desplegara el mensaje en nologin (puede no funfionar con ssh pre-shared keys).

# echo “Sorry no login now” > /etc/nologin # (Linux)
# echo “Sorry no login now” > /var/run/nologin # (FreeBSD)

1.4 Limites
Algunas aplicaciones requieren limites muy altos al abrir archivos y sockets (proxys, web servers, bases de datos), Los limites por defeto usualmente son muy bajos.

Linux
Para shell/script
Los limites del shell son gobernados por ulimit, el estado es checado con ulimit -a. Por ejemplo, para cambiar el límite de archivos abiertos de 1024 a 10240 ejecuta:

# ulimit -n 10240 # This is only valid within the shell

El commando ulimit puede ser utilizado en un script para cambiar los limites solo dentro del script.

Para usuarios/procesos
Usuarios activos y aplicaciones pueden ser configurados en /etc/security/limits.conf. Por ejemplo:

# cat /etc/security/limits.conf
* hard nproc 250 # Limit user processes
asterisk hard nofile 409600 # Limit application open files

Sistema
Los limites del kernel se establecen con sysctl. Los limites permanentes se establecen en /etc/sysctl.conf.

# sysctl -a # Ver todos los limites del sistema
# sysctl fs.file-max # Ver limite max. de archivos abiertos
# sysctl fs.file-max=102400 # Cambiar max. de archivos abiertos
# echo “1024 50000” > /proc/sys/net/ipv4/ip_local_port_range # rango de puerto
# cat /etc/sysctl.conf
fs.file-max=102400 # Entrada permanente en sysctl.conf
# cat /proc/sys/fs/file-nr # Cuantos descriptores de archivos hay en uso

FreeBSD
Para shell/script
Utilizar el comando limits en csh o tcsh o como en Linux, utilizar ulimit en sh o bash shell.

Para usuarios/procesos
Los limites por default al acceder están configurados en /etc/login.conf. Un valor ilimitado sigue siendo limitado por el valor máximo del sistema.

Sistema
Límites del kernel

# sysctl -a # Ver todos los limites del sistema
# sysctl kern.maxfiles=XXXX # número máximo de descriptores de archivos
kern.ipc.nmbclusters=32768 # Entrada permanente en /etc/sysctl.conf
kern.maxfiles=65536 # Valores típicos para Squid
kern.maxfilesperproc=32768
kern.ipc.somaxconn=8192 # Cola TCP. Mejor para apache/sendmail
# sysctl kern.openfiles # cuantos descriptores de archivos hay en uso
# sysctl kern.ipc.numopensockets # Cuantos sockets abiertos hay en uso
# sysctl -w net.inet.ip.portrange.last=50000 # Default es 1024-5000
# netstat -m # estadísticas del bufer de memoria de red

Para detalles, vea FreeBSD handbook Chapter 11

Solaris
Los valores siguientes en /etc/system, incrementarán el máximo de descriptores de archivo por procesos:

set rlim_fd_max = 4096 # Hard limit en descriptores de archivo para un solo proc
set rlim_fd_cur = 1024 # Soft limit en descriptores de archivo para un solo proc

1.5 Limites
Linux
Una vez que inicio el sistema, el kernel ejecuta init que a su vez llama a rc el cual carga todos los scripts pertenecientes a un runlevel. Los scripts son almacenados en /etc/init.d y ligados a /etc/rc.d/rcN.d donde N es el número de runlevel.
El runlevel por defecto esta configurado en /etc/inittab que usualmente es 3 o 5:

# grep default: /etc/inittab
id:3:initdefault:

El runlevel actual (ver lista siguiente) puede ser cambiado con init. Por ejemplo para pasar de runlevel 3 a 5:

# init 5 # Enters runlevel 5
0 Shutdown and halt
1 Single-User mode (also S)
2 Multi-user without network
3 Multi-user with network
5 Multi-user with X
6 Reboot

Utiliza chkconfig para configurar los programas que serán ejecutados al iniciar un runlevel.

# chkconfig –list # Lista todos los scripts init
# chkconfig –list sshd # Reporta el estado de sshd
# chkconfig sshd –level 35 on # Configura sshd para los niveles 3 y 5
# chkconfig sshd off # Deshabilita sshd para todos los runlevels

Debian y todas las distribuciones basadas en el, utilizan update-rc.d para administrar los scripts de runlevels. Por defecto se inicia en 2, 3, 4 y 5 y apagar en 0, 1 y 6.

# update-rc.d sshd defaults # Activa sshd con el runlevel por default
# update-rc.d sshd start 20 2 3 4 5 . stop 20 0 1 6 . # Con argumentos específicos
# update-rc.d -f sshd remove # Dashabilita sshd para todos los runlevels
# shutdown -h now (or # poweroff)# Shutdown and halt the system

FreeBSD
El enfoque de arranque BSD es diferente del SysV, no existen los niveles de ejecución (runlevels). El estado final de inicio (single user, con o sin X) es configurado en /etc/ttys. Todos los scripts del Sistema Operativo (SO) se localizan en /etc/rc.d/ y en /usr/local/etc/rc.d/ para aplicaciones de terceros. La activación de los servicios es configurada en /etc/rc.conf y /etc/rc.conf.local. El comportamiento predeterminado está configurado en /etc/defaults/rc.conf. Los scripts responden al menos a start | stop | status.

# /etc/rc.d/sshd status
sshd is running as pid 552.
# shutdown now # Go into single-user mode
# exit # Go back to multi-user mode
# shutdown -p now # Shutdown and halt the system
# shutdown -r now # Reboot

El proceso init también se puede utilizar para llegar a uno de los siguientes estados nivel. Por ejemplo # init 6 para reiniciar.

0 Halt and turn the power off (signal USR2)
1 Go to single-user mode (signal TERM)
6 Reboot the machine (signal INT)
c Block further logins (signal TSTP)
q Rescan the ttys(5) file (signal HUP)

1.6 Reset al pasword de root
Linux método 1
En el boot loader (lilo o grub), entre la siguiente opción de inicio:

init=/bin/sh

El kernel montara la partición raiz e init iniciara el bourne shell en vez de rc y un runlevel. Utilice el comando passwd en el prompt del sistema paracambiar el password y después reinicie. Olvídese del modo single user (usuario unico) a menos que requiera cambiar el password.
Si después de iniciar, la partición raíz es montada como solo lectura, remontela con rw

# mount -o remount,rw /
# passwd # or delete the root password (/etc/shadow)
# sync; mount -o remount,ro / # sync before to remount read only
# reboot

FreeBSD método 1
En FreeBSD, iniciar en modo single user, remontar la partición root / como rw y utilice passwd. Usted puede seleccionar el modo de single user en el menú de inicio (opcion 4) el cual es desplegado por 10 segundos al iniciar. El modo single user debe darle un shell como root en la partición /

# mount -u /; mount -a # montara / rw
# passwd
# reboot

Linux, FreeBSD y Unix metodo 2
Otros Unix puede que no le permitan hacerlo con el simple truco de init. La solución es montar la partición raíz de algún otro sistema operativo (como un CD de rescate) y cambiar la contraseña en el disco.

Inicie con un live CD o CD de instalacion in modo rescate el cual le dará un shell.
Localice la partición raíz con fdisk p.e. fdisk /dev/sda
Montela y utilice chroot:

# mount -o rw /dev/ad4s3a /mnt
# chroot /mnt # chroot into /mnt
# passwd
# reboot

1.7 Módulos del kernel
Linux

# lsmod # Lista todos los módulos cargados en el kernel
# modprobe isdn # cargar un modulo (aquí isdn)
FreeBSD

# kldstat # Lista todos los módulos cargados en el kernel
# kldload crypto # Cargar un modulo (aquí crypto)

1.8 Compilar el kernel
Linux

# cd /usr/src/linux
# make mrproper # Limpia todo, incluyendo archivos de configuración
# make oldconfig # Reutilizar el viejo .config si existe
# make menuconfig # o xconfig (Qt) o gconfig (GTK)
# make # Crear una imagen del kernel
# make modules # Compilar módulos
# make modules_install # Instalar módulos
# make install # Instalar el kernel
# reboot

FreeBSD
Opcionalmente actualizar el árbol de código fuente (en /usr/src) con csup (a partir de FreeBSD 6.2 o posterior):

# csup

Se puede utilizar el siguiente supfile como ejemplo:

*default host=cvsup5.FreeBSD.org # www.freebsd.org/handbook/cvsup.html#CVSUP-MIRRORS
*default prefix=/usr
*default base=/var/db
*default release=cvs delete tag=RELENG_7
src-all

Para modificar y reconstruir el kernel, copie el archivo de configuración genérico en uno nuevo y editelo a sus necesidades (también puede editar el archivo GENERIC directamente). Para reiniciar la construción despues de una interrupción, agregue la opción NO_CLEAN=YES al comando make a fin de evitar se limpien los objetos ya construidos.

# cd /usr/src/sys/i386/conf/
# cp GENERIC MYKERNEL
# cd /usr/src
# make buildkernel KERNCONF=MYKERNEL
# make installkernel KERNCONF=MYKERNEL

Para reconstruir el SO completamente:

# make buildworld # Construye el SO completo pero no el kernel
# make buildkernel # Utilice KERNCONF como en el caso anterior si procede
# make installkernel
# reboot
# mergemaster -p # Compara solo los archivos sabemos son escenciales
# make installworld
# mergemaster -i -U # Actualizacón de toda la configuración y otros archivos
# reboot

Para cambios pequeños en la fuente puede utilizar NO_CLEAN=yes a fin de evitar la reconstrucción de todo el árbol. Sin embargo, utilícelo con cuidado.

# make buildworld NO_CLEAN=yes # No borrar los objetos anteriores
# make buildkernel KERNCONF=MYKERNEL NO_CLEAN=yes

Hasta la próxima.

 

Fuente: UnixToolBox

Especificaciones HTML5

El día de hoy el Consorcio de la Word Wide Web anunció que las especificaciones de HTML5, así como Canvas 2D están terminadas, lo que no significa que el estándar esté completo, si no que no se agregará ninguna característica más a él.

El siguiente paso para la finalización del estandar HTML5, que está prevista para el 2014, es el de mejorar la interoperabilidad y el rendimiento.

Jeff Jaffe, CEO de W3C comentó:

A partir de hoy, las empresas saben que pueden confiar en HTML5 por los próximos años, y que sus clientes lo demandarán

HTML5 es la promesa y la piedra angular de la plataforma web abierta, un lenguaje universal que entre otras cosas pretende cambiar el uso de aplicaciones nativas por el uso de estándares webs abiertos con capacidad de accesar a las funcionalidades de diferentes dispositivos, así como estándares de video y animación, entre otros.

Fuente | W3C

 

Diferencias SEO, CEO.

Les dejo este pequeño video para que puedan ver las diferencias, además de que es muy bueno 🙂

 

Un mundo sin Linux.

logo-FreeBSD-full-thumb

Si Linux no hubiera conquistado el mundo, nosotros estaríamos ejecutando FreeBSD, inclusive en nuestras pc´s de escritorio.

El especular con las posibilidades en una historia alternativa siempre es un ejercicio aleatorio. El entrelazamiento de una miriada de factores y acciones, mezcladas juntas en un ecuación historica infinitamente compleja que determina el futuro, lleva a que cualquier intento de eliminar cierta variable sea escencialmente imposible. De cualquier forma, en algunas ocasiones puede ser educativo e iluminador el intentar hacer agujeros en los bordes de la historia reciente, para ver que hubiera resultar si…..?  También es divertido y potencialmente puede estar lleno de sorpresas.

 

En este caso: ¿Cómo se vería el mundo si  Linus Torvalds nunca hubiera subido su kernel Linux  v0.0.1 Linux kernel en un directorio público en 1991?, ¿Qué hubiera pasado si el mundo nunca hubiera conocido Linux?

Si echamos una mirada retrospectiva al mundo de la computación en 1991, encontrarémos que estaba conformado en su totalidad por compañías grandes y atrincheradas, cobrando cantidades asombrosas de dinero por sus productos. Sin importar que se corriera en mainframes IBM o AS/400s, SunOS, HP-UX, AIX, o incluso VMS, Se estaría trabajando en sistemas operativos extremadamente caros en hardware extremadamente caro.

Todos los datos eran grandes datos, y no había mucho espacio en  el nivel medio o bajo en la computación basada en servidores. En ese entonces se tenía un monton de PCs, corriendo con aplicaciones DOS, generalmente sin red, o se tenía una caja monolítica en un cuarto trasero que costaba mucho dinero. La computación era una torre de marfil.

Pero cuando apareció Linux, la mentalidad estaba cambiando, especialmente en los departamentos de ciencias de la computación de universidades y colegios. Los académicos querían tener la capacidad de trabajar en sistemas que no requirieran toneladas de dinero en licencias. Eso alentó el desarrollo de Minix, un sistema operativo educativo diseñado para su uso en universidades (Por el Profesor Andrew Tannbaum), y un Torvalds motivado inicialmente para empezar a codificar el kernel Linux. Eliminemos a Torvalds y Linux del cuadro, y asumamos que todas las demas variables permanecen iguales (lo cual es una gran asunción), El sistema Minix continua como una herramienta educativa y nada mas, y el esquema monolítico continúa gobernando el mundo de la computación.

Pero … un momento. Unos pocos años despues, un sistema operativo conocido como FreeBSD se hizo disponible para descargar por FTP. Su popularidad creció rápido, ya que muchos usuarios familiarizados con BSD descargaron FreeBSD por su cuenta y se dedicaron a mejorarlo. Posteriormente apareció la llamada demanda legal que marcó el inicio de BSD como un sistema de código abierto y que la licenciaBSD permitiera el uso del código sin costo. FreeBSD fué reconstruido rápidamente para incorporar el nuevo código liberado, y se convirtió verdaderamente en un FreeBSD 2.0 libre en Enero de 1995.

Sin Linux en la mezcla, creo que es seguro decir que miles y miles de hackers de código alrededor del mundo habrían encontrado FreeBSD, de la misma manera que encontraron Linux. El deseo y las habilidades estaban presentes, y el licenciamiento en FreeBSD hizo extremadamente sencillo para cualquiera brincar en el juego. En lugar de todas esas colaboraciones impulsando a Linux adelante, estos esfuerzos se habrían enfocado en FreeBSD. Esto habría resultado en un desarrollo más rápido en FreeBSD y eventualmente pudo haber llevado a un número de trabajos derivados que encontrarían tracción en diversas industrias.

Por ejemplo, antes de que Linux llegara, Los sistemas BSD eran toda la fuerza en la que confiaban los pequeños ISP (Proveedores de Servicio de Internet) en los primeros días de Internet. BSDi era un favorito, etiquetado como  “El super servidor de Internet” y venía equipado con un buen número de herramientas enfocadas específicamente en funcionalidad ISP. BSD tiene una historia larga y bien establecida con una herencia UNIX que no tiene rival así como un licenciamineto atractivo. En este punto, Linux apenas se encontraba en la versión 1.1; Creo que es claro que, sí Linux hubíera fallado en prosperar, FreeBSD hubiera llenado ese vacío hoy día.

Esta historia alterna hasta el momento ocurre antes de la liberación de  Windows 95 y Windows NT, momento clave en computación. Linux no tenía mucho impacto en ninguno de esos productos o sus sucesores por algunos años. Cuando Linux emergió de repente como una amenaza mayor para Windows, esa amenaza fue ignorada inicialmente por  Redmond.

FreeBSD había entrado bajo los reflectores –y con la labor de voluntariado masivo que alimentó a Linux — es muy probable que FreeBSD se hubiera elevado para interferir con los sistemas operativos de escritorio y servidor de Microsoft, mandando por lo tanto a Redmon a un camino diferente. Después de todo, Linux fue “fácil” de descartar como un proyecto escolar iniciado por un muchacho apenas hace unos pocos años, mientas que el linaje de FreeBSD era extremadamente bien conocido y confiable.

Si FreeBSD hubiera ganado tanto momentum y la adopción que disfruto Linux a mediados de lo 90s, probablemente hubieramos visto cambios estratégicos mayores de Microsoft mucho antes de lo que los vimos. ¿Quién puede decir hasta dónde nos hubiera llevado esto? De cualquier forma, Estoy muy seguro de que FreeBSD hubiera podido ser el sistema operativo más avanzado hoy día, si Linux no se hubiera comido esa porción tan grande del pastel.

¿Qué paso después de eso, probablemente hubiera seguido el mismo camino. En lugar de que Apache corriera en todos esos sitios web en equipos Linux, estaría corriendo en FreeBSD. El boom tecnológico pudo haber ocurrido en la misma forma, con dispositivos altamente computarizados para consumidores que habrían invadido nuestras vidas tal como lo hacen ahora. Después de todo, Mac OS X es un derivado de BSD, como iOS. Y es tan sencillo instalar y configurar FreeBSD en una PC como lo es con Linux.

Si el mundo no hubiera contribuido tanto en construir Linux desde cero en  los 90s, FreeBSD podría estar más avanzado que cualquier sistema operativo actual. Muchas ruedas se reinventaron durante los años de formación de Linux, y tal vez sin la necesidad de retomar de nuevo esos pasos,  FreeBSD habría adelantado su marcha aun más.

Pero como se dijo al principio, especular con las posibilidades en una historia alternativa siempre es algo aleatorio, y un mundo sin Linux hubiera sido muy similar al actual. Después de considerar todo lo anterior, Yo siempre espero lo mejor y crep que las cosas hubieran salido tal como lo son ahora. Más opciones generalmente son buenas, y es evidente que Linux y FreeBSD han tomado caminos divergentes para lograr los mismos objetivos. Y yo encantado usaré ámbos.

Nos leeremos en el siguiente artículo.

FreeBSD rulez!

Fuente.

 

EDITOR Vi Unix

TECLADO VI EN PDF. CLICK AQUÍ.

vi

 

Click sobre la imagen para agrandar.

Editor vi.

  • Uso básico de vi
  • Modos de vi
  • Guía de Supervivencia
  • Uso avanzado de vi
  • Modo Comando
  • Modo Texto
  • Modo “ex” o última línea
  • Tipos de Terminal
  • Preguntas y Ejercicios
  • Bibliografía y Referencias
  • Uso básico de vi.

El editor vi es un editor de texto de pantalla completa que maneja en memoria el texto entero de un archivo. Es el editor clásico de UNIX; está en todas las versiones. Puede usarse en cualquier tipo de terminal con un mínimo de teclas; esto lo hace difícil de usar hasta que uno se acostumbra.

 

Existe un editor vi ampliado llamado vim que contiene facilidades adicionales, así como diversas versiones del vi original. En todos los casos, el conjunto de comandos básicos es el mismo.

 

Existen en UNIX otros editores más potentes y versátiles, como emacs, que provee un ambiente de trabajo completo; también versiones fáciles de manejar como jove o pico, o aún mínimas e inmediatas como ae. En ambiente X-Windows hay muchos editores amigables, fáciles de usar y con múltiples capacidades. No obstante, vi está en todos los UNIX, requiere pocos recursos, se usa mucho en administración, para programar y en situaciones de emergencia. En casos de roturas de discos, corrupción de sistemas de archivos, errores en el arranque y otras catástrofes, puede ser el único editor disponible. Como la mayoría de las configuraciones en UNIX se manejan editando archivos, disponer de esta capacidad es esencial en la administración de un sistema.

Modos de vi.

Existen tres modos o estados en vi:

 

modo comando: las teclas ejecutan acciones que permiten desplazar el cursor, recorrer el archivo, ejecutar comandos de manejo del texto y salir del editor. Es el modo inicial de vi.

modo texto o modo inserción: las teclas ingresan caracteres en el texto.

modo última línea o ex: las teclas se usan para escribir comandos en la última línea al final de la pantalla.

 

Guía de supervivencia.

Con unos pocos comandos básicos se puede ya trabajar en vi editando y salvando un texto:

 

vi arch1 arranca en modo comando editando el archivo arch1

i inserta texto a la izquierda del cursor

a agrega texto a la derecha del cursor

ESC vuelve a modo comando

x borra el caracter bajo el cursor

dd borra una línea

h o flecha izquierda mueve el cursor un caracter a la izquierda

j o flecha abajo mueve el cursor una línea hacia abajo

k o flecha arriba mueve el cursor una línea hacia arriba

l o flecha derecha mueve el cursor un caracter a la derecha

:w salva el archivo (graba en disco)

:q sale del editor (debe salvarse primero)

 

Uso avanzado de vi.

Invocación de vi.

vi

abre la ventana de edición sin abrir ningún archivo.

vi arch1

edita el archivo arch1 si existe; si no, lo crea.

vi arch1 arch2

edita sucesivamente los archivos arch1 y luego arch2.

vi +45 arch1

edita el archivo arch1 posicionando el cursor en la línea 45.

vi +$ arch1

edita el archivo arch1 posicionando el cursor al final del archivo.

vi +/Habia arch1

edita el archivo arch1 en la primera ocurrencia de la palabra “Habia”.

Cambio de modo.

comando a texto:

teclas de inserción i I a A o O, o

tecla de sobreescritura R.

texto a comando:

tecla ESC.

comando a última línea:

teclas : / ?

última línea a comando:

tecla ENTER (al finalizar el comando), o

tecla ESC (interrumpe el comando).

 

Confundir un modo con otro la de mayor dificultades para el manejo de vi. Puede activarse un indicador de modo escribiendo

:set showmode

Esto hace aparecer una leyenda que indica si se está en modo comando o inserción.

Modo Comando.

El editor vi, al igual que todo UNIX, diferencia mayúsculas y minúsculas. Confundir un comando en minúscula digitando uno en mayúscula suele tener consecuencias catastróficas. Se aconseja evitar sistemáticamente el uso de la traba de mayúsculas; mantener el teclado en minúsculas.

Números multiplicadores.

Muchos comandos aceptan un número multiplicador antes del comando. La acción es idéntica a invocar el comando tantas veces como indica el multiplicador. Ejemplos:

10j

en modo comando avanza 10 líneas;

5Y

copia 5 líneas y las retiene para luego pegar.

Ejemplos de manejo.

Los siguientes ejemplos de manejo asumen que el editor se encuentra en modo comando.

 

flechas mueven el cursor (si el terminal lo permite)

h j k l mueven el cursor (igual que las flechas)

itextoESC inserta la palabra “texto” y vuelve a comando

x borra el caracter sobre el cursor

dw borra una palabra

dd borra una línea

3dd borra las 3 líneas siguientes

u deshace último cambio

ZZ graba cambios y sale de vi

:q!ENTER sale de vi sin grabar cambios

/expresiónENTER busca la expresión indicada

3Y copia 3 líneas para luego pegar

:6r arch3 inserta debajo de la líne 6 el archivo arch3

 

Movimiento del cursor:

 

flechas mover en distintas direcciones

h o BS una posición hacia la izquierda

l o SP una posición hacia la derecha

k o – una línea hacia arriba

j o + una línea hacia abajo

$ fin de línea

0 principio de línea

1G comienzo del archivo

G fin del archivo

18G línea número 18

Ctrl-G mostrar número de línea actual

w comienzo de la palabra siguiente

e fin de la palabra siguiente

E fin de la palabra siguiente antes de espacio

b principio de la palabra anterior

^ primera palabra de la línea

% hasta el paréntesis que aparea

H parte superior de la pantalla

L parte inferior de la pantalla

M al medio de la pantalla

23| cursor a la columna 23

 

Control de pantalla.

 

Ctrl-f una pantalla adelante

Ctrl-b una pantalla atrás

Ctrl-l redibujar la pantalla

Ctrl-d media pantalla adelante

Ctrl-u media pantalla atrás

 

Ingreso en modo texto:

 

i insertar antes del cursor

I insertar al principio de la línea

a insertar después del cursor

A insertar al final de la línea

o abrir línea debajo de la actual

O abrir línea encima de la actual

R sobreescribir (cambiar) texto

 

Borrar

 

x borrar caracter bajo el cursor

dd borrar línea, queda guardada

D borrar desde cursor a fin de línea

dw borrar desde cursor a fin de palabra

d$ borrar desde cursor a fin de línea

d0 borrar desde cursor a principio de línea

 

Copiar y pegar

 

Y o yy copiar línea

P pegar antes del cursor

p pegar después del cursor

yw copiar palabra

y$ copiar de cursor a fin de línea

“ayy o “aY copiar línea en buffer llamado ‘a’

‘a’ “ayw copiar palabra en buffer llamado

“ap pegar desde buffer ‘a’, a la derecha del cursor

“aP pegar desde buffer ‘a’, a la izquierda del cursor

“bdd borrar línea y guardar en buffer ‘b’

“bdw borrar palabra y guardar en buffer ‘b’

 

Búsqueda

 

/str buscar hacia adelante cadena de caracteres ‘str’

?str buscar hacia atrás cadena de caracteres ‘str’

n repetir último comando / o ?

N repetir último comando / o ? para el otro lado

fc buscar el siguiente caracter ‘c’ en la línea

Fc buscar el anterior caracter ‘c’ en la línea

tc ir al caracter anterior al siguiente ‘c’

Tc ir al caracter posterior al precedente ‘c’

; repetir el último comando f, F, t, o T

, último comando f, F, t, o T para el otro lado

 

La cadena a buscar en / o ? puede ser una expresión regular.

La acción de f, F, t y T alcanza sólo a la línea actual; si el caracter buscado no está en esa línea el cursor no se mueve.

Reemplazo

Estos comandos admiten multiplicadores: un número delante del comando. Al dar un comando de reemplazo el editor coloca un símbolo $ en donde termina el pedido de reemplazo. El usuario escribe normalmente, sobreescribiendo, hasta donde necesite, y sale con ESC. Estos comandos admiten multiplicadores: 3cw abre un área de reemplazo para 3 palabras.

 

c reemplaza caracteres

cw reemplaza palabras

C o c$ reemplaza hasta el fin de línea

c0 reemplaza desde el comienzo de línea

 

Otros

 

J unir dos líneas en una

ZZ grabar cambios si los hubo y salir

u deshacer última acción

U deshacer todos los cambios en una línea

 

Modo Texto.

 

BS borrar caracter hacia la izquierda

ESC pasar a modo comando

 

Modo ex o última línea.

 

:q salir si no hubo cambios

:q! salir sin guardar cambios

:w guardar cambios

:w arch1 guardar cambios en archivo arch1

:wq guardar cambios y salir

:r arch2 insertar un archivo

:e arch2 editar un nuevo archivo

:e! arch2 idem sin salvar anterior

:r! comando insertar salida de comando

:shell salir al shell (vuelve con exit)

 

Mover

 

:1 mueve a línea 1

:15 mueve a línea 15

:$ mueve a última línea

 

Opciones

 

:set cambio de opciones

:set nu mostrar números de línea

:set nonu no mostrar números de línea

:set showmode mostrar modo actual de vi

:set noshowmode no mostrar modo actual de vi

 

Reemplazo

La sintaxis del comando de búsqueda y reemplazo es la siguiente:

:<desde>,<hasta>s/<buscar>/<reemplazar>/g

<desde>, <hasta> indican líneas en el archivo; <buscar> y <reemplazar> son cadenas de caracteres o expresiones regulares; / es un separador, s (sustituir) y g (global) son letras de comando para el manejo de expresiones regulares.

 

:1,$s/Martes/martes/g

cambia Martes por martes en todo el archivo.

:.,5s/ayuda/&ndo/g

cambia ayuda por ayudando desde línea actual hasta la 5a. línea.

Tipo de terminal.

vi es independiente del tipo de terminal, pero la variable de ambiente TERM debe estar fijada correctamente. Si no se conoce o no existe el tipo exacto de terminal, en la mayoría de los terminales remotos el tipo ansi da buenos resultados. Para fijar el terminal en tipo ansi, digitar

 

TERM=ansi;export TERM

 

Algunos comandos, especialmente more y a veces vi, pueden no responder bien en la terminal o el emulador que se está usando. En estos casos, puede usarse Ctrl-L para refrescar la pantalla.

 

FUENTE.