# [install] Gentoo sur un disque de 1.4Go (résolu)

## bouba331

Bonjour, je souhaite installer une gentoo sur un disque dur de 1.4Go, je viens de réaliser l'installation, mais mon disque dur est déjà casiment plein (1.3Go). Je ne peux pas faire un emerge --sync, mon disque dur devient vite plein, existe t'il un document expliquant comment installer une gentoo "minimale" ? Quels sont les paquets à supprimer afin de réduire mon espace disque (j'ai installé a partir d'un stage3) ? J'aimerai utiliser ce PC (celui avec un dd de 1.4 Go) pour faire tourner un serveur Apache, ftp, xMule et bittorent afin de soulager le PC que j'utilise pour travailler. 

Merci.

BoubaLast edited by bouba331 on Sun Nov 13, 2005 7:24 pm; edited 1 time in total

----------

## robinhood

As tu vidé /var/tmp/portage, /usr/portage/distfiles et /tmp est-il vidé au demarrage de ta machine?

EDIT: Ceci dit 1,4Go c'est chaud quand même.

----------

## bouba331

Oui, j'ai vidé ces répertoires, après ceci je passe a 1.2Go d'espace disque utilisé, mais ceci c'est toujours pas suffisant, j'ai installé a partir d'un stage3 car les stage1 et 2 n'étaient pas présent sur mon CD d'installation. Les stage1 et 2 doivent prendre moins de place non ?

----------

## robinhood

Non, les stages 1 et 2 ne prennent pas moins de place, ils servent théoriquement à compiler intégralement ton système à l'installation, et sont plus ou moins déconseillés desormais à cause de leur intéret limité et de quelques bugs. J'ai un routeur ici sous Gentoo avec juste le stricte minimum, il pèse le même poids que ton installation. Il existe des solution mais tu risque de devoir passer par du diskless, un liveCD ou une cléUSB faites maison, ça n'a plus rien a voir donc...

----------

## bouba331

Oui, si j'ai vraiment plus que cette solution je monterai un client diskless. Pour le moment je vais essayer de mettre un -Os dans mon CFLAGS et recompiler tous les paquets voir si celà diminue la taille de façon conscéquente ou pas. Encore autre chose, y'a t'il un document ou il est possible de connaitre les paquets installés dans le stage3 ? Je pourrai peut-être en désinstaller quelques-un ?

Merci.

Bouba

----------

## Enlight

C'est super chaud, néanmoins quelques pistes me parraisent jouables. Si certaines t'interessent on pourra toujours essayer d'approfondir.

Nettoyer les distfiles (/usr/portage/distfiles) et les logs (/var/log/) le plus fréquement possible.

Utiliser -Os pour génerer des binaires plus petit.

Utiliser USE=-*" dans le make.conf puis n'ajouter que les flags qui te seront vraiment nécessaires (en regardant avec emerge -pv) /* a partir d'un stage1 ou 2 on doit gagner en place sur un stage3 */

Utiliser reiser4 qui semble capable d'effectuer des de/compressions à la volée (à confirmer par les addicts), ou ext2 qui n'a pas de journal, reiser 3.6 je crois peut aussi via certaines options être utilisé sans journal.

Tweaker ton file system au moment des mkfs pour avoir des blocks le plus petit possible.

Utiliser squashfs pour compresser certaines partitions puis monter l'archive.

Mettre les parties vitales du système sur cdrom et utiliser unionfs.

utiliser un montage nfs, cifs depuis un poste windows, ou autre (je crois qu'il y'a un nouveau programme pour faire des montages via ssh etc..., fuse je crois qu'il s'appele, mais là encore je maitrise pas trop) poue le /home ou le /usr/portage).

Si tu utilises ext3, vérifier qu'une place importante n'a pas été reservée à /root avec tune2fs.

----------

## bouba331

Ok, tu me conseilles quoi comme taille pour les blocks disque en ReiserFS ? Je peux peut-être aussi jouer sur la taille du journal apparement ?

----------

## Enlight

Comme dit reiserfs3.6, il me semble te permet de dégager purement et simplment le journal, ça devrait tre faire gagner quelques megas. Après ce n'est pas un fs que je connais bien (XFS addict mais je vais éviter de saouler les autres une fois de plus avec ma propagande, et dans ton cas je ne le recommande pas).

Bref en plus là j'ai pas ma gentoo sous la main donc je suis obligé de te renvoyer vers le man de la commande de formatage resiserfs (non ce n'est pas un RTFM!!!), à moins que quelqu'un puisse t'aider sur ce point.

Edit : Par contre au montage avec reiser3.6 ne mets surtout pas l'option notail, elle speede un peu les choses au début, mais augmente la fragmentation, et vu que t'es déjà super juste en place, c'est vraiment à éviter.

----------

## bouba331

Déjà j'ai fait l'âne, j'avais deux partitions de swap, j'en ai maintenant supprimé une, ca devrai aller un pe mieux, sinon pour reiserfs, la taille minimale du journal a l'air d'être de 513 blocks et la taille minimale des blocks de 512 octets (selon le man). Je test tout ça et je vous tiens au courant de l'avancement de l'installation.

Merci pour cette aide.

Bouba

----------

## marvin rouge

Et trouver un DD d'occase, pas cher, à rajouter dans la machine, ca serait pas plus simple (t'as besoin que de qq Go) ?

+

----------

## vishnoo

L'idéal ça serait d'avoir un disque temporaires pour le temps de la compilation (pour y mettre  /usr/portage et le PORTAGE_TMPDIR...). Après si c'est pas possible, y'a toujours moyen d'utiliser sshfs comme le suggère Enlight, mais j'imagine que ça doit être lent ^_^

Ensuite faudrait compiler avec le minimum de useflags, puis reste à tweaker le système : virer les trucs style pages man, sources du noyau, les headers. Ah oui, il doit aussi y'avoir moyen de passer un "strip" sur les libs pour les rendre plus petites. Et aussi virer tout ce qui est inutile à la mano (emerge -pv --emptytree system ou world pour voir ce que t'as). 

Enfin, à ce stade-là je pense que tu peux avoir des infos en cherchant comment ont fait les gens qui ont installé des LFS minimales (ils arrivaient à descendre jusqu'à  moins de 10M pour kernel+apache si mes souvenirs sont bons :p  )

Mais je pense qu'avec une distrib source où faut tout compiler et avoir les headers et tout, y'a de la bidouille à faire mais tu dois pouvoir obtenir un resultat vachement petit ; par contre c'est peut-être le genre de situation où une distrib binaire est plus simple et plus appropriée, non ?

----------

## Enlight

Portage "strippe" par défaut, nostrip est une FEATURE. 8Mo la LFS qui fait tourner apache   :Shocked:  .

Il peut aussi vider /usr/src après les copiles (eventuellement juste laisser le .config) et mettre le kernel sur disquette. Ca va finir en how-to cette affaire je le sens   :Laughing: 

----------

## bouba331

Ok, je vais essayer tout ca.

Thanks.

Bouba

----------

## bouba331

arghh, j'ai un problème , le système se bloque quand je fais un env-update.

Le problème vient de reiserfs, l'erreur optenue est la suivante.

```

ReiserFS: hdb2: warning: vs-8111: get_num_ver:split_item_position is out of boundary

Unable to handle kernel NULL pointer dereference at virtual address 00000190

```

----------

## execrabe

une méthode barbare pour récupérer de la place après un emerge sync, est de virer les répertoires de ton /usr/portage inutile, mais là faut être sur de ne peux pas virer un répertoire avec de dépendances que tu utilises, 

mais je pense que virer tout ce qui est " X games kde gnome xfce " devrait te faire gagner de la place, chez moi cela fait rapidement 15Mo de gagner sachant qu'ensuite tu peux ajouter des repertoires comme app-pda ou d'autres au cas par cas.

Bien sur il faut en faire un script. apres si tu n'as pas peur il y a des paquets installés que tu peux virer.

Regarde si nano est plus gros ou moins gros que vim ! et d'autres paquets dans la même optique.

Il y a certainement des docs inutiles ou des man.

C'est une tahce difficile

----------

## bouba331

Ok, j'espère ne pas avoir a aller jusque là mais bon, si il le faut je m'y pencherai, merci. 

En ce qui concerne l'erreur que j'avais eu 2 posts plus haut, le problème a l'air de venir de l'option -b 512 pour forcer mkfs.reiserfs a créer des blocks de 512 octets.

```

mkfs.reiserfs -b 512 -s 513 /dev/hdb2

```

J'ai recréé un SF avec des blocks d'une taille standard c'est a dire 4Ko et ca fonctionne. C'est un peu dommage, je pense que j'aurai pu gagner un pe d'espace disque avec des blocks moins grands. Si quelqu'un sait d'ou peut venir ce problème ce serai cool !

----------

## Enlight

 *bouba331 wrote:*   

> arghh, j'ai un problème , le système se bloque quand je fais un env-update.
> 
> Le problème vient de reiserfs, l'erreur optenue est la suivante.
> 
> ```
> ...

 

Ermf... on dirait que t'as pas de chance... un rapide google tour me dit que ça arrive avec des blocs de 512 a priori et que les seuls patchs actuelement disponibles servent a rendre le kernel plus verbeux pour essayer de comprendre d'ou viens le problème...   :Rolling Eyes: 

A la limite tu peux tenter de la remonter avec mount -o remount /mnt/ta_partoche -o hash=tea mais je promets rien ton erreur n'a pas l'air d'une hash collision   :Confused: 

----------

## Enlight

 *bouba331 wrote:*   

> Ok, j'espère ne pas avoir a aller jusque là mais bon, si il le faut je m'y pencherai, merci. 
> 
> En ce qui concerne l'erreur que j'avais eu 2 posts plus haut, le problème a l'air de venir de l'option -b 512 pour forcer mkfs.reiserfs a créer des blocks de 512 octets.
> 
> ```
> ...

 

comme dit ça a l'air spécifique aux blocs de 512, essaye 1024 sinon, ça devrait toujours être ça de gagné.

----------

## [loki]

J'ai déjà installé Gentoo sur un laptop avec un HD de 2.0 Go. C'était très très serré et j'ai dû recourir à plusieurs trucs pour pouvoir avoir un petit peu de marge de manoeuvre. 

Principalement, j'ai placé tout ce dont je n'avais pas besoin pour opérer l'ordinateur au jour-le-jour sur un autre ordinateur et j'y accédais par NFS. Ça inclut l'arbre portage (/usr/portage) et les sources du kernel (/usr/src/), mais avec un peu d'imagination tu peux sauver plus d'espace comme ça.

D'ailleurs, si tu as un autre ordi sous Gentoo, il est inutile d'avoir 2 x l'arbre de portage, partage tout simplement ton /usr/portage par NFS et monte le sur ton serveur. Un simple "emerge metadata" permet de mettre la cache à jour après un "emerge sync".

Par contre, selon mon expérience, c,est se donner beaucoup de mal à faire entrer un système assez gourmand en taille dans un espace disque très serré. Tu devrais considérer installer une distro précompilée.

----------

## execrabe

 *Quote:*   

> Par contre, selon mon expérience, c,est se donner beaucoup de mal à faire entrer un système assez gourmand en taille dans un espace disque très serré. Tu devrais considérer installer une distro précompilée.

 

Et l'amour pour la gentoo, tu en fais koi. Par expérience une autre distro, c'est bien mais après quelques updates, c'est vite le bordel. Alors pour un apache, rien de mieux qu'une Gentoo. C'est mon avis.

Par contre l'idée de partager /usr/portage, /var/tmp/portage, doit être une solution.

----------

## razer

Je te conseille de jeter un oeil ici :

https://forums.gentoo.org/viewtopic-t-381745-highlight-reduce+portage+size.html

L'arbre de portage prend beaucoup d'espace, on gagne énormément en y éliminant ce que l'on utilise pas

La méthode est :

supprimer les répertoires d'ebuild inutilisés et le cache dans metadata

créer un rsync_exclude pour éviter qu'ils soient recrées au prochain "emerge sync"

Utiliser un tmp sur NFS pour la compilation de gros trucs (voir compiler via chroot si la machine est à l'image du disque : obsolète)

Via cette méthode j'ai installé une gentoo sur un disque de 1 Go, et je me suis même offert Xorg  :Smile: 

----------

## BuBuaBu

J'ai une gentoo + kde sur un 1 Go.

Compilation sur une autre machine, avec un autre disque monté en /usr/portage/Distfiles

Donc c'est faisable.

----------

## bouba331

Je vous remercie pour toutes ces réponses, je n'ai pas trop le temps de m'en occuper aujourd'hui, mais je vais essayer de faire ca dans le week-end. Avec un ptit mix de toutes les astuces que vous m'avez donné je ne devrai pas avoir trop de problème. Je vous tiens au courant de l'avancement de mon install.

Merci.

Bouba

----------

## bouba331

Bon, alors voilà, j'ai réinstallé sur une partition reiserfs à partir d'un stage 1, c'est super bizar, je n'aurai jamais espéré gagner autant d'espace disque. L'install a pris seulement 800Mo environ. J'ai compilé a partir d'un stage 1 avec l'option -Os dans les flags de compilation et FEATURES="nostrip". Je pense que reiserfs a aussi permis de gagner beaucoup. 

Donc pour résumer, 

-créer une partition reiserfs avec une taille des blocs de 1024 octets et un journal de 513 blocks (il semble qu'une taille de blocks de 512 soit acceptée mais peut causer certains problèmes, pas cool quand on a déjà passé pas mal de temps sur l'install et que l'on doit tout recommencer !!!)

```
mkfs.reiserfs -b 1024 -s 513 /dev/hdXX 
```

-réaliser une install a partir d'un stage1, mettre 

```
CFLAGS = ".... -Os ...." 

FEATURES = "nostrip"
```

dans le make.conf

- enfin, si vous avez un disque vraiment tout petit et si celà est possible, monter un maximum de répertoire servant a PORTAGE par l'intermédiaire de NFS sur le disque dur d'un autre PC (et même carrément /usr/portage).  Les différentes variables pour la localisations des répertoires de portage sont situées ici http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=1#doc_chap2.

Merci encore pour toutes vos idées.

Bouba

----------

## vishnoo

 *bouba331 wrote:*   

> Bon, alors voilà, j'ai réinstallé sur une partition reiserfs à partir d'un stage 1, c'est super bizar, je n'aurai jamais espéré gagner autant d'espace disque. L'install a pris seulement 800Mo environ. 

 

Alors raconte, t'a quoi finallement comme système avec ces 800 Mo ?

----------

## Enlight

Oui racontes!!!

Par-contre je vois juste qu'un de mes propos a été mal interprété, concernant FEATURE="nostrip", ne pas stripper un binaire n'a de sens que si l'on souhaite effectuer du debugage, mais là généralement on compile avec -g dans les CFLAGS.

Le fait de stripper les binaires sert à gagner en performances, mais je ne saurait dire s'il agit sur la taile du binaire (si oui, il le réduit) ou s'i se contente de "taper" dans les symboles (1024 premiers octets du format ELF si je dis pas de conneries).l

----------

## ridben

Bah normalement le fait de stripper un binaire permet de diminuer (des fois énormément) la taille des binaires en enlevant les infos de débuggage.

----------

## bouba331

Bonjour, désolé de répondre si tard, j'avais des partiels et donc pas mal de boulot en ce début de semaine. Pour le moment avec 800 Mo j'ai pas grand chose d'installé, mais le répertoire /usr/portage me prend quand même un pe plus 400Mo, je vais monter le répertoir de portage de mon autre PC avec NFS ce qui me fera gagner de la place, surtout que j'en aurait rarement besoins. Voici la liste des paquets installés pour le moment:

```

* installed packages

app-admin/syslog-ng-1.6.8-r1

app-admin/perl-cleaner-1.01

app-arch/tar-1.15.1

app-arch/bzip2-1.0.3-r5

app-arch/gzip-1.3.5-r8

app-arch/cpio-2.6-r4

app-crypt/hashalot-0.3

app-editors/nano-1.3.7

app-portage/gentoolkit-0.2.0-r2

app-shells/bash-3.0-r12

dev-lang/python-2.3.5

dev-lang/python-2.4.2

dev-lang/perl-5.8.6-r6

dev-libs/popt-1.7-r1

dev-libs/libol-0.3.16

dev-libs/openssl-0.9.7e-r2

dev-libs/expat-1.95.8

dev-perl/Locale-gettext-1.03

dev-python/python-fchksum-1.7.1

dev-util/pkgconfig-0.17.2-r1

mail-mta/ssmtp-2.61

media-libs/fontconfig-2.2.3

media-libs/libpng-1.2.8

media-libs/freetype-2.1.9-r1

media-video/nvidia-kernel-1.0.6629-r4

net-mail/mailbase-1

net-misc/wget-1.10.2

net-misc/iputils-021109-r3

net-misc/dhcpcd-2.0.0

net-misc/rsync-2.6.0-r6

net-misc/openssh-4.2_p1

sys-apps/texinfo-4.8-r2

sys-apps/pam-login-3.17

sys-apps/less-382-r2

sys-apps/hdparm-5.9

sys-apps/findutils-4.1.20-r1

sys-apps/sed-4.1.4

sys-apps/kbd-1.12-r5

sys-apps/tcp-wrappers-7.6-r8

sys-apps/help2man-1.33.1

sys-apps/hotplug-base-20040401

sys-apps/portage-2.0.51.22-r3

sys-apps/debianutils-2.14.1-r1

sys-apps/net-tools-1.60-r11

sys-apps/baselayout-1.11.13-r1

sys-apps/gawk-3.1.4-r4

sys-apps/grep-2.5.1-r8

sys-apps/diffutils-2.8.7-r1

sys-apps/busybox-1.00-r4

sys-apps/sandbox-1.2.12

sys-apps/man-pages-2.11

sys-apps/man-1.6-r1

sys-apps/shadow-4.0.7-r4

sys-apps/util-linux-2.12r

sys-apps/groff-1.19.1-r2

sys-apps/sysvinit-2.86

sys-apps/module-init-tools-3.0-r2

sys-apps/file-4.13

sys-apps/slocate-2.7-r7

sys-apps/coreutils-5.2.1-r6

sys-apps/which-2.16

sys-boot/grub-0.96-r2

sys-devel/binutils-2.15.92.0.2-r10

sys-devel/autoconf-wrapper-3-r1

sys-devel/gettext-0.14.4

sys-devel/automake-1.7.9-r1

sys-devel/automake-1.8.5-r3

sys-devel/automake-1.9.6-r1

sys-devel/patch-2.5.9

sys-devel/autoconf-2.59-r6

sys-devel/automake-1.5

sys-devel/libperl-5.8.6-r1

sys-devel/automake-wrapper-1-r1

sys-devel/flex-2.5.4a-r6

sys-devel/gnuconfig-20050602

sys-devel/automake-1.4_p6

sys-devel/bc-1.06-r6

sys-devel/automake-1.6.3

sys-devel/binutils-config-1.8-r5

sys-devel/autoconf-2.13

sys-devel/bison-1.875d

sys-devel/gcc-config-1.3.12-r3

sys-devel/libtool-1.5.20

sys-devel/gcc-3.3.6

sys-devel/m4-1.4.3

sys-devel/make-3.80-r2

sys-fs/udev-070-r1

sys-fs/e2fsprogs-1.38

sys-kernel/gentoo-sources-2.6.13-r5

sys-kernel/linux-headers-2.6.11-r2

sys-libs/com_err-1.38

sys-libs/zlib-1.2.3

sys-libs/cracklib-2.8.3-r1

sys-libs/db-4.2.52_p2

sys-libs/ss-1.38

sys-libs/readline-5.0-r2

sys-libs/pam-0.78-r3

sys-libs/gpm-1.20.1-r4

sys-libs/ncurses-5.4-r6

sys-libs/gdbm-1.8.3-r2

sys-libs/glibc-2.3.5-r2

sys-libs/pwdb-0.62

sys-process/vixie-cron-4.1-r8

sys-process/cronbase-0.3.2

sys-process/psmisc-21.6

sys-process/procps-3.2.5-r1

x11-base/opengl-update-2.2.1

x11-misc/ttmkfdir-3.0.9-r
```

Voilà, j'ai pas grand chose de très utile pour l'instant, mais bon, en supprimant le répertoire portage je devrai obtenir quelque chose de convenable. 

J'ai une petite question, je souhaite installer un client eMule sur ce PC, mais je n'ai rien trouvé en ligne de commande, vous en connaissez un ?

Merci.

Bouba

----------

## netfab

Salut,

Amule avec le useflag remote non ?

----------

## bibi.skuk

c'est bizarre, j'ai l'impression que même avec remote, il veux absolument wxGTK...

----------

## bouba331

Ouai, effectivement,apparement le use flag remote permet d'avoir accès a la commande amulecmd. Apparement, il va me falloir aussi le useflag amuled pour faire tourner le démon aMule. Je compile ça de suite.

Merci.

Bouba

----------

