Linux

nastro

tar

Lettura contenuto nastro

tar -tf /dev/st0  >/var/www/backup/backupList.txt

Estrae

tar -xvvf foo.tar

tar xvf (xvfz) /dev/fd0 xxxxx (dove xxxxx e' il file o i files che si vogliono estrarre)

tar xvf /dev/st0 miofile

NB per gli spazi si usa '\ ' il backslash seguito da spazio

mt

per visualizzare lo status dell'unità a nastro utilizzare:

mt -f /dev/st0 status

cron

Cron può essere fatto partire da rc o da rc.local e ritorna immediatamente al prompt, sicchè non c'é bisogno di lanciarlo in background.
Cron ricerca il file /etc/crontab per le voci (le cosiddette "entry") di sistema e /var/spool/cron per le voci relative agli utenti che si trovano nel file /etc/passwd.
Tutte le voci ritrovate sono caricate in memoria. Cron legge anche i files che si trovano in cron.d. Cron ricerca le modifiche ogni minuto quindi non è necessario riavviare il servizio in caso di cambiamenti.

Utilizzare crontab

Il "cron daemon" legge il file "crontab"; ogni utente può avere la propria versione di questo file. La sintassi per il programma crontab è la seguente:
crontab [-u user] file
crontab [-u user] -l -e -r
Dove:
-u  nome dell'utente che "possiede" il file. Se -u è omesso, il sistema deduce per default che state usando il vostro crontab personale.
-l   visualizza il contenuto di crontab per l'utente
-e  entra in edit sul crontab per l'utente
-r  rimuove il file crontab dell'utente specificato.

Voci in Crontab
Solo 2 tipi di voci sono permesse nel crontab: i settaggi ambientali (Crontab Environmental settings) e i settaggi di comando (Crontab Command settings)

Crontab Environmental settings
I settaggi ambientali utilizzano la seguente forma:
nome = valore
Cron conosce già le diverse variabili ambientali. Per esempio, SHELL è settato a /bin/bash.
Altre variabili ambientali, come LOGNAME e HOME, sono associate al possessore del file. SHELL e HOME posso essere sovrascritte nello script, mentre non è possibile farlo con LOGNAME. Se MAILTO è definito (e non è settato a " "), tale variabile è inserita in una riga nel file crontab, e spedisce ogni messaggio generato all'utente specificato in questo campo.
La seguente riga mostra MAILTO settato ad uno specifico utente (luca): # spedisce tutti gli output all'utente *luca* (non importa chi è il proprietario di questo crontab)
MAILTO=luca@mio.dominio

Crontab Command settings
I settaggi comandi usano un formato standard: ogni riga inizia con cinque campi ora/data. Se è il crontab di sistema, il campo successivo è lo username associato con la voce. Il campo seguente sarà il comando da eseguire.

# esempio di file crontab utente
# Minute Hour Day of Month Month Day of Week Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
0 2 12 * 0,6 /usr/bin/findCampi
# esempio di file crontab di sistema \etc\crontab
# Minute Hour Day of Month Month Day of Week utente Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
0 2 12 * 0,6 root /usr/bin/findCampi

Esempio:

0 0,12 1 */2 * /sbin/ping -c 192.168.0.1; ls -la >>/var/log/cronrun
0 0,12 1 */2 * /sbin/ping -c 192.168.0.1; ls -la > /dev/null
0 0,12 1 */2 * /sbin/ping -c 192.168.0.1; ls -la > /dev/null 2>&1

Il primo esegue il comando ed invia l'output in append sul dile /var/log/cronrun, il secondo redirice lo standar output du /dev/null ed invia per email l'eventuale standard error. La terza riga esegue il comando, ridirige standard output e standard error su /dev/null quindi NON manda la mail.

Permessi e divieti di accesso al servizio crontab
Ci sono due file che abilitano la root (solo la root dovrebbe avere il permesso di editare o creare questi file) per autorizzare o vietare l'utilizzo dei servizi crontab agli utenti; essi sono: /etc/cron.allow -- Questo file in genere non esiste, lo dovete creare. Ogni voce che piazzerete in questo file coprirà quella inserita in /etc/cron.deny. Se il file /etc/cron.allow esiste, solo gli utenti specificati dentro posso usufruire del servizio crontab.
/etc/cron.deny -- Questo file esiste per default. In esso, ci metterete lo username delle persone a cui vietate l'utilizzo del servizio crontab.

rimontare una partizione in rw (aggiornamenti firewall)

mount -o remount,rw /

mount -o remount,ro /

cygwin/x

Connessione ad host (esempio nimba)

per connettersi via ssh da cygwinx ad una macchina linux (es nimba)

ssh -Y -l root nimba

gestione utenti


Creazione Utenti
addusr

Cambio password
passwd (nomeutente)  da utente root

find

Il comando find consente di selezionare un'ellenco di file in base a determinati criteri al esempio in base alla data di modifica. A tutti i file selezionati è inoltre concatenabile un comando.
Ad esempio il seguente comando copia tutti i files con estensione *.txt  in data  ntecedente fino ad un massimo di due giorni fa dal direttorio corrente al direttorio /tmp

Grand, we can now find files based on a subset of criteria. What would be even better is to apply some actions on those files. Action can be done with the use of /-exec/ switch.
We can now find .avi file that are newer that 15 days, in this example, we are going to move those file to another location: /my/new/movies . I consider that this directory already exist on your system.
Moving .avi files bigger than 700M and younger than 15 days to /my/new/movies can be done with:

-a -size +700M  indica tutti i file più grossi di 700 Mb
-mtime -2  indica tutti i file in data odierna, iedi e l'altroieri

find /home/sommaa -name '*.txt' -a -size +700M -mtime -15 -exec mv '{}' /tmp/ \;

ATTENZIONE l'uso di  *'{}'* e * \;* (c'e' uno spazio prima di \;).
*'{}'* viene sostituito con il nome del file trovato (i nomi) mentre  * \;*  indica la terminazione della sintassi del comando exec

grep

Se co sono troppi file nel direttorio e la "grep testo * " va in errore è possibile usare il seguente comando:

1) find . -type f -exec grep  -l  testodacercare {} \;
2) find . -type f -exec grep      testodacercare {} \;

nella prima forma c'e' lìopzione -l che dice a grep di indicare solo il nome del file in cui ha trovato la stringa
nella seconda forma invece la grep stampa tutte le linee in cui l'ha trovata

sed

per togliere le linee di commento che iniziano con # in un file.

sed -e "/^#/d" -e -e "/^[ \t]*$/d" nomedelfile > nuovonome

scp


Per copiare file da una macchina all'altra Con il comando scp è possibile trasferire files da una macchina ad un'altra via ssh. La sintassi è

scp /tmp/IMAG* root@192.168.1.190:/tmp

dove IMAG* sono i files che desidero copiare e root@192.168.1.190 indica l'utente e l'host di destinazione.

Installazione server X

Ora che avete aggiunto ed aggiornato le repository per etch siete pronti per installare il server X digitando:

apt-get install xserver-xorg-core xorg

Alla fine dell'installazione, vi verrà chiesto di ripondere ad alcune domande relative alla configurazione di X. Non preoccupatevi di ripondere ora, esattamente a tutte le domande, poichè, in caso di problemi, potrete sempre riconfigurare X in un secondo momento con il comando dpkg-reconfigure xserver-xorg.

Installazione login manager

Installato X, è ora il momento di decidere quale login manager installare. Le principali alternative sono: xdm, gdm e kdm. Sceglietene uno e procedete con l'installazione del login manager.

- Se avete scelto gdm digitate:

apt-get install gdm

- Se avete scelto xdm digitate:

apt-get install xdm

- Se avete scelto kdm digitate:

apt-get install kdm

Installazione ambiente desktop

Ora che avete installato X ed un login manager, è il momento di scegliere quale ambiente desktop volete utilizzare sulla vostra etch. Le principali alternative sono: GNOME, KDE, Xfce, FLUXBOX. Scegliete quello che preferite, e procedete con l'installazione.

- Se decidete di installare GNOME digitate:

apt-get install gnome

In questo modo, verranno installati tutti i pacchetti per l'ambiende desktop gnome.

Se invece volete una installazione minimale di gnome digitate:

apt-get install gnome-core

- Se decidete di installare KDE digitate:

apt-get install kde

In questo modo, verranno installati tutti i pacchetti per l'ambiende desktop Kde.

Se invece volete una installazione minimale di Kde digitate:

apt-get install kde-core

- Se decidete di installare Xfce digitate:

apt-get install xfce4

In questo modo, verranno installati tutti i pacchetti per l'ambiende desktop Xfce, che di default è già molto leggero.

- Se decidete di installare FLUXBOX digitate:

apt-get install fluxbox

In questo modo, verranno installati tutti i pacchetti per l'ambiende desktop Fluxbox, che sicuramente è l'ambiente desktop più leggero disponibile.

Riavvio e test installazione

A questo punto, qualunque ambiente desktop avrete scelto, tutto è installato e configurato correttamente. Riavviate la vostra etch, e se l'installazione è andata a buon fine, troverete la schermata di login, dalla quale potrete entrare nel vostro ambiente desktop e gustarvi finalmente l'ultima release stable ufficiale del progetto Debian (Etch).

Nel caso in cui, non parta X, non allarmatevi, e provate a riconfigurarlo con il comando:

dpkg-reconfigure xserver-xorg

Oppure se sapete quello che fate, aiutandovi con il log di X (/var/log/Xorg.0.log), modificate manualmente il file di configurazione di X (/etc/X11/xorg.conf).