Archive for the 'scripting' Category

 

SVN : Error detected while processing /usr/share/vim/vimrc

Sep 19, 2011 in Apache, Debian, linux, scripting, shell scripting

Otra de subversion :

svn: Can't open file '/var/lib/svn/hostingaldescubierto.com/db/txn-current-lock': Permission denied

Esto es por que no hay permisos para modificar los ficheros, seguramente el propietario es root , pero estamos usando autenticación por apache, así le tenemos que dar permisos a www-data para que pueda commitear .

chown -R www-data.www-data /var/lib/svn/hostingaldescubierto.com/

SVN : Error detected while processing /usr/share/vim/vimrc

Sep 19, 2011 in linux, scripting, shell scripting

Esta es otra de las cosas que pueden pasarte cuando estás usando subversion, que te lies a commitear y aparezca este error… el vim… qué raro …. ummmm.

Pero no es ni mas ni menos que en alertantives de mi sistema no está bien configurado el editor por defecto, así que como no estoy pasando el parámetro -m “mensaje” a svn me abre el editor por defecto para que escriba qué es lo que estoy subiendo al servidor.

$ svn commit
Error detected while processing /usr/share/vim/vimrc:
line   20:
E319: Sorry, the command is not available in this version: syntax on
Press ENTER or type command to continue

Vamos a echar un vistazo a mi sistema a ver como lo tengo configurado :

$ update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/nano            40        manual mode
  2            /usr/bin/vim.basic   30        manual mode
* 3            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number:

vim.tiny no soporta los colores ( syntax on ) que tengo puesto en mi entorno, así que como no quiero desactivarlos , simplemente elijo ‘vim.basic’ como editor por defecto para el sistema y eso, soluciona el mensaje que aparece al commitear.

[ruby] /usr/lib/ruby/1.8/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)

Apr 04, 2011 in Notas rápidas, ruby, scripting

En una actualización de una máquina Debian con un proyecto funcionando con Ruby On Rails 1.6, hemos tenido este error al reiniciar la máquina y previa actualización:

/var/www/vhosts/hostingaldescubierto.com/httpdocs/rails/script/server
/usr/lib/ruby/1.8/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require'
	from /usr/lib/ruby/1.8/active_support.rb:56
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require'
	from /var/www/vhosts/hostingaldescubierto.com/httpdocs/rails/vendor/rails/railties/lib/commands/server.rb:1
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
	from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require'
	from /var/www/vhosts/hostingaldescubierto.com/httpdocs/rails/script/server:3

Para solucionarlo hemos usado la información que nos proporciona arunagw en stackoverflow.com

Consiste en editar el fichero boot.rb y agregar al pricipio:

require 'thread'

y en environment.rb :

if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.3.7')
 module Rails
   class GemDependency
     def requirement
       r = super
       (r == Gem::Requirement.default) ? nil : r
     end
   end
 end
end

A partir de estos cambios, funciona sin problemas.

Use of uninitialized value in numeric ge (>=) at /usr/sbin/syslogd-listfiles line 129.

Jan 10, 2011 in Cosas de la vida, Debian, Notas rápidas, scripting

Revisando los logs del sistema me he encontrado con este error de cron.daily :

/etc/cron.daily/sysklogd:
Use of uninitialized value in numeric ge (>=) at /usr/sbin/syslogd-listfiles line 129.

Es debido a que tenía indicado ficheros en /etc/syslog.conf que no existían.
Puedes echar un vistazo rápido a los ficheros con

/usr/sbin/syslogd-listfiles -a

y sin hacer mucho esfuerzo, localizar los que no existen :

for file in $( /usr/sbin/syslogd-listfiles -a ) ; do if [ ! -e $file ] ; then echo "warning: $file NOT EXISTS!"; fi ; done ;

cambiar password de usuario sistema en modo batch

Jun 30, 2010 in bash, Debian, linux, scripting, shell scripting

En Debian existe una forma cómoda de cambiar la password de root usando un script


echo “root:mipassword” | chpasswd

Así de simple.

Como añadido, os recomiendo usar apg ( apg – generates several random passwords ) muy cómod para generar passwords


apt-get intall apg

un ejemplo:


$ apg

Please enter some random data (only first 8 are significant)
(eg. your old password):>
kodThunOw1 (kod-Thun-Ow-ONE)
pivVabraf1 (piv-Vabr-af-ONE)
mivpicEv7 (miv-pic-Ev-SEVEN)
DeksuvLynk7 (Deks-uv-Lynk-SEVEN)
DiwrogAvLyb6 (Di-wrog-Av-Lyb-SIX)
pheFruanigs8 (phe-Fru-an-igs-EIGHT)

trucos molones : extraer un fragmento de texto

Feb 17, 2010 in bash, linux, scripting, shell scripting

Cuántas vezces hemos tenido que buscar un fragmento en un fichero de texto desde el texto ‘tal’ hasta el texto ‘cual’. Con lo sencillo que es con linux y awk !!!!

Lo bueno que tiene linux es que cada día te sorprendes más y cada día eres consciente de lo poco que conoces, es como perderse por una megápolis.

Por ejemplo para sacar todos los usuarios desde el 100 al 111. Tomamos el 100 como march de origen y 111 como match de final y el contenido es lo seleccionado. Se podrías usar por ejemplo “<?php y ?>” o “<body>” y “</body>”

cat /etc/passwd | awk '/100/,/111/ { print } '
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:105::/var/spool/exim4:/bin/false
statd:x:102:65534::/var/lib/nfs:/bin/false
messagebus:x:103:108::/var/run/dbus:/bin/false
avahi-autoipd:x:104:109:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false
avahi:x:105:110:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
gdm:x:106:113:Gnome Display Manager:/var/lib/gdm:/bin/false
haldaemon:x:107:115:Hardware abstraction layer,,,:/var/run/hal:/bin/false
hplip:x:108:7:HPLIP system user,,,:/var/run/hplip:/bin/false
polkituser:x:109:120:PolicyKit,,,:/var/run/PolicyKit:/bin/false
festival:x:110:29::/home/festival:/bin/false
mysql:x:111:121:MySQL Server,,,:/var/lib/mysql:/bin/false

sed: cannot rename .//sedDtwt6w: Invalid cross-device link

Dec 23, 2009 in bash, Cosas de la vida, linux, marujadas, scripting, shell scripting

Error curioso al hacer un

sed -i 's/foofoo/blabla/g' *conf

Me lanza ester error, no me realiza el cambio y se para en el primer fichero que encuentra con *conf

sed: cannot rename .//sedDtwt6w: Invalid cross-device link

Este error aparece por que el sistema de ficheros es distinto al que estamos lanzando el sed. En mi caso los ficheros son enlaces simbólicos a ficheros de otro punto de montaje.

Hydrogen-0.9.4-Beta2 para Debian

Oct 19, 2008 in Cosas de la vida, musica libre, scripting

Hydrogen está en pleno desarrollo intentando posicionarse en lo más alto de las aplicaciones de audio para Linux ( aunque también está disponible para Windows ).

Para poder comprobar los últimos avances, se puede instalar la version del repositorio de la siguiente forma:

apt-get --yes install install scons liblash-dev  libsndfile1-dev liblrdf0-dev    libflac++-dev   libflac++-dev libqt4-dev qt4-dev-tools

svn co http://hydrogen-music.org/svn/trunk hydrogen

cd hydrogen/linux

debian/rules binary

dpkg -i ../hydrogen_0.9.4beta2_i386.deb

como autocompletar código de ruby, la fuerza del tab

Aug 25, 2008 in Debian, interfaces, ruby, scripting

Acabo de encontrar la forma en la que irb soporta autoplete, o lo que es lo mismo, que cuando escribes código, le das al punto y al tabulador y aparecen las posibles funciones y métodos que soporta.

Simplemente hay que añadir este fragmento de código a tu ~/.irbrc

IRB.conf[:AUTO_INDENT] = true
IRB.conf[:USE_READLINE] = true
IRB.conf[:LOAD_MODULES] = []  unless IRB.conf.key?(:LOAD_MODULES)
unless IRB.conf[:LOAD_MODULES].include?('irb/completion')
  IRB.conf[:LOAD_MODULES] << 'irb/completion'
end

Así que por ahora, seguiré sin usar eclipse :D

Puedes ver el artículo original en este enlace