Difference between revisions of "Gentoo"
Porcelinux (talk | contribs) |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
[http://www.gentoo.org/ Gentoo.org] | [http://www.gentoo.org/ Gentoo.org] | ||
== Note sulla Distribuszione == | |||
* Qusta è la distribuzione + robusta, ''linuxosa'' e fricchettona che ho mai usato in vita mia. Si basa su un principio fondamentale: | * Qusta è la distribuzione + robusta, ''linuxosa'' e fricchettona che ho mai usato in vita mia. Si basa su un principio fondamentale: | ||
'''''Tutto (ma tutto tutto) il software, anche il sistema, viene scaricato sotto forma di sorgente e poi compilato con il proprio hardware.''''' | |||
== Gestione del Software e repositorio (portage) == | |||
* Il comando per lavorare sul software installao/installabile di Gentoo è emerge. | |||
=== Portage Overlays === | |||
Un Portage overlay serve ad estendere il portage ufficiale di gentoo: | |||
Si imposta dichiarando e assognando gli la/le directory addizionali alla variabile | |||
PORTDIR_OVERLAY | |||
nel file | |||
/etc/make.conf | |||
*Si possono aggiungere rami al protage anche con layman. | |||
layman -L list | |||
* bangert [Subversion] (source: http://overlays.gentoo.org...) | |||
* cell [Subversion] (source: http://overlays.gentoo.org...) | |||
* chtekk-apps | |||
=== | === Masking === | ||
* il sistema è un po complesso ma molto efficace e personalizzabile: tutti i pacchetti hanno dei ''tipi'' di versione; '''''stable, unstable, masked e hard masked''''' | |||
* | * analizzo il pacchetto kdebase, che è una bella ''sbranda di robba'' | ||
==== | ==== Smascherare + pacchetti ==== | ||
* | #!/bin/bash | ||
cd /usr/portage/kde-base | |||
ls */*3.*.* | sed 's/.ebuild//g' | sed 's/\// /g' | awk '{print "kde-libs/"$2" ~x86"}' | sed 's/-3.[0-9].[0-9]/ /g' | sed 's/-r[0-9]//g' | sed 's/ / /g' | uniq >> /etc/portage/package.keywords | |||
cd - | |||
=== emerge === | |||
* Aggiornare tutto il sistema | * Aggiornare tutto il sistema | ||
questi comandi calcolano le dipendenze e ci mostrano gli aggiornamenti, senza installare niente | questi comandi calcolano le dipendenze e ci mostrano gli aggiornamenti, senza installare niente | ||
emerge --deep --update -pvt world | emerge --deep --update -pvt world | ||
emerge --deep --update -pvt system | emerge --deep --update -pvt system | ||
* se tutto va bene, aggiorniamo. | |||
se tutto va bene, aggiorniamo. | |||
emerge --deep --update world | emerge --deep --update world | ||
emerge --deep --update system | emerge --deep --update system | ||
* Per lasciarlo fare e andarsene tranquillamente, si può fare: | |||
emerge <options> world || until emerge --resume --skipfirst; do :; done | |||
in tal modo, se qualche pachetto fallisce, emerge farà un --resume --skipfirst per | |||
continuare con i seguenti | |||
* Ricostruire le dipendenze | * Ricostruire le dipendenze | ||
revdep-rebuild -p | revdep-rebuild -p | ||
==== ebuild | == USE Flags == | ||
* mad ''''questa use aggiunge il supporto per mpeg2 audio, xile-lib per esempio'''' | |||
=== ebuild === | |||
Installare un programma che non è nel portage, con un .ebuild: | Installare un programma che non è nel portage, con un .ebuild: | ||
* La prima cosa è creare una directory, stile portage, dove copiare il file .ebuild del programma da installare: | * La prima cosa è creare una directory, stile portage, dove copiare il file .ebuild del programma da installare: | ||
come esempio userò il pacchetto "media-soud/xmms2": | come esempio userò il pacchetto "media-soud/xmms2": | ||
==== creo il portage tree ==== | |||
vi /etc/make.conf | vi /etc/make.conf | ||
con la variabile $PORTDIR_OVERLAY specifico uno o + (separati da spazi) portage addizionali. | con la variabile $PORTDIR_OVERLAY specifico uno o + (separati da spazi) portage addizionali. | ||
Line 58: | Line 75: | ||
update-eix | update-eix | ||
emerge -pvtD xmms2 | emerge -pvtD xmms2 | ||
e infine | e infine | ||
emerge xmms2 | emerge xmms2 | ||
=== Automontare periferiche esterne === | === Automontare periferiche esterne === | ||
emerge kioslaves , dbus, hal | |||
rc-update add hald default | |||
rc-update add dbus default | |||
/etc/init.d/hald start | |||
/etc/init.d/dbus start | |||
a volte può essere necessario: | |||
ln -s /usr/lib/libdbus-1.so.3 /usr/lib/libdbus-1.so.2 | |||
per un problema di versioni di dbus/KDE | |||
* Problema HAL: | |||
con la versione >= 0.5.9 spesso il processo hald | |||
entra in un loop unfinito: | |||
device_info.c:983: Unhandled rule (0)! | |||
device_info.c:983: Unhandled rule (0)! | |||
... | |||
Il problema è un file che crea libgphoto2 in | |||
/usr/share/hal/fdi/information/10freedesktop/10-camera-libgphoto2.fdi | |||
commentando l'interno di questo file si risolve il problema. | |||
Secondo me funziona anche aggiungendo la use flag: | |||
media-libs/libgphoto2 -hal | |||
in | |||
/etc/portage/package.use | |||
== Kernel == | |||
eix sys-kernel/git-sources | eix sys-kernel/git-sources | ||
* cambia <arch> con la tua architettura ( ~amd64 ~x86 ... ) | * cambia <arch> con la tua architettura ( ~amd64 ~x86 ... ) | ||
Line 84: | Line 106: | ||
eix sys-kernel/git-sources | eix sys-kernel/git-sources | ||
emerge -D sys-kernel/git-sources | emerge -D sys-kernel/git-sources | ||
== Lista pacchetti installati == | |||
emerge -v gdm gdm-themes ximian-artwork redhat-artwork |
Revision as of 10:38, 4 July 2007
Linux Gentoo
Note sulla Distribuszione
- Qusta è la distribuzione + robusta, linuxosa e fricchettona che ho mai usato in vita mia. Si basa su un principio fondamentale:
Tutto (ma tutto tutto) il software, anche il sistema, viene scaricato sotto forma di sorgente e poi compilato con il proprio hardware.
Gestione del Software e repositorio (portage)
- Il comando per lavorare sul software installao/installabile di Gentoo è emerge.
Portage Overlays
Un Portage overlay serve ad estendere il portage ufficiale di gentoo: Si imposta dichiarando e assognando gli la/le directory addizionali alla variabile
PORTDIR_OVERLAY
nel file
/etc/make.conf
- Si possono aggiungere rami al protage anche con layman.
layman -L list * bangert [Subversion] (source: http://overlays.gentoo.org...) * cell [Subversion] (source: http://overlays.gentoo.org...) * chtekk-apps
Masking
- il sistema è un po complesso ma molto efficace e personalizzabile: tutti i pacchetti hanno dei tipi di versione; stable, unstable, masked e hard masked
- analizzo il pacchetto kdebase, che è una bella sbranda di robba
Smascherare + pacchetti
#!/bin/bash cd /usr/portage/kde-base ls */*3.*.* | sed 's/.ebuild//g' | sed 's/\// /g' | awk '{print "kde-libs/"$2" ~x86"}' | sed 's/-3.[0-9].[0-9]/ /g' | sed 's/-r[0-9]//g' | sed 's/ / /g' | uniq >> /etc/portage/package.keywords cd -
emerge
- Aggiornare tutto il sistema
questi comandi calcolano le dipendenze e ci mostrano gli aggiornamenti, senza installare niente
emerge --deep --update -pvt world emerge --deep --update -pvt system
- se tutto va bene, aggiorniamo.
emerge --deep --update world emerge --deep --update system
- Per lasciarlo fare e andarsene tranquillamente, si può fare:
emerge <options> world || until emerge --resume --skipfirst; do :; done
in tal modo, se qualche pachetto fallisce, emerge farà un --resume --skipfirst per continuare con i seguenti
- Ricostruire le dipendenze
revdep-rebuild -p
USE Flags
- mad 'questa use aggiunge il supporto per mpeg2 audio, xile-lib per esempio'
ebuild
Installare un programma che non è nel portage, con un .ebuild:
- La prima cosa è creare una directory, stile portage, dove copiare il file .ebuild del programma da installare:
come esempio userò il pacchetto "media-soud/xmms2":
creo il portage tree
vi /etc/make.conf
con la variabile $PORTDIR_OVERLAY specifico uno o + (separati da spazi) portage addizionali. Quindi aggiungo in coda a make.conf questa linea (se non c'è già, in quel caso alcuni passi si possono saltare)
PORTDIR_OVERLAY="/usr/local/portage"
creo la directory (portebbe già esistere)
mkdir -p /usr/local/portage/
ci entro
cd /usr/local/portage/
creo la directory per xmms.
mkdir -p media-sound/xmms2/
..ci entro
cd media-sound/xmms2/
scarico l' ebuild
wget http://stuge.se/gentoo/media-sound/xmms2/xmms2-0.2.ebuild
- ora con il comando ebuild e il parametro "digest", lo facciamo "digerire" al sistema.
ebuild xmms2-0.2.7.ebuild digest
io uso eix per sfogliare il repositorio, comunque il pacchetto xmms2 ora è pronto per essere emerg-ato.
update-eix emerge -pvtD xmms2
e infine
emerge xmms2
Automontare periferiche esterne
emerge kioslaves , dbus, hal rc-update add hald default rc-update add dbus default /etc/init.d/hald start /etc/init.d/dbus start
a volte può essere necessario:
ln -s /usr/lib/libdbus-1.so.3 /usr/lib/libdbus-1.so.2
per un problema di versioni di dbus/KDE
- Problema HAL:
con la versione >= 0.5.9 spesso il processo hald entra in un loop unfinito:
device_info.c:983: Unhandled rule (0)! device_info.c:983: Unhandled rule (0)! ...
Il problema è un file che crea libgphoto2 in
/usr/share/hal/fdi/information/10freedesktop/10-camera-libgphoto2.fdi
commentando l'interno di questo file si risolve il problema. Secondo me funziona anche aggiungendo la use flag:
media-libs/libgphoto2 -hal
in
/etc/portage/package.use
Kernel
eix sys-kernel/git-sources
- cambia <arch> con la tua architettura ( ~amd64 ~x86 ... )
echo 'sys-kernel/git-sources <arch>' >> /etc/portage/package.keywords eix sys-kernel/git-sources emerge -D sys-kernel/git-sources
Lista pacchetti installati
emerge -v gdm gdm-themes ximian-artwork redhat-artwork