viernes, 10 de diciembre de 2010

Cambio a Pepephone

Me acabo de cambiar a Pepephone para poder tener una tarifa sin establecimiento de llamada.

Yo hago muchas llamadas cortas y otras muchas son cortas lo quieras o no (sale un buzón de voz, un fax, se corta nada más descuelgan, no se escucha nada al otro lado...). No me gusta pagar 0,15€ cada vez que sucede esto. Además si no pagas el establecimiento puedes hacer más llamdas del tipo "Dónde estás" por el mismo precio.

La tarifa que permite esto es la Tarifa Movilonia (http://www.pepephone.com/tarifamovilonia/).

0,12€ por minuto puede parecer caro, pero si la llamada se alarga pasa a 0,07€/min. con lo que comparado con una tarifa constante de 0,07€/min. + 0,15€ de establecimiento, sale más o menos igual (http://www.movilonia.com/tarifa-movil-sin-establecimiento-llamada-pepephone-movilonia-vip/comparativas/).

La configuración es la siguiente:
  • Internet: APN=gprsmov.pepephone.com
  • SMS: Centro de servicio=+34607003110
  • MMS: APN=mms.pepephone.com, usuario=wap@wap, Contraseña=wap125, IP Proxy= 212.073.032.010, Puerto Proxy=80, Servidor de Mensajes=http://mms.pepephone.com/servlets/mms
  • En el panel de control Web se puede solicitar que nos envíen la configuración anterior a nuestro teléfono.
  • Activar llamadas perdidas: primero desactivamos el buzón de voz y todos los desvíos con ##002# y tecla de llamada o envío. Finalmente **62*603000603# y tecla de llamada o envío.
El servicio de llamadas perdidas es al contrario que Simyo: da de menos. Solo avisan de las llamadas recibidas mientras estamos fuera de cobertura o con el teléfono apagado. P.e. cuando alguien nos llama mientras estamos hablando no nos mandan un SMS de aviso al acabar la conversación.

Se puede pedir a Atención al Cliente (1212 ,, 902337373 ,, 634501212 ,, pepephone@pepephone.com) que nuestro teléfono de fuera de cobertura cuando nos llaman mientras estamos hablando (en lugar de dar comunicando), en cuyo caso sí nos llegaría un SMS avisando. Me da la impresión de que es una especie de apaño no fiable y no hay ningún código USSD para hacerlo uno mismo.

martes, 16 de marzo de 2010

Script Bash de copia de seguridade de Gnu a Samba

# Copyright 2010 Adrián Chapela, Manuel Cameselle
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.

# ==============================================================
# Copia de seguridade GNU de disco local a unidade de rede Samba v1.1
# ==============================================================
#
# O script, copia DIR_CONFIGURACION e copia comprimidos DIR_DOCUMENTOS, DIR_CORREO e DIR_ESCRITORIO por rede
# mediante Samba a //SMB_SERVER/SMB_SHARE. Suponse que o usuario ten como login 'usuario1', que existe o directorio
# local '/mnt/snap', que o servidor Samba chámase 'snap' que ten unha carpeta no raíz chamada 'backups' e que
# o acceso é mediante un usuario con login 'usuario_samba' con permiso de acceso total a dito subdirectorio.
# Na variable 'limite_copias' indícase a antigüedade máxima das copias (eliminaránse as que excedan).
# Suponse que o script executarase dende a propio directorio no que está. Se non hai que cambiar 'LOG_FILE'.
# Ó acabar a copia ordéase o apagado do equipo.
#
# O uso recomendado é:
# 1.- Pechar a sesión gráfica (para asegurar que non perdamos nada cando apaguemos o equipo)
# 2.- Lanzar o script
# Para non ter problemas de permisos, podemos lanzar o script como root, pero non convén deixar aberta a sesión de root,
# así que hay que bloqueala ou pechala sen que o proceso de copia morra. Para facer isto nunha sesión de texto:
# 1.- Entramos como root
# 2.- executamos 'screen'
# 3.- Lanzamos o script (p.e. ./copia_seguridade_gnu_a_samba.sh usuario1)
# 4.- Saímos de screen con 'CTRL+a d'
# 4.- Saímos da sesión de root con 'exit'

#!/bin/bash
# Copia de seguridade

#Recibe o nome (login) do usuario do que queremos facer a copia.

#Configuracións USUARIO
usuario=$1
DIR_DOCUMENTOS=/home/$1/Documentos
DIR_CORREO=/home/$1/.mozilla-thunderbird
DIR_ESCRITORIO=/home/$1/Escritorio
DIR_CONFIGURACION=/etc


#Posible mellora: xerar un array de directorios para poder engadir ou quitar directorios fácilmente
#Posible mellora: xerar un array de directorios/ficheiros para excluir da copia

#Ficheiros LOG
LOG_FILE=/var/log/$0.log
#OLLO: o script debe executarse dende o directorio onde está, porque senón $0 collería a ruta completa...
ERROR_LOG_FILE=/tmp/erro

MOUNT_ERROR=/tmp/mount_error

# Samba datos
SMB_USER=administrador
#Se non cubrimos a password (recomendado) pedirase por consola...
SMB_PWD=
SMB_MOUNT=/mnt/snap
SMB_SERVER=snap
SMB_SHARE=backups

# Variables de control
MONTADO=0
fin=0
x=0
num=10
cantidade_copias=0
limite_copias=5

#########
#Funcións
#########
function imprime {
#imprime en pantalla o texto e ademais o engade a ficheiro

echo $1 #se queremos recibir unha data aquí ten que estar nun formato "compacto" coma `date +%d-%m-%Y_%H:%M:%S`
echo $1 >>$2
}

function copia {
#copia o contido indicado (opcionalmente con compresión)
#Parámetros:
# $1 -> nome do directorio destino (doc, escritorio, correo, etc)
# $2 -> ruta do directorio orixe (DIR_DOCUMENTOS, DIR_CORREO, DIR_ESCRITORIO)
# $3 -> tipo de copia (f=tar.gz, d=directorio)

if [ ! -d "$SMB_MOUNT/clientes/$usuario/$1" ]; then
imprime "O directorio $SMB_MOUNT/clientes/$usuario/$1 non existía -> creámolo." $LOG_FILE
mkdir $SMB_MOUNT/clientes/$usuario/$1
fi

imprime `date +%d-%m-%Y_%H:%M:%S`" - Copiando '$1': '$2'..." $LOG_FILE
if [ $3 = "f" ]; then
tar cvfz $SMB_MOUNT/clientes/$usuario/$1/$1-`date +%d-%m-%Y`.tar.gz $2 2> $ERROR_LOG_FILE
elif [ $3 = "d" ]; then
mkdir $SMB_MOUNT/clientes/$usuario/$1/$1-`date +%d-%m-%Y`
cp -vRu $2/* $SMB_MOUNT/clientes/$usuario/$1/$1-`date +%d-%m-%Y`/ 2> $ERROR_LOG_FILE
fi
cat $ERROR_LOG_FILE >> $LOG_FILE
imprime `date +%d-%m-%Y_%H:%M:%S`" - '$1' copiado." $LOG_FILE

#Cantidade de copias
cantidade_copias=`ls -l $SMB_MOUNT/clientes/$usuario/$1/ |grep $1- |wc -l`
if [ $cantidade_copias -gt $limite_copias ]; then
imprime `date +%d-%m-%Y_%H:%M:%S`" - Cantidade de copias de '$1' maior ao límite. Borrando antigas..." $LOG_FILE
cantidade_copias=0
rm -rf `find $SMB_MOUNT/clientes/$usuario/$1 -type $3 -mtime +$limite_copias` 2>> $LOG_FILE
fi
}

#################
#Script principal
#################
imprime `date +%d-%m-%Y_%H:%M:%S`" - Iniciando aplicación..." $LOG_FILE

if [ "$1" != "" ]; then
while [ $MONTADO -lt 1 ]; do
if [ "$SMB_PWD" != "" ]; then
mount -t smbfs -o username=$SMB_USER,password=$SMB_PWD //$SMB_SERVER/$SMB_SHARE $SMB_MOUNT &> $MOUNT_ERROR
else
echo "Introduza contrasinal de '"$SMB_USER"' en '"$SMB_SERVER"'"
mount -t smbfs -o username=$SMB_USER //$SMB_SERVER/$SMB_SHARE $SMB_MOUNT &> $MOUNT_ERROR
fi

cat $MOUNT_ERROR >> $LOG_FILE

MONTADO=`mount |grep //$SMB_SERVER/$SMB_SHARE| wc -l`

if [ $x -gt $num ]; then
MONTADO=1
fi

sleep 5

let x=x+1

if [ $x -gt "1" ]; then
imprime "Reintento "$x $LOG_FILE
imprime "########################" $LOG_FILE
fi
done

if [ $x -lt $num ]; then
if [ ! -d "$SMB_MOUNT/clientes/$usuario" ]; then
imprime "O directorio $SMB_MOUNT/clientes/$usuario non existía -> creámolo." $LOG_FILE
mkdir $SMB_MOUNT/clientes/$usuario
fi

#Documentación, proxectos variados (tar.gz)
if [ "$DIR_DOCUMENTOS" != "" ]; then
copia "doc" $DIR_DOCUMENTOS "f"
fi

#Correo electrónico (tar.gz)
if [ "$DIR_CORREO" != "" ]; then
copia "correo" $DIR_CORREO "f"
fi

#Carpeta Escritorio (tar.gz)
if [ "$DIR_ESCRITORIO" != "" ]; then
copia "escritorio" $DIR_ESCRITORIO "f"
fi

#Configuración equipo (copia directorio sen compresión)
if [ "$DIR_CONFIGURACION" != "" ]; then
copia "etc" $DIR_CONFIGURACION "d"
fi

umount $SMB_MOUNT
else
imprime `date +%d-%m-%Y_%H:%M:%S`" - Erro montando Samba - Anulamos copia." $LOG_FILE
fi

imprime `date +%d-%m-%Y_%H:%M:%S`" - Finalizamos aplicación e ordeamos o apagado do equipo..." $LOG_FILE

# Apagamos o equipo
shutdown -h now "Apagado por copia de seguridade"
else
imprime `date +%d-%m-%Y_%H:%M:%S`" - Debe indicar o usuario do que quere facer a copia - Anulamos copia." $LOG_FILE

imprime `date +%d-%m-%Y_%H:%M:%S`" - Finalizamos aplicación." $LOG_FILE
fi

lunes, 15 de marzo de 2010

Conferencia Richard Stallman

El jueves 30 de abril de 2009 (¡sí!, ¡hace casi un año! O:-), Richard Stallman (el mentor del software libre) dio en Vigo dos conferencias en español sobre el software libre y las patentes, respectivamente.

Software Libre:
  • Considera que el software debe ser libre por cuestiones éticas y de bien común para la sociedad.
  • Enumera 4 libertades que desde GNU describen el software libre:
  • Libertad 0: ejecutarlo -> sin restricciones
  • Libertad 1: modificarlo-> estudiarlo y adaptarlo (acceso al código fuente)
  • Libertad 2: copiarlo -> redistribuir copias
  • Libertad 3: distribuirlo -> redistribuir copias modificadas
  • Sin alguna de estas libertades falta, el software no es bueno para la sociedad ya que estamos atados de alguna u otra manera, lo que nos perjudicará a corto, medio o largo plazo.
  • Considera que las razones éticas son las únicas que garantizan el bienestar de la comunidad a largo plazo.
  • Aquellos, como Linus Torvalds, que apoyan al software libre por razones prácticas y no éticas, no hacen bien a la comunidad a largo plazo.
  • Insistió en que Ubuntu, Trisquel, Galinux, Debian, etc. son sistemas operativos GNU con kernel Linux. No le gusta que se llamen Linux ya que esto solo es el núcleo (una pequeña parte) y fue lo último que se añadió. Todo el trabajo hecho durante años por GNU queda marginado. Tampoco considera correcto GNU/Linux ya que equipara ambas cosas.

Patentes:
  • No cumplen con su propósito y en el campo de la informática son totalmente inadecuadas. No entra a valorar si pueden ser adecuadas en otros campos.

Comenzó con estilo serio, aunque "pintoresco", pero tuvo bastantes momentos de humor:
  • Sobre la piratería piensa que no está bien atacar barcos con otros barcos.
  • Sobre la piratería informática piensa que no está bien atacar barcos con ordenadores.
  • Sorprendió con su dominio del español realizando varios juegos de palabras como "Te quiero mucho" (mientras bebía té) o "Por las noches quierote".
  • Al final se disfrazó de fiel de la iglesia "emacs".

Mucho después me enteré de que hace años que escribió un libro (libre, claro :-) sobre estas dos cuestiones. Se puede comprar la edición impresa, descargar la edición digital gratuitamente o ver la edición digital online.

Si no me equivoco volverá a estar en Vigo este 30 de abril de 2010.

jueves, 11 de marzo de 2010

Error VPN en Galinux/Ubuntu 9.10

Na 9.04 a autenticación de 'Certificados (TLS)' funcionaba ben, pero na 9.10 hai que facer o seguinte cambio (apaño):
  • Cambiar o tipo de autenticación de 'Certificados (TLS)' a 'Contrasinal con certificados (TLS)' e ¡inventarse un usuario, contrasinal e contrasinal de chave privada!.

jueves, 4 de marzo de 2010

Mover /home a outra partición

Eu tiña todo o sistema de ficheiros de GNU nunha única partición, pero dinme conta de que iso non era boa idea porque ó restaurar unha imaxe de sistema feita con Clonezilla ¡perdería tódolos datos de /home!. Así que dispúxeme a reducir a partición de / e facer unha nova para o /home no espacio liberado.

arrancar con usb live e:
  • reducir a partición do sistema e crear unha nova para o 'home' (p.e. co editor de particións 'gparted' )
  • acceder ó sistema de ficheiros do DD
  • renomear /home a /home_old
  • crear o directorio /home
  • montar a partición en /home (fstab + mount...)
  • copiar todo o contido de /home_old a /home
Se tes as ideas claras sobre como funciona o sistema de ficheiros de GNU é sinxelo pero as posibilidades de liala son altas.

lunes, 1 de marzo de 2010

Instalación de GNU/Linux

Instalación de Gnu/Linux (Ubuntu 8.04 / Galinux 8.04) no portátil OKI NB 0108.
Tamén se aplica a Trisquel 3.0.

Xa hai unha partición con XP e outra con MSDOS. Ademáis o xestor de arranque GAG está no sector de arranque do DD.

Arrancamos o CD de instalación de Ubuntu/Galinux coas opcións 'noapic' e 'acpi=off', senón colgarase.

Pola contra, noutros equipos pode suceder que o instalador poña 'acpi=off' sen necesidade e polo tanto non funcionarán cousas como apagar o PC. Nese caso probaremos a quitalo.

¡OLLO!: por defecto, a instalación é "Guiada", o que significa que ALTERA as particións sen pedir confirmación co conseguinte risco de perder datos (por desgracia a min xa me pasou e tíven que empregar "Active Partition Recovery" para recuperar "parte" dos meus datos).

Así que nestos casos hai que seleccionar instalación "Manual":
  • Escollemos partición onde queremos que se instale
  • Indicamos que monte /
  • Engadimos unidade de intercambio
¡OLLO!: por defecto GRUB instálase no sector de arranque do DD, co que perderemos o xestor de arranque que teñamos ahí (p.e. GAG). Para cambiar isto, na última "pantalla" do instalador, hai un botón 'Avanzado' no que lle podemos indicar que non instale Grub ou que o instale na propia partición de linux.

Aínda que non é necesario é convinte que non instalemos todo o sistema de ficheiros nunha única partición:
/var/log nunha partición aparte de 2GB garante que o sistema non se colga se queda sen espacio para os logs.
/home nunha partición aparte permite reinstalar o sistema sen perda de datos.

Ó arrancar por primeira vez, debemos engadir a '/boot/grub/menu.lst' as opcións 'noapic' y 'acpi=off'. Se nos olvidamos non volverá a arrancar e tenremos que editar o arranque do Grub (opción kernel) para agregalas, arrancar e finalmene engadilas a 'menu.lst'.

É posible que o noso Linux non detecte a Wifi nin tampouco correctamente o monitor (impidindo usar a resolución máxima). Para o primeiro podemos usar NDisWrapper e usar os drivers de Windows e para o segundo, podemos usar displayconfig-gtk. En Trisquel é mais difícil usar estas ferramentas, xa que non están soportadas ó ter relación con software non libre.
Se con displayconfig-gtk non conseguimos nada haberá que probar a editar directamente '/etc/X11/xorg.conf' e/ou descargar un driver específico para a versión concreta da nosa distribución.

Unha vez finalizada a instalación pode ser útil instalar Metapaquetes como:
-Thunderbird
-geany (tipo Ultraedit)
-SVN Workbench
-MySQL Query Browser
-Bless Hex Editor (editor hexadecimal)
-Wine Microsoft Windows Compatibility Layer
-VirtualBox OSE (para poder instalar Windows para programar con Visual Basic)
-VPN Connection Manager
-Samba (para compartir impresora e administrar grupo de red, etc.)
-Device Manager
-Gparted (Editor de particións de Gnome)
-KGRUBEditor
-Swfdec Flash Player

Tamén pode ser interesante instalar, a través de Synaptic, os paquetes:
* gettext
* p7zip-full
* smbfs
* smbclient

Se non están nos repositorios, estas aplicacións podemos instalalas directamente dende ficheiro (despois de descargar os paquetes correspondentes das súas respectivas Webs):
-peazip_3.0.LINUX.GTK2-2_all.deb. Se non se instala, para ter todas as funcións do formato 7Zip, hai que instalar o paquete 'p7zip-full'.
-GoogleEarthLinux.bin

Configuracións adicionais:
-O terminal gnome aparece moi pequeno por defecto. Para cambialo, utilizamos 'Sistema->Preferencias->Aplicacións Preferidas->Sistema', e engadimos isto ó comando de emulador de terminal: ' --geometry=99x35'.
-gedit -> engadimos o plugin "Panel do navegador de ficheiros" e cambiamos o esquema de cores a 'Oblivion'.
-geany -> agregamos o plugin "File Browser" e engadimos as extensións de VB ó ficheiro ~/.config/geany/filetype_extensions.conf: "FreeBasic=*.bas;*.bi;*.asp;*.frm;". Se as cores de resaltado de sintaxis non gustan, pódese probar a invertilas (Preferences->Editor->Display) ou podemos instalar geany-darkTango en ~/.config/geany/filedefs (e despois creamos ~/.config/geany/filedefs/filetypes.common coas liñas: [styling] ,, default=0xeeeeec;0x2e3436;false;false ,, current_line=0x0;0x565a5b;true;false ,, caret=0xffffff;0x0;false;false ,, brace_good=0x0000ff;0x6AC16A;true;false). Se a versión non arranca en galego, hai quedescargar o ficheiro 'http://i18n.geany.org/gl.po', compilalo con 'msgfmt gl.po', renomear o resultado a 'geany.mo' e copialo a '/usr/share/locale/gl/LC_MESSAGES/'.
-Bless Hex Editor -> cambiar 'default edit mode' a 'Overwrite', senón podemos liala cos prgs...
-Pode ser que as actualizacións automáticas non instalen tódolos recursos de idiomas => ao abrir "Soporte de Idioma" avisaranos se queremos instalalas.
-Para abrir por defecto un tipo de ficheiro con unha aplicación determinada, non chega con escoller 'Abrir con...' do menú contextual, senón que hai que facelo na pestaña 'Abrir con' da fiestra de propiedades.
-Desactivar 'Reproducir sons de alerta' en 'Preferencias -> Son'.
-VitualBox: podemos cargar un disco duro virtual en ~/.VirtualBox/HardDisks/ con Windows precargado (xerado previamente noutro VirtualBox).
-Se algunha aplicación non aparece no idioma preferido, buscaremos se hai unha extensión localizada (p.e. 'paquete_de_idioma_galego_para_o_thunderbird_2-2.0-tb.xpi').
-Se a instalación do Thunderbird non o fai, podemos agregalo como aplicación de inicio e 'Sistema->Preferencias->Aplicacións de inicio' con 'thunderbird %u'.



Varios:
-Para configurar OpenVPN intentamos con importar a configuración. Senón funciona escollemos cada ficheiro no sitio correspondente (ta.key en TLS, etc.). En 'Configuración IPv4->Camiños' marcamos 'Usar esta conexión só para recursos na súa rede'.

-Para facer unha imaxe da partición de sistema Clonezilla Live CD (partclone) é unha boa idea. Permite recuperar a imaxe nunha partición igual ou maior (aínda que non nunha menor).

-Se queremos montar automáticamente unha partición NTFS, como root, engadimos:
/dev/sda5 /media/DATOS auto
en /etc/fstab (sudo mkdir /media/DATOS ; sudo nano /etc/fstab)
Se a partición é FAT32 poida que non funcione ben 'auto' e haxa que por algo como 'vfat rw,uid=1000,nodev,user=meu_usuario,utf8'.

-Para saber qué drivers de vídeo temos e os seus nomes 'ls /usr/lib/xorg/modules/drivers/' devolve ficheiros como 'sisusb_drv.so', o que quere dicir que o nome do driver é 'sisusb'.

-Se eliminamos kernels antiguos VirtualBox pode deixar de funcionar con erro: "Kernel driver not installed (rc=-1908).... reinstall the kernel module by executing '/etc/init.d/vboxdrv setup'", pero pode non existir (p.e. versión repositorio Ubuntu14.04) e se soluciona con ' sudo dpkg-reconfigure virtualbox-dkms' (¿tamén necesario ' sudo dpkg-reconfigure virtualbox'?)


-Software non libre habitual:
  • plugin Flash de Adobe
  • drivers propietarios de NVidia
As distribucións GNU libres, como Trisquel (http://trisquel.info) usan unha versión libre do kernel Linux exenta de drivers propietarios e algunhas aplicacións modificadas (p.e. Firefox) para que non acepten fácilmente extensións non libres. Ademais nos seus repositorios só hai aplicacións que estén confirmadas que sexan libres.
-Galinux é unha galeguización de Ubuntu mediante o paquete AraOS (parece que mediante este paquete calquera pode facer unha distribución Ubuntu galeguizada). Igual que Ubuntu non é 100% libre.
Semella que o proxecto está abandoado pola actual Xunta, no obstante actualízase coma se fose Ubuntu.
A URL oficial é 'http://galinux.mancomun.org/' aínda que o mais interesante está en 'http://wiki.mancomun.org/'.


Migración dende Windows:
=================
Se estamos a migrar dende Windows a GNU e queremos conservar cousas, antes de instalar GNU:

-Exportar as conexións ODBC con REGEDIT co formato REGEDIT4.
-Instalar Thunderbird en Windows e importar todo o correo e configuracións (http://www.howtoforge.com/importing_outlook_express_into_thunderbird_evolution). Aínda que queramos utilizar Evolution en GNU hai que pasar previamente por Thunderbird.
-ó rematar teremos os contactos en '...Outlook Express'. É aconsellable movelos a 'Personal Adress book'.

Despois de instalar GNU:
-Para restaurar o correo electrónico sobreescribiremos os "datos" de Thunderbird de GNU cos de Thunderbird de Windows (http://www.howtoforge.com/importing_outlook_express_into_thunderbird_evolution).
-Para restaurar as conexións ODBC agregamos as librerías ODBC32 y ODBCCP32 no Wine, instalamos MyODBC e despois importamos as conexións co REGEDIT de Wine. Tamén hai que agregar as librerías ODBC32 y ODBCCP32. Quizais haxa que executar './winetricks mdac28'. Para xestionar as conexións ODBC en Wine úsase: .wine/dosdevices/c:/windows/system32/odbcad32.exe.