miércoles, 16 de julio de 2008

Debian en Mac G5

Para no variar queria experimentar Debian en una Mac G5. He aqui mi historia.

Instalacion:

Use un CDROM, pero debo confesar que no conozco mucho del mundo Mac asi que tuve que investigar como bootear desde la unidad de CD ( ya aprendi es encender el equipo y presionar la tecla Option-alt ).

Despues de haber logrado bootear desde cdrom, pense que seria en el prompt de boot, el clasico install, pero resulto que si lo hacia me aparecia este error:


opening display /pci@0, f0000000/NVDA,parent@10/NVDA,Display-A@0... ok
copying 0F device tree...done
Initializing fake screen: NVDA,Display-B
Calling quiesce ...
returning 0x01400000 from prom_init

Invalid memory access at %SRR0: 00000000.01403b88 %SRR1: 10000000.00083030

Apple Powermac 7,2 5.1.5f2 BootROM built on 09/21/04 at 11:58:53
Copyright 1994-2004 Apple Computer, Inc.
All Rights Reserved

Welcome to Open Firmware, the system time and date is 22:46:07 10/27/2004

To continue booting, type 'mac-boot' and press return
To shut down, type 'shut-down' and press return

Release keys to continue!



Leyendo un poco en la red encontre que se soluciona usando en el boot: expert64 video=ofonly

Despues otra que sucedio es que particione segun considere necesario, pero mas adelante en la instalacion me aparecio un error que decia:

No NewWorld boot partition was found. The yaboot boot loader requires an Apple_Bootstrap partition at least 819200 bytes in size, using the HFS Macintosh ...

Por lo que entendi, es que debia tener una particion para poner el boot loader. Creandola es suficiente.


Operacion:

Tan bella como siempre en un Debian ;)

viernes, 20 de junio de 2008

kde KCrash: Application 'kbuildsycoca' crashing...

KDE no termina de iniciar sesion y en .xsession-errors aparece.

startkde: Starting up...
kbuildsycoca running...
KCrash: Application 'kbuildsycoca' crashing...

Lo solucione iniciando session en gnome y en una terminal ejecutar kbuildsycoca. Salir e iniciar KDE.

jueves, 5 de junio de 2008

Ldap commands...

Para iniciar/detener servicio:
/etc/init.d/sladp start | stop


Para crear un index:
slapindex -v -f /etc/ldap/slapd.conf


Para backup de la base:
/etc/init.d/slapd stop (Debe estar detenido el servicio)
slapcat -v -f /etc/ldap/slapd.conf -l /home/local/backup-ldap.ldif



