pill

Mysqldump senza bloccare il server

mysql

Se vogliamo fare un dump di un database che potrebbe essere particolarmente impegnativo per la macchina (e quindi che rischierebbe di bloccare/rallentare i servizi in uso e in particolare gli altri accessi al DB) è possibile usare queste opzioni:

mysqldump --single-transaction --quick --lock-tables=false

In questo modo il dump avverrà a bassa priorità, usando una sola transazione e senza fare locking di tabelle (ovviamente questo può comportare dei dump con problemi di consistenza).

Mysql: inserire in una colonna un contatore sequenziale di riga

mysql

A volte può servire inserire in una select un contatore sequenziale, in modo che ad ogni record venga generato il numero successivo. Ad esempio per generare degli ID incrementali per una "insert into table". Ecco come:

select @c := @c + 1, ... from ..., (select @c := 0) c

L'esempio effettua un conteggio da 1 a 10, variando i numeri è possibile ovviamente cambiarlo. Ad esempio, per inserire degli utenti drupal:

select @curRow := value from sequences;
insert into users (uid, ...) select @curRow := @curRow + 1 uid, ... from externale_table ...;
delete from sequences; insert into sequences (value) values(@curRow + 1);

php_network_getaddresses: getaddrinfo failed: Name or service not known

php

Se apache+php da questo errore quando cerca di connettersi a un host, il problema potrebbe essere semplicemente che il servizio apache, avviato prima della connessione di rete completata, non ha aggiornati i dati da /etc/resolv.conf. Nel caso la soluzione è riavvare apache, avendo cura di fare stop e start del servizio separatamente, in sequenza, e non il semplice restart (con il restart i dati del dns non vengono riletti).

Ad esempio su arch linux:

sudo rc.d stop httpd; sudo rc.d start httpd

Può essere una buona idea mettere lo script che fa questa sequenza di commandi in auto-esecuzione quando la rete si aggancia. Vedi: Eseguire script quando la connessione wireless si attacca

Sudo: non chiedere la password per certi comandi

Tags: pillsudo

Se vogliamo che il comando SUDO faccia passare alcuni comandi, senza chiedere la password, è sufficiente modificare il file di configurazione (usando il comando visudo), cercare la linea di configurazione del nostro utente, ad esempio:

user ALL=(ALL) ALL

E aggiungere subito dopo (in modo che per gli altri comandi continui a funzionare il sudo con password)

user ALL=(ALL) NOPASSWD: /usr/bin/comando1,/usr/bin/comando2

E' anche possibile usare questa linea per fare in modo che non venga più chiesta la password in generale (in questo caso si può eliminare la linea precedente):

user ALL=(ALL) NOPASSWD: ALL

Tomcat6 su arch linux e "No Java compiler available"

arch

Il problema è che il pacchetto "Tomcat6" ha come dipendenza eclipse-ecj, ma non lo mette tra le librerie standard di tomcat e quindi non lo carica (ed è necessario per poter compilare al volo i JSP).

La soluzione è inserire la libreria /usr/share/java/ecj.jar nel classpath. Per farlo velocemente e definitivamente si può aggiungere il link tra le librerie base di tomcat:

cd /usr/share/tomcat6/lib
sudo ln -s /usr/share/java/ecj.jar ecj.jar

Vecchie versioni di pacchetti in AUR mediante il mirror GIT

arch

Repository GIT contenente il mirror (versionato) di tutto AUR:

http://pkgbuild.com/git/aur-mirror.git/

Per vedere direttamente un pacchetto specifico:

http://pkgbuild.com/git/aur-mirror.git/tree/NOME_PACCHETTO

Da li possiamo velocemente vedere le versioni precedenti dei PKGBUILD dei pacchetti, e quindi anche avere la possibilità di ricompilare vecchie versioni di software.

Samba e link simbolici

samba
Tags: sambapill

Se negli share samba i link simbolici non sono accessibili è sufficiente mettere, nella sezione globale (non dentro a uno share) di /etc/samba/smb.conf la linea:

wide links = yes

Per fare andare anche i link che puntano a posizioni del disco esterne agli share:

allow insecure wide links = yes

Wine su Arch

wine

L'ho installato cosi':

yaourt -S wine wine_gecko openal lib32-openal lib32-mpg123 lib32-v4l-utils lib32-libxcomposite lib32-libldap lib32-giflib lib32-ncurses lib32-readline lib32-libxml2 lib32-e2fsprogs lib32-keyutilslib32-krb5 lib32-libcups lib32-lcms lib32-jack

(wine_gecko serve al primo install di qualcosa, idem per openal e mpg123... poi comunque avevo dei problemi con dei software grafici, ho installato le dipendenze presenti nel PKGBUILD di wine-git ed ha iniziato ad andare tutto)