Reporting de HylaFAX

Aquí dejo un pequeño script para sacar la información de los logs del HylaFAX.

La información que saca (report) la envía por mail. Aquí dejo un extracto de la información enviada:

Ejemplo de report

En dicho report podemos ver los envíos con errores del tipo:

Busy signal detected; too many attempts to dial

Failure to train remote modem at 2400 bps or minimum speed

No carrier detected

No carrier detected; too many attempts to dial

No local dialtone; too many attempts to dial

No receiver protocol (T.30 T1 timeout)

No response to PPS repeated 3 times

RSPREC error/got DCN (sender abort)

etc…

Aquí dejo el documento para la descarga

Y aquí el código.

#!/bin/bash
echo “Haciendo limpieza”
rm -R /tmp/temporales
mkdir /tmp/temporales
cd /var/spool/hylafax/doneq/
echo “Realizando check del dia $2”
find ./ -newermt “$1 $2, $3” -ls| while read line;do export FILE=$(echo “${line}”|awk ‘{print $11}’); cp ${FILE} /tmp/temporales/; done
echo “Realizando check del dia $5”
find ./ -newermt “$4 $5, $6” -ls| while read line;do export FILE=$(echo “${line}”|awk ‘{print $11}’); cp ${FILE} /tmp/temporales/; done
export DIR_FAXES=”/tmp/temporales/”
export RUTA_FINAL=”/root/hylaing/pruebas-hylafax/ch”
export STATE_8=”/root/hylaing/pruebas-hylafax/ch/S8″
export FAXES_ERRONEOS=”/root/hylaing/pruebas-hylafax/informe_faxes_$(date +%s).txt”
echo “Realizando fichero de errores”
find ${DIR_FAXES} -name “q*” |while read file ; do
export STATE=$(grep “state:” ${file} | cut -d ‘:’ -f2 )
mkdir ${RUTA_FINAL}/S${STATE} 2>/dev/null
cp ${file} ${RUTA_FINAL}/S${STATE}/
done
echo “Fecha|identificador del fax|numero de telf-fax destino|Documento|Estado de error”>> ${FAXES_ERRONEOS}
echo “Realizando paso 2 de fichero de errores”
find ${STATE_8} -name “q*”| while read line; do
export FECHA=$(cat ${line} | grep “tts:” | cut -d ‘:’ -f2 | awk ‘{print $1}’)
FECHA=$(date -d@${FECHA})
export TELF_FAX=$(cat ${line} | grep “external:”| cut -d ‘:’ -f2 | awk ‘{print $1}’)
export STATUS=$(cat ${line} | grep “status:”| cut -d ‘:’ -f2 )
export DOC=$(cat ${line} | grep “tiff:”| cut -d ‘:’ -f4 )
export FAX=$(echo “${DOC}”| cut -d ‘/’ -f2| cut -d ‘.’ -f1|cut -d ‘c’ -f2)
echo “${FECHA}|${FAX}|${TELF_FAX}|/var/spool/hylafax/${DOC}|${STATUS}” >> ${FAXES_ERRONEOS}
done
echo “Realizando limpiaza”
rm -R ${RUTA_FINAL}/S* 2>/dev/null
echo “Comprimiendo fichero”
zip ${FAXES_ERRONEOS}.zip ${FAXES_ERRONEOS}
echo “Enviando mail”
mutt -s “Informe Faxes” -a ${FAXES_ERRONEOS}.zip mail@dominio.com < /dev/null
echo “Proceso finalizado”

Instalar y configurar proftpd

Este es un pequeño manual para la instalación y configuración básica de un proftpd, instalar el software, dar de alta usuarios, ver un poco los permisos etc… Esta instalación esta realizada en una Fedora Core 13, pero prácticamente todos los comandos son usables en una Debian (por ejemplo) Instalación de proftpd:

[root@bluehat ~]# yum install proftpd

En una Debian será apt-get install proftpd Editamos el fichero de configuración. A diferencia que la instalación de Debian, el proftpd en Fedora no pregunta por el tipo de instalación (standalone/inetd) ni otros parámetros (nombre del servidor ftp, etc..) En este caso editamos el fichero de configuración:

[root@bluehat ~]# vim /etc/proftpd.conf