Para recuperar la base desde un respaldo:
/etc/init.d/slapd stop
rm -rf /var/lib/ldap/*
slapadd -v -c -l /home/admin/backup-ldap.ldif -f /etc/ldap/slapd.conf
/etc/init.d/slapd start



Para agregar un registro:
ldapadd -x -D 'cn=admin,dc=example,dc=exampledomain' -w password -f rvillar.ldif


Para eliminar un registro:
ldapdelete -x -h 127.0.0.1 -D 'cn=admin,dc=example,dc=exampledomain' -w password "cn=userdel,ou=People,dc=example,dc=exampledomain"


Para busquedas:
ldapserach -x
ldapsearch -x -b 'dc=example,dc=exampledomain' cn='Marcela Alegria' uid ou
ldapsearch -x -b 'dc=example,dc=exampledomain' "(&(ou=Math)(cn=*Pig*))"


Para crear una cadena para password cifrada:
slappasswd -u -s

Migracion del servicio Openldap a un nuevo servidor Debian...

Estos fueron los pasos que hice para migrar la informacion de un servidor ldap existente a un nuevo servidor de ldap (Debian).


* Hacer respaldo de la base ldap en el servidor actual

1) /etc/init.d/slapd stop
2) slapcat -v -f /etc/ldap/slapd.conf -l /home/local/backup-ldap.ldif


* En el nuevo servidor:


1) Instalacion de openldap

apt-get install slapd ldap-utils

2) En mi caso el apt-get no me pregunto nada y trato de configurarlo con informacion local, pero fue necesario cambiarlo a la definicion del servidor anterior.

# /etc/init.d/slapd stop

# vi /etc/ldap/ldap.conf
BASE dc=misubdom,dc=midom
URI ldap://127.0.0.1


# vi /etc/ldap/slapd.conf
suffix "dc=misubdom,dc=midom"
rootdn "cn=admin,dc=misubdom,dc=midom"


3) Probando la configuracion

# slaptest -f /etc/ldap/slapd.conf -d2


4) Iniciando el servicio
#/etc/init.d/slapd start

7) Comprobando que funciona
# ldapsearch -x

8) Ahora si, la migracion de la informacion propiamente dicho:

# /etc/init.d/slapd stop
# slapadd -v -c -l /home/admin/backup-ldap.ldif -f /etc/ldap/slapd.conf

9) Iniciando el servicio
#/etc/init.d/slapd start

10 ) Comprobando que funciona
# ldapsearch -x

miércoles, 4 de junio de 2008

Mi historia con Debian y Blu-Ray

Algo que me disgustaba mucho es tener que usar windows para leer el contenido de un disco de datos bluray, asi que me puse a investigar como poder leerlo desde mi Debian. Esta es la historia:

1) Verificar que tenia el modulo para udf:

$ lsmod | grep udf

2) Identificar el dispositivo al que hace referencia:

$ udevinfo -q env -n /dev/sr1
ID_CDROM=1
ID_CDROM_CD_R=1
ID_CDROM_CD_RW=1
ID_CDROM_DVD=1
ID_CDROM_DVD_R=1
ID_CDROM_DVD_RAM=1
ID_CDROM_MRW=1
ID_CDROM_MRW_W=1
ID_CDROM_RAM=1
ID_VENDOR=HL-DT-ST
ID_MODEL=BD-RE_GGW-H20L
ID_REVISION=YL01
ID_SERIAL=HL-DT-ST_BD-RE_GGW-H20L_635222222222-0:0
ID_SERIAL_SHORT=635222222222
ID_TYPE=cd
ID_INSTANCE=0:0
ID_BUS=usb
ID_PATH=pci-0000:00:1d.7-usb-0:8:1.0-scsi-0:0:0:0
GENERATED=1


Hasta ahi, parecia todo OK, hasta que se me ocurrio ejecutar el comando mount.

# mount -t udf -o ro /dev/sr1 /media/bluray/
mount: wrong fs type, bad option, bad superblock on /dev/scd1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so


Y claro a checar que mensaje mandaba dmesg:

UDF-fs: minUDFReadRev=250 (max is 201)

Ya con ese mensaje busque en la red la solucion y vi que se debe parchar el kernel para que soporte blu ray en version 2.50. Facil, no?... Claro, si se hace al modo Debian.

1) Bajar UDF 2.50 patch for linux 2.6.24

2) Instalar paquetes necesarios:

apt-get install libncurses5-dev linux-source-2.6.24 kernel-package

3) cd /usr/src
4) rm -rf linux
5) tar xjvf linux-source-2.6.24.tar.bz2
6) ln -s linux-source-2.6.24 linux
7) cd linux
8) cp /boot/config-2.6.24-1-686 .config
9) bzcat | patch -p1
10) make menuconfig
11) make-kpkg buildpackage -rev Custom.1 kernel_image
12) dpkg -i linux-image-2.6.24_Custom.1_i386.deb
13) shutdown -r now
14) mount -t iso9660 -o ro /dev/sr1 /media/bluray
15) ls -l /media/bluray

Nota: Encontre en la red dos cosas interesantes, pero creo que hasta cierto punto opuestas:
1) Nero tiene su version para Linux que permite quemar discos bluray
2) los bluray en Linux son por el momento de "solo lectura" :(

sábado, 3 de mayo de 2008

Debian como cliente de autenticacion de Openldap..

1) # apt-get install libpam-ldap libnss-ldap

2) Modificar archivos de pam para definir que sea valido autenticacion via ldap.

En /etc/pam.d/common-account

account sufficient pam_ldap.so
account required pam_unix.so


En /etc/pam.d/common-auth

auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure


En /etc/pam.d/common-password

password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5


En /etc/pam.d/common-session

session sufficient pam_ldap.so
session required pam_unix.so


En /etc/nsswitch.conf:

:%s/compat/ldap files/g




SOLUCION DE PROBLEMAS:

1) Cuando se trata de un usuario local, pide en 2 ocasiones el password. Eso se soluciona poniendo una opcion mas en los archivos /etc/pam.d/common-*

use_first_pass

ejemplo:
/etc/pam.d/common-auth

auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass

2) Al reiniciar el equipo, manda durante el boot el mensaje:


udevd[374]: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server
udevd[374]: nss_ldap: failed to bind to LDAP server ldap://ip.ldap: Can't contact LDAP server



Eso pasa por que se trata de conectar al servidor ldap antes de levantar la interfaz de red. Lo solucione asi:

# rm -rf /etc/rcS.d/S40networking
# ln -s /etc/init.d/networking /etc/rcS.d/S09networking

jueves, 1 de mayo de 2008

RPM - DEB

Comando utiles e interesantes


RPM:

rpm -qa --last ---> listar en orden de mas reciente a mas antiguo todos los paquetes instalados.

rpm2cpio | cpio -icduv ---> extraer el contenido del rpm en el directorio actual.

rpm -qpl archivo.rpm ---> lista el contenido de un archivo rpm no instalado.

rpm -ql paquete ---> lista el contenido de un rpm instalado.

rpm -qf archivo ---> Da el nombre del paquete que provee dicho archivo



DEB:

apt-show-versions ---> herramienta para listar paquetes y su estado respecto al repositorio. Para saber la version de determinado paquete usa -r paquete o bien usa -u para saber si esta actualizado o hay alguna actualizacion pendiente.

sort -r /var/log/dpkg.log | awk '{ if ($3=="install" ) print $4 " " $6 "\t" $1 " " $2 }' ---> como root puede listar de manera similar a rpm -aq --last

dpkg -X ---> extraer el contenido de un deb.

dpkg -c paquete_NO_instalado ---> Lista de archivos que provee el paquete deb NO instaldo.

dpkg -L paquete_instalado ---> Lista de archivos que provee el paquete deb.

dpkg -S archivo ---> Lista el nombre de paquete que provee dicho archivo


ALIEN:

alien -d paquete.rpm