Pilloline per Linux - da tenere a portata di mano

sezione dedicata ai sistemi operativi Linux

Webmin - upstart fix per Ubuntu server

Messaggio da leggereda pilovis » 20/04/2012, 18:28

Webmin e' un ottimo programma per la gestione remota dei server linux e unix, forse il migliore, ma purtroppo J. Cameroon (l' ideatore) e la sua squadra sono sempre troppo precipitosi a rilasciare nuove versioni, per cui ad ogni nuova versione, un bug viene corretto e altri tre ne vengono creati!

Nelle ultime versioni di webmin 1.580 e precedenti fino alla 1.540) c'e' un fastidioso bug che impedisce di attivare l'autostart dei servizi all'avvio (Boot system : Upstart), il problema e' riscontrabile su Ubuntu 10.04 e successive versioni.

Ecco la soluzione per risolvere il problema:

da console comandi editare il file "/lib/init/upstart-job":

sudo nano /lib/init/upstart-job

inserire subito prima della riga contenente "*)", alla fine del file, le seguenti righe di codice:

lsb-header)
$ECHO "### BEGIN INIT INFO"
$ECHO "# Provides: $JOB"
$ECHO "# Required-Start:"
$ECHO "# Required-Stop:"
$ECHO "# Should-Start:"
$ECHO "# Should-Stop:"
$ECHO "# Default-Start:"
$ECHO "# Default-Stop:"
$ECHO "# Short-Description: $JOB, converted to upstart."
$ECHO "### END INIT INFO"
;;

salvare il file cosi' modificato con "ctrl+x" e quindi dare il comando:

sudo insserv

Ora l'autostart dei servizi all'avvio deve funzionare nuovamente.
Avatar utente
pilovis
 
Messaggi: 2
Iscritto il: 10/04/2012, 15:54

Unire due schede di rete in bridge

Messaggio da leggereda root » 24/03/2013, 15:11

Un bridge di rete è un sistema per poter fare in modo che più interfacce di rete siano viste all'esterno con un unico indirizzo ip. Ecco i procedimenti necessari alla creazione di un bridge di rete in linux:

Installiamo bridge-utils:
sudo apt-get install bridge-utils

Disattiviamo tutte le interfacce di rete che vogliamo unire:
ifconfig eth0 down
ifconfig eth1 down

Realizziamo il bridge:
brctl addbr bridge

Aggiungiamo le intefacce:
brctl addif bridge eth0
brctl addif bridge eth1

Diamo alle interfacce degli indirizzi ip fittizzi:
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0

Adesso il bridge è pronto, non resta che attivarlo e trattarlo come fosse una normale interfaccia di rete, possiamo quindi dare un indirizzo ip, una netmask. Un esempio di comando è:
ifconfig bridge 192.168.0.2 netmask 255.255.255.0 up
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 390
Iscritto il: 10/04/2012, 10:55
Località: Turin

Convertire un file jpg in pdf

Messaggio da leggereda root » 24/03/2013, 15:11

Convertire un file jpg in pdf:

sudo apt-get install imagemagick

convert nomefile.jpg nomefile.pdf
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 390
Iscritto il: 10/04/2012, 10:55
Località: Turin

Scan degli IP collegati sulla rete da riga di comando

Messaggio da leggereda root » 24/03/2013, 15:12

Per vedere i PC collegati in rete locale tramite un comando shell (senza necessita' di interfaccia grafica) su Ubuntu server e desktop.

Installare il programma "nast":

sudo apt-get install nast

poi basta dare il comando:

sudo nast -i eth0 -m

per vedere tutti gli IP e MAC Address dei PC collegati alla rete locale.

Esempio:

Nast V. 0.2.0

Mapping the Lan for 255.255.255.0 subnet ... please wait

MAC address Ip address (hostname)
===========================================================
00:15:C5:74:A9:CB 192.168.1.50 (192.168.1.50) (*)
00:1E:2A:F6:C6:B0 192.168.1.1 (192.168.1.1)
78:E4:00:BD:70:F0 192.168.1.2 (192.168.1.2)
00:17:9A:5D:68:88 192.168.1.20 (192.168.1.20)
58:6D:8F:46:05:3C 192.168.1.100 (192.168.1.100)

Nota: sostituire eventualmente eth0 con la scheda di rete che si vuole utilizzare per lo scan

Oppure:

Installare il programma "nmap":

sudo apt-get install nmap

poi basta dare il comando:

sudo nmap -v -sP 192.168.1.0/24

Questo comando e' molto piu' esauriente e pinga tutti gli IP della rete per vedere se rispondono.
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 390
Iscritto il: 10/04/2012, 10:55
Località: Turin

Ricevere mail quando un file viene aperto/creato/modificato/

Messaggio da leggereda root » 24/03/2013, 15:13

Ricevere una mail quando un file viene aperto/creato/modificato/cancellato/spostato.

Su Ubuntu desktop o server:

da shell occorre prima installare i seguenti programmi:

sudo apt-get install inotify-tools iwatch

NOTA BENE: accertarsi prima di avere installato e configurato Sendmail (o Postfix) per l'invio della posta (vedere pilloline precedenti per l'installazione di Sendmail su Ubuntu).

Esempio di comando per il controllo della cartella "/home/utente" e relative sottodirectories (ricorsivo), per la creazione/caricamento di nuovi files/directories, con notifica tramite mail a miaemail@mioprovider.com:

sudo /usr/bin/iwatch -r -s -e create -m miaemail@mioprovider.com /home/utente

I parametri, oltre a "create", possono essere i seguenti (separati da una virgola):

access : file was modified
modify : file was modified
attrib : file attributes changed
close_write : file closed, after being opened in writeable mode
close_nowrite : file closed, after being opened in read-only mode
close : file closed, regardless of read/write mode
open : file was opened
moved_from : File was moved away from.
moved_to : File was moved to.
move : a file/dir within watched directory was moved
create : a file was created within watched director
delete : a file was deleted within watched directory
delete_self : the watched file was deleted
unmount : file system on which watched file exists was unmounted
q_overflow : Event queued overflowed
ignored : File was ignored
isdir : event occurred against dir
oneshot : only send event once
all_events : All events
default : close_write, create, delete, move, delete_self and move_self.

Esempio di comando per il controllo della cartella "/home/utente" e relative sottodirectories (ricorsivo), escludendo la directory "/home/utente/tmp", per controllo di files/directories nuovi, cancellati o modificati con notifica tramite mail a miaemail@mioprovider.com:

sudo /usr/bin/iwatch -r -e create,delete,modify -m miaemail@mioprovider.com -x /home/utente/tmp /home/utente

NOTA: il parametro -x /nomecartella (in questo esempio: -x /home/utente/tmp) indica la/le sottodirectories da escludere nel controllo.
_______________________________________________________________________
Se invece si vuole attivare un servizio di controllo, sempre attivo in background, con avvio in automatico all'avvio del pc/server:

editare e configurare il file "iwatch.xml":

nano /etc/iwatch/iwatch.xml

esempio per il controllo di nuovi files/directory in "/home/utente" con invio mail a "miaemail@mioprovider.com" con mittente "root@localhost" :

<?xml version="1.0" ?>
<!DOCTYPE config SYSTEM "/etc/iwatch/iwatch.dtd" >

<config>
<guard email="root@localhost" name="controllo file"/>
<watchlist>
<title>Caricamento nuovo file </title>
<contactpoint email="miaemail@mioprovider.com" name="Administrator"/>
<path type="recursive" events="create">/home/utente</path>
</watchlist>
</config>


poi occorre abilitare iwatch all'avvio editando il file "/etc/default/iwatch" e cambiando il parametro:
START_DAEMON=false
in
START_DAEMON= true
_______________________________________________________________________

Per maggiori indformazioni andare alla pagina http://iwatch.sourceforge.net/documentation.html
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 390
Iscritto il: 10/04/2012, 10:55
Località: Turin

Inviare SMS con Ubuntu tramite chiavino GSM o telefono cellu

Messaggio da leggereda root » 24/03/2013, 15:14

Semplicissimo sistema per inviare SMS da un PC o da un Server con Ubuntu (o altra distro Debian based) utilizzando un chiavino GSM USB oppure un vecchio cellulare collegato con cavo USB (per bluetooth vedi sotto).

Installare gsm-utils con il comando:

sudo apt-get install gsm-utils

collegare il chiavino USB o il telefono con cavo USB, riavviare il PC e controllare se il dispositivo viene rilevato con il comando:

sudo dmesg|grep tty

se viene rilevato dovrebbero apparire una o piu' linee contenenti i devices rilevati (ttyUSBx):

esempio:

[ 0.010000] console [tty0] enabled
[ 1.912763] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 1.913178] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[182567.667643] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
[182567.667726] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1
[182567.667818] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2
[182567.667903] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB3

NOTA: in questo caso ci sono quattro porte rilevate sul mio chiavino, con altri dispositivi le porte rilevate potrebbero essere solo due, oppure tre.
Occorre fare dei tentativi pratici per vedere qual'e' la porta che ci consente di inviare SMS (ttyUSB0 o ttyUSB1 o ttyUSB2, ecc.)

A questo punto possiamo mandare un messaggio SMS con la seguente sintassi:

gsmsendsms -C <numero del centro messaggi> -d /dev/ttyUSBx <numero di cellulare> "<messaggio di testo>"

