nov
11

Uninstall programmi installati da sorgenti

 

 

 

Dopo vari esperimenti l'altra sera non riuscivo più a compilare, poichè avevo in precedenza installato da sorgenti alcune cose, che alla fin della fiera mi hanno compromesso il sistema (chiedere a toshidex :) ) perdendo il bandolo della matassa. Comunque il problema lo avevo individuato, ma dopo svariati tentativi andati a vuoto, mi sono stancato ed ho preferito reinstallare. Certo se fosse stato un problema dovuto a qualche aggiornamento giornaliero fatto, il problema lo avrei risolto semplicemente in questo modo. Ma in questo caso avendo installato con make-install, senza quindi nemmeno checkinstall,  addio tracce di tutti i file installati. Quindi questa guida serve soprattutto a me, giusto per ricordarmi che quando faccio qualche test è sempre meglio avere una lista di quello che faccio :) Per tenere traccia dei file ci sono due metodi:

Primo metodo:

# make uninstall

ma trovare un tarball che include questo è quasi come vincere al superenalotto :)

Secondo metodo:

prendere nota di tutti i file installati:

# find /* > pacchetti.prima

a questo punto eseguire il make-install

quindi prendere nota di tutti file dopo l'installazione:

# find /* > pacchetti.dopo

ottenere le differenze tra i due file usando diff:

# diff pacchetti.prima pacchetti.dopo > uninstall

iniziare la rimozione:

# for i in $(grep ">" uninstall | awk '{ print $2 }')

do

/bin/rm -fi $i;

done

a questo punto compariranno a video i file da disinstallare, e basta scrivere yes.

 

enjoy ;)

Share

Related posts:

  1. Rimuovere i pacchetti del giorno     A volte ci si spaventa accorgendosi di avere…
  2. Building Firefox 4 da sorgenti     Avendo un pò di tempo a disposizione mi…
  3. Backup veloce della propria home   Questo è un metodo velocissimo per effettuare un backup…
  4. Script per Gmail     Per scaricare la posta da Gmail io uso…
  5. Reinstallare i medesimi pacchetti   Nel caso si avesse bisogno per vari motivi di…

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

giu
06

Pulire una directory dalle informazioni del repository SVN

 

Scrivo questo piccolo articolo per appuntarmi un semplicissimo comando bash, ma che puntualmente ogni volta che mi serve me lo dimentico. Questa volta però non mi farò fregare, prima di dimenticarlo è meglio che lo scrivo…

Se vi state chiedendo quando è necessario pulire una directory dalle informazioni del repository SVN, la risposta è MAI. Solo nel caso in cui dovete giocherellare con la struttura tra diversi repository, perché state cambiando server o state spostando il vecchio repository ad un nuovo indirizzo, allora avete la necessità di ripulire il vostro progetto da tutti i file che il vecchio repository ha inserito. Questa operazione è necessaria perché se dovete spostare, ad esempio, la cartella “trunk” del vostro progetto, il nuovo repository storcerà il naso trovando già delle informazioni all’interno che non provengono da lui.

Attenzione però, questa operazione vi farà perdere tutta la vostra history del progetto e quindi partirete da zero, niente più vecchie versioni, commenti, ecc… andrà tutto perso!

Ora che siete coscienti di quello che state per fare, posizionatevi nella directory da pulire ed eseguite (nella shell ovviamente) questo comando:

find . -iname ".svn" -type d -exec rm -rf {} ;

ecco fatto! Sono sicuro che la prossima volta che mi servirà lo ricorderò e renderà questo appunto inutile, spero che possa servire a qualcun’altro.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

apr
06

I cinque comandi più utili per l amministratore Linux

 

Netstat e nmap

Quali sono i comandi più utili per un amministratore di un sistema Linux? Una risposta arriva da Linuxadminzone.com, che ha provato a mettere in fila gli strumenti più utili nella gestione quotidiana del sistema.

Escludendo quei comandi di cui non si può proprio fare a meno, come Ssh, scp e via dicendo, ecco i cinque comandi la cui utilità è ritenuta fondamentale: find/grep, netstat/nmap, screen, vi/nano/emacs, head/tail.

In ordine, i più utili sono considerati ex aequo find e grep. Il primo per la sua utilità nelle ricerche “pre intervento”, come per esempio nel trovare file di grosse dimensioni da eliminare per liberare spazio sul server (es.: find /var/log/ -type f -size +5120M -exec ls -lh {} ). Grep invece per la sua capacità di selezionare informazioni da un elenco, come per esempio elencare le directory root dei siti gestiti in Apache (grep -i documentroot /etc/httpd/conf/httpd.conf).

A ruota netstat, per conoscere lo status di un network, e nmap, per uno scanning delle porte aperte su un sistema. Da combinare eventualmente con il precedente grep per conoscere quali sono le porte aperte in ascolto su un server (es.: netstat -ant | grep LISTEN).

Ecco poi screen, che consente di svolgere operazioni diverse (come ssh) in un unico terminale, con una finestra per comando. Si digita screen e poi, tenendo premuto ctrl, si aprono digitando ac tutti i terminali che si vuole, restando però sempre dentro al terminale di partenza.

Al quarto posto un altro ex aequo con gli editor vi/vim, nano ed emacs. Per l’estensore dell’articolo vince vim, mentre per chi è meno pratico dei comandi degli editor testuali è sicuramente più facile usare nano, che consente di modificare file nel terminale senza conoscere le per altro utilissime scorciatoie di vi/vim. Emacs invece sarà sicuramente nel cuore di chi si sente a più stretto contatto con il sistema Gnu.

Last but not least, head e tail si dividono il quinto posto. Tante volte infatti ci si loga su un server giusto per dare un occhio ai file di log. Così ecco che tail consente di vedere la parte finale di un ipotetico error_log e head limita il controllo a un numero di righe iniziali decise dall’amministratore.

E ora, quali sono per voi i comandi e gli strumenti più utili? Personalmente trovo molto funzionale top per scoprire quale comando sta consumando la mia cpu, quando il pc rallenta o la ventola va a palla. E anche “ps aux | grep nomedelcomando” per trovare un’applicazione che so essere impallata e killarla.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

dic
05

Chmod ricorsivo selettivo: file o directory

 

Capita di dover sistemare i permessi di un albero di directory, i piu faciloni vi diranno di lanciare un bel:

chmod -R 777 *

che sistema tutto.
Sarebbe meglio fare un uso piu attento dei permessi e correggere separatamente quelli delle directory:

find . -type d -exec chmod 755 {} ;

e quelli dei file

find . -type f -exec chmod 644 {} ;

ATTENZIONE!!!

  • La correzione verra fatta a partira dalla directory da cui lanciate il comando.
  • Aggiustate le permissions (755 e 644 sono solo un esempio) secondo il vostro bisogno.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

set
14

MD5SUM – File integrity check sotto Linux

 

Ciao a tutti!

Oggi parliamo di integrity check sui files e di un metodo semplice semplice per realizzarla sotto Linux, grazie al comando MD5SUM.

L’integrità dei files è un aspetto che riveste importanza fondamentale! In particolare, la necessità di garantire la certezza che i propri files non siano modificati da agenti esterni e/o da software al di fuori del nostro controllo assume un ruolo determinante in diversi contesti.

Ad esempio, pensate alla possibilità di riconoscere i files modificati da un virus e/o da una backdoor. Oppure, ancora, pensate alla necessità di garantire l’integrità dei files di backup di un server, da utilizzare in caso di danneggiamento di quest’ultimo. Si potrebbero fare tanti altri esempi, ma il succo è sempre lo stesso: adottare tutte le misure per essere certi che i nostri files non siano cambiati.

Sotto Linux esiste un metodo semplicissimo per realizzare l’integrity check sui files: il comando md5sum. Per conoscerne le opzioni, basta digitare, da terminale, il comando seguente

man md5sum

L’utilizzo più semplice è il seguente:

md5sum  nomefile  >  nomefile.md5.txt

Questo comando genera l’hash MD5 dal file chiamato “nomefile” e lo inserisce nel file “nomefile.md5.txt”.

Per verificare, in seguito, che il file “nomefile” non sia stato modificato, basta digitare:

md5sum -c nomefile.md5.txt

Nella maggior parte dei casi, può essere più utile effettuare un controllo ricorsivo di tutti i files (e di tutte le sottodirectories) contenuti all’interno di una directory. Il comando md5sum non presenta una opzione per l’analisi ricorsiva delle directories, perciò bisogna chiedere aiuto al comando find. Ecco di seguito il comando da lanciare, dopo esserci posizionati nella cartella per la quale vogliamo il controllo di integrità:

find . -name ‘*’ -exec md5sum {} > file.md5.txt ;

In tal modo, facciamo si che il comando find rilevi i nomi di tutti i files all’interno della cartella corrente e che esegua (opzione exec), per ognuno di essi, il comando “md5sum nomefile >> file.md5.txt”.

Per la verifica, infine, basterà come al solito il comando “md5sum -c file.md5.txt”.

Fatto! Vi aspettavate qualcosa di più complesso? Ragazzi, non tutto ciò che è Linux, è complesso… ;)

Technorati Tags: , , , , , , , , , , ,

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

set
04

Utile lista di esempi nell’utilizzo del comando find

 

Link: http://moosesoom.blogspot.com/2009/09/esempi-utili-di-utilizzo-del-comando.html

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

set
04

Esempi (utili) di utilizzo del comando find

 
find / -type f -name *.jpg  -exec cp {} . ;find . -type f -size +10000 -exec ls -al {} ;find . -atime +1 -type f -exec mv {} TMP ; # mv files older then 1 day to dir TMPfind . -name "-F" -exec rm {} ;   # a script error created a file called -Ffind . -exec grep -i "vds admin" {} ;find . ! -name "*.Z" -exec compress -f {} ;find . -type f ! -name "*.Z" ! -name ".comment" -print | tee -a /tmp/listfind . -name *.inifind . -exec chmod 775 {} ;find . -user xuser1 -exec chown -R user2 {} ;find . -name ebtcom*find . -name mkbookfind . -exec grep PW0 {} ;find . -exec grep -i "pw0" {} ;find . -atime +6find . -atime +6 -exec ll | morefind . -atime +6 -exec ll | more ;find . -atime +6 -exec ll ;find . -atime +6 -exec ls ;find . -atime +30 -exec ls ;find . -atime +30 -exec ls ; | wc -lfind . -name auth*find . -exec grep -i plotme10 {};find . -exec grep -i plotme10 {} ;find . -ls -exec grep  PLOT_FORMAT 22  {} ;find . -print -exec grep  PLOT_FORMAT 22  {} ;find . -print -exec grep  PLOT_FORMAT  {} ;find . -print -exec grep  PLOT_FORMAT  {} ;find ./machbook -exec chown 184 {} ;find . ! -name  *.Z  -exec compress {} ;find . ! -name "*.Z" -exec compress -f {} ;find /raid/03c/ecn -xdev -type f -printfind /raid/03c/ecn -xdev -path -type f -printfind / -name .ssh* -print | tee -a ssh-stufffind . -name "*font*"find . -name hpmcad*find . -name *fnt*find . -name hp_mcad* -printfind . -grep Pld {} ;find . -exec grep Pld {} ;find . -exec grep Pld {} ;find . -exec grep PENWIDTH {} ; | morefind . -name config.profind . -name config.profind /raid -type d ".local_sd_customize" -printfind /raid -type d -name ".local_sd_customize" -printfind /raid -type d -name ".local_sd_customize" -ok cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} ;find /raid -type d -name ".local_sd_customize" -exec cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} ;find . -name xeroxreleasefind . -exec grep xeroxrelease {} ;find . -name xeroxreleasefind . -name xeroxrelease* -print 2>/dev/nullfind . -name "*release*" 2>/dev/nullfind / -name "*xerox*" 2>/dev/nullfind . -exec grep -i xeroxrelease {} ;find . -print -exec grep -i xeroxrelease {} ;find . -print -exec grep -i xeroxrelease {} ; > xeroxrel.lisfind . -exec grep -i xeroxrel {} ;find . -print -exec grep -i xeroxrel {} ;find . -print -exec grep -i xeroxrel {} ; | morefind /raid/03c/inwork -xdev -type f -print >> /raid/04d/user_scripts/prt_list.tmpfind . -exec grep  31.53  {} ;find . -ls -exec grep "31/.53" {} ; > this.lisfind . -print -exec grep "31/.53" {} ; > this.lisfind . -print -exec grep 31.53 {} ; > this.lisfind . -exec grep -i pen {} /;find . -exec grep -i pen {} ;find . -print -exec grep -i pen {} ; | morefind . -exec grep -i pen {} ;find . -atime +6 -exec ll | more ;find . -atime +6 -exec ll ;find . -atime +6 -exec ls ;find . -atime +30 -exec ls ;find . -atime +30 -exec ls ; | wc -lfind . ! -name  *.Z  -exec compress -f {} ;find . -name  cache*  -depth -exec rm {} ;find . -name  cache*  -depth -print | tee -a /tmp/cachefilesfind . -name  cache[0-9][0-9]*  -depth -print | tee -a /tmp/cachefilesfind . -name  hp_catfile   hp_catlock  -depth -print | tee -a /tmp/hp.catsfind . -name  hp_catfile  -name  hp_catlock  -depth -print | tee -a /tmp/hp.catsfind . -name  hp_cat*  -depth -print | tee -a /tmp/hp.catsfind . -name  hp_cat[fl]*  -depth -print | tee -a /tmp/hp.catsfind /raid -name  hp_cat[fl]*  -depth -printfind . ! -name  *.Z  -exec compress -f {} ;find . -name  *  -exec compress -f {} ;find . -xdev -name "wshp1*" -printfind . -xdev -name "wagoneer*" -printfind . -name "xcmd" -depth -printfind /usr/contrib/src -name "xcmd" -depth -printfind /raid -type d -name ".local_sd_customize" -exec ls {} ;find /raid -type d -name ".local_sd_customize"   -exec cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} ;

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

set
02

Configurazione default ricerche con catfish

 

Gettato da tempo tracker nel canneto (non e mai riuscito ad attirare la mia simpatia) ho ripiegato per le mie ricerche (quando non le faccio da terminale a suon di find e locate) su catfish.
Purtroppo viene impostato un default non proprio ideale:

Modalita di ricerca: find
Directory in cui viene eseguita la ricerca: /usr/share/catfish

Io avrei preferito locate e la mia home o la directory Documenti.
Ho cominciato a ravanare e ho trovato quanto segue. Lanciate il comando:

gconf-editor

e selezionate la voce:

/apps/panel/objects/object_0/launcher_location

Alla voce launcher_location trovate il nome del file utilizzato per lanciare il programma. Sul mio sistema e impostato a:

/usr/share/applications/catfish.desktop

Andiamo un po ad editare questo file, ecco come si presenta:

[Desktop Entry]
Version=1.0
Type=Application
Name=Catfish
Comment=File search
Comment[de]=Dateisuche
Comment[es]=Buscador de archivos
Comment[fi]=Etsi tiedostoja
Comment[fr]=Recherche de fichiers
Categories=GTK;Utility;Filesystem;
Exec=catfish
Icon=catfish
Terminal=false
StartupNotify=true

La linea che ci interessa e quella contenente l identificativo Exec=
Per poter eseguire le ricerche dalla nostra home utilizzando locate come metodo di ricerca, dobbiamo modificare questa linea nel modo seguente:

Exec=catfish –path=/home/utente –method=locate

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

set
01

Trova e sostituisci in MySQL

 

Ormai da aprile sono sul mio VPS, dopo aver laciato la comunque ottima AlterVista. Per rendere indolore il passaggio da lublog.altervista.org a lublog.tuttoeniente.net, ho impostato su AlterVista un .htaccess che redireziona qui tutte le richieste, dato che la struttura delle directory è rimasta intatta.

Ultimamente, però, ho notato che molte immagini non si vedevano, a causa della protezione anti-leech di AlterVista, quindi mi si è presentata la necessità di correggere tutti gli URL delle immagini nei post, un lavoro veramente enorme, ma MySQL mi è venuto incontro.

Find & replace

Ho scoperto l’esistenza della funzione REPLACE(), che fa esattamente quello che il nome suggerisce. La sintassi è la seguente:

UPDATE nome-tabella SET nome-campo = REPLACE(nome-campo,  trova-questo ,  sostituisci-con-questo );

Nel mio caso ho eseguito:

UPDATE wp_posts SET post_content = REPLACE(post_content,  lublog.altervista.org ,  lublog.tuttoeniente.net )

In 0,1384 secondi ho fatto quello che mi avrebbe richiesto come minimo mezz’ora di lavoro manuale.

Grazie MySQL!

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

apr
15

Trixbox: cannot find a valid baseurl for repo:update

 

Eseguendo il seguente comando:


yum instal php

o qualsiasi altro tentativo di installare nuovo software su un server trixbox (CentOS Linux) mi e capitato di avere questa (orrenda) risposta:


cannot find a valid baseurl for repo:update

In questo caso controllate l accesso ai server DNS. Nel mio caso il file /etc/resolv.conf conteneva come server DNS l indirizzo del mio router che in quel momento non fungeva da DNS: e bastato sostituirlo con l indirizzo di un DNS Telecom e tutto e tornato a posto.

Popularity: 3% [?]



Puoi visualizzare il post originale qui.

top