Miroir Fink

De WikiBR

FINK? Mais qu'est ce?

Tout d'abord, fink, qu'est-ce que c'est?

http://fink.sourceforge.net/ est le site du projet Fink, qui vise à porter sous Mac OS X, en utilisant le système de paquetages de Debian, des programmes UNIX, tout en fournissant une interface centralisée et simple pour les installer.

Plus d'informations ici :

http://fink.sourceforge.net/about.php?phpLang=fr

Pourquoi l'installer?

Parce qu'il permet d'utiliser facilement des logiciels tels que scilab, texmacs, doxygen, gtk, kde, lynx, rsync, etc.

Comment faire?

Suivez la procédure d'installation sur leur site, elle est bien faite. Si vous avez un accès direct (pas de proxy, firewall école entreprise) à internet, normalement, l'update doit bien se passer. Dans le cas contraire (comme à l'X où le proxy de la DSI bloque rsync), voir les solutions plus bas.

Configurer Fink pour utiliser un miroir spécifique

Warning.png Attention : Le paragraphe suivant s'applique au campus de l'X mais est facilement adaptable pour une autre situation.

A l'X, il faut utiliser les miroirs du BR pour éviter d'avoir à traverser le proxy, et d'être limité par la connection par le proxy de la DSI, kuzh. Une autre raison est que kuzh bloque rsync qui est utilisé par Fink, en utilisant les miroirs du BR on se libère de cette contrainte (puisqu'on ne se connecte pas à l'extérieur).

Il faut modifier le fichier /sw/etc/fink.conf après l'installation de Fink en suivant les instructions sur leur site pour utiliser le miroir. Chercher et mettre à jour les lignes suivantes :

SelfUpdateMethod: rsync
ProxyPassiveFTP: false
KeepRootDir: false
Mirror-master: ftp://miroir/fink/distfiles/
Mirror-rsync: rsync://miroir/finkinfo

ConfFileCompatVersion: 1
MirrorContinent: eur
MirrorCountry: eur-fr
ProxyHTTP: http://kuzh.polytechnique.fr:8080

L'idée est que l'on accède au miroir du BR par un serveur ftp local (ftp://miroir), donc on ne peut utiliser de proxy FTP.

En revanche, quand les paquets ne sont pas encore disponible sur le site maître ou sur le miroir, il faut tout de même récupérer les fichiers sur l'extérieur, donc on spécifie le proxy HTTP et l'on précise bien que l'on souhaite utiliser des miroirs HTTP pour toutes les sources externes.

Contourner les restrictions d'un réseau par un tunnel SSH

Pour contourner les restrictions mise en place par la DSI locale et qui empêche de se connecter aux miroirs Fink en rsync, on peut utiliser un tunnel SSH. Pour cela, il faut un accès SSH à un serveur à l'extérieur du réseau (que l'on note user@machine_distante).

Il faut ensuite déterminer la commande à taper pour joindre l'hôte distant SSH. A l'X, pour passer par le proxy, il faut rajouter l'option suivante à ssh :

-o ProxyCommand='socat - PROXY:kuzh.polytechnique.fr:%h:%p,proxyport=8080'

On appellera sshExt la commande ssh avec l'option qui permet de sortir.

L'idée est la suivante. Au lieu d'essayer de contacter directement le miroir (par exemple distfiles.master.finkmirrors.net) sur le port rsync (873), on va faire une redirection de port par un tunnel SSH et faire pointer un port local (par exemple 5555) vers distfiles.master.finkmirrors.net:873.

Ouvir le tunnel depuis le mac :

sshExt -L 5555:distfiles.master.finkmirrors.net:873 user@machine_distante

Il suffit ensuite de changer la ligne suivante dans le fichier de configuration de Fink (/sw/etc/fink.conf) :

# Mirror-rsync: rsync://distfiles.master.finkmirrors.net/finkinfo/
Mirror-rsync: rsync://localhost:5555/finkinfo/

et de lancer tout simplement l'update :

fink selfupdate

Et après?

Il faut ensuite mettre à jour les paquets :

fink selfupdate
fink update-all

Puis par exemple installez scilab :

fink install scilab

(ça va être *très* *très* *très* long, il a énormément de choses à recompiler, donc ça va prendre sans doute plus de 3h, voire encore plus. Lancez ça en début de nuit ;) )

Si vous voulez installer d'autres paquets, je vous conseillerais bien d'installer FinkCommander si j'étais certain qu'il était compatible avec cette configuration, mais il semblerait à première vue que ça ne soit pas parfaitement le cas :( Plus d'investigations sont nécessaires sur ce point.