Acelerar la compilación del kernelEste truco es capaz de acelerar la compilación del kernel de Linux.
Al dar la orden de compilar, en lugar de poner make zdisk, escribe: make -j5 zdisk.
Esta orden es capaz de iniciar hasta 5 procesos de compilado al mismo tiempo.
Lo mismo ocurre con: make -j5 modules
----------------------------------------------
Activar el español como idioma predeterminadoSi tras la instalación de alguna distribución de Linux, te encuentras con problemas con el idioma, puedes hacer lo siguiente:
Añade en el fichero /etc/profile (o en ~/.profile) las líneas:
export LANG=es
export LC_CTYPE=es_ES
export LC_ALL=es_ES
Así se configurará el español como idioma para el intérprete de comandos y para los locals, este es el mecanismo que se usa para que los programas soporten diferentes idiomas.
En las X-Window los acentos tendrían que funcionar bien en la mayor parte de los programas siempre que la distribución no sea demasiado vieja.
Si continúas con problemas con las teclas especiales en X-Window, puedes poner la siguiente sección de teclado en el fichero XF86Config:
Section "Keyboard"
Protocol "Standard"
XkbRules "xfree86"
XkbModel "pc104"
XkbLayout "es"
EndSection
------------------------------------
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.
---------------------------------
Búsqueda rápida de archivos en el disco rígidoLa utilidad Locate es bastante poco conocida en Linux.
Con ella es posible consultar 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 simple como poner:
locate bzip2
Esto nos dará la ubicación exacta del archivo "bzip2".
------------------------------------
Cómo borrar archivos apropiadamente en UnixEn Unix, el comando 'rm' nos ayuda a borrar archivos indeseados, pero si no se usa con cuidado puede ser un verdadero problema.Aquí tienes una lista de consejos para borrar archivos:- Antes de borrar una lista de archivos, asegúrate de ver en qué directorio estás. Para ello primero haz 'pwd' y luego 'rm -rf *', pero SOLO después de ver que el directorio es el apropiado.
Si eres de los que se equivoca todo el tiempo borrando archivos, ¿por qué no hacer que rm te pida una confirmación?. Para ello haz un alias: alias rm='rm -i' (ponlo en tu .bashrc o similar)
- Si deseas borrar una cantidad grande de archivos, y éstos están en subdirectorios, quizás lo mejor es utilizar find. Por ejemplo, para borrar los archivos '.bak' más viejos de 7 días en el directorio actual: find ./ -type f -name '*.bak' -exec rm -f {} \;
- No es adecuado borrar una bitácora (log file) para luego recrearla (rm -f /var/log/mylog; touch /var/log/mylog), ya que se pierden los permisos originales. En lugar de borrarla (para luego crearla con 'touch'), cópiale encima el dispositivo /dev/null y listo: cp /dev/null /var/log/mylog.
La forma correcta de rotar bitácoras no es borrándolas, sino haciendo una copia y luego usando a /dev/null: cp -p /var/log/mylog /var/log/mylog.1; cp /dev/null /var/log/mylog; gzip /var/log/mylog.1.
-------------------------------------
Cambiando el prompt del BashSi quieres tener un prompt más bonito que el normal, puedes conseguirlo añadiendo en el archivo .bashrc de nuestro directorio home (/root si nos logeamos como usuario "root") la siguiente funció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="> " }
Tras esto, sal de la sesión en la que estás y vuelve a entrar para llamar a la función mediante: promptmio
----------------------------
Caracteres en español en el shellSi quieres visualizar todo el conjunto de caracteres españoles en Linux, añade la línea que sigue a uno de los archivos de inicialización del sistema, por ej. /etc/profile, en algunas distribuciones esta línea ya esta incluida y sólo debe modificarla:
/usr/bin/setfont /usr/lib/kbd/consolefonts/lat1u-16.psf
Según las distribución que uses, los archivos con los conjuntos de caracteres se ubican en distintos sitios, en Debian, por ejemplo, están en /usr/share/consolefonts/
-------------------------------
Comprobar remotamente si un ordenador está conectadoPuedes saber si un ordenador remoto está conectado, escribiendo:
ping IPdelordenadorremoto, por ejemplo: ping 200.44.248.180.
Deberías recibir mensajes sobre que se están enviando y recibiendo exitosamente los paquetes, de lo contrario obtendrías un mensaje de error o se quedará detenido por un largo rato.
---------------------------------
Conexión a InternetSigue estos pasos si quieres conectar a Internet a través de Linux, y con pppd:1- Edita el archivo /etc/ppp/options de la siguiente manera:
connect /etc/ppp/conexinet
crtscts
modem
passive
user nom_usuario@servidor
noipdefault
debug
defaultroute
asyncmap a0000
/dev/modem
57600
Ayuda:
- Cambia nom_usuario@servidor por el login de conexión a Internet.
- 57600 es la velocidad del módem, tú has de poner la que te corresponda
- a. /dev/modem es posible que tenga que ser reemplazado por /dev/ttyS0 o ttyS1 dependiendo del puerto del módem, la equivalencia con Windows es: ttyS0 = COM1 ; ttyS1 = COM2
2- Crea un archivo de texto y ponle como nombre conexinet (o el que hayamos puesto en la línea connect /etc/ppp/archivo) conteniendo lo siguiente:
#!/bin/sh
chat -v "" atdtw(n: de conexión) CONNECT ""
El número de conexión es el facilitado por el proveedor de Internet. El de Infovía era 055, por lo que quedaría así:
chat -v "" atdtw055 CONNECT "".
Has de asignarle permisos de ejecución a este fichero, escribiendo en línea de comandos:
chmod 755 conexinet
3- Elimina el contenido del fichero pap-secrets y escribe :
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 escribe:
chmod 600 pap-secrets
4- Edita /etc/resolv.conf donde sólo tiene que aparecer :
domain servidor.es
nameserver Ip_DNS_Primario
nameserver Ip_DNS_Secundario
En servidor.es escribe el nombre de dominio de tu servidor. En los nameservers se deben especificar las direcciones de los servidores DNS.
Para conectar escribe 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 algún tipo de error, como conectar y a los pocos segundos desconectar repentinamente, prueba quitando la w de atdtw ( atdt ).
Esta conexión sólo funcionará ejecutando pppd como usuario root. En caso de que pretendas utilizarla como otro usuario haz lo siguiente:
- Crea un link en el directorio /bin o /usr/bin de los archivos /usr/sbin/pppd y /usr/sbin/chat. Esto se hace debido a que 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 pppd es para evitar tener que ir al /usr/sbin y poner ./pppd , y de esta forma poder hacerlo como queramos.
- Pon el pppd con suid: chmod +s pppd desde el directorio /usr/sbin. Asigna permisos de ejecución a /usr/sbin/chat: chmod 755 chat desde /usr/sbin.
Con esto tendría que ser suficiente, pero en Red Hat 6.0 da una serie de fallos que hay que solucionar:
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 escribe 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
--------------------------------------
Corrección de los acentosSi alguna vez has visto que el contenido de un archivo de texto creado con un editor de DOS te muestra caracteres raros en lugar de acentos, se debe a que la codificación estándar empleada para los caracteres ASCII, no contempla caracteres acentuados, y es necesario extenderla.En Linux, usamos la codificación latin1, pero al editar el fichero, MS-DOS usó una codificación diferente.
Para solucionarlo podemos utilizar el programa Recode de esta forma: recode ibmpc:lat1 texto.txt
Si visualizamos ahora el fichero, debería haberse solucionado el problema con los acentos.
También es posible realizar la conversión inversa con la orden: unix2dos='recode lat1:ibmpc' texto.txt
Si necesitas utilizar esta función de manera continua, puede ser buena idea incluir en el fichero /etc/profile (si estamos usando bash) los alias:
alias unix2dos='recode lat1:ibmpc'
alias dos2unix='recode ibmpc:lat1'
------------------------------------------
El Método más rápido para cambiar el password de rootCon este truco estarás cambiando el password de root de una manera realmente rápida.Introduce en LILO lo siguiente:
linux init=/bin/sh
Una vez que nuestro sistema haya arrancado, lo habrá hecho en modo de sólo lectura, modo que cambiaremos esto con la intención de ajustar un nuevo password:
#mount / -o rw,remount
#passwd