miércoles, 21 de septiembre de 2016

Desbloquear impresora Ricoh cuando no reconoce el tóner

Clear mode + 107 + clear Stop (5 o 6 segundos)

Menú system SP

3045 #

Poner el Toner End Detection a "No detect"

Exit -> Exit

Y se puede seguir imprimiendo hasta que llegue el servicio técnico

viernes, 2 de septiembre de 2016

Problemas de búsqueda en Outlook 2013/2016

 

Trabajo bastante a menudo con archivos de pst archivados, suelo tener uno por año con un tamaño considerable.

Más de una vez me ha pasado, y lo voy a apuntar aquí porque nunca me acuerdo de lo que tengo que comprobar, que cuando abro uno de estos archivos y le doy a buscar me sale esto:

image

Lo cual hace que me irrite bastante porque normalmente ando con prisas.

Las comprobaciones a realizar para ver que todo funciona correctamente son

1) Ver que buscamos en donde queremos, es decir que en la barra del Outlook tenemos seleccionado todo lo que queremos, por ejemplo todos los buzones o todas las subcarpetas, etc.

image

2) Comprobar el estado de indexación (Herramientas de búsqueda –> Estado de indización), si nos pone que está indexando elementos, habrá que esperar a que termine

image

Si por el contrario nos pone que termino y “0 elementos restantes para indizar”, está claro que el problema no viene por aquí.

3) Comprobar que el Outlook se encuentra en las opciones de indexación (en esto no suele estar mi problema)

image

 

image

Evidentemente si no estuviese habría que añadirlo

4) Mi problema suele ser el siguiente, resulta que independientemente de que el Outlook esté en elementos de indexación de que todo esté indexado, y de que tengamos el fichero abierto, en las propiedades del fichero pst, en “Avanzados”

image

Hay que marcar la casilla que permite que el archivo tenga el contenido indexado

image

Una vez marquemos la casilla susodicha, cerramos el Outlook, volvemos a abrirlo  y en el “Estado de indización” nos saldrá un mensaje que pone “X elemento restantes por indizar” y casi seguro que al acabar ya nos busca bien.

image

lunes, 22 de agosto de 2016

Notas para el uso de screen

Comandos

Todos los comandos al screen van seguidos de “Ctrl +a” , por ejemplo para sacar la ayuda presionamos “Ctrl +a” y luego “?”

Ventana nueva

Ctlr + a” “c”

Ventana anterior / siguiente

Ctlr + a” “n” (siguiente)

Ctlr + a” “p” (anterior)

Desconectar del terminal actual (detach)

Ctlr + a” “d”

screen permite seguir ejecutando el comando y liberar el terminal que estamos usando

Volver a conectar una sesión desconectada (reattach)

screen –r

Si tenemos varias sesiones nos mostrará un listado y, en ese caso debemos especificarle cual queremos reconectar, en este casos sería screen –r identificador_de_screen

Salir de screen

Con el exit de la consola de siempre o cuando acaba la ejecución del comando con el que se lanzó screen. También se puede utilizar el comando “k”, “Ctrl + a” “k”, lo cual nos preguntará si queremos matar screen.

Activar log de sesión

“Ctrl +a”  “H”

Alertas de actividad

Cuando lanzamos algo con screen mediante “Ctrl + a” “M”, activamos la monitorización, esto nos permite que screen nos avise cuando en esa pantalla se produce alguna salida mediante parpadeo y mensaje en la parte baja de la pantalla. Esto es útil para seguir trabajando en otra pantalla de screen y que nos avise cuando en esta pasa algo. (Yo lo uso, por ejemplo, para el típico mv por el que siempre hay que andar pendiente cuando acaba..)

Para desconectar la monitorización se usa “Ctrl + a” “_”

Bloqueo de pantalla

“Ctrl + a” “x”

Nota: cuidado si hacéis un “sudo screen “ porque en este caso la contraseña de desbloqueo que nos pedirá será la contraseña de root.

Línea de comandos

Yo suelo usar los siguientes:

Listado de sesiones de screen: screen –list

Lanzar comando en modo “detach” : screen –d comando

Ponerle un nombre específico a la sesión: screen –S nombre

O combinando el nombre y detach (lo que más uso): screen –S nombre –d comando

Lo de el nombre es útil no sólo por saber que hacemos en cada sesión de screen, sino también porque si hacemos “screen –S nombre ..” luego podemos hacer un “screen –r nombre”, lo cual facilita bastante el trabajo

