Mostrando entradas con la etiqueta tip. Mostrar todas las entradas
Mostrando entradas con la etiqueta tip. Mostrar todas las entradas

Grabación de sesiones de consola

No fui el primero, ni seré el último en preguntarse cómo grabar todo lo que estás haciendo en la consola de tu equipo Linux, par a continuación poder dejarlo a libre disposición.
hasta que conocí el software del que os voy a hablar hoy, la forma que tenía de hacerlo no era más que la de grabar toda la pantalla (o una región) y dejar luego el vídeo, por ejemplo en Youtube.
Pues bien, ahora ya no podrás decir que no conoces ttyrec, con el que podrás grabar todo el comportamiento de tu consola de una forma más limpia y rápida.

Instalación

ttyrec está disponible en prácticamente todos los repositorios oficiales de las principales distribuciones, así que para instalarlo,
shell> apt-get install ttyrec

Grabar

Comenzar una nueva sesión o grabación es muy sencillo. Únicamente tendremos que saber el nombre que le vamos a querer dar y a continuación,
shell> ttyrec -a git_usage.tty
Para pararla, emplearemos Control + c.

Reproducir

Una vez tengamos la grabación finalizada, tendremos un fichero que podemos reproducir las veces que queramos, únicamente tendremos que tener instalado ttyplay, que viene con el paquete ttyrec.
shell> ttyplay git_usage.tty
Por suerte, este tipo de ficheros, al almacenar texto plano ocupan muy poco, por lo que pasárselos a alguien es sencillo y no debería de darnos problema. De todas formas existen webs, como playterm.org que nos permiten subir el fichero e incrustarlo en una web o dejarlo público.

Referencias

Leer más

Cookiechoices: Aviso de empleo de cookies

Desde hace un tiempo en adelante, todas aquellas páginas que tengan presencia en Internet deben tener una política de cookeis, así como un aviso de la misma. Esta obligación viene impuesta por la legislación europea (directiva 2009/136/CE), en la que se hace referencia a los derechos de los usuarios así como la necesidad de que estos sean correctamente informados cuando un sitio web vaya a hacer uso de sus datos.

Qué son las cookeis

Una cookie es una pequeña información enviada por un sitio web y almacenada en el navegador del usuario, de manera que el sitio web puede consultar la actividad previa del usuario.
Sus principales funciones son:

  • Llevar el control de usuarios, cuando un usuario introduce su nombre de usuario y contraseña, se almacena una cookie para que no tenga que estar introduciéndolas para cada página del servidor. Sin embargo, una cookie no identifica solo a una persona, sino a una combinación de computador-navegador-usuario.
  • Conseguir información sobre los hábitos de navegación del usuario, e intentos de spyware, por parte de agencias de publicidad y otros. Esto puede causar problemas de privacidad y es una de las razones por la que las cookies tienen sus detractores.

Por qué hay que avisar del uso

  1. Por que es lógico.
  2. Por que la legislación nos obliga.

Cómo avisar

Recientemente Google sacó un proyecto, cookiechoices, que simplifica y mucho la forma de avisar de que una web emplea cookies. En realidad no es más que un sencillo código javascript que, de forma asíncrona, ofrece las notificaciones legales que se piden, dejando al administrador de la web la única tarea de establecer su mensaje.
El código es sencillo, la carga del script cookiechoices es asíncrona, tiene la confiabilidad de Google y sobre todo no se aloja en sitios de terceros. El código javascript te lo ofrecen de forma gratuita para que esté sobre tu servidor.

Tipo de mensaje

Aunque cookiechoices te da el mensaje completo es importante saber las partes de las que se compone dicho mensaje,
  • Cuerpo
    Texto donde se avisa que la web emplea cookies
  • Learn more
    Link a la política de privacidad de la web en cuestión.
    Ver aquí un ejemplo.
  • Close message
    Botón de cierre de advertencia y aceptación del uso de cookies.

Uso de cookiechoices en Blogger

