LinuxovΘ noviny | ┌nor 1998 | |||
| ||||
╚as od Φasu se ukß╛e, ╛e v systΘmu urΦit² software u╛ nepot°ebujete, a ╛e byste ho cht∞li smazat, odinstalovat. V systΘmu RPM je mazßnφ balφku jednoduchΘ - staΦφ k tomu p°φkaz rpm -e <balφk>:
# rpm -e xbill # Jak vlastn∞ ru╣enφ balφk∙ probφhß? RPM nejprve zkontroluje, jestli se p°φpadn²m smazßnφm balφku neporu╣φ zßvislosti (nap°φklad smazßnφm knihovny libc by p°estaly fungovat v╣echny programy, kterΘ jsou proti nφ dynamicky linkovßny). Je-li v╣e v po°ßdku, spustφ se pre-uninstall skript tak, jak je uveden v p°φslu╣nΘm balφku. Dßle systΘm projde v╣echny soubory pat°φcφ k balφku a sma╛e je (pokud nejsou ov╣em zßrove≥ souΦßstφ jinΘho balφku). S konfiguraΦnφmi soubory je zachßzeno zvlß╣╗ opatrn∞: byl-li konfiguraΦnφ soubor od instalace balφku zm∞n∞n, RPM jej nesma╛e, ale p°ejmenuje tak, ╛e souboru p°idß koncovku .rpmsave. Co dßle rpm -e umφ?Samoz°ejm∞ jako u v∞t╣iny ostatnφch variant m∙╛eme zφskat podrobn∞j╣φ v²stup pou╛itφm p°epφnaΦe -v, resp. -vv. Dßle je mo╛nΘ p°epφnaΦem --nodeps vypnout kontrolu zßvislostφ mezi balφky (pak se ale nesmφme divit, kdy╛ n∞co nebude fungovat). P°epφnaΦ --test provede test odinstalovßnφ balφku - zkontroluje dependence a zjistφ, kterΘ soubory by smazal (p°epφnaΦem -vv lze tyto informace i zobrazit.Upgradovßnφ RPM balφk∙Upgradovßnφ je proces podobn² instalaci balφku. Rozdφl je v tom, ╛e se zßrove≥ sma╛ou p°φpadnΘ star╣φ verze tΘho╛ balφku. V podstat∞ tedy nenφ d∙vod k instalovßnφ balφku pomocφ rpm -i - pou╛ijeme-li mφsto toho upgrade, provede se sprßvnß Φinnost i v p°φpad∞, ╛e jde vlastn∞ o instalaci.Vlastnφ instalaci balφk∙ pomocφ rpm -i pou╛ijeme vφcemΘn∞ jen tehdy, kdy╛ chceme balφk nainstalovat bez toho, abychom zßrove≥ smazali p°φpadnΘ dal╣φ nainstalovanΘ verze tΘho╛ balφku. Pokud nap°φklad chceme takto mφt v systΘmu dv∞ verze libc, m∙╛eme ob∞ nainstalovat pomocφ rpm -i. V p°φpad∞, ╛e takto instalovanΘ balφky neobsahujφ spoleΦnΘ soubory, je instalace bezkonfliktnφ a naprosto v po°ßdku. V naprostΘ v∞t╣in∞ p°φpad∙ ale pro instalaci balφku staΦφ upgradovacφ p°φkaz, rpm -U. V knize Maximum RPM (Maximßlnφ otßΦky) o tom pφ╣φ:
ProΦ vlastn∞ upgradovat?Mohlo by se zdßt, ╛e upgrade je v podstat∞ odinstalovßnφ starΘho a nainstalovßnφ novΘho balφku. A ╛e tedy jedinou v²hodou rpm -U oproti rpm -e; rpm -i je to, ╛e u╣et°φme jeden p°φkaz. Nenφ tomu tak. Oproti p°edchozφm dv∞ma p°φkaz∙m se rpm -U chovß trochu jinak. Prvnφ rozdφl je v zachßzenφ s konfiguraΦnφmi soubory a druh² rozdφl je v tom, ╛e pre/post-install a pre/post-uninstall skripty umφ poznat, kdy jde o upgrade balφku a kdy jde o jeho prvnφ instalaci, resp. smazßnφ poslednφ instance balφku. Ka╛d² takov² skript dostßvß jako sv∙j prvnφ parametr Φφslo, kterΘ udßvß poΦet existujφcφch instancφ danΘho balφku v systΘmu. Takto m∙╛e nap°φklad post-uninstall skript programu squid zjistit, ╛e probφhß definitivnφ zru╣enφ tohoto balφku a smazat z /etc/passwd u╛ivatele squid. Naopak post-instalaΦnφ script m∙╛e v∞d∞t, ╛e p°i upgradu na rozdφl od instalace se nemß sna╛it inicializovat databßzi squidu v adresß°i /var/cache.Podrobn∞j╣φ popis si zaslou╛φ zachßzenφ rpm -U s konfiguraΦnφmi soubory. Jak vφme, RPM si uchovßvß o ka╛dΘm souboru (nejen konfiguraΦnφm) jeho MD5 kontrolnφ souΦet. Nynφ se v systΘmu mohou vyskytnout ke ka╛dΘmu konfiguraΦnφmu souboru t°i MD5 souΦty: prvnφ pat°φ p∙vodnφmu balφku tak, jak je v RPM databßzi, druh² pat°φ souboru, kter² je prßv∞ na disku a t°etφ pat°φ konfiguraΦnφmu souboru v nov∞ instalovanΘm RPM balφku. Pravidla pro zachßzenφ s konfiguraΦnφmi soubory jsou tato:
Co se t²Φe p°epφnaΦ∙, kterΘ rpm -U akceptuje, jsou v podstat∞ stejnΘ, jako u instalace (rpm -i). Navφc je zde p°epφnaΦ --oldpackage, kter² slou╛φ k downgradovßnφ balφk∙ (instalaci star╣φ verze ne╛ je stßvajφcφ). Tento p°epφnaΦ jist∞ vyu╛ijete, pokud budete zkou╣et pou╛φvat n∞kterΘ alfa a beta verze softwaru a pak se budete chtφt vrßtit ke stabilnφ star╣φ verzi. Do p°epφnaΦe --force je oproti instalaci balφku zahrnuta i funkce volby --oldpackage.
To je k upgradovßnφ RPM balφk∙ v╣e. V p°φ╣tφ Φßsti tohoto serißlu bude
°eΦ o zφskßvßnφ informacφ z databßze RPM.
|