viernes, 5 de agosto de 2016

Actualización a Zabbix 3.0 en Ubuntu 16.04

 

Actualmente tenía montado un Zabbix 2.4 en una Ubntu 14.04 LTS y vamos a pasar todo el sistema a una Ububtu 16.04 Xenial.

Ya de paso como hay que hacer una parada de servicio vamos a hacer un upgrade del zabbix a la versión 3.0

Para realizar la actualización como siempre

do-release-upgrade

El único problema que nos surge es al arrancar el Mysql que pasa a la versión 5.7.X y desparece el parámetro innodb_additional_mem_pool_size que desaparece en esta versión y por eso nos da problemas al arrancar si lo estamos usando. La desaparición está perfectamente documentada en la página de MySQL, como siempre, http://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_additional_mem_pool_size

Pasamos pues a la actualización en sí del zabbix a la versión 3.0.

Primero  y por si acaso hacemos copia de seguridad.

Creo un directorio llamado prezabix3 para guardar todas las configuraciones que nos interesan, por si acaso.

Paramos Zabbix:

service zabbix-server stop

Configuración:

cp –r /etc/zabbix ./prezabix3

Front End PHP:

cp –r /usr/share/zabbix* ./prezabix3

Front End PHP:

mysqldump -c -e -u root -p zabbix > ./prezabix3/zabbix_backup.sql

Muevo los repos antiguos de zabbix

mkdir ./prezabix3/repos

mv /etc/apt/sources.lists.d/zabbix.list* ./prezabix3/repos

(Realmente no es que haga falta porque el update de la distro ya lo ha desactivado, pero así queda todo más limpio)

Bajamos el repositorio de zabbix para Ubuntu e instalamos

wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+xenial_all.deb

dpkg -i zabbix-release_3.0-1+xenial_all.deb

apt-get update

apt-get upgrade

Repasamos el fichero de configuración, si en nuestro fichero antiguo usamos el parámetro HistoryTextCacheSize hay que sacarlo, ya que desaparece y sumamos su valor a HistoryCacheSize. (Sino no arranca)

Si no se nos ha instalado el  zabbix-frontend-php  hay que instalarlo apt-get install zabbix-frontend-php

Comparar el apache.conf que está en el directorio de zabbix y ver si cambia algo sustancial, por lo que yo he visto cambian algunas cosas y lo único que tengo definido en el mío excepcionalmente es el Timezone; con lo cual reemplazo por el nuevo y activo # php_value date.timezone Europe/Riga como php_value date.timezone Europe/Madrid.

A pesar de que el PHP que viene con la Ubuntu 16 es el 7, al final todo funciona bien

Las dependencias del PHP en el frontend no van finas con lo cual hay que instalar los siguientes módulos, dejo reflejado los errores que me fue dando para referencia

apt-get install php-mysql php-mbstring php-bcmath

apt-get install php7.0-xml

phpenmod xmlreader

phpenmod xmlwriter

 

Anexo

Errores para detectar librerías de PHP y solución (si se ejecuta el comando anterior no debería darnos ninguno de estos).

Si nos da esto al acceder a la URL del frontend
    DB type "MYSQL" is not supported by current setup. Possible values .

Hacer
apt-get install php-mysql

En el error log del apache:

Error:

[Fri Aug 05 08:39:24.910285 2016] [:error] [pid 12252] [client 192.168.111.254:53210] PHP Fatal error:  Uncaught Error: Call to undefined function mb_strlen() in /usr/share/zabbix/include/classes/user/CProfile.php:330\nStack trace:\n#0

….

Solución:
apt-get install php-mbstring

Error
3241] PHP Fatal error:  Uncaught Error: Call to undefined function bcadd() in /usr/share/zabbix/include/classes/db/DB.php:117\nStack trace:\n#0 /usr/share/zabbix/include/classes/db/

….

Solución:
apt-get install php-bcmath

viernes, 15 de julio de 2016

Reenviar correo de root a destinatario externo (Debian con Postfix)

Nota recordatoria, simplemente


vi /etc/aliases

poner la línea root: direccionexterna@loquesea.com


newaliases

 service postfix restart

Probar

echo "hola" |mail -s "prueba" root

jueves, 23 de junio de 2016

Reparación de inicio de Windows al cambiar driver de disco en Windows 7

 

Al restaurar una imagen de un equipo a otro, o simplemente al cambiar la placa base del equipo, el controlador de disco que necesitamos cambia y el equipo se niega a arrancar; en estos casos la reparación de inicio de Windows no nos sirve de mucho.

 

La solución es bastante simple, darle el driver que necesita al Windows que tenemos en el disco duro. Para ello realizamos lo siguiente:

 

Bajamos el driver de la página del fabricante del equipo y lo metemos en un pendrive USB o un CD. Yo uso un pendrive vacío y además le cambio la etiqueta de volumen a DRIVERS, que facilita el trabajo de localizarlo luego. ¡¡¡OJO!!! lo que hay que meter es el driver, no el zip ni el exe que lo trae, es decir hay que extraer los ficheros y meterlos tal cual.

Arrancamos con un disco de instalación de Windows 7 y seleccionamos nuestro idioma.

IMG_20160623_140118

 

En vez de instalar le damos a la opción de reparar el equipo.

IMG_20160623_140156

Debería detectarnos nuestra instalación de Windows en nuestro sistema, si nos fijamos en este caso le está asignando la letra D, podemos quedarnos con este dato, aunque luego veremos como sacarlo.

IMG_20160623_140339

Le damos a siguiente

IMG_20160623_140936

Presionamos cancelar, porque no queremos restaurar el sistema

Si en cuanto comienza la reparación de inicio somos rápidos y le damos al botón cancelar, nos va dejar cancelarla y ganamos un tiempo, sino tendremos que esperar a que acabe.

IMG_20160623_144110

Tanto al cancelar como al terminar la reparación de inicio tendremos la opción de “… opciones avanzadas de recuperación…”

IMG_20160623_142616

Nos sale una pantalla como la siguiente, donde tenemos escogemos “Símbolo del sistema”

IMG_20160623_143152

Ahora necesitamos saber dos cosas, que es lo primero que vamos a buscar, la unidad de disco asignada al Windows y la que nos va a a asignar al pendrive (o CDROM) donde tenemos los drivers.

Para ver las unidades usamos la utilidad DISKPART, como muestro en la imagen

IMG_20160623_142949

Se puede observar que he hecho dos list volume, uno antes de insertar el pendrive con los drivers y otro después con lo cual es muy sencillo deducir que es la letra G, aunque poniéndole una etiqueta de volumen conocida, como por ejemplo “DRIVERS” nos facilita el trabajo.

 

Bien ahora que tenemos todo lo que necesitamos sólo tenemos que usar el comando

dism /Image:D:\ /Add-Driver /Driver:G:\ /recurse

Cae de cajón que en caso de que cambien nuestros nombres de unidades debemos cambiarlas según nuestro entorno.

Al ejecutar este comando nos saldría algo como esto (si todo va bien):

IMG_20160623_143104

Tras esto sólo nos queda cerrar la ventana y darle a reiniciar. Sacamos los pendrive o el CD  y esperamos a que el Windows arranque como siempre. Es posible que tarde un poco más de lo normal al arrancar la primera vez.

Y aquí está nuestro bonito Windows de nuevo…

IMG_20160623_145153

Nota: la calidad de las fotos no es muy buena, sólo tenia el móvil a mano y la luz tampoco ayudaba mucho.

martes, 21 de junio de 2016

lunes, 6 de junio de 2016

Crear LVM con discos GPT - Particiones de más de 2TB

En este caso vamos a crear un LVM  basado en dos discos de 3TB.

Lo primero que debemos hacer es crear las particiones en ambos discos y decirle que van a usarse para LVM, para ello al ser discos de más de 2TB usaremos parted en vez de fdisk y particiones tipo GPT.

Nota: en negrita lo que ponemos, en cursiva lo que va poniendo el sistema. Todos los comandos se han realizado desde el usuario root, se pueden realizar desde cualquier usuario con privilegios para hacer sudo simplemente, como ya sabéis, poniendo sudo delante.


1) Creamos partición para un disco (/dev/sdc en este caso)

#parted /dev/sdc
GNU Parted 3.2
Usando /dev/sdc
¡Bienvenido/a a GNU Parted! Teclee «help» para ver la lista de órdenes.
(parted)
mklabel gpt
Aviso: La etiqueta de disco existente en /dev/sdc se destruirá y todos los datos
en este disco se perderán. ¿Desea continuar?
Sí/Yes/No?
S(parted) unit TB
(parted)
mkpart primary 0 3TB
(parted)
set 1 lvm on
(parted)
print
Modelo: ATA ST3000VX006-1HH1 (scsi)
Disco /dev/sdc: 3,00TB
Tamaño de sector (lógico/físico): 512B/4096B
Tabla de particiones: gpt
Disk Flags:

Numero  Inicio  Fin     Tamaño  Sistema de archivos  Nombre   Banderas
 1      0,00TB  3,00TB  3,00TB                       primary  lvm

(parted)
quit
Información: Puede que sea necesario actualizar /etc/fstab.
#


2) Hacemos lo mismo para /dev/sdb, tal y como se ve:


# parted /dev/sdb print
Modelo: ATA ST3000VX006-1HH1 (scsi)
Disco /dev/sdb: 3001GB
Tamaño de sector (lógico/físico): 512B/4096B
Tabla de particiones: gpt
Disk Flags:

Numero  Inicio  Fin     Tamaño  Sistema de archivos  Nombre   Banderas
 1      1049kB  3001GB  3001GB                       primari  lvm
#


3)Creamos los volúmenes físicos para LVM

#pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

# pvcreate /dev/sdc1
  Physical volume "/dev/sdc1" successfully created


Nota: se puede hacer en una sola línea (pvcreate /dev/sdb1 /dev/sdc1) , pero en mi experiencia, si son pocos, prefiero hacerlos de uno en uno.

Si no ha habido ningún problema podemos ver  con pvscan los volúmenes:
# pvscan
  PV /dev/sdc1                      lvm2 [2,73 TiB]
  PV /dev/sdb1                      lvm2 [2,73 TiB]
  Total: 2 [5,46 TiB] / in use: 0 [0   ] / in no VG: 2 [5,46 TiB
]

Con pvdisplay podemos ver la información en más detalle para cada volumen.
# pvdisplay
  "/dev/sdc1" is a new physical volume of "2,73 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name
  PV Size               2,73 TiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               MoApzg-ZxNp-vecS-DOw0-dmnK-H1W9-JCTkGV

  "/dev/sdb1" is a new physical volume of "2,73 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               2,73 TiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               c2iEmj-1igD-tlXM-vmtR-dmqw-VDUf-Eck7b7

4) Creamos el volume group, que como sabemos no es más que un pool de almacenamiento que consiste en uno o varios discos. En nuestro caso hacemos:
# vgcreate vgzm_data /dev/sdb1 /dev/sdc1
  Volume group "vgzm_data" successfully created

El parámetro zm_data no es más que el nombre que yo le he puesto a este volumen, que en vuestro caso puede llamarse como queráis.

LVM procesa el almacenamiento en unidades llamadas extents (en el momento de crear está entrada por defecto eran de 4MB). Podéis cambiar este tamaño por defecto cuando se hace el vgcreate con el parámetro -s  (tal y como pone en la página del manual   -s Tamaño [kKmMgGtT] ).

Podemos ver con vgdisplay nuestro nuevo volumen:
 # vgdisplay
  --- Volume group ---
  VG Name               vgzm_data
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               5,46 TiB
  PE Size               4,00 MiB
  Total PE              1430792
  Alloc PE / Size       0 / 0
  Free  PE / Size       1430792 / 5,46 TiB
  VG UUID               8yhV48-Tm0j-TNEF-i8tC-S7vZ-VI1J-rFJhFW



5) Finalmente creamos el volumen lógico. En mis caso lo voy a crear al máximo de capacidad, ya que este VG sólo se va a usar para un fin y lo que necesito es que se puedan añadir más discos a futuro si es necesario.

# lvcreate -l 100%FREE -n zm_data vgzm_data
  Logical volume "zm_data" created.


Aunque los parámetros están claros, quizás el -l sea el más confuso que es la longitud en extends, en la que se puede poner un entero o un porcentaje de, en este caso el espacio vacío que queda (man lvcreate para más info).
Con lvdisplay ya podemos ver nuestro nuevo volumen lógico.

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vgzm_data/zm_data
  LV Name                zm_data
  VG Name                vgzm_data
  LV UUID                XBD7IP-21M9-49Ad-RDeu-OoXN-dL0Y-yudhiu
  LV Write Access        read/write
  LV Creation host, time srvcam, 2016-06-06 14:24:21 +0200
  LV Status              available
  # open                 0
  LV Size                5,46 TiB
  Current LE             1430792
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

 Si observáis el vgdisplay, veréis que en Free PE ahora pone 0, mientras antes ponía la cantidad de extends / espacio disponible sin usar en ningún volumen, al contrario que los usados Alloc PE:

 #vgdisplay
  --- Volume group ---
  VG Name               vgzm_data
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               5,46 TiB
  PE Size               4,00 MiB
  Total PE              1430792
  Alloc PE / Size       1430792 / 5,46 TiB
  Free  PE / Size       0 / 0
  VG UUID               8yhV48-Tm0j-TNEF-i8tC-S7vZ-VI1J-rFJhFW

6) Formatear y usar

# mkfs.ext4 /dev/vgzm_data/zm_data
mke2fs 1.42.13 (17-May-2015)
Se está creando un sistema de ficheros con 1465131008 bloques de 4k y 183144448 nodos-i
UUID del sistema de ficheros: 41323ea1-7512-41d7-b219-51502d57dc6f
Respaldo del superbloque guardado en los bloques:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544

Reservando las tablas de grupo: hecho
Escribiendo las tablas de nodos-i: hecho
Creando el fichero de transacciones (32768 bloques): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho








Y ya lo usáis donde queráis.
# mount /dev/vgzm_data/zm_data /mnt 
# df -h
S.ficheros                    Tamaño Usados  Disp Uso% Montado en
/dev/mapper/vgzm_data-zm_data   5,5T    58M  5,2T   1% /mnt
#



martes, 31 de mayo de 2016

Actualizaciones offline de sistemas windows


Muchas veces nos es tedioso el windows update, por lo que sea, va lento, actualiza lento, tengo que actualizar muchos equipos, etc.

Una de las soluciones en caso de una red corporativa es instalarse nuestro propio WSUS y centralizar las updates en él. Aún así en el caso de muchos equipos a la vez y en centros remotos podemos encontrarnos con los mismos problemas que antes

Para solventar el problema  yo utilizo una herramienta que permite hacer las actualizaciones de fuera de línea WSUS Offile Update. Esta herramienta nos permite crear un repositorio local de las actualizaciones de sistema operativo que deseemos.

Su uso es muy simple (Documentación de uso), yo lo que hago es una vez bajadas las actualizaciones me hago unos cuantos pinchos USB con el directorio client y puedo instalar varios equipos en paralelo, incluso desconectados de la red (no es la primera vez que me pasa que tengo que ir "a los pocos" por no tener tomas suficientes).



jueves, 12 de mayo de 2016

Cambiar nombre a ODBC

En determinadas circunstancias alguna aplicación o cualquier otra cosa, busca un determinado controlador ODBC con un nombre en concreto. Muchas veces el controlador ha cambiado de nombre al cambiar de versión, de empresa o a saber cual es la causa.. cosas que pasan.

Por suerte el nombre de este controlador se puede cambiar sin problemas, en mi caso lo he probado con el de Oracle y el de PostreSQL y nunca he tenido problemas (hasta la fecha).

El proceso es bien simple:


  • En HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers cambiamos el nombre por el que queramos (conviene que nos acordemos del antiguo)
  • En HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI  habrá una rama con el nombre antiguo que cambiamos. Cae de cajón, le cambiamos el nombre a la rama por el mismo  que pusimos antes.

En equipos de 64 Bits para cambiar el nombre de los ODBC de 32 bits habría que hacerlo en la rama
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\

martes, 12 de enero de 2016

Añadir claves que faltan a APT de Debian

Por ejemplo en un apt-update nos da al final...


Leyendo lista de paquetes... Hecho
W: GPG error: http://ftp.de.debian.org lenny Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY AED4B06F473041FA NO_PUBKEY 4D270D06F42584E6


Dos posibilidades:

1) bajarlas del keyserver

gpg --keyserver pgpkeys.mit.edu --recv-key 4D270D06F42584E6
gpg -a --export 4D270D06F42584E6 |sudo apt-key add
gpg --keyserver pgpkeys.mit.edu --recv-key AED4B06F473041FA
gpg -a --export AED4B06F473041FA |sudo apt-key add -

o 2) usar los paquetes keyring de debían

sudo apt-get install debian-keyring
sudo apt-get install debian-archive-keyring


Y listo, ya nos sacamos el error del medio

L2TP Ipsec Windows to Mikrotik eror 789

 Add this to registry REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d...