cookiechoices ofrece para descargar un pequeño código javascript y la forma de usarlo. En prácticamente cualquier web lo podrás usar según lo que indica Google, sin embargo para Blogger la cosa cambia un poco, ya que no hay forma de subir un fichero .js a la raíz de la web.
La forma más sencilla que encontré de usarlo, y así no tener que hacer el javascript necesario es siguiendo estos pasos.
  1. Editar plantilla
    Hay que editar la plantilla HTML de tu blog. Antes de tocar nada, hacemos una copia de seguridad, por si algo va mal.
  2. Pegar código
    Hay que recoger copiar todo el código que nos hemos descargado e incluirlo después de la etiqueta body , como sigue aquí
    <script>
    //<![CDATA[
    
    Código completo de cookiechoices.js
    
    //]]>
    
    document.addEventListener('DOMContentLoaded',
      function(event) {
        cookieChoices.showCookieConsentBar(
          'Utilizamos cookies',
          'Aceptar',
          'Leer más',
          '/politica-cookies.html'
        );
      }
    );
    </script>
    
  3. Modificar el mensaje
    Modificamos el mensaje que sacaremos al usuario, según lo que queramos.
    ...
    cookieChoices.showCookieConsentBar(
      'Mensaje a sacar',
      'Botón aceptar',
      'Botón con link a URL',
      'URL de explicación'
    );
    ...
    
  4. Guardar plantilla
    Guardamos la plantilla y si todo está correcto, el nuevo mensaje ya debería de salir. Podemos probar como queda con una pestaña de incógnito.
Leer más

Confirmación de lectura desde Zimbra

Hace ya años era muy habitual que los correos electrónicos llevasen la petición de confirmación de lectura. Cuando recibías uno, al abrirlo siempre saltaba el mensaje de que confirmases de que lo habías recibido.
De una época hacia aquí, por lo menos a mi, dichas confirmaciones de lectura no suelen venir con los correos (y menos mal!), pero desde luego siempre puedes hacer que estén incluidas. Y Zimbra, como gestor de correo, permite que lo hagas para uno o para todos tus correos salientes. La forma de hacerlo, pues como sigue.

Solicitud de confirmación para un correo

La explicación más sencilla es la que se muestra en la imagen lateral, dónde se observa que en las opciones que hay cuando compones un nuevo correo saliente puedes habilitar dicha confirmación de lectura.

Solicitud de confirmación para todos tus e-mails

También es posible, si te interesa que todos tus correos hagan la petición de dicha confirmación, habilitarlo para la cuenta en general. Para ello, tendrás que ir a Preferencias → Correo y ahí buscar la parte relacionada con "Redactar mensajes". En la imagen adjunta se muestra la pestaña que tendrás que habilitar, que como puedes observar es la de "Solicitar siempre notificación de lectura".
Si decides optar por esta forma, ten presente que a todas las personas que les mandes un correo, también les estarás pidiendo confirmación de lectura, con lo que ello supone.

Internamente, por si alguien se lo está preguntando, esta opción lo que hace es incluir en la cabecera la solicitud, que el cliente lógicamente, tendrá que saber manejar. En código, agrega una línea similar a esta:
Disposition-Notification-To: Javier J.L. <test@domain.com>
Leer más

Controlar actividad de usuarios en GNU/Linux

