HTOP per veure com està la Raspberry Pi

HTOP

I després d’instal·lar-hi un bon grapat de paquets, com sabem si està bé i pot aguantar encara més càrrega la nostre Raspberry Pi? doncs coneixia el comandament top, però no htop (https://htop.dev), que permet veure a temps real la monitortizació i estat d’un equip amb LINUX.

HTOP

Jo he trobat que la meva distribució ja el tenia instal·lat, però sinó només cal fer:

sudo apt-get install htop

i per executar-ho

sudo htop

resultat de la sentència htp

Tot i tenir una pantalla text o shell, podrem personalitzar alguns paràmetres com els colors, el mode de representar gràficament alguna informació o el fet de mostrar més detall d’alguns procesos. Excepcional i imprescindible!

Instal·lar UniFI Controler a una Raspberry Pi

Un dels objectius de tenir una altre Raspberry Pi funcionant per casa, és tenir en ella funcionant l’UniFi Controller i així no dependre de l’estació de treball on està actualment per tenir menys consums energètics i alliberar recursos d’un equip que no ha de fer de servidor.

Hi ha documentació oficial de Ubiquiti (https://community.ui.com/questions/Step-By-Step-Tutorial-Guide-Raspberry-Pi-with-UniFi-Controller-and-Pi-hole-from-scratch-headless/e8a24143-bfb8-4a61-973d-0b55320101dc), però he arribat a un enllaç encara millor:

https://pimylifeup.com/rasberry-pi-unifi/ (Genial la documentació!!)

Genial i fàcil. Copio les instruccions per si mai es perd la web.

Un cop seguits els passos, només he recuperat d’una còpia de seguretat la configuració anterior i en 1 minut ja estava migrat i funcionant el servei, a més amb més molt bon rendiment que abans!!

 Preparació del vostre Raspberry Pi per al controlador UniFi

En aquesta secció, prepararem el sistema operatiu perquè pugui executar el programari UniFi.

1. El primer que heu de fer és assegurar-vos que el vostre Raspberry Pi estigui executant paquets actualitzats.

Per actualitzar tots els paquets, haureu d’executar l’ordre següent.

sudo apt update
sudo apt upgrade

2. A continuació, hem d’instal·lar la versió 8 de l’entorn d’execució de Java al nostre Raspberry Pi executant l’ordre següent.

Hem d’instal·lar Java ja que el controlador de xarxa UniFi requereix que s’executi.

sudo apt install openjdk-8-jre-headless

A partir del moment de la publicació, UniFi no admet versions més recents del temps d’execució de Java.

3.Per millorar la velocitat d’inici del programari del controlador UniFi al nostre Raspberry Pi, hem d’instal·lar-lo rng-tools.

Utilitzarem aquest paquet per assegurar-nos que Raspberry Pi tingui prou entropia per a la generació de números aleatoris que utilitza el programari UniFi.

sudo apt install rng-tools

4. Ara hem de fer un lleuger canvi a la configuració de rng-tools.

Comenceu a editar el fitxer de configuració executant l’ordre següent.

sudo nano /etc/default/rng-tools

5. Dins d’aquest fitxer, cerqueu i descomenteu la línia següent.

Troba

#HRNGDEVICE=/dev/hwrng

Substitueix per

HRNGDEVICE=/dev/hwrng

En fer un comentari sobre aquesta línia, afegirem la quantitat d’entropia (la quantitat d’atzar) que el sistema té disponible.

El Raspberry Pi compta amb un generador de números aleatoris integrat que podem utilitzar per augmentar el conjunt d’entropies.

6.Un cop s’hagi realitzat el canvi, deseu l’arxiu prement CTRLXi, a continuació Y, seguit per ENTER.

7.Finalment, reinicieu el rng-toolsservei executant l’ordre següent.

sudo systemctl restart rng-tools

Un cop el servei hagi acabat de reiniciar-se, ara hauria de ser segur passar a la següent secció d’aquesta guia.

 Instal·lació del controlador UniFi al Raspberry Pi

1. La nostra primera tasca és afegir el dipòsit UniFi a la nostra llista de fonts.

Ho podem aconseguir executant l’ordre següent.

echo 'deb https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list

2. Ara hem d’afegir la clau GPG dels repositoris mitjançant l’ordre següent.

sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg

La clau GPG és la que ajuda a dir al gestor de paquets que descarrega el paquet correcte.

3. A mesura que vam fer canvis als dipòsits, ara hem d’actualitzar la llista de paquets executant l’ordre següent.

sudo apt update

4. Ara, finalment, podem instal·lar el programari Unifi Controller al nostre Raspberry Pi executant l’ordre següent.

sudo apt install unifi

La instal·lació d’UniFi mitjançant aquest mètode configurarà automàticament un servei. Aquest servei iniciarà automàticament el programari UniFi en arrencar.

Habilitar VNC des de SSH a una Raspberry Pi

Segueixo amb aquest monogràfic sobre primers pasos amb una Raspberry Pi improvitzats que estic fent avui… si un cop funcionant la Raspberry, vols habilitar l’accés VNC, o modificar altres paràmetres (com el nom de l’equip, fer overcloquing, etc..), Hi ha sentència que desconeixia i que penso que és d’obligat ús a un principiant de Raspberry..

sudo raspi-config

I ens apareixerà la següent pantalla amb totes les opcions per acabar de configurar i personalitzar via línea de comandes.

Configuració Xarxa Sense fils Raspberry pi

Si estàs començant a trastejar amb una Raspberry pi i no disposes de teclat/monitor extern i vols predeterminar la configuració de xarxa sense fils a on connectar, potser complicat…

Hi ha però una solució força interesant que deixo documentada:

Igual que en el post anterior, on habilitem el ssh a la targeta de memòria, podem deixar també a la mateixa partició de la targeta un arxiu wpa_supplicant.conf amb la configuració mínima de la teva xarxa sense fils local.

Els passos serien els següents:

– A la targeta de memòria, connectant-la en un altre equip, accedir a la partició /boot

– Crear un arxiu amb el nom: wpa_supplicant.conf

– Afegir en ell la següent informació -personalitzada-:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

country=CA

network={

ssid="__NOM_XARXA_SENSEFILS"

psk="__CLAU_DE_LA_XARXA_SENSEFILS"

key_mgmt=WPA-PSK

}

I amb això, un cop afegim la targeta a la nostre Raspberry Pi, quan arranqui es connectarà ja automàticament a la nostre xarxa sense fils.

Habilitar ssh a una Raspberry pi

Si acabes de configurar una Raspberry Pi, i vols començar a “jugar” amb ella, alerta que per poder accedir remotament has de poder habilitar primer l’accès SSH.

Per fer-ho, el mètode més fàcil és agafar la targeta de memòria i crear a l’arrel un arxiu anomenat “ssh” sense cap extensió ni cap contingut en ell. Assegura’t que ha quedat desat a la partició “boot”, i ja pots afegir la targeta a la Raspberry i començar a tocar configuracions.

5 boots recomanats per slack

Si estàs començant a utilitzar SLACK i no saps quin potencial li pots treure… una ullada a aquest vídeo ajudarà a veure potencial de 5 boots

Netejar /var/spool/mqueue i inodes plens

Les últimes setmanes m’he trobat que el servidor local dedicat a servir les dades meteorològiques no podia escriure més arxius.

Si feia un df -k tenia espai per escriure a totes les seves particions, però en canvi a efectes pràctics no era així­. Investigant, vaig descobrir que tenia espai per escriure però no hi havia espai disponible per més inodes 

10:~# df -hi
S. fitxers           Nodes”i   En ús Lliures   %Ús Muntat a
/dev/sda1               743K    743K       1  100% /
tmpfs                   127K       5    127K    1% /lib/init/rw
udev                    126K     499    125K    1% /dev
tmpfs                   127K       1    127K    1% /dev/shm

Buscant, on pot estar perdent-se tot aquest espai en arxius petits descontrolats he trobat que a la carpeta  /var/spool/mqueue  s’acaba emmagatzemant arxius pendents d’enviament de correu electrònic (d’alertes, logs, etc)… i que al intentar eliminar-los amb un rm -r *   acabava amb un missatge d’error:

10:/var/spool/mqueue# rm * -r
-bash: /bin/rm: La llista d’arguments és massa llarga

Total, per fer neteja he seguit una petita guia (http://docs.oracle.com/cd/E23824_01/html/821-1454/mailadmin-138.html) i he fet el següent:

– Aturar el servei de correu electrònic momentàniament

10:/var/spool/mqueue# /etc/init.d/sendmail stop
Stopping Mail Transport Agent (MTA): sendmail.

– Moure la carpeta /var/spool/mqueue a una antiga per eliminar-la i crear una de nova amb els seus permisos corresponents.

10:/var/spool# mv /var/spool/mqueue /var/spool/mqueue-fixme
10:/var/spool# mkdir /var/spool/mqueue
10:/var/spool# chmod 755 /var/spool/mqueue
10:/var/spool# chown root:daemon /var/spool/mqueue

– Un cop fet això, eliminar tot el contingut de la carpeta temporal mqueue-fixme. El procès ha trigat com uns 15 minuts

10:/var/spool# cd mqueue-fixme/
10:/var/spool/mqueue-fixme# ls | xargs rm -f ‘{}’

Però en acabar torno a tenir espai de sobres per què la màquina segueixi mostrant la informació meteorològica

10:/var/spool/mqueue-fixme# df -i
S. fitxers           Nodes”i   En ús Lliures   %Ús Muntat a
/dev/sda1             760368  176986  583382   24% /
tmpfs                 129303       5  129298    1% /lib/init/rw
udev                  128190     499  127691    1% /dev
tmpfs                 129303       1  129302    1% /dev/shm

Arrancar servei snmpd al reiniciar sistema

Si tens un servei snmpd en un servidor CENTOS, podria donar-se el cas que al reiniciar el sistema no arranqui o aixequi el servei snmpd.  Per defecte, quan instal·lem aquest servei no queda programat per què s’encengui.

Per fer-ho tindrem dues opcions:

La més habitual seria afegir aquest servei als sistema d’arrancada:

 chkconfig –level 345 scriptname on

Un altre opció, que he trobat i és potser més intuïtiva és simplement dir-li que

chkconfig NOMSERVEI on

chkconfig snmpd on

Amb això quan tornem a reiniciar el sistema haurí­em de trobar que aixeca el servei automàticament.

Font: http://support.suso.com/supki/CentOS_Init_startup_scripts

 

Reiniciar DSL automàticament quan cau l’ADSL

Més sovint del que voldrí­em, almenys a mi em passa, l’ADSL queda com “col·lapsada” i deixa de funcionar.  La solució és ben fàcil, aixecar-te anar al router, reiniciar-lo i automàticament tornes a tenir internet.

El problema s’agreuja, quan tens algun petit servidor i estàs en remot treballant contra aquests serveis.   Mai havia tingut el temps, però aprofitant una tarda “relaxada”, he buscat i adaptat un script per què una màquina linux estigui monitoritzant si té internet o no, i en el cas que pel que sigui no hagi internet reiniciï la interfí­cie DSL del router de manera que torni a restablir el servei ADSL evitant haver d’anar a casa a reiniciar el router.

Requisits: una màquina linux a casa. En el meu cas una màquina amb debian.

Crearem un arxiu reset-dsl.sh i li afegirem el següent contingut:

#!/bin/bash
# Definim on volem fer ping potser 8.8.8.8, una ip pública o la IP del nostre servidor DNS
desti=8.8.8.8
if `ping -c 5 $desti> /dev/null` ;then
 echo Destí­ està Online
 #Tenim internet i ens dirà "Desí­ està online"
else
 #No tenim internet per tant iniciarem el reinici del servei
 echo Destí­ està Offline
 echo Reiniciant ADSL
Router-DSL=1.2.3.4
 #Aquí­ haurem d'introduïr la IP del nostre router d'internet
 port=23
 user=NomUsuari
 #Aquí­ haurem d'introduïr el nom d'usuari administrador del nostre router: admin, 1234, adminttd, admintde... segons el prvoeïdor.
 pass=CLAU
 #Aquí­ la clau del nostre router.
 cmd1=sh
 cmd2="adsl connection --down"
 cmd3="adsl connection --up"
 cmd4=reboot
( echo open ${Router-DSL}
 sleep 1
 echo ${user}
 sleep 1
 echo ${pass}
 sleep 1
 echo ${cmd1}
 sleep 2
 echo ${cmd2}
 sleep 2
 echo ${cmd3}
 sleep 2
 echo ${cmd4} ) | telnet
fi

Amb aquest arxiu, tindrem automatitzada la connexió al nostre router ADSL i farà un reinici de la interfí­cie DSL si aquesta no respòn.

Ara només ens faltarà modificar el crontab per què l’executi cada 15 minuts per exemple

crontab -e

*/15 * * * * /home/reset-dsl.sh

Potser per acabar de millorar-ho ens faltaria afegir que ens envii un correu electrònic un cop s’ha reiniciat per allò de tenir la estadí­stica de quantes vegades s’ha de reiniciar l’equip al dia.

 

Drush en ubuntu 14.04

Farà ja alguns mesos que vaig anotar les instruccions aquí­ per actualitzar o instal·lar drush en un macOSX.  Aquesta setmana m’he trobat amb la necessitat de fer el mateix però en un servidor ubuntu 14.04 en producció.  No tenia clar el procediment i per evitar sustos he preferit instal·lar una màquina test abans de tenir problemes… i sorpresa la meva és super fàcil i super estable. Només cal:

sudo apt-get install drush

I amb això ja el tens instal·lat i funcionant.   No ha calgut ni fer el chmod u+x /usr/bin/drush ni crear els enllaços o accesos directes com en anteriors ocasions. Fantàstic.

Error al arrancar UnifiController

M’ha passat ja en més d’una ocasió que al reiniciar el servidor que controla o gestiona els equips UNIFI no pot arrancar el servei java per gestionar els equipss.  L’error és clar: està el port 8080 en ús i per tant no pot arrancar un nou servei en aquest mateix port.

En alguna ocasió, m’havia entretingut a buscar els arxius xml per modificar aquests ports (8080 unifi.http.port 8443 unifi.https.port 8880 portal.http.port…etc).

Avui he vist una opció més fàcil i assequible: buscar l’aplicació que està ocupant aquest port i tancar-la.

– Per buscar l’aplicació: obrim una sessió CDM i executem: netstat -ano     amb això veurem tots els ports que tenim oberts, així­ com el IPD de l’aplicació que l’està executant o escoltant.

Ens fixarem en el PID que està ocupant el port 8080, i posterirment executarem la sentència: taskkill /pid NUMERO_PID /F on NUMERP_PID serà el valor que hem vist anteriorment.

Un cop fet això, ja podrem executar l’aplicació UniFi Controller i accedir via web com habitualment ho fèiem.

Client Zabbix per pfsense

Per monitoritzar un tallafocs pfsense (2.1) mitjançant zabbix (2.2) els passos seran els següents:

  • Identificar-nos en el nostre tallafocs pfsense
  • Anar a System / available Packages (https://fw.local/pkg_mgr.php) i cercar el paquet Zabbix-2 Agent (zabbix2-agent-2.2.1 pkg v0.8_0),
  • Un cop instal·lat caldrà anar a Services / Zabbix-2 Agent i configurar els paràmetres segons la nostre configuració:
    • Activar l’agent
    • Server: IP del servidor Zabbix de la nostre xarxa
    • Server Active: IP del servidor Zabbix de la nostre xarxa
    • Hostname: nom exacte com hem creat o com crearem el host a monitoritzar (fw.local per exemple).
    • Listen IP: 0.0.0.0 per què ens escolti totes les IPs
    • Listen Port: 10050 el port d’escolta.
  • Desarem, i anirem a Status/ Services (https://fw.local/status_services.php) per validar que l’agent zabbix_aggentd està en marxa -en cas contrari apretarem el botó “play” per què s’activi).

A partir d’aquí­ haurem de mirar els logs de l’agent zabbix al pfsense per validar si tot és correcte.
Trobarem l’arxiu de log a: /var/log/zabbix2/zabbix2_agentd.log
Trobarem l’arxiu de configuració a: /usr/pbi/zabbix22-agent-amd64/etc/zabbix22/zabbix_agentd.conf

i l’arxiu de configuració meu ha quedat així­ per què funcioni:

Server=IPLOCAL-Zabbix
ServerActive=IPLOCAL-Zabbix
Hostname=fw.local
ListenIP=0.0.0.0
ListenPort=10050
RefreshActiveChecks=120
#DebugLevel=3
PidFile=/var/run/zabbix2/zabbix2_agentd.pid
LogFile=/var/log/zabbix2/zabbix2_agentd.log
#LogFileSize=1
#Timeout=3
#BufferSend=5
#BufferSize=100
#StartAgents=5

Un cop fet aquests passos, només caldrà crear el host al nostre servidor zabbix tenint cura de definir amb el mateix nom “dns” a l’entrada del client zabbix per què el pugui trobar. Passat uns minuts veurem que ha sincrontizat correctament.  En cas de problemes, el millor és mirar l’arxiu de log de l’agent zabbix al nostre pfsense i ens donarà pistes de quin problema té.

Problemes amb firma electrònica tCAT i Maverick

Recentment he actualitzat el meu equip, i per comptes d’instal·lar tot a partir d’una còpia de seguretat vaig decidir partir d’una instal·lació neta.   Fa dos dies que intento fer un tràmit electrònic i de nou tornen els problemes per poder fer servir un certificat electrònic amb un sistema operatiu Mac OSX (en el meu cas amb la versió 10.9.1 -maverick-).

Primera premissa: fer servir firefox en versió 32 bits.  (anar a aplicacions / propietats del firefox i marcar la opció executar en mode 32 bits).

Segona premissa: tenir els paquets d’instal·lació dels controladors per al lector de t-CAT o DNIe. En el meu cas, els he trobat després de molt buscar a la web de aoc.cat (http://www.aoc.cat/Inici/SERVEIS/Signatura-electronica-i-seguretat/T-CAT-administracions/Com-utilitzar-ho) i els adjunto a aquest artí­cle per què no em torni costar localitzar-ho.

Tercera premissa: els manuals de l’AOC, de CATCERT, de EACAT.cat sempre indiquen que s’ha de crear un PKCS # Library -tan al firefox com a l’acrobat- que apunti a la ruta local  INCORRECTE: /usr/lib/libaetpkss.dylib quan la ruta CORRECTE és: /usr/local/lib/libaetpkss.dylib

Amb aquestes tres premisses he aconseguit tornar a signar de nou amb MacOS. No garantitzo que duri molt.

has:attachment larger:8m

Si feu servir gmail o google apps segurament no us preocupa l’espai que ocupen les vostres bústies de correu electrònic.  De totes maneres, sempre és un bon moment per fer neteja o per veure en què perdem espais a les nostres bústies.

Un problema habitual és els correus electrònics amb fitxers adjunts. Podeu fer una cerca de quins correus porten arxius adjunts a la vostre bústia fent una recerca amb el següent paràmetre:

has:attachment

Aquesta cerca ens mostrarà tots els correus electrònics que tinguin arxius adjunts.  Si a més volem filtrar els que el tamany sigui més gran de 8megues per exemple caldrà afegir el següent:

has:attachment larger:8m

I veurem ràpidament tots els correus electrònics que estan a la nostre bústia (enviats, rebuts, arxivats…), que superen els 8 megues.   En el meu cas ràpidament he recuperat un parell de gigues.


 

Afegeixo la documentació que dona google per millorar aquestes cerques dins del correu electrònic:

 

Operador Definición Ejemplos
from: Sirve para especificar el remitente. Ejemplo: from:ana
Significado: mensajes enviados por Ana
to: Sirve para especificar el destinatario. Ejemplo: to:david
Significado: mensajes que tú u otros usuarios habéis enviado a David
subject: Sirve para buscar palabras incluidas en la lí­nea del asunto. Ejemplo: subject:cena
Significado: mensajes cuyo asunto incluye la palabra “cena”
OR Sirve para buscar mensajes que incluyan el término A o el término B.*
*El parámetro OR debe escribirse en mayúsculas.
Ejemplo: from:ana OR from:david
Significado: los mensajes que provienen de Ana o de David

(guión)
Sirve para excluir mensajes de la búsqueda. Ejemplo: cena -pelí­cula
Significado: mensajes que contienen la palabra “cena” pero no la palabra “pelí­cula”
label: Sirve para buscar mensajes por etiquetas. Ejemplo: from:ana label:amigos
Significado: mensajes de Ana que incluyen la etiqueta “amigos”Ejemplo: from:david label:mi familia
Significado: mensajes de David etiquetados como “Mi familia”
has:attachment Sirve para buscar los mensajes que tengan un archivo adjunto. Ejemplo: from:david has:attachment 
Significado: los mensajes enviados por David que llevan adjunto un archivo
list: Sirve para buscar mensajes incluidos en listas de distribución. Ejemplo: list:[email protected] 
Significado: mensajes enviados o recibidos a través de esta lista y que incluyen [email protected] en sus cabeceras 
filename: Sirve para buscar un archivo adjunto por su nombre o por su tipo. Ejemplo: filename:deberesfí­sica.txt
Significado: mensajes que llevan adjunto el archivo “deberesfí­sica.txt” 

Ejemplo: label:trabajo filename:pdf
Significado: mensajes con la etiqueta “trabajo” que llevan adjunto un archivo en formato PDF

” ”
(comillas)
Sirven para buscar una frase exacta*.
*No se distingue entre mayúsculas y minúsculas.
Ejemplo: “voy a tener suerte”
Significado: mensajes que contienen la frase “voy a tener suerte” o “Voy a tener suerte”

Ejemplo: subject:”cena y peli”
Significado: mensajes cuyo asunto contiene la frase “cena y peli”

( ) Sirven para agrupar palabras.
Sirven para especificar los términos que no deben excluirse.
Ejemplo: from:ana (cena OR peli)
Significado: mensajes de Ana que contienen la palabra “cena” o la palabra “peli”

Ejemplo: subject:(cena peli)
Significado: mensajes cuyo asunto incluye las palabras “cena” y “peli”

in:anywhere Sirve para buscar mensajes en cualquier sitio de Gmail*.
*De forma predeterminada, no se busca ni en la carpeta Spamni en la carpetaPapelera.
Ejemplo: in:anywhere peli 
Significado: los mensajes de las carpetasTodos, Spam y Papelera que contienen la palabra “peli”
in:inbox
in:trash
in:spam
Sirven para buscar mensajes en las carpetasRecibidos,Papelera oSpam. Nota: hay que escribir sus nombres en inglés (“inbox”, “trash” y “spam”, respectivamente). Ejemplo: in:trash from:ana
Significado: los mensajes enviados por Ana que están en la Papelera (“trash” en inglés)
is:important
label:important
Sirven para buscar dentro de los mensajes que la bandeja de entrada Prioritariosconsidere importantes. Ejemplo: is:important from:almudena
Significado: los mensajes enviados por Almudena que la bandeja de entrada Prioritarios ha marcado como importantes
is:starred
is:unread
is:read
Sirven para buscar los mensajes destacados (“starred”), los no leí­dos (“unread”) y los leí­dos (“read”). Ejemplo: is:read is:starred from:David
Significado: mensajes enviados por David que se han leí­do y se han destacado con una estrella
has:yellow-star
has:red-star
has:orange-star
has:green-star
has:blue-star
has:purple-star
has:red-bang
has:orange-guillemet
has:yellow-bang
has:green-check
has:blue-info
has:purple-question
Sirven para buscar mensajes destacados con una estrella (“star”) de un color determinado –amarillo (“yellow”), rojo (“red”), naranja (“orange”), verde (“green”), azul (“blue”), morado (“purple”)–, con el icono de un signo de exclamación rojo (“red-bang”) o amarillo (“yellow-bang”), con el icono naranja de comillas dobles (“orange-guillemet”), con el icono verde de una marca de verificación (“green-check”), con el icono azul de información (“blue-info”) o con el icono morado de un signo de interrogación (“purple-question”). Ejemplo: has:purple-star from:David
Significado: los mensajes escritos por David marcados con una estrella morada
cc:
bcc:
Sirven para buscar los mensajes enviados con copia Cc: o copia oculta Cco:* a determinados destinatarios.
*No incluyas tu dirección en “Cco:” porque las búsquedas no pueden recuperar esos mensajes.
Ejemplo: cc:david 
Significado: los mensajes que incluyen a David en el campo “Cc”
after:
before:
older:
newer:
Sirven para buscar los mensajes enviados en un intervalo de tiempo definido entre “older” o “after” (después de) y “before” o “newer” (antes de),
siempre con el formato de fecha aaaa/mm/dd.
Ejemplo: after:2004/04/16 before:2004/04/18 
Significado: mensajes enviados entre el 16 y el 18 de abril de 2004*
*Más concretamente: los mensajes enviados después de las 12:00 a.m. (o 00:00) del 16 de abril de 2004 y antes del 18 de abril de 2004.
older_than
newer_than
Permiten buscar mensajes con respecto a la fecha de hoy, a saber: enviados hace más de(“older”) o en los últimos (“newer”)dm o y (dí­as,meses o años,respectivamente). Ejemplo: newer_than:2d
Significado: encuentra los mensajes enviados en los dos últimos dí­as
is:chat Sirve para buscar mensajes del chat. Ejemplo: is:chat mono
Significado: mensajes del chat que incluyen la palabra “mono”
deliveredto: Sirve para buscar los mensajes cuya cabecera contenga una dirección concreta en la lí­nea “Delivered-To” (“entregado a”). Ejemplo:deliveredto:[email protected]
Significado: los mensajes que incluyen [email protected] en el campo “Delivered-To:” de su cabecera (así­ puedes localizar mensajes reenviados desde otra cuenta o enviados a un alias)
circle: Sirve para buscar los mensajes enviados por algún miembro de un cí­rculo tuyo de Google+. Ejemplo: circle:friends
Significado: todos los mensajes enviados por un miembro de tu cí­rculo “Amigos” (“friends” en inglés).

Ejemplos: circle:”amigos de fútbol (equipo azul)” o circle:”mis \”cuatro pegamoides\””
Notas: si el nombre del cí­rculo incluye un espacio, una vertical, paréntesis o llaves, pon todo el nombre entre comillas. Si el nombre incluye comillas, escribe una barra delante de ellas, como en el ejemplo.

has:circle Sirve para buscar todos los mensajes enviados por los miembros de tus cí­rculos de Google+. Ejemplo: has:circle 
Significado: cualquier mensaje enviado por un miembro de cualquiera de tus cí­rculos
category: Sirve para buscar mensajes dentro de una categorí­a determinada. Ejemplo: category:updates
Significado: todos los mensajes incluidos en la categorí­a “Actualizaciones” (“updates”)

Ejemplo: category:social Marisa
Significado: todos los mensajes de la categorí­a “Social” que incluyen la palabra “Marisa”.

size: Sirve para buscar los mensajes de un tamaño superior (en bytes) al especificado. Ejemplo: size:1000000 
Significado: todos los mensajes de más de 1 MB (1.000.000 bytes)
larger:
smaller:
Sirven para buscar los mensajes mayores o menores (“larger”“smaller”) que el tamaño especificado. Puedes abreviar los millares y los millones a la manera anglosajona, siendo “K” equivalente a “000”y “M” a “000.000”. Ejemplo: larger:10M 
Significado: todos los mensajes de 10.000.000 bytes o más de tamaño
+
(sí­mbolo más)
Sirve para localizar únicamente las coincidencias exactas con el término buscado. Ejemplo: +unicornio 
Significado: los mensajes que contienen la palabra “unicornio” (pero ni “unicornios” ni “unciornio”)
rfc822msgid: Sirve para buscar un mensaje por el ID mostrado en su cabecera (“message-id”). Ejemplo:rfc822msgid:[email protected]
Significado: localiza el mensaje que tenga exactamente ese ID de SMTP. Más información sobre las cabeceras de los mensajes
has:userlabels
has:nouserlabels
Sirven para buscar los mensajes que tienen (“userlabels”) o que no tienen (“nouserlabels”) etiquetas creadas por ti.
NOTA: Gmail etiqueta los mensajes de forma individual, no conversaciones enteras.
Ejemplo: has:nouserlabels
Significado: localiza todos los mensajes que no tengan ninguna etiqueta creada por ti (pero sí­ las etiquetas automáticas “Recibidos”, “Spam” y “Papelera”). Como Gmail etiqueta los mensajes de forma individual, es posible que en los resultados parezca que tienen etiquetas, pero eso quiere decir que otro mensaje de la misma conversación está etiquetado.

 

Font: https://support.google.com/mail/answer/7190?hl=ca