lunes, 2 de noviembre de 2015
Editor de documentos PDF
Free Master PDF Editor for Linux
Partiendo de un documento PDF (form.pdf) en forma de formulario para rellenar que no permite guardarse, rellenamos los campos e imprimimos a archivo como PS (form.ps).
El documento PS puede convertirse de nuevo a PDF mediante ps2pdf con lo que tenemos el documento con los campos rellenados en PDF de nuevo
ps2pdf form.ps form-completo.pdf
y luego podemos editarlo para incorporar imágenes con Free Master PDF Editor.
domingo, 18 de octubre de 2015
Enrutar paquetes desde un interface de red privada hacia Internet
El equipo que hará de router tiene Fedora 22 y debe enrutar los paquetes que le llegan desde un interface conectado a una red interna hacia Internet.
route add -net 0.0.0.0 gw 192.168.249.5 dev egiga0
ifconfig -a
route -n
ip route show
cat /etc/sysconfig/network-scripts/ifcfg-p2p1
iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE iptables -A FORWARD -i em1 -o p2p1 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i p2p1 -o em1 -j ACCEPT
Falta habilitar el enrutamiento en el equipo Fedora con:
echo 1 > /proc/sys/net/ipv4/ip_forward
sábado, 26 de septiembre de 2015
Desinstalar dropbox en Fedora 22
Primero detengo la ejecución de Dropbox con:
su -
dropbox stop
elimino todos los archivos del directorio
rm -rf /root/Dropbox
los archivos ocultos también:
rm -rf /root/.dropbox* rm /root/.dropbox-dist/
y también me aseguro de que no está configurado en el autostart. Si lo está, lo eliminamos
ls -lisa /root/.config/autostart
sábado, 19 de septiembre de 2015
PulseAudio Multiband Equalizer
sudo dnf install pavucontrol
también tengo instalado ladspa con idea de modificar mi voz en vivo mientras hablo por Skype.
El ecualizador multibanda de pulseaudio se instala en Fedora con:
sudo dnf install pulseaudio-equalizer
Al instalarlo también se instala ladspa-swh-plugins
Los plugins se han instalado en /usr/lib64/ladspa
Por defecto el ecualizador aparece deshabilitado. Es necesario habilitarlo con:
pulseaudio-equalizer enable-config
y se reinicia pulseaudio con:
pulseaudio -k
Para ver la configuración de pulseaudio se usa:
pulseaudio --dump-conf
Cuando se cambia la configuración preset o se cambia los valores de las frecuencias y pulsamos en apply settings, la reproducción del sonido se interrumpe y para reanudarla hay que ir al Volume Control. El sonido se silencia automáticamente de manera inexplicable.
Para comprobar los plugins y ver la configuración se usa:
analyseplugin /usr/lib64/ladspa/pitch_scale_1193.so
Cargo algunos filtros para hacer la voz durante una conferencia con Skype más nítida. Los pasos se indican aquí.
Se podría utilizar para modificar la voz mientras se habla por Skype usando el TAP pitch Shifter plugin.
domingo, 30 de agosto de 2015
Openwrt Kamikaze resetar router WRT54GL
Para hacerlo, con un punzón o la punta de un bolígrafo haces presión en el botón de reset de la parte posterior mientras conectas el cable de alimentación.
La luz de PWR parpadea, manten pulsado el botón hasta que se ilumine la luz de DMZ. Ahora parpedearán las dos al mismo tiempo.
Puedes acceder al router usando Telnet a la dirección 192.168.1.1 desde cualquiera de los puertos LAN y también el WAN.
Para restablecer el acceso SSH, primero hay que configurar un nueva contraseña. Usamos el comando passwd en un terminal conectado mediante Telnet.
root@openwrt:~$ passwd Changing password for root New password: Retype password: Password for root changed by root root@openwrt:~$En mi caso, a pesar de establecer la contraseña con passwd, no pude conectar con SSH. Cualquier intento de conexión con putty responde con Connection refused.
Intento reiniciar el firewall en el router desde Telnet con:
/etc/init.d/firewall restartSin embargo, al ejecutarlo devuelve una lista de errores:
iptables table 'filter': Table does not exist (do you need to insmod?)
iptables table 'nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded
Ejecuto el comando lsmod, algunos módulos están cargados pero faltan 'filter' y 'nat'
Cargo los siguientes módulos:
insmod ip_tables insmod ip_conntrack insmod iptable_filter insmod ipt_statereinicio el firewall y ahora al intentar conectar usando Putty no aparece Connection refused pero tampoco se conecta.
Reinicio el router desenchufándolo y volviéndolo a enchufar.
Ahora se puede acceder usando SSH y Telnet. Para deshabilitar el acceso por Telnet vuelvo a establecer la contraseña con el comando passwd. Esto deshabilita Telnet y habilita el acceso mediante SSH.
Esta es la lista de módulos cargados con Luci en ejecución:
Para volver a habilitar Telnet, ejecutamos el comando:
telnetd
Para deshabilitarlo y que no vuelva a ejecutarse después de reiniciar el router, usamos:
/etc/init.d/telnet stop
/etc/init.d/telnet disable
Desde un equipo conectado a un puerto LAN se puede escanear los puertos del router para saber si Telnet está habilitado o no.
El puerto 23 no aparece, Telnet no se está ejecutando.
martes, 18 de agosto de 2015
Mi configuración para conseguir conky transparente
domingo, 26 de julio de 2015
Interfaz de red: mismo UUID para diferentes interfaces
/etc/sysconfig/network-scripts/ifcfg-p2p1 y /etc/sysconfig/network-scripts/ifcfg-p2p2 tienen el mismo UUID y MAC.
Para averiguar la MAC exacta de cada uno de los interfaces, ejecutamos el comando:
lshw -class network
Deshabilitamos el interface con:
cd /etc/sysconfig/network-scripts su - ./ifdown-eth ifcfg-p2p1
Editamos la configuración y cambiamos la MAC y el UUID. Para generar un nuevo UUID se puede usar el comando:
uuidgen p2p1
Guardamos los cambios y habilitamos el interface:
/ifup-eth ifcfg-p2p1
con ifconfig se puede comprobar si el interface tiene la correcta configuración MAC y UUID.
domingo, 7 de junio de 2015
Extender el tamaño de un disco vmdk
vboxmanage modifyhd wsWin7.vmdk --resize 40960este comando devuelve el error:
VBoxManage: error: Could not find file for the medium '/home/nicas/Downloads/wsWin7.vmdk' (VERR_FILE_NOT_FOUND) VBoxManage: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component Medium, interface IMedium, calleensISupports VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cppPara crear un clon con transformando de vmdk a vdi se usa:
vboxmanage clonehd wsWin7.vmdk wsWin7.vdi --format vdiUna vez clonado es posible extender el tamaño a 40GB = 40 x 1024 = 40960
vboxmanage modifyhd wsWin7.vdi --resize 40960Después podemos conectar el disco vdi directamente a la VM y sustituirlo por el vmdk o volverlo a convertir a vmdk con vboxmanage.
Una vez extendido el tamaño con vboxmanage es necesario extender la partición del disco en el sistema operativo huésped.
sábado, 6 de junio de 2015
VMDK: inconsistency between grain table and backup grain table
Elimino con yum autoremove todos los paquetes de la versión anterior.
rpm -aq VirtualBox yum list | grep virtualbox yum autoremove VirtualBox-4.2.x86_64 yum autoremove VirtualBox-4.3.x86_64
y lo vuelvo a instalar siguiendo los pasos de aqui.
Para ver las operaciones que se han seguido con yum con un paquete en concreto (por ejemplo firefox) se usa el comando:
yum history list firefox
Después de instalarlo, VirtualBox se ejecuta sin problemas. Descargo e instalo las Extensiones.
Sin embargo, cuando se intenta ejecutar cualquier VM tanto Windows como Linux, aparece el mensaje de error siguiente:
Failed to open a session for the virtual machine CentOS-6.4-i386-minimal. VMDK: inconsistency between grain table and backup grain table in '/path/al/disco/disco.vmdk' (VERR_VD_VMDK_INVALID_HEADER). VD: error VERR_VD_VMDK_INVALID_HEADER opening image file '/path/al/disco/disco.vmdk' (VERR_VD_VMDK_INVALID_HEADER). Failed to open image '/path/al/disco/disco.vmdk' in read-write mode (VERR_VD_VMDK_INVALID_HEADER). Failed to attach driver below us! VMDK: Invalid image file header. (VERR_VD_VMDK_INVALID_HEADER). AHCI: Failed to attach drive to Port0 (VERR_VD_VMDK_INVALID_HEADER). Result Code: NS_ERROR_FAILURE (0x80004005) Component: Console Interface: IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}
Si creo una maquina virtual nueva e intento instalar Windows 7, la instalacion no se completa y la VM no se puede arrancar porque dice que el archivo winload.exe esta corrupto.
Windows Failed to start. a recenent hardware or software change may be the cause. to fix this problem: (boot from the cd and repair windows) (doesnt actually say that but thats what it tells you to do) File: /windows/system32/winload.exe Status: 0xc0000221 Info: the file is possibly corupt. its header checksum does not match the computed checksum.
Ni siquiera intentando una reparacion del bootloader con el disco original de Windows funciona. El error aparece al arrancar la VM con Windows y no deja seguir.
Soluciono el problema eliminando el controlador SATA/AHCI donde encuentra conectado el disco que contiene el sistema por un controlador IDE. Simplemente conecto el disco que contiene el sistema operativo invitado al controlador IDE donde normalmente se encuentra el CDROM/DVD. Un único controlador IDE contiene los dos dispositivos. Se puede ver el mismo procedimiento aquí.
No sé muy bien porque no funciona el controlador SATA ni el SCSI.
sábado, 16 de mayo de 2015
Actualizacion de Fedora 18 a Fedora 20
Al intentar conectar GNOME Online Accounts con Google aparece un error indicado que la API oauth 1.0 ya no esta disponible para validación desde el 20 de Mayo de 2015. Se requiere que la aplicación que está usando para validar se migre a la versión de la API oauth 2.0.
Aquí empieza el problema porque no es posible autentificar en dos pasos con GNOME 3.6 por lo que es necesario actualizar a la versión 3.8. En lugar de actualizar GNOME únicamente decido actualizar todo el sistema para pasar de Fedora 18 a Fedora 19.
El procedimiento utiliza fedup para automatizar el proceso. Primero actualizo a la ultima versión todo el sistema con:
sudo yum clean all sudo yum update
y compruebo que fedup está en la última versión: 0.8
Comienzo la actualización ejecutando:
sudo fedup --nogpgcheck --network 20
Es importante indicar --nogpgcheck de lo contrario el proceso se detiene al finalizar la descarga de los paquetes y no continua porque no puede realizar la verificación pgp.
El proceso de preparación termina con los siguientes siguientes errores:
WARNING: problems were encountered during transaction test:
broken dependencies
kde-l10n-British-4.10.5-1.fc18.noarch requires kde-l10n-4.10.5-1.fc18.noarch
kmod-nvidia-3.11.10-100.fc18.x8664-1:319.60-3.fc18.3.x8664 requires kernel-3.11.4-101.fc18.x8664, kernel-3.11.9-100.fc18.x8664, kernel-3.11.10-100.fc18.x8664
speech-dispatcher-python-0.7.1-8.fc18.x8664 requires speech-dispatcher-0.7.1-8.fc18.x8664
libusb-static-1:0.1.3-11.fc18.x8664 requires libusb-devel-1:0.1.3-11.fc18.x8664
package conflicts
Traceback (most recent call last):
File "/bin/fedup", line 236, in <module>
main(args)
File "/bin/fedup", line 216, in main
for line in s.formatdetails():
AttributeError: 'ProblemSummary' object has no attribute 'format_details'
Ejecuto el siguiente comando de comprobación:
sudo yum check
y no devuelve ningún error. Por tanto, decido eliminar los paquetes que están causando conflictos:
sudo yum remove kde-l10n-British-4.10.5-1.fc18.noarch sudo yum remove kmod-nvidia-3.11.10-100.fc18.x86_64 sudo yum speech-dispatcher-python-0.7.1-8.fc18.x86_64
este último también elimina la dependencia: orca.x86_64 0:3.6.3-1.fc18
sudo yum libusb-static-1:0.1.3-11.fc18.x86_64
Vuelvo a ejectuar fedup. Sigue apareciendo el mismo error de package conflicts aunque todos los problemas de broken dependencies han desaparecido. El problema es que dice package conflicts pero no dice que paquete esta causando el conflicto:
El log file muestra lo siguiente: /var/log/fedup.log
[ 43.002] (II) fedup:message() 1:PacketTracer-5.3.3-1.i586
[ 43.002] (II) fedup:message() 1:v8-3.17.6.14-2.fc18.x8664
[ 43.002] (DD) fedup.yum:yumpluginforexc() checking traceback files: ['/bin/fedup', '/bin/fedup']
[ 43.002] (DD) fedup.yum:yumpluginforexc() plugin path is ['/usr/share/yum-plugins', '/usr/lib/yum-plugins']
[ 43.002] (II) fedup:<module>() Exception:
Traceback (most recent call last):
File "/bin/fedup", line 236, in <module>
main(args)
File "/bin/fedup", line 216, in main
for line in s.formatdetails():
AttributeError: 'ProblemSummary' object has no attribute 'format_details'
Por ello elimino también el paquete PacketTracer
sudo yum remove PacketTracer
y vuelvo a ejectuar fedup.:
sudo fedup --nogpgcheck --network 20
Ahora muestra el mismo error package conflicts
el ultimo archivo que se ve en la lista de packages without updates es:
1:v8-3.17.6.14-2.fc18.x86_64
En el archivo /var/log/fedup.log aparece:
[ 42.966] (II) fedup:message() 1:v8-3.17.6.14-2.fc18.x8664
[ 42.966] (DD) fedup.yum:yumpluginforexc() checking traceback files: ['/bin/fedup', '/bin/fedup']
[ 42.966] (DD) fedup.yum:yumpluginforexc() plugin path is ['/usr/share/yum-plugins', '/usr/lib/yum-plugins']
[ 42.966] (II) fedup:<module>() Exception:
Traceback (most recent call last):
File "/bin/fedup", line 236, in <module>
main(args)
File "/bin/fedup", line 216, in main
for line in s.formatdetails():
AttributeError: 'ProblemSummary' object has no attribute 'format_details'
[ 42.966] (II) fedup:<module>() /bin/fedup exiting with unhandled exception at Thu May 14 19:58:28 2015
Elimino v8, al eliminarlo tambien se eliminan las dependencias chromium. Los paquetes eliminados son:
Removing:
v8 x86_64 1:3.17.6.14-2.fc18 @fedora-chromium-stable
Removing for dependencies:
chromium x86_64 27.0.1453.93-1.fc18 @fedora-chromium-stable
Vuelvo a ejecutar fedup y de nuevo sigue el error:
[ 42.971] (DD) fedup.yum:yumpluginforexc() checking traceback files: ['/bin/fedup', '/bin/fedup']
[ 42.971] (DD) fedup.yum:yumpluginforexc() plugin path is ['/usr/share/yum-plugins', '/usr/lib/yum-plugins']
[ 42.972] (II) fedup:<module>() Exception:
Traceback (most recent call last):
File "/bin/fedup", line 236, in <module>
main(args)
File "/bin/fedup", line 216, in main
for line in s.formatdetails():
AttributeError: 'ProblemSummary' object has no attribute 'formatdetails'
[ 42.972] (II) fedup:<module>() /bin/fedup exiting with unhandled exception at Thu May 14 20:09:22 2015
Añado en el archivo /etc/yum.conf la siguiente linea:
pluginpath=/usr/lib/yum-plugins
Y vuelvo a ejecutar fedup, el error sigue siendo parecido:
[ 50.074] (DD) fedup.yum:yumpluginforexc() checking traceback files: ['/bin/fedup', '/bin/fedup']
[ 50.074] (DD) fedup.yum:yumpluginforexc() plugin path is ['/usr/lib/yum-plugins']
[ 50.074] (II) fedup:<module>() Exception:
Traceback (most recent call last):
File "/bin/fedup", line 236, in <module>
main(args)
File "/bin/fedup", line 216, in main
for line in s.formatdetails():
AttributeError: 'ProblemSummary' object has no attribute 'formatdetails'
[ 50.074] (II) fedup:<module>() /bin/fedup exiting with unhandled exception at Thu May 14 20:24:24 2015
Parece que el problema pudiera estar conectado con los plugins de yum puesto que fue el ultimo modulo que se ejecuto antes del Exception. Por ello modifico el archivo /etc/yum.conf y cambio la linea plugins=0 por plugins=1
El resultado es el mismo, sigue el error sin indicar cual es el paquete que tiene conflicto. Restablezco el valor de plugins en el archivo /etc/yum.conf
También elimino el paquete Skype porque la versión instalada es Skype.4.3.0.37-fc16 y no tiene actualización. También elimino Ushare por el mismo motivo.
A pesar de los errores, decido reiniciar el sistema. Al reiniciar, junto con la opción de arranque existente aparece una nueva opción: System Upgrade (fedup).
Al seleccionarla comienza el arranque y se detiene al intentar montar el sistema de ficheros, ya que mi sistema es RAID y al parecer, requiere renombrar las entradas de los dispositivos montados en el /etc/fstab.
Se muestra el mensaje:
* Warning -- SELinux targeted polity relabel is required.
Relabeling could take a very long time, depending on file
** system size and speed of hard drives.
[ OK ] Started Recreate Volatile Files and Directories.
Después de un largo rato, es posible pensar que el sistema esta colgado, el inicio continua y se detiene mostrando el mensaje Starting GDM:
Started GNOME Display Manager
Elimino todos los archivos de configuración xorg de /etc/X11 y /etc/X11/xorg.conf.d moviendolos a ~/Documents/Configuration sin embargo, sin los archivos en /etc/X11/xorg.conf.d el sistema no arranca por lo que muevo de nuevo los archivos a su lugar de origen. Los archivos en /etc/X11/xorg.conf.d son:
00-anaconda-keyboard.conf
00-avoid-glamor.conf
10-Media-Center-Infrared-Remote-Transceiver.conf
99-nvidia.conf
Ahora el sistema arranca, la pantalla GDM muestra el inicio clásico. Al entrar al sistema, compruebo que no se ha actualizado, simplemente se muestra el entorno GNOME clásico. Compruebo la versión de GNOME con:
gnome-shell --version
y sigue siendo la versión 3.6
Es mas, tampoco se ha actualizado el sistema, al hacer:
cat /etc/fedora-release
o
cat /etc/issue
sigue mostrando la versión Fedora 18 (Spherical Cow)
Sin embargo, al hacer:
uname -r
devuelve la versión del núcleo 3.19.5-100.fc20.x86_64
En cualquier caso, el sistema se inicia.
Si en lugar de elegir la opcion System Upgrade en GRUB se elige la opción Fedora, reinicia el sistema antiguo aunque para reiniciarlo vuelve a renombrar el sistema de archivos y, por tanto, tarda en arrancar. Después de iniciar la versión anterior, reiniciamos de nuevo System Upgrade, el sistema de archivos se vuelve a renombrar.
Al revisar el /var/log/fedup.log encuentro que se produce un aviso de conflicto con MySQL indicando que no hay update para MySQL y que en sustitución se instalará MariaDB. Al eliminar el paquete mysql-server y volver a ejecutar fedup, el error desaparece.
Después de ejecutar fedup, reinicio el sistema con la opción System Upgrade y a continuación ejecuto:
rpm --rebuilddb yum clean all yum --release=20 distro-sync --nogpgcheck
y el sistema comienza a actualizar todos los paquetes. Al finalizar, se reinicia con éxito en la nueva versión.
martes, 12 de mayo de 2015
Visualizar la carga de cada núcleo del procesador
htopEste comando necesita que ncurses esté instalado en el sistema.
Otra opción es usar mpstat. Tiene muchas posibilidades, puede mostrar la media o valores individuales para cada procesador.
mpstat -P ALL 2 5Por ejemplo, este comando genera cinco informes de utilización de todos los procesadores cada 2 segundos.
miércoles, 25 de marzo de 2015
Contar el número de archivos en un directorio y subdirectorios
ls -1 | wc -l
Para contar el número de archivos por subdirectorio, se copia y pega en la consola el siguiente script:
fc() { # Usage: fc [depth >= 0, default 1] # 1. List all files, not following symlinks. # (Add filters like -maxdepth 1 or -iname='*.jpg' here.) # 2. Cut off filenames in bulk. Reverse and chop to the # first / (remove filename). Reverse back. # 3. Cut everything after the specified depth, so that each line # contains only the relevant directory path # 4. Cut off the preceeding '.' unless that's all there is. # 5. Sort and group to unique lines with count. find -P . -type f / | rev | cut -d/ -f2- | rev \ | cut -d/ -f1-$((${1:-1}+1)) \ | cut -d/ -f2- \ | sort | uniq -c }Y a continuación si se quiere ver el número de archivos totales contando con los subdirectorios usamos:
fc 0
Y para ver cada subdirectorio especificado, hacemos:
fc
viernes, 20 de marzo de 2015
Permisos extendidos
Para ver los permisos extendidos usamos:
ls -laZ
Para cambiar los permisos extendidos usamos:
restorecon -Rv /etc/httpd/ssl/