Una de las cosas más complejas a la hora de administrar un servidor compartido es controlar qué hace cada usuario. Es importante tener y poder saber qué hace cada usuario en su momento, no sin embargo verlo. Esta parte hay que dejarla clara: Poder saber no es lo mismo que saber. Cada usuario en su día a día de trabajo necesita hacer muchas cosas, y que seas root no te da derecho a "espiar" lo que hace cada usuario. Sin embargo, puede darse el caso de que pase algo en el sistema y quieras saber quién fue el responsable de tal fechoría. Para hacer este tipo de análisis, sí que se puedes emplear estas herramientas de auditaría.
Hoy vamos a hablar por lo tanto de acct, una utilidad para la contabilidad de procesos e inicios de sesión en GNU/Linux. Si la tienes que emplear, da mucho juego e información, así que no está demás tenerla como proceso en el sistema. No consume mucho y llegado el momento, puede ser de utilidad.
Lo primero es instalarla. Para ello,
shell> apt-get install acct
O en sistemas Red Hat,
shell> yum install psacct
Tras su instalación, tendremos que arrancar el proceso que lleva el mismo nombre que el paquete. A partir de este momento, acct estará ya recolectando datos para nosotros, así que toca ver la forma de explotar los datos que almacena.
  • ac
    Este comando se encarga de sacar información de tiempo de conexión de usuario al sistema.
    shell> ac -p
       root                  1823.40
       javier                0.00
    
       total     1823.40
    
  • sa
    No muestra un sumario de información relativa a las estadísticas de ejecución de cada usuario.
    shell> sa -u
       -7365568   0.00  cpu    979k  mem  accton
       -7365568   0.00  cpu  26288k  mem  touch
       -7365568   0.00  cpu  26608k  mem  psacct
       -7365568   0.00  cpu    979k  mem  consoletype
       -7365568   0.00  cpu  26528k  mem  psacct       *
       -7365568   0.00  cpu  26608k  mem  psacct
       -7365568   0.00  cpu  28928k  mem  ls
       -7365568   0.31  cpu  27696k  mem  bash
       -7365568   1.41  cpu  17472k  mem  sshd
       -7365568   0.00  cpu   4332k  mem  unix_chkpwd
       -7365568   0.00  cpu   4332k  mem  unix_chkpwd
       -7365568   0.00  cpu  16416k  mem  sshd         *
       ...
    
  • lastcomm
    Muestra todos los comandos que los usuarios han ejecutado en el sistema. Este es el comando más potente, sin dudarlo, ya que permite sacar mucha información o ser muy cotilla, lo que prefiramos.
    A parte del comando ejecutado, también nos indica la fecha, el usuario y dónde se ejecutó.
    shell> lastcomm
       gtbl           root   pts/0   0.00 secs Sun Jun 22 13:48
       sh         F   root   pts/0   0.00 secs Sun Jun 22 13:48
       gzip           root   pts/0   0.00 secs Sun Jun 22 13:48
       gzip           root   pts/0   0.00 secs Sun Jun 22 13:48
       gzip           root   pts/0   0.00 secs Sun Jun 22 13:48
       bash       F   root   pts/0   0.00 secs Sun Jun 22 13:23
       hostname       root   pts/0   0.00 secs Sun Jun 22 13:23
       bash       F   root   pts/0   0.00 secs Sun Jun 22 13:23
       id             root   pts/0   0.00 secs Sun Jun 22 13:23
       sshd      SF   sshd   ---     0.00 secs Sun Jun 22 13:23
       ...
    
    Como veis, información muy valiosa para análisis en caso de desastre.
Por supuesto, estos tres comandos tienen muchas más opciones que permiten extraer o simplificar la información mostrada, así que no dudes en echarle un vistazo a la página man de cada uno.
Leer más

Desfragmentar disco en Linux

Muchas veces la gente que está acostumbrada a emplear Windows, cuando comienza en el mundo de Linux le sorprende que no haya una forma fácil de desfragmentar el disco duro, como hacía en sus épocas Windowseras. La verdad es que siempre se suele decir que los sistemas ext3 y ext4, los más empleados últimamente en el mundo GNU/Linux, especialmente de escritorio, no sufren de fragmentación. Esto es una verdad a medias, o una mentira piadosa, como prefiráis decir. Todos los sistemas de ficheros, al trabajar con ellos se fragmentan y los de GNU/Linux no iba a ser menos. Es cierto, que por el diseño se fragmentan mucho menos, pero algo también sufren.
Pues bien, si sois de lo que preferís tener el sistema siempre muy controlado y os gusta tener el disco perfectamente ordenado e4defrag es vuestra utilidad para sistemas de ficheros extN.
Lo primero es instalarla y en sistemas basados en Debian esta utilidad está dentro del paquete e2fsprogs, así que...
shell> apt-get install e2fsprogs
Tras su instalación, podemos ver el porcentaje de fragmentación que tiene una de nuestras particiones tal que así,
shell> e4defrag -c /dev/mapper/vg0-data
Fragmented files                      now/best     size/ext
1. /data/01 - El big bang.avi         283/1        1869 KB
2. /data/02 - Agujeros negros.avi     234/1        2258 KB
3. /data/04 - Estrellas.avi           215/1        2458 KB
4. /data/08 - Lunas.avi               208/1        2544 KB
5. /data/05 - Planetas.avi            197/1        2688 KB

 Total/best extents                   44846/30877
 Average size per extent              4961 KB
 Fragmentation score                  0
 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
 This device (/dev/mapper/vg0-data) does not need defragmentation.
 Done.
Lo que está aquí representado es el resultado de ejecutar el comando en el disco que tiene las "copias de seguridad" de todo aquello que veo y que tras varios años escribiendo y borrando en él, apenas hay fragmentación. Por este detalle es por lo que se suele decir que GNU/Linux no sufre de este tipo de problemas.
Por supuesto, si vuestro sistema presenta más fragmentación o algún tipo de problema, la forma de ejecutar e4defrag es la misma, simplemente sin la opción -c.
shell> e4defrag /dev/mapper/vg0-data
Según el tamaño de los ficheros y el estado del disco, le llevarán un poco más o un poco menos. Al finalizar os presentará las estadísticas y vuestro disco quedará sin la tan temida fragmentación.

