|
Questo documento è disponibile in: English Français Italiano |
Gestione Semplificata del PacchettoPremessa:
In molti consideano
Linux come un semplice OS, ma a causa della gestione del suo pacchetto
software, non è così semplice come Windows. Quando ho cominciato ad
usarlo, ho provato a cercare files simili a setup.exe in Windows. Inoltre,
quando usavo RPM, ero preoccupato per l'"inferno delle dipendenze" che mi
richiedeva di installare altri pacchetti per soddisfare le dipendenze.
Ora, grazie al lavoro eccellente di tanti entusiasti di risorse aperte, è
possibile trovare una strada migliore dello stile CNR (click and run) di
Windows per gestire i pacchetti software. Questo articolo vi introdurrà
gli strumenti YUM ed APT-GET, per l'acquisizione del pacchetto software ed
altri strumenti per lavorarci. Sarà anche menzionato il pacchetto
gestionale per la distribuzione specifica.
|
Ci sono generalmente due tipi di programmi in Linux, esecutivi binari e scripts. Piccoli scripts non hanno bisogno di essere installati per essere avviati. Gli scripts sono testi semplici, che cercano per i corrispettivi interpreti nel campo dei PATH. Distribuire piccoli scripts è molto facile, basta copiarli. Quindi in quest'articolo, software si riferisce a scripts complessi ed esecutivi binari.
Poichè la maggiorparte dei software Linux sono risorse- aperte, sono distribuiti come codici di risorsa. In generale, il codice di risorsa è contenuto in un archivio complesso tar.gz o tar.bz2 con lo script configure. Lo script basilare configure raccoglie le informazioni del sistema, quali librerie e files principali necessari per compilare il programma, per generare un Makefile. Dopo di che il compilatore compilerà il codice di risorsa basandosi sulle regole base definite in Makefile. Generalmente, c'è una regola chiamata install che copia i files generati nella destinazione.
Il metodo del codice di risorsa è, per i novizi, il più difficile per installare i software su Linux. Quando ero un novizio, ho sempre incontrato problemi, quali insufficienza di librerie o mancanza di alcune path. Ed un novellino di solito non conosce il significato degli errori riportato. Ed ovviamente non possiede la conoscenza per risolvere tali errori. Per esempio, l'errore più grande che ho commesso è stato di estrarre il codice di risorsa su una partizione FAT32 in cui i links simbolici non erano supportati. Infatti, non è facile rimuovere il software se non ci sono regole per disinstallarlo in Makefile e se durante la configurazione non è stata specificata la destinazione per poter separare il programma dal resto del sistema. A causa di tutte queste difficoltà, alcune persone hanno creato dei pacchetti che contengono binari per l'installazione diretta.
Un famoso esempio di pacchetti binari sono RPM e DEB. Essi provvedono un sistema molto semlice per installare, aggiornare e disinstallare i pacchetti. Ma ci sono comunque dei problemi. Prendiamo ad esempio RPM. Il problema delle dipendenze è un incubo. A volte trovo così difficile soddisfare il controllo della dipendenza - mi ritrovo in un cerchio oppure ci sono troppi pacchetti che devono essere installati separatemente.
Quindi vogliamo qualcosa che possa sostenere ogni problema relativo nella gestione del pacchetto, dall'acquisizione ed installazione fino all'aggiornamento e rimozione. Linux è un OS altamente network-orientato. Basta solo connettere il computer ad Internet. Per poi richiedere ai managers del il proprio pacchetto di occuparsi di tutto. YUM ed APT-GET mi fanno pensare che la gestione del pacchetto in Linux sia più facile che in Windows. Quest'articolo si focalizzerà soprattutto sull'uso di YUM su Fedora Core piuttosto che su apt-get, in quanto yum su FC rappresenta una novità rispetto a apt-get, che è invece stato sviluppato qualche tempo fa.
Il resto dell'articolo è organizzato come segue: spiegherò prima il termine repositories, che sarà menzionato spesso in quest'articolo. Poi comincerò una sezione in cui parlerò di using YUM in Red Hat/Fedora Core. Introdurrò tre metodi per importare le repositories (collezioni di pacchetti): Installing a rpm package that contains everything, Editing /etc/yum.conf and importing the GPG key e Creating a new file in the directory /etc/yum.repos.d corresponding to the repository and importing its GPG key. Questa sezione conterrà anche informazioni su other repositories e YUM Plug-ins. Un example su come usare YUM sarà fornito alla fine di questa sezione. Dopo questa sezione introdurròhow to use APT-GET on Red Hat/Fedora Core. Ci sono molti strumenti GUIed YUM disponibili che possono aiutare a gestire i vostri pacchetti più facilmente. Due di questi sono discussi in GUIed YUM. E dopo un piccolo accenno a APT-GET on Debian and derivatives, c'è una dimostrazione di Synaptic. Package management tools provided by Fedora Core 5 saranno discussi alla fine.
Quest'articolo vi introdurrà diversi metodi per usare gli strumenti della gestione del pacchetto per ottenere poi softwares da Internet e gestirli. Un luogo in cui poter ottenere dei pacchetti è definito repository. La vostra distribuzione probabilmente provvede delle collezioni di pacchetti. Ma potrebbero non contenere tutti i software disponibili che possono lavorare nella vostra distribuzione. Alcuni volontari amano "impacchettare" i software per la vostra distribuzione. Se volete usare un tale software, dovrete aggiungere quegli URLs dei volontari nella vostra lista della collezione. Inoltre, la vostra distribuzione potrebbe avere molte copie della collezione. Se volete incrementare la velocità di download, dovrete aggiungere manualmente una copia nella vostra lista della collezione.
Ho usato YUM solo su Fedora Core 2, 4 e 5. Le stesse distribuzioni hanno
provveduto coniature del software YUM.
Ci sono generalmente 3 metodi
per aggiungere le collezioni di pacchetti:
Voglio dimostrare qui come aggiungere due famose addizionali coniature
di pacchetti, freshrpms and linva, attraverso un archivio rpm. Seguite
solo i comandi validi per Fedora Core 5. Se state usando un distribuzione
diversa, andate su ayo.freshrpms.net e rpm.livna.org per trovare i nuclei rpm corrispondenti
alla vostra distribuzione. Sono localizzati ad indirizzi simili.
Type
rpm -ivh http://ayo.freshrpms.net/fedora/linux/5/i386/RPMS.freshrpms/freshrpms-release-1.1-1.fc.noarch.rpm rpm -ivh http://rpm.livna.org/fedora/5/i386/livna-release-5-4.noarch.rpmIl suddetto comando aggiungerà freshrpms e livna nella vostra lista di collezioni.
Ci sono altri modi disponibili per aggiungere collezioni YUM. Uno è quello di aggiungere le informazioni della collezione a /etc/yum.conf. http://svn.rpmforge.net/svn/trunk/rpms/yum/ per esempio. Dovete solo aggiungere le informazioni sulla collezione provenienti dagli esempi al vostro /etc/yum.conf.
Un altro modo è quello di creare i files appropriati nell'indice /etc/yum.repos.d. Tale indice contiene i seguenti files sul mio compiuter:
[root@orioleQ yum.repos.d]# ls dries.repo fedora-legacy.repo livna.repo fedora-core.repo fedora-updates.repo livna.repo~ fedora-development.repo fedora-updates-testing.repo livna-testing.repo fedora-extras-development.repo freshrpms.repo fedora-extras.repo livna-devel.repo
Prendiamo dries.repo ad esempio. Create un file
/etc/yum.repos.d/dries.repo
ed inserite le seguenti linee in tale file:
[dries] name=Extra Fedora rpms dries - $releasever - $basearch baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/linux/$releasever/$basearch/dries/RPMS/ enabled=0 gpgcheck=1Notate che la voce "enabled" è selezionata su "0" (off) in questo file in modo tale che le collezioni dries non entrino in conflitto con le vostre collezoni RPMForge per gli aggiornamenti automatici. Importate poi la chiave GPG key dalla collezione freshrpms.
rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txtEd eseguendo
rpm --import http://apt.sw.be/dries/RPM-GPG-KEY.dries.txtimporterete la chiave GPG per le collezioni dries.
Ci sono numerose collezioni mantenute volontariamente nel mondo. Basta
cercarle e aggiungerle alla vostra lista di collezioni. Ecco una lista di
alcuni pacchetti forgiati da cui potrete scegliere la risorsa appropriata
per il vostro sistema.
http://dl.atrpms.net/
http://www.jpackage.org/repos.php
http://newrpms.sunsite.dk/
Leggete le istruzioni sulla loro pagina web per trovare il modo di
aggiungerle. Di solito c'è un file che contiene
"RPM-GPG-KEY" nel suo nome. Usate
rpm --import the.RPM-GPG-KEY.fileper importare la chiave GPG.
Ci sono numerosi plug-ins che possono migliorare la performance ed
esperienza di YUM, quali yum-utils e yum-fastestmirror.
Scrivete
yum -y install yum-fastestmirrore
yum -y install yum-utilsper installarli. Vi aiuterrano ad usare YUM, es. cerando per la copia più veloce.
Usare YUM per installare un software è molto semplice. Vi risolverà ed installerà tutte le dipendenze. Ecco un esempio shell log:
[root@orioleQ yum.repos.d]# yum -y install xine Loading "installonlyn" plugin Loading "kernel-module" plugin Loading "fedorakmod" plugin Setting up Install Process Setting up repositories dries [1/5] updates [2/5] core [3/5] freshrpms [4/5] extras [5/5] Reading repository metadata in from local files Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for xine to pack into transaction set. xine-0.99.4-4.fc5.rf.i386 100% |=========================| 30 kB 00:01 ---> Package xine.i386 0:0.99.4-4.fc5.rf set to be updated --> Running transaction check --> Processing Dependency: libaa.so.1 for package: xine --> Processing Dependency: libxine.so.1 for package: xine --> Processing Dependency: xine-lib >= 1.0.0 for package: xine --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for xine-lib to pack into transaction set. xine-lib-1.1.1-2.fc5.rf.i 100% |=========================| 41 kB 00:03 ---> Package xine-lib.i386 0:1.1.1-2.fc5.rf set to be updated ---> Downloading header for aalib to pack into transaction set. ftp://fedora.bu.edu/fedora/extras/5/i386/aalib-1.4.0-0.rc5.7.i386.rpm: [Errno 4] IOError: [Errno ftp error] timed out Trying other mirror. aalib-1.4.0-0.rc5.7.i386. 100% |=========================| 5.9 kB 00:00 ---> Package aalib.i386 0:1.4.0-0.rc5.7 set to be updated --> Running transaction check --> Processing Dependency: libdvdcss for package: xine-lib --> Processing Dependency: libfame-0.9.so.1 for package: xine-lib --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for libdvdcss to pack into transaction set. libdvdcss-1.2.9-2.fc5.rf. 100% |=========================| 5.0 kB 00:00 ---> Package libdvdcss.i386 0:1.2.9-2.fc5.rf set to be updated ---> Downloading header for libfame to pack into transaction set. libfame-0.9.1-10.fc5.i386 100% |=========================| 5.2 kB 00:00 ---> Package libfame.i386 0:0.9.1-10.fc5 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: xine i386 0.99.4-4.fc5.rf dries 2.3 M Installing for dependencies: aalib i386 1.4.0-0.rc5.7 extras 70 k libdvdcss i386 1.2.9-2.fc5.rf dries 44 k libfame i386 0.9.1-10.fc5 freshrpms 226 k xine-lib i386 1.1.1-2.fc5.rf dries 4.2 M Transaction Summary ============================================================================= Install 5 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 6.8 M Downloading Packages: (1/5): xine-lib-1.1.1-2.f 100% |=========================| 4.2 MB 02:49 (2/5): aalib-1.4.0-0.rc5. 100% |=========================| 70 kB 00:01 (3/5): libdvdcss-1.2.9-2. 100% |=========================| 44 kB 00:01 (4/5): libfame-0.9.1-10.f 100% |=========================| 226 kB 00:28 (5/5): xine-0.99.4-4.fc5. 100% |=========================| 2.3 MB 01:43 Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: aalib ######################### [1/5] Installing: libfame ######################### [2/5] Installing: libdvdcss ######################### [3/5] Installing: xine-lib ######################### [4/5] Installing: xine ######################### [5/5] Installed: xine.i386 0:0.99.4-4.fc5.rf Dependency Installed: aalib.i386 0:1.4.0-0.rc5.7 libdvdcss.i386 0:1.2.9-2.fc5.rf libfame.i386 0:0.9.1-10.fc5 xine-lib.i386 0:1.1.1-2.fc5.rf Complete!
Come noi tutti sappiamo, APT (advanced package tools) è un buon pacchetto per gestire i software, usato per la prima volta con Debian e con le distribuzioni di Linux basate su Debian (Ubuntu etc). Sul mio campo di lavoro ho installato sia Ubuntu 5.10 che Fedora Core 4, in quanto a volte posso solo installare software tramite apt-get ed a volte posso solo installarli via rpm. Infatti, molti software commerciali sono distribuiti in formato RPM quali NI LabVIEW, ed ufficialmente non ne sostengono altri. Così quando sono al lavoro uso Fedora Core 4. Tuttavia la convenienza di apt-get "mi attrae" frequentemente verso l'uso di Ubuntu. Per un po', ho sognato di usare APT-GET su Fedora Core.
Ci sono molti posti disponibili per installare apt-get sulle vostre distribuzioni RH/FC. Potete installare il programma apt-get program prima attraverso gli archivi RPM. Uno luogo disponibile è http://apt.freshrpms.net/. Andate all'indice corrispondente alla vostra distribuzione e struttura del CPU. Scaricate tutti i files con il prefisso "apt-" ed installateli attraverso il comando rpm. Nel mio caso, ho usato le seguenti linee per installare il mio programma apt-get.
rpm -ivh http://ftp.freshrpms.net/pub/fedora/linux/extras/4/i386/apt-0.5.15cnc7-6.fc4.i386.rpm rpm -ivh http://ftp.freshrpms.net/pub/fedora/linux/extras/4/i386/apt-devel-0.5.15cnc7-6.fc4.i386.rpm
Dovreste poi configurare "apt". Usando un editore, aprite il file /etc/apt/sources.list . La configurazione in tale file non è la stessa che ho usato con Debian. Ci sono molte risorse apt per Fedora Core su Internet. Vi dimostrerò alcuni esempi.
Andate su http://svn.rpmforge.net/svn/branches/rpms/matthias/apt/.
Aprite il file sources.list corrispondente alla struttura del vostro
CPU. Copiate le linee che corrispondono alla vostra
distribuzione. Decommentatele e copiatele nel vostro file
/etc/apt/sources.list. Per esempio, ho aggiunto questa linea alla
mia /etc/apt/sources.list
rpm http://ayo.freshrpms.net fedora/linux/2/i386 core updates freshrpmsAprite http://apt.kde-redhat.org/apt/sources.list.
Potete anche cercare su Internet per le risorse apt-get corrispondenti al vostro sistema ed aggiungetele nel vostro /etc/apt/sources.list come descritto.
voglio ora elencare due GUIed YUMs, kyum e Yumex.
Per installarli
eseguite
yum -y install yumex yum -y install kyumPoichè sono facili da usare - basta cliccare e applicare - vi mostrerò solo degli sreenshots. Connettetevi a Internete per favore quando usate questi programmi.
Kyum:
YumEx:
Non voglio spendere troppe parole su quest'argomento che è alquanto vecchio. Per alcuni, questa è la ragione di usare Debian. Siccome abbiamo discusso dell'uso di apt-get su Fedora Core, non c'è bisogno di ulteriori elaborazioni.
Ricordatevi solo di non avviare troppi pacchetti gestionali apt allo stesso tempo, oppure vi ritroverete con un errore che dice
E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Ci sono molte risorse apt-get nel mondo. Ma la loro velocità è diversa. Alcune sono molto veloci, altre lente. Dovete solo aggiungerle alla vostra /etc/apt/sources.list. La maggior parte delle risorse provvederà il contenuto da aggiungere in /etc/apt/sources.list.
Webpages maintained by the LinuxFocus Editor team
© Sheng Bao "some rights reserved" see linuxfocus.org/license/ http://www.LinuxFocus.org |
Translation information:
|
2006-10-18, generated by lfparser version 2.54