
Attack ships on fire off the shoulder of Orion [?]
¡Añademe a tus favoritos!
Contacto
Post al azar
RSS
BUSCAR
Mapa de la web
Lo unico que tiene un poco de misterio es el printf, lo demas no tiene nada:
find . -name "*.jpg" -printf '%6s\n' | awk ' { sum+= $1 } END { print (sum / 1024) "k" }'
El comando se divide en dos partes, siendo el primero el encargado de mostrar en una columna los tamaños de todos los ficheros, en el ejemplo, de todos los JPEG, y el segundo es un sencillo programa en awk que suma todas las cifras de esa columna y las muestra al final en kilobytes.
Con esto de las maquinas virtuales me veo a menudo en la necesidad de montar carpetas compartidas con las menos restricciones posibles entre sistemas operativos anfitriones y clientes, y nunca recuerdo cual es la mejor configuración.
Lo que sigue es el contenido de un smb.conf que cumple con esos criterios, para que quien lo necesite, solo tenga que copiarlo desde aqui: comparte un recurso llamado public que en realidad es el home del usuario samba, y permite lectura y escritura a todo el que se conecte, sin autentificación.
[global] workgroup = MIRED server string = Samba Server Version %v ; netbios name = MYSERVER ; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 ; hosts allow = 127. 192.168.12. 192.168.13. log file = /var/log/samba/log.%m max log size = 50 security = share guest account = samba load printers = no map to guest = Bad password [public] comment = Public Stuff path = /home/samba public = yes writable = yes printable = no guest ok = yes browseable = yes
¡Recordad crear el usuario samba y su entorno con adduser samba antes de arrancar el servicio de samba!
Gracias a Curl, la estupenda herramienta de linea de comandos para simular navegadores web, podemos sistematizar la subida de ficheros a sistemas que lo soporten a traves del mecanismo POST.
Por ejemplo, veamos un ejemplo de formulario para subir documentos a una empresa, con su autor y un resumen:
<form enctype="multipart/form-data" method="POST"> <input type="text" name="usuario" maxlength=50 size=10> <input type="text" name="texto" maxlength=80 size=10> Choose a file to upload: &ls;input name="uploadedfile" type="file" /> <input type="submit" value="upload" /> </form>
Conocidos los nombres de los campos, sólo tenemos que usar el siguiente comando, que es bastante sencillo con una salvedad, el uso de la arroba para apuntar a un fichero en el pc local para enviarlo al servidor.
curl -F "usuario=saiyine -F "texto=Informe de ventas" -F uploadedfile=@v2009.odt http://servidor.com/formulario.php
Fácil, ¿verdad? Naturalmente, no solo sirve para enviar ficheros, sino para ejecutar cualquier tipo de formulario web.
Es un sistema mucho más sencillo que el de Gpg, pero con la contrapartida de que las contraseñas se pueden ver en texto claro, lo que por lo general es una desventaja bastante grande.
cat texto.txt | gzip | openssl des3 -salt -k tuclave > texto.txt.des3
Naturalemente, el uso de gzip es opcional, pero por alguna razón no parece que el openssl comprima por defecto, lo que me parece extrañisimo. Para recuperar el fichero:
cat texto.txt.des3 | openssl des3 -d -k tuclave | gunzip > texto.txt.bak
Rsync es otro producto del gran Andrew Tridgell, creador de Samba, que nos permite sincronizar carpetas, de manera que todo lo que cambie en una, quede reflejado en la otra, y además en un tiempo record gracias a su algoritmo que busca diferencias entre los ficheros, algo comparable a hacer parches binarios.
Por ejemplo, es genial para hacer copias de seguridad en red, como en el ejemplo que os indico:
rsync "usuario@ip:/carpeta" . -v -a -z --delete
Que crea una copia identica de la carpeta marcada en el directorio actual (de ahí lo del punto). Pero lo mejor es que la siguiente vez que ejecuteis ese comando, solo se transmitirán por la red las diferencias, ¡minimizando el tiempo y el ancho de banda consumidos!
To install CPAN Perl modulos is easy once you know the exact command. For instance, here you got the command to install the JSON module... Installing other modules is that easy, just change the module name.
perl -MCPAN -e 'install JSON'
Instalar modulos de Perl es muy sencillo una vez que se dispone del comando exacto, que por ejemplo, para instalar el modulo JSON seria el siguiente:
perl -MCPAN -e 'install JSON'
Llevo una temporada siguiendo el blog de Jeff Atwood, Coding Horror, coincidiendo al 97% con lo que dice, y meditando sobre si bendecirlo con un enlace permanente desde mi pagina, lo que sin duda seria todo un exito para él, y fijaos que lo que me ha llevado a hablaros de él es precisamente un articulo sobre el que no estoy de acuerdo.
Empieza bien, hablando de lo lamentables que son los antivirus,lo que es una protesta a la que me uno, porque siempre he pensado que son el tipico remedio peor que la enfermedad: nos protegen de los virus haciendo más o menos lo mismo que hacen los virus, chupar recursos. ¿Cuando fue la ultima vez que oisteis hablar de un virus que formateaba el disco duro? En realidad hace años que no hay virus, ahora solo se hacen gusanos que roban direcciones de correo para mandar spam, te sacan publicidad de guarradas en el navegador y utilizan la cpu de tu maquina para Dios sabe qué.
Cuando me fui a Madrid tuve que desmantelar la red de casa de mis padres, por lo que, cuando vuelvo los fines de semana, me toca conectarme a traves del PC de mi hermana, un Athlon XP a casi 2000Mhz. No es la maquina del fin del mundo, pero deberia ir sobrado. Recuerdo que en uno de mis primeros trabajos, dando clases de Office a finales de los 90, tenia que estar siempre vigilando para que no se me metieran en internet: usabamos Pentium a 90Mhz con 24 Megas de ram.
Esa es la gran mentira de la informatica, que todos nos hemos creido. Hay muchas mas, claro, pero esta es la mas flagrante: que para divertirse hace falta una tarjeta gráfica de 300€ o que hacen falta procesadores cuadruples para escribir documentos.
El ordenador de mi hermana es decenas de veces más potente que aquellos Pentium 90, que no sabian ni dividir con decimales correctamente, pero... es menos usable. ¿La razón? Tiene instalado un antivirus. No diré la marca, porque son TODOS una porqueria, aunque cada uno tengamos nuestro menos favorito, que es algo de lo que hablaré otro dia. La cuestión es que el antivirus para el ordenador cuando le apetece. Arrancar el ordenador es un suplicio, copiar un ejecutable grande a un dispositivo USB congela totalmente la maquina durante unos minutos, etecé, etecé.
¿Realmente es mejor eso que pillar un virus? Yo creo que no, sinceramente.
Donde discrepo de del tio Atwood es de quien es la culpa de que los antivirus sean tan malos. Él dice que es en buena parte de Microsoft, por tener un modelo de seguridad tan malo, que en Mac y Linux no hay virus y estan tan ricamente. Que no es porque ni Dios use Mac o Linux sino porque su modelo no-permitir-hacer-sin-permisos es mejor que el de Windows de haz-lo-que-te-de-la-gana-con-el-ordenador-que-has-pagado.
Hombre, pues para mi eso va a ser casi no ver el elefante en la habitacion, como dicen los guiris. Una rápida vuelta por Google me dice:
¡Vamos a ser serios! ¡Pues claro que es por la popularidad! ¿Para que diantres te ibas a molestar en escribir un virus que solo podria afectar a menos de uno de cada cien ordenadores????
Y una cosa que siempre me he preguntado: ¿por qué demonios iba a impedir el modelo de usuarios limitados de Unix el desarrollo de virus? Se me escapa esa presunta invulnerabilidad. Si yo, como usuario de Linux, pillo un virus que me borra todos los datos, me cambia las fotos de cumpleaños por imagenes del goatse y usa el 100% de la cpu para mandar spam, exactamente, ¿que ventajas tengo sobre un usuario de Windows?
Vamos a ser realistas. El modelo de seguridad de Unix protege a los usuarios de otros usuarios en entornos compartidos, pero es absolutamente ineficaz en el mundo real de maquinas monousuario que tiene que cambiarse a root cada dos por tres para cualquier tonteria.
Si tienes problemas arrancando el demonio slapd de openldap, sin sintomas claros, lo primero que debes hacer es comprobar que el demonio arranque de verdad, ya que slapd tiene la mala costumbre de informar de que ha arrancado perfectamente y luego pararse sin avisar.
Para comprobar si el demonio ha arrancado correctamente: ps aux | grep slapd.
Si no ha arrancado, que es lo más probable si estás leyendo esto, lo mejor que puedes hacer es ejecutar el siguiente comando, y comprobar visualmente en la abundante salida cual pueda ser el problema: /usr/sbin/slapd -d -1
Sometimes, we need to use a selected Java virtual machine, and rarely is the Ubuntu's preinstalled, gij, but the official from Sun. To solve it should be as easy as installing the appropiated .deb packages, but it won't work, we install them and still get gij instead of Sun's.
To get to use the JVM from Sun we'll have to run the next command, forgotten for some reason by the java package maintainers:
sudo update-alternatives --config java
We'll be offered the different installed JVM and then, just have to choose our favourite.
A veces, necesitamos usar una maquina virtual de Java en particular, y raramente se trata de la que nuestra Ubuntu nos ofrece por defecto, gij, sino la oficial de Sun. Solucionarlo deberia ser tan sencillo como instalar los paquetes .deb, pero algo no marcha, los instalamos y al ejecutar seguimos obteniendo la dichosa gij.
Para conseguir usar la máquina de Sun deberemos ejecutar el siguiente comando, que por alguna razón a los mantenedores del paquete .deb se les olvidó incluir en el proceso de instalación:
sudo update-alternatives --config java
Nos aparecerá un menú en el que elegir nuestra máquina virtual por defecto, y a funcionar.
Para cambiar el tamaño de un .gif animado en la linea de comandos de linux con los programas de imagemagick hay un pequeño truco.
No podemos cambiar el tamaño de la manera habitual, con un simple resize, porque eso solo le cambia el alto y el ancho a la primera imagen de la animación, resultando en un efecto bastante pobre. En vez de hacerlo directamente, primero debemos preparar el .gif con el comando coalesce, y despues cambiarle el tamaño al fichero resultado de la manera habitual.
convert animacion.gif -coalesce temporal.gif
convert temporal.gif -resize '50%' pequeña.gif
Y de regalo, como reducir a una cuarta parte todas las animaciones de una carpeta:
for imagen in *.gif; do convert $imagen -coalesce temporal.gif; convert temporal.gif -resize '50%' peque-$imagen; done
Una forma muy visual de comprobar como está funcionando nuestro proxy basado en squid es ejecutar el siguiente comando:
sudo tail -f /var/log/squid/access.log
Con él, podremos ver las últimas actuaciones de la cache de navegación y sabremos que tal se está comportando según el numero de TCP_MISS y TCP_*_HITs, que son fallos y aciertos de caché, respectivamente.
I've read this in a comment at digg.com and I thought it was a info worth keeping:
Want to crack WEP? I'll tell you how - Get auditor/backtrack/whax/knoppixSTD/nubuntu whatever security distro you want - run kismet for ten minutes when the network is active - throw the dump file into aircrack - presto. 15 minutes tops for the whole thing, it takes longer to download the security distro than crack wep.
Link to nubuntu. With its 200 megs is a quick download, I hope is as easy as this dude says.
Aunque cada vez los discos son más grandes y más baratos, siempre podemos tener la necesidad de liberar algo de espacio para alguna tarea especialmente problematica en cuanto al espacio que usa.
Normalmente, para liberar ese preciado espacio en el disco duro nos vemos en la obligación de sacar de ahi, ya sea borrando o grabando en otros soportes, lo que menos necesitamos, pero hay ocasiones en que vamos tan justos que necesitamos desinstalar programas: ahí entra la utilidad de este comando, que nos mostrará ordenados de menos a más el espacio que ocupan los programas que tenemos instalados en el sistema y nos ayudará a decidir de cuales podemos prescindir maximizando el espacio a liberar.
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n
A veces, al arrancar nuestro Firefox, nos aparece una ventana indicandonos que perfil de usuario queremos usar, cuando nosotros nunca hemos configurado nada de perfiles, usuarios ni nada por el estilo, no nos deja usar el único que hay en la lista y tenemos que crear uno nuevo.
El problema es Firefox cree que lo estamos usando en otra ventana, posiblemente debido a que la última vez que apagamos el ordenador el navegador no se cerró correctamente y queda información en su carpeta indicando erroneamente que sigue en marcha.
El fichero culpable, que simplemente hay que eliminar, se llama lock o similar dependiendo de la versión del navegador y sistema operativo utilizado. Por ejemplo, en linux está en la carpeta ~/.mozilla/firefox/"Usuario"/ y es un enlace llamado "lock -> ip:puerto", y en windows en el directorio Documents and Settings\"Usuario de windows"\Datos de programa\Mozilla\Firefox\Profiles\"Usuario" y se llama simplemente parent.lock.
kdialog es un programa de linea de comandos que permite dar interactividad gráfica a nuestros guiones.
Tiene una gran cantidad de opciones, perfectamente detalladas en la ayuda, por lo que solo os muestro un pequeño ejemplo de una ventana con un poco de texto.
kdialog --title "Titulo de la ventana" --msgbox "Linea 1\nLinea 2"
Por supuesto, ¡para que funcione se deben ejecutar los scripts en modo gráfico!
Una de las grandes caracteristicas del escritorio KDE que no recibe la atención que se merece es su estructura DCOP.
Basicamente, significa que muchisimas de las capacidades de los programas KDE estan disponibles para ser usadas desde otros programas KDE, de forma que podemos abrir ficheros en el programa de dibujo usando ssh o incrustar videos en el navegador web.
Hoy os presento un ejemplo más mundano aunque no por ello menos util: enviar una cadena desde la linea de comandos al portapapeles.
Para ello usaremos la herramienta dcop, que no es sino un interfaz modo texto para la tecnologia del mismo nombre:
dcop klipper klipper setClipboardContents "Texto"
Sencillo, ¿verdad? Os animo a descubrir cientos de funcionalidades similares e incluso a enviarmelas, y las pondré a disposición del público en esta página.
Según esta página, las tarjetas wireless US Robotics 24** como por ejemplo la 2415 estan basadas en el chipset Prism 2, lo que significa que su driver recomendado es el hostap_cs, aunque podrian funcionar tambien con otros drivers como el prism2_cs y el conocido orinoco_cs.
Estos drivers son modulos del nucleo, por ejemplo, para cargar el hostap_cs habria que ejecutar modprobe hostap_cs en la linea de comandos si por alguna razón no se hubiera cargado automagicamente en el arranque.
Normalmente no se obtiene un Firefox con extensiones preinstaladas, sino que se instala desde cero y luego se buscan: aunque es cierto que a veces hay paquetes que incluyen extensiones, debo reiterar que no es lo más corriente.
Una vez instalado, para conseguir una extensión de Firefox, basta con ir a Herramientas -> Extensiones -> Obtener más extensiones, que te llevará a la página de extensiones de Mozilla, e instalar la que estés buscando, que normalmente será simplemente pinchar como si fuera un enlace.
Si aun no tienes el Firefox instalado, puedes hacerlo pulsando este botón:
¿Cual es el comando de linea de comandos en linux para conectarse a una red inalambrica? ¿iwconfig con algún parámetro? Prueba con uno de estos dos, cada uno util según los datos de que dispongas.
iwconfig interfaz essid nombredelap iwconfig interfaz ap direcciónmaldelap
En un experimento en el que estaba trabajando este fin de semana, necesitaba supervisar un fichero .log que conforme iba creciendo, buscando ciertas cadenas. En linux, tenemos el comando tail, que hace exactamente eso, mostrando las ultimas lineas de un archivo y hasta mostrando las que se van añadiendo al final.
tail -f file
Es perfecto para observar logs como los que generan los servidores. El parametro -f es importante, sin él, tail simplemente mostraria las últimas diez lineas del fichero y terminaria.
In an experiment I was working on this weekend I needed to supervise a growing log file, looking for certain strings. In linux, we got the command tail, wich does exactly that, showing the last lines of a file and even taking care of the continous grow.
tail -f file
It's superb to look at logs like the ones generated by servers. The -f parameter is important, without it, tail would simply show the ten last lines of the file and finish.
Aunque hay muchisimas formas de buscar conectividad inalambrica, esta en particular no la conocia, y parece un comando bastante simple:
iwlist wlan0 scan
Fácil, ¿verdad?
Los ficheros thumbs.db son generados por una gran variedad de programas de visionado de ficheros gráficos, como, por ejemplo, el que lleva el windows xp de serie.
Contienen versiones en miniatura de las imagenes de cada carpeta, de forma que la siguiente vez que accedas a ella, no haga falta volver a generarlas.
Lo malo es que no siempre queremos que en nuestros directorios de imagenes haya ficheros "extraños" mezclados con ellas, y para no tener que ir uno por uno borrandolos, mejor usar este comando:
find -iname thumbs.db -exec rm {} \;
En el post 410 os comentaba como desactivar la campana del sistema. Lo que se me olvidó comentarios, o más bien ni pensé que hiciera falta, es que me referia a la campana real del modo texto.
Los modos gráficos, o gestores de ventanas, o como querais llamarlos, suelen tener su propia campana para simular el efecto del modo texto. Por ejemplo, en KDE, esta campana se configura en Konsole -> Settings -> Bell, que imagino que en la versión en español se llamará Preferencias -> Campana.
Si tu hosting lo permite, siempre es buena idea usar sftp y scp en vez del tradicional ftp, ya que este último transmite los datos sin cifrar, incluso el usuario y el password van en abierto.
Además, las versiones seguras tienen una ventaja añadida y es que puedes enviar los datos, además de cifrados, comprimidos, de forma que ocupen mucho menos. Por ejemplo, usando scp, basta con añadir el parametro -C.
scp -C fichero usuario@maquina:carpeta scp -C bash-2.05b.sh root@172.26.0.2:/usr/ports/shells/bash2
Aunque es tecnicamente incorrecto describir a tmpfs como un sistema de disco en RAM, es tan parecido que resulta complicado no asociar los dos conceptos.
En realidad, linux posee discos RAM clásicos, pero me parece que tmpfs es, en general, superior, por su comodidad y facilidad de uso.
Por ejemplo, para crear un sistema tmpfs en una carpeta dada basta con el siguiente comando:
mount tmpfs carpeta -t tmpfs
Con él, obtendremos en carpeta un disco virtual que no necesita de formateo en absoluto, que existe en la RAM sin usar ni un kilobyte de más y que puede usar memoria de intercambio si es necesario.
Relativamente a menudo, necesito hacer copias de seguridad de particiones enteras. El comando que suelo usar es el siguiente:
dd if=/dev/hda | ssh usuario@servidor "cat - > fichero.iso"
Lo que hace es leer la partición indicada y mandarla por una tuberia al ssh, que a su vez envia a la maquina adecuada. Imagino que tambien se podria usar a la inversa como instalador de imagenes en diferentes maquinas iguales, pero no lo he probado.
Este es un programa bastante chulo que descubrí hace tiempo en un post del blog de r0sk: iftop. Sirve para ver el tráfico de red que pasa por una interfaz de una manera mucho más visual y divertida que un simple netstat.
Simplemente escribe, usando la interfaz de red que prefieras en vez de ppp0, el siguiente comando:
iftop -i ppp0
Y te muestra una gráfica en modo real, en modo texto, en un estilo relativamente similar al top, con un montón de datos como la velocidad de subida y bajada, la acumulación de datos transferidos, etc.
Este comando busca, y muestra, todos los ficheros en la carpeta en la que se ejecute, así como los que se encuentren en directorios que cuelguen de la actual, que cumplan con la condición de ser mayores de 10 kilobytes.
find -size +10k -exec echo {} \;
Cerrar los puertos es una acción vital para la seguridad de tu sistema. Por ejemplo, para que nadie de fuera de tu red pueda acceder al puerto 139, es decir, las carpetas compartidas con maquinas windows, necesitas el siguiente comando, siendo ppp0 la interfaz a internet propia de los ADSL, si tienes cable posiblemente lo adecuado para ti sea eth0.
iptables -A INPUT -i ppp0 -p TCP --dport 139 -j DROP
Para añadir una cadena a cada linea de un fichero, por ejemplo, al principio, basta con usar el siguiente comando:
cat FICHERO | sed 's/^/TEXTO/'
Y el contenido del fichero se volcará por pantalla con la palabra TEXTO delante de cada linea.
La clave es el simbolo ^, que significa, en el contexto de las expresiones regulares, el comienzo de linea. Otro simbolo importante es $, que indica el final de linea:
cat FICHERO | sed 's/$/TEXTO/'
La expresiones regulares son una herramienta extremadamente potente, si no las conoces, merece la pena dedicarle un rato a leer sobre el tema.
Esta es la relación recomendada para que la compilación del nucleo resulte en un binario optimizado para cada maquina.
Por descontado, ni os molesteis en compilar para una arquitectura superior a vuestra maquina, o de una rama muy diferente. A la inversa si es posible, ¡pero no tiene mucho sentido!
Usa lsof /dev/hda6 (o la unidad que sea) para saber qué lo está usando.
Por ejemplo, con este comando:
mount --rbind directorio_antiguo directorio_nuevo
Puedes probar con el siguiente comando:
xdpyinfo | grep vendor
Ó este:
xdpyinfo |grep version
Mi manera favorita de hacerlo es esta:
X -version
El runlevel normalmente se suele especificar en el fichero /etc/inittab, basta modicarlo, y la siguiente vez que arranques tendrás el runlevel deseado, siendo el 5 el habitual modo multiusuario con X
Tambien lo puedes pasar al kernel como parametro, añadiendo init=nivel en los parametros de arranque.
Podrias meterlo en el directorio /etc/init.d/ en forma de guion ejecutable
Probablemente no este paginando, sino ejecutando algun programa de mantenimiento tipo el updatedb del locate, haz un ps aux y lo comprobaras.
Prueba con kill -9 y el PID del proceso. El pid es el numero que identifica al proceso, haz un ps aux para encontrarlo.
Por ejemplo: ntpdate -b -s hora.uv.es && hwclock --systohc . Si te devuelve una hora erronea es que tienes mal definida la zona horaria, busca en la configuracion.
Si, con los programas fg y bg, por ejemplo, si el numero de proceso del programa era 27, fg 27 hace que continue su ejecucion en primer plano (bg en segundo plano).
deb-make && debuild
Teclas especiales (y que deben estar habilitadas en el nucleo) para cuando no hay más remedio para reiniciar la máquina.
<__monty> bueno, te digo las básicas
<__monty> alt+imprPant+ s: vaciar a disco todos los buffers
<Cachon> O_o
<__monty> alt+imprPant+ u: desmontar todo y montarlo como read only
<__monty> alt+imprPant+ b: reboot
<__monty> alt+imprPant+ o: apagar
<__monty> alt+imprPant+ r: cambiar teclado a modo raw, así, si se cuelgan las X puedes ir a una consola
<XXX_Tapan> no sabias eso cachondez?
<XXX_Tapan> por dios por dios por dios
<Cachon> pulsar alt+imprPant+o para apagar es seguro? es decir, lo graba todo y apaga o apaga a lo bestia?
<__monty> no, espera
<__monty> lo tienes que hacer es: "s+u+b", así evitas el fsck y te guarda todo
Los que venimos del DOS solemos usar more fichero o cat fichero que es identico al type del DOS, pero es mejor usar less, que permite volver atras en el fichero con los cursores. Salvando las distancias me recuerda a aquella maravilla llamada list.com que sigo pensando que es de los mejores programas que se han hecho pero que con la llegada del windows fue abandonado.Si tengo algun rato libre intentare hacer una version para linux...
ldd nombre del programa
Va perfecto, incluso te avisa si alguna no esta instalada, aunque parece ser que da problemas ejecutables del tipo a.out muy antiguos (MUY antiguos).
Se me ocurren dos formas, con find y con locate. Usar find es relativamente simple, por ejemplo
find /usr/src -iname '*.c'
busca ficheros en la rama /usr/src y superiores ficheros que tengan la extension .c. Observa que en linux el concepto de extension es bastante difuso, en realidad lo que va a buscar es ficheros que terminen en '.c', si le ponemos '*.c*' nos mostrara todos los ficheros que contengan la cadena '.c'. Con locate es algo mas simple y bastante mas rapido, pero tiene un defecto... ¡puede no funcionar! Locate busca en una base de datos que se actualiza ejecutando updatedb de vez en cuando, y puede pasar que el fichero que buscamos haya sido añadido al sistema despues de la ultima actualizacion... ACTUALIZACION: Con whereis puedes encontrar ejecutables que esten en el path.
mount cdimage.raw -r -t iso9660 -o loop /mnt/imagen
/mode -s tu_nick
Mandale un kill -9 al proceso que corresponda. Yo por ejemplo solo tengo abierta una, asi que me marca que es un bash en el ps aux
netstat -p | egrep -v '^unix'
Ignora las lineas que empiecen por unix
En el menu principal, ve a [Configuracion] -> [KDE] -> [Perifericos] -> [Raton]
Se puede aprovechar bc usando tuberias:
echo "2*400" | bc -l
Personalmente tengo esta funcion en mi bash:
calcu() # Calculadora de linea de comandos { echo "$*" | bc -l }
Por cierto, para pasarle parentesis hay que pasarle la operacion entre comillas...
calcu "16*(1+1)"
Son ficheros comprimidos con bzip2 en vez de con gzip. Bzip2 comprime bastante mas que el gzip, asi que os recomiendo que lo useis, por ejemplo, los nucleos que ocupan 25 megas en tar.gz, ocupan 19-20 en tar.bz2, y 5 megas en un modem se notan...
En el konqueror, ve a [Opciones] -> [Configurar conqueror] -> [Asociaciones de archivo]. Alli, en los tipos de archivos genericos puedes seleccionar si, por ejemplo, text, se deben ver en el visor empotrado o en el programa asociado.
dd if=/boot/vmlinuz of=/dev/fd0 bs=512
Otra manera:
cat /boot/vmlinuz > /dev/fd0
Otra manera: Hay una seccion del Centro de Control de Mandrake dedicada a los discos de arranque
mv /mnt/floppy/* . -v -u
En su momento me hice una pequeña funcion que lo hace:
buscame() { cat ~/.bash_history | grep -i "$*" | grep -i -v "buscame" }
Basta con añadirla al .bashrc
MEJORA: El comando history ya te vuelca el historial, asi que simplemente
history | grep -i "palabra clave"
![]() | Keith Amling (25/09/2005, 13:27) If you use "set -o vi" you can use "/" from normal mode. For example to search the history for foo from insert mode you would press "<ESC>/foo<ENTER>" and then "n" to go to the next match. If you use vim already, "set -o vi" would be easy to learn, but if you use emacs or another editor it would be difficult. |
lsof /dev/cdrom
No estoy seguro de si funcionara con ficheros :?
Tanto cdrecord -scanbus como cdrdao scanbus te lo diran.
Con un poco de suerte, un simple cdrecord -fix lo devolvera a la vida. En mi caso, es cdrecord -dev=0,1,0 -fix -speed=8 , pero claro, tanto la identificacion scsi como la velocidad depende de tu grabadora.
adduser usuario audio
Y haciendo login ya podras cambiarlo.
Desde el directorio de usuario, escribe
cd .kde/Autostart ln -s programa Nombre_del_enlace
Debes tener mal el fichero oculto .xinitrc que esta en el directorio de tu usuario. Editalo y haz que termine con la siguiente linea si quieres KDE
exec startkde
o esta si quieres que arranque el gnome
exec gnome-session
y la proxima vez que pongas startx entraras a tu escritorio favorito.
Si tienes EXIM: 1/ Edita el fichero /etc/exim/exim.conf 2/ Busca una linea como esta:
local_domains = localhost:nombre de tu maquina
3/ Añade al final de esa linea la direccion de tu maquina en internet. Debe quedar algo parecido a esto:
local_domains = localhost:ithilien:www.mimaquina.com
Pulsa el boton derecho en la barra de titulo de la ventana para que te salga el menu de ventana, y pulsa en 'Guardar opciones'.
Un fichero core es un volcado del estado de la memoria cuando un programa falla, que se graba en el disco para ayudar al programador a solucionar el error.
Para averiguar que programa lo ha generado, puedes usar el programa file.
file core.18445 core.18445: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, SVR4-style, from 'mdadm'
En el ejemplo, el volcado proviene del ejecutable mdadm
Yo de ti editaria el fichero /etc/X11/XF86Config (ó XF86Config-4), buscaria la linea Defaultdepth 16, la cambiaria a 24 y reiniciaria las X.
Abre una consola o terminal y escribe:
xdpyinfo | grep 'depth of root'
El comando xdpyinfo devuelve mucha información interesante sobre las X, merece la pena echarle un vistazo a su salida.
La linea del fichero /etc/fstab referida al cdrom debe tener la palabra user, algo como esto:
/dev/cdrom /mnt/cdrom iso9660 defaults,ro,user,noauto,umask=000 0 0
Y para montar, no puedes especificar el tipo de sistema de ficheros, como haria el root, sino que tienes que poner:
mount /mnt/cdrom
Primero prueba con
dpkg-reconfigure console-data
Si no sirve, prueba a
loadkeys es
Si todavia no va, XD, haz un
apt-get install user-es castellanizar localedef -i es_ES -f ISO-8859-1 es_ES
![]() | fernando (17/06/2005, 18:45)![]() |
![]() | fernando (17/06/2005, 18:49)![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Es en una simple linea de comando, unos parametros para el startx.
startx -- :n
Siendo n el numero de pantalla, de la tty7(n=1) hacia arriba. Para abrir una sesion en la tty8 (ctrl+alt+F8) habria que poner
startx -- :2
Por cierto, haciendo
startx -- :1 ttyX
Nos pone las X en el tty elegido.
mount -t iso9660 /dev/cdrom directorio
Si quieres montar una sesion determinada:
mount -t iso9660 -o session=n /dev/cdrom directorio
siendo n el numero de sesion.
Asegurate de que el cdrom ha sido desmontado. Tambien recuerda crear el directorio /dev/cdrom y enlazarlo a donde deba, en mi caso al cdrom 1 scsi:
ln -s /dev/scd0 /dev/cdrom
Normalmente con solo poner startkde ya arrancara el KDE, pero si quieres que salga siempre cuando pongas startx:
echo "exec startkde">/.xinitrc
Añade esta funcion a tu .bashrc :
mk()
{
directorio=`mc -P`
cd "$directorio"
}
Asegurate de que en .bash_profile se indique la carga de de .bashrc, probablemente este comentado.
Resulta que en linux, con el programa hdparm, podemos cambiar la configuración de la forma de acceder a los discos duros, que si acceso a 16 (como en msdos) o a 32 bits (como en win 9x y superiores), que si DMA o no... ¡Lo que no creo que sea tan conocido es que es posible decirle al disco duro cuando ruido queremos que haga! Curiosisimo, ¿verdad? "-M Get/set Automatic Acoustic Management (AAM) setting". Por lo visto, los discos duros modernos (solo dice modernos, sin especificar a partir de que tamaño o algo así) tienen al menos dos velocidades, la normal y la reducida, que se diferencian mayormente en que en la reducida, a costa de que el disco duro vaya un poco más lento, hace mucho menos ruido.
Este modo silencioso se activa con el parametro -M 128, y se vuelve al normal con -M 254, yo lo activé en mi k6 (con un Maxtor de 40 yigas) hace un par de dias y la diferencia de ruido es bestial, mientras que lo que es velocidad del disco duro juraria que no se nota practicamente nada, tendria que pasarle un benchmark para notarla. De modo que este es el comando:
hdparm -M 128 /dev/hda
Por ejemplo, para obtener un numero entre 0 y 16 usamos el comando:
echo $((RANDOM%17))
A partir del nucleo 2.6.6 existe un modo de funcionamiento llamado "Modo portatil", en el que solo se usan los discos duros cuando no hay más remedio, con el consiguiente ahorro de energia. Se activa con este comando:
echo "1" > /proc/sys/vm/laptop_mode
Como crear un proxy transparente con iptables. Solo destacar que es para las conexiones que vengan del eth1, y que necesita al squid proxy funcionando en su puerto standard, el 3128.
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
Ojo que así solo se redirige el trafico al puerto 3128, tambien hay que configurar el proxy para que acepte esos paquetes.
Para que todos los ficheros que se creen en un directorio pertenezcan automagicamente al grupo dueño del directorio, basta con el siguiente comando:
chmod +g directorio
En realidad no deberia quitarse, pero como es algo que se hace a veces... Para quitarlo basta con poner a cero el segundo número de las lineas del fichero /etc/fstab. Por ejemplo, yo tengo esto en mi fstab:
# Dateisystem Mountpunkt Typ Optionen dump pass /dev/hda1 / ext3 defaults,errors=remount-ro 0 0
Como veis, y contra mi propio consejo, he deshabilitado el chequeo del sistema de ficheros, y la razón es simple: esa maquina no tiene ni monitor, ni teclado, así que si se quedase pillado en el chequeo seria un buen problema.
Es tan fácil como usar este comando:
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
Hay mil maneras de hacer que un programa se ejecute en el arranque. Por ejemplo, las knoppix instaladas en disco duro (y por extensión, imagino que todas las debian) tienen un fichero donde el administrador puede incluir comandos para ejecutar antes de que el sistema le de el control a los usuarios. Este fichero es el /etc/init.d/bootmisc.sh. Cualquier comando que añadamos a este fichero se ejecutara (ojo, con derechos de root) al arrancar el sistema.
Para tener las paginas man (el manual) en español hay que instalar los paquetes manpages-es y, si esta disponible, el manpages-es-extra. Tambien hay que decirle al sistema que queremos usar el lenguaje español con este comando que indico a continuación, y quizas sea necesario añadirlo al arranque:
export LANG=es_ES
Mas información, en este hilo.
En el konqueror como explorador de archivos, en services ( o servicios).
A veces, es necesario poder bajar "a mano" un paquete de debian. Para esos casos, este comando es el necesario:
apt-get install --print-uris -y --reinstall nombre_del_paquete [nombre_del_paquete] ...
<NewDebian> Buenas,acabo de instalar mi debian,qué es lo primero que debería hacer? <onip> apt-get update; apt-get upgrade
Así, tendrás la base de datos de programas disponibles con perfectamente sincronizada, y actualizarás los programas que se hayan quedado antiguos desde que se hizo el CD de instalación.
Mirad que comando más curioso:
sudo su
Lo vi en la firma de un comentario por ahi, y resulta que es un comando la mar de comodo, ya que nos ahorra escribir una clave para hacer su. Muy ingenioso.
Revisando la página del manual de zip me acabo de dar cuenta de que es posible guardar los atributos de unix como permisos, dueños, etc. en los ficheros zip, el truco está en descomprimir con el parámetro X, que restaura los ficheros con todos sus permisos:
unzip -X fichero.zip
Si usando el apt-get teneis el siguiente error:
Reading Package Lists... Error! E: Dynamic MMap ran out of room E: Read error - read (14 Bad address) E: The package lists or status file could not be parsed or opened.
La solución es aumentar la memoria asignada al calculo de dependencias, se hace editando el fichero /etc/apt/apt.conf y aumentando el valor de la siguiente linea (si no existe, bastará con copiar este ejemplo):
APT::Cache-Limit 10000000;
Esa es la solución rápida y fácil. Lo ideal seria que revisarais el sources.lst y eliminarais todos los servidores de paquetes que no necesiteis realmente y que os están usando vuestros valiosos recursos.
Esto más que un truco es una curiosidad: como sacar decimales del número Pi. En el ejemplo, los 500 primeros.
echo -e "scale=500;4*a(1);" | bc -l
Si al pulsar Inicio o Fin en el putty te sale este simbolo ~, es porque debes cambiar el tipo de terminal que estas usando. Mi recomendación es cambiarlo a 'linux' en la categoria Terminal -> Keyboard del putty y ejecutar este comando en el linux:
export TERM=linux
Tambien puedes probar con las otras opciones, claro, a ver cual te va mejor... (recuerda poner el mismo tipo tanto en el putty como en el linux!)
En situaciones muy específicas es necesario volcar el contenido de las caches de memoria al disco duro para asegurarnos de que todos los datos se han escrito realmente. Esto se hace con el comando:
sync
Se me ha preguntado como cambiar el tamaño de la letra de la consola, y como no lo sabia, he ido a google y he encontrado esto:
yo tengo en .bashrc:
consolechars -f /usr/share/consolefonts/iso01.f08.psf.gz
para hacer la letra más pequeña. Haz ls /usr/share/consolefonts/ para ver las fuentes.
Si usas lilo en el arranque pon la opción vga=ask en tu lilo.conf. Eso te permitirá elegir entre unas cuantas dimensiones de fuentes en pantalla. Luego puedes quedarte con la que más te guste. Yo tengo vga=7 y me va de perlas. No olvides correr la orden lilo después de actualizar el lilo.conf
Normalmente, para desinstalar un programa en debian basta con ejecutar este comando:
apt-get remove programa
Pero a veces el (muy sobrevalorado, para mi gusto) apt simplemente no puede eliminar el programa, porque insiste en ejecutar varios ficheros de configuración al tratar los paquetes, y si estos fallan, por la razón que sea, el programa no se desinstala. Así que, en casos extremos, podeis recurrir a eliminar dichos ficheros de configuración (que de todas formas seran reinstalados la proxima vez que instaleis el paquete) para que no molesten al desinstalar. Por ejemplo, mi problema fue con el gestor de login gráfico del gnome, gdm, que no se queria desinstalar porque no intentaba que al irse el, volver a dejar en el arranque al gestor que estuviera antes... y antes no habia nada (es un ordenador sin monitor!).
Por lo tanto petaba, y ni comia ni dejaba comer... asi que busco los ficheros, que se llaman /var/lib/dpkg/info/paquete.prerm y /var/lib/dpkg/info/paquete.postrm, los quito de en medio (mejor renombrandolos que borrandolos) y listos.cd /var/lib/dpkg/info/ mv gdm.postrm gdm.postrm.bak mv gdm.prerm gdm.prerm.bak apt-get remove gdm
Llamo campana del sistema (o beep o como prefirais) al increiblemente molesto pitido que suena a menudo en la linea de comandos de linux, por ejemplo cuando intentais borrar y ya no queda nada en la linea, y cosas así. La solución para eliminarlo es este comando:
setterm -blength 0
Recordad que tendreis que ponerlo en el arranque de vuestro sistema para no tener que estar escribiendolo una y otra vez.
![]() | Anonimo (23/08/2005, 23:35) No Funka.. y creo que tienes mal el comando. El comando original es setterm -blength |
![]() | Saiyine (24/08/2005, 00:33) Cierto, cierto, muchas gracias por la correción, siempre escribo mal la palabra length |
El otro dia necesitaba ver remotamente el contenido de las X de mi maquina, asi me curré esta linea para hacer una captura en un JPG, que despues puse en un directorio de mi servidor web: mision cumplida.
xwd -display 127.0.0.1:0 -screen -silent -root | convert - imagen.jpg
Mas usos para el rsync: actualizar isos. Por ejemplo, actualizar la knoppix bajando solo lo que cambie de una version a otra. Esto, claro es en teoria, en la practica, como los cambios verdaderos estan comprimidos en un fichero bastante grande dentro de la iso, casi toda la imagen es diferente, por lo que el ahorro puede ser minimo. Aun asi, es un experimento interesante: renombrar tu iso a la version que quieras bajar y ejecutar un comando parecido a este:
rsync -P --stats ftp.leo.org::Knoppix/KNOPPIX_V3.1-31-10-2002-EN.iso
Una facilita, como saber en debian que programas tenemos instalados. En el ejemplo, los programas instalados que lleven tcl en el nombre.
dpkg -l | grep -i tcl
El midnight commander tiene la posibilidad de crear un menu de usuario con las opciones que deseemos, que, aunque esta muy poco trabajado, permite cositas aceptables, como este ejemplo, crear un tar con los ficheros seleccionados. Se me ocurre que no seria muy dificil cambiar el codigo para crear ficheros .iso en vez de los absurdos tar, pero bueno, os cedo el honor.
+ t t @ Meter en un tar CMD=%{nombre del tar} tar cvf $CMD %u
Este texto habria que meterlo en Comando -> Editar archivo de menu y luego lo podemos llamar pulsando F2
Esto salió hace poco en barrapunto, y me parecio de interes, es la sincronización de un directorio a través de ssh sin necesidad de tener el daemon del rsync corriendo:
local$ rsync -e ssh -auvz directorio/ usuario@host:directorio/
Hoy, paseando por ahi, he visto un "sistema" para pasar de ogm a avi en windows realmente ridiculo, usando una especie de macro que simula a un usuario moviendo el raton y pulsando el teclado para hacer la conversion automaticamente. Los usuarios de linux no somos tan modernos, asi que nos tenemos que aguantar con algo tan soso como usar el programa adecuado, en este caso, el mencoder, que va con el mplayer:
mencoder video.ogm -o "video.avi" -ovc copy -oac mp3lame -lameopts preset=96
Con este comando copiamos tal cual el stream de video tal cual en un fichero avi, y convertimos la probable banda sonora en .ogg a mp3. Yo lo uso para convertir ogm's a avi para que mi KiSS pueda leer los videos sin problemas, imagino que si no quereis convertir el audio bastaria con cambiar "mp3lame" por "copy" y quitar la opcion del bitrate (eso es el preset!)
Este proceso tarda unos 20 minutos en mi maquina principal, en realidad creo que depende mas de la velocidad a la que se lea del disco duro que otra cosa, porque lo de comprimir a mp3 ocupa una cantidad de cpu minima en cualquier CPU mas o menos moderna.
El programa SSH es realmente util, pero a la larga puede hacerse incomodo. Por eso, podemos usar este pequeño truco (en realidad, mas que truco, es una feature):
[~] ssh-keygen -t dsa [~] cat id_dsa.pub | ssh usuario@maquina_remota "cat - >> .ssh/authorized_keys2"
El primer comando genera una clave publica, y el segundo la añade al listado local de claves publicas en la cuenta del usuario en la maquina remota. A partir de aqui, cada vez que entremos a esa cuenta, ya nunca mas pedirá la clave.
![]() | jean crlos herran cordero (07/05/2005, 16:34) oeeee migo o miga quiero ese programa que guarda las claves porfis mandamelo ok |
En la linea de comandos de linux es posible ejecutar un programa, ponerlo en segundo plano y seguir trabajando, y mientras, nosotros seguir con otras cosas. Un ejemplo:
saiyine@torpedo:/$ sleep 60 & [1] 27457 saiyine@torpedo:/$ fg 1 sleep 60 [1]+ Stopped sleep 60 saiyine@torpedo:/$ bg 1 [1]+ sleep 60 &
La explicacion: si al ejecutar un comando terminamos la linea con el simbolo &, el programa pasa a ejecutarse a segundo plano. Si entonces le queremos devolver el control, podemos hacerlo con el comando fg num, siendo num el numero entre corchetes. Otra opcion es, con un programa en marcha, pulsar CTRL Z para enviarlo al segundo plano parado, y arrancarlo alli con bg numero.
Hablabamos el otro dia en el cafe de la iniciacion de un amiguete a linux, y llegamos al tema de la swap, y claro, en seguida salio el animal de bellota que solto el "tienes que hacer una particion del doble que la RAM", que, juas, tenia sentido en los 486 con 16 megas, pero en un k7xp 2200+ con 512 seria tirar a la basura en torno a un giga de disco duro... bueno, eso de gigas y megas eran medidas que se usaban antes, para haceros una idea, un giga equivale a unas 15.000 fotos guarras: un espacio muy aprovechable.
En serio, dudo mucho que un usuario de escritorio vaya a llenar esas 512, yo tengo 256 y 256, y es extremadamente raro que llegue a tener menos de 100 libres (solo me pasa cuando hago parches entre ISOs, pero es que yo soy asi de bruto). Si realmente le hace mucha ilu tener swap, yo de el me pondria a lo mejor 200 megas, pero es que casi seguro que lo que haria seria aprovechar que te puedes hacer la swap que te de la gana simplemente usando un fichero, y si tienes windows en otra particion, es que, juas, no tienes ni que gastar ni un byte de disco duro:
mkswap (donde tengas el windows)/pagefile.sys swapon (donde tengas el windows)/pagefile.sys
Y problema resuelto. Y no, no le pasa nada al windows por usar su swap (que de todas formas vuelve a escribir cuando arranca). Por cierto que este fichero que genera el windows puede llegar a ser absurdamente grande, en mi caso, 400 megas.
Para que lo haga siempre, basta con incluir esas dos lineas en el fichero de arranque que corresponda en vuestra distro, por ejemplo, en mi gentoo es /etc/conf.d/local.start y en mi debian es /etc/init.d/bootmisc.sh.
ACTUALIZACION 04/11/2003: Estamos hablando de windows en una particion FAT, claro, no me vayais a poner la memoria virtual en una NTFS que la podeis liar.
Una linea de comandos que me es especialmente util es esta de volcar ficheros a CD, en particular, es comodisima si solo se trata de un fichero bien grande que quereis meter en el CD, como pueda ser vuestra copia de seguridad del DVD que saque con mis mejores goles y similares.
mkisofs -quiet -V "Volumen" -f -J -r "Fichero" | cdrecord -multi \ -dummy driveropts=burnproof dev=0,0,0 speed=8 -
Comprended bien los parametros de los comandos antes de probarla, aunque por si acaso os he colado una medida de seguridad. En general, lo que hace es crear una .iso en una tuberia unix (en la RAM) que el comando cdrecord se encarga de volcar en el CD.
Si, como yo, tratais a diario con hardware lamentable que no teneis mas remedio que tragaros porque simplemente no hay pasta para reemplazarlo, os sonara mucho lo de la tipica placa que no hay manera de que guarde la hora, ni cambiandola en la bios ni por software ni nada de nada. Pues aqui teneis una solucion, meted en el arranque esta linea (en placas realmente muy chungas quizas haya incluso que meterla en algun cron):
ntpdate swisstime.ethz.ch
Pongo ese servidor por poner uno cualquiera, si no os gusta por alguna razon, os vais al google y poneis ntp servers e imagino que os saldran la piel.
Un caluroso saludo de mis partes a los amiguetes de Linux, que me tuvieron ayer todo el dia compilando y haciendo probaturas en mi ordenador pequeño hasta que encontre han puesto una opcion nueva llamada "Compatibilidad con particiones", que no tiene nada que ver con los sistemas de ficheros, en la que le tienes que poner que tu disco duro ha sido particionado en un x86. Asi que, Monty, ojo al dato con eso... los demás... imagino que de momento no vais a cambiar de kernel.
Ah, por supuesto, una vez que esta funcionando, las mejoras van hasta el infinito y mas allá: va exactamente igual y encima ya no funcionan los programas de manejar los modulos (aunque estos, cargarse, se cargan).
Ah, vale, que hay que instalar un nuevo paquete llamado module-init-tools... coooorrecto.
Mis reyes han sido mas o menos como de costumbre, algo sosillos, lo mas probable es que me autoregale la pioneer A06, para poder grabar en DVD las sesiones de filosofia de alto nivel que tienen lugar en el palacio del manchao (se me habia escapado "palacio del sabor", creo que mi subconsciente habia vuelto a saborear la Big King XXX gigante cocacola sin hielo que me zampé anoche)... la verdad es que estaba mirando páginas de tiendas de informatica y se me hace la boca agua con tanto cacharro en el que fundirme mi escasa pasta. Anda que cuando tenga un sueldo mensual de verdad voy a ser cosa fina!
Maldición, no parece que tengan por aqui cerca un silenciador de discos duros!
Aunque imagino que ya las habreis visto porque estan por todas partes, aqui teneis las nuevas fotos que estan llegando de Marte . Al ojo inexperto podria parecerle que el planeta sigue siendo un monton de arena roja y algun que otro pedrusco exactamente igual que hace 20 años con las viking, pero os aseguro que hay cienes y cienes de cosas que los genios inmortales podemos deducir de esas imagenes, como el color de la arena, el numero medio de pedruscos por metro cuadrado, etc.
Mas brio a esos teclados, que estamos a punto de pasar a los 700's en el pulse! No desesperes Hommer (dice que prefiere que lo llamemos así) pronto tendras extremidades!
Y aqui un último enlace de calidad, como hacer tu propio live-cd !!!