Nota: Es recomendable que durante el proceso de desfragmentado se emplee el acceso a disco lo menos posible.
Leer más

Deshabilitar la comprobación de discos en el arranque

Creo que a muchos, por no decir todos los que estemos leyendo esta entrada nos habrá pasado alguna vez, que tras reiniciar un equipo y teniendo prisa en que arranque, éste se pone a comprobar el disco en busca de problemas.
Esta tarea está por defecto en los sistemas de ficheros extN y reiserfs y, lógicamente, si está es por algo. Pero puesto que GNU/Linux es altamente configurable si deseamos que una partición nunca se compruebe, bien por que son muchos datos, bien por que lo hacemos nosotros manualmente, podemos indicárselo. Para ello existe el comando tune2fs.
shell> tune2fs -c0 -i0d /dev/sdXY
Según el manual, las opciones que le pasamos indican lo siguiente:
  • -c max-mount-counts
    Adjust the maximal mounts count between two filesystem checks. If max-mount-counts is 0 then the number of times the filesystem is mounted will be disregarded by e2fsck and the kernel.
  • -i interval-between-checks[d|m|w]
    Adjust the maximal time between two filesystem checks. No postfix or d result in days, m in months, and w in weeks.
    A value of zero will disable the time-dependent checking.
Como veis, en el man de tune2fs se explica el método para deshabilitar, aunque también recomienda no deshabilitarlo, ya que la comprobación del sistema de ficheros es algo importante, ya que garantiza la integridad y la consistencia de los datos.
Failure to do so may lead to filesystem corruption due to bad disks, cables, memory, or kernel bugs to go unnoticed until they cause data loss or corruption.
Así que ya sabéis, si necesitáis evitar que la máquina compruebe el disco tras un reinicio concreto, existen otras formas de hacerlo y si aun así queréis deshabilitarlo, tener presente los problemas futuros que pueda entrañar.
Leer más

Contando ocurrencias de una palabra

A cuántos de nosotros se nos habrá preguntado alguna vez, "¿cuántas veces se repite X comando en un fichero". Pues bien, la forma más simple de hacerlo, sin duda es con un sort y con un uniq, ambos comandos básicos presentes en cualquier sistema GNU/Linux. Vamos a ver un ejemplo de cómo usarlos juntos para que nos den las respuestas que precisamos.
Imaginémonos que nos interesa saber la shell que están empleando los usuarios de uno de nuestros sistemas. La forma más sencilla de averiguar esto es leyendo el fichero /etc/passwd, coger la última columna (si tenemos en cuenta una separación por ":") y luego contar las ocurrencias de cada una. Algo tal que esto,
shell> awk 'BEGIN{FS=":"} {print $7}' < /etc/passwd
/bin/bash
/bin/sh
/bin/sh
/bin/sh
/bin/sync
/bin/sh
...
Ya si nos interesa ser un poco más profesionales, podemos ordenarlas.
shell> awk 'BEGIN{FS=":"} {print $7}' < /etc/passwd | sort 
/bin/bash
/bin/bash
/bin/false
/bin/false
/bin/sh
/bin/sh
...
Pero imagínate que tienes 200 usuarios datos de alta, ir línea a línea contando podría hacerse eterno. Eso y que terminaríamos por perdernos. Así que la mejor idea es dejar una único ocurrencia y que sea el propio comando uniq el que las cuente,
shell> awk 'BEGIN{FS=":"} {print $7}' < /etc/passwd | sort | uniq -c 
 2 /bin/bash
 2 /bin/false
17 /bin/sh
 1 /bin/sync
 1 /usr/sbin/nologin
Rápido y sencillo.
Leer más

Forzar chequeo de disco en reinicio del sistema

Hoy os quiero presentar un truco tan interesante como sencillo. Hay muchas veces que nos interesa forzar un chequeo de disco cuando el sistema se reinicie, pero que por lo que sea, no podemos reiniciarlo en ese momento. Luego lo reiniciamos y se nos olvida de indicárselo en el parámetro del shutdown, con lo que seguimos en la misma.
Para evitar que eso nos suceda, podemos crear un fichero vacío en la raíz del sistema y que se llame forcefsck. Tan simple como eso y conseguiremos que en el próximo reinicio el sistema compruebe los discos, para a continuación borrar automáticamente dicho fichero.
shell> touch /forcefsck
Leer más

vim sin fichero de backup o temporal temporal

Tanto vi como vim por defecto vienen configurados para que creen una copia de seguridad del fichero que estás a editar. Este fichero, suele tener el mismo nombre que el fichero original, pero terminado en ~, y suele localizarse, también por defecto en la misma carpeta que se edita el fichero. Un ejemplo de fichero de backup podía ser file~, my.cnf~, etc.
Si por el motivo que sea no te interesa que vim genere automáticamente ese fichero de backup, puedes deshabilitarlo de forma muy sencilla escribiendo las siguientes opciones en ~/.vimrc.
set nobackup
set nowritebackup
Antes de guardar el fichero, es necesario comprobar que no haya ninguna ocurrencia de "set backup", ya que sino, vim no funcionará.

Si ahora, por el contrario, estás interesado en tener los ficheros de respaldo, pero mejor organizados, también es posible si en vez de lo anterior, escribes la siguiente configuración en el fichero ~/.vimrc.
set backupdir=~/.vim/backup
Antes de emplear nuevamente vim, asegúrate de que el directorio ahí especificado exista, sino créalo o vim no arrancará.
Leer más

vi: Resaltado de sintaxis en archivos no reconocidos

vi o vim, para los no tan puristas, trae como ventaja el resaltado automático de sintaxis de aquellos ficheros que reconoce. Ya bien sea por extensión o bien por que se indica el intérprete que emplea, al abrirlos nos ofrece colores que supuestamente deben ser favorables al trabajo.
Por supuesto, no todo el mundo está a favor de emplear dichos colores, por lo que se pueden habilitar o deshabilitar en cualquier momento con,
:syntax [on|off]
Pero si estamos delante de un fichero para el cual nuestro editar de ficheros no es capaz de detectar el lenguaje en el que está escrito, deberemos de forzar el resaltado de sintaxis. Para ello emplearemos la orden set, pasándole como parámetro el tipo de resaltado que deseamos (perl, php, xml, etc.).
:set filetype=php
Un pequeño y sencillo truco para vi que te puedo simplificar la vida y hacerte más productivo.
Leer más

MySQL: Error writing file (No space left on device)

Si trabajando con MySQL obtenéis el siguiente error,
Error writing file '/tmp/pTdf4iTz' (Errcode: 28)
Lo primero que deberíais de hacer, no antes este error, sino ante cualquier, es mirar qué significa. Para ello,
# perror 28
OS error code 28: No space left on device
Por lo que parece, todo apunta a que no hay espacio libre en el directorio temporal sobre el que trabaja MySQL. Para comprobar cual es este,
mysql> show variables like 'tmpdir';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| tmpdir        | /tmp  |
+---------------+-------+
1 row in set (0.00 sec)
Y ahora comprobamos si efectivamente hay o no espacio libre y obtenemos lo siguiente,
shell> df -hP /tmp
S.ficheros            Size  Used  Avail  Use%  Montado en
/dev/mapper/vg0-tmp   504M   93M   387M   20%        /tmp
Tenemos un 80% de espacio libre y aun así nos está fallando la query por falta de espacio.


La explicación

MySQL cuando realiza una query emplea espacio temporal y al finalizarla y devolver los datos, borra ese fichero temporal. Lo que está sucediendo es que el espacio libre, sí esos casi 400 Mb no son suficientes para manejar el fichero temporal que genera la query.

La solución

Optimizar más la query o darle un directorio temporal a MySQL con más espacio libre para que la query se pueda ejecutar correctamente.
Leer más

Manejar extensiones Libre Office desde terminal

Siempre que trabajamos con sistemas de administración centralizada como Puppet o SaltStack, tenemos que tener presente que todos los procesos que ejecutemos deben ser desde consola, que el concepto "interfaz gráfico" ya no está disponible. Esto en Linux no suele ser un problema, pero hay ciertas acciones que sí que pueden hacer que tengamos que replantearnos cómo hacerlas.
Este es el caso de las extensiones de OpenOffice/LibreOffice. La instalación de la suite ofimática en el sistema es sencilla, puesto que está en los repositorios, únicamente hay que hacer que esté presente en los sistemas. El problema está en las extensiones, que son pequeños ficheros que nos descargamos de la web y que tenemos que instalar en cada una de las máquinas. La forma de hacerlo es desde el propio interfaz, pero claro, si pensamos en hacerlo en 50 equipos, por ejemplo, la cosa ya cambia.
Por suerte, para simplificar este proceso, existe el comando unopkg, que sirve para instalar o desinstalar extensiones en el sistema, pero desde línea de comandos. Así que, tras descargar la extensión que nos haga falta desde la web oficial, es.libreoffice.org/extensiones, únicamente tendremos que ejecutar lo siguiente,
shell> unopkg add --shared pager.oxt
En caso de que la extensión a instalar ofrezca un menú con licencia para aceptar, lo más sencillo es aceptar la licencia de base y que no se muestre, sino no se podrá instalar. Para ello, habrá que hacer lo mismo, pero con la opción -s, tal que así,
shell> unopkg add -s --shared pager.oxt
Espero que os sea útil si tenéis que mantener un cierto número de suites ofimáticas, en las que a mayores del paquete Office hay que manejar extensiones.
Leer más

Conseguir permisos para guardar ficheros desde vi

Fijo que no soy al único que le pasa lo de editar un fichero en vi y cuando vas a guardarlo te das cuenta de que no tienes permisos para hacerlo. Si las modificaciones que has realizado son pocas y pequeñas, aun puede no molestar demasiado, pero sino, efectivamente volver a aplicarlas nuevamente esta vez ya con permisos resulta molesto. A la mayoría de los administradores cuando nos sucede esto lo que hacemos es escribir en un fichero temporal los datos y luego "machacar" el original. Por suerte vi para estas cosas nos facilita la vida, y con un simple
:w /tmp/ssh.config
logramos que se guarde en el fichero temporal que deseemos, ya luego es cuestión de mover los datos.
Sin embargo, si estamos editando y obtenemos alguno de estos errores,
W10: Advertencia: cambiando un fichero de sólo lectura 58,1 Final

E45: Está activa la opción 'readonly' (añada «!» para forzar).

E212: No puedo abrir el fichero para escribir en él.
antes de optar por guardar con otro nombre, quizás sea mejor obtener desde vi los permisos necesarios y así evitar la molestia y la inseguridad que puede provocar dejar un fichero de configuración, por ejemplo, en un directorio temporal. Para ello,
:w !sudo tee %
[sudo] password for javier: 

Si te parece útil este truco, úsalo y compártelo!

Leer más

Añadir aplicación al inicio de sesión

La última actualización de XFCE bajo Linux Mint hace que determinados programas que tengo abiertos en la sesión no se inicien cuando vuelvo a arrancar. Esto no me supone un problema, la verdad, pero ya puestos a hacer las cosas bien, lo lógico es que sí arranque, así que me puse a investigar cómo añadir o quitar un programa en el arranque de la sesión.
Como era de esperar, desde XFCE dan la posibilidad de hacerlo de forma gráfica. En "Inicio"/Configuración/Sesión e inicio tenemos una ventana similar a la que se muestra a continuación. Desde ella es posible añadir fácilmente aplicaciones al inicio de la sesión.
Aunque siempre puede interesarnos automatizar este tipo de aplicaciones en varios sistemas al mismo tiempo, o definir más opciones de arranque en las aplicaciones. Para eso, la mejor opción es siempre ir al fichero nativo y crearlo/editarlo. En el caso que nos atañe, la ruta completa de las aplicaciones de arranque es /etc/xdg/autostart/. Ahí hay un listado de aplicaciones, más de las que salen desde el interfaz gráfico. Esto es por que una de las opciones que pueden tener estos ficheros es NoDisplay, que indica si se debe mostrar o no dicha aplicación.

Añadir aplicación al inicio de sesión

Esto es realmente lo que nos interesaba, saber cómo hacer para añadir un nuevo programa al inicio de sesión. Para ello, simplemente en la ruta de la que hablamos es necesario crear un nuevo fichero de extensión .desktop. Por ejemplo, para iniciar Pidgin, es necesario crear el fichero pidgin.desktop con el siguiente contenido,
[Desktop Entry]
Type=Application
Terminal=false
Name=Pidgin Internet Messenger
Comment=Chat over IM.  Supports AIM, Google Talk, Jabber/XMPP, MSN, Yahoo and more
Exec=pidgin
StartupNotify=true
OnlyShowIn=XFCE;GNOME;Unity;MATE;KDE;
Icon=pidgin
Como veis, es un fichero simple pero con muchos parámetros. Saber de la existencia de estos ficheros, contenido y cómo manejarlos puede resultar útil, especialmente si estamos en entornos de muchos equipos manejados con puppet o saltstack. Con crear un nuevo fichero, todos arrancarían Pidgin en el inicio de sesión, por ejemplo.
Si por ejemplo no nos interesa que se pueda ver desde el interfaz gráfico y por lo tanto el usuario no lo pueda desactivar añadimos,
NoDisplay=true
Y en caso de que queramos que únicamente arranque Pidgin, o el software que sea, únicamente para el escritorio XFCE, modificamos la línea OnlyShowIn
OnlyShowIn=XFCE;
Nota: El parámetro Exec lleva todos los parámetros de inicio del comando.

La entrada Añadir aplicación al inicio de sesión la puedes leer en El mundo en bits.
Leer más

Acelerando el arranque de Linux y sus aplicaciones

Desde hace ya un tiempo, empleo Linux Mint como sistema operativo de escritorio. Dejé un poco de lado Debian para sistemas de escritorio y opté por las pre-configuraciones que ya vienen de base con Mint. En general estoy contento. Tras la instalación del sistema base hay que hacer una amplia limpieza de paquetes, pues trae muchas cosas que en mi vida usaré. Creo que en realidad nadie usará todos los paquetes que trae, pero tras la limpieza queda ya un sistema más o menos decente.
Finalizada la instalación básica, tocó optimizar el acceso a disco. Puesto que ahora dispongo de una unidad SSD, hay que cuidarla para poder sacarle el máximo partido y también la máxima vida útil. Puedes ver aquí todos los pasos que recomiendo.
Pues como siempre, lo siguiente a esto es acelerar la carga, tanto del sistema base como de las aplicaciones que suelo emplear. Para hacerlo empleé dos programas de precarga.
El primero, preload, es un pequeño daemon que se encarga de optimizar el acceso a disco según aquellos programas que se inician y así arrancarlos más rápido. En arranque la primera vez es un poco más lento, tras ella, más rápido. Para instalarlo,
shell> apt-get install preload
El otro programa del que hablamos es prelink. Éste se encarga de hacer una modificación de todas las librerías que los binarios tienen como dependencias para se usen las que ya están cargadas en el sistema y así acelerar el arranque de aplicaciones. Si la aplicación que vamos a usar ya tiene las librerías cargadas, por que otra aplicación lo hizo por ella, ésta no cargará tantas cosas e irá más fluida. Para instalarlo,
shell> apt-get install prelink
Una vez instalada, debemos de modificar el fichero de configuración (/etc/default/prelink) y cambiar el valor de la variable PRELINKING para activar el prelinkado.
< PRELINKING=unknown
> PRELINKING=yes 
A continuación, forzamos el linkado de los principales binarios,
shell> prelink -all
En caso de que quedamos incluir otras carpetas de binarios, como por ejemplo, /opt o /srv, tendremos que modificar el fichero de configuración, /etc/prelink.conf, y añadirlas ahí.
Ahora ya podemos reiniciar el sistema para que todos los cambios se apliquen correctamente. Tras ello, deberíamos de notar que las aplicaciones se inician con mayor rapidez.

Leer más

Zimbra: Limitar número de destinatarios

Si el otro día hablamos de cómo limitar el número máximo de correos que pueden salir del servidor en un período de tiempo, hoy vamos a ver cómo limitar el número máximo de destinatarios de correos. Esto no es más que el número máximo de direcciones que se podrán poner el el "To:".
Para aplicar los cambios en caliente,
shell> postconf -e smtpd_client_recipient_rate_limit=50
Y si deseamos que estos cambios sean permamentes (/opt/zimbra/postfix/conf/main.cf),
smtpd_client_recipient_rate_limit = 50
Y a continuación reiniciamos el servicio,
shell> zmmtactl restart
Leer más

Zimbra: Limitar número de correos salientes

Casi todos los servidores de correo están en la actualidad un poco restringidos con la cantidad de correo que puede enviar. Bien por no saturar las líneas, bien por seguridad, bien por que al administrador de gustó la idea.
El detalle que es en una instalación limpia de postfix/Zimbra, esta restricción no está habilitada y aunque no debería de pasar nada, quizás no esté demás aplicársela. No es por molestar a los usuarios, es para evitar, por ejemplo, un envío masivo de spam en caso de que una cuenta sea comprometida.
Para habilitarla, bastaría con editar el fichero de configuración de postfix, /opt/zimbra/postfix/conf/main.cf y agregar,
smtpd_client_message_rate_limit = 5
anvil_rate_time_unit = 60
Tras ello, hacer un restart del servicio MTA
shell> zmmtactl restart
Con ello conseguimos limitar a 5 la cantidad de correo que sale de Zimbra por usuario cada minuto. 5 mensajes por minuto ya da para escribir considerablemente.

