Keep Da Link

To content | To menu | To search

Keyword - gentoo

Entries feed - Comments feed

-->

July 31, 2009

Python 2.6 in Gentoo stable

It was so long but python 2.6 is now in Gentoo stable, here is how to upgrade.

Continue reading...

Dec. 3, 2008

Gentoo bref récap des commandes de gestion de paquets

Avant toute chose installer l'outil gentoolkit

emerge -av gentoolkit

Ces nouvelles commandes vont vous permettre de:

A quel port appartient un binaire:

 equery belongs cjpeg
 [ Searching for file(s) cjpeg in *... ] 
media-libs/jpeg-6b-r8 (/usr/bin/cjpeg) 

Quels sont les dépendances d'un port:

equery depends gd
[ Searching for packages depending on gd... ]
dev-lang/php-5.2.6-r7 (gd-external? media-libs/gd)

Quels sont les fichiers installés par un package:

 equery files less
[ Searching for packages matching less... ]
* Contents of sys-apps/less-418:
/etc
/etc/env.d
/etc/env.d/70less
/usr
/usr/bin
/usr/bin/code2color
/usr/bin/less
/usr/bin/lessecho
/usr/bin/lesskey
/usr/bin/lesspipe.sh
/usr/share
/usr/share/doc
/usr/share/doc/less-418
/usr/share/doc/less-418/NEWS.bz2
/usr/share/doc/less-418/README.Gentoo.bz2
/usr/share/doc/less-418/README.bz2
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/less.1.bz2
/usr/share/man/man1/lessecho.1.bz2
/usr/share/man/man1/lesskey.1.bz2

Mettre à jour vos machines en s'assurant que tous les USE soient respectés, si vous changez une variable USE en ajoutant mysql par exemple, il est en théorie nécessaire de recompiler tous les packages qui peuvent avoir ce use flag, puis enlever le --pretent

emerge --update --deep --newuse world --pretend

Vérifier que chaque binaire référence une librairie encore existante sur votre sysème:
Après une mise à jour il se peut par exemple que la libgdbm ai changé de révision majeure libgdbm.so.3, un binaire linké à cette librairie en libgdbm.so.2 ne fonctionnera plus, c'est le role de revdep-rebuild de retrouver quels binaires doivent être recompilé.

Enlever les versions obsolètes d'un package:

emerge --prune gentoo-sources

Aug. 7, 2008

Installation de Gentoo 2008.0 sur une dedibox XL

Dedibox à l'heure actuelle ne fournit qu'une version 2007.0 de Gentoo en 32 bits.
Les core duo 2 sont des cpus 64bits en emulation amd64, voici les étapes à suivre pour installer une 2008.0 en 64bits:

Installer d'abord ubuntu en 64 bits pour avoir un rescue en 64 bits oui c est nul ...
Choisissez un partionnement qui ressemblera à votre future installation cela vous évitera de devoir le refaire à la main.

Une fois l'installation terminé, lancez la console de secours par l'interface dedibox, connectez vous

EDIT: ATTENTION dans mon exemple la swap est sur /dev/sda1 et mon / sur /dev/sda2, rien ne vous oblige à suivre le même partionnement, l'installation est la même que pour gentoo standard, la seule nuance réside dans le fait de faire cela a distance sans live cd, et d'avoir un kernel qui boot correctement.

mkdir /mnt/gentoo
mount /dev/sda2 /mnt/gentoo
cd /mnt/gentoo/
wget ftp://ftp.free.fr/pub/Distributions_Linux/Gentoo/releases/amd64/2008.0/stages/stage3-amd64-2008.0.tar.bz2
tar xvjpf stage3-amd64-2008.0.tar.bz2 
rm stage3-amd64-2008.0.tar.bz2 
wget ftp://ftp.free.fr/pub/Distributions_Linux/Gentoo/snapshots/portage-20080806.tar.bz2
tar xvjf portage-20080806.tar.bz2 -C /mnt/gentoo/usr

Editez /mnt/gentoo/etc/make.conf pour y faire figurer les infos suivantes:

CFLAGS="-march=nocona -O2 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ "
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
cp -L /etc/resolv.conf /mnt/gentoo/etc/
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"
emerge --sync

Editez /etc/locale.gen

en_US ISO-8859-1
en_US.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15
fr_FR.UTF-8 UTF-8
locale-gen
cp /usr/share/zoneinfo/Europe/Paris /etc/localtime
emerge gentoo-sources
cd /usr/src/linux

Pour le kernel il vous faut le module r8169 pour la carte réseau, et choisir Core duo 2 cpu Family 6, voici un fichier de config pour le kernel-2.6.25-gentoo-r7 qui fonctionne.

Editez /etc/fstab

/etc/fstab
/dev/sda2               /               ext3            noatime         0 1
/dev/sda1               none            swap            sw              0 0

Attention chez moi la swap est en début de disque en général, vous avez un /boot et un / qui peuvent être ailleurs voir la doc d'install de gentoo.
Editez /etc/conf.d/hostname

Editez /etc/conf.d/net

dns_domain_lo="nobugware.com"
config_eth0=( "88.191.xx.xx netmask 255.255.255.0 brd 88.191.xx.255" )
routes_eth0=( "default via   88.191.xx.1" )

Editez /etc/hosts

emerge -uDv system
emerge reiserfsprogs mirrorselect metalog ...
rc-update add metalog default
emerge vixie-cron
rc-update add vixie-cron default
crontab /etc/crontab
Editez /boot/grub/grub.conf
default 0
timeout 30

title Gentoo Linux

root (hd0,1)
kernel /boot/bzImage root=/dev/sda2

Ici encore attention chez vous le root n'est peut être pas sda2 ni (hd0,1)

grub>  root (hd0,
 Possible partitions are:
   Partition num: 0,  Filesystem type unknown, partition type 0x83
   Partition num: 1,  Filesystem type is ext2fs, partition type 0x83

grub>  root (hd0,1)
 Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... failed (this is not fatal)
 Running "embed /boot/grub/e2fs_stage1_5 (hd0,1)"... failed (this is not fatal)
 Running "install /boot/grub/stage1 (hd0) /boot/grub/stage2 p /boot/grub/menu.lst "... succeeded
Done.
emerge openssh
rc-update add sshd default
rc-update add net.eth0 default

Configurer /etc/conf.d/clock
Ajouter un passwd root eventuelement
emerge sudo et le configurer

useradd -m -G users,wheel,audio -s /bin/bash john
passwd john
umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
reboot

Vous avez une Gentoo 2008.0 64 bits sur votre dedibox XL.

Merci Juju pour les tests :)