Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SCRIPT] Gentoo sans Internet ou avec Internet bas-débit
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Magic Banana
Veteran
Veteran


Joined: 13 Dec 2005
Posts: 1912
Location: Belo Horizonte, Minas Gerais, Brasil

PostPosted: Wed Jan 24, 2007 3:12 pm    Post subject: [SCRIPT] Gentoo sans Internet ou avec Internet bas-débit Reply with quote

À qui s'adresse ce script ?

Avant tout aux Gentoo sans Internet ou avec une connexion bas débit. Néanmoins presque tout le monde en a besoin à un moment ou à un autre (oubli de payer la facture du FAI, grillage du modem, problème à la mise à jour des pilotes de la carte réseau, etc.).

Il est nécessaire pour utiliser offline-emerge (c'est son petit nom) d'avoir un périphérique retirable (typiquement une clé USB) et d'avoir accès à un ordinateur de type *NIX (GNU/Linux, BSD, Mac OS X, etc.) connecté à Internet. Le périphérique retirable n'a pas besoin d'être consacré à offline-emerge : le script fait avec la place disponible.

Quel est son but ?

Offline-emerge permet de garder la puissance de la commande emerge sans avoir recours directement à Internet. Toutes les actions nécessitant d'aller chercher quelque fichier sur le réseau des réseaux listent à la place, sur le périphérique retirable, les URLS de ces fichiers. Un script sur le périphérique retirable s'occupe du téléchargement. De retour sur la Gentoo, une commande permet d'exécuter toutes les actions précédemment reportées. Malgré l'absence de connexion Internet, il est ainsi très facile de mettre à jour son arbre Portage, d'installer un nouveau logiciel ou de mettre à jour tout son système.

Et plus concrètement ça donne quoi ?

Un cycle d'utilisation typique :

Sur la Gentoo :
Lister les logiciels du système à mettre à jour:
# offline-emerge -uDNpv world

Demander la mise à jour complète du système:
# offline-emerge -uDN world

Demander l'installation de Listen:
# offline-emerge =media-soud/listen-0.4.3


Comme vous l'aurez probablement compris, toutes les utilisations valides de emerge le sont aussi avec offline-emerge (à l'exception de l'option --sync comme nous le verrons par la suite). Les deux dernières commandes de cet exemple seront exécutées si tous les fichiers nécessaires sont présents sur la Gentoo. Autrement chacune donne lieu à la création d'un fichier portant le nom de la commande dans le répertoire actions sur le périphérique retirable. Avec les exemple ci-dessus, ces fichiers s'appelleraient "-uDN world" directement dans actions et "=listen-0.4.3" dans un sous-répertoire media-soud).

À tout moment il est possible de supprimer un de ces fichiers ce qui aura pour conséquence l'annulation de l'action correspondante. Ainsi si vous voulez renoncez à la mise à jour de votre système (mais pas à l'installation de Listen), vous n'avez qu'à supprimer le fichier "-uDN world" qui se trouve dans le répertoire actions de votre périphérique retirable.

Sur l'ordinateur connecté à Internet :
Il vous suffit d'exécuter le script nommé "fetch" qu'offline-emerge a créé sur votre périphérique retirable. En général, cela revient à double-cliquer sur le scripter et à choisir "Exécuter" ou "Exécuter dans un terminal".

fetch télécharge, dans un répertoire nommé "distfiles", l'ensemble des fichiers nécessaires à l'exécution des commandes qui ont été reportées. Il télécharge également le dernier instantané de l'arbre Portage si il est différent de celui actuellement sur la Gentoo.

Si la place vient à manquer, fetch laisse votre périphérique retirable plein à 100% de façon à ne pas avoir à recommencer depuis le début un téléchargement partiel ! Ceci peut vous sembler ennuyeux mais il n'en est rien. En effet, si vous avez besoin de place, vous pouvez, sans soucis d'intégrité, supprimer des sources dans distfiles ou un un instantanné de l'arbre Portage (forcément partiel). En aucun cas, offline-emerge ne tranférera un fichier partiellement téléchargé sur la Gentoo. Notez que vous pouvez aussi mettre à la main des sources dans distfiles. Elles seront transférées sur votre Gentoo.

De nouveau sur la Gentoo :
Retenter l'exécution de toutes les commandes précédemment appellées mais non exécutées et mettre à jour l'arbre Portage:
# offline-emerge --oldactions


Une commande pour tout faire. Nul besoin de se rappeler ce que vous avez précédemment demandé.

Pourquoi ne pas garder l'option --sync ?

Considérez les deux affirmations suivantes :
1) Mettre à jour son arbre Portage est utile lorsque l'on souhaite que les commandes suivantes utilisent le dernier arbre disponible.
2) Mettre à jour son arbre Portage nécessite forcément l'utilisation d'Internet et devrait donc être reporté par offline-emerge.

Il en résulte qu'un hypothétique offline-emerge --sync ne présente aucun intérêt. À la place, la mise à jour de l'arbre Portage est considérée comme une tâche quotidienne et ne demande donc aucune intervention particulière de l'utilisateur.

Comment installer offline-emerge ?

Un ebuild est disponible ici. Placez-le dans votre overlay (cf. le howto correspondant sur le wiki francophone) puis exécutez :
Code:
# emerge offline-emerge


Si vous êtes sans connexion Internet, il vous faut auparavant télécharger les sources à la main et les placer parmi vos distfiles.

Il vous faut enfin définir la variable MOVINGDIR dans /etc/make.conf. Cette variable doit contenir le chemin du répertoire sur votre périphérique retirable qu'offline-emerge utilisera. Par exemple vous pouvez faire :
Définir le répertoire utilisé par offline-emerge sur votre périphérique retirable (ici /media/usbdisk/moving-portage):
# echo 'MOVINGDIR="/media/usbdisk/moving-portage"' >> /etc/make.conf


À la première utilisation de offline-emerge, les fichiers sur le périphérique retirable seront créés (en particulier le script fetch). Si vous n'avez rien de particulier à faire mais avez besoin du script fetch pour télécharger le dernier instantanné de l'arbre Portage, offline-emerge --oldactions fera cela très vite.

Et si je modifie quelque chose dans /etc/portage/packages.* ou /etc/make.conf ?

Cela ne présente aucun problème. Vos changements influeront offline-emerge de la même façon que emerge. Pour que ces changements soient appliqués aux actions précédemment demandées mais non encore exécutées, vous devez faire :
Mettre à jour les actions précédemment demandées mais non encore exécutées:
# offline-emerge --oldactions


Mes distfiles ou/et mon arbre Portage sont dans des répertoires non-traditionnels. Cela pose-t-il problème ?

Non. :D

En savoir plus...

Offline-emerge est très facile à utiliser mais moins à expliquer... :oops:

Tout savoir sur offline-emerge:
# man offline-emerge


Vous pouvez aussi poser vos questions dans ce fil. :wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum