[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]
Con la sigla RPM si identificano i pacchetti realizzati secondo uno standard definito da Red Hat (Red Hat package manager), i cui archivi hanno l'estensione .rpm
. Oltre alla distribuzione Red Hat (e alle sue derivate), anche altre distribuzioni utilizzano questo formato.
Per poter gestire tale formato occorre il programma rpm.
Per comprendere l'utilizzo del programma rpm, quando la propria distribuzione è organizzata secondo questo standard, vengono proposti alcuni esempi, senza entrare nel dettaglio della sua sintassi. Per maggiori informazioni conviene consultare la pagina di manuale rpm(8), oppure, per ottenere uno schema sintattico stringato basta avviare il programma stesso senza argomenti.
|
|
|
|
|
|
Alle volte, quando si installano o si vogliono eliminare dei pacchetti si incontrano dei problemi, perché il programma rpm impedisce di fare ciò che potrebbe essere dannoso e sembra originato a causa di un errore. A questo proposito vale la pena di conoscere alcune opzioni speciali.
|
La creazione di pacchetti archiviati in formato RPM può essere una procedura complessa e delicata, quando si fanno le cose seriamente, cioè quando si vuole costruire un archivio da distribuire attraverso i canali ufficiali. Per distribuire un applicativo in forma binaria, occorre affiancargli un pacchetto SRPM (sorgente), ovvero un archivio contenente i sorgenti originali (intatti), assieme a tutta la procedura necessaria per applicare le modifiche, compilare il risultato e installarlo correttamente. In questa sezione si vuole mostrare il procedimento minimo necessario a creare un archivio RPM «binario» per scopi personali, senza che questo sia affiancato effettivamente da un archivio contenente i sorgenti.
Per creare un archivio RPM a partire da file già installati da qualche parte nel proprio file system, si utilizza il programma rpm con la sintassi seguente:
rpm -bb file_spec |
Il file indicato come argomento contiene le informazioni necessarie a recuperare le directory e i singoli file che si vogliono raccogliere nell'archivio, assieme a una descrizione adeguata. Il file indicato come argomento si compone con una sintassi piuttosto semplice, che conviene vedere direttamente in un esempio.
Si suppone di avere predisposto un applicativo in forma binaria collocato a partire dalla directory /opt/prova/
, che utilizza anche il file di configurazione /etc/prova.conf
. Le specifiche del pacchetto che si vuole creare potrebbero essere messe nel file /tmp/prova.spec
, mostrato sotto.
|
Come si vede dall'esempio, alcune direttive sono fatte per utilizzare una sola riga, altre, quelle che iniziano con il simbolo di percentuale, si articolano nelle righe sottostanti. Vale la pena di osservare che il campo Copyright: viene usato in modo differente dalle distribuzioni: la Red Hat pone una definizione che serve a capire rapidamente il genere di condizioni che pone la licenza d'uso, mentre altre mettono il titolare dei diritti del software. In questo caso, si immagina che si tratti di un lavoro che per qualche ragione non può essere distribuito.
Si osservi l'elenco che segue la direttiva %files: rappresenta i file singoli e le directory intere che devono essere raccolte nell'archivio da generare.
Prima di creare l'archivio, è necessario che la gerarchia /usr/src/redhat/
sia pronta; per quanto riguarda l'architettura i386, è necessario che esista anche la directory relativa agli archivi che vengono generati per questa, cioè: /usr/src/redhat/RPMS/i386/
. Se manca, occorre crearla manualmente.
#
rpm -bb /tmp/prova.spec
[Invio]
Quello che si vede è il comando necessario ad avviare la creazione dell'archivio Prova-1.0-1.i386.rpm
, che viene collocato automaticamente nella directory /usr/src/redhat/RPMS/i386/
. Per verificare che il proprio lavoro sia stato concluso con successo, si può indagare sul contenuto dell'archivio appena creato nel modo seguente:
#
rpm -qpli /usr/src/redhat/RPMS/i386/Prova-1.0-1.i386.rpm
[Invio]
Name : Prova Distribution: (none) Version : 1.0 Vendor: (none) Release : 1 Build Date: mar 12 gen 1999 08:50:42 CET Install date: (not installed) Build Host: dinkel.brot.dg Group : Applications Source RPM: Prova-1.0-1.src.rpm Size : 32074 Packager : Tizio Tizi <tizio@dinkel.brot.dg> Summary : Binari di prova. Description : Pacchetto applicativo di prova per le mie prove...:-) /etc/prova.conf /opt/prova /opt/prova/... /opt/prova/... /opt/prova/... |
Prima di concludere, è bene tenere presente che se ciò che si impacchetta non dipende dalla piattaforma, come nel caso della documentazione, conviene modificare l'estensione del file ottenuto da .i386.rpm
a .noarch.rpm
.
Red Hat Package Manager
Donnie Barnes, RPM HOWTO
<http://www.linux.org/docs/ldp/howto/HOWTO-INDEX/howtos.html>
Appunti di informatica libera 2006.01.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>, <daniele·giacomini (ad) poste·it>
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome pacchetti_rpm.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico]
Static Wikipedia
(no
images)
aa
- ab
- af
- ak
- als
- am
- an
- ang
- ar
- arc
- as
- ast
- av
- ay
- az
- ba
- bar
- bat_smg
- bcl
- be
- be_x_old
- bg
- bh
- bi
- bm
- bn
- bo
- bpy
- br
- bs
- bug
- bxr
- ca
- cbk_zam
- cdo
- ce
- ceb
- ch
- cho
- chr
- chy
- co
- cr
- crh
- cs
- csb
- cu
- cv
- cy
- da
- de
- diq
- dsb
- dv
- dz
- ee
- el
- eml
- en
- eo
- es
- et
- eu
- ext
- fa
- ff
- fi
- fiu_vro
- fj
- fo
- fr
- frp
- fur
- fy
- ga
- gan
- gd
- gl
- glk
- gn
- got
- gu
- gv
- ha
- hak
- haw
- he
- hi
- hif
- ho
- hr
- hsb
- ht
- hu
- hy
- hz
- ia
- id
- ie
- ig
- ii
- ik
- ilo
- io
- is
- it
- iu
- ja
- jbo
- jv
- ka
- kaa
- kab
- kg
- ki
- kj
- kk
- kl
- km
- kn
- ko
- kr
- ks
- ksh
- ku
- kv
- kw
- ky
- la
- lad
- lb
- lbe
- lg
- li
- lij
- lmo
- ln
- lo
- lt
- lv
- map_bms
- mdf
- mg
- mh
- mi
- mk
- ml
- mn
- mo
- mr
- mt
- mus
- my
- myv
- mzn
- na
- nah
- nap
- nds
- nds_nl
- ne
- new
- ng
- nl
- nn
- no
- nov
- nrm
- nv
- ny
- oc
- om
- or
- os
- pa
- pag
- pam
- pap
- pdc
- pi
- pih
- pl
- pms
- ps
- pt
- qu
- quality
- rm
- rmy
- rn
- ro
- roa_rup
- roa_tara
- ru
- rw
- sa
- sah
- sc
- scn
- sco
- sd
- se
- sg
- sh
- si
- simple
- sk
- sl
- sm
- sn
- so
- sr
- srn
- ss
- st
- stq
- su
- sv
- sw
- szl
- ta
- te
- tet
- tg
- th
- ti
- tk
- tl
- tlh
- tn
- to
- tpi
- tr
- ts
- tt
- tum
- tw
- ty
- udm
- ug
- uk
- ur
- uz
- ve
- vec
- vi
- vls
- vo
- wa
- war
- wo
- wuu
- xal
- xh
- yi
- yo
- za
- zea
- zh
- zh_classical
- zh_min_nan
- zh_yue
- zu
-
Static Wikipedia 2007 (no
images)
aa
- ab
- af
- ak
- als
- am
- an
- ang
- ar
- arc
- as
- ast
- av
- ay
- az
- ba
- bar
- bat_smg
- bcl
- be
- be_x_old
- bg
- bh
- bi
- bm
- bn
- bo
- bpy
- br
- bs
- bug
- bxr
- ca
- cbk_zam
- cdo
- ce
- ceb
- ch
- cho
- chr
- chy
- co
- cr
- crh
- cs
- csb
- cu
- cv
- cy
- da
- de
- diq
- dsb
- dv
- dz
- ee
- el
- eml
- en
- eo
- es
- et
- eu
- ext
- fa
- ff
- fi
- fiu_vro
- fj
- fo
- fr
- frp
- fur
- fy
- ga
- gan
- gd
- gl
- glk
- gn
- got
- gu
- gv
- ha
- hak
- haw
- he
- hi
- hif
- ho
- hr
- hsb
- ht
- hu
- hy
- hz
- ia
- id
- ie
- ig
- ii
- ik
- ilo
- io
- is
- it
- iu
- ja
- jbo
- jv
- ka
- kaa
- kab
- kg
- ki
- kj
- kk
- kl
- km
- kn
- ko
- kr
- ks
- ksh
- ku
- kv
- kw
- ky
- la
- lad
- lb
- lbe
- lg
- li
- lij
- lmo
- ln
- lo
- lt
- lv
- map_bms
- mdf
- mg
- mh
- mi
- mk
- ml
- mn
- mo
- mr
- mt
- mus
- my
- myv
- mzn
- na
- nah
- nap
- nds
- nds_nl
- ne
- new
- ng
- nl
- nn
- no
- nov
- nrm
- nv
- ny
- oc
- om
- or
- os
- pa
- pag
- pam
- pap
- pdc
- pi
- pih
- pl
- pms
- ps
- pt
- qu
- quality
- rm
- rmy
- rn
- ro
- roa_rup
- roa_tara
- ru
- rw
- sa
- sah
- sc
- scn
- sco
- sd
- se
- sg
- sh
- si
- simple
- sk
- sl
- sm
- sn
- so
- sr
- srn
- ss
- st
- stq
- su
- sv
- sw
- szl
- ta
- te
- tet
- tg
- th
- ti
- tk
- tl
- tlh
- tn
- to
- tpi
- tr
- ts
- tt
- tum
- tw
- ty
- udm
- ug
- uk
- ur
- uz
- ve
- vec
- vi
- vls
- vo
- wa
- war
- wo
- wuu
- xal
- xh
- yi
- yo
- za
- zea
- zh
- zh_classical
- zh_min_nan
- zh_yue
- zu
-
Static Wikipedia 2006 (no
images)
aa
- ab
- af
- ak
- als
- am
- an
- ang
- ar
- arc
- as
- ast
- av
- ay
- az
- ba
- bar
- bat_smg
- bcl
- be
- be_x_old
- bg
- bh
- bi
- bm
- bn
- bo
- bpy
- br
- bs
- bug
- bxr
- ca
- cbk_zam
- cdo
- ce
- ceb
- ch
- cho
- chr
- chy
- co
- cr
- crh
- cs
- csb
- cu
- cv
- cy
- da
- de
- diq
- dsb
- dv
- dz
- ee
- el
- eml
- eo
- es
- et
- eu
- ext
- fa
- ff
- fi
- fiu_vro
- fj
- fo
- fr
- frp
- fur
- fy
- ga
- gan
- gd
- gl
- glk
- gn
- got
- gu
- gv
- ha
- hak
- haw
- he
- hi
- hif
- ho
- hr
- hsb
- ht
- hu
- hy
- hz
- ia
- id
- ie
- ig
- ii
- ik
- ilo
- io
- is
- it
- iu
- ja
- jbo
- jv
- ka
- kaa
- kab
- kg
- ki
- kj
- kk
- kl
- km
- kn
- ko
- kr
- ks
- ksh
- ku
- kv
- kw
- ky
- la
- lad
- lb
- lbe
- lg
- li
- lij
- lmo
- ln
- lo
- lt
- lv
- map_bms
- mdf
- mg
- mh
- mi
- mk
- ml
- mn
- mo
- mr
- mt
- mus
- my
- myv
- mzn
- na
- nah
- nap
- nds
- nds_nl
- ne
- new
- ng
- nl
- nn
- no
- nov
- nrm
- nv
- ny
- oc
- om
- or
- os
- pa
- pag
- pam
- pap
- pdc
- pi
- pih
- pl
- pms
- ps
- pt
- qu
- quality
- rm
- rmy
- rn
- ro
- roa_rup
- roa_tara
- ru
- rw
- sa
- sah
- sc
- scn
- sco
- sd
- se
- sg
- sh
- si
- simple
- sk
- sl
- sm
- sn
- so
- sr
- srn
- ss
- st
- stq
- su
- sv
- sw
- szl
- ta
- te
- tet
- tg
- th
- ti
- tk
- tl
- tlh
- tn
- to
- tpi
- tr
- ts
- tt
- tum
- tw
- ty
- udm
- ug
- uk
- ur
- uz
- ve
- vec
- vi
- vls
- vo
- wa
- war
- wo
- wuu
- xal
- xh
- yi
- yo
- za
- zea
- zh
- zh_classical
- zh_min_nan
- zh_yue
- zu
Static Wikipedia February 2008 (no images)
aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu