Re: Curiosità su % di utilizzo della CPU
Ennio-Sr [08.03.2013 20:06 +0100]: [Uso Debian-Squeeze su GNU/Linux 2.6.32-5-686] Dall'esame di un 'ps' occasionale, vedo che l'utilizzo della 'CPU' supera il 100%! . come è possibile? . cosa mi sfugge? . sarà per questo che 'oggenc' ipiega 45-50 minuti per trasformare un .wav? (forse è un'impressione, ma in passato mi pare fosse più rapido, nonostante il processore sia sempre un Celeron da 1300MHz e abbia 524MB di RAM) Grazie dell'eventuale interesse. Un saluto a tutti, ennio [...] Il valore %CPU ottenuto dal comando ps non misura l'ammontare istantaneo del carico sul processore o sui processori ma tutt'altro. È il rapporto tra il tempo di CPU usato dal processo e il tempo totale di funzionamento del processo stesso (cioè cputime/realtime); viene espresso come una percentuale e in modo approssimato. I valori di quella colonna non si sommano tra loro per arrivare al 100% ma servono ad avere un'idea del tipo di carico rappresentato dal processo: CPU-bound per valori alti (ad esempio encoding o simulazione numerica), IO-bound per valori bassi (ad esempio un demone che dorme in attesa di input da un socket). Cordiali saluti. -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20130309224658.GA3617@alan
Re: [OT] piccolo aiuto di scripting
* On Fri, 19 Feb 2010, at 18:30 +0100, Luca Costantino wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 buona sera lista mi trovo a dover eseguire a ripetizione dei comandi, molto simili tra loro, tutti simili a questo[1] [1]cat FILE_DI_INPUT | PROGRAMMA_DI_ANALISI PAR1 PAR2 PAR3 FILE_DI_OUTPUT dove FILE_DI_INPUT e PROGRAMMA_DI_ANALISI sono parametri fissi, mentre PAR1, PAR2, PAR3 sono dei parametri che cambiano, e FILE_DI_OUTPUT è la semplice concatenazione di PAR1-PAR2 avevo pensato ad una sintassi del tipo SCRIPT par1,par2,par3 par1,par2,par3 par1,par2,par3 ... dove ogni tripletta di parametri specifica completamente una esecuzione del comando[1] Supponendo che tu abbia separato i gruppi di parametri con uno spazio e i parametri tra loro con una virgola questo è un esempio di ciclo che fa ciò che vuoi, da adattare opportunamente: - #!/bin/sh while [ $# -gt 0 ]; do parametri=$1 par1=${parametri%%,*} parametri=${parametri#*,} par2=${parametri%%,*} parametri=${parametri#*,} par3=${parametri} echo cat FILE \| mio-comando --$par1 --$par2 --$par3 \ $par1$par2 shift done - quando viene eseguito fornisce il seguente risultato: $ ./prova a1,a2,a3 b1,b2,b3 c1,c2,c3 cat FILE | mio-comando --a1 --a2 --a3 a1a2 cat FILE | mio-comando --b1 --b2 --b3 b1b2 cat FILE | mio-comando --c1 --c2 --c3 c1c2 $ Saluti. alfredo -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100219190216.ga4...@johann
Re: aiutino regular expression in sed
* On Mon, 09 Nov 2009, at 11:43 +0100, Paolo Sala wrote: Ciao a tutti, come si fa a matchare tutto fino a che non contiene opzionalmente una parola? Ho dei file di testo tipo: [...] Sample Name:909388-001 1° 1:10 [...] oppure [...] Sample Name:Std livello 3 Injection Volume: 25,0 [...] oppure [...] Sample Name: 909436-002 1:2 Injection Volume: 25,0 [...] [...] Se ho capito bene ecco un esempio: $ cat file1.tmp Sample Name:909388-001 1° 1:10 Sample Name:Std livello 3 Injection Volume: 25,0 Sample Name: 909436-002 1:2 Injection Volume: 25,0 $ cat script.sed /^Sample Name:/ { s/[ \t]*Injection.*// s/^Sample Name:[ \t]*// p } $ sed -nf script.sed file1.tmp 909388-001 1° 1:10 Std livello 3 909436-002 1:2 $ Lo script sed seleziona solo le righe che servono, ne elimina la parte finale se necessario, poi elimina la parte iniziale e poi stampa ciò che rimane, cioè uno o più campi. Sed è eseguito con l'opzione '-n' in modo da non trovare sullo standard output tutte le altre righe. Saluti, alfredo -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: rc.local si o rc.local no?
* On Fri, 16 Oct 2009, at 08:55 +0200, Luca Politti wrote: Ciao a tutti. Vorrei chiedervi una cosa riguardo all'esecuzione automatica all'avvio. Uso debian Lenny 2.6.26-2-686 e ho delle operazioni da eseguire all'avvio del sistema. Ho scoperto che esiste il file /etc/rc.local dove teoricamente si possono scrivere dei comandi e che questi verranno eseguiti durante l'avvio del sistema. Quindi ho provato a modificare il file rc.local, ad es: [...] Dopo altre ricerche ho trovato che bisognerebbe creare un collegamento allo script nella dir rc2.d, ecc... [...] In Debian ci sono due diversi rc.local: 1) /etc/init.d/rc.local Questo è fornito da Debian e serve solo a garantire l'esecuzione dell'altro rc.local scritto invece dall'utente. Nel caso in questione dovrebbe esserci nel runlevel standard (2) il seguente link: # ls -l /etc/rc2.d/S99rc.local lrwxrwxrwx 1 root root 18 2009-09-19 19:39 /etc/rc2.d/S99rc.local - ../init.d/rc.local Ciò significa che quando il sistema configura il runlevel n.2 esegue (S del link simbolico equivale a START), con numero d'ordine 99 (per ultimo) il comando: /etc/init.d/rc.local start che a sua volta, se sussistono le condizioni, esegue lo script utente al punto 2); 2) /etc/rc.local Questo è lo script che l'utente può modificare. Da notare che viene eseguito dal precedente script solo se il file che lo contiene risulta eseguibile: # ls -l /etc/rc.local -rwxr-xr-x 1 root root 307 2009-10-16 13:23 /etc/rc.local Per le configurazioni locali in fase di avvio basta quindi rendere eseguibile questo secondo file e modificarne il contenuto. Infine, per provare se tutto funziona basta eseguire: # /etc/init.d/rc.local start Running local boot scripts (/etc/rc.local). # Cordiali saluti. alfredo -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: Trasferimento file via seriale
On Friday 19 September 2008 14:56, Gianfranco Ferramosca wrote: Un saluto a tuta la lista! Devo trasferire un semplice file di testo da un dispositivo ad un pc tramite la porta seriale. Il pc ed il dispositivo sono collegati tramite un cavo nullmodem ed il protocollo utilizzato è l'Xmodem. La ricezione dev'essere automatica, non avviata dall'utente. Ho bisogno, in pratica, di una sorta di demone che resti in sacolto sulla seriale e che scarichi il file quando sente la chiamata. Ho scritto questo script bash: #!/bin/sh /usr/bin/rx --append -vvaX /home/gianfranco/file_ricevuto.dat /dev/ttyS0 /dev/ttyS0 Eseguendolo da shell ed avviando la trasmissione sul dispositivo, nella mia home viene creato un file contenente i dati letti dalla seriale. Ho modificato, quindi, il file /etc/inittab prima in questo modo: T0:23:respawn:/sbin/getty -nL -l /home/gianfranco/ricevi.sh ttyS0 9600 poi: T0:23:respawn:/home/gianfranco/ricevi.sh In entrambi i casi, la trasmissione termina correttamente, ma il file nella mia home è vuoto! Il file /var/log/syslog mi riporta questo: Sep 19 14:25:37 Gianfranco rx[2245]: [root] file_ricevuto.dat/XMODEM: 384 Bytes, 6 BPS Dal log mi sembra di capire che i dati siano stati ricevuti, ma come mai il file risulta vuoto? Salve, credo che l'opzione --append funzioni solo per il protocollo ZMODEM. Probabilmente ogni successiva istanza di rx apre il file file_ricevuto.dat in modalità di scrittura semplice anziché append così da eliminarne il contenuto. Si potrebbe usare un nome diverso per ogni file trasmesso, ottenendo una sequenza di file separati che possono essere poi riorganizzati a posteriori dallo stesso script. Cordiali saluti. alfredo -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Trasferimento file via seriale
On Friday 19 September 2008 16:11, Gianfranco Ferramosca wrote: [...] Ho provato ad utilizzare l'opzione -E per rinominare automaticamente il file, ma sembra non funzionare. Posso risolvere semplicemnete aggiungendo, ad esemiop, il comando: mv file_ricevuto.dat file1.dat al mio script? Ciò risolve il problema solo in parte. Non so quanti file al giorno o all'ora devi gestire, la tua soluzione ti lascia solo un file di margine prima di dover intervenire di nuovo. Nel caso di file di testo, questa riga risolve per ogni altra esigenza: cat file_ricevuto.dat file_completo.dat In alternativa puoi rinominare il file, stando però attento ad usare un nome sempre diverso, dipendente ad esempio dal PID del processo che lo crea e/o dall'istante della creazione, così da avere una sequenza di file separati ordinati cronologicamente, ciascuno contenente un singolo trasferimento. Saluti, alfredo -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: convertire ps in pdf
On Sunday 08 June 2008 22:40, Lucio Crusca wrote: Ciao *, ho una serie di files PostScript su un server dove non c'è ambiente grafico, vorrei convertirli tutti in formato PDF. I files .ps sono stati ottenuti con tiff2ps a partire da immagini bitmap formato A4 a 24 bit 300dpi. Ho provato ps2pdf ma i files pdf risultanti coprono solo una piccola parte delle immagini originali (mentre invece aprendo i .ps si vede che in questi l'immagine originale c'è per intero). Immagino che per qualche motivo ps2pdf decida che la risoluzione di partenza non sia 300dpi ma molto meno e decida di tagliare brutalmente quello che non ci sta su un A4 di conseguenza. Il problema è che la manpage di ps2pdf è sostanzialmente inutile... Suggerimenti? (non ditemi di scaricarli su un client, aprirli con Gimp e stamparli uno per uno su file PDF, vista la mole di lavoro vorrei evitarlo se possibile, grazie). 'ps2pdf' è un eseguibile ma in pratica si tratta solo di uno script shell che serve a semplificare l'esecuzione di 'ghostscript' in alcuni particolari casi. Le opzioni sono quelle di 'ghostscript', ma non tutte sono utili in questo caso; un sommario di quelle che possono trovare applicazione lo trovi nella documentazione, ad esempio qui: http://pages.cs.wisc.edu/~ghost/doc/AFPL/8.00/Ps2pdf.htm Alfredo -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: emacs c/c++
On Friday 23 May 2008 17:20, Alessandro Atanasio wrote: [...] ho utilizzato per molto tempo emacs per scrivere file .tex (latex) non volendo cambiare editor vorrei usare ancora emacs per editare sorgenti .c . [...] In poche parole ho bisogno di un completamento di parole nel documento. Non riesco proprio ad impostare questa cosa con emacs. Voi sapete aiutarmi? grazie Suggerirei di iniziare da questi tre comandi: Control-Meta-/ dabbrev-completion Meta-/ dabbrev-expand Meta-Tabcomplete-symbol e poi leggere il capitolo del manuale di Emacs riguardante i TAGS. Saluti. alfredo -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Bash ed esecuzione del contenuto di una variabile di ambiente
On Tuesday 04 December 2007 11:14, Homer S. wrote: [EMAIL PROTECTED]:~$ pippo=echo hello world [EMAIL PROTECTED]:~$ $pippo hello world Non funziona sempre; es.: localhost PIPPO=ls -l prova.log localhost $PIPPO ls: : No such file or directory ls: prova.log: No such file or directory credo dipenda dal tipo dei comandi e dal numero di argomenti. Io sto cercando una chiamata che funzioni sempre, indipendentemente da essi. Il problema è la redirezione dell'output. Quando la shell esegue il parsing per interpretare le linee di comando essa riconosce ed espande le varie parti in un ordine ben preciso. Il riconoscimento delle varie redirezioni viene effettuato in una fase precedente all'espansione delle variabili, sicché, quando arriva ad espandere $PIPPO, il carattere non ha più il significato che ci si aspetterebbe. Esempio: $ export PROVA= prova.tmp $ echo ciao $PROVA ciao prova.tmp $ ls prova.tmp ls: prova.tmp: No such file or directory $ Nella sezione EXPANSION del manuale di Bash trovi maggiori informazioni circa l'ordine citato. Cordiali saluti. alfredo
Re: Bash ed esecuzione del contenuto di una variabile di ambiente
On Tuesday 04 December 2007 11:14, Homer S. wrote: [EMAIL PROTECTED]:~$ pippo=echo hello world [EMAIL PROTECTED]:~$ $pippo hello world Non funziona sempre; es.: localhost PIPPO=ls -l prova.log localhost $PIPPO ls: : No such file or directory ls: prova.log: No such file or directory credo dipenda dal tipo dei comandi e dal numero di argomenti. Io sto cercando una chiamata che funzioni sempre, indipendentemente da essi. Il problema è la redirezione dell'output. Quando la shell esegue il parsing per interpretare le linee di comando essa riconosce ed espande le varie parti in un ordine ben preciso. Il riconoscimento delle varie redirezioni viene effettuato in una fase precedente all'espansione delle variabili, sicché, quando arriva ad espandere $PIPPO, il carattere non ha più il significato che ci si aspetterebbe. Esempio: $ export PROVA= prova.tmp $ echo ciao $PROVA ciao prova.tmp $ ls prova.tmp ls: prova.tmp: No such file or directory $ Nella sezione EXPANSION del manuale di Bash trovi maggiori informazioni circa l'ordine citato. Cordiali saluti. alfredo
Re: Lista dei settori costituenti un file
On Monday 26 November 2007 16:52, Premoli, Roberto wrote: Dato un file (es: /home/utente/pippo.txt) come faccio a sapere quali sono i settori fisici del disco su cui e' scritto? Su un filesystem ext2, partendo dall'inode puoi esaminare indirizzo e contenuto dei vari blocchi del file (a volte anche di un file cancellato) usando lde, Linux Disk Editor. Saluti, alfredo -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: interpretare output di top
On Monday 01 October 2007 09:03, Lucio Crusca wrote: La CPU risulta occupata per il 23.8% da processi userspace, ma facendo la somma dell'occupazione dei processi elencati si raggiunge appena il 5%. Chi sta usando il restante 18.8%? Purtroppo non è così semplice. 'Top' aggiorna i dati a intervalli regolari, ad esempio 3 o 5 secondi, usando le informazioni che il kernel mette a disposizione nel filesystem /proc. Questi intervalli di tempo, per quanto brevi, sono piuttosto lunghi per il kernel. Sommariamente si può dire che: il kernel misura il tempo in multipli di intervalli piccolissimi chiamati jiffies; quando si compila il kernel, a seconda dell'uso a cui è destinato, si può cambiare il valore di una variabile che decide quanti di questi jiffies al secondo ci saranno; nel caso di Linux essi sono 100, oppure 250 oppure 1000. Un qualsiasi processo in esecuzione sarà eseguito in parte in modalità utente e in parte in modalità kernel (ad esempio quando il processo fa una chiamata di sistema per accedere a file, ecc.). Le informazioni relative al tempo di CPU di un processo in termini di jiffies sono contenute nel file /proc/PID/stat, dove PID indica il numero che identifica il processo: il campo 14 e 15 indicano rispettivamente utime, cioè quanti jiffies in modo utente, e stime cioè quanti in modo kernel. Ad esempio per il processo 1 (init): # cat /proc/1/stat | awk '{ print $14, $15;}' 0 48 # 48 jiffies su questo sistema sono 0.192 secondi. Così pochi che 'ps', approssimando, dichiara lo 0.0%. USER PID %CPU %MEMVSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 1948 652 ?Ss 08:45 0:00 init [2] Il valore %CPU qui corrisponde al rapporto tra tempo di cpu impiegato e tempo di esecuzione del processo. Come si legge nella pagina man di 'ps': è piuttosto improbabile che la somma delle percentuali di utilizzo della CPU corrisponda esattamente al 100%. Saluti. alfredo
Re: [ot?] disabilitare campanello di sistema hardware?
On Sunday 30 September 2007 18:51, roberto nicolini wrote: Caio a tutt*. Avrei bisogno di un cosniglio per risolvere un problemino tanto innocuo quanto fastidioso: non riesco a disabilitare il campanello di sistema hardware di un PC, e nei bios non ho trovato niente. Vi spiego cosa succede: tanto sotto X che lavorando in login testuale quando do un movimento errato al cursore, tipo dare backspace se sono già all'inizio della riga, o dare invio se sono già alla fine di un file visualizzato con less, l'altoparlante interno del PC da un messaggio di errore nella forma di un bip anche abbastanza forte. In console si può eliminare il beep di sistema configurando opportunamente le opzioni della libreria readline, che Bash usa per gestire l'input-output interattivo. Il file /etc/inputrc, per l'intero sistema, o quello ~/.inputrc, per il singolo utente, devono contenere la riga: set bell-style none Per maggiori informazioni man bash e man readline. In aggiunta, nel file di configurazione di Emacs, lo stesso effetto si ottiene aggiungendo questa riga: (setq visible-bell t) Saluti. alfredo
Re: Aiuto bash (dir corrente)
On Thursday 18 January 2007 18:35, butterfly wrote: [...] mi servirebbe avere la directory corrente in una variabile. [...] come risolvereste? Ad esempio usando 'basename': $ cd /usr/local/lib/ $ CURDIR=`basename $PWD` $ echo $CURDIR lib $ alfredo -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Intestazioni top
On Tuesday 21 March 2006 14:31, Leonardo Boselli wrote: sui top ci sono diverse intestazioni per la % di tempo che impiega il processore: us sy id sono evidenti e conosciute ma ni wa hi si che cosa significano ?? (per wa ho una mezza idea: ma cosa differisce da id ?) Ciao, scrivo qui di seguito il significato di tutti: us = user sy = system Tempo trascorso ad eseguire codice in modo utente/modo kernel id = idle Tempo in cui il processore è stato libero wa = waiting Tempo trascorso ad attendere il completamento di un'operazione I/O ni = nice Tempo trascorso ad eseguire codice a bassa priorità hi = hardware interrupt si = software interrupt Tempo passato a servire un interrupt Saluti, alfredo
Re: [OT] crontab su sourceforge
On Sunday 15 January 2006 13:17, Davide Prina wrote: ho un problema con il crontab ed il simbolo %. Il comando è qualcosa del genere 59 * * * * tar -cz /tmp/a /tmp/$((`date +\%Y\%m\%d`)).tar.gz e su Debian funziona, ma su sourceforge mi genera il seguente errore: /bin/sh: line 1: \2006\01\15: syntax error: operand expected (error token is \2006\01\15) Naturalmente il comando funziona se lanciato da shell sul server di sourceforge. Ciao, da quanto vedo vuoi fare un backup dando al file un nome che contenga la data in cui esso viene creato. Non capisco perché usi $(( ... )) che serve per espandere espressioni aritmetiche (ecco perché gli manca un operando). Ad esempio: $ echo $(( 3 + 2 * 4 )) 11 $ Se vuoi semplicemente che il comando date sia eseguito e il suo risultato sostituito sulla linea di comando allora devi usare la cosiddetta command substitution (vedi la pagina man), che si ottiene in due modi: con `...` oppure con $( ... ). Se vuoi essere sicuro che la stringa con il formato della data giunga intatta al comando date puoi usare apici singoli, senza bisogno di ulteriori caratteri escape. A titolo di esempio: $ echo `date '+%Y%m%d'`.tar.gz 20060115.tar.gz $ Saluti. alfredo
Re: [OT] crontab su sourceforge
On Sunday 15 January 2006 14:51, Davide Prina wrote: [...] in realtà voglio fare un'operazione aritmetica in un altro punto, nell'esempio riportato ho accorciato il comando effettivo. In pratica voglio usare l'opzione --newer-mtime $((`date +%Y%m%d`-1)) in modo da fare dei backup incrementali prendendo le ultime modifiche. se però faccio: [...] 59 * * * * tar -cz /tmp/a /tmp/`date +'\%Y\%m\%d'`.tar.gz mi crea un file con il seguente nome \2006\01\15.tar.gz che è già un successo ;-) [...] Però ora ho un altro problema ... togliendo -1 avrei un errore ogni inizio mese. Esiste qualcosa per fare operazioni tra date in sh? Se non trovo nulla posso sempre far si che se gli ultimi due caratteri sono 0, allora li trasformo in 01 ;-) Quando nel crontab usi la linea 59 * * * * tar -cz /tmp/a /tmp/`date +'\%Y\%m\%d'`.tar.gz il carattere '\' serve a non far passare '%' a cron che lo interpreterebbe, però poi lo stesso carattere '\' viene trattato da date in modo letterale. Visto che si tratta di backup incrementali io sinceramente cambierei approccio. Uno script di backup, ad esempio in /usr/local/bin/backup.sh, è sicuramente una soluzione più completa, versatile e mantenibile di una singola linea di comando. Successivamente inserisci nel crontab il nome dello script da eseguire con i parametri opportuni. Se usi la versione GNU di tar ti consiglio di dare un'occhiata all'opzione --listed-incremental=snapshot-file. Sul manuale c'è una sezione apposita dedicata ai backup incrementali: http://www.gnu.org/software/tar/manual/index.html Saluti. alfredo
Re: configurazione postfix
On Tuesday 10 January 2006 20:03, Davide Corio wrote: Per curiosità, qual'è la tecnica migliore per eliminare fin dal principio tutte le email che arrivano ad utenti di posta non esistenti su un determinato server. O meglio...il 98% dello spam è sempre destinato ad utenti inesistenti. Esiste un modo per sgravare il server di posta evitando di processare queste email? Ciao, ti consiglio di leggere nella documentazione di Postfix la parte relativa alle regole per prevenire l'invio non autorizzato di messaggi, in particolare la regola smtpd_recipient_restrictions, in cui puoi usare il vincolo check_recipient_access tipo:nome. Saluti. alfredo
Re: Ho perso il file di status di apt
On Saturday 17 December 2005 21:43, Gollum1 wrote: mi si è corrotto il file di status di dpkg, l'ho cancellato direttamente, ma non sapendo come far ripartire apt ho provato a ricrearlo con touch... ora apt parte, ma mi dice che praticamente non ho installato niente nel sistema... come posso fare per ricreare il file di status corretto? TNX Byez Su un'installazione standard c'è uno script che viene eseguito giornalmente da cron (/etc/cron.daily/standard) e fa un backup di alcuni file importanti per il sistema. Puoi trovare una copia del file /var/lib/dpkg/status in /var/backup/dpkg.status.0, assieme agli altri backup dello stesso file eseguiti nell'ultima settimana. Saluti. alfredo
Re: Ho perso il file di status di apt
On Saturday 17 December 2005 21:43, Gollum1 wrote: mi si è corrotto il file di status di dpkg, l'ho cancellato direttamente, ma non sapendo come far ripartire apt ho provato a ricrearlo con touch... ora apt parte, ma mi dice che praticamente non ho installato niente nel sistema... come posso fare per ricreare il file di status corretto? TNX Byez Su un'installazione standard c'è uno script che viene eseguito giornalmente da cron (/etc/cron.daily/standard) che fa un backup di alcuni file importanti per il sistema. Puoi trovare una copia del file /var/lib/dpkg/status in /var/backup/dpkg.status.0, assieme ai backup dell'ultima settimana. Saluti. alfredo
Re: script di modifica file di testo
On Tuesday 13 December 2005 14:29, Le0n_84 debianized wrote: Ciao lista! avrei bisogno di modificare un file di testo sostituendo alcune parole con altre (e ci penserò con sed) e aggiungere dei commenti (quindi dei # ad inizio linea) ad alcune righe... come posso fare ad aggiungere il # alle righe che mi interessano?? una volta selezionatla riga con grep (o awk) come a dirgli aggiungi questo carattere all'inizio?? Se conosci il numero della riga a cui aggiungere il commento puoi procedere così: $ cat testo linea1 linea2 linea3 $ sed '2s/^/#/' testo linea1 #linea2 linea3 $ Saluti. alfredo
Re: [semi-OT] bsd secure level
On Sunday 11 December 2005 14:22, Pol Hallen wrote: Ciao a tutti e buona domenica, scusate per il semi OT, volevo sapere se il kernel di linux ha un qualche modulo come il secure level di bsd. Non ci sono securelevels ma c'è di meglio: SELinux, una serie di estensioni al kernel per controllare in modo dettagliato e versatile la separazione dei privilegi di accesso alle varie parti del sistema da parte di utenti e processi. Ti consiglio di leggere qui: http://www.nsa.gov/selinux/index.cfm http://www.linuxsecurity.com/content/view/120567/49/ http://www.linuxsecurity.com/content/view/120622/49/ http://www.linuxsecurity.com/content/view/120700/49/ http://www.linuxsecurity.com/content/view/120837/49/ http://www.coker.com.au/selinux/ Saluti. alfredo
Re: script bash
On Friday 18 November 2005 16:36, Andrea Barbaglia wrote: Ciao a tutti, ho un file di testo a cacchio che vorrei trasformare in file di testo con campi separati da punto e virgola. Il file ha un formato abbastanza astruso ed è fatto in questo modo: 91190 MACH HRS EARNED RN/SU 14,199.91 91190 MACH HRS EARNED RN/SU OFFSET 14,199.91 911921 CLOCK HOURS - ACTUAL 21,995.10 911922 CLOCK HOURS - OFFSET 21,995.10 911980 ABSORBED REWORK COSTSACTUAL -58,361.53 io vorrei ottenere 91190;MACH HRS EARNED RN/SU;14,199.91 91190;MACH HRS EARNED RN/SU OFFSET;14,199.91 911921;CLOCK HOURS - ACTUAL;21,995.10 911922;CLOCK HOURS - OFFSET;21,995.10 911980;ABSORBED REWORK COSTSACTUAL;-58,361.53 Ecco una bozza, prendendo spunto da questo uso delle espressioni regolari puoi variare come preferisci, in base alle tue necessità: $ cat file.txt 91190 MACH HRS EARNED - RN/SU 14,199.91 91190 MACH HRS EARNED - RN/SU OFFSET -14,199.91 911921 CLOCK HOURS -- ACTUAL 21,995.10 911922 CLOCK HOURS - - OFFSET -21,995.10 911980 ABSORBED REWORK COSTS ACTUAL --58,361.53 $ cat file.txt | sed 's/^\([0-9]\+\) /\1;/' file2.txt $ cat file2.txt 91190;MACH HRS EARNED - RN/SU 14,199.91 91190;MACH HRS EARNED - RN/SU OFFSET -14,199.91 911921;CLOCK HOURS -- ACTUAL 21,995.10 911922;CLOCK HOURS - - OFFSET -21,995.10 911980;ABSORBED REWORK COSTS ACTUAL --58,361.53 $ cat file2.txt | sed 's/\([-]\?[0-9]\+,[0-9]\+.[0-9]\+\)$/;\1/' 91190;MACH HRS EARNED - RN/SU ;14,199.91 91190;MACH HRS EARNED - RN/SU OFFSET ;-14,199.91 911921;CLOCK HOURS -- ACTUAL ;21,995.10 911922;CLOCK HOURS - - OFFSET ;-21,995.10 911980;ABSORBED REWORK COSTS ACTUAL -;-58,361.53 $ È svolto in due passaggi in modo che sia più chiaro. Dell'ultimo numero ho considerato solo l'eventuale primo segno meno (-), poi c'è ancora eventualmente da eliminare qualche spazio. Saluti. alfredo
Re: lanciare comando con privilegi di utente
On Sunday 13 November 2005 18:11, Luca wrote: ciao, sapete per caso come lanciare un comando con i privilegi di un utente normale (in pratica senza i privilegi di root!!) all'avvio? [...] Ad esempio con 'su -c comando nomeutente' # whoami root # su -c whoami alf alf # Saluti. alfredo -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [OT] Sto impazzendo con gli smtp.
On Saturday 29 October 2005 01:44, Vinz486 wrote: [...] Ho un certo numero di macchine in datacenter diversi sparsi per il mondo. Queste macchine hanno dominio X.dominio.net Poi ho uno spazio in hosting su un normale ISP con dominio www.dominio.com I dns autoritativi per dominio.net sono sulla stessa macchina che mantiene dominio.com Da quando è stato cambiato l'ISP di www.dominio.com (trasferimento di dominio e dati) le mail che partono dai x.dominio.net non arrivano più a destinazione. Le mail partivano con un mittente del dominio.com ([EMAIL PROTECTED]) ed Exim era settato per usare SMTP diretto e come mail system name: x.dominio.net A dire il vero le mail non arrivano a utenti di provider come @libero.it, @yahoo.com e tanti altri, mentre, per esempio al mio host @vinz486.com arrivano tranquillamente. Non ricevo neppure una risposta dall'SMTP destinatario (undeliverable... etc), semplicemente scompaiono nel nulla. [...] Quando configuri il dominio devi indicare quali host si occupano della posta, per questo ci sono i record MX. Per fare funzionare la posta correttamente tieni presente che nel tuo database DNS: - gli host che gestiscono la posta (MX, Mail Exchanger) devono avere un record di tipo A valido; - il nome dell'host indicato nel record MX non dovrebbe essere un alias (CNAME); - nel record MX bisognerebbe usare un nome e non un indirizzo IP; - per evitare ambiguità quando ci sono più record MX, bisognerebbe usare per ognuno un numero che indica l'ordine di preferenza; Molti server, inoltre, non accettano posta quando non esiste la possibilità di fare una ricerca DNS inversa sull'indirizzo IP dell'host che vuole inoltrare il messaggio. Accertati quindi che nel DNS i tuoi Mail Exchanger abbiano record PTR validi e contenenti i valori corretti. Verifica tutto questo usando ad esempio dig. Dopo puoi fare una prova. Dal tuo server di posta contatta uno di quei server che apparentemente rifiutano o ignorano la tua posta usando telnet sulla porta 25 (smtp). Procedi inserendo a mano i comandi SMTP (HELO, MAIL FROM:..., RCPT TO:..., DATA, ecc.) e osserva i messaggi di risposta del server nelle varie fasi. I messaggi di risposta comprendono codici di tre cifre che iniziano con 4 quando c'è un errore temporaneo o 5 quando l'errore è permanente. I controlli sul DNS da parte del server che riceve la posta possono essere molti, ad esempio esso potrebbe: 1) rifiutarla se non esiste record PTR per il client oppure se il valore indicato da tale record non corrisponde all'indirizzo IP corretto; 2) rifiutarla se l'host indicato dopo il comando SMTP HELO non ha un record di tipo A oppure MX valido; 3) rifiutarla se il dominio indicato nell'indirizzo in un comando SMTP RCPT TO: non ha un record A oppure MX valido; 4) rifiutarla se il dominio indicato nell'indirizzo in un comando SMTP MAIL FROM: non ha un record A oppure MX valido. 5) rifiutarla per eventuali blacklist, ecc. Saluti. alfredo
Re: terminali in bash
On Friday 28 October 2005 17:52, Roberto wrote: ho un scriptino in bash che lancia 3 terminali grafici: kconsole kconsole kconsole poi ad un certo punto vorrei redirezionare il contenuto di 3 file di log diversi rispettivamente a questi 3 terminali con qualcosa del genere: cat /home/pippo/log1.txt /dev/pts/1 cat /home/pippo/log2.txt /dev/pts/2 cat /home/pippo/log3.txt /dev/pts/3 Che in teoria corrispondono alle console che ho aperto prima; ma dovrei sapere a priori quali terminali (pts/n) farà partire il sistema (sulla base di quelli già aperti). Come potrei fare per individuare direttamente nello script i nomi dei terminali che ho aperto? Mi viene in mente una soluzione diversa al problema: usare konsole oppure anche xterm facendo eseguire il comando tail direttamente sul file di log che si vuole osservare. Così: [...] konsole -e tail -f /directory/log1 [...] Naturalmente in questo puoi aprire i terminali solo quando conosci i nomi dei file da visualizzare. Saluti. alfredo
Re: Informazioni su halt
On Thursday 27 October 2005 13:20, Pol Hallen wrote: [...] Ho una sarge con diversi utenti (si loggano solo da X) ed usano varie applicazioni (kmail, knode, etc.) Il sistema e' programmato per lo spegnimento automatico ad un certo orario. La domanda e': al momento dell'halt le applicazioni aperte vengono killate(!) con la possibile perdita di dati (come presumo) oppure vengono chiuse delicatamente come se si facesse click sulla X? Il runlevel 0 serve per halt mentre il 6 per reboot. Nelle directory /etc/rc0.d e /etc/rc6.d trovi tutti i link agli script che vengono eseguiti quando passi in quei runlevel, tra di essi in particolare sendsigs. Sendsigs si occupa di fermare le applicazioni degli utenti: usa il comando killall5 per inviare alle applicazioni prima un segnale SIGTERM (15) e poi, dopo cinque secondi, un segnale SIGKILL (9). Nel caso come potrei spegnere delicatamente il sistema? Potresti usare uno script di shell da avviare automaticamente con cron qualche minuto prima dello spegnimento; in esso potresti usare xmessage per fare apparire sullo schermo una finestra contenente l'avviso che il computer si spegnerà e l'invito a chiudere le applicazioni. Solo dopo lo stesso script potrebbe provvedere a inviare i segnali alle applicazioni per farle terminare. Saluti. alfredo
Re: aiuto per scriptino bash
On Tuesday 25 October 2005 11:25, elio bellini wrote: salve gente! mi servirebbe un aiuto, come posso formulare una condizione if che dice questo: se l'utente pippo esiste in /etc/passwd allora non fare niente, se non esiste fai questo comando Per esempio così: #!/bin/bash UTENTE=nome RICERCA=`getent passwd $UTENTE` if [ $RICERCA == ]; then echo $UTENTE non trovato; fi Saluti. alfredo
Re: postfix filtraggio smtp
On Friday 21 October 2005 19:17, Eutelia wrote: [...] Usando pop-before-smtp si inibisce anche il loggaggio imap?? Scusate ma di protocolli so ben poco... Grazie. No. Il tuo server POP/IMAP scrive il suo file di log da qualche parte. Il demone pop-before-smtp lo legge cercando di riconoscere al suo interno nomi e indirizzi secondo opportuni pattern e regular expression. Interagendo in questo modo non si ostacolano a vicenda. È possibile che il tuo server scriva direttamente il log in un file separato oppure che usi 'syslogd', il demone di sistema che esiste appunto per questo. Per sapere come vengono gestiti i log ti consiglio di leggere $ man syslogd $ man syslog $ man syslog.conf Saluti. alfredo
Re: log utente
On Thursday 20 October 2005 13:19, roberto wrote: ciao a tutti volevo chiedervi se e' possibile, e in che modo, sapere quante volte, e per quanto tempo ogni volta, un utente di una macchina e' stato loggato per esempio nell'ultima settimana, nelle ultime 24 ore o simili Se esiste il file '/var/log/wtmp' in cui quei dati vengono memorizzati allora puoi usare il comando 'last'. Leggi 'man last' per ulteriori informazioni. Saluti. alfredo -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: non riesco più a pingare nessuno
On Thursday 20 October 2005 20:00, WannaBe wrote: [...] Quando pingo qualcosa mi esce l'avviso: ping: sendmsg: Operation not permitted Che ho fatto? Quali sono i permessi dell'eseguibile di 'ping'? -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: postfix filtraggio smtp
On Wednesday 19 October 2005 13:49, Eutelia wrote: Non mi è chiara un ultima cosa: ma con utenti virtuali la cosa va bene lo stesso?? La mappa di accesso definita da check_client_access tipo:nome può contenere: indirizzi IP, indirizzi di reti, nomi di host e domini. Ad ogni valore corrisponde un'azione (OK, REJECT, ecc.). Postfix confronta l'indirizzo IP del client che vuole spedire la posta con i valori contenuti nella mappa e se necessario fa una ricerca inversa DNS per ottenere anche il nome di tale client. Nel caso di pop-before-smtp tutto viene gestito con gli indirizzi IP. Quando l'utente A accede al server POP/IMAP il demone aggiunge l'indirizzo IP dell'utente A alla mappa, da quel momento diventa possibile inviare posta da quell'indirizzo IP per un certo tempo (ad esempio 30 minuti). Alla scadenza del periodo stabilito il demone elimina l'indirizzo IP di A dalla mappa. Tutto qui. Saluti. alfredo
Re: postfix filtraggio smtp
On Wednesday 19 October 2005 19:58, Eutelia wrote: [...] Il problema è che all'avvio del servizio non riesco a vedere il file pop-before-smtp.db che dovrebbe essere in /etc/postfix di default... A questo punto il problema non è più concettuale ma del tutto pratico e quindi non posso fare ipotesi né aiutarti senza avere accesso diretto alla tua installazione e configurazione. Posso solo consigliarti di rileggere la documentazione e in particolare la guida che trovi qui: http://popbsmtp.sourceforge.net/quickstart.shtml Saluti. alfredo
Re: kernel e gcc
On Monday 17 October 2005 12:48, Davide Corio wrote: Domanda forse banale... Come faccio a sapere con che versione di gcc è stato compilato un determinato kernel? Semplice. $ cat /proc/version Linux version 2.6.13.3 ([EMAIL PROTECTED]) (gcc version 3.3.5 (Debian 1:3.3.5-13)) #2 Sat Oct 15 17:00:09 CEST 2005 $ Saluti. alfredo
Re: postfix filtraggio smtp
On Monday 17 October 2005 20:07, Eutelia wrote: [...] Vorrei che potessero inviare mail gli utenti autenticati con attraverso pop a chiunque. E' sufficiente [...] Quello che dici si chiama POP before SMTP. Devi fare in modo che Postfix usi una mappa di accesso di questo tipo check_client_access hash:/etc/postfix/pop-before-smtp e allo stesso tempo devi far funzionare un demone che aggiorna questa mappa in tempo reale basandosi sulle autenticazioni POP/IMAP che avvengono con successo. Un esempio di questo demone è appunto pop-before-smtp. Prova $ apt-cache show pop-before-smtp e poi leggi http://popbsmtp.sourceforge.net/ Saluti. alfredo
Re: Ethernet in parallelo
On Sunday 07 August 2005 22:56, max wrote: Ciao a tutti, ho letto da qualche parte che è possibile mettere in parallelo diverse schede ethernet per aumentare il throughput totale, ma non ricordo dove. avete qualche link da passare? Ciò che chiedi è possibile e viene chiamato in vari modi a seconda dei contesti: bonding, trunking, link aggregation. Potresti leggere Linux Ethernet Bonding Driver mini-howto, distribuito assieme ai sorgenti del kernel nel file: /usr/src/linux/Documentation/networking/bonding.txt Oppure questa pagina: http://linux-ip.net/html/ether-bonding.html e anche molte altre, facendo ulteriori ricerche con quei termini. Saluti.
Re: OT: Parole Sante?
- On Monday 20 June 2005 01:47, Vito wrote: Il fondatore del progetto OpenBSD, Theo de Raadt, si lancia in un'invettiva contro Linux, raccolta dal prestigioso Forbes Magazine: http://punto-informatico.it/p.asp?i=53540r=PI Per alcuni punti io condivido... Qualche link che credo possa interessare. Saluti. Linus compares Linux and BSDs http://os.newsforge.com/article.pl?sid=05/06/09/2128249from=rss BSD cognoscenti on Linux http://os.newsforge.com/article.pl?sid=05/06/09/2132233from=rss Eric Raymond talks about GPL and BSD licenses http://www.myfreebsd.com.br/static/raymond-20050604.html -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: catene scsi
- On Thursday 09 June 2005 11:47, Francesco Moretto wrote: Ciao a tutti, scusate l'ignoranza, ma se monto una scheda scsi per gestire un dat, come faccio a capire quale dev devo usare, di solito mi ritrovo /dev/st0, ma ho anche un controller raid scsi e non riesco a capire come ricercare le periferiche collegate Si può usare 'sg_scan' presente nel pacchetto 'sg3-utils'. Saluti. alfredo -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: cambiare runlevel
- On Friday 17 December 2004 19:49, Felipe Salvador wrote: [...] sbaglio...ho provato e non và. Ora bene o male con i runlevel studiando piano piano ci arriverò e se srcivo questa mail è solo x chiedervi...cos'è questo?: # The default runlevel. id:2:initdefault: trovato sul mio inittab adesso, la mia visione di runlevel è molto limitata (ricorda!MDK!) e non pensavo che una macchina potesse girare con X (e non solo!) a init 2. NOTA.Il PC funziona cmqe regolarmente... In tutto ci sono sei 'runlevel' utilizzati in questo modo: 0 = halt. 1 = single-user. 2-5 = multi-user. 6 = reboot. Quelli dal 2 al 5 si possono personalizzare: per esempio se ne può costruire uno con tutti i servizi attivi tranne la rete, uno senza server X, ecc. La directory /etc/init.d contiene tutti gli script di avvio/arresto dei vari servizi. Sono script di shell che accettano come parametro uno start oppure uno stop, a volte un restart. A quelli già presenti se ne possono aggiungere altri in caso di necessità particolari. Le directory /etc/rc0.d, /etc/rc1.d, ecc., contengono le informazioni su quali servizi vanno attivati per ogni runlvel. In esse si trovano un certo numero di link simbolici agli script della directory menzionata in precedenza, /etc/init.d, costruiti secondo questo schema: [S|K] Numero Nome Ad esempio K81nfs-common oppure S10portmap. La lettera S sta per start e indica che si vuole che il servizio venga avviato in quel runlevel, la lettera K sta per kill e inidica l'opposto. Il numero serve ad eseguire gli script di avvio e arresto secondo la sequenza opportuna. Quando si passa al runlevel X uno script si occupa di leggere l'opportuna directory rcX.d e di eseguire l'arresto o l'avvio dei vari servizi così come indicato e nell'ordine stabilito; questo script è /etc/init.d/rc In definitiva: si è liberi di utilizzare i runlevel da 2 a 5 come si crede e la personalizzazione si può eseguire a mano, creano i link simbolici, oppure con uno dei tanti programmi che se ne occupano in modo quasi automatico. Per ulteriori informazioni: `man init`, `man inittab`. Saluti. alfredo
Re: cambiare runlevel
- On Friday 17 December 2004 23:15, Felipe Salvador wrote: sei stato anche più chiaro del man init Alfredo!:)) Grazie! Una domanda forse sciocca, a questo punto io mi trovo più a mio agio a modificare i servizi usando ksysv ( ho provato un tempo ad usare uno script da terminale di cui non ricordo il nome...era illustrato in un howto in Debian.org ma nn era propio il massimo della semplicità)...in ksysv non vedo X come processo o forse c'è ma ha un altro nome?vorrei creare un run level sensa X è possibile? Grazie ancora! Questo dipende da come viene avviato il server X sul tuo computer. Fai il login grafico da xdm/gdm/kdm? Se è così allora troverai lo script di avvio per uno di essi e ti basterà, ad esempio, modificare S99kdm in K99kdm nella directory /etc/rcX.d per evitare che venga avviato nel runlevel X. Se vuoi, anche senza cambiare runlevel, puoi fare così (da una shell root): # /etc/init.d/kdm stop e poi quando hai finito: # /etc/init.d/kdm start Ovviamente al posto di 'kdm' inserisci il login manager che usi sul tuo sistema. Saluti! alfredo
Re: xserver su macchina senza scheda video
-- On Friday 29 October 2004 15:19, Marco Taschin wrote: Ciao a tutta la lista, ho una macchina priva di scheda video sulla quale voglio installare X per usarlo da remoto, qualcuno sa dirmi che ti di configurazione devo usare su XF86Config-4 per dirgli che non ho una scheda video? Il server X è quello che gestisce il display e quindi deve essere configurato e attivo solo sul computer dove effettivamente avviene la visualizzazione. Sulla tua workstation (chiamiamola hostA) con scheda video e monitor deve funzionare l'opportuno Xserver configurato in modo da accettare connessioni dall'host remoto (vedi `man xhost`, ecc.). Sull'host remoto (chiamiamolo hostB), quello senza monitor, fai partire il software che ti serve dicendogli dove deve visualizzare le sue finestre. La procedura consueta è questa: 1) da hostA usando SSH o telnet ti colleghi a hostB; 2) in una shell su hostB indichi qual è il tuo display con, ad esempio: $ DISPLAY=hostA:0 $ export DISPLAY 3) fai partire su hostB il software X che vuoi usare e vedi comparire le finestre sullo schermo di hostA; Se non funziona guarda bene i permessi: bisogna autorizzare l'host remoto ad aprire finestre sul tuo display locale. Saluti. alfredo