Sortie de FreeBSD 8.1

Cela fait déjà quelques jours que FreeBSD 8.1 est disponible sur des sites mirroirs du monde entier, mais c’est hier que sa sortie a été officiellement annoncé. La branche 8 de FreeBSD se voit enrichie de cette deuxième version lui permettant d’améliorer son fonctionnement et sa stabilité tout en lui ajoutant de nouvelles fonctionnalités. Les changements ou ajouts les plus marquants sont : ajout de zfsloader; zpool composant de ZFS Subsystem mis à jour en version 14; NFSv4 ACL est supporté dans UFS et ZFS; support ajouté des utilitaires cp(1), find(1), getfacl(1), mv(1), et setfacl(1); les architectures UltraSPARC IV/IV+ et SPARC64 V sont de la partie; SMP est supporté sur les PowerPC G5; BIND mis à jour en 9.6.2-P2; tout comme sendmail en 8.14.4, OpenSSH 5.4p1, GNOME 2.30.1 ou KDE 4.4.5. Pour en savoir plus, n’hésitez pas à consulter la liste complète des changements et l’annonce de sortie. Rendez-vous sur la page des téléchargements pour la liste complète des miroirs et des architectures processeur; sinon téléchargez FreeBSD-8.1-RELEASE-i386-disc1.iso (645 MO) ou FreeBSD-8.1-RELEASE-amd64-disc1.iso (682 MO). Source Distrowatch.

Categories: FreeBSD, xBSD Tags:

OpenWRT Kamikaze 8.09.2 sur Fonera 2100

L’accès SSH doit être ouvert sur votre fonera. Si ce n’est pas encore fait, suivez ce tutorial.

L’accès SSH maintenant ouvert, il faut maintenant pouvoir modifier le bootloader afin de le rendre accessible. Pour cela il faut charger un noyau qui donnes accès en écriture a la partition contenant Redboot.

  • Télécharger sucessivement sur votre machine ces deux fichiers :
  • - out.hex
    openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma

  • Ouvrez un terminal dans le repertoire ou sont présent ces deux fichiers et charger le noyau :
  • scp openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma root@169.254.255.1:/tmp/

  • On se connecte via ssh
  • root@169.254.255.1

  • On ecrase l’ancien noyau
  • cd /tmp
    wget http://169.254.255.2/Fonera/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
    mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7

  • L’écriture du noyau va se faire :
  • Unlocking vmlinux.bin.l7 …
    Erasing vmlinux.bin.l7 …
    Writing from openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma to vmlinux.bin.l7… [w]

    puis

    reboot

  • On se reconnecte via ssh
  • root@169.254.255.1

  • On peut alors ecraser la partition redboot.
  • cd /tmp
    wget http://169.254.255.2/Fonera/out.hex
    mtd -e « RedBoot config » write out.hex « RedBoot config »
    reboot

    Maintenant que le Redboot est accessible, il va nous permettre de flasher directement et de repartitionner la Fonera. Cette étape est assez longue et complexe, comme vous pouvez le voir sur le wiki d’openwrt .
    Pour faire plus simple, SvenOla du projet Freifunk nous a concocté un petit utilitaire qui permet de ne pas avoir à configurer l’interface réseau de votre machine puisqu’il travaille en bas niveau grâce à la libpcap qui doit être installé sur votre système.

  • Récupérez sur votre machine l’outil AP51 :
  • Placez dans le même repertoire que l’outil le rootfs et le kernel de Openwrt kamikaze 8.09.2 ( la dernière stable en date )
  • Lancer ensuite l’outil en root via votre terminal ( si votre carte ethernet est eth0 et qu’elle est activé ):
  • ./ap51-flash-fonera-1.0-42 eth0 atheros/openwrt-atheros-root.squashfs atheros/openwrt-atheros-vmlinux.lzma

    Vous pouvez alors mettre la fonera sous tension, la procédure prend 15 min….

    Voici fini mon premier reflashage complet, en un peu moins de 15 minutes. Lors d’un prochain article, je vous parlerai de la configuration de ce firmware alternatif aux possibilités insoupçonnées.

    Categories: Tutoriaux Tags:

    Installer le firmware DD-WRT sur une fonera 2100

    La fonera est le routeur utilisé par la communauté FON. Le routeur est livré avec un firmware réalisé par FON et basé sur OpenWRT. On peut reflasher un firmware alternatif sur le routeur, comme DD-WRT. Cet article a pour but de vous aider à le faire sur une fonera (version 2100 dans notre cas).

    On va voir comment le faire et cela sans ouvrir la Fonera (donc sans utiliser un cable série branché sur le port JTAG de la fonera).

  • Pré-requis

  • Pour réaliser cette mise-à-jour, on va se connecter directement sur la fonera. Une fois connecté, il faut configurer sa connexion réseau avec l’IP 169.254.255.2 (la fonera ayant 169.254.255.1).

    Il faut ensuite un serveur tftp. Sous debian, on peut en installer un avec un simple apt-get install tftpd-hpa. Vous trouverez plein de tuto sur internet.

    Il faut aussi un serveur HTTP (apache fera très bien l’affaire).

    sudo apt-get install apache2

    Nous avons maintenant besoin de la dernière version du firmware de notre routeur que nous copierons à la racine du serveur TFTP (/var/lib/tftpboot dans le cas du serveur tftpd-hpa sous Debian).

    Il faut ensuite télécharger les logiciels suivants :

    - out.hex
    openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma

    On doit avoir une version qui permet d’ouvrir la connexion ssh vers la Fonera. Si ce n’est pas encore fait, suivez ce tutorial. Pour vérifier la version de votre firmware, il suffit de se connecter sur http://169.254.255.1/ en se branchant sur le port Ethernet de la fonera.

  • Flashage de la fonera
  • Il faut se conecter sur la fonera en ssh

    ssh root@169.254.255.1

    et remplacer le noyau de la fonera :

    cd /tmp
    wget http://169.254.255.2/Fonera/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
    mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7

    (J’ai copié mes fichiers dans /var/www/fonera donc adaptez l’URL en fonction de la localisation de vos fichiers).
    L’écriture du noyau va se faire :

    Unlocking vmlinux.bin.l7 …
    Erasing vmlinux.bin.l7 …
    Writing from openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma to vmlinux.bin.l7… [w]

    On redémarre la petite boîte

    reboot

    On se reconnecte sur la fonera en ssh

    cd /tmp
    wget http://169.254.255.2/Fonera/out.hex
    mtd -e « RedBoot config » write out.hex « RedBoot config »
    reboot

    A partir de cet instant, la fonera ne peut pas rebooter correctement.
    Mais pas de panique, on va quand même pouvoir se connecter dessus grâce à telnet cette fois-ci et sur le port 9000. Pour cela, il faut que le PC ai une adresse dans la plage 192.168.1.0/24. On va rebooter la Fonera et dans les 10 premières secondes, on va pouvoir se connecter sur le port 9000 avec

    telnet 192.168.1.254 9000

    Trying 192.168.1.254…
    Connected to 192.168.1.254.
    Escape character is ‘^]’.

    RedBoot>

    (si le prompt n’apparait pas, il suffit de taper sur entrée).

    On va configurer l’adresse IP de laFonera et du serveur tftp puis passer maintenant au flashage proprement dit du firmware dd-wrt (les commandes à saisir sont en gras) :

    RedBoot> ip_address -l 192.168.1.254/24 -h 192.168.1.10
    IP: 192.168.1.254/255.255.255.0, Gateway: 0.0.0.0
    Default server: 192.168.1.10
    RedBoot> fis init
    About to initialize [format] FLASH image system – continue (y/n)? y
    *** Initialize FLASH Image System
    … Erase from 0xa87e0000-0xa87f0000: .
    … Program from 0×80ff0000-0×81000000 at 0xa87e0000: .
    RedBoot> load -r -b 0×80041000 linux.bin
    Using default protocol (TFTP)
    Raw file loaded 0×80041000-0×806a0fff, assumed entry at 0×80041000
    RedBoot> fis create linux

    A partir de ce moment, il vous faut être très patient. Le flashage dure entre 10 et 20 mn. C’est le moment d’aller prendre un petit café, un jus de fruit avec des gateaux….ou d’aller faire un petit bisou à la doudou.

    … Erase from 0xa8030000-0xa8690000: …………………………………………………………………………………………
    … Program from 0×80041000-0×806a1000 at 0xa8030000: …………………………………………………………………………………………
    … Erase from 0xa87e0000-0xa87f0000: .
    … Program from 0×80ff0000-0×81000000 at 0xa87e0000: .
    RedBoot> fconfig
    Run script at boot: true
    Boot script:
    .. fis load -l vmlinux.bin.l7
    .. exec
    Enter script, terminate with empty line
    >> fis load -l linux
    >> exec
    >>
    Boot script timeout (1000ms resolution): 10
    Use BOOTP for network configuration: false
    Gateway IP address:
    Local IP address: 192.168.1.254
    Local IP address mask: 255.255.255.0
    Default server IP address:
    Console baud rate: 9600
    GDB connection port: 9000
    Force console for special debug messages: false
    Network debug at boot time: false
    Update RedBoot non-volatile configuration – continue (y/n)? y
    … Erase from 0xa87e0000-0xa87f0000: .
    … Program from 0×80ff0000-0×81000000 at 0xa87e0000: .
    RedBoot> reset

    Votre fonera possède maintenant un beau firmware tournant sous dd-wrt. Pour vous y connecter et la paramétrer aux petits oignons, taper http://192.168.1.1 dans votre navigateur favoris.

    Categories: Tutoriaux Tags:

    FreeBSD 7.3 est dans la place

    L’équipe du projet FreeBSD est heureuse de nous faire part de la sortie de FreeBSD 7.3. Il s’agit de la quatrième version de la série 7 stable, qui améliore les fonctionnalités de FreeBSD 7.2 et introduit quelques nouvelles fonctionnalités. FreeBSD inclut également des mises à jour majeures comme des applications de système de base, par exemple : Gnome 2.28.2, KDE 4.3.5, Xorg 7.5, Perl 5.10, BIND 9.4-ESV et Sendmail 8.14.4. On retrouve également d’autres changements, de nouveaux outils « mfiutil » et « mptutil » largement utilisés pour la gestion des contrôleurs RAID, ZFS mise à jour vers la version 13, ajout d’une nouvelle botte « gptzfsboot » et support pour les systèmes de fichiers TPG et ZFS. FreeBSD intègre de plus, le support des cartes graphiques basé sur le GPU Radeon HD 4200 et le pilote pour le controleur Ethernet Atheros (AR8131/AR8132). Pour en savoir plus, vous pouvez consulter l’annonce de sortie et les notes de publication. Téléchargement : FreeBSD-7.3-RELEASE-i386 (1.9 Go), FreeBSD 7.3-RELEASE-amd64 (2 Go). Source freebsd.org.

    Categories: FreeBSD Tags:

    Installation d’un serveur DHCP sous FreeBSD

    Nous allons nous attaquer à la configuration d’un serveur DHCP (ISC DHCP Server) sous FreeBSD. Vous pouvez également utiliser en grande partie cette procédure sous GNU/Linux.

    Rappel: le protocole DHCP permet la configuration automatique des paramètres IP des machines d’un réseau (plus de littérature sur le Wiki).
    Introduction

    ISC DHCP est un projet open-source disponible dans une suite qui comprend les éléments suivants:

    * le fameux serveur DHCPd
    * le client DHCPclient
    * un serveur de relais DHCPrelay

    Cette suite est disponible sur la plupart des OS: Linux, BSD, Mac OS X et Windows.

    La dernière version stable à la date de l’éecriture de ce billet est la 3.0.6
    Installation du serveur DHCPd

    Sous FreeBSD la procédure est la suivante:

    # pkg_add -r isc-dhcp3-server

    Pour les puristes (j’en fais parti), il est également possible de compiler le serveur à partir des sources.

    # portupgrade -N isc-dhcp3-server

    Quelques trucs utiles à savoir avant la configuration

    DHCP est un protocole servant à distribuer des configurations réseaux (c’est à dire adresse IP, masque, routes, serveurs DNS…) sur un réseau local. Il faut donc que le serveur et les clients se trouvent sur un même réseau de niveau 2. En clair, il ne doit pas y avoir de routeur IP entre le serveur et les clients. Si vous ne pouvez pas faire autrement, le serveur relais pourra vous être utile…

    Si vous avez un Firewall entre votre serveur et vos clients, il faut veillez à ajouter les règles suivantes:

    Autoriser les paquets UDP/67 (source UDP/68) entre l’adresse 0.0.0.0 et l’adresse 255.255.255.255

    Autoriser les paquets UDP/68 (source UDP/67) entre le serveur et les clients

    C’est à dire autoriser vos clients qui n’ont pas encore d’adresse IP (0.0.0.0) à envoyer sur le réseau une requête DHCP (UDP/67) vers toutes les machines du réseau (255.255.255.255) afin de chercher le serveur DHCP. Le serveur DHCP répond (UDP/68) en offrant un bail DHCP (c’est à dire une configuration IP valable un certain temps).

    Sous FreeBSD, la règle IPFW correspondante est:

    # ipfw add allow udp from 0.0.0.0 68 to 255.255.255.255 67 keep-state

    # ipfw add allow udp from @SERVEUR 67 to any 68 keep-state

    Configuration du serveur DHCP

    Toute la configuration est centralisée dans le fichier dhcpd.conf. Nous allons donc commencer par archiver la configuration par défaut.

    # mv /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf

    Puis éditer notre fichier dhcpd.conf:

    # vi /usr/local/etc/dhcpd.conf

    # C’est bien le serveur DHCP principal

    authoritative;

    # Nom de domaine de votre réseau

    option domain-name “monboreseau.com”;

    # Adresses des serveurs DNS

    option domain-name-servers ns1.monboreseau.com, ns2.monboreseau.com;

    # Définition de la durée du bail

    default-lease-time 600;

    max-lease-time 7200;

    # On logue les messages dans le syslog

    log-facility local7;

    # Définition des plages d’adresses dynamiques du LAN

    subnet 192.168.1.0 netmask 255.255.255.0 {

    range 192.168.1.100 192.168.1.200 ;

    option routers 192.168.1.1 ;

    option broadcast-address 192.168.1.255 ;

    }

    # Définition des machines statiques (les entrées doivent exister dans le serveur DNS)

    # Attention, elles doivent être en dehors du range dynamique définie ci-dessus.

    host mamachine {

    hardware ethernet 00:11:09:1A:-:- ;

    fixed-address mamachine.alcasat.net ;

    }

    Les opérations de base sur votre serveur DHCP

    Démarrage du serveur (sous FreeBSD):

    # /usr/local/etc/rc.d/isc-dhcpd start

    Arrêter le serveur DHCP (sous FreeBSD):

    # /usr/local/etc/rc.d/isc-dhcpd stop

    Pour connaître la liste des baux (leases) en cours:

    # cat /var/db/dhcpd.leases

    Exemple:

    lease 192.168.1.112 {

    starts 2 2008/05/13 10:22:43;

    ends 2 2008/05/13 10:32:43;

    binding state active;

    next binding state free;

    hardware ethernet 00:08:02:f4:-:-;

    uid “\001\000\010\002\364o\310″;

    client-hostname “port2″;

    }

    Voilà un beau serveur dhcp tout beau, tout neuf….

    Categories: Administration, FreeBSD, Tutoriaux Tags:

    Mise à jour complète de FreeBSD

    FreeBSD est surement un des systèmes d’exploitations les plus stable et modulaire que je connaisse. Son administration est une réelle partie de plaisir sauf pour un point: la mise à jour… Nous allons dans un premier temps expliquer pourquoi cette mise à jour n’est pas triviale et ensuite détailler une mise à jour complète. Ce billet se base sur la dernière version disponible (la version 8.0).

    Un système FreebSD est composé de trois groupe de logiciels: le noyau, le monde et les ports.

    - Le noyau (ou kernel) est le coeur du système, il permet la communication avec le matériel (CPU, mémoire, entrée/sortie, processus…). Il est géré par l’équipe de développement de FreeBSD. Il est possible de customiser finement ce noyau à vos besoins.

    - Le monde (ou world) représente des applications ou services proche du système, fournies avec le système FreeBSD.

    - Les ports sont des applications/services/librairies portés par leurs auteurs ou par des personnes tierces sur le système FreeBSD.

    Ainsi quand on doit faire une mise à jour de notre système FreeBSD, il faut commencer par se poser la question suivante: que veut on mettre à jour ? Nous allons dans la suite du billet détailler une mise à jour complète de son système FreeBSD. Vous êtes prêt ? Alors, c’est parti !

    Avant de commencer la phase de mise à jour proprement dite, il faut récupérer les sources du noyau et du monde (le tout étant recompilé avant d’être installé sur votre machine).

    -Récupération des sources

    Plusieurs méthodes existent. On commence par installer le logiciel cvsup avec la commande suivante:

    #pkg_add -r cvsup
    ou
    # portupgrade -N cvsup
    # mkdir /usr/local/etc/cvsup/
    # cp /usr/share/examples/cvsup/stable-supfile /usr/local/etc/cvsup
    # cp /usr/share/examples/cvsup/ports-supfile /usr/local/etc/cvsup

    Ensuite on édite les fichiers de configuration /usr/local/etc/cvsup/stable-supfile et /usr/local/etc/cvsup/ports-supfile pour modifier l’URL du serveur de mise à jour:

    *default host=cvsup1.fr.FreeBSD.org

    -Mise à jour du monde

    On commence par mettre à jour le monde:

    # cd /usr/src/
    # make buildworld

    On redémarre en mode de maintenance:

    mergemaster -p
    # make installworld
    # mergemaster -i

    On redémarre en mode normal.

    PS: l’étape de reboot en mode maintenance n’est pas obligatoire mais fortement conseillée…

    -Mise à jour du noyau

    Puis et seulement puis, on met à jour le noyau de notre système avec les commandes suivantes:

    # cd /usr/src/sys/i386/conf
    # ls GENERIC
    # make buildkernel KERNCONF=GENERIC
    # make installkernel KERNCONF=GENERIC

    PS: si vous avez customiser votre noyau, il faut donner le nom du fichier de configuration en lieu et place de GENERIC.

    -Mise à jour des ports

    Comme pour le mode et le noyau, il est nécessaire de récupérer la liste des derniers ports (arbre des ports dans le jargon FreeBSD), pour cela j’utilise les commandes:

    # portsnap fetch
    # portsnap extract
    # portsnap update

    Ensuite j’utilise le logiciel portupgrade pour effectuer les mise à jour. Il faut dans un première temps installer ce logiciel sur votre système:

    # pkg_add -r portupgrade

    Ensuite on lance la mise à jour de nos ports installés:

    # portupgrade -ar

    -FreeBSD-Update Une solution tout en un

    Sur les dernière versions de FreeBSD (>7.2 et >8.0), un logiciel automatisant ces taches a été développé par l’équipe de FreeBSD. Le logiciel en question s’appelle freebsd-update.

    Il permet de mettre à jour votre système a deux niveaux:
    - Mise à jour au niveau sécurité

    Il suffit de saisir les deux commandes suivantes:

    # freebsd-update fetch
    # freebsd-update install

    - Mise à jour majeure et mineure

    Les trois commandes suivantes vont mettre à jours les ports et migrer FreeBSD dans la dernière version disponible (8.0-RELEASE):

    # portupgrade -af
    # freebsd-update -r 8.0-RELEASE upgrade
    # freebsd-update install

    On doit ensuite rebooter la machine, puis re-saisir la commande suivante:

    # freebsd-update install

    Categories: Administration, FreeBSD, Tutoriaux Tags:

    Tenir à jour l’arbre de ports sous FreeBSD

    Comme vous le savez peut-être déjà, sous FreeBSD, on ne parle pas de paquets mais de ports !
    La première chose, après avoir installé votre système est de construire l’arbre des ports.
    Pour se faire, utilisez la commande suivante :

    # portsnap fetch

    Cela va aller télécharger la dernière image connue sur les serveurs de FreeBSD (fetch) et va vous construire automatiquement votre arborescence dans le répertoire /usr/ports. La dernière image en date fait près de 55Mb donc peut mettre plus de 5 min a se télécharger. Une fois l’arbre des ports récupéré, il est logé dans /var/db/portsnap. Pour l’extraire dans /usr/ports, il faut entrer la ligne suivante :

    # portsnap extract

    Note : Si le répertoire /usr/ports n’est pas créé lors de l’installation, FreeBSD le fait automatiquement lors de la première exécution de Portsnap. Compter un bon quart d’heure pour l’extraction.

    Très bien, voilà maintenant notre arbre installé. Oui, mais pour le mettre à jour ? Deux utilitaires existent : Portsnap et CVSup

    • CVSUP

    CVSup est réputé comme étant l’utilitaire le plus simple et le plus rapide.

    - INSTALLATION

    # cd /usr/ports/net/cvsup-without-gui
    # make install clean

    ou

    # portupgrade -N cvsup-without-gui

    - CONFIGURATION

    Créer un nouveau fichier :

    # vi /root/cvs-supfile

    Et écrire la configuration suivante à l’intérieur :

    # Pour obtenir les ports de FreeBSD-CURRENT (le « . » correspond au tag RELENG_7, tag CVS pour la version FreeBSD 7-STABLE)
    *default tag=.
    # Serveur de téléchargement
    *default host=cvsup.fr.freebsd.org
    # Emplacement des fichiers obtenus sur le serveur (ici /usr/src). « src » est implicitement contenu dans le préfixe
    *default prefix=/usr
    #Répertoire où se trouvent les fichiers d’état de CVSup qui garde la trace des modifications
    *default base=/var/db
    # Obtient les informations par rapport au référentiel principal | Autorise CVSup à supprimer des fichiers | Ajoute un suffixe propre à CVSup | Compresse les fichier avec gzip
    *default release=cvs delete use-rel-suffix compress
    # Recevoir toute l’arborescence principale du système FreeBSD
    src-all

    - UTILISATION

    Pour exécuter CVSup, tapez la commande suivante :

    # cvsup -g -L 2 /root/cvs-supfile

    -g permet de désactiver l’interface graphique (inutile)
    -L permet de déterminer le niveau de détail que CVSup affichera dans la console lors de son exécution (2 est le niveau le plus fin)

    http://www.cvsup.org

    • PORTSNAP

    Une autre méthode pour mettre à jour l’arbre des ports de FreeBSD est d’utiliser Portsnap.

    - INSTALLATION

    # cd /usr/ports/ports-mgmt/portsnap
    # make install clean

    ou

    # portupgrade -N portsnap

    - CONFIGURATION

    Normalement, à la première installation, Portsnap copie le fichier portsnap.conf dans le répertoire /etc. Si jamais ce n’était pas le cas, tapez la commande suivante :

    # cd /usr/local/etc/ && cp portsnap.conf.sample portsnap.conf && cp portsnap.conf /etc

    - UTILISATION

    Pour mettre votre arbre des ports à jour, il faut taper la commande qui suit :

    # portsnap fetch update

    Elle efface les ports qui ne sont plus d’actualité et ajoute ceux qui manquent par rapport à la base de données de FreeBSD. Elle extrait automatiquement les ports et reconstruit l’index.

    Personnellement, j’utilise Portsnap qui, en plus d’une utilisation simplifiée, est davantage à jour que CVSup.

    Bonne et Heureuse Année 2010 !

    Une nouvelle année commence, je vous la souhaite très belle, pleine de réussite avec beaucoup de joie. J’espère qu’elle sera bonne très bonne pour vous ainsi que tous vos proches…

    Bonne et Heureuse Année 2010 !

    Categories: Nouvelles Tags: , ,

    Les outils des ports

    Terminons cette série en jetant un coup d’oeil sur la section tools de l’arbre des ports. Si vous ne l’avez pas encore découverte:

    % more /usr/ports/Tools/scripts/README

    Geee, au moment même où vous avez pensiez tout savoir des ports, vous découvrez une nouvelle cachette pleine d’utilitaires. Puisque ce sont tous des scripts, n’oubliez pas de mettre un ./ devant le nom, quand vous en essayez un:

    % cd /usr/ports/Tools/scripts
    % ./consistency-check

    Je suggérerais d’essayer chaque script qui suscite votre intérêt en lisant sa description dans son fichier README. Si vous en trouvez d’intéressants, copiez les dans ~/bin, ou créez un lien symbolique, ainsi ils seront dans votre path.

    Personnaliser différentes options de construction de ports

    Une des configurations les plus maniables dans ce fichier est la section MAKE_ARGS. Quelques ports permettent de personnaliser leur construction en indiquant certains arguments. Ces arguments sont trouvés dans le fichier makefile du port, et sont habituellement appelés comme ceci:

    % cd /usr/ports/multimedia/mplayer
    % make WITH_GUI=yes WITH_FREETYPE=yes install clean

    Cette commande make est identique à cette invocation:

    % make -DWITH_GUI -DWITH_FREETYPE install clean

    Si jamais vous prévoyez d’employer portupgrade pour mettre à jour mplayer, en utilisant les mêmes arguments, vous avez un choix à faire. L’un ou l’autre compte sur votre capacité de vous souvenir d’utiliser l’option -m pour indiquer à make vos arguments avec portupgrade:

    % portupgrade -rRm ‘-DWITH_GUI’ ‘-DWITH_FREETYPE’ mplayer

    ou rajoutez ces switches dans /usr/local/etc/pkgtools.conf :

    MAKE_ARGS = {
    ‘multimedia/mplayer-*’ => ‘WITH_GUI=1 WITH_FREETYPE=1′,
    }

    Ceci mis à part, cela parait un peu compliqué, avec une syntaxe plutôt barbare. Notez que la section entière de MAKE_ARGS est incluse dans les parenthèses fermées ( { et } ). Entre ces parenthèses, sont les ports particuliers et leurs arguments. Ceci signifie que vous pouvez continuer à ajouter des ports dans cette section, chacun sur sa ligne, en s’assurant que tous ces ports sont inclus entre les parenthèses.

    Le nom du port lui-même doit être cité dans des guillemets simples (‘) et inclut le nom de son sous-répertoire dans la collection de ports. Le nom est suivi du wildcard * .

    Les arguments de make eux-mêmes sont également joints entre des guillemet simples situés après le => . Notez que le numéro 1 est utilisé au lieu du mot yes et que les arguments sont séparés par un espace.

    Il vaut la peine de passer quelques minutes à ajouter vos arguments à cette section, à chaque fois que vous construisez un port qui en utilise. Quand par la suite vous mettrez à niveau ce port, il est très peu probable que vous vous souveniez qu’il a utilisé tels arguments, ainsi, ils se trouvent conservés.

    Categories: Administration, FreeBSD, Tutoriaux Tags: