Feb 11 2010

Error APT: E: Unable to lock the download directory

Aquí otro tip rápido para nuestras cajas con Linux, si al hacer un:

$ apt-get upgrade

Nos devuelve un error algo así:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
  bind9 bind9-host dnsutils libbind9-30 libdns35 libisc35 libisccc30
  libisccfg30 liblwres30 linux-generic linux-headers-generic
  linux-image-generic linux-restricted-modules-generic netatalk
The following packages will be upgraded:
  libmysqlclient15-dev libmysqlclient15off mysql-client mysql-client-5.0
  mysql-common mysql-server mysql-server-5.0 php5-imap
8 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.
3 not fully installed or removed.
E: Could not get lock /var/cache/apt/archives/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the download directory

Lo único que debémos hacer como root es:

$ pkill apt
  • Share/Bookmark

Dic 23 2009

Perl para reemplazar cadenas de texto en archivos

Aquí un tip rápido para buscar cadenas de texto dentro de un patrón de ficheros o también para uno solo. Por ejemplo, si tenemos 100 ficheros que en algún lugar en su interior contienen una cadena que queremos reemplazar, nos hará el trabajo pesado en un par de segundos.

Esta es la sintaxis:

perl -pi -e ’s/cadena vieja/cadena nueva/g’ patron

Un ejemplo practico seria:

perl -pi -e ’s/index.html/index.php/g’ *.html

  • Share/Bookmark

Dic 10 2009

Cambiar el directorio $HOME en Linux

A veces es necesario cambiar la ruta del home de algun usuario de nuestro sistema, este tip rapido les ayudara por si es necesario hacerlo, en una sola linea quedara listo!

$ usermod -d /ruta/al/nuevo/directorio/ -m miusuario

  • Share/Bookmark

Dic 10 2009

Configurar un Servidor FTP en Ubuntu (ProFTPd)

La conectividad en estos días, es la necesidad  de muchos administradores de sistemas y de usuarios avanzados, por lo que hoy, veremos cómo hacer funcionar un servidor FTP en nuestras cajas con Ubuntu.

El primer paso, es actualizar nuestra paquetería para después instalar lo que necesitamos.

$ apt-get update && apt-get upgrade
$ apt-get install proftpd ucf

Ahora editaremos el fichero de configuración de nuestro servidor FTP, en este caso, el ProFTPd.

$ vim /etc/proftpd/proftpd.conf

Durante la instalación del servidor, nos preguntara como lo queremos ejecutar, seleccionamos “Standalone”.

Tenemos que modificar estas líneas únicamente para un funcionamiento simple pero efectivo y dejarlas de la siguiente manera:

ServerName                    "Mi Servidor"
ServerType                     standalone
DefaultRoot                     ~
MaxInstances                  30

Explicación breve de las opciones anteriores:
ServerName = El nombre que mostrara nuestro servidor
ServerType = Standalone, aquí solo verificamos que sea un Standalone, ya que lo especificamos desde la instalación.
DefaultRoot= ~ Esto es, que los usuarios del sistema que tengan derecho a login solo podrán navegar en su Home

Ahora, reiniciamos nuestro servicio:

$ /etc/init.d/proftpd restart
  • Share/Bookmark

Nov 9 2009

Cambia la raiz de tu Ubuntu Linux a un disco duro mas grande

A veces necesitamos cambiar nuestro sistema operativo de algún disco duro a otro, ya sea de igual tamaño o de mayor capacidad, en mi caso, tengo un servidor con Ubuntu Server y un disco duro de 160 GB, el que necesitaba migrar a un nuevo SATA de 1TB, pero después de 6 meses de producción, el sistema está configurado perfectamente, Samba, Apache,MySQL, Netatalk etc.

Por esta razón es mucho más fácil migrar tu instalación exactamente como esta, a volver a instalar limpio y configurar todo de nuevo. Si solo tienes que cambiar de disco duro y son idénticos, los últimos pasos de la guía no serán necesarios.

Esta guia asume que:

  • El primer disco duro es /dev/sda
  • El segundo disco duro es /dev/sdb

Notas:

Esta guía está basada en Ubuntu, pero puede servir para cualquier otra distribución haciendo los ajustes necesarios, si tienen dudas por favor exprésenlas en la sección de comentarios y tratare de ayudarles en la distribución que usen.

No uses dd para hacer este tipo de operación, ya que este está diseñado para copiar archivos crudos y por bloque. Esto quiere decir que si copias desde un disco de 160 GB a uno de 320 GB, el resultado final te mostrara un disco duro de 160 GB. No entrare en detalles, pero créanme, no lo hagan.

Lo primero, es instalar gddrescue la herramienta que utilizaremos (tenemos que tener habilitado el repositorio “universe”.

$ sudo apt-get install gddrescue

Una vez instalado el paquete ejecutamos el siguiente comando:

$ sudo ddrescue -v /dev/sda /dev/sdb transfer.log

En donde -v indica que nos informe de lo que sucede y el transfer.log, es donde almacenaremos la salida del comando para después poder analizarla si así lo deseamos. Con el comando en ejecución, deberemos de ver algo así:

user@server:~# sudo ddrescue -v /dev/sda /dev/sdb transfer.log

About to copy 146810 MBytes from /dev/sda to /dev/sdb
Starting positions: infile = 0 B,  outfile = 0 B
Copy block size: 128 hard blocks
Hard block size: 512 bytes
Max_retries: 0    Split: yes    Truncate: no

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:   397869 kB,  errsize:       0 B,  errors:       0
Current status
rescued:    28361 MB,  errsize:       0 B,  current rate:   25165 kB/s
ipos:    28361 MB,   errors:       0,    average rate:   22753 kB/s
opos:    28361 MB
Copying data...

Cuando se termine de procesar la información, tendremos una copia exacta en el disco duro destino, solo restara cambiarlo y arrancar para probar que todo funcione correctamente.

En mi caso, tuve que crear una partición con el espacio que sobro en el disco destino para montar /home/ pero esto debe de ser muy sencillo, así que no lo incluiré en esta guía.

  • Share/Bookmark