- esempio per SIM vodafone (centro messaggi Voda: +393492000200, messaggio da inviare a: +39393534320):

sudo gsmsendsms -C +393492000200 -d /dev/ttyUSB3 +393935343201 "questo SMS e' un messaggio di prova"

- esempio per SIM TIM (centro messaggi TIM: +393359609600, messaggio da inviare a: +39393534320):

sudo gsmsendsms -C +393359609600 -d /dev/ttyUSB3 +393935343201 "questo SMS e' un messaggio di prova"

Nota: se il SMS non parte occorre fare dei tentativi pratici per vedere qual'e' la porta che ci consente di inviare SMS (ttyUSB0 o ttyUSB1 o ttyUSB2 o ttyUSB3, ecc.)
---------------------------------------------------------------------------
Collegamento cellulare a Bluetooth invece di USB

si puo' usare questo sistema per inviare SMS anche tramite cellulari collegati tramite bluetooth, basta cambiare il comando in:

gsmsendsms -C <numero del centro messaggi> -d /dev/rfcommx <numero di cellulare> "<messaggio di testo>"

NOTA: rfcommx e' il canale sul quale avete configurato il vostro telefono /es. /dev/rfcomm0
---------------------------------------------------------------------------
Se il dispositivo non viene rilevato non tutto e' perduto, si puo' utilizzare usb-modeswitch (http://www.draisberghof.de/usb_modeswitch/)

ecco una sintetica guida su come utilizzarlo:

Installazione usb-modeswitch:

sudo apt-get install usb-modeswitch
sudo apt-get install libusb-dev

verifichiamo come viene visto il dispositivo dal sistema con il comando:

sudo lsusb

esempio:

Bus 003 Device 007: ID 19d2:2000 ONDA Communication S.p.A. ZTE MF627/MF628/MF628+ HSDPA

NOTA: "ID 19d2:2000" significa DefaultVendor= 0x19d2 DefaultProduct= 0x2000 mentre la parte ZTE MF627/MF628/MF628+ ci dice qual'e' o quali sono i drivers, questi due parametri ci servono per trovare le stringe di configurazione corrette per il nostro device, all'interno dei files esempio di cui sotto.
Ci possono essere piu' configurazioni possibili per un determinato device, occorre provarle una ad una finche' non si trova quella funzionante.

occorre quindi configurare i due files seguenti per il tipo di dispositivo che troviamo con lsusb:
usb-modeswitch.conf e usb_modeswitch.rules

quindi editare i due files:

nano /etc/usb-modeswitch.conf

vedere qui per esempi: http://www.draisberghof.de/usb_mode...e_reference.txt

nano /etc/udev/rules.d/usb_modeswitch.rules

vedere qui per esempi: http://pastebin.com/download.php?i=URA0spbU

ESEMPIO:

Nel caso riportato sopra:
Bus 003 Device 007: ID 19d2:2000 ONDA Communication S.p.A. ZTE MF627/MF628/MF628+ HSDPA

verificando sui files di esempio, ho trovato le strighe per il modello:
MF628+ con Vendor=0x19d2 e Product=0x2000

quindi inserisco in /etc/usb-modeswitch.conf:

########################################################
# ZTE MF622 (aka "Onda MDC502HS")
# ZTE MF626
# ZTE MF628+ (tested version from Telia / Sweden)
# ZTE MF633
# ZTE MF636 (aka "Telstra / BigPond 7.2 Mobile Card")
# ZTE MF637
# and probably others not listed here
#
# Contributor: Joakim Wennergren and others

DefaultVendor= 0x19d2
DefaultProduct= 0x2000

TargetVendor= 0x19d2
TargetProduct= 0x0031

MessageContent="5553424312345678000000000000061e000000000000000000000000000000"
MessageContent2="5553424312345679000000000000061b000000020000000000000000000000"

NeedResponse=1

e in /etc/udev/rules.d/usb_modeswitch.rules:

########################################################
# ZTE MF628+ (tested version from Telia / Sweden)
# ZTE MF626
# ZTE MF636 (aka "Telstra / BigPond 7.2 Mobile Card")
#
# Contributor: Joakim Wennergren
# only for reference
# MessageEndpoint=0x01
# if that command doesn't work, try the other ("eject")
# Vendor:Product id = 0x19d2:0x2000
SUBSYSTEM=="usb", SYSFS{idVendor}=="19d2", SYSFS{idProduct}=="2000", RUN+="/usr/sbin/usb_modeswitch --default-vendor 0x19d2 --default-product 0x2000 --message-content $

salvare, riavviare il PC e controllare se ora il dispositivo viene rilevato utilizzando il comando:

sudo dmesg|grep tty

Ci possono essere piu' configurazioni possibili per un determinato device, occorre provarle una ad una finche' non si trova quella funzionante.

----------------------------------------------------
Una piccola nota polemica su Linux:
Questa guida, come tutte le altre, deriva da moltissime prove e giorni interi passati a cercare in rete tra moltissime guide "schifezza", ufficiali e non, tutte incomplete e piene di errori.
Purtroppo i programmatori Linux sono tanto bravi a scrivere linee di codice, quanto incapaci di scrivere guide di istruzione un minimo decenti!
I programmatori di gsm-utils non si sono nemmeno sforzati di fare una piccola guida di utilizzo, nemmeno esiste un sito di riferimento, e' gia' tanto se c'e' un --help collegato ai comandi!

NOTE: il pacchetto gsm_utils contiene una serie di comandi per gestire dispositivi GSM da riga di comando, ma dalle prove che ho effettuato su 4 PC diversi con Ubuntu server 9.04, Ubuntu server 10.04 e Ubuntu desktop 10.04, posso dire che solo il comando "gsmsendsms" funziona (...abbastanza), tutti gli altri comandi presenti nel pacchetto non funzionano e danno errori vari di programmazione (tipico esempio di programmazione da ricottari).
Ho provato anche a installare a mano, da pacchetto tar.gz l'ultima versione con le patch, successivamente anche la versione apposita per Debian fornita da Freeswitch come add-on e anche tutte le (poche) patch casalinghe trovate sparse per la rete, ma non cambia assolutamente nulla.

Ecco una lista di modelli, supportati e non, che ho testato con il comando gsmsendsms:

Chiavino USB huawei E172: non funziona (BUG irrisolto)
Telefono LG 8330 con cavo dati USB: funziona, invia il SMS correttamente ma da un errore (BUG)
Scheda pcmcia express Vodafone Option GE0201: funziona
Chiavino Onda MT505UP: funziona
Telefono/chiavino Wind MyWave SW006: funziona, invia il SMS correttamente ma da un errore (BUG)
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 390
Iscritto il: 10/04/2012, 10:55
Località: Turin

programmi utili da shell

Messaggio da leggereda root » 24/03/2013, 15:15

Ecco come visualizzare in tempo reale la banda utilizzata (LAN e Internet) in tempo reale da una shell con visualizzazione testuale e grafica a barre.

Installiamo il comando:

sudo apt-get install iftop

poi per vedere i grafici lanciamo:

sudo iftop


Altri comandi grafici da shell molto utili:

- TOP GRAFICO:

sudo apt-get install htop

sudo htop



- CONTROLLO PORTE E BANDA:

sudo apt-get install iptraf

sudo iptraf



- FILE MANAGER:

sudo apt-get install mc

sudo mc



- BROWSER TESTUALE:

sudo apt-get install elinks

sudo elinks
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 390
Iscritto il: 10/04/2012, 10:55
Località: Turin

Convertire un file jpg in pdf

Messaggio da leggereda root » 05/07/2013, 14:33

Convertire un file jpg in pdf:

sudo apt-get install imagemagick

convert nomefile.jpg nomefile.pdf
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 390
Iscritto il: 10/04/2012, 10:55
Località: Turin

Re: Pilloline per Linux - da tenere a portata di mano

Messaggio da leggereda root » 11/10/2014, 6:28

Installare OCR su Ubuntu

il programma che fa il OCR e' "tesseract"

per installarlo:

sudo apt-get install libpng12-dev
sudo apt-get install libjpeg62-dev
sudo apt-get install zlib1g
sudo apt-get install zlib1g-dev
sudo apt-get install imagemagick
sudo apt-get install libtiff4-dev
sudo apt-get install tesseract\*


installiamo anche leptonica:

wget http://www.leptonica.org/source/leptonica-1.71.tar.gz
tar -zxvf leptonica-1.71.tar.gz
cd leptonica-1.71
./configure
make
sudo make install

--------------------------------------------------------------------------------------
per convertire un file da immagine TIFF in file ascii di testo dare il comando:

tesseract nomefile.tif nomefiletesto -l ita

verra' generato un file di nome "nomefiletesto.txt" con il testo estratto dal file origine "nomefile.tif"

NOTA: il programma funziona molto meglio con immagini in scala di grigi

Per fare una scansione per un testo in Inglese:

tesseract nomefile.tif nomefiletesto -l eng

(sono disponibili altre lingue di default)

Per convertire un'immagine da .ipg a .tif (usando Imagemagick appena installato)

convert text_image.jpg text_image.tif

Per convertire un'immagine TIFF a colori in scala di grigi:

convert fileinput.tif -colorspace Gray fileoutput.tif
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 390
Iscritto il: 10/04/2012, 10:55
Località: Turin

Precedente

Torna a Linux

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron