Guardar desde vim sin tener permisos sobre el fichero

Enviado por queru el 4 July 2010 - 11:01am.

A veces abrimos ficheros en vim con nuestro usuario actual, y resulta que el fichero sólo tiene permisos de escritura para root. A mí me pasa mucho con el /etc/hosts, y anda que no fastidia hacer todas las modificaciones y darte cuenta al final de que no puedes sobreescribir el fichero.

Hasta ahora lo que hacía es grabarlo con otro nombre y luego moverlo con sudo, pero eso se acabó gracias a este ingenioso truco:

:w !sudo tee %

Servir mediante http el directorio actual

Enviado por queru el 4 July 2010 - 10:52am.

Si queremos servir de forma rápida el fácil el directorio actual mediante protocolo HTTP, para compartir un fichero, un documento o lo que sea, no hace falta montar un Apache ni nada parecido. Sencillamente podemos hacer lo siguiente:

$> python -m SimpleHTTPServer

Ejecutar como root el último comando

Enviado por queru el 4 July 2010 - 10:43am.

Con este comando conseguiremos ejecutar el comando tecleado justo antes de él, pero como root:

$> sudo !!

Este truco funciona sólo en bash, y lo que hace es ejecutar como root, mediante el mecanismo sudo, el último comando que hayamos ejecutado como nuestro usuario normal.

También podemos ejecutar cualquiera de los comandos de nuestro histórico:

$> sudo !-n

Siendo n el número de comando contando hacia atrás en nuestro histórico. Podemos ver el histórico de comandos tecleados con:

Crear una aplicación con Symfony en 10 segundos

Enviado por queru el 15 June 2010 - 9:49am.

Un compañero, Juan Ases, ha creado este script para hacer una sencilla aplicación de lista de extensiones y teléfonos en 10 segundos, sin teclear ni una línea de código.

Ojo, no sirve para nada si no sabéis que es Symfony, pero si lo sabéis puede servir como guión para empezar con una aplicación crud.


#!/bin/bash

mkdir extensiones.midominio.com
cd extensiones.midominio.com
mkdir -p lib/vendor
cd lib/vendor
svn co http://svn.symfony-project.com/branches/1.4 symfony
cd ../../
php lib/vendor/symfony/data/bin/symfony -V

Copia local de Dokuwiki

Enviado por queru el 22 May 2010 - 12:12pm.

Dokuwiki

Dokuwiki es un sistema de wiki escrito en php, muy ligero y funcional y que no precisa de base de datos, ya que guarda sus ficheros directamente en disco.

Esto lo convierte en un sistema ideal para utilizarlo en departamentos de desarrollo o sistemas, para almacenar la información común en un sitio centralizado. Además, pese a su sencillez, dispone de un completo sistema de usuarios y permisos granulares, pudiendo dar acceso de sólo lectura, por ejemplo, a una zona que deba leer otro departamento, etc...

El problema

Hasta aquí todo bien, utilizamos nuestro wiki para consultar información sobre la estructura de sistemas de nuestra empresa, así como datos de acceso, credenciales, y demás, pero... ¿Que ocurre si está caído justamente el servidor donde tenemos el wiki? ¿Como consultamos la información necesaria para repararlo?

Yo no tengo que imaginar mucho, a mí ya me ha pasado.

La solución

Una copia local de todo el wiki, y un servidor web ligero en nuestro portátil, de forma que, en cualquier momento, podamos consultar el wiki de forma local, sin tener siquiera conexión a Internet.

/dev/null ilegible en Ubuntu

Enviado por queru el 14 March 2010 - 11:17am.

A los genios de Ubuntu, respetuosos con los servidores como nadie (sic), se les ha ocurrido en algún update dejar sólo con permisos de root al /dev/null, con lo cual cosas como "clamav-daemon" fallan estrepitosamente al arrancar al no poder leer ni escribir en este dispositivo falso.

Una de esas enormes estupideces que cometen todas las distros y que le hacen a uno permanecer fiel a Debian, prometan lo que prometan las demás.

En fin, la solución es sencilla, eso sí, después de haber tenido a los clientes con todos los antispam caídos:

#> sudo chmod a+w /dev/null
#> sudo chmod a+r /dev/null

Suerte con las distros cool, la vais a necesitar.

Canciones duplicadas en KDE o GNOME

Enviado por queru el 22 January 2010 - 3:42pm.

Por Calocén:

Para sacar una lísta de canciones sin duplicar de la carpeta Music. Serviría para gnome y kde.
A partir de aquí hay que copiar cada fichero de la lista o eliminar los que no estén en ella.

#!/bin/bash

TMPFILE=/tmp/music.$$
find ~/Music -type f > $TMPFILE
while read i ; do md5sum -b "$i" ; done < $TMPFILE > $TMPFILE.md5
$TMPFILE.md5 | cut -f1 -d" " | sort | uniq  > $TMPFILE.dedupe
while read i ; do  grep "$i" $TMPFILE.md5 | head -n1 ; done < $TMPFILE.dedupe \
        | cut -f2 -d"*" > $TMPFILE.song.dedupe

Reiniciar las X como antes

Enviado por queru el 14 January 2010 - 3:16am.

Hace relativamente poco, en la lista de desarrollo de Xorg se comento la posiblidad (que luego seria un hecho) de deshabilitar el reinicio de las X por ctrl+alt+backspace por defecto, que pasaria a ser controlado por xkb.
A los que querais reactivarlo podeis ejecutar

setxkbmap -option terminate:ctrl_alt_bksp

Via XayOn's Blog.

Cuando a Debian se le olvidan las llaves

Enviado por queru el 12 January 2010 - 12:52pm.

A veces, al actualizar Debian, hacemos un aptitude update y el sistema se queja con algo así:

W: GPG error: http://security.debian.org etch/updates Release: Las firmas siguientes no se pudieron
  verificar porque su llave pública no está disponible: NO_PUBKEY 9AA38DCD55BE302B
W: GPG error: http://ftp.rediris.es etch Release: Las firmas siguientes no se pudieron
  verificar porque su llave pública no está disponible: NO_PUBKEY 9AA38DCD55BE302B
W: Tal vez quiera ejecutar 'apt-get update' para corregir estos problemas

Como saber si un demonio está corriendo en GNU/Linux

Enviado por queru el 24 December 2009 - 12:54am.

Para un servidor remoto:

  • Puedes usar nmap (hay que instalarlo), algo así:

    $> aptitude install nmap
    $> nmap 192.168.1.1 -p 80
    

    El "-p 80" es el puerto que quieres comprobar, donde debería estar el servicio escuchando. Podrías sustituirlo por su representación textual "-p www", o "-p smtp". Para ver un listado de puertos y nombres:

    $> cat /etc/services
    

  • Hacer un telnet:

    $> telnet 192.168.1.1 80
    

    Recuerda que deberás conocer el protocolo para salir, o bien escapar con "Ctrl+[" y "Ctrl+d".

Desde dentro del servidor:

  • Puedes usar ps para ver los procesos:
Distribuir contenido

Inicio de sesión

Contrato Coloriuris
Copyright © 2010 TrucoLinux.com: Todo el contenido sujeto a contrato ColorIruris salvo que se especifique lo contrario.
Este sitio ha sido totalmente desarrollado y montado sobre software libre: Gentoo GNU/Linux, Apache, MySQL, PHP, Drupal...
Sindicar contenidos: Noticias (RSS).