3 dicembre 2009 di cacasenno
Ecco un semplice script che aggiunge un search domain ed un nameserver nel file /etc/resolv.conf
Il file /etc/resolv.conf originale è questo:
domain my.domain.1
search my.domain.1
nameserver primary.dns.ip
nameserver secondary.dns.ip
lo script (da lanciare come root) è questo
#!/bin/bash
cp /etc/resolv.conf /etc/resolv.conf.ori
sed -i '/search/s|$| my.domain.2|' /etc/resolv.conf
sed -i '/^search/a nameserver new.primary.dns.ip' /etc/resolv.conf
Alla fine il file /etc/resolv.conf diventa così
domain my.domain.1
search my.domain.1 my.domain.2
nameserver new.primary.dns.ip
nameserver primary.dns.ip
nameserver secondary.dns.ip
Tag: resolv.conf
Pubblicato in bash | Lascia un commento »
5 giugno 2009 di cacasenno
Ecco un semplice script per aprire un tunnel ssh tra 2 macchine attraverso un gate:
#!/bin/bash
local_port=4321
destination=dest_host
echo "Openinng tunnel to $destination on port $local_port"
ssh -L $local_port:$destination:22 username@gate_host
a questo punto si entra in ssh sulla macchina destinazione con
ssh username@dest_host -p 4321
Occhio che se si chiude il tunnel (la prima connessione ssh) si chiude tutto!
Tag: tunnel
Pubblicato in HowTo, bash | Lascia un commento »
23 aprile 2009 di cacasenno
Per usare X su una macchina remota bisogna:
configurare macchina remota
- aprire il file
/etc/X11/gdm/gdm.conf e nella sessione [xdmpc] mettere Enable=true
- se si vuole disabilitare l’accesso root da remoto, modificare le entry nella sessione
[security]
- riavviare X
su macchina client:
- aprire shell non X per esempio sulla console F1 (ctrl+alt+F1)
- lanciare il comando:
X :1 -query nome_macchina_remota
Questo apre la sessione nella console su F8 o F9
Per terminarlo, usare ctrl+c dalla console F1.
Tag: X
Pubblicato in HowTo | Lascia un commento »
25 marzo 2009 di cacasenno
Script per cambiare le ACL di un albero di directory in un File System GPFS.
#!/bin/bash
# USAGE
# - on one directory: ./set_acl dir_name
# - on more directories: ./set_acl 'dir_nam*'
#
# Path of the file that contains the ACL
ACL_FILE_PATH=/path/to/acl_file.acl
# Directories onto the ACLs have to be set
dirs=$1
# Recursive function that sets ACL to files and directories
set_acl () {
curr_dir=$1
for args in $curr_dir/*
do
if [ -f $args ]; then
echo "ACL set on file $args"
mmputacl -i $ACL_FILE_PATH $args
if [ $? -ne 0 ]; then
echo "ERROR: ACL not set on $args"
exit -1
fi
if [ -d $args ]; then
# Set Default ACL in directory
mmputacl -i $ACL_FILE_PATH $args -d
if [ $? -ne 0 ]; then
echo "ERROR: Default ACL not set on $args"
exit -1
fi
echo "Default ACL set on directory $args"
# Set ACL in directory
mmputacl -i $ACL_FILE_PATH $args
if [ $? -ne 0 ]; then
echo "ERROR: ACL not set on $args"
exit -1
fi
echo "ACL set on directory $args"
set_acl $args
fi
done
}
for dir in $dirs
do
if [ ! -d $dir ]; then
echo "ERROR: $dir is not a directory"
exit -1
fi
set_acl $dir
done
exit 0
Lo scrivo qui perché contiene un esempio di funzione ricorsiva in bash.
Tag: acl, gpfs
Pubblicato in bash | 1 Commento »
19 marzo 2009 di cacasenno
Tag: monkey island
Pubblicato in Cazzeggio | Lascia un commento »
19 marzo 2009 di cacasenno
Tag: lucas
Pubblicato in Cazzeggio | Lascia un commento »
19 marzo 2009 di cacasenno
Ecco un semplice script per includere diversi files .jar nel classpath di un comando per eseguire una classe java che prende 3 argomenti in ingresso.
Con un ciclo for si mettono tutti i nomi dei files .jar nella variabile $jarfiles, inizializzata a puntare nella directory corrente, dopodiché si lancia il comando java usando tale variabile come classpath.
#!/bin/bash
jars=./jars/*
jarfiles=.
for i in $jars
do
jarfiles="$i":$jarfiles
done
echo "java -cp $jarfiles DoReset $1 $2 $3"
java -cp "$jarfiles" DoReset $1 $2 $3
La classe da eseguire è DoReset.java e i files .jar sono nella directory ./jars. $1, $2 e $3 sono gli argomenti per la classe java.
Tag: jar
Pubblicato in bash | Lascia un commento »
19 marzo 2009 di cacasenno
Un po’ di comandi per vi / vim che possono sempre venir bene:
| Azione |
Comando |
| inserisci testo |
i
|
| inserisci in nuova riga |
o |
| salva |
:w |
| esci |
:q oppure :q! (forza uscita) |
| salva ed esci |
:wq |
| cerca |
/testo da cercare |
| → continua |
n |
| sostituisci |
:%s/testo_old/testo_new/g |
| elimina riga |
dd |
| copia riga |
yy |
| incolla riga |
p |
Qui c’è una guida avanzata ai comandi per vi.
Tag: vim
Pubblicato in HowTo | Lascia un commento »
19 marzo 2009 di cacasenno
Lista di comandi utili per gestire rtorrent:
a/s/d: aumenta l’upload massimo di 1/5/50 KB
z/x/c: diminuisce l’upload massimo di 1/5/50 KB
A/S/D: aumenta il download massimo di 1/5/50 KB
Z/X/C: diminuisce il download massimo di 1/5/50 KB
freccia su/giù: seleziona/deseleziona il file di download oppure le voci di informazione
freccia destra/sinistra: entra/esce nei menu di informazione reletivi al file selezionato
1-7: scorre le tab del programma; nell’ordine main, name, started, stopped, complete, incomplete, hashing
ctrl+s: avvia un download
ctrl+d: ferma un download oppure rimuovi un download già bloccato
ctrl+r: hash di un torrent
invio: specifica il percorso di un seed da aggiungere alla coda di download
l: tab del log. Barraspazio per uscirne
ctrl+q: Esci
Qui si trova la fonte.
Tag: rtorrent
Pubblicato in HowTo | Lascia un commento »
19 marzo 2009 di cacasenno
Due righe su come fare per scaricare un file con rtorrent usando il programma screen, che permette di “staccare” un programma dalla shell da cui lo si è lanciato.
Per prima cosa mettere il file .torrent in ~/download .
Poi eseguire rtorrent “dentro” screen:
screen rtorrent
a questo punto il download dovrebbe partire automaticamente in rtorrent.
Per tornare alla shell, in modo da poterla chiudere, bisogna fare “Ctrl+a” e dopo premere “d”.
Per tornare a rtorrent dalla shell lanciare
screen -r
La versione originale di questa mini-guida si trova qui.
Tag: rtorrent, screen
Pubblicato in HowTo | 2 Commenti »