|
|
TITOLO
|
INSTALLARE PROGRAMMI IN LINUX:GUIDA (quasi)COMPLETA!
|
|
OGGETTO
|
Installare programmi su Linux
|
|
Questo Articolo proviene da
OpensourceMania - Il portale dell'OpenSource tutto italiano
http://www.opensourcemania.it
L'URL per questa storia è:
http://www.opensourcemania.it/modules.php?name=News&file=article&sid=2702
INSTALLARE PROGRAMMI IN LINUX:GUIDA (quasi)COMPLETA!
Data: Giovedi, 25 di
Ottobre del 2007 (8:19:52)
Argomento: Articoli tecnici, Corsi e Tutorial
Con questo tutorial impariamo ad
installare i programmi in ambiente Linux.
la novità di questa guida è che cerca di
compendiare una marea di nozioni raccolte in rete in un unico scritto.
I programmi di solito vengono distribuiti in quattro formati
principali: in formato tar.gz, in formato RPM, in formato Deb e in tgz
, vediamoli uno ad uno:
-Formato tar.gz
In formato tar.gz di solito vengono distribuiti i sorgenti. Prima di
tutto è necessario scompattare il pacchetto con il comando:
-tar xzvf nomefile.tar.gz-
se i sorgenti li troviamo nel formato tar.bz2 per scompattarli usiamo
tar xvjf nomefile.bz2
Spieghiamo a che servono i parametri (per ulteriori informazioni sul
comando tar digitate man tar): * -x estrae l'archivio;
* -z scompatta gli archivi .gz;
* -j scompatta gli archivi .bz2 (-I o -y dipende dalla versione di tar);
* -Z scompatta gli archivi .Z (file di compress)2;
* -v ci mostra la lista dei file presenti nell'archivio;
* -f usa il file da noi specificato.
Una volta scompattato viene creata una directory con lo stesso nome
dell'archivio (naturalmente senza l'estensione).
Tale directory conterrà alcuni file e un file chiamato
configure con i permessi di esecuzione.
A questo punto, entriamo nella cartella appena creata
-$cd nomepacchetto-
Ora, leggete attentamente i files di documentazione allegati al
pacchetto, tipicamente c'è sempre almeno un file README ed
un file INSTALL (scritto maiuscolo!) a volte più di uno. -Leggeteli!
Spesso così scoprirete quale è l'esatta procedura
di installazione. Il novanta per cento dei pacchetti tar.gz o tar.bz2
si installa seguendo la procedura che vi spiegherò tra poco,
ma ci sono delle eccezioni
e potrete scoprirlo solo leggendo la documentazione.-
Qui supponiamo che la procedura di installazione sia quella standard ,
allora
$./configure
Questo script controllerà se nel nostro sistema abbiamo
tutto il necessario per il corretto funzionamento del
programma. Se tutto è presente non vedremo messaggi di
errore e verrà
creato un file chiamato Makefile. Questo file è il fulcro di
tutto
visto che permette la corretta compilazione del programma in base alla
nostra configurazione.
L'unica opzione comune a tutti i pacchetti e spesso utile
è-prefix, che
vi permette di scegliere dove verranno installati i files
del programma quando lo avrete compilato.
./configure -prefix=/usr/local
ad esempio!
Adesso per finire lanciamo due comandi sulla stessa linea (da root ):
#make && make install
make compila il programma usando il file Makefile creato in precedenza,
make install installa il programma nelle
directory di default (di solito /usr/local/bin). Il simbolo
&& esegue il secondo comando solo se il primo termina
senza
errori. Il procedimento è piuttosto lungo e dipende dalla
vostra configurazione hardware (e ovviamente
dalle dimensioni del programma).
Se il programma installato non è di vostro gradimento basta
digitare:
#make uninstall (o make deinstall)
per disinstallarlo automaticamente (naturalmente il file Makefile deve
essere presente, quindi se avete cancellato
i sorgenti scompattate l'archivio e rieseguite lo script configure).
Alcuni software non hanno questa funzione quindi
non ci resta che cancellare a mano i file del programma. Per il formato
tar.gz abbiamo finito .
NB-E' ovviamente possibile avere degli errori di compilazione,
spesso dovuti ad una errata versione di qualche libreria,
o del compilatore stesso. In questo caso provate ad aggiornare le
librerie richieste dal programma o a debuggarvi il codice!
-Formato RPM
Installare un RPM è facile , ma funziona alla perfezione
solo nelle distribuzioni dove l'installazione viene eseguita
esclusivamente tramite archivi RPM (Fedora, Mandriva, SuSE, ecc..) e se
un RPM è stato creato per una distribuzione
probabilmente non funzionerà sulle altre (anche se
compatibili). Infatti i programmi distribuiti nel formato RPM sono
già compilati per una configurazione standard e quindi hanno
delle dipendenze .
Molti pacchetti software vengono distribuiti "pacchettizzati" in
formato rpm (formato ideato dalla software house
Redhat®). Alcune distribuzioni, Redhat e Mandriva in testa,
sono interamente basate su questo sistema di
"pacchettizzazione". Le principali GUI disponibili per linux, KDE e
GNOME in primis, dispongono di tool grafici per la
gestione dei pacchetti rpm quali kpackage per kde e gnorpm per gnome.
Questi tool consentono di visualizzare
informazioni sui pacchetti quali l'autore e i files contenuti con il
relativo percorso di installazione, nonchè
l'installazione e la disinstallazione dei pacchetti, non
consentono però la risoluzione automatica delle
dipendenze. Per questo scopo, alcune software house tipo
Mandriva® e Suse® redhat-fedora hanno ideato per le
loro distribuzioni dei tool che consentono di risolvere questo
problema. Nel caso della Mandrake il tool è denominato
urpmi con un front-end grafico denominato rpmdrake per fedora-redhat
c'è yum ,per suse yast(Zypper).
per un approfondimento su URPMI
http://www.mandrakeitalia.org
per un approfondimento su YUM
http://www.fedoraitalia.org
per un approfondimento su ZYPPER
http://en.opensuse.org
http://www.suseitalia.org
In questa guida viene trattato l'uso di Rpm dalla console e
precisamente vedremo come:
a. Installare un pacchetto
#rpm -ivh nomepacchetto.rpm
questo comando installa il contenuto del pacchetto indicato mostrando
una barra di progressione orizzontale ma non le sue dipendenze.
b. Aggiornare un pacchetto
#rpm -Uvh nomepacchetto.rpm
come il comando precedente, l'unica differenza è che in
questo caso
viene effettuato l'aggiornamento dei files di un pacchetto
già
installato con i files del pacchetto indicato.
In entrambi i casi bisogna indicare il nome completo del pacchetto ad
esempio: gimp-1.2.3-17mdk.i586.rpm
c. Rimuovere un pacchetto
#rpm -e nomepacchetto
questo comando rimuove dal sistema il pacchetto e tutti i files che lo
compongono.
In questo caso bisogna indicare solo il nome indicativo del
pacchetto, ad esempio : rpm -e gimp rimuove il pacchetto contenente il
programma di grafica Gimp che nel caso di una mdk9 sarà
contenuto nel
pacchetto
gimp-1.2.3-17mdk.i586.rpm
d. Ottenere Informazioni sui pacchetti installati
#rpm -qi nomepacchetto
comando ritorna informazioni sul pacchetto indicato che riguardano
la versione, la data di installazione, la categoria di appartenenza, il
tipo di licenza, l'impacchettatore ed una descrizione del programma o
dei programmi in esso contenuti. Anche in questo caso deve essere
digitato solo il nome indicativo del pacchetto.
#rpm -ql nomepacchetto
questo comando ritorna l'elenco dei files contenuti nel pacchetto
indicato con il relativo percorso di installazione.
Occorre precisare che è possibile anche abbinare le
richieste. Ad
esempio digitando rpm -qli gimp si avranno informazioni sulla lista dei
files installati e quelle relative alla descrizione del paccchetto con
relativa data di installazione, impacchettatore, etc...
e.Ottenere Informazioni sui pacchetti non installati
Si possono avere informazioni anche sui pacchetti non installati .
Prendendo a riferimento i comandi precedentemente descritti, basta
aggiungere nella richiesta di informazioni la lettera "p". Bisogna
precisare che in questo caso è necessario indicare, il nome
completo
del pacchetto.
#rpm -qpi nomepacchetto.rpm
il campo "install date" indica "not installed", non potrebbe indicare
altrimenti, poichè il pacchetto non è installato.
Anche in questo caso è possibile abbinare nella formulazione
delle
richieste diverse opzioni. Ad esempio digitando rpm -qlpi
wvdial-1.42-4mdk.i586.rpm, si avranno informazioni sui files contenuti
nel pacchetto con il relativo percorso di installazione, la versione
del programma, il gruppo di appartenenza, l'occupazione di spazio disco
se installato, la data di creazione del pacchetto, l'impacchettatore,
etc...
Attenzione : con yum o urpmi si possono installare anche i
singoli pkg che risiedono in locale come???
# cd /"directory contenente l'rpm"
# yum localinstall prova.rpm
A questo punto dovresti aver installato il pacchetto prova
sfruttandone la disponibilità da sorgente, averlo compilato
, e averlo
installato sfruttando la potenza di yum che tra l'altro gestisce le
dipendenze per quel pacchetto- questo è il vantaggio!!.
Inoltre se vuoi disinstallare prova basta dare il classico
# yum remove pippo
-Formato Tgz
Slackware utilizza un proprio sistema di pacchettizzazione il tgz.
A differenza dei tar.gz non contiene sorgenti ma binari (non sempre
ovviamente). Le utility fornite da Slackware sono 3:
*installpkg: utilizzato per installare i pacchetti;
*upgradepkg: utilizzato per aggiornare pacchetti già
installati;
* removepkg: Utilizzato per rimuovere i pacchetti;
* pkgtool: frontend3 testuale per i precedenti.
L'uso dei comandi è semplice:
#installpkg nome_pacchetto.tgz
#upgradepkg nome_pacchetto.tgz
#removepkg nome_pacchetto
#upgradepkg --install-new nome_pacchetto.tgz
Nella directory /var/log/packages troviamo la lista di tutti i
pacchetti installati.
Swaret di Slackware
Swaret è un programma, non ancora incluso nella versione
ufficiale
di Slackware, che permette di aggiornare uno o più pacchetti
utilizzando un reposity (niente di più di un server ftp
contente alcuni
file oltre ai pacchetti). Il file di configurazione (/etc/swaret.conf)
contiene la lista dei reposity (basta togliere il # per utilizzarne
uno) e la versione della vostra Slack.
quindi si scarica swaret-1.6.3-noarch-1.tgz -l'ultima
versione stabile -
lo installo con
root@slackware:/home/kio# installpkg swaret-1.6.3-noarch-2.tgz
scaricandolo dal sito http://swaret.sf.net/
Installing package swaret-1.6.3-noarch-2...
Executing install script for swaret-1.6.3-noarch-2...
For new installs, rename /etc/swaret.conf.new to /etc/swaret.conf
Type 'man swaret.conf' to see a list of settings
eseguo editando il file /etc/swaret.conf.new rinominandolo
/etc/swaret.conf.
Innanzitutto si devono inserire i repository che ci interessano, se
vogliamo
aggiungerne a quelli già presenti di default, con la
seguente sintassi:
REPOS_ROOT=Slacky%http://www.slacky.eu/repository/slackware-11.0
Dobbiamo quindi controllare con un editor che almeno le seguenti righe,
le più
importanti fra quelle che definiscono le varie opzioni, risultino come
descritto qui
sotto:
VERSION=current: serve a stabilire la versione a cui aggiornare i
pacchetti .........
Se volete, potete dire a swaret di aggiornare anche il kernel se
vengono
rilevati aggiornamenti: commentate la linea:
EXCLUDE=kernel
anteponendo il carattere `#' cosi':
#EXCLUDE=kernel
Salvate, uscite da swaret
Vediamo come utilizzare swaret:
#swaret –update
#swaret --search nome_pacchetto
#swaret --install nome_pacchetto
#swaret --upgrade nome_pacchetto
Il primo comando “scanna” il reposity alla ricerca
di nuovi
pacchetti (e aggiornamenti). Se non passiamo come argomento dei
pacchetti a --upgrade vengono aggiornati tutti i pacchetti installati
(utile se abbiamo settato current come versione della distribuzione
poiché aggiorna tutti i pacchetti seguendo il changelog
slackware
-Formato Deb
Apt-get, sviluppato e utilizzato da debian (e ovviamente dalle
derivate Ubuntu/Kubuntu, ecc),uno dei migliori sistemi di
pacchettizzazione esistente, e ovviamente il più copiato
(swaret, yum, urpmi, ecc sono apt like).
Vedremo come utilizzarlo, senza addentrarci nei meandri nelle
versioni di debian. Ricordate come sempre che tutti i comandi sono da
eseguire da root.
Repository
Un repository è nient'altro che un contenitore di pacchetti
(contenente ovviamente anche la lista dei pacchetti ed altre
informazioni). Per aggiungere un repository si edita il file
source.list (di solito in /etc/apt). La sintassi è questa:
deb url nome_versione_distro tipo_repository
un esempio (per ubuntu) è:
deb http://it.archive.ubuntu.com/ubuntu breezy universe multiverse
(di solito, almeno su ubuntu, il source.list contiene i repository
predefiniti, per upgrade e co, basta quindi eliminare il # all'inizio
della riga)
Usiamo Apt
Prima di tutto (anche ogni volta che aggiungiamo un repository)
dobbiamo aggiornare il db locale (ebbene si il database dei pacchetti
rimane in locale in modo da poterlo consultare quando si vuole) con:
#apt-get update
Adesso possiamo cercare un pacchetto (nel db locale):
#apt-cache search nome_pacchetto
e installarlo:
#apt-get install nome_pacchetto
(apt cercherà le dipendenze del pacchetto e
installerà anche quelle).
Per aggiornare i pacchetti installati:
#apt-get upgrade
(per aggiornare un solo pacchetto si usa apt-get install nome).
Per passare da una versione all'altra della distribuzione (per
quanto riguarda ubuntu al momento la versione stabile si chiama breezy
e la versione unstable si chiama dapper, per informazioni sulle
versioni di debian visitate
http://www.debian.it) dopo aver cambiato il nome distro
all'interno del source.list e aggiornato il database locale serve un
semplice:
#apt-get dist-upgrade
upgrade si limita ad aggiornare i pacchetti installati, mentre
dist-upgrade installa anche nuovi pacchetti (vedi versioni aggiornate
del kernel) inseriti all'interno della distribuzione e elimina software
sostituiti e/o eliminati.
Per vedere quali pacchetti sono installati si usa l'utility a basso
livello (molto potente) dpkg:
#dpkg --list
e per rimuovere:
#dpkg -r nome_pacchetto
e per installare
#dpkg -i nome_pacchetto
Per un approfondimento su Apt
http://www.debian.org
NOTA:Può capitare di imbattersi in file .bin a
differenza dei soliti .deb o .tar o .rpm , l’installazione
è molto semplice:
1. ci si posizione nella cartella che contiene il file
2. settiamo i permessi dando: #chmod +x nome_file.bin
3. installiamo il file digitando: ./nome_file.bin ovvero sh
nome_file.bin
A questo punto si avvierà l’installazione del
programma che dovremmo seguire fino alla fine.
E se ci trovassimo in Ambiente GENTOO(ad esempio su sabajon)
be allora leggiamoci :
http://www.gentoo.org
- Ma noi vorremmo essere dei geek ed abbiamo sentito dire che
essi usano ARCH
http://wiki.archlinux.org
-Utility varie
Come si convertono i pacchetti?
-Vediamo il programma Alien che serve a convertire
da
un formato di un pacchetto ad un altro. Ecco un esempio di utilizzo di
Alien per convertire un pacchetto RPM in .deb:
# alien --to-deb pacchetto.rpm
Eccone un altro che mostra invece come convertire un pacchetto .deb in
formato RPM:
# alien --to-rpm pacchetto .deb
Eccone un altro che mostra invece come convertire un pacchetto .tgz in
formato RPM
In questo caso l'utilizzo di Alien sarà simile al seguente:
# alien --to-tgz pacchetto .rpm
-Conversione di RPM in tgz
Tramite l'utility rpm2tgz è possibile
trasformare un pacchetto RPM nel formato gestito dal Package Management
di Slackware
Uno dei formati più popolari tra i sistemi di packaging
è RPM di
Red Hat, ed è quindi probabile trovare spesso software in
questo
formato. A volte è possibile che il pacchetto ricercato sia
disponibile
solamente in questo formato. In questo caso è possibile
trovare una
soluzione (anche se non in tutti i casi), per l'installazione in una
distribuzione Slackware, grazie all'utility rpm2tgz.
Il programma rpm2tgz crea un pacchetto con estensione .tgz partendo da
un pacchetto RPM, la sua sintassi è:
rpm2tgz
Un esempio di utilizzo:
#ls
nmap-3.00-1.i386.rpm
Il file di partenza è un pacchetto di tipo RPM
#rpm2tgz nmap-3.00-1.i386.rpm
#ls
nmap-3.00-1.i386.rpm nmap-3.00-1.i386.tgz
Una volta lanciata l'esecuzione del programma si ottiene un
pacchetto di tipo tgz gestibile dalle utility di Slackware come
pkgtool, installpkg, removepkg o upgpackage
-Adesso vogliamo creare pacchetti per la nostra distribuzione
Installare da sorgenti è molto performante ma installare da
binari
precompilati è molto comodo: che ne dite di unire le due
cose? Per fare
ciò possiamo usare il comodo checkinstall, che crea
pacchetti rpm, tgz
e deb dai sorgenti. Vediamo come fare:
1-installare checkinstall o dai sorgenti o tramite pkg
precompilati per la propria distro poi
Una volta scompattato il sorgente del programma , come visto sopra,
viene creata una directory con lo stesso nome dell'archivio
(naturalmente senza l'estensione). Tale directory conterrà
alcuni file
.c e un file chiamato configure con i permessi di esecuzione.
A questo punto, entriamo nella cartella appena creata e diamo
#./configure && make &&
checkinstall -S
con l'argomento -S creiamo pacchetti Slackware, con -R creiamo
degli RPM e con -D dei pacchetti deb, il tutto ottimizzato per la
nostra Linux Box
warning:
-si è creata una incompatibilità tra checkinstall
e la nuova release di slackware la 12.0
intanto checkinstall va installato dai sorgenti .il .tgz non si trova
Per chi (come me) non può (o non vuole) proprio
fare a meno di checkinstall su Slackware-12 ,
questa è la soluzione :
An incompatibility with the newest coreutils seems to have bitten a
bunch of people, specially users of the recently released Slackware 12.
A new checkinstall version will be released soon which will
address this issue. In the meantime, as a workaround you can use the
"--fstrans=no" command line flag when invoking checkinstall. Read the
details here.
ovvero vediamo l'esempio di nano
scarichiamo i sorgenti e li scompattiamo
#tar xvzf nano-2.0.6.tar.gz
#cd /home/kio/nano-2.0.6
# sh configure && make &&
checkinstall --fstrans=no
poi #installpkg nano-2.0.6-i386-1.tgz
e buonanotte ai suonatori !!!!!
-si è creata una incompatibilità anche tra
checkinstall e la nuova release di Mandriva la 2008.0
la soluzione tampone consiste nella modifica di
/usr/bin/checkinstall sostituedo gli statement da
$RPMBUILD -bb {RPM_TARGET_FLAG}${ARCHITECTURE} "$SPEC_PATH"
&>
${TMP_DIR}/rpmbuild.log
a
$RPMBUILD -bb ${RPM_TARGET_FLAG}${ARCHITECTURE} --buildroot
$BROOTPATH "$SPEC_PATH" &>
${TMP_DIR}/rpmbuild.log
Quindi checkinstall è vivo e lotta insieme a noi!!!!!
ps vogliamo il pkg x l'architettura i686???
modifichiamo il file
/usr/lib/checkinstall/checkinstallrc
cambiando
# Default architecture type (Leave it empty to allow auto-guessing)
ARCHITECTURE=""
CON
ARCHITECTURE="i686"
APPENDICE-1
Creare un pkg RPM partendo dai sorgenti forniti in formato
RPM stesso
es. devo installare freepops-vado sul sul sito
http://www.freepops.org/it/download-linux.shtml
scarico un RPM generico che dovrebbe essere installabile sulla maggior
parte delle distro basate su RPM, così almeno ci dicono.
[root@Fedora kio]# rpm -ivh freepops-0.0.29-1.i386.rpm
error: Failed dependencies:
libcrypto.so.0.9.7 is needed by freepops-0.0.29-1.i386
libssl.so.0.9.7 is needed by freepops-0.0.29-1.i386
linux-gate.so.1 is needed by freepops-0.0.29-1.i386
:
visto che non trovo le librerie per fedora
http://rpmfind.net/linux/RPM/ allora scarico il sorgente
freepops-0.0.29-1.src.rpm e mi compilo da solo il binario , come loro
stessi suggericono in caso di
problemi, ma come si fa?
seguo la ottima guida di lukylinux su fedoraitalia
*************
fase 1: acquisizione
scaricare il pacchetto *.src.rpm in home/~/directoryavostrascelta/
fase 2: installazione del sorgente
diventare superutente (su - root)
entrare in home/~/directoryavostrascelta/
installare il pacchetto con
rpm -ivh *pacchetto*.src.rpm
........
l'installazione produrrà un file *pacchetto*.spec su misura
per il
vostro sistema indicandovi alla fine anche la directory dove viene
creato, solitamente /usr/src/redhat/SPECS
fase3: costruzione del binario .rpm
entrate nella directory indicata da rpm:
cd /usr/src/redhat/SPECS
costruire l'rpm definitivo con
rpmbuild -bb *.spec
le opzioni -bb:
b: build, costruisce;
b: binary, pacchetto binario (rpm);
rpmbuild costruisce un pacchetto o più (devel, doc, e
simili) .rpm
su misura, solitamente con estensione *.rpm e vi indica dove trovarlo,
di solito /usr/src/redhat/RPMS/i386/
-se rpmbuild è un comando sconosciuto allora
installare il pkg rpm-build
fase 4: installazione del programma
entrate nella directory indicata da rpmbuild:
cd /usr/src/redhat/RPMS/i386/
e installate finalmente il programma:
rpm -ivh *pacchetto*.root.rpm
o aggiornate finalmente il programma:
rpm -Uvh *pacchetto*.root.rpm
*************
seguo fedelmente la guida ma quando dopo
#cd/home/kio
#rpm -ivh *pacchetto*.src.rpm
#cd /usr/src/redhat/SPECS
do
#rpmbuild -bb *.spec
mi compare l'errore
License field must be present in package
apro il file .spec e modifico la riga 6 da copyright GPL
a License: GPL!
riprovo e trovo nella dir rpm da me compilato
# cd /usr/src/redhat/RPMS/i386
[root@Fedora i386]# ls
freepops-0.0.29-1.i386.rpm freepops-debuginfo-0.0.29-1.i386.rpm
procedo con l'installazione
# rpm -ivh freepops-0.0.29-1.i386.rpm
Preparing... ###########################################
[100%]
1:freepops ###########################################
[100%]
[root@Fedora i386]#
e bingoooooooooooooo!
vediamo la stessa operazione su mandriva 2007.1 spring
mi procuro il sorgente aggiornato es. di freepops
#rpm -ivh freepops-0.2.2-1ddz2007.1.src.rpm
#cd /usr/src/rpm/SPECS
#rpmbuild -bb *.spec
#cd /usr/src/rpm/RPMS/i586
#ls
freepops-0.2.2-1ddz2007.1.i586.rpm
APPENDICE-2
creare un pkg tgz con lo slackbuild
**************
Lo SlackBuild è semplicemente uno script
contenente una lista di comandi stutturati in modo tale da generare un
pacchetto Slackware base, installabile semplicemente con i tool
pkgtool, installpkg o upgradepkg.
Lo script lavora sulla base di programmi standard come make, gcc etc
etc.
Normalmente viene accompagnato dai sorgenti originali del programma da
lavorare da un file chiamato slack-desck, che contiene la descrizione
del pacchetto e dal file doinst.sh usato per impartire comandi esterni
di modifica o altro a files esterni.
Ricordiamo che la Slackware utilizza i pacchetti .tgz che sono dei
precompilati achiviati con tar e compressi con gzip.
da http://www.slacky.eu/wikislack
*****************
L'uso di questi script è molto utile in caso di
ricompilazioni sicure oppure se volete una versione nuova di
un pacchetto non ancora disponibile nel ramo current
potrete, editando a dovere lo SlackBuild compilare in modo automatico e
sicuro i nuovi sorgenti. Ottimizzare alcune applicazioni e molto
altro..
nel mio esempio ci costruiremo un tgz con la nuova versione di
ntfs-3g la -1.417 del 6 aprile mentre sul slacky.it per la
stable/current è disponibile la versione Ntfs-3g 20070204
del 4
febbraio 2007 anche se su
http://www.linuxpackages.net è già presente la
nuova versione , procediamo :
1)scarichiamo i sorgenti dal sito http://www.ntfs-3g.org/
2)scarichiamo lo slackbuild -lo slack-required e lo slack-desk da
http://www.slacky.eu/repository/slackware-11
e li inseriamo nella stessa dir
3)modifico lo slack build del pacchettizzatore da così
#!/bin/sh
# Heavily based on the Slackware 11.0 SlackBuild
# http://www.ntfs-3g.org
# Packager Andrea Sciucca ( gohanz at infinito.it)
# http://www.slacky.it
# Required: FUSE.
CWD=`pwd`
TMP=${TMP:-/tmp/tgz}
PKG=$TMP/package/ntfs-3g
NAME=ntfs-3g
VERSION=`date +%Y%m%d`
CHOST=i486
ARCH=${ARCH:-i486}
BUILD=1as
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer"
elif [ "$ARCH" = "athlon64" ]; then
SLKCFLAGS="-O2 -march=athlon64 -pipe"
elif [ "$ARCH" = "athlonxp" ]; then
SLKCFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
fi
......................
a così
#!/bin/sh
# Heavily based on the Slackware 11.0 SlackBuild
# http://www.ntfs-3g.org
# Packager Andrea Sciucca ( gohanz at infinito.it) rivisto
by Kio
# Required: FUSE.
CWD=`pwd`
TMP=${TMP:-/tmp/tgz}
PKG=$TMP/package/ntfs-3g
NAME=ntfs-3g
VERSION=1.417
CHOST=i686
ARCH=${ARCH:-i686}
BUILD=1as
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer"
elif [ "$ARCH" = "athlon64" ]; then
SLKCFLAGS="-O2 -march=athlon64 -pipe"
elif [ "$ARCH" = "athlonxp" ]; then
SLKCFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
fi
questo perchè Attualmente i pacchetti ufficiale di Slackware
sono costruiti per i486,
per cui avremo i seguenti due valori: -march=i486 e -mcpu=i686.
Pacchetti costruiti per uso personale possono anche avere
ottimizzazioni più spinte ottimizzati per 686, ad esempio i
FLAGS -O3 e -march=i686 (che non funzioneranno dunque su un i486)!!!
a quel punto
#cd /home/kio/ntfs-3g
#./ntfs-3g.SlackBuild --cleanup che mi produce il mio pkg
ntfs-3g-1.417-i686-1as.tgz che installo con successo sulla 11.0 e sulla
current
per approfondire
http://www.slacky.eu/wikislack
e
www.slacky.eu/wikislack
|
|
|
|
|