Cambiar el directorio base para los vservers

Por defecto, al instalar util-vserver, el directorio base para los vservers es /var/lib/vservers. Quizás no haya mucho espacio en /var o por comodidad se quiera cambiar. Para ello, hay que hacer lo siguiente:

mkdir /home/vservers
rm /etc/vservers/.defaults/vdirbase
ln -s /home/vservers /etc/vservers/.defaults/vdirbase
setattr --barrier /home/vservers

El  setattr --barrier /home/vservers es para cambiar los permisos de ese directorio y que los vservers no se puedan «escapar» de ese directorio.

Fuente: http://riseuplabs.org/grimoire/vserver/preparing/

Instalar emacs23 desde CVS

Dependiendo de los paquetes que tengamos instalados, puede que sea necesario instalar alguno para poder compilar emacs23.

A saber:

cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
cd emacs
./configure
make bootstrap && make

Si no queremos interfaz gráfica podemos configurarlo con ./configure --without-x.

Ahora como root haremos make install. Después de esto, si queremos ahorrar un poco de espacio en el sistema, podemos ejecutar make clean.

Extras

Si queremos añadir un conjunto de paquetes/funcionalidades (por ejemplo markdown-mode, matlab-mode, etc), podemos descargar el .tar.gz desde emacs-goodies-el. Podemos descomprimir este archivo en /tmp/ y examinar los archivos .el que son los paquetes en sí.

Ahora editamos el archivo ~/.emacs para añadir el directorio ~/.emacs.d/plugins al directorio de carga de paquetes:

;; recursively add ~/.emacs.d/plugins to the load path
(if (fboundp 'normal-top-level-add-subdirs-to-load-path)
(let* ((my-lisp-dir "~/.emacs.d/plugins/")
(default-directory my-lisp-dir))
(setq load-path (cons my-lisp-dir load-path))
(normal-top-level-add-subdirs-to-load-path)))

Creamos el directorio mkdir -p ~/.emacs.d/plugins y copiar los archivos .el que queramos. Después, tendemos que modificar el archivo ~/.emacs para indicar cuales usaremos de todos los que están disponibles en ese directorio.
NOTA: si tenemos muchos archivos ahí, se ralentizará la carga de emacs.

Vamos con un ejemplo. Supongamos que hemos copiado el archivo php-mode.el en el directorio ~/.emacs.d/plugins. Ahora tenemos que modificar el archivo ~/.emacs para indicar que debe cargar el modo PHP:

;; enable php syntax
(autoload 'php-mode "php-mode" "PHP editing mode" t)
(add-to-list 'auto-mode-alist '("\\.php\'" . php-mode))

Instalar pnopaste (Perl Nopaste)

Quería tener un pastebin/nopaste en mi servidor y este me ha gustado. Se puede instalar con los sources de Debian Squeeze, pero yo lo instalaré desde las fuentes.

Primero se descarga desde http://sourceforge.net/projects/pnopaste/. Se descomprime en un directorio visible por el servidor web (por ejemplo: /home/www/public_html/pnopaste)

cd /home/www/public_html
wget http://garr.dl.sourceforge.net/project/pnopaste/pnopaste/1.3/pnopaste-1.3.tar.gz
tar xzv pnopaste-1.3.tar.gz
mv pnopaste-1.3 pnopaste

Voy a suponer que ya tenemos un usuario y una base de datos lista para usar por pnopaste. Lo que haremos será crear las tablas de esa base de datos:

cd /home/www/public_html/pnopaste/sql
mysql -u usuariopnopaste -p dbpnopaste < mysql_5.sql

Lo siguiente es modificar ciertos archivos. SQL_Access.pm debe contener los datos para conectar con la base de datos. En Syntax_Languages.pm elegiremos los lenguajes que nos dejará resaltar(VHDL, Matlab, etc). Para que funcione el script expired_delete.pl hay que añadir una línea antes de use lib::Expire;

use lib "/home/www/public_html/pnopaste";

Ahora a instalarlo (como root):

cd /home/www/public_html
cp bin/nopaste-it /usr/bin/
gzip man/nopaste-it.1
cp man/nopaste-it.1.gz /usr/share/man/man1

Dentro de la configuración del Apache, se recomienda que el DocumentRoot tenga lo siguiente:


<Directory /home/www/public_html/pnopaste>
   AllowOverride   all
   DirectoryIndex  index.pl
   AddHandler      cgi-script .pl
   Options         Indexes ExecCGI
</Directory>

Para probar si funciona: http://localhost/pnopaste

El nopaste-it es para enviar contenidos desde la línea de comandos. Para ver su uso: man nopaste-it.

PDF: cuatro páginas por cara

Ya había escrito sobre dos páginas por cara. Esta vez son cuatro y para que me resultara más fácil leerlos, he tenido que usar el parámetro column y scale.

El parámetro --column true hace que las páginas dentro la cara vayan en el siguiente orden:

pdfnup-column

Si no pusiéramos el anterior parámetro, se intercambiarían las páginas 2 y 3, quedando igual la 1 y 4.

Esta vez no quería ajustar los márgenes, lo que quería era reducir un poco. Para ello usé --scale 0.96 (menor que 1 para reducir).