Basi di Linux – Gestione dei pacchetti RPM e installazione di un’applicazione in codice sorgente
September 21, 2007
Gestione dei pacchetti RPM e installazione di un’applicazione in codice sorgente
Adesso daremo un’occhiata a come si installa un programma sotto linux. Inizieremo con i pacchetti RPM. Definizione11: Un pacchetto RPM è un programma di installazione di un’applicazione software. Spesso un’applicazione Linux è costituita da numerosi file che devono essere installati in varie directory: il programma viene inserito nella directory /usr/bin, i file di documentazione in un’altra directory e i file di libreria in una terza directory. Inoltre l’installazione può dover modificare alcuni file di configurazione del sistema. Il pacchetto software RPM svolge automaticamente tutte queste operazioni. Se successivamente si deciderà di non volere una determinata applicazione, si potranno anche disinstallare i pacchetti per eliminare dal sistema tutti i file e le informazioni di configurazione (più o meno come accade su windows).
Proviamo a installare il pacchetto. Digitando:
[root@diamondhead /root]# rpm
si ha la lista delle opzioni per questo comando. Procuriamoci innanzitutto il pacchetto da installare, per esempio possiamo installare xlispstat, il linguaggio lisp con un modulo supplementare per le statistiche.
Intanto accertiamoci che xlispstat non sia già installato:
[root@diamondhead /root]# rpm -qi xlispstat
package xlispstat is not installed
fatto questo installiamo il pacchetto:
[root@diamondhead /root]# rpm -ivh xlispstat-3.52.18-2.i386.rpm
Preparing… ########################################### [100%]
1:xlispstat ########################################### [100%]
il pacchetto è stato installato. Il parametro i sta per install, la v sta per verify (pronuncia: verifai), e la h sta per hash (pronuncia: hash), cioè fa in modo che si veda lo stato di avanzamento dell’installazione. A questo punto proviamo a verificare i file installati:
[root@diamondhead /root]# rpm -ql xlispstat
/usr/bin/xlispstat
/usr/lib/xlispstat
/usr/lib/xlispstat/Autoload
/usr/lib/xlispstat/Autoload/_autoidx.lsp
/usr/lib/xlispstat/Autoload/bayes.fsl
/usr/lib/xlispstat/Autoload/glim.fsl
/usr/lib/xlispstat/Autoload/maximize.fsl
/usr/lib/xlispstat/Autoload/nonlin.fsl
/usr/lib/xlispstat/Autoload/oneway.fsl
/usr/lib/xlispstat/Autoload/stepper.fsl
/usr/lib/xlispstat/Data
/usr/lib/xlispstat/Data/absorbtion.lsp
…
si vedono i file installati e le relative directory. Proviamo ora a vedere le informazioni relative al pacchetto RPM:
[root@diamondhead /root]# rpm -qi xlispstat
Se si ha un pacchetto RPM da aggiornare su uno già installato basta usare l’opzione U al posto della lettera i. Ora controlliamo se effettivamente il linguaggio LISP è disponibile nel nostro sistema:
[root@diamondhead /root]# xlispstat
vediamo che siamo già dentro l’interprete. Ora usciamo con Ctrl+D. Per sapere in quale directory xlispstat è stato installato basta fare un:
[root@diamondhead /root]# which xlispstat
/usr/bin/xlispstat
questo vale ovviamente per qualsiasi programma che si trova nella variabile PATH del nostro ambiente. Se facciamo un:
[root@diamondhead /root]# which httpd
/usr/sbin/httpd
vediamo che il programma apache si trova dentro /usr/sbin/ anche se però lo script di gestione (avvio/arresto) si trova dentro /etc/rc.d/init.d/httpd.
Proviamo ora a cancellare un pacchetto RPM. Proviamo con xlispstat appena installato.
[root@diamondhead /root]# rpm -e xlispstat
come si vede non è obbligatorio specificare la versione e quant’altro. Controlliamo se l’opzione -e ha fatto il suo dovere:
[root@diamondhead /root]# rpm -qi xlispstat
package xlispstat is not installed
come volevasi dimostrare.
Ora proviamo a compilare un codice sorgente. Andiamo a vedere su internet se troviamo qualcosa. Andiamo su google e proviamo a fare una ricerca per “chkrootkit”, un applicativo che controlla eventuali virus e comandi sostituiti al nostro sistema.
(se non si trova niente)
Vi copio dentro la home directory di root l’archivio compresso chkrootkit.tar.gz.
[root@diamondhead /root]# scp chkrootkit.tar.gz 192.168.1.2:/root/.
(per tutti gi host da 2 a 13)
ora che abbiamo il nostro codice da compilare, creaimo una directory:
[root@diamondhead /root]# mkdir chkrootkit
e spostiamo l’archivio dentro la directory appena creata:
[root@diamondhead /root]# mv chkrootkit.tar.gz chkrootkit/.
ora entriamo nella directory:
[root@diamondhead /root]# cd chkrootkit/
[root@diamondhead chkrootkit]# ls
scompattiamo il tutto:
[root@diamondhead chkrootkit]# gzip -dvr chkrootkit.tar.gz
chkrootkit.tar.gz: 79.0% — replaced with chkrootkit.tar
[root@diamondhead chkrootkit]# tar xvf chkrootkit.tar
ora entriamo nella directory appena creata:
[root@diamondhead chkrootkit]# cd chkrootkit-0.35/
e diamo un’occhiata al file README:
[root@diamondhead chkrootkit-0.35]# more README
nel punto 5 c’è la fase di installazione, basta fare un make sense per compilare il programma in C e poi possiamo utilizzare l’applicativo semplicemente mandando in esecuzione chkrootkit:
[root@diamondhead chkrootkit-0.35]# make sense
[root@diamondhead chkrootkit-0.35]# ./chkrootkit
il programma inizierà a controllare il filesystem alla ricerca di eventuali virus; allo stesso tempo il programma controlla anche possibili comandi modificati da un eventuale rootkit.










Leave a Reply