[hack] pellipoverell..
John Doe
johndoe@pctuner.net
Gio 22 Apr 2004 18:00:14 CEST
On Thu, 2004-04-22 at 15:01, Alex.u wrote:
> Spiegaci in maniera chiara il funzionamento e la configurazione di emerge.
>
> :)
>
> Salut! Ale.
Non è che ci sia granchè da spiegare... cmq, l'avete voluto voi :D
emerge -s <stringa> cerca nei nomi dei pacchetti la <stringa>
esempio:
---------------
jdoe@waste-bin jdoe $ emerge -s portage
[ Results for search key : portage ]
[ Applications found : 3 ]
* app-portage/portagemaster
Latest version available: 0.2.1
Latest version installed: 0.2.1
Size of downloaded files: 33 kB
Homepage: http://portagemaster.sourceforge.net/
Description: A java portage browser and installer
* app-portage/kportage [ Masked ]
Latest version available: 0.6.1
Latest version installed: [ Not Installed ]
Size of downloaded files: 484 kB
Homepage: http://www.freesoftware.fsf.org/kportage/
Description: A graphical frontend for portage
* sys-apps/portage
Latest version available: 2.0.50-r1
Latest version installed: 2.0.50-r1
Size of downloaded files: 217 kB
Homepage: http://www.gentoo.org
Description: Portage ports system
----------
se si usa -S invece cerca anche nel campo Description. Siccome il
database di portage non è un database ma sono dei file su disco,
l'operazione è lunga... io consiglio di installare esearch
* app-portage/esearch
Latest version available: 0.6
Latest version installed: 0.6
Size of downloaded files: 6 kB
Homepage: http://david-peter.de/esearch.html
Description: Replacement for 'emerge search' with search-index
che funziona come updatebdb/locate: con il comando eupdatedb aggiornate
il database e con esearch [-S] cercate.
Poi, quando avete trovato il nome del pacchetto da installare, conviene,
prima di procedere, fare un "pretend":
------------------
emerge -vp vim-core vim
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] app-editors/vim-core-6.2-r8 -acl +ncurses +nls 0 kB
[ebuild R ] app-editors/vim-6.2-r8 -acl -cscope +gpm -minimal
+ncurses +nls +perl +python -ruby -vim-with-x 0 kB
Total size of downloads: 0 kB
----------------------
- iniziamo da sx: "ebuild" sta a significare che non ho un pacchetto
binario, ma che verrà usato l'ebuild, cioè che compila.
- R sta per replacement, ovvero dato che l'ho già installato lo
_ricompila_ e _reinstalla_
- poi ci sta la versione esatta del pacchetto
- e quindi le USE flags: vi dice quanta roba deve scaricare e che flags
vengono usati durante la compilazione... quelli +<flags> vengono usati
(son rossi), quelli -<flag> non vengono usati. a seconda di che flags
cambiano e di molto le dipendenze, ovvero se non volete X installato, e
usate vim-with-x lui cerherà di installare X, per soddisfare la USE.
Le Use si settano dal make.conf, oppure direttamente dalla riga di
comando quando lanciate emerge
----------------
jdoe@waste-bin jdoe $ USE="vim-with-x -gpm" emerge vim -vp
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] app-editors/vim-6.2-r8 -acl -cscope -gpm -minimal
+ncurses +nls +perl +python -ruby +vim-with-x 0 kB
Total size of downloads: 0 kB
-------------------
vedete che i cmbiamenti son relativi, cioè lui prima guarda le flag nel
make, e poi le cambia in base a quelle scritte nella riga di comando ;)
[guardate l'output di questo e del comando sopra e capirete meglio]
per gestire le USE c'è il prog ufed... cmq, le USE sono importantissime,
andrebbero scelte PRIMA di fare qualsiasi cosa, e cmq contano solo
quando ricompilate e non quando fate l'installazione da binari come ha
fatto alex.u, in quel modo vengono usate quelle di usate durante la
compilazione da chi ha fatto i pacchetti.
jdoe@waste-bin jdoe $ esearch ufed
[ Results for search key : ufed ]
[ Applications found : 1 ]
* app-portage/ufed
Latest version available: 0.34
Latest version installed: 0.34
Size of downloaded files: 14 kB
Homepage: http://www.gentoo.org
Description: Gentoo Linux USE flags editor
Per vedere cosa fa una USE, o guardate con ufed, oppure (più veloce):
--------------------------------
jdoe@waste-bin jdoe $ etcat -u vim
[ Colour Code : set unset ]
[ Legend : (U) Col 1 - Current USE flags ]
[ : (I) Col 2 - Installed With USE flags ]
U I [ Found these USE variables in : app-editors/vim-6.2-r8 ]
+ + ncurses : Adds ncurses support (console display library)
+ + nls : unknown
- - acl : Adds support for Access Control Lists
- - cscope : Enables cscope interface -- in vim for example
+ + gpm : Adds support for sys-libs/gpm (Console-based mouse
driver)
+ + perl : Adds support/bindings for the Perl language.
+ + python : Adds support/bindings for the Python language
- - ruby : Adds support/bindings for the Ruby language
- - vim-with-x : Enables linking the console vim against X libs to
enable some features in xterms
- - minimal : Build vim with minimal features, resulting in a ~430K
binary
--------------------------------------
probabilmente etcat richiede installato gentoolkit
-----------------------------------------------
jdoe@waste-bin jdoe $ emerge -vp gentoolkit-dev
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] app-portage/gentoolkit-dev-0.2.0_pre3 0 kB
----------------------------------------------
Io uso il -dev perchè uso portage bleeding edge ultra testing :D (come
sempre)
Come vedete, infondo ci sta sempre scritto 0 kB, e "Total size of
downloads: 0 kB", questo perchè ho i distfiles già scaricati. portage
infatti prima guarda se ci sono locali, altrimenti scarica (e direi...)
per vedere dove vanno messi:
jdoe@waste-bin jdoe $ emerge info | grep -i dist
DISTDIR="/usr/portage/distfiles"
jdoe@waste-bin jdoe $ emerge info | grep -i package
PKGDIR="/bck/distro/gentoo/portage-packages"
$PKGDIR è il path completo alla dir dove risiedono i binari.. è
possibile dal make.conf, alla voce FEATURES dire a emerge di creare un
pacchetto quando ha finito di compilare.. così da, se la nuova versione
magari è strabacata, tornare indietro senza dover ricompilare...
calcolando che alcuni pacchetti ci possono mettere, anche ore (vedi
ooffice), non ci fa schifo.
Quindi, o usate FEATURES dentro /etc/make.conf, oppure lo usate
direttamenete da riga di comando (se volete che lui non faccia sempre il
pacchetto)
FEATURES="buildpkg" emerge vim
L'elenco di tutte le features lo trovate dentro il manuale di make.conf
Per usare i pacchetti, basta aggiungere -k, e lui cerca in $PKGDIR, se
non trova cerca il distfile dentro $DISTDIR, se non trova si procaccia i
distfiles (che sono i sorgenti) dal mirror definito alla voce
GENTOO_MIRRORS, se non li trova manco sui mirror guarda al default
mirror (http://www.ibiblio.org/pub/Linux/distributions/gentoo), se non
trova manco li va direttamente sul sito dell'applicazione a cercare di
scaricare i sorgenti... e li ci sono _per forza_ :D
se usate -K invece non tenta di compilare se non trova il pacchetto ma
si ferma e basta.
Per vedere possibili versioni della cosa che volete installare:
------------------------------
jdoe@waste-bin jdoe $ etcat -v vim
[ Results for search key : vim ]
[ Candidate applications found : 5 ]
Only printing found installed programs.
* app-editors/vim :
[ ] 6.2-r3 (0)
[ ] 6.2-r5 (0)
[ ] 6.2-r6 (0)
[ ] 6.2-r7 (0)
[ ~I] 6.2-r8 (0)
---------------------------
Se volete installare la 6.2-r7 perchè magari la 6.2-r8 è bacata (è un
esempio), dovete specificare la versione, perchè altrimenti vi installa
l'ultima
----------------------------------------------
jdoe@waste-bin jdoe $ emerge -vp \=vim-6.2-r7
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild UD] app-editors/vim-6.2-r7 [6.2-r8] -acl -cscope +gpm
-minimal +ncurses +nls +perl +python -ruby -vim-with-x 475 kB
Total size of downloads: 475 kB
-----------------------------------------------
La barra \ è importantissima, in quanto fa carattere di escape alla
bash, che altrimenti prende l'uguale come parte del comando e non degli
argomenti... potete anche usare "=" al posto di \=, come vi pare. Potete
anche usare >= > < <= ...
Vedete che sta scritto UD: U sta per update, me lo aggiorna e D sta per
downgrade, che mette una versione più vecchia.
se usate la stabile x86, e volete usare un pacchetto della instabile
(~x86), basta dare
ACCEPT_KEYWORDS="~x86" emerge \=TheThingYouWant-1.2.3 -vp
Se volete usare sempre la instabile (come me :D), basta mettere
ACCEPT_KEYWORDS direttamente in /etc/make.conf
se non ve lo installa, e c'è scritto di rosso fuoco [Masked], significa
che il pacchetto è veramente instabile, però magari voi lo volete lo
stesso, perchè sapete che è usabile... beh, ci sono due modi: uno
quick'n'dirty, che funziona però fino al prossimo sync del tree di
portage, e un altro duraturo... Cmq, se volete sapere _perchè_ è masked
guardate nel file /usr/portage/profiles/package.mask e leggete il
commento relativo al pacchetto, se volete installarlo (quick'n'dirty)
commentate la riga relativa al programma.
Se invece optate per la versione duratura, basta che creiate la
directory /etc/portage/ (se non esiste), dentro ci mettete un file
package.unmask, dentro al quale ci scrivete la riga reltiva al programma
così come la vedete in /usr/portage/profiles/package.mask.
Quest'ultima soluzione funziona solo con portages recenti, e non con
quello della 1.4 credo.. cmq aggiornare portage è una buona idea sempre,
tanto son pochi kB
se volete vedere che pacchetti avete installato (richiede gentoolkit)
jdoe@waste-bin $ qpkg -I
se volete cercare files nella roba installata
jdoe@waste-bin $ qpkg -pf WhatYouWant
per cercare files mancanti che dovrebbero essere invece installati
(moooolto lungo
jdoe@waste-bin $ qpkg -I -c -vv|grep "not exist
jdoe@waste-bin $ qpkg -l pacchetto
lista i files installati dal pacchetto
per disinstallare un programma
jdoe@waste-bin $ emerge -C TheThingYouDontWant
FATE SEMPRE un pretend, prima, che lui NON fa il check delle dipendenze
all'indietro. Potete disinstallare anche una particolare versione,
usando =. Infatti di alcuni ebuild (com gimp ad esemiio) potete avre più
versioni installate, ognuna si insatlla in uno SLOT, quindi potete avere
sia gimp-1.2 che gimp-2.0, ad esempio
e poi, le ultime varie e eventuali
jdoe@waste-bin $ emerge -f TheThingYouWant
scarica solo i sorgenti
jdoe@waste-bin $ emerge -O TheThingYouWant
installa solo il pacchetto e NON le dipendenze
jdoe@waste-bin $ emerge -o TheThingYouWant
installa solo le dipendenze e non il pacchetto
jdoe@waste-bin $ emerge -i pacchetto
fa credere che il pacchetto sia installato, anche se non lo è, comodo
per fregare le dipendenze ma occhio a quallo che fate.
Basta? Domande? Precisazioni? una pagina arancione? :p
Giacomo
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: non disponibile
Tipo: application/pgp-signature
Dimensione: 189 bytes
Descrizione: This is a digitally signed message part
URL: <http://lists.linux.it/pipermail/golem-hack/attachments/20040422/90a7a19b/attachment.pgp>
Maggiori informazioni sulla lista
golem-hack