En caso de que deseemos aplicar los cambios en caliente, también es posible,
shell> postconf -e anvil_rate_time_unit=60s
shell> postconf -e smtpd_client_message_rate_limit=5
Leer más

Deshabilitar SELinux en RedHat

Este truco sirve para cualquier sistema de la familia RedHat, como CentOS y Fedora. SELinux (Security-Enhanced Linux) es un módulo de seguridad para el kernel Linux que proporciona el mecanismo para soportar políticas de seguridad para el control de acceso wikipedia. Aunque suele ser muy útil y puede darte un extra de seguridad en tu sistemas, puede que prefieras deshabilitarlo. En caso de que eso sea así, es muy sencillo.
shell> vi /etc/selinux/config
SELINUX=disabled
Con el cambio a disabled de la variable SELINUX, ya tenemos todo listo.

La entrada Deshabilitar SELinux en RedHat la puedes leer en El mundo en bits.
Leer más

Cambiar hostname en RedHat/CentOS

Hoy os voy a dejar un pequeño truco para aquellos que todavía no sepan cómo hacerlo y es cómo cambiar el nombre del equipos en sistemas RedHat/CentOS y derivados.
En sistemas basados en Debian, existe el fichero /etc/hostname, que es prácticamente el que controla el nombre del equipos. Sin embargo, en sistemas RedHat, este fichero no existe. Así que cambiar el nombre del equipo, ya no es únicamente cuestión de editar ese fichero. Los pasos a seguir para hacerlo son:
  1. Cambiar el fichero de red
    El nombre del equipo se almacena en el fichero /etc/sysconfig/network y es ahí dónde debemos de cambiarlo, tal como se muestra a continuación.
    shell> cat /etc/sysconfig/network
    HOSTNAME=tu_hostname.local.net
    NETWORKING=yes
    GATEWAY=192.168.0.1
    
  2. Cambiar el fichero de hosts
    Otro de los ficheros importantes a cambiar es /etc/hosts, ya que necesitará saber el nuevo nombre del equipo. Para ello,
    shell> cat /etc/hosts
    127.0.0.1 tu_hostname localhost.localdomain localhost
    ::1  localhost6.localdomain6 localhost6
    
  3. Cambiar el hostname
    Una vez ya tenemos los pasos anteriores, vamos a cambiar el hostname en tiempo real. Para ello empleamos el comando hostname, pasándole como argumente el nuevo nombre del host.
    shell> hostname tu_hostname
    shell> hostname
    tu_hostname
    
  4. Cambiar la configuración de correo
    En caso de que empleéis postfix, puede ser necesario revisar la configuración del mismo y cambiar aquellos lugares donde esté el nombre del equipo, para evitar problemas de correo rechazado. Así que, si es el caso, revisar vuestra configuración (/etc/postfix/main.cf) y cambiarla
    shell> vi /etc/postfix/main.cf
    ...
    myhostname = tu_hostname.local.net
    ...
    mydestination = localhost, tu_hostname.local.net
    ...
    
  5. Reiniciar la red o el equipo
    Finalizado todo lo anterior, es hora de aplicar el cambio. Hay dos opciones, la primera y más sencilla sin meterte en problemas, reiniciar el equipo,
    shell> reboot
    
    Y la segunda, que también es simple, reiniciar la red, salir de la sesión y volver a entrar.
    shell> service network restart
    shell> logout
    
Espero que os haya ayudado.

La entrada Cambiar hostname en RedHat/CentOS la puedes leer en El mundo en bits.
Leer más

Combinación de teclas en consola

Hace ya muchos años que el trabajo día a día lo desarrollo desde la consola de GNU/Linux y aún así no deja de sorprenderme. Hoy quiero compartir con vosotros un atajo de teclado, que personalmente descubrí de casualidad, y que me parece francamente interesante.
La combinación de teclas es ALT + Delete y sirve para borrar palabras completas en consola. Cuando estás tecleando un comando o una ruta y te has equivocado, esta combinación te permite borrar rápidamente toda la palabra.
shell> /home/javier/test.sh
                      # Presionamos ALT + Delete
shell> /home/javier/test
                      # Presionamos ALT + Delete
shell> /home/javier/
                      # Presionamos ALT + Delete
shell> /home/
Aunque puede parecer una chorrada, desde que la conozco me resulta muy cómoda.

Y tú, ¿qué combinaciones sueles usar? Déjalas en comentarios!
Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios