Archive for the ‘shell’ Category
Posted by:
admin (ott 19)
Ctrl + A Va all'inizio della riga che si sta digitando.
Ctrl + E Va alla fine della riga che si sta digitando.
Ctrl + L Pulisce lo schermo.
Ctrl + U Pulisce lo schermo prima del cursore. Se si è alla fine della riga, pulisce l'intera riga.
Ctrl + R Vi permette di cercare attraverso i comandi usati in precedenza.
Ctrl + C Termina qualsiasi cosa stiate facendo.
Ctrl + D Uscita dalla attuale shell.
Ctrl + Z Avvia alla sospensione in background qualsiasi cosa stiate facendo.
Ctrl + W Cancella la parola che sta prima del cursore.
Ctrl + K Pulisce la linea dopo il cursore.
Ctrl + T Inverte gli ultimi due caratteri prima del cursore.
Esc + T Inverte le ultime due parole prima del cursore.
Alt + F Muove il cursore in avanti di una parola nella riga corrente.
Alt + B Muove il cursore indietro di una parola nella riga corrente.
Tab Completa automaticamente i nomi di files e cartelle.
Ctrl + Y Incolla (come nel copia e incolla) tutto il testo davanti al cursore.
Nota : Alcuni di questi comandi non funzionano se l'accesso alla shell è via telnet, sessione SSH o se la tastiera è configuratain maniera particolare
Published in:
linux,
shell,
tips
Posted by:
admin (apr 20)
Quando installiamo spamassassin sul nostro mail server abbiamo già installato uno script utilizzabile per scaricare delle regole per migliorare la cattura delle email spam che giungono sul nostro server.
Lo script si chiama sa-update . Sotto riportiamo un semplice entry da inserire nel crontab della vostra linux box per richiamare tutti i giorni alle ore 7:00 lo script e per mantenere up to date le rules del vostro spamassassin.
0 7 * * * /usr/bin/sa-update -D –updatedir /etc/mail/spamassassin/
Ricordatevi di riavviare anche il servizio di spamassassin dopo aver effettuato l'aggiornamento col comando:
/etc/init.d/spamassassin restart
oppure
/etc/init.d/spamd restart
N.B.: Comandi e locazioni possono variare da distro a distro, ma per il sysadmin non dovrebbe essere difficile trovare la corretta posizione. In caso di difficoltà contattateci o lasciate un commento.
Published in:
linux,
shell,
spam,
tips
Posted by:
admin (mar 15)
Come per l'obsoleto windows anche nelle distribuzioni Linux, nel nostro caso prendiamo ad esempio Ubuntu è possibile aggiungere i caratteri (fonts) in maniera facile.
da terminale basta digitare il comando:
sudo nautilus /usr/share/fonts/truetype/
Ricordatevi che per ogni distribuzione si deve sostituire a nautilis il proprio file manager come ad esempio dolphin per kubuntu. Dopo aver copiato i true type fonts in questo percorso, potete anche mettere delle sub directory per meglio organizzare i vostri fonts dovete avviare il refresh della cache dei fonts col comando:
fc-cache -f -v
Il gioco è fatto, basta riaprire l'applicazione da cui vogliamo usare il fonts di nostro interesse.
Published in:
linux,
shell,
tips,
ubuntu
Posted by:
admin (gen 17)
Spesso capita di dover mettere mano a corposi file di configurazioni in cui ci possiamo arrangiare con un pugno di parametri. In questi casi possiamo rimuovere tutta la fuffa inutile semplicemente utilizzando il comando riportato sotto:
# grep -v "^#" /etc/my.conf | sed -e '/^$/d' > /etc/my_new.conf
oppure si può usare questa alternativa:
# cat /etc/my.conf | sed '/ *#/d; /^ *$/d' > /etc/my_new.conf
Ricordatevi di sovrascrivere my_new.conf al file originario dopo averne verificato il contenuto.
Published in:
linux,
shell,
tips
Posted by:
admin (set 12)
Visualizzare tutti i pacchetti rpm installati:
# rpm -qa
Eseguire una query al db rpm filtrando tutti pacchetti contenenti la stringa 'httpd':
# rpm -qa | grep httpd
Ottenere informazioni su un determinato pacchetto installato, esempio:
# rpm -qi httpd
Visualizzare la lista dei file forniti da un pacchetto installato, esempio:
# rpm -ql httpd
Visualizzare solo la lista dei file di configurazione forniti da un pacchetto installato:
# rpm -qc httpd
Ottenere informazioni sulla documentazione fornita da un pacchetto:
# rpm -qc httpd
Visualizzare la lista delle dipendenze richieste da un pacchetto:
# rpm -q httpd –whatrequires
Visualizzare le capability fornite da un pacchetto:
# rpm -q httpd –whatprovides
Visualizzare gli script avviati in fase di installazione/rimozione:
# rpm -q httpd –scripts
Visualizzare lo storico delle revisioni di pacchetto:
# rpm -q httpd –changelog
Verificare a quale pacchetto appartiene un dato file:
# rpm -qf /etc/httpd/conf/httpd.conf
Visualizzare la lista dei file forniti da un pacchetto non ancora installato:
# rpm -qp httpd-2.0.52-3.i386.rpm -l
Fedora/RedHat, firmano tutti i pacchetti con una chiave digitale privata GPG. Per importare la public-key si usa il seguente comando:
# rpm –import /media/cdrom/RPM-GPG-KEY
Per verificare l'integrità di un pacchetto, prima di procedere con l'installazione, specie se questo è stato scaricato da internet, eseguire il prossimo comando:
# rpm –checksig nome_pacchetto.rpm
Per verificare tutti i pacchetti installati sul sistema:
# rpm -qa gpg-pubkey
Installare un pacchetto binario:
# rpm -ivh nome_pacchetto.rpm
Installare un pacchetto binario ignorando le dipendenze richieste:
# rpm -ivh –nodeeps nome_pacchetto.rpm
Installare un pacchetto binario utlizzando la risoluzione automatica delle dipendenze:
# rpm -ivh –aid nome_pacchetto.rpm
Aggiornare un pacchetto senza modificarne i file di configurazione:
# rpm -U nome_pacchetto.rpm
Aggiornare un pacchetto solo se è già installato:
# rpm -F nome_pacchetto.rpm
Rimuore un pacchetto rpm:
# rpm -e nome_pacchetto
Verificare file size, permessi, tipo, owner, group, MD5 checksum e ultima modifica sul database RPM:
# rpm -V httpd
Verificare tutti i pacchetti installati sul sistema – usare con cautela, impegna il sistema in maniera estrema:
# rpm -Va
Verificare un pacchetto non installato:
# rpm -Vp httpd-2.0.52-3.i386.rpm
Questo comando permette di estrarre i files dal pacchetto per essere convertiti in un flusso cpio e quindi di estrarre gli eseguibili dal pacchetto:
# rpm2cpio httpd-2.0.52-3.i386.rpm | cpio –extract –make-directories *bin*
Installazione di un pacchetto sorgente i386.
Step 1:
# rpmbuild –rebuild nome_pacchetto.src.rpm
Step 2:
# rpm -ivh /usr/src/redhat/RPMS/i386/nome_pacchetto.rpm
Installazione di un pacchetto sorgente i386 (procedura alternativa).
Step 1:
# rpmbuild –recompile nome_pacchetto.src.rpm
Step 2:
# rpmbuild –bb /usr/src/redhat/SPECS/nome_pacchetto.spec
Step 3:
# rpm -ivh /usr/src/redhat/RPMS/i386/nome_pacchetto.rpm
Creazione di un pacchetto rpm a partire dal sorgente.
Vogliamo creare un pacchetto a partire dai sorgenti dell'applicazione example. Scarichiamo il sorgente da internet con wget:
# wget http://www.example.org/dl/example-2.0.0.tar.gz
# cp example-2.0.0.tar.gz /usr/src/redhat/SOURCE
# cd /usr/src/redhat/SOURCE
# tar xzf example-2.0.0.tar.gz
Controllare se esiste all'interno della directory scompattata il file '.spec', il quale contiene le specifiche per la creazione del binario, e copiarlo in /usr/src/redhat/SPEC:
# cp example.spec /usr/src/redhat/SPEC/example.spec
Se il file .spec non esiste può essere creato. Infine prepariamo la compilazione per la creazione del nuovo rpm:
# cd /usr/src/redhat
# rpmbuild -bb SPECS/snort.spec
Published in:
linux,
redhat,
shell,
tips
Solitamente i sistemi Linux hanno preimpostato un limite di 1024 files apribili contemporaneamente. Questo limite invero è piuttosto basso in caso di macchina con forti carichi di lavoro ed in particolare in presenza di web servers con molti domini e quindi diversi puntatori a files e logs.
Quando in fase di produzione si raggiunge e si supera questo limite avvengono spesso problemi d'inconsistenza strani. Quindi è meglio intervenire tempestivamente. Conoscendo il process-id di una nostra applicazione, (ad esempio tomcat o httpd) possiamo col comando seguende esaminare il numero di files che tale processo tiene aperti:
lsof -p [process-id] | wc -l
Dopo aver compreso minimalmente il problema possiamo intervenire col comando ulimit. Usate i comandi a seguito per avere informazioni sulle impostazioni del sistema:
ulimit -Ha
ulimit -Hs
Infine per ritoccare il valore massimo dei files apribili contemporaneamente da Linux possiamo digitare:
ulimit -n 4000
Date un'occhiata anche al manpages per avere ulteriori info sul comando e su tutte le sue opzioni:
man ulimit
Published in:
linux,
shell,
tips
Posted by:
admin (giu 23)
Se vogliamo forzare il controllo del filesystem al riavvia della nostra linux box possiamo semplicemente creare a livello della root "/" il file forcefsck:
# cd /
# touch /forcefsck
# reboot
Published in:
linux,
shell,
tips
Posted by:
admin (dic 17)
Per chi venisse da lunga esperienza dal RHEL 4.X ha sicuramente avuto a che fare col comando ext2online. Questa breve nota per ricordare che in RHEL 5.X non vi è più questo comando. Per effettuare il ridimensionamento della partizione montata è sufficiente utilizzare il comando resize2fs. Il comando riconosce autonomamente lo stato della partizione e si comporta di conseguenza. Sotto un esempio:
[root@host ~]# resize2fs /dev/mapper/VolGroup00-LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/mapper/VolGroup00-LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/mapper/VolGroup00-LogVol00 to 4923392 (4k) blocks.
The filesystem on /dev/mapper/VolGroup00-LogVol00 is now 4923392 blocks long.
Su Howto Forge un howto su come ridimensionare la partizione EXT2/3 senza perdere dati .
Published in:
linux,
shell,
tips
Posted by:
admin (dic 16)
Le partizioni EXT2 e EXT3 hanno per default il 5% dello spazio riservato all'utente root. Questa è una buona cosa per evitare che il sistema rimanga senza spazio in presenza di utenti salami intenti ad intasare il file system con amenità. Ma se la partizione in questione non necessita di tutto questo spazio riservato, come nel caso di un disco removibile o una partizione di storing/backup allora possiamo intervenire e rimuovere tale limite:
# tune2fs -m 0 /dev/sdc5
Nell'esempio viene impostato a zero lo spazio riservato al ROOT sulla partizione sdc5, sostituite sdc5 con la vostra partizione ed immediatamente avrete recuperato prezioso spazio. (non dimenticatevi di fare l'operazione da utente root, gli utenti non privilegiati non possono intervenire).
Published in:
linux,
shell,
tips
Posted by:
admin (ott 25)
Quando usiamo il comando ls possiamo visualizzare i permessi dei files nel seguente formato:
-rw-r–r– 1 user group 49296 Mar 24 2006 file.bin
Per quanto hanno la necessità di visualizzare i permessi ottali degli stessi file consiglio questo script:
ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}'
Il comando visualizza i permessi ottali + lo stile drwxr-xr-x.
Se vi soddisfa il risultato potete rendere permanete e più facile il suo utilizzo creando un alias nella shell da voi usata e parametrizzando a piacere. Per la bash dovete editare nella vostra home directory il file ~/.bashrc, dopo aver fatto logout e login potete utilizzare il comando 'l' alternativamente al classico comanto 'ls':
alias l="ls -lha –color | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(" %0o ",k);print}'"
Risultato:
600 -rw——- 1 user group 134K Apr 21 2006 mbox
Published in:
linux,
shell,
tips
Posted by:
admin (ott 22)
Per chi utilizza la potenza delle shell di Linux non sarà certamente sfuggito l'utilizzo di ssh, la potenza dello strumento si ferma soltanto quando abbiamo la necessità di scollegarci pur lasciando in esecuzione un processo lanciato dalla nostra sessione stessa. Il sistema è spietato, in caso di disconnessione tutti i processi da noi innescati vengono uccisi immediatamente. Per ovviare a questo esiste il comando screen pronto a venirci in aiuto aggiungendo un ulteriore efficenza alla shell remota della nostra linux box. Screen è un “moltiplicatore di terminali” che ci permette di gestire più terminali, “sganciare” un processo dalla sessione, e “riagganciarlo”.

- screen avvia screen e ci restituisce la nostra shell: possiamo lavorare come se nulla fosse.
- screen + NomeProgramma avvia il programma NomeProgramma all’interno di screen, come avviene con la shell.
- premendo ctrl+a e poi c all’interno di una sessione di screen andremo a creare un nuovo terminale.
- premendo ctrl+a e poi n passeremo al terminale successivo.
- premendo ctrl+a e poi p passeremo al terminale precedente.
- premendo ctrl+a e poi d “sganciano” screen dalla nostra sessione corrente, mantenendo in esecuzione i comandi pendenti. Ora possiamo terminare la nostra sessione ssh con la certezza che i nostri processi non verranno killati.
- screen -r recupera una sessione precedentemente “sganciata”.
Esempio (Aggiornamento di un sistema remoto attraverso yum):
Primo collegamento:
- ssh host.domain
- screen yum -y update
- Crtl+a
- d
- exit
Secondo Collegamento:
- ssh host.domain
- screen -r
- Se ancora in esecuzione yum ci mostrerà costa sta facendo. Se yum ha finito il suo compito ci verrà mostrato il messaggio [screen is terminating]
- exit
Published in:
linux,
shell,
tips
Posted by:
admin (ott 15)
Per avere un messaggio personalizzato di benvenuto dopo aver effettuato login attraverso ssh è sufficiente modificare il file /etc/motd.
Opzionalmente si può editare il file /etc/profile per far apparire data, uptime e altre info.
Altra opzione è quella di creare un banner per il demone sshd, tale banner verrà visualizzato prima della login. Specificando 'Banner /etc/banner' in sshd_config
Published in:
linux,
shell,
tips