awk '{print $1}' |sort |uniq -c |sort -r -n
lunedì 25 novembre 2013
Filtro per contare le ricorrenze di un campo in un file di testo
$1 si riferisce alla prima colonna del file di testo. Utilizzare $2, $3, $4,.... per le colonne seguenti.
lunedì 4 novembre 2013
network-manager: non attivare default route su link OPENVPN
In NetworkManager:
VPN Connections -> (selezionare la connessione VPN da modificare) -> Edit -> Routes -> Selezionare la casella "Use this connection only for resources on its network"
giovedì 31 ottobre 2013
fail2ban: proteggere saslauthd
Debian 6.0.8
fail2ban 0.8.4-3+squeeze2
Debian 5.0.10
fail2ban 0.8.3-2sid1
failregex = (?i): warning: [-._\w]+\[\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [A-Za-z0-9+]*)?
Debian 5.0.10
fail2ban 0.8.3-2sid1
failregex = : warning: [-._\w]+\[\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed
fail2ban 0.8.4-3+squeeze2
Debian 5.0.10
fail2ban 0.8.3-2sid1
failregex = (?i): warning: [-._\w]+\[
Debian 5.0.10
fail2ban 0.8.3-2sid1
failregex = : warning: [-._\w]+\[
mercoledì 30 ottobre 2013
postfix: attivare debug connessione con un mail server
Se vogliamo verificare come mai il mail server del dominio dominio.ext rifiuta le email dal nostro server possiamo attivare il debug specifico per quel dominio:
postconf -e debug_peer_list=dominio.ext
postconf -e debug_peer_level=3
postfix reload
Backuppc: cambiare la password dell'utente sull'interfaccia grafica
htpasswd /etc/backuppc/htpasswd $NOME_UTENTE
Etichette:
amministratore,
backuppc,
password,
utente
Backuppc: escludere directory su copia rsync
$Conf{RsyncShareName} = [
'/home/user',
'/etc',
'/usr/local/bin'
];
$Conf{BackupFilesExclude} = {
'/home/user' => [
'/NOBACKUP/**',
'/Music/**',
'/Videos/**',
'/.aMule/**'
]
};
'/home/user',
'/etc',
'/usr/local/bin'
];
$Conf{BackupFilesExclude} = {
'/home/user' => [
'/NOBACKUP/**',
'/Music/**',
'/Videos/**',
'/.aMule/**'
]
};
mercoledì 23 ottobre 2013
PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings.
Questo errore nei log di Apache:
FastCGI: server "/var/www/clients/client3/web4/cgi-bin/php5-fcgi-*-80-example.com" stderr: PHP message: PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.e' caratteristico di PHP 5.3 (pare sia sparito con la release 5.4).
Per risolverlo bisogna aggiungere al php.ini la riga:
date.timezone = "Europe/Rome"personalizzando se occorre la timezone tra doppi apici
backuppc: ping timeout
La copia di un computer remoto non parte perche' il sistema trova la risposta del ping troppo lenta?
Se sapete cosa state facendo potete aumentare il limite di questo controllo aumentando la configurazione (ad esempio) da:
Se sapete cosa state facendo potete aumentare il limite di questo controllo aumentando la configurazione (ad esempio) da:
$Conf{PingMaxMsec} = '10'a
$Conf{PingMaxMsec} = '500'Il numero e' espresso in millisecondi
SSH: usare porte diverse dalla 22
~/.ssh/config
e inserire qualcosa del genere
Host my.first.computer
Port 2222
Host my.second.computer
Port 3333
a questo punto possiamo tranquillamente utilizzare il comando:
ssh utente@my.first.computer
o
scp foo utente@my.second.computer:bar
senza bisogno di specificare la porta.
sabato 19 ottobre 2013
Linux: Problemi di connessione con Realtek r8169 / r8111
Le schede indicate nel titolo vengono spesso riconosciute da Linux come delle r8169 e quindi il sistema provvede a caricare il modulo r8169 che potrebbe darvi qualche problema.
Su una Ubuntu 12.04LTS il driver r8168 e' già compilato all'interno del kernel di default. In questo caso sara' sufficiente bloccare il caricamento del modulo sbagliato inserendo la riga:
Per altri sistemi che non avessero il driver r8168 precompilato nel kernel consigliamo di seguire la procedura seguente:
Verifichiamo di avere installato dkms:
Se per caso, durante la compilazione del modulo, doveste avere errori del tipo:
e ripetere la compilazione. Tutto qua :)
Su una Ubuntu 12.04LTS il driver r8168 e' già compilato all'interno del kernel di default. In questo caso sara' sufficiente bloccare il caricamento del modulo sbagliato inserendo la riga:
blacklist r8169nel file:
/etc/modprobe.d/blacklist-network.conf
Per altri sistemi che non avessero il driver r8168 precompilato nel kernel consigliamo di seguire la procedura seguente:
Per poter compilare automaticamente il modulo ad ogni aggiornamento di kernel, e' necessario ricorrere al sistema dkms.cd /usr/src wget http://djlab.com/stuff/r8168-8.032.00.tar.bz2 tar jxvf r8168-8.032.00.tar.bz2 cd r8168-8.032.00 make clean modules make install depmod -a echo "blacklist r8169" >> /etc/modprobe.d/blacklist-network.conf update-initramfs -u
Verifichiamo di avere installato dkms:
apt-get install dkms gccCreare il file:
dkms.confcon il seguente comando:
cat <ed eseguire i comandi seguenti:/usr/src/r8168-8.032.00/dkms.conf
PACKAGE_NAME=r8168
PACKAGE_VERSION=8.032.00
MAKE[0]="'make'"
BUILT_MODULE_NAME[0]=r8168
BUILT_MODULE_LOCATION[0]="src/"
DEST_MODULE_LOCATION[0]="/kernel/updates/dkms"
AUTOINSTALL="YES"
EOF
dkms add -m r8168 -v 8.032.00Se non avete ricevuto errori, il vostro modulo e' stato installato correttamente e sara' ricompilato in automatico dal sistema ad ogni aggiornamento di kernel.
dkms build -m r8168 -v 8.032.00
dkms install -m r8168 -v 8.032.00
Se per caso, durante la compilazione del modulo, doveste avere errori del tipo:
root/r8168-8.035.00/src/r8168_n.c:14545: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtl8168_init_board’Sara' necessario applicare la patch seguente:
diff -ruB r8168-8.035.00/src/r8168_n.c r8168-8.035.00/src/r8168_n.c
--- r8168-8.035.00/src/r8168_n.c 2012-12-19 05:38:56.000000000 -0500
+++ r8168-8.035.00/src/r8168_n.c 2013-03-17 12:48:58.693002848 -0400
@@ -14541,7 +14541,7 @@
spin_unlock_irqrestore(&tp->phy_lock, flags);
}
-static int __devinit
+static int
rtl8168_init_board(struct pci_dev *pdev,
struct net_device **dev_out,
void __iomem **ioaddr_out)
@@ -14711,7 +14711,7 @@
goto out;
}
-static void __devinit
+static void
rtl8168_init_sequence(struct rtl8168_private *tp)
{
void __iomem *ioaddr = tp->mmio_addr;
@@ -14964,7 +14964,7 @@
};
#endif
-static int __devinit
+static int
rtl8168_init_one(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
@@ -15128,7 +15128,7 @@
return 0;
}
-static void __devexit
+static void
rtl8168_remove_one(struct pci_dev *pdev)
{
struct net_device *dev = pci_get_drvdata(pdev);
@@ -17649,7 +17649,7 @@
.name = MODULENAME,
.id_table = rtl8168_pci_tbl,
.probe = rtl8168_init_one,
- .remove = __devexit_p(rtl8168_remove_one),
+ .remove = rtl8168_remove_one,
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,11)
.shutdown = rtl8168_shutdown,
#endif
e ripetere la compilazione. Tutto qua :)
venerdì 18 ottobre 2013
ImageMagick: modificare la qualita' di una o piu' immagini JPG
L'esempio qui sotto riduce al 60% la qualita' delle immagini JPG presenti nella directory corrente:
mogrify -quality 60 *.jpg
Etichette:
imagemagick,
immagini,
mogrify,
qualita,
web
giovedì 17 ottobre 2013
OpenOffice Calc: cercare spazi
Nella ricerca abilitare le opzioni avanzate e checkare le regular expression.
Cercare [:space:]
Cercare [:space:]
Etichette:
cerca,
openoffice,
ricerca,
sostituisci,
sostituzione,
spazio
mercoledì 16 ottobre 2013
Linux: quanti IP stanno visualizzando il mio sito?
Per visualizzare gli IP address di chi sta guardando i siti del nostro server possiamo lanciare il seguente comando:
netstat -napt | grep :80\ | awk '{print $5}' | cut -d: -f1 | sort -u
Invece per contare i diversi IP address possiamo usare:
netstat -napt | grep :80\ | awk '{print $5}' | cut -d: -f1 | sort -u | wc -l
martedì 15 ottobre 2013
Linux: che batteria ho sul mio notebook?
upower -i /org/freedesktop/UPower/devices/battery_BAT0che da' un output del genere:
native-path: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/PNP0C0A:00/power_supply/BAT0 vendor: ASUSTEK model: F82--22 power supply: yes updated: Tue Oct 15 15:34:35 2013 (3224 seconds ago)
has history: yes
has statistics: yes
battery present: yes
rechargeable: yes
state: fully-charged
energy: 16.841 Wh
energy-empty: 0 Wh
energy-full: 16.841 Wh
energy-full-design: 46.2 Wh
energy-rate: 2.079 W
voltage: 12.461 V
percentage: 100%
capacity: 36.4524%
technology: lithium-ion
mercoledì 2 ottobre 2013
ImageMagick: generare file .csv con informazioni su immagini di un folder
identify *jpg| sed 's/[ x]/,/g' > listabu_`basename $PWD`.csv
Etichette:
bash,
identify,
imagemagick,
linux,
script
martedì 13 agosto 2013
Dovecot IMAP: upgrade da 1.x a 2.x su Debian Lenny
Aggiungere al file /etc/apt/sources.list la riga
deb http://xi.rename-it.nl/debian/ oldstable-auto/dovecot-2.0 main
e lanciare il comando:
apt-get update
seguito dal comando:
apt-get install dovecot-imapd
mercoledì 31 luglio 2013
DNS: error (FORMERR) resolving '$SOMETHING': xx.xx.xx.xx#53
Nel log /var/log/daemon.log apparivano diverse segnalazioni simili a questa:
Jul 31 09:01:27 server named[29883]: error (FORMERR) resolving '$SOMETHING': xx.xx.xx.xx#53
Qualche DNS risponde in maniera errata ad una interrogazione.
Il log puo' essere ignorato ed eventualmente disabilitato inserendo quanto segue nel file named.conf.local:
logging { category lame-servers { null; }; };
mercoledì 24 luglio 2013
Network Manager: Errore Failed to add new connection: (32) Insufficient privileges.
Creare il file:
/etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla
e inserirvi il testo seguente:
[nm-applet]Identity=unix-group:netdevAction=org.freedesktop.NetworkManager.*ResultAny=yesResultInactive=noResultActive=yes
Etichette:
errore,
insufficient privileges,
linux,
network manager
giovedì 18 luglio 2013
RouterOS: rimuovere le regole del firewall
Per rimuovere tutte le regole di una chain:
/ip firewall filter remove [/ip firewall filter find chain=input]
Per rimuovere TUTTE le regole del firewall:
/ip firewall filter remove [/ip firewall filter find]
mercoledì 3 luglio 2013
backuppc: "Tar exited with error 512 ()" due to read permission failures
Questo errore si verifica in una nuova installazione di backuppc tentando di backuppare la /etc del server locale.
Il problema e' che l'utente con cui viene eseguito il backup (per default e' l'utente backuppc) non ha i permessi per leggere alcuni file nelle cartelle da backuppare.
Bisogna inserire nel file
/etc/sudoers
la linea seguente:
backuppc ALL = NOPASSWD: /bin/tar
e modificare il file
/etc/backuppc/local.pl
trasformando le linee:
$Conf{TarClientCmd} = '/usr/bin/env LC_ALL=C $tarPath -c -v -f - -C $shareName' . ' --totals';
in:
$Conf{TarClientCmd} = '/usr/bin/sudo $tarPath -c -v -f - -C $shareName' . ' --totals';
giovedì 27 giugno 2013
DNS: generazione chiave rndc per aggiornamenti dinamici
Lanciare il comando:
rndc-confgen -a -c /etc/bind/rndc.keyse il comando precedente si dovesse bloccare (normalmente termina quasi istantaneamente) lanciate il comando seguente:
rndc-confgen -r /dev/urandom -a -c /etc/bind/rndc.key
Disabilitare IPv6 su Debian 7 Wheezy
Lanciare il comando seguente da linea di comando:
echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.confCompletare la procedura riavviando il computer.
Etichette:
debian,
disabilitare,
ipv6,
linux,
wheezy
Bind9 Error : named[....]: network unreachable resolving ...
named[8660]: network unreachable resolving 'zd.somedomain.org/AAAA/IN': 2001:500:f::1#53
Questo errore ripetuto nei log di sistema e' dovuto al fatto che per default, bind utilizza anche IPv6.
Per disabilitare questa caratteristica bisogna editare il file
/etc/default/bind9
e aggiungere
-4
alle opzioni, ottenendo:
OPTIONS="-4 -u named"
Completare la procedura facendo ripartire il servizio bind.
BIND+DHCP: gli aggiornamenti dinamici del DNS non funzionano
Se gli aggiornamenti dinamici del DNS non funzionano, controllate se nel file /var/log/daemon.log trovate qualcosa di simile a quanto segue:
Jun 27 22:27:26 milhouse named[3278]: /etc/bind/zones/db.simpson.jnl: open: permission denied
Jun 27 22:27:26 milhouse named[3278]: client 192.168.2.130#40535: updating zone 'corimtec.mylan/IN': error: journal open failed: unexpected error
Jun 27 22:27:26 milhouse dhcpd: Forward map from bart.simpson.local. to 192.168.2.162 FAILED: SERVFAIL
Per risolvere questo problema occorre verificare i permessi del file .jnl (nell'esempio /etc/bind/zones/db.simpson.jnl).
Nel nostro caso l'utente bind non aveva accesso in scrittura sul file .jnl
-rw-r--r-- 1 root bind 5951774 Jun 27 22:42 /etc/bind/zones/db.simpson.jnl
Basta assegnare l'apposito permesso con il comando
chmod 664 /etc/bind/zones/db.simpson.jnl
Ottenendo quindi:
-rw-rw-r-- 1 root bind 5951774 Jun 27 22:42 /etc/bind/zones/db.simpson.jnl
mercoledì 26 giugno 2013
°boot error° tentando il boot da chiavetta USB
Prima di creare la chiavetta (ad esempio con unetbootin) occorre prepararla con il comando:
mkdosfs -v -I /dev/sdb
ATTENZIONE!!! QUESTO COMANDO DISTRUGGE TUTTI I CONTENUTI PRESENTI SULLA CHIAVETTA.
Sostituire a sdb il device relativo alla vostra chiavetta.
mkdosfs -v -I /dev/sdb
ATTENZIONE!!! QUESTO COMANDO DISTRUGGE TUTTI I CONTENUTI PRESENTI SULLA CHIAVETTA.
Sostituire a sdb il device relativo alla vostra chiavetta.
giovedì 13 giugno 2013
DNS: too many timeouts resolving '$OUTER_DOMAIN/A' (in '$URL'?): reducing the advertised EDNS UDP packet size to 512 octets
Se ricevete nei log tonnellate di messaggi simile al seguente:
Jun 13 12:10:31 $SERVER_NAME named[2604]: too many timeouts resolving '$OUTER_DOMAIN/A' (in '$URL'?): reducing the advertised EDNS UDP packet size to 512 octets
potete disabilitare il logging di EDNS inserendo nel vostro named.conf:
logging {category edns-disabled { null; };};
mercoledì 12 giugno 2013
Tre metodi per invecchiare l'ottone...
Se volete che un oggetto del genere:
diventi cosi':
potete usare uno dei 3 metodi seguenti (declino ogni responsabilita', sono metodi trovati in rete e non ancora testati personalmente da noi):
Prendere un recipiente
Versarci dentro dell'aceto fino a ricoprirne il fondo
Sospendere gli oggetti da invecchiare sopra all'aceto (non dovete immergerli)
Coprire il recipiente con della pellicola trasparente
Aspettare con pazienza che gli oggetti si scuriscano (il tempo necessario e' variabile)
Quando la patina sara' quella desiderata, asciugare gli oggetti e metterli su una fonte elettrica di calore finche' non iniziano a scurire.
Prendere gli oggetti con una pinza e temperarli in olio minerale.
Usare una paglietta di ferro per pulire le parti normalmente piu' usurate.
Esporre gli oggetti ai vapori di un recipiente riempito di ammoniaca (il tutto deve essere sigillato in una busta di plastica per non far dissolvere i vapori)
Utilizzare del cloruro ferrico (l'acido usato per produrre i circuiti stampati).
Usare tutte le precauzioni necessarie quando si maneggiano acidi.
diventi cosi':
potete usare uno dei 3 metodi seguenti (declino ogni responsabilita', sono metodi trovati in rete e non ancora testati personalmente da noi):
METODO 1
Versarci dentro dell'aceto fino a ricoprirne il fondo
Sospendere gli oggetti da invecchiare sopra all'aceto (non dovete immergerli)
Coprire il recipiente con della pellicola trasparente
Aspettare con pazienza che gli oggetti si scuriscano (il tempo necessario e' variabile)
Quando la patina sara' quella desiderata, asciugare gli oggetti e metterli su una fonte elettrica di calore finche' non iniziano a scurire.
Prendere gli oggetti con una pinza e temperarli in olio minerale.
Usare una paglietta di ferro per pulire le parti normalmente piu' usurate.
METODO 2
METODO 3
Usare tutte le precauzioni necessarie quando si maneggiano acidi.
Etichette:
diy,
invecchiamento,
ottone,
patina,
restauro
venerdì 31 maggio 2013
Gnome fallback session: gestire opzioni orologio su pannello superiore
Installato Gnome Fallback per eliminare l'odiato Unity restava il problema della data vicino all'orologio nel pannello superiore.Impossibile attivarla e modificare altre impostazioni di data e ora.
Un rapido trucchetto e' lanciare i seguenti comandi:
gsettings set com.canonical.indicator.datetime show-clock true
gsettings set com.canonical.indicator.datetime show-calendar true
gsettings set com.canonical.indicator.datetime show-date true
gsettings set com.canonical.indicator.datetime show-day true
gsettings set com.canonical.indicator.datetime show-events false
gsettings set com.canonical.indicator.datetime show-locations true
gsettings set com.canonical.indicator.datetime show-seconds false
BackupPC: visualizzare l'anno nella data dei backup
Per ovviare a questo problema basta sostituire il settaggio:
$Conf{CgiDateFormatMMDD} = '0';
con
$Conf{CgiDateFormatMMDD} = '2';
lunedì 20 maggio 2013
GIMP: come creare dei watermark (filigrane) da usare nelle vostre foto
Oggi sono pigro e posto direttamente l'URL di un ottimo tutorial sull'argomento :)
lunedì 25 marzo 2013
Generare piccoli PDF da grandi immagini.
Abbiamo gia' visto in un articolo precedente come generare PDF a partire da file immagine mediante il comando convert del pacchetto ImageMagick.
Purtroppo a volte il PDF risulta essere un po' ingombrante, un po' troppo pesante per essere archiviato o spedito via mail.
Possiamo generare un pdf piu' leggero utilizzando il parametro -quality:
convert -quality 25 image.jpg document.pdf
martedì 5 febbraio 2013
Davmail: configurazione
Il file di configurazione di davmail e' ~/.davmail.properties
L'unica voce da configurare (a meno che non abbiate esigenze particolari) e' davmail.url con il seguente formato:
davmail.url=https\://NOME_SERVER/OWA/
Killare il processo davmail e rilanciarlo
L'unica voce da configurare (a meno che non abbiate esigenze particolari) e' davmail.url con il seguente formato:
davmail.url=https\://NOME_SERVER/OWA/
Killare il processo davmail e rilanciarlo
Etichette:
configurazione,
davmail,
exchange,
linux,
ubuntu
Ubuntu: collegare evolution a server exchange
Utilizzare Davmail
Se alla partenza del programma avete un errore sulle librerie SWT eseguite il comando seguente:
sudo apt-get install libswt-cairo-gtk-3-jni
Eventualmente cercare la versione della libreria relativa al sistema in uso.
Iscriviti a:
Post (Atom)