Script per modificare resolv.conf

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

Tunnel ssh

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!

Sessione X remota

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.

Bash script per modificare ACL in GPFS

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
    fi
    if [ -d $args ]; then
      mmputacl -i $ACL_FILE_PATH $args -d
      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.

Monkey Island stuff

19 Marzo 2009 di cacasenno

MI in 5 minuti

http://www.youtube.com/watch?v=MXoO9JslgBk

I wonder what happens in Tales of Monkey Island – Episode 1

http://www.youtube.com/watch?v=80zxVuxAVL8

I wonder what happens in Tales of Monkey Island – Episode 2

http://www.youtube.com/watch?v=-zTQgKuIYd4

I wonder what happens in Tales of Monkey Island – Episode 3

http://www.youtube.com/watch?v=ZIQaQ1qXkb8

I wonder what happens in Tales of Monkey Island – Episode 4

http://www.youtube.com/watch?v=GXuwtS4j7pI

Poster giochi Lucas

19 Marzo 2009 di cacasenno

Link da cui scaricare alcuni poster in alta risoluzione di alcuno gloriosi giochi della Lucas:

http://www.adventure-treff.de/specials/dl_goodies.php

Script bash per includere jar nel classpath

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.

Comandi Vim

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.

Comandi rtorrent

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.

Usare rtorrent con screen

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.