A veces pasa que perdemos o modificamos sin querer (o saber) la contraseña de root de MySQL. Hay varios trucos (en debian usar el usuario debian-sys-maint) pero este funciona bastante bien:
Categoría: Debian
Poner /etc bajo control de versiones …
… es bien sencillo con etckeeper. Y en howtoforge nos dan más información:
En resumen:
- Instalar con APT
- Editar la conf y decididir que motor VCS queremos
- Hacer un etckeeper init
- Opcionalmente hacer un etckeeper init
Y a jugarrrrrrrr!
Archivo de paquetes de Debian Etch
Debian Etch a dejado de tener soporte, por lo que los repositorios de paquetes «normales» ya no están accesibles. SI tienes una Etch por ahà fucionando y necesitas instalar algo, este enlace te explica como:
http://linuxsysadminblog.com/2010/07/debian-ftp-archive-for-etch-archive-debian-org/
Cambios en el servidor etxea
Anoche migré el servidor sobre el que corre etea.net, chainmen.com, codadabrazospartidos y demás. Es ya la 4º plataforma sobre la que corre este sitio. Todo empezó con un sencillo servidor en mi casa (un AMD K6 si no recuerdo mal). Luego, cuando empecé a trabajar contraté un pequeño servidor dedicado en OVH, un kemiserver con tan solo 512Mb de ram. sobre este sistema corrio mucho tiempo este sitio, hasta que se quemó el servidor y me lo cambiaron por otro similar, pero más potente (pasó a 1Gb de ram).
TenÃa pendiente la migración a un nuevo kemiserver (más barato y potente) desde hace ya meses y por fÃn ayer me animé. He contrado un KemiServer C-250G que calza un Celeron D/215/220, 2Gb de RAM y 250Gb de HD. Sobre el me han puesto una proxmox (sobre Debian) y en ella he virtualizado el anterior servidor (un tar inicial, un rsync final y todo migrado en poco más de 2h). TodavÃa queda algún fleco (algún DNS por cambiar) pero ha sido poco traumático.
Esperemos que este cambio de la estabilidad que últimamente le faltaba a etxea.net.
Conseguir CDs de versiones «antiguas» de Debian
Monitorizar la entrada y salida de tu linux
El otro dÃa en el curro tenÃamos un servidor medio caÃdo por que si IO waiting era mas heavy que los Hellowen. El problema es que no sabÃamos quien era el culpable. Nos pusimos a buscar la manera de dar con el y Txema nos apunto la existencia de iotop. Desgraciadamente el server corrÃa una versión del kernel demasiado antigua y no nos sirvió de mucho. Pero bueno, es una herramienta interesante.
Empaquetado deb rápido y sucio de aplicaciones python
Ieup,
Toca mini-receta basado en el artÃculo de David en la web de crysol.
- Necesitamos un fichero setup.py. Si el software no lo trae deberemos crearlo nosotros.
- creamos el dir debian: mkdir debian
- Creamos el fichero debian/control:
- Creamos el rules (ojo, tiene que ser ejecutable
chmod +x debian/rules
): - Creamos el debian/changelog :
dch --create
Source: hola-pythoneros
Section: utils
Priority: optional
Maintainer: Juan Nadie <[email protected]>
Build-Depends: debhelper (>= 5.0.38)
Build-Depends-Indep: cdbs (>= 0.4.43), python-all-dev (>= 2.3.5-11), python-central (>= 0.5.6)
Standards-Version: 3.7.2
XS-Python-Version: all
Package: hola-pythoneros
Architecture: all
Depends: ${python:Depends}
XB-Python-Version: ${python:Versions}
Description: Ejemplo básico de script Python empaquetado en Debian GNU/Linux
Un script "hola mundo" que sirve únicamente para explicar cómo se
empaquetan scripts Python en GNU/Linux de forma adecuada.
#!/usr/bin/make -f
DEB_PYTHON_SYSTEM=pycentral
DBK2MAN_XSL=/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/python-distutils.mk
Con esto tenemos lo ultrabásico para poder compilar el paquete deb: dpkg-buildpackage
Es una manera sucia de empaquetar algo (es más una nota mental para mi que un howto) y para que el paquete sea medio decente hay que hacer muchas más cosas 🙂 Leeros el articulo de David que es más completo.
Como procesar un fichero .changes de un paquete debian
Buenas,
Si queremos procesar un fichero .changes de un paquete debian es tan sencillo como:
- Quitarle la firma
- Procesar el contenido con una librerÃa de yaml, por ejemplo syck
En código serÃa lo siguiente:
import os
import GnuPGInterface
import syck
changes_file = '/tmp/factoriapegaso-panel_0.2.6-4_amd64.changes'
gnupg = GnuPGInterface.GnuPG()
ciphertext = open(changes_file).read()
p2 = gnupg.run(['--decrypt'], create_fhs=['stdin', 'stdout'])
p2.handles['stdin'].write(ciphertext)
p2.handles['stdin'].close()
decrypted_plaintext = p2.handles['stdout'].read()
p2.handles['stdout'].close()
#Puede fallar por no tener la llave GPG
try:
p2.wait()
except:
pass
changes_info = syck.load(decrypted_plaintext)
print "tenemos:"
print changes_info
No es lo mas elegante del mundo, solo una prueba de concepto 🙂
Howto parse a debian changes file in python
Firts post in English (just a test :). If yo want to parse a debian package changes file in python is so easy as:
import os
import GnuPGInterface
import syck
changes_file = '/tmp/factoriapegaso-panel_0.2.6-4_amd64.changes'
gnupg = GnuPGInterface.GnuPG()
ciphertext = open(changes_file).read()
p2 = gnupg.run(['--decrypt'], create_fhs=['stdin', 'stdout'])
p2.handles['stdin'].write(ciphertext)
p2.handles['stdin'].close()
decrypted_plaintext = p2.handles['stdout'].read()
p2.handles['stdout'].close()
#Puede fallar por no tener la llave GPG
try:
p2.wait()
except:
pass
changes_info = syck.load(decrypted_plaintext)
print "tenemos:"
print changes_info
Como descubrir que paquetes deb ocupan mas en tu HD
VÃa linux.com(en un árticulo sobre creación/modificación de livecd-s) encuentro esta útil orden para saber que paquetes deb desinstalar cuando estas en plena «operación bikini» en tu compu:
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less