En debian /etc/proftpd/proftpd.conf Revisamos los parámetros típicos/básicos de la configuración:

ServerName                      “BluHat Ftp Server”

Mi consejo es dejar en DNS lookups en off. Lo que hace la directiva es que cada vez que te conectas, mira en el DNS si tu IP/Nombre son correctos, eso hace que si no tienes configurado un dominio o DNS correctamente detectes una lentitud muy grande en las transferencias.

# Don’t do reverse DNS lookups (hangs on DNS problems)

UseReverseDNS                   off Iniciamos el proftpd

[root@bluehat ~]# /etc/init.d/proftpd start

Ahora vamos agregar un usuario. Por ejemplo ftpuser

adduser ftpuser

modificamos su contraseña:

passwd ftpuser

Una vez agregado el usuario, este tiene permisos para acceder a una shell del sistema. Modificaremos los permisos del usuario para  que no pueda acceder. Lo que hacemos es modificar su Shell poniendo /sbin/nologin en el fichero /etc/passwd Ya tenemos creado el usuario. El acceso por defecto será su home. Esto se define en el parámetro siguiente del pproftpd.conf (la opción ~)

DefaultRoot                     ~ !adm

En Debian esta opción esta deshabilitada, solo tenemos que quitar la “#” de la politica. Si vemos que al conectarnos aparece error de usuario/contraseña invalida tendremos que mirar los logs. Aun así, lo mas seguro es que la shell que le hemos definido en /etc/passwd no exista (en el caso de Debian) tendremos que editar el fichero /etc/shells  y agregar la shell

vim /etc/shells

Si queremos hacer que el usuario tenga acceso a un directorio especifico, modificamos su home (lógicamente deberemos aplicarle los permisos adecuados para poder leer/escribir en dicho directorio por ejemplo:

ftpuser:x:501:501::/directorio_web/web_de_ftpuser:/sbin/nologin

También podemos crear un enlace simbólico en un directorio de su carpeta hacia otra. En la de destino también deberá tener permisos. ln -s /var/www/ftpuser/web/    www Lo que hará sera crear una carpeta con un enlace hacia la web (en otro directorio llamado ftpuser)



Truncar archivos LDF de SQL Server

Desde hace un tiempo, tengo varias Bases de Datos en que el fichero LDF se va llenando sin parar.
Aquí dejo una sentencia para vaciar dicho fichero y dejar de tener problemas con los espacios

use @Base_de_Datos;

BACKUP LOG @Base_de_Datos WITH NO_LOG

DBCC SHRINKFILE (@Base_de_Datos_Log, 10) WITH NO_INFOMSGS

Aquí tenemos el ejemplo:

Después podemos ver la diferencia de espacio del log:

VbScript para duplex en impresora y predeterminarla

Hace tiempo que el mundo lucha por un espacio mas verde.

“Todos” reciclamos, contaminamos menos etc…

Flor

La empresa por la que trabajo en la actualizad, no es menos. Por esto, entre otros motivos, me he visto envuelto en una tarea de configurar de forma automática todos los ordenadores (hay un spool).

La solución era;

Configurar el duplex en la impresora del spool.

Eliminar la impresora del usuario

Conectar de nuevo la impresora del usuario (se establecen las configuración que hay en el spool)

Establecer la impresora predeterminada.

Para realizarlo nada mejor que un VbScript por Active Directory.

No hace nada mas que sacar un listado de las impresoras de red, las guarda en un fichero (con el nombre de red Ej: \spoolprinter1) Guardar en otro fichero la impresora predeterminada (de la misma manera, con un fichero) y  luego conectarlas todas de nuevo.

Aquí tenemos el script:

Const ForAppending = 8
Const ForReading = 1

‘ Get the local computer name.
strComputer = “.”
Dim aqui

‘ MsgBox “Printers have been mapped.” & vbCRLF & varDelText & vbCRLF & vbCRLF & “Impresoras Mapeadas”, 64, “Script Complete”
‘strComputer = “.”
‘Set objWMIService = GetObject(“winmgmts:” _
‘ & “{impersonationLevel=impersonate}!\” _
‘ & strComputer & “rootcimv2”)
‘Set colInstalledPrinters = objWMIService.ExecQuery _
‘ (“Select * from Win32_PrinterConfiguration “)
‘For Each objPrinter In colInstalledPrinters
‘ objPrinter.Duplex = False

‘Wscript.Echo “Duplex: ” & objPrinter.Duplex & objPrinter.Name
‘Next

Set oShell = CreateObject(“Wscript.Shell”)
strUserProfile = oShell.ExpandEnvironmentStrings(“%USERPROFILE%”)
Set filesys = CreateObject(“Scripting.FileSystemObject”)
dim filesys, filetxt, getname, path, demofile, demofile3, filesys3

path = filesys.GetAbsolutePathName(strUserProfile & “text.txt”)
getname = filesys.GetFileName(path)

If filesys.FileExists(path) Then
Set filesys= CreateObject(“Scripting.FileSystemObject”)
set demofile = filesys.GetFile(strUserProfile & “text.txt”)
demofile.Delete
End If

path3 = filesys.GetAbsolutePathName(strUserProfile & “text2.txt”)
getname = filesys.GetFileName(path3)
If filesys.FileExists(path3) Then

Set filesys3= CreateObject(“Scripting.FileSystemObject”)
set demofile3 = filesys3.GetFile(strUserProfile & “text2.txt”)
demofile3.Delete
End If

Set WshNetwork = CreateObject(“WScript.Network”)
Set objWMIService = GetObject(“winmgmts:{impersonationLevel=impersonate}!\” & strComputer & “rootcimv2”)
Set colInstalledPrinters = objWMIService.ExecQuery(“Select * from Win32_Printer”)
Set colItems = objWMIService.ExecQuery(“Select * from Win32_ComputerSystem”,,48)
Set WshShell = WScript.CreateObject(“WScript.Shell”)
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
filOutput = strUserProfile & “text.txt”
filOutput2 = strUserProfile & “text2.txt”

‘ Creates a text file with the listing of all network printers for the logged in user.
Set objOutputFile = objFSO.OpenTextFile (filOutput, ForAppending, True)
Set objOutputFile2 = objFSO.OpenTextFile (filOutput2, ForAppending, True)
For Each objPrinter in colInstalledPrinters
strTest = Left(objPrinter.Name, 2)
If strTest = “\” Then
If objPrinter.Name = “\Gestetner09P9CORMFP” then
‘MsgBox “AQUESTA NO” & objPrinter.Name
elseif objPrinter.Name = “\Gestetner09P9CORMFPFACT” then
‘MsgBox “AQUESTA NO” & objPrinter.Name
else
‘MsgBox objPrinter.Name
objOutputFile.WriteLine(objPrinter.Name)
WshNetwork.RemovePrinterConnection objPrinter.Name
End If

If objPrinter.Default = True Then

aqui = objPrinter.Name
objOutputFile2.WriteLine(objPrinter.Name)
‘MsgBox aqui
‘MsgBox objPrinter.Name & “DEFAULT”

End If

End If
Next
objOutputFile.Close
‘MsgBox “Backup Echo ‘” & filOutput & “‘.”, 64, “Script Complete”

‘ Opens the text file matching the logged in user and reconnects to the printers listed.
Set objTextFile = objFSO.OpenTextFile (filOutput, ForReading)

‘Set objTextFile2 = objFSO.OpenTextFile (filOutput2, ForReading)
‘ Do Until objTextFile2.AtEndOfStream
‘ strPrinter = objTextFile2.Readline
‘ strTest = Left(strPrinter2, 2)
‘Loop

Do Until objTextFile.AtEndOfStream
strPrinter = objTextFile.Readline
strTest = Left(strPrinter, 2)

‘ If strTest = “\” Then
‘MsgBox strPrinter & ” ” & strPrinter2
WshNetwork.AddWindowsPrinterConnection strPrinter
if strPrinter = aqui Then

‘WshNetwork.SetDefaultPrinter strPrinter2
WshNetwork.SetDefaultPrinter aqui
End If
‘ End If

Loop

‘MsgBox “Impresoras Mapeadas”, 64, “Script Complete”

objTextFile.Close

‘ MsgBox “Printers have been mapped.” & vbCRLF & varDelText & vbCRLF & vbCRLF & “Impresoras Mapeadas”, 64, “Script Complete”
‘strComputer = “.”
‘Set objWMIService = GetObject(“winmgmts:” _
‘ & “{impersonationLevel=impersonate}!\” _
‘ & strComputer & “rootcimv2”)
‘Set colInstalledPrinters = objWMIService.ExecQuery _
‘ (“Select * from Win32_PrinterConfiguration “)
‘For Each objPrinter In colInstalledPrinters
‘ objPrinter.Duplex = False

‘MsgBox objPrinter.Duplex
‘Next
‘MsgBox “Finalizado. Impresora por defecto ” & aqui
Wscript.Quit

Aquí para descargarlo

Nagios + Cacti + MySQL + PHPMyAdmin + Centreon

Vamos a realizar la instalación de un sistema NAGIOS (3.2.1) con sus Plugins (1.4.14), PHP (5),  gráficas Cacti (0.8.7e), sistema CENTREON (2.1.5) para control GUI de Nagios, PHPMyAdmin (3.3.2) y MySQL (5.0.51).

Nuestro sistema es una Debian Lenny y sus source, por si alguien le interesa (se de uno que tenia problemas por eso :P) aquí las dejo.

PREPARACIÓN DEL SISTEMA

vim /etc/apt/sources.list

deb http://ftp.caliu.cat/debian/ lenny main
deb-src http://ftp.caliu.cat/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Modificando o no las source vamos hacer un update para tener actualizado los paquetes a instalar;

apt-get update

Como tendremos que “crear paquetes” necesitamos los build-essential;

apt-get install build-essential

Verdad verdadera es la que dice que necesitamos muchas cosas mas, ala a instalar;

apt-get install libdatetime-perl libdbi-perl libdbd-mysql-perl libclass-autouse-perl libmd5-perl libdigest-sha1-perl libhtml-template-perl libimage-size-perl libmime-lite-perl libmime-perl libcompress-zlib-perl libnet-dns-perl liburi-perl libhtml-tagset-perl libhtml-parser-perl libwww-perl libwww-perl libgd-gd2-perl libmailtools-perl libunicode-maputf8-perl libxml-simple-perl libio-stringy-perl libcaptcha-recaptcha-perl libdigest-hmac-perl libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev

Dicen que no hay Nagios sin Apache, pues vamos a fumar pipa de la paz con su php

apt-get install apache2 libapache2-mod-php5 libgd2-xpm-dev php5-common php5-cgi php5-cli php5-mysql

Con esto ya tenemos un apache con las librerías necesarias para hacer la instalación de NAGIOS. Ahora vamos a la intalación pura y dura del motor NAGIOS

INSTALACIÓN NAGIOS

Creamos los usuarios, grupos y modificamos sus características;

/usr/sbin/useradd -m nagios
/usr/sbin/usermod -G nagios nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd www-data

Nos descargamos Nagios, compilamos e instalamos;

cd /tmp
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
tar xzf nagios-3.2.1.tar.gz

cd nagios-3.2.1

./configure –with-command-group=nagcmd
make all


make install
make install-init
make install-config
make install-commandmode
make install-webconf

Creamos un usuario para nuestro Nagios

NOTA! (El parametro -c es de CREATE, si queremos vamos usuarios el primero hacemos con el -c y los demás sin el!)

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin


/etc/init.d/apache2 reload

Vamos a por los plugins…

cd /tmp
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
tar xzf

nagios-plugins-1.4.14.tar.gz

cd nagios-plugins-1.4.14
./configure –with-nagios-user=nagios –with-nagios-group=nagios
make
make install

Vamos a reiniciar apache y nagios. Si funciona crearemos un enlace para que se inicia Nagios con el inicio del  sistema.

/etc/init.d/apache2 restart

/etc/init.d/nagios restart

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Nota! Para confirmar que funciona vamos hacer un check de la config (como un /etc/init.d/apache2ctl -t) y nos dirá si hay errores y donde.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0
Total Errors: 0

Ya nos podemos conectar a la web http://servidor/nagios con el usuario y contraseña que hemos configurado.

Nagios Login

INSTALACIÓN PHPMYADMIN

Procedemos a la instalación del PhpMyAdmin (por si las moscas 😛 )

cd /tmp

wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.4/phpMyAdmin-3.3.4-all-languages.tar.gz?use_mirror=freefr

tar xzf phpMyAdmin-3.3.4-all-languages.tar.gz

mv phpMyAdmin-3.3.4-all-languages /var/www/phpmyadmin

Login PhpMyAdmin

Entramos en la web http://servidor/phpmyadmin

INSTALACIÓN CACTI


apt-get install mysql-server rrdtool snmp

Activaremos la extensión para el SNMP añadiendo la siguientes lineas;

vim /etc/php5/conf.d/snmp.ini

; Enable snmp extension module

extension=snmp.so

file_uploads = On

vim /etc/apache2/mods-enabled/php5.conf (Añadimos o modificamos los siguientes campos)

# PHP is an HTML-embedded scripting language which attempts to make it

# easy for developers to write dynamically generated webpages.

LoadModule php5_module modules/libphp5.so

# Cause the PHP interpreter to handle files with a .php extension.

AddHandler php5-script .php

AddType text/html .php

# Add index.php to the list of files that will be served as directory

# indexes.

DirectoryIndex index.php

vim /etc/apache2/httpd.conf

Include conf.d/*.conf

Vamos  a preparar la MySQL para la instalación de CACTI;

mysqladmin -u root –p create cacti

cd /tmp

wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz

tar xzvf cacti-0.8.7e.tar.gz

mv cacti-0.8.7e /var/www/cacti

cd /var/www/cacti/

mysql -u root -p cacti < cacti.sql

adduser cacti

mysql -u root -p mysql

mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY ’somepassword’;

mysql> flush privileges;

mysql> quit

Agregamos las siguientes lineas;

vim include/config.php

$database_type = “mysql”;

$database_default = “cacti”;

$database_hostname = “localhost”;

$database_username = “cacti”;

$database_password = “cacti”;

Con los passwords que hemos puesto y el usuario que toca.

chown -R cacti log

chown -R cacti rra

Agregamos;

vim /etc/crontab

*/5 *   * * *   cacti   php /var/www/cacti/poller.php > /dev/null 2>&1

Nos conectamos con http://website_host/cacti y pulsamos Next 2 veces y Finish

Cacti

Cacti

Cacti Resumen Instalación

Cacti Login

Nos logamos como Admin y passwd : admin. Luego cambiamos el password y ya podremos añadir los hosts

Ya tenemos nuestro entorno de gráficas 😉

Cacti Inside

Procedemos al Centreon…

INSTALACIÓN CENTREON

Vamos a empezar…

apt-get install tofrodos php5-cli php-db php-date php5-gd php5-mysql php5-snmp php5-ldap php-mail php-mail-mime php-net-smtp php-net-socket php5-xmlrpc rrdtool librrds-perl libconfig-inifiles-perl

Si aparece el siguiente mensaje (debería…);

Fichero de configuración `/etc/php5/conf.d/snmp.ini’
==> Fichero en el sistema creado por usted o por algún script.
==> Fichero también en el paquete.
¿Qué quisiera hacer al respecto? Sus opciones son:
Y o I : instalar la versión del paquete
N o O : conservar la versión actualmente instalada
D : mostrar las diferencias entre versiones
Z : ir a un shell para examinar la situación
La acción por omisión es conservar la versión actual.
*** snmp.ini (Y/I/N/O/D/Z) [por omisión=N] ?

Le damos a D

Seguimos…

apt-get install snmp snmpd libnet-snmp-perl lsb-release mailx libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl libnet-snmp-perl libsnmp-perl

vim /etc/snmp/snmpd.conf

Buscamos a linea #com2sec readonly default public y eliminamos la “#”. Guardamos y salimos

Reiniciamos

invoke-rc.d snmpd restart

Miramos si funciona

snmpget -v1 -c public localhost sysDescr.0

Actualizamos PEAR

pear channel-update pear.php.net

pear upgrade pear

pear install -f -a DB_DataObject DB_DataObject_FormBuilder MDB2 Numbers_Roman Numbers_Words HTML_Common HTML_QuickForm HTML_QuickForm_advmultiselect HTML_Table Auth_SASL HTTP Image_Canvas Image_Color Image_Graph Image_GraphViz Net_Traceroute Net_Ping Validate XML_RPC SOAP

y para finalizar antes de instalar… los ndo..

apt-get install nagios-nrpe-plugin ndoutils-nagios3-mysql

Nos va a pedir el WORKGROUP (por el SAMBA) y el  WINS. Dejamos los valores por defecto.

Nota! En la configuración de ndoutils (pantalla azul) le damos a SI

Descargamos…

cd /tmp

wget http://download.centreon.com/centreon/centreon-2.1.5.tar.gz

tar xzvf centreon-2.1.5.tar.gz

cd centreon-2.1.5

ln -s /usr/sbin/nagios2 /usr/sbin/nagios

bash ./install.sh -i

NOTA!! En mitad de la instalación nos pedirá el fichero de NDOUTILS, este por defecto esta en /usr/sbin/ndomod.o pero en la instalación esta en /etc/nagios3/ndomod.cfg por lo que aparecerá la siguiente pantalla.

El típico error de /usr/sbin/ndomod.o is not a valid file. 😉

NDO ERROR NAGIOS

Le pondremos que la ruta correcta es  /etc/nagios3/ndomod.cfg

NDO OK

Despues de muchos checks llegamos al final y ya podemos entrar en la web: http://servidor/centreon

Centreon Config

Seguimos confirmando la licencia

Centreon Config

Parece que ya esta todo ok…

Centreon Confirmado

De nuevo todo ok

Centreon Confirmado

Configuración Base de datos

Configuración Base de datos

Ya queda poco..

Confirmación Base de datos

La configuración de acceso a centreon…

Configuración de acceso

LDAP, a gusto del consumidor, seria aconsejable en un entorno “perfecto” pero no es el caso…

LDAP Config

Una de las ultimas y siguiente siguiente..

Mas...

Y ya lo tenemos…

Login

Por ultimo editamos el siguiente fichero

vim /etc/default/ndoutils

Modificamos “ENABLE_NDOUTILS=0” y lo dejamos como “ENABLE_NDOUTILS=1

Agregar disco en Linux Fdisk y mkfs

Pasos para instalar nuestro nuevo disco duro en nuestro linux;

Añadimos  físicamente el nuevo disco duro en nuestra máquina.

Listar las particiones de nuestros discos para poder identificar nuestro nuevo disco duro:

# fdisk -l

Nos saldrá una entrada nueva con el mensaje: El disco x no contiene una tabla de particiones válida

Voy a exponer mi caso concreto, vosotros tendréis que adaptarlo a vuestro caso concreto:

En mi caso, he añadido un disco duro de VmWare de 8GB , la cola de salida del comando anterior me muestra:

Disco /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000El disco /dev/sdc no contiene una tabla de particiones válida

Tomamos nota de /dev/sdc

Si fuera un disco IDE seria HDA en vez de SDC

Si queremos particionarlo (en mi caso he creado una sola partición):

# fdisk/dev/sdc

Orden (m para obtener ayuda): m
Orden Acción
a Conmuta el indicador de iniciable
b Modifica la etiqueta de disco bsd
c Conmuta el indicador de compatibilidad con DOS
d Suprime una partición
l Lista los tipos de particiones conocidos
m Imprime este menú
n Añade una nueva partición
o Crea una nueva tabla de particiones DOS vacía
p Imprime la tabla de particiones
q Sale sin guardar los cambios
s Crea una nueva etiqueta de disco Sun
t Cambia el identificador de sistema de una partición
u Cambia las unidades de visualización/entrada
v Verifica la tabla de particiones
w Escribe la tabla en el disco y sale
x Funciones adicionales (sólo para usuarios avanzados)

Al salir darle a “w

Ahora formatearemos la partición creada:

# mkfs -t ext3 /dev/sdc

Creamos directorio de montaje:

# mkdir -p /media/hdd2

Editaremos fstab

# vim /etc/fstab

Añadiremos:

/dev/sdc /media/hdd2 ext3 defaults 0 0

(Nota: podemos cambiar defaults por otras opciones de montaje, como pot ejemplo user, más adelante escribiré sobre fstab)

Montamos:

# mount -a

Ya tenemos el nuevo dispositivo

df -h