Difference between revisions of "Gentoo"

From Alessandro's Wiki
 
(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 ==
=== 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


'''''Tutto (ma tutto tutto) il software, anche il sistema, viene scaricato sotto forma di sorgente e poi compilato con il proprio hardware.''''
*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 


=== Gestione del Software e repositorio (portage) ===
=== 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'''''


* Il comando per lavorare sul software installao/installabile di Gentoo è emerge.
* analizzo il pacchetto kdebase, che è una bella ''sbranda di robba''


==== Masking ====
==== Smascherare + pacchetti ====
* 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''
#!/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 ====
=== 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 =====
==== 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


emerge coldplug
== Kernel ==
rc-update add coldplug boot
elwood ~ # /etc/init.d/coldplug start
 
=== Installare Gentoo in raid 1 ===
 
userò hda e hdc:
livecd ~ # cat /proc/ide/ide[01]/hd[ac]/model
Maxtor 7Y250P0
Maxtor 6Y160P0
 
=== Kernel ===
 
* perfavore , provare il kernel 2.6.20_rc6 , è strepitoso.
 
  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

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:

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