Atajos del teclado
KDE brinda varias opciones para cuando se cansen del mouse.
Presionando <CTRL+ ESC> cambiarán a otra aplicación.
Con <ALT+TAB>, como era de esperar, rotarán entre todas las
aplicaciones activas. Usando <CTRL+Fx> pueden cambiar de consola
virtual y, por último, presionando <ALT+F4> se cierra la ventana
actual, como sucede en Windows.
Opciones de Ventana
Haciendo doble clic en la barra de Título de un programa, la
ventana desaparece, y queda sólo esta barra. Este efecto se
llama shadowing y es algo que siempre me gustó de las Mac.
Haciendo clic con el botón central del mouse en los botones para
maximizar y minimizar las ventanas, se ejecutará la función,
pero solamente a lo largo o a lo ancho de la pantalla, sin tomar
posesión total del Escritorio.
Ejecutar al inicio
Para ejecutar un programa al inicio de KDE sólo tienen que crear
un kdelnk hacia él (pueden encontrar templates de kdelnk en la
carpeta TEMPLATES del Escritorio) y editar sus propiedades. Lo
único que resta hacer es arrastrar este kdelnk a la carpeta
AUTOSTART dentro del Escritorio.
Mensaje del día
El mensaje del día (MOTD) no suele ser muy útil en sistemas
hogareños, por lo que este script nos permitirá rotar entre
diferentes archivos de arte ASCII cada vez que iniciemos el
sistema. Creen e[ directorio /etc/splash y pongan todos los
archivos ASCII allí. luego, como root, agreguen un trabajo
cronometrado (cron) con el siguiente- script:
#! /bin/sh
cd /etc/splash/
[ -f splash &&
SPLASH='/bin/cat splash'
[ -z "$SPLASH" ] ||
[ ! -f "$SPLASH" &&
SPLASH='/bin/ls /bin/sed -n ´1p´'
/bín/cp "$SPLASH" ../motd && {
/bin/ls /bin/sed -n
´1h;/^´$SPLASH,$/{${x;p;q;};n;p;}´ >. splash
}
Pantalla de bienvenida
Es posible crear un mensaje para que todos los usuarios que se
logueen al sistema lo vean. Es, en cierta forma, similar al
mensaje que aparece cuando se conectan a un servidor de IRC.
El archivo en cuestión se encuentra en /etc/motd (por Message Of
The Day); edítenlo a gusto y necesidad con cualquier editor de
texto.
Reinstalé Windows y perdí Linux
A Windows no te gusta que alguien más use la MBR; por eso,
cuando instalamos cualquier versión, automáticamente sobrescribe
la MBR a su gusto.
Si teníamos Linux instalado con LILO, necesitaremos un disquete
booteable para ingresar en Linux y poder ejecutar /sbin/lilo
para que, nuevamente, LILO pueda instalarse en la MBR
Nombres muy largos
Una particularidad de Linux (como en todos los sistemas basados
en UNIX) es que los archivos suelen tener nombres muy largos.
Pasarlos como parámetros puede volverse complicado cuando no los
recordamos de memoria. Por eso el shell Bash nos ofrece su
función de autocompletado, mediante la cual, al escribir las
primeras letras del nombre y presionar <TAB>, Bash mostrará las
coincidencias; esto nos evitará el engorro de tipear el nombre
completo del archivo.
Inicio/Ejecutar
Presionando <ALT+F2> verán la línea simple de comando, la cual
les permitirá ingresar el nombre de un programa o una URL para
navegar.
Reseteando el terminal
Cuando la pantalla, por cualquier motivo, se llena de basura,
podemos utilizar este programa en C, el cual reseteará y
limpiará cualquier terminal VT100. Copien este código en un
archivo:
#include <stdio.h>
int main(void)
{
Printf(P\033c");//resetea terminal
printf(P\033[2j");// limpia la pantalla
return (0);
luego graben el archivo y escriban "make archivo", siendo
archivo el nombre con el que lo grabaron. Ahora pueden
utilizarlo en cualquier momento para resetear su terminal
¿Dónde está?
En el inmenso mar de directorios de Linux, puede resultar
complicado encontrar un archivo determinado. Para ello pueden
utilizar el comando find, por ejemplo: find /-name "nombre",
donde la "/" es el directorio de inicio de la búsqueda (en este
caso buscará en todo el sistema de archivos, así como en
cualquier unidad montada) y "nombre" es la cadena a buscar
(reemplácenlo por el nombre del archivo que buscan). Como todo
comando en Linux, tiene un montón de opciones más.
Olvidé la contraseña de root
Pueden pasarte un parámetro 1 cuando se ejecute LILO, de la
siguiente forma: "lilo 1". Así entrarán como root y podrán
ejecutar el comando passwd o editar directamente el archivo /etc/passwd.
También sirve arrancar con linux single y añadirte el user root
o el que sea manualmente :)
Eliminar escritorios virtuales
Puede parecer una idea rara, pero eliminar escritorios virtuales
que no utilicemos liberará recursos. Editen el archivo /etc/inittab
y busquen las líneas que indican el inicio de una terminal "getty",
por ejemplo: "2:123:respawn:/sbin/míngetty tty2". Eliminen cada
una de esas líneas por escritorio que quieran quitar; el número
posterior a tty indica el número de terminal (a los cuales
accedemos presionando <ALT+Fx>). Un número de tres terminales es
suficiente para operar el sistema. Graben el archivo y
reinicien. Ya no tendrán tantos terminales, y habrán ganado unos
megabytes de memoria.
Se colgó todo
Cuando experimentamos en Linux, precisamente en el entorno
gráfico, a veces sucede que todo se cuelga. Para no ir
directamente al botón de reset, pueden probar la combinación de
teclas <CTRL+ ALT+BACKSPACE>, que matará todos los procesos que
se encuentren en ejecución y pasará a modo texto o al login
gráfico si lo tienen activado.
Montaje automático de disquetes VFAT
Abran una consola (la de su preferencia) y ejecuten el comando
mcedit Desktop/floppy.kdelnk, que abrirá un editor de texto con
el archivo de acceso al disquete del Escritorio. En éste debemos
modificar el valor contenido dentro de la línea FStype=Default
por FSType=v-fat.
Para que todos puedan usar kppp
Deben hacer clic con el botón derecho en el archivo situado en /usr/bin/kppp,
y en la solapa [Permissions], hacer clic en el checkbox [Set UID],
en la línea [User].
Esto hará que todos los usuarios puedan iniciar Kppp y no sólo
el root. Recuerden que para realizar los cambios deben estar
logueados como root.
Navegación con palabras clave
Konqueror, el oficial de KDE, nos permite definir palabras nos
serviran como atajos para los sitios más visitados, desde [Settings/Configure
Konqueror/Enhaned Browsing].
Por ejemplo, al escribir "gg:linux" en barra de Dirección, se
abrirá el buscador Google con palabra Linux.
Eliminar el inicio gráfico
si desean el inicio en modo consola, pero su distribución
instala el inicio gráfico de forma predeterminada, pueden
cambiarlo modificando el archivo inittab, dentro del directorio
/ETC. Hagan una copia de respaldo y editen el archivo inittab.
Con la búsqueda encuentren la línea: id:5:initdefault
Y cámbienla por lo siguiente: id:3:initdefault:
En el próximo inicio de sesión tendrán el clásico modo texto.
Para restaurar el inicio gráfico, hagan exactamente lo
contrario.
Cómo cambiar la resolución y la profundidad de color en X
Estos parámetros son controlados por el Servidor X,
independientemente del manejador de ventanas que utilicemos. Si
en la configuración de X hemos agregado varias resoluciones,
podremos cambiar de resolución con las teclas <CTRL++>. La
profundidad de color, en cambio, se modifica a través del script
de inicialización startx, de la siguiente manera: "startx -bpp
<profundidad>", donde profundidad puede tomar los valores 8, 16,
24 o 32 para las distintas opciones. Es posible cambiarlo
permanentemente desde el configurador XF86Setup.
Cómo evitar los pings
Si quieren evitar que su equipo responda a las peticiones ping
de la Red, pueden usar este truco. Es necesario contar con un
kernel 2.1.x o superior. Para lograrlo, en la consola deben
ejecutar el siguiente comando: "echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all"'.
Con él evitarán que su máquina responda a cualquier ping
proveniente de la Red.
Para revertir la opción, en la consola ejecuten el comando
"echo 0 > /proc/sys/ net/ipv4/icmp_echo_ignore_all", y todo
volverá a ser como antes.
Descarga automática de webs completas
Para descargar una web completa con todas las páginas a las que
apunta y todos sus elementos de forma recursiva, puede usar la
aplicación wget tecleando el siguiente comando:
wget -r http://www.lawebquesea.com
Y si lo que tiene es un fichero de texto con un listado de webs
puede descargarlas todas del tirón tecleando:
wget -r -i listadewebs.txt
Eso sí, si no tiene una conexión muy buena tendrá que esperar un
rato hasta bajar toda la web.
NOTA: Algunas páginas están expresamente protegidas para que no
sean bajadas por este método, por lo que esto no funcionará en
todos los casos. Tampoco funciona con páginas creadas con Flash
Comprimir y descomprimir en linux
Supongamos que tenemos un directorio llamado subcarpeta que
cuelga de carpeta, si queremos comprimir su contenido en un
fichero tar.gz o descomprimir un fichero tar.gz en el directorio
carpeta para que se genere toda su estructura de directorios,
estos serían los comandos:
Comprimir:
cd carpeta
tar -c subcarpeta >fichero.tar
gzip fichero.tar
Descomprimir:
cd carpeta
gunzip fichero.tar.gz
tar -xvf fichero.tar
Si quieres usar los nuevos ficheros bz2 los comandos son los
mismos sustituyendo gzip con bzip2 y gunzip con bunzip2.
Los ficheros tar, gz y tar.gz se pueden ver también desde MS-DOS
o Windows con algunos compresores como el Windows Commander.
Eliminar ficheros Core
ln -s /dev/null core (envía los core a /dev/null)
ulimit -c 0 (limita el tamaño de los core a 0)
11.2 Imprimir paquetes instalados con dselect
método 1 - dpkg --get-selections | awk '$2 == "install" { print
$1 }'
método 2 - ( cd /var/lib/dpkg/info; ls *.list ) | sed -e "/\.list/s///"
método 3 - dpkg -l
Montar cdrom y floppy sin ser root
Como root te creas los directorios
/mnt/floppy /mnt/a: /mnt/cdrom
metes en /etc/fstab las siguientes lineas :
/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 0
/dev/fd0 /mnt/a: msdos user,noauto 0 0
/dev/fd0 /mnt/floppy ext2 user,noauto 0 0
ahora ya puedes montar un disquete Ms-dos , un disquete ext2 o
un Cd-rom,
respectivamente, con :
mount /mnt/a:
mount/mnt/floppy
mount/mnt/cdrom
El nombre del dispositivo puede ser distinto, por ejemplo, en
vez de /dev/cdrom
puedes tener /dev/hdc ... etc., depende de cada cual.
Ampliar tamaño de partición Linux
Bueno, ampliar no creo que se pueda, pero si te creas otra
partición ext2, la montas debajo de / , como por ejemplo /home,
luego te creas un directorio /home/usr/local y lo enlazas a /usr/local,
etc... tendrás la sensación de que efectivamente tu partición /
ha aumentado de tamaño :-).
O mejor todavía :
te creas una nueva partición, por ejemplo: /hdc3
te copias todos los directorios de /usr a /mnt/hdc3
te renombras el fichero /usr como /usr_ant por si las moscas
te creas el fichero /usr vacío
actualizas el /etc/fstab con la siguiente línea :
/dev/hdc3 /usr ext2 defaults 0 0
rearrancas, y después de unos días, para ver que todo funciona
bien, borras /usr_ant
Personalizar tecla de función
Utilizo un pequeño script que tengo asociado a una tecla de
función en mi .inputrc, así, cada vez que quiero meter o sacar
un CD, le doy a la tecla F8.
## FICHERO: $HOME/.inputrc
# Personalizar teclas de función
# F8
"\e[19~": "(. ~/scripts/cdrom)&\C-m"
Y el script es:
#!/bin/bash
if [ `grep -c cdrom /etc/mtab` = 0 ] ;
then mount /mnt/cdrom && cd /mnt/cdrom ;
else umount /mnt/cdrom && eject /dev/cdrom ;
fi
Eliminar paquetes instalados en Debian
dpkg --remove nombre_paquete_sin_extension_deb
eliminara el paquete aunque no los ficheros de configuración que
ese
paquete pudiera tener.
dpkg --purge nombre_paquete_sin_extension_deb
eliminara todo.
Hacer disco de arranque Linux
cp /boot/vmlinuz /dev/fd0
así de simple, siempre y cuando el kernel contenga la
información sobre cual
partición arrancar, etc. lo que se puede indicar así:
rdev /boot/vmlinuz /dev/tuparticionroot
rdev /boot/vmlinuz indicará cual tiene configurada:
chanae:~# rdev /boot/vmlinuz
Root device /dev/hda3
Entrar al sistema sin saber la password
Cuando aparece el prompt de Lilo o el del disco de arranque
escribir 'linux single' y entras como root sin necesidad de
password
después hay que entrar con un editor en /etc/passwd, buscar una
línea
que pone root:xxxx:0:0:root:/root:/bin/bash,
borrar xxxxx dejando root::0:0, etc
así has borrado la pasword.
Otra opción: desde DOS, utilizar un editor del disco duro (Norton)
buscar la cadena root en el HD y eliminar la password.
Otra opción: en el arranque, escribir init=/bin/bash, esto hace
que se lance
bash directamente sin pasar por el init, o sea, sin pedir clave.
probablemente hay que remontar las particiones:
mount -t -o remount, rw /
mount -a -t nonfs
para estar seguro de que el PATH esta correcto hacer:
source /etc/profile
source /root/.profile
y por ultimo, a partir de una cuenta no-root, hacer su; para ver
si la clave
de root esta ok:
paswwd
su < usuario-no-root >
su
exit
exit
reboot
Configuración de LILO
Fichero /etc/lilo.conf :
# Sección global de arranque de LILO
boot = /dev/hda
compact # si da problemas, descomentar esta opción
delay = 50
vga = normal # forzando 'sane-state'
ramdisk = 0 # paranoia setting
#
# Sección de configuración de partición de LINUX arrancable
image = /vmlinuz
root = /dev/hdc2
label = linux
#
# Sección de configuración de partición de DOS arrancable
other = /dev/hda1
label = dos
table = /dev/hda
#fin
Sustituye las particiones por las tuyas, la primera que pongas
será la que arranque por defecto pasado el tiempo 'delay' en
décimas de segundo.
Una vez hayas modificado este archivo, ejecuta lo siguiente:
root::/# lilo
Veras como te aparecen por pantalla las particiones que hayas
configurado para gestionar por lilo y la que hayas colocado como
'defecto' aparece con un asterisco..
Otra versión del /etc/lilo.conf
boot=/dev/hda # donde se instalará el LILO
compact
install=/boot/boot.b
map=/boot/map
vga=normal # pantalla en modo VGA
ramdisk=0 # no creamos disco virtual, necesario para crear los
# discos boot y root de la instalación
delay=50 # espera 10 segundos. [Ctrl] nos muestra las opciones
# que seleccionaremos escribiéndola
default=linux-2.0.32 # establece el SO que arrancará por defecto
image=/vmlinuz # la imagen del kernel a arrancar
label=linux-2.0.30 # el nombre asociado
root=/dev/hdb1 # partición donde está la correspondiente imagen
alias=l # para abreviar en la selección
read-only
image=/boot/zImage-2.0.32
label=linux-2.0.32
root=/dev/hdb1
alias=z
read-only
other=/dev/hda1
table=/dev/hda # para que msdos encuentre la tabla de
particiones
label=msdos
alias=m
----
Cuando has editado tu lilo.conf, para instalarlo tienes que
ejecutar, como root,
# lilo
y se instalará en el Master Boor Record de hda (en mi caso).
Debe ser una partición a la que tenga acceso la Bios del
ordenador..
En Netscape los ficheros .gz y .tgz en lugar de bajártelos te
los muestra
Edit - Preferences - Navigator - Applications.
Buscamos en la lista "Zip compressed data", pulsamos el botón "Edit",
en Suffix añadimos ",gz,tgz" y abajo seleccionamos "Save to
disk". Ok, Ok y listos :-). (Hue-Bond)
De esta forma cuando pinches uno de estos ficheros te preguntará
si quieres guardarlo, en lugar de intentar ejecutarlo.
News off-line con Netscape
El Netscape no hay ninguna opción para bajarse las news, pero
con el siguiente truco se puede conseguir el mismo efecto:
Lo primero es crearse dos nuevos directorios en el Message
Center con "New Folder" (yo los llamo Linux y Linux_Archive).
Abres el grupo es.comp.os.linux y le dices que te baje todos los
mensajes. Después en menú "View" marcas "Messages" y "News". Eso
expande todos los Treads.
Ahora los marcamos para bajarlos. Lo podemos hacer con menú "Edit",
"Select", "All" (o más rápido Alt+A). Y los bajamos con "File"
al directorio que hemos creado.
Sin cerrar la conexión debemos marcarlos todos como leídos. Para
ello "Mark" y "All Read". Y ahora podemos cerrar la conexión.
Para leerlos vamos a nuestro nuevo directorio Linux y los
podemos ordenar cómo queramos... "View", "Sort"... yo lo tengo
en "By Subject". Los que me interesan los archivo en el otro
directorio que creé ("Linux_Archive") y los que no a la papelera
("Delete").
Como seleccionamos la opción "View", "New", la próxima vez que
entremos en el grupo sólo nos bajará los nuevos mensajes.
Hacer que la diskettera solo puedan montarla los usuarios de un
determinado grupo
$ ls -l /dev/fd0
brw-rw---- 1 root floppy 2, 0 ago 24 1997 /dev/fd0
$ grep floppy /etc/group
floppy::11:root,srtxg,fab
$ grep nobody /etc/passwd
nobody:*:99:99:nobody:/dev/null:
$ grep /dev/fd0 /etc/fstab
/dev/fd0 /mnt/floppy vfat user,noauto,uid=99,gid=11,umask=007
explicaciones:
* los permisos sobre el device (hacerlo para todos los /dev/fd0*)
evitan
que se pueda acceder usando los mtools si no se es miembro del
grupo floppy.
* en fstab se declara las opciones "user" (para que pueda ser
montado
por gento no-root), "noauto" (para que no sea montado al
arranque),
el uid y gid de los archivos y directorios vfat (yo elegí nobody
y group floppy), y por fin la máscara (007 significa permisos
770;
o sea rwxrwx---).
Si además quieres impedir no solo el acceso a los datos, sino
también el
uso de mount; cambia los permisos de mount y umount; algo así:
chown root.mount /bin/*mount
chmod o-rwx /bin/*mount
chmod u+s /bin/*mount
y añade al grupo mount todos los usuarios que quieras que puedan
usar mount.
para montar el floppy (u otras cosas; todo lo que tenga "user"
en las opciones
en /etc/fstab)
Pablo Saratxaga
Cómo formatear diskettes
formato tipo msdos: mformat a:
formato tipo ext2: fdformat /dev/fd0H1440
mkfs.ext2 /dev/fd0
Para Linux --> ext2
$ mkfs.ext2 [options] /dev/fd0
ó
$ mke2fs [options] /dev/fd0
El usuario que formatea deberá tener permiso de escritura para
`/dev/fd0'. Eso normalmente se consigue añadiéndolo al grupo
`floppy' (addgroup user group).
Para msdos
$ mkfs.msdos [options] /dev/fd0
ó
$ mkdosfs [options] /dev/fd0
Pero también hay otras utilidades para formatear discos
DOS. Mira a ver si tienes el paquete `fdutils', que permite
formatear los discos a mayor capacidad.
Cómo hacer que linux reconozca ampliación de memoria
> He añadido 64 megas nuevos al aparato con lo que sumo 80 megas
> el problema es que linux solo me reconoce 64 ¿como hago para
que
> reconozca los 80?
pon append="mem=80M" en lilo.conf
o loadlin vmlinuz mem=80M
Primer editor
Una de las primeras dificultades con las que se topan los
novatos es cómo ver y editar ficheros.
El "less" está más o menos bien aunque es un poco "soso". El "vi"
puede ser un auténtico trauma.
Para los que acaban de llegar a linux puede que les sea
interesante este "truco":
1) Instalar el Midnight Commander.
2) Añadir en el ~/.bashrc estás líneas:
alias lee='mc -v ' #ojo, que hay un espacio detrás de la v.
alias edit='mcedit'
3) teclear "exit" e iniciar una nueva sesión.
A partir de entonces se puede ver el contenido de un fichero con
"lee fichero" (además lee fichero comprimidos) y editarlo con "edit
fichero".
La tecla F10 es para salir, y la tecla F9 para abrir el menú.
Bueno, esto es lo que he hecho yo, y me gusta más que less y vim,
pero hay una pega, y es que no puedo pegar en el mcedit con el
ratón lo que previamente he copiado en otro terminal.
(ricardovm)
Pues lo acabo de probar:
Mayúsculas + Botón Izquierdo: inicio de la selección
Mayúsculas + Botón Derecho: fin de la selección
Mayúsculas + Botón Central: pegar
NOTA: el bloque así seleccionado se maneja de forma estándar: si
desde otra consola pulsamos el botón central del ratón, lo
pegamos, etc.
Además el mc tiene su propia herramienta de selección de bloques
(F3, o May+Flechas), y con esto se puede copiar (Ctrl+Ins),
cortar (May+Del) y pegar (May+Ins) incluso de una sesión a otra,
pues lo copiado (cortado) se guarda en /.cedit/cooledit.clip.
Ambas herramientas se pueden usar simultánea e
independientemente.
(tas@idecnet.com)
Instalar las X con Dselect de Debian.
Sesión de dselect. Como root pon dselect.
Dentro del menú ve a "[S]elect", te sale un mensajito de
bienvenida y tal, pulsas la barra y ahora toca seleccionar
paquetes.
Pulsa la "o" minúscula 2 veces y la mayúscula otras dos, con
esto consigues que la lista de paquetes salga ordenada
alfabéticamente.
Entonces ahora avanza páginas y páginas hasta encontrar el
paquete "xbase" (creo).
Una vez ahí lo seleccionas pulsando la tecla "Ins" (si no lo
tienes seleccionado ya, en cuyo caso esta parrafada te la saltas
;-)).
Probablemente dselect ahora te saque un mensaje diciendo "Che!!
Y las dependencias qué?", pulsas la barra y ves abajo que pone
"xbase requires xserver-vga16" (por ejemplo),
entonces vas al xserver-vga16, que te aparece por ahí y lo "Ins"ertas,
aunque verás que dselect ya lo ha seleccionado él solito.
Para salir y volver a la lista de todos los paquetes pulsa Enter.
Ahora un poco más abajo te aparecen los servidores, añade el
xserver-svga y el xserver-s3v (el de la ViRGE). Si te pregunta
por dependencias pues eso, aunque dselect ya lo suele añadir
todo.
Instala también algún gestor de ventanas adicional (por defecto
se instalan el twm y el fvwm creo),a mí me encanta el icewm.
Para salir de la lista de paquetes, es con Enter de nuevo y
vuelves al menú principal.
Selecciona "[I]nstall" y ve a tomar un cafecito rápido de 5
minutos.
Cuando acabe pulsas Enter, te aparece de nuevo el menú y te vas
a Quit o Exit o lo que sea.
Ya tienes las X instaladas.
Ahora toca sesión de XF86Setup.
Configuras el mouse, el teclado (Model: Generic 102 keys Intl
PC, Layout: Spanish), la tarjeta de vídeo (tienes 5 ViRGEs, ya
sabes, a experimentar), en esa misma pantalla pulsas el
botoncito que pone "Detailed setup", seleccionas el servidor S3V
(la fila de botones de arriba), luego el monitor (mírate el
manual para saber las frecuencias, yo le puse el 4º, el que
empieza por Super VGA y me va bien), por último los modos de
vídeo y listo, pulsa "Done" abajo (en la sección Other no hace
falta tocar nada, aunque nadie te prohibe echar un vistacito.).
Tras eso te aparece un dialoguillo, pulsas "Okay" y ahora se
arrancará el servidor.
Si rula, felicidades; si no... a por otra ViRGE. ¿Que ya has
probado las 5? Pues en "Detailed setup" prueba el servidor SVGA.
¿Que tampoco rula? Pueeeees entonces ya pasa de castaño... no? (Hue
Bond)
Acelerar la compilación del kernel.
He encontrado un truco que puede acelerar tremendamente el
compilado del kernel de linux.
Cuando se da la orden de compilar en vez de :
make zdisk
hay que escribir
make -j5 zdisk
Esto inicia hasta 5 procesos de compilado simultaneos.
Idem con
make -j5 modules
Como descomprimir un .deb en una urgencia
Como desempaquetar un .deb en una urgencia.
Suelo trabajar con varios sistemas Linux, distribuciones
Slackware
en la facultad, Debian en el trabajo y Red Hat en casa. Al tener
tanto
RedHat como Debian, tengo una cantidad de soft en formato rpm
como .deb,
y en algun momento me he visto en la necesidad de instalar un .deb
en la
REDHAT en casa, o un rpm en Debian o Slackware. Para estas
cosas, lo mejor
es alien, un programa conversor de paquetes, pero solo viene por
defecto en
la Debian. Asi que me vi en la dificultad de instalar un .deb en
la RedHat
de mi casa. Asi que con la utilidad file, vi que era un archivo
ar:
bash# file mctools-lite_970129-1.deb
mctools-lite_970129-1.deb: current ar archive Debian binary
package
bash#
En el paquete binutils, se incluye el programa ar, que se
utiliza
para archivar ficheros en un solo archivo, algo asi como el tar,
solo que
este ultimo esta especializado para streamers y esas cosas....
Con una
rapida miradita al man, averiguo que la opcion para descomprinir
ar's es x,
de forma que tecleo:
bash# ar x ../mctools-lite_970129-1.deb
bash# ls -la
total 159
drwxr-xr-x 2 root root 1024 Jul 21 01:45 .
drwxr-xr-x 5 root root 1024 Jul 21 01:42 ..
-rw-r--r-- 1 root root 1276 Jul 21 01:45 control.tar.gz
-rw-r--r-- 1 root root 156567 Jul 21 01:45 data.tar.gz
-rw-r--r-- 1 root root 4 Jul 21 01:45 debian-binary
bash#
Si descomprimimos el archivo control.tar.gz, encontramos los
siguientes ficheros:
bash# tar zxvf ../control.tar.gz
bash# ls -la
total 7
drwxr-xr-x 2 root root 1024 Feb 13 1997 .
drwxr-xr-x 3 root root 1024 Jul 21 01:48 ..
-rw-r--r-- 1 root root 1299 Feb 13 1997 checksums
-rw-r--r-- 1 root root 437 Feb 13 1997 control
-rwxr-xr-x 1 root root 264 Feb 13 1997 postinst
-rwxr-xr-x 1 root root 70 Feb 13 1997 postrm
bash#
En el fichero control, se encuentra la informacion que nos suele
ofrecer el dselect cuando le pedimos informacion sobre un
paquete. Los demas
ficheros tienen informacion sobre que hacer con el sistema antes
y despues
de la instalacion. Para mas informacion, en las distribuciones
debian
existen HOWTO's con todos los detalles sobre los paquetes debian.
En el archivo data.tar.gz, esta la aplicacion en si, que si se
descomprime a partir del fichero raiz colocara a todos los
ficheros en sus
directorios correspondientes.
Este metodo se debe usar como ultimo recurso, ya que los
programas
instalados asi no podran ser desinstalados o actualizados con
rpm ni con
dpkg, pero por lo menos, nos puede servir para salir de un apuro
en un
momento dado :)
Un Chaludo.
ErConde/IdeaFix | CoSysop de Kronos BBS | SpClub de la FIE |
Sevilla
spectrum@bitsmart.com | Andres.Garcia@cs.us.es | garciaso@drago.fie.us.es
Trucos para recompilar el kernel.
Casi todos no hemos topado con la consabida configuracion del
nucleo de Linux, seguida de su compilacion, instalacion, etc...
make config (menuconfig, xconfig)
make dep
make clean
make zImage
cp arch/i386/boot/zImage /boot/vmlinuz
cp System.map /boot
make modules
make modules_install
Bueno pues los pasos zImage y cp's los podemos olvidar editando
el fichero Makefile que hay en /usr/src/linux, buscar :
#INSTALL_PATH=/boot
Descomentar la linea (¡ quitar la #, corcho !)
Para los que tienen su Linux mas personalizado que la Harley,
podeis poner el directorio donde queries poner el nuevo kernel,
ese directorio debe corresponderse al que pone en el /etc/lilo.conf.
Una vez hecho esto, se puede reemplazar el make zImage y cp's
por make zlilo.
Datos del autor/a:
Nombre: Manuel Soriano.
Lanzar procesos con nohup
Para lanzar un proceso y luego poder matar el shell padre, solo
debemos hacerlos de la siguiente manera:
nohup proceso &
por ejemplo si queremos lanzar licq con el parámetro -p \qt-gui
la linea correspondiente seria la siguiente:
nohup licq -p \qt-gui &
Creando alias para montar y desmontar el CD-ROM
Para ahorrarnos tiempo al momento de montar y desmontar el CD
podemos aprovechar una de las propiedades del shell bash, esto
es definir alias, para ello solo tenemos que agregar en el
archivo .bashrc que se encuentra en nuestro directorio home las
lineas:
alias cdr='mount -t iso9660 /dev/cdrom /mnt/cdrom -r'
alias ucdr='umount /cdrom'
Donde, /dev/cdrom especifica el dispositivo correspondiente a
nuestro CD-ROM, y /mnt/cdrom debe ser un directorio vacío.
Caracteres en español en el shell
Para poder visualizar todo el set de caracteres españoles en
Linux solo debemos agregar la siguiente línea a uno de los
archivos de inicialización del sistema, por ejemplo /etc/profile,
en algunas distribuciones esta línea ya esta incluída y solo
debemos modificarla:
/usr/bin/setfont /usr/lib/kbd/consolefonts/lat1u-16.psf
Según las distribución que usemos los archivos con los sets de
caracteres se ubican en distintos lugares, por ejemplo en Debian
están en /usr/share/consolefonts/
Cambiando el prompt del Bash
Agregando en el archivo .bashrc de nuestro directorio home (/root
si nos logeamos como usuario "root") la siguiente función
dispondremos de un prompt mas atractivo que el común:
function promptmio {
PS1="\[\033[31m\]\332\304\[\033[34m\](\[\033
[31m\]\u\[\033[34m\]@\[\033[31m\]\h\
\[\033[34m\])\[\033[31m\]-\[\033[34m\](\[\033[31m\]\$(date +%I:%M%P)\
\
[\033[34m\]-:-\[\033[31m\]\$(date +%m)\[\033[34m\033[31m\]/\$(date
+%d)\ \
[\033[34m\])\[\033[31m\]\304-\[\033[34m]\\371\[\033[31m\]-\371\371\
\[\033[34m\]\372\n\[\033[31m\]\300\304\[\033[34m\
](\[\033[31m\]\W\[\033[34m\])\
\[\033[31m\]\304\371\[\033[34m\]\372\[\033[00m\]"
PS2="> " }
Luego solo tenemos que salir de la sesión en curso y volver a
entrar para finalmente llamar a la función mediante: promptmio
Búsqueda Rápida de Archivos en Disco
En Linux contamos con una utilidad muy poco conocida , llanmada
locate que nos permite consultar en una base de datos con los
nombres y las ubicaciones de todos los archivos de nuestro
sistema ,esta base de datos se actualiza desde el Cron y su uso
es tan sencillo como poner por ejemplo ,locate Profile ,lo que
nos dara la ubicacion exacta de este archivo .
Economizando 800K de Ram de X-Window
Una buena forma de ahorrar aproximadamente 800K de Ram al
arrancar X-Window es hacerlo de la siguiente manera : Exec
startx Con esto lanzaremos Starx matando el proceso padre ,es
decir el Shell.
Páginas del Manual en castellano
Para poder tener el manual en español seguimos estos pasos :
Bajamos el archivo con la ultima version de las Man.
Descomprimimos el archivo en un directorio desde donde se
realizara la instalacion con : tar xvfz man-pages-es0.7a.tar.gz
ingresamos en el directorio que se creo y ponemos make install.
Editamos el directorio /etc/profile para especificar que de
prioridad al lenguaje español agregando export LANG=es_ES .
Salimos de Shell y volvemos a entrar y ya tendremos las paginas
del manual en español.
Teclado en Español
Para configurar nuestro teclado español para utilizarlo bajo
Linux ,debemos usar un programa llamado Loadkeys ,mediante el
cual podremos cargar el mapa de teclado :es.map.gz que se
encuentra en el directorio /usr/share/keymaps/i386/qwerty. La
siguiente linea es la que deberiamos incluir en uno de los
guiones de nuestro sistema:
loadkeys/usr/share/keymaps/i386/qwerty/es.map.gz
2º Plano
& manda a 2º plano
jobs muestra trabajos en 2º plano
kill %numero mata [...]
kill numero mata PID
ctrl+c mata
ctrl+d termina
ctrl+z pausa
fg %numero relanza tarea a 1ºplano
bg %numero relanza tarea a 2ºplano
Variables
entorno entorno del sistema
incorporadas proporcionadas por el sistema, no modificables
usuario modificables en la shell
$echo $PATH rutas de comandos ejecutables
$a=playa variable local
$echo $a visualiza variable local
export muestra variables exportadas
export a variable a global
Ficheros
r lectura
w escritura
x ejecución
-r--r--rw- 1 usuario grupo 505 mar...
-{-(fichero) d(directorio)}r--{propietario}r--{grupo}rw-{usuario}
chmod {a(all),u(user),g(group),o(other)}{+,-}{r,w,x} fichero
modo absoluto
r 4
w 2
x 1
chmod 644 fichero modo octal
ln crea enlaces
ls -i número inodo
$ls -i dietas
22192 dietas
$ln dietas restaurantes enlaces duros en mismo sistema de
ficheros
$ls -i
22192 dietas
22192 restaurantes
-rw-r--r-- 2{número enlaces al fichero}
ln -s fichero1 fichero2 enlace simbólico, no influye los
permisos del enlace
fichero2->fichero1
Screen
Esta aplicación que sabrán apreciar todos aquellos que gusten de
usar la consola: Cambia entre diferentes programas desde un solo
terminal en vez de estar con varios terminales para poder usar
múltiples programas a la vez en consola.
screen arrancamos la aplicación, y ahora:
C^a c crea una nueva 'ventana'
C^n ó C^p cambias entre las 'ventanas'
C^a Esc permite mover el cursor por el terminal
exit cierras todas las sesiones ('ventanas') y la aplicación
screen se cierra
Bueno vale, no esta mal, buff, pim, pam... pues NO!! aún queda
lo mejor: Si cierras la aplicación screen, cerrando la conexión
en ssh, dando a la X en tu gestor de ventanas o ... no pasa
nada, todas las aplicaciones que tenías abiertas siguen
estándolo y puedes volver a usarlas.
screen -list ejecutado en una sesión normal de consola, nos
devuelve las screen que se están ejecutando
rubenr@petalo:~$ screen -list
There is a screen on:
840.pts-0.petalo (Attached)
1 Socket in /var/run/screen/S-rubenr.
screen -Dr 840 para recuperar esta screen, debes cambiar el 840
por la correcta en tu caso
Si por alguna razón se traba y no acepta ninguna tecla, será
porque has pulsado una combinación errónea, C^q ó C^s lo
solucionan. Recomiendo man screen para sacar más provecho a esta
fantástica aplicación.
Escribiendo el símbolo del euro en KDE
Lo único que debemos cambiar, o al menos cambiándolo yo he
conseguido escribir el símbolo del euro, es el /etc/environment.
Según Ricardo debería ser:
LC_ALL=es_ES@euro
LANG=es_ES.ISO-8859-15
LANGUAGE=en_US
LC_TYPE=es_ES@euro
Buscando por google, encontré una lista de correo en la que
también se discutía sobre el tema y decían que para que
funcionara las líneas de LANG y LC_ALL debían ser exactamente:
LC_ALL=es_ES@euro
LANG=es_ES@euro.ISO8859-15
Podemos ver que el valor de LANG difiere ligeramente del
indicado en el artículo de Ricardo.
La verdad es que cambiando estas líneas y siguiendo el artículo
de Ricardo, a mi me ha funcionado (una vez reiniciado el
servidor X, por si las moscas ;-)
Si quieres que los mensajes del sistema (y las páginas del man)
te aparezcan en inglés, añade la línea LANGUAGE=en_US en el
fichero /etc/environment
Scroll del ratón en linux fácilmente
En Xfree versión 4 edita este fichero /etc/X11/XF86Config-4
y añade o cambia en la sección"InputDevice" Mouse0 estas lineas:
Option "Protocol" "IMPS/2"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
Ahora graba sal y reinicia las X
La ruedecita ya deberia funcionar.
Recopilación de teclas rápidas del bash
Empezaremos con las que pudimos sacar de nuestros conocimientos:
* ^d (ctrl-d): Envía un EOF (final de fichero) a la shell que
causa un logout.
* ^c (ctrl-c): Termina el proceso que esté en ejecución.
* ^z (ctrl-z): Pone el proceso en ejecución en sleep, pudiendo
volver a el con, por ejemplo, fg.
* ^l (ctrl-l): Realiza un clear (borrado de la pantalla) pero
manteniendo la linea en la que fue pulsada esta combinación de
teclas.
* ^t (ctrl-t): Intercambia dos letras contiguas. Por ejemplo,
supongamos que escribes apt-gte, pues te colocas en la 'e', le
das a ^t y problema disléxico (más común de lo que pudiera
parecer ;-) solucionado.
* ^r (ctrl-r): El bash entra en el modo 'reverse-i-search', que
se utiliza para buscar comandos que fueron ejecutados
anteriormente. En este modo el usuario puede ir escribiendo
parte de la linea de comandos que esta buscando, y el bash va
mostrando la línea de comandos que el cree la más adecuada. Una
vez has encontrado la que buscabas, enter.
* ^s (ctrl-s): Bloquea la shell.
* ^q (ctrl-q): Desbloquea la shell.
Pero aquí no acaba la cosa, ahora unos cuantos que he encontrado
probando y/o buscando por el google:
* ^a (ctrl-a): Desplaza el cursor al inicio de la línea de
comandos.
* ^e (ctrl-e): Desplaza el cursor al final de la línea de
comandos.
* ^u (ctrl-u): Corta la linea de comandos desde la posición del
cursor hasta el inicio de la línea. El texto cortado se guarda
en una especie de "portapapeles", pudiendo realizar un paste
(ver más abajo)
* ^k (ctrl-a): Igual que ^u pero desde el cursor hasta el final
de la línea.
* ^y (ctrl-y): Pega el texto que previamente había sido cortado
con ^u o ^.
* ^b (ctrl-b): Desplaza el cursor una posición hacia la
izquierda, como si usaramos la flecha hacia la izquierda de los
cursores.
* ^f (ctrl-f): Desplaza el cursor una posición hacia la derecha,
como si usaramos la flecha hacia la derecha de los cursores.
* ^p (ctrl-p): Se desplaza por el histórico de la línea de
comandos hacia atrás, como si utilizaramos la flecha hacia
arriba de los cursores.
* ^n (ctrl-n): Se desplaza por el histórico de la línea de
comandos hacia delante, como si utilizaramos la flecha hacia
abajo de los cursores.
Hay otras teclas rápidas que han sido aportadas por los
comentarios a este artículo:
* ^w (ctrl-w): Corta desde la posición actual del cursor hasta
el primer espacio que encuentra hacia la isquierda.
Finalmente he encontrado una combinación de teclas que me ha
funcionado desde el las X (provado en konsole y xterm), pero que
no me ha funcionado en la consola: ^_ (ctrl-_) que lo que hace
es un undo o deshacer.
Insto a que si alguien encuentra alguna combinación de teclas
más nos lo haga saber.
Haciendo Imágenes de CD rápidamente
Muchas veces usamos programas gráficos para grabar CDs que no
son más que frontends para los programas cdrecord, mkisofs,
cdrdao, etc. Para hacer una imagen podemos usar simplemente cat
o dd:
dd if=/dev/cdrom of=imagen.iso
Gracias a kyle por esta:
cat /dev/cdrom > imagen.iso
Ambos comandos hacen lo mismo, después, tostamos con cdrecord o
con lo que queramos:
cdrecord -v speed=VELOCIDAD dev=GRABADORA imagen.iso
Si alguien ha probado a hacer dd if=imagen.iso of=/dev/GRABADORA
y le ha funcionado, que me lo comunique por favor ;-)
Limpiar la consola
Si somos un poco vagos y no nos apetece hacer clear, no tenemos
más que presionar la combinación de teclas Ctrl+L.
Evitar el ctrl-alt-supr
Si queremos evitar que los usuarios puedan usar esta combinación
de teclas nos vamos a /etc/inittab y ponemos una almohadilla #
de comentario en la siguiente linea:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
Pero si lo que queremos es que sólo determinados usuarios puedan
usarlo, modificamos esa línea y la ponemos así (sin la # de
antes):
ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now
y creamos un archivo nuevo /etc/shutdown.allow con los nombres
de usuarios que nos interese:
phantom
usuario
invitado
Está claro que si cambiamos ese -r por un -h nos apagaría el
equipo, y bueno, para más opciones: man shutdown. Aun así,
podríamos incluso poner otro comando, como que nos muestre un
mensajito en consola y mil chorradas como esa, o no tan
chorradas... a preferencia de cada uno.
Ver un documento de Microsoft Word en modo texto
Pues si no nos apetece entrar a las X para ver un documento de
estos o simplemente no queremos/podemos cargar el openoffice,
abiword y similares, nos bajamos el programita antiword que nos
muestra por pantalla el texto del documento word.
Este programa tambien permite salida en formato postscript,
veamos un ejemplo:
Para ver el contenido en modo texto:
antiword cosa.doc | less
Convertimos a postscript con tamaño de página A4 y lo
visualizamos con gv:
antiword -p a4 cosa.doc > cosa.ps ; gv cosa.ps
Para los de Debian:
apt-get install antiword
Conexión a Internet
Para conectar a Internet a través de Linux, y con pppd, hay que
seguir los siguientes pasos:
-Editar el archivo /etc/ppp/options donde se ha de poner lo
siguiente :
connect /etc/ppp/conexinet
crtscts
modem
passive
user nom_usuario@servidor
noipdefault
debug
defaultroute
asyncmap a0000
/dev/modem
57600
Se debe cambiar nom_usuario@servidor por el login de conexion a
Internet. 57600 es la velocidad del módem , hay que poner la que
corresponda. /dev/modem puede que se tenga que cambiar por /dev/ttyS0
o ttyS1 según el puerto del módem, la equivalencia con Windows
es: ttyS0 = COM1 ; ttyS1 = COM2
-Crear un archivo de texto que se llame conexinet (o el que
hayamos puesto en la línea connect /etc/ppp/archivo) con el
siguiente contenido:
#!/bin/sh
chat -v "" atdtw(n: de conexion) CONNECT ""
El número de conexión es el facilitado por el proveedor de
Internet. El de Infovía de antes era 055, por lo que quedraría
asi:
chat -v "" atdtw055 CONNECT "".
Hay que asignar permisos de ejecución a este fichero,
escribiendo en la línea de comandos:
chmod 755 conexinet
-Borrar el contenido del fichero pap-secrets y poner :
nom_usuario@servidor * password
El nombre de usuario y servidor es igual que el especificado en
options, un * y la contraseña de conexión a Internet. Este
fichero debe ser de sólo lectura y modificable por el usuario
root, para conseguir esto hay que hacer lo siguiente:
chmod 600 pap-secrets
-Editar /etc/resolv.conf donde sólo tiene que aparecer :
domain servidor.es
nameserver Ip_DNS_Primario
nameserver Ip_DNS_Secundario
En servidor.es hay que poner el nombre de dominio de nuestro
servidor. En los nameservers se deben especificar las
direcciones de los servidores DNS.
Para conectar hay que escribir en la línea de comandos:
pppd
Para finalizar la conexión basta con poner en la línea de
comandos :
killall pppd
Si la conexión da algun error. Por ejemplo: conecta y a los
pocos segundos se desconecta repentinamente. Probar quitar la w
de atdtw ( atdt ).
Esta conexión sólo funcionará ejecutando pppd como usuario root.
En caso de que se quiera utilizar como otro usuario hay que
hacer lo siguiente:
-Crear un link en el directorio /bin o /usr/bin de los archivos
/usr/sbin/pppd y /usr/sbin/chat. Esto se hace porque para los
usuarios no root es imprescindible ejecutar los comandos de
/sbin usando ./comando, por lo cual ,en el script no funcionará
la orden chat -v .... y lo de pppd , es para evitar tener que ir
al /usr/sbin y poner ./pppd , y de esta forma poder hacerlo como
queramos.
-Poner el pppd con suid: chmod +s pppd desde el directorio
/usr/sbin. Asignar permisos de ejecución a /usr/sbin/chat: chmod
755 chat desde /usr/sbin.
Con ésto debería de estar bien, pero en Red Hat 6.0 da una serie
de fallos que hay que solucionar como sigue:
Si se hace tail -f /var/log/messages se podrá ver que no se
consigue realizar la conexión correctamente debido a fallos del
tipo unsuport protocol, etc..
Para solucionarlo hay que poner las siguientes líneas en el
fichero /etc/conf.modules
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
Arrancar Linux con NTLoader (gestor de arranque NT/XP)
Si tenemos un sistema con NT o XP y usamos el gestor de arranque
que estos incorporan para seleccionar entre XP y 98, por
ejemplo, no es necesario perder ese sistema de arranque ni tocar
el MBR para poder arrancar también Linux, y de paso, evitamos
riesgos innecesarios en los cambios de configuración de
arranque.
Como requisito, Linux ha de estar en una partición primaria, no
servirá si lo tenemos en una partición extendida, pues allí no
va a poder alojar su propio cargador en la partición que ocupa.
Las particiones primarias son las que tengan un número igual o
inferior a 4.
Suponiendo que la partición root de Linux es /dev/hda2 (segunda
partición primaria del primer disco IDE), debemos instalar en
ella (no en el MBR, ni en /dev/hda) uno de sus gestores de
arranque habituales, como GRUB o LILO.
Teniendo el sistema en estas condiciones, ya desde Linux y como
root, copiamos a un archivo el sector de arranque:
dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
Movemos el archivo /bootsect.lnx recién creado a la partición
iniciadora de Windows (si la tenemos montada), o a un diskette
en caso contrario, del que luego lo copiaríamos a C:\ :
mv /bootsect.lnx /mnt/win_c/
/mnt/win_c sería la partición del Windows que inicia.
Desde Windows ahora, al archivo C:\boot .ini, le agregamos una
entrada para que cargue Linux, basada en el archivo que le hemos
agregado. Como probablemente esté oculto, primero le quitamos
los atributos:
attrib -s -h c:\boot.ini
Editamos ya el boot.ini, agregándole una línea indicando la
carga de Linux, dentro de la sección [operating systems], que
diga:
C:\bootsect.lnx="Linux"
Grabamos el archivo modificado y le devolvemos sus atributos:
attrib -s -h c:\boot.ini
En el siguiente reinicio, ya dispondremos de opción de cargar
Linux desde el mismo menú que teníamos los Windows.
¿Cómo puedo saber si un usuario está intentando entrarme por
telnet?
Existen dos formas:
1- Se puede estar todo el rato tecleando la w y mirando quién
está y qué hace en cada momento, pero no es lo recomendable.
2- En el archivo /etc/hosts.allow poner como tercer parámetro un
comando, el que se quiera, y que le avise. Yo lo tengo para que
haga un sonido cada vez que alguien conecta por telnet.
Por ejemplo, yo tengo esto en el /etc/hosts.allow:
ALL: ALL: spawn ( cat /usr/share/sounds/meepmeep.au > /dev/audio
) ; : ALLOW
que deja que se usen los servicios del inetd a todos, pero
cuando alguien abra un puerto, ejecute el comando dado (saca un
sonido).
Ver los directorios en colores con bash
El bash posee una propiedad muy interesante y útil mediante la
cual es posible ver el listado de los archivos en colores
diferentes que los identifican según su tipo.
Por ejemplo los ejecutables se ven en verde, los comprimidos en
rojo, etc.
Para poder usar esta propiedad, hay que pasarle al comando ls el
parámetro: --color=auto,
Y para que quede de forma permanente hay que definir en el
archivo .bashrc los siguientes alias y variables de entorno:
eval `dircolors`
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS \lA'
Con esto estamos redefiniendo el "ls" y creando dos nuevos
alias, "ll" y "l".
|