# Qualche dubbio da neofita

## mephistofile

Salve a tutti e piacere di essere entrato a far parte di questa comunità. Da qualche anno uso Linux e ultimamente mi è venuta voglia di provare Gentoo.

Dopo essermi letto la documentazione, il manuale di Gentoo e una miriade di post credevo di essere pronto per l'impresa ma i dubbi vengono subito fuori.

In particolare il sistema di gestione delle use flag (quali mettere nel make.conf ?) che a quanto pare tiene conto di quanto definito in 3 profili; a titolo di esempio

riporto il codice 2.1 del capitolo 2 reperibile su: http://www.gentoo.org/doc/it/handbook/handbook-x86.xml?part=2&chap=2

```

(Questo esempio è la somma delle impostazioni in base, default-linux, default-linux/x86 e default-linux/x86/2004.3)

USE="x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77

           foomaticdb gdbm gif gpm gtk imlib jpeg kde gnome libg++ libwww mad

           mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt

           quicktime readline sdl spell ssl svga tcpd truetype X xml2 xmms xv zlib"

```

Se ho ben capito, giusto per fare un esempio, volendo usare solamente kde dovrei mettere nel make.conf qualcosa di simile a:

```

USE="-gnome -gtk"

```

dato che le USE per kde sono già definite e non ho bisogno di ridefinirle; o mi sto sbagliando ?

Seconda domanda. Vista la vostra esperienza quali use consigliereste per un sistema desktop capace di visualizzare immagini, riprodurre filmati, film,

mp3 e mp4 ecc ?

L'hardware con il quale mi trovo a lavorare è il seguente:

```

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)

00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c)

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)

00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)

00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)

00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)

00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)

00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)

00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)

01:00.0 VGA compatible controller: nVidia Corporation GeForce 8400M GS (rev a1)

02:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)

06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 01)

07:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)

07:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)

07:09.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)

07:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)

07:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)

```

Il processore viene visto in questo modo:

```

processor   : 0

vendor_id   : GenuineIntel

cpu family   : 6

model      : 15

model name   : Intel(R) Core(TM)2 Duo CPU     T7250  @ 2.00GHz

stepping   : 13

cpu MHz      : 800.000

cache size   : 2048 KB

physical id   : 0

siblings   : 2

core id      : 0

cpu cores   : 2

apicid      : 0

initial apicid   : 0

fdiv_bug   : no

hlt_bug      : no

f00f_bug   : no

coma_bug   : no

fpu      : yes

fpu_exception   : yes

cpuid level   : 10

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida tpr_shadow vnmi flexpriority

bogomips   : 3990.62

clflush size   : 64

power management:

processor   : 1

vendor_id   : GenuineIntel

cpu family   : 6

model      : 15

model name   : Intel(R) Core(TM)2 Duo CPU     T7250  @ 2.00GHz

stepping   : 13

cpu MHz      : 800.000

cache size   : 2048 KB

physical id   : 0

siblings   : 2

core id      : 1

cpu cores   : 2

apicid      : 1

initial apicid   : 1

fdiv_bug   : no

hlt_bug      : no

f00f_bug   : no

coma_bug   : no

fpu      : yes

fpu_exception   : yes

cpuid level   : 10

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida tpr_shadow vnmi flexpriority

bogomips   : 3990.45

clflush size   : 64

power management:

```

e questo è il make.conf che avevo pensato di usare. 

```

# Il processore è un core2 ma se ho ben capito  la flag core2 sarebbe per i sistemi a 64bit mentre prescott per i 32bit

CFLAGS="-O2 -march=prescott -pipe"

CXXFLAGS="-O2 -march=prescott -pipe"

# Anche qua se non ho capito male l'impostazione consigliata è il numero delle cpu + 1 quindi nel mio caso 3. O sbaglio ?

MAKEOPTS="-j3"

CHOST="i686-pc-linux-gnu"

# Ho messo queste flag, pur essendo un laptop, in quanto quando sono a casa uso mouse e tastiera usb

INPUT_DEVICES="evdev keyboard mouse synaptics"

# Scheda video e scheda audio

VIDEO_CARS="nvidia"

ALSA_CARDS="hda-intel"

# Ho necessità di compilare in una partizione separata

PORTAGE_TMPDIR="/partizione"

# Ho già usato la ccache e so che benefici da. Levare a portage i privilegi di root durante lo scaricamento è veramente utile ?

FEATURES="ccache userfetch"

CCACHE_DIR="/partizione/tmp/ccache" ccache -s

CCACHE_SIZE="2G"

# Per lavoro e gioco uso dei pacchetti che non sono nel albero di portage e delle patch che non sono mai state accettate in portage (ad esempio la patch

# per il puntatore del mouse in alcuni giochi emulati con wine) e quindi devo creare un mio overlay personale con il relativo ebuild (ho studiato come fare)

# per poter scaricare i sorgenti, applicare la patch e compilarli.

PORTDIR_OVERLAY="/directory"

```

Mi fermo qua. Che ne pensate ? 

Grazie in anticipo per le risposte.

Adriano

----------

## lucapost

Riguardo l'impostazione delle cflags dai una letta a http://en.gentoo-wiki.com/wiki/Safe_Cflags, al limite imposta CFLAGS="-march=native -O2 -pipe".

Una regola non scritta che utlizzo personalmente è quella di lasciare l'impostazione delle USE nel file make.conf la più scarna possibile, ed eventualmente abilitare il supporto per un determinato programma direttamante con il file /etc/portage/package.use et simila.

Parti innanzitutto definendo correttamente il profilo che intendi utilizzare, il tuo processore dovrebbe supportare i 64bit, a perte questo i profili per te disponibile li puoi verificare attraverso il comando: 

```
 eselect profile list
```

e per selezionare il profilo...beh eselect profile help, probabilmente un profilo desktop è quello che fà per te.

Mi sembra di capire che come DE tu abbia intenzione di utilizzare kde4, quindi una volta selezionato il profilo verifca che le USE="qt4 kde" siano abilitate con 

```
emerge --info
```

altrimenti aggiungile pure nel tuo make.conf.

Non credo che ci sia la necessità di indicare nel make.conf le USE="-gtk -gnome". 

Potrebbe esserti utile seguire questa guida: http://www.gentoo.org/proj/it/desktop/kde/kde4-guide.xml.

----------

## canduc17

Ti consiglio di fare un'installazione a 64 bit e questo sito: http://kmuto.jp/debian/hcl/

Dai un

```
lspci -n
```

copi-incolli l'output nel form del sito e lui ti dice i moduli del kernel che devi compilare per il tuo hardware.

----------

## mephistofile

@lucapost

@conduct

Innanzi tutto grazie per le risposte. Entrambi, sia pur in modo diverso, avete consigliato un installazione a 64bit e sto considerando l'idea. Al momento non ho ancora installato niente

e sto solamente cercando di capire meglio il funzionamento di Gentoo.

Dunque ho scelto il profilo desktop e dal risultato di 

```

emerge --info

Portage 2.1.6.13 (default/linux/x86/10.0/desktop, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.28-11-generic i686)

=================================================================

System uname: Linux-2.6.28-11-generic-i686-Intel-R-_Core-TM-2_Duo_CPU_T7250_@_2.00GHz-with-gentoo-1.12.13

Timestamp of tree: Thu, 19 Nov 2009 01:45:01 +0000

app-shells/bash:     4.0_p28

dev-lang/python:     2.6.2-r1

sys-apps/baselayout: 1.12.13

sys-apps/sandbox:    1.6-r2

sys-devel/autoconf:  2.63-r1

sys-devel/automake:  1.10.2

sys-devel/binutils:  2.18-r3

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.6a

virtual/os-headers:  2.6.27-r2

ACCEPT_KEYWORDS="x86"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=i686 -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"

CXXFLAGS="-O2 -march=i686 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LANG="it_IT.UTF-8"

LDFLAGS="-Wl,-O1"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X a52 aac acl acpi alsa berkdb bluetooth branding bzip2 cairo cdr cli consolekit cracklib crypt cups dbus dri dts dvd dvdr eds emboss encode evo fam firefox flac fortran gdbm gif gnome gpm gstreamer gtk hal iconv ipv6 jpeg kde ldap libnotify mad mikmod modules mp3 mp4 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3support qt4 quicktime readline reflection sdl session spell spl ssl startup-notification svg sysfs tcpd thunar tiff truetype unicode usb vorbis win32codecs x264 x86 xml xorg xulrunner xv xvid zlib" 

ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci"

ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" 

APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias"

ELIBC="glibc" 

INPUT_DEVICES="keyboard mouse evdev" 

KERNEL="linux" 

LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" 

USERLAND="GNU" 

VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

mi par di capire diverse cose:

1) Il profilo per la mia macchina è settato a DESKTP (prima riga)

2) Mi vengono date un certo numero di informazioni sul sistea (versione del kernel, del portage, varie librerie, flag di compilazione ecc)

3) Poi le use attive per varie sezioni e qua mi viene spontanea una domanda. Ma tutta questa roba inutile, ad esempio la sezione VIDEO_CARDS, mi serve sul serio o la potrei

al limite disabilitare ? Intendo dire: Io che uso una nvidia, che tra le altre cose non compare in nessuna sezione, ho sul serio bisogno di portarmi dietro tutte le use per le 

altre schede video o le posso disabilitare ?

Grazie per le risposte.

Adriao

----------

## lucapost

Ma in /etc/make.conf hai inserito:

```
VIDEO_CARDS="nvidia"
```

 :Question: 

----------

## mephistofile

 *lucapost wrote:*   

> Ma in /etc/make.conf hai inserito:
> 
> ```
> VIDEO_CARDS="nvidia"
> ```
> ...

 

Ora si .. prima stavo testando le impostazione di default senza toccare il make.conf ... ma sono ancora indeciso su quali use abilitare proprio nel make.conf

----------

## lucapost

IMHO, le USE non le devi abilitare a priori, lasci tutto come richede il tuo profilo. Poi, ad esempio, lanci il comando:

```
emerge kdebase-startkde -pt
```

e vedi quali pacchetti ti vuole installare e con quali USE. 

Se non conosci cosa fa una determinata USE, puoi cercare informazioni con:

```
quse -D tua_use
```

Se vuoi modoficare qualcosa, a questo punto aggiungi il pacchetto al file /etc/portage/package.use  con le opzioni che desideri.

Approfondisci questa guida: http://www.gentoo.org/doc/it/handbook/handbook-x86.xml?part=2.

----------

## danydany

...e per abilitare/disabilitare puoi usare il comando

```
# euse
```

----------

## mephistofile

 *lucapost wrote:*   

> IMHO, le USE non le devi abilitare a priori, lasci tutto come richede il tuo profilo. Poi, ad esempio, lanci il comando:
> 
> ```
> emerge kdebase-startkde -pt
> ```
> ...

 

In realtà è da ieri che sto ponendo male la domanda. 

Premesso che avevo già usato Gentoo anche se per poco tempo un paio di anni fa e di use ne avevo circa 15 nel make.conf volevo solamente sapere se era consigliato 

aggiungerne altre visto che le "mie" sono già tutte comprese nel profilo che ho postato poco sopra. Dicendo "lascia tutto come richiede il tuo profilo" mi hai dato esattamente

la risposta che cercavo; ora posso iniziare a compilare.

Grazie mille locapost e anche a danydany

----------

