Ensuite nous verrons comment installer une application via portinstall
mises ? jour système
freebsd-update
freebsd-update est l'utilitaire système permettant de gérer les mises ? jour du système :[root]# cd /usr/ports/security/freebsd-update
[root]# make install && make clean
[root]# cp /usr/local/etc/freebsd-update.conf.sample /usr/local/etc/freebsd-update.conf
freebsd-update, est autonome, c'est ? dire qu'il suffit de le lancer pour savoir s'il y a ou non des mises ? jour système disponibles. La commande suivante permet d'afficher les mises ? jour systèmes ? faire.freebsd-update fetch
N.B. si aucune mise ? jour système n'a encore été mise ? disposition, le répertoire correspondant ? la version de FreeBSD n'est paut être pas encore créée surhttp://update.daemonology.net/ ce qui renverra un message d'erreur.
La commande suivante permet d'effectuer les mises ? jour listées précédemment
freebsd-update install
mises ? jour des ports
cvsup
L'utilitaire permettant la mise ? jour de l'arborescence des ports est cvsup. Le présent CookBook a pris le partie de ne pas installer d'interface graphique, donc c'est cvsup-without-gui qui sera installé (au lieu de cvsup dans un environnement avec interface graphique)cd /usr/ports/net/cvsup-without-gui/
make install && make clean
cp /usr/share/examples/cvsup/ports-supfile /usr/local/etc/cvsup.conf
le fichier suivant suffit*default host=cvsup.fr.freebsd.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=RELENG_6
*default delete use-rel-suffix
*default compress
src-all
fastest_cvsup
permet de trouver les serveurs CVSup les plus rapidecd /usr/ports/sysutils/fastest_cvsup/
make install && make clean
portsnap
permet une mise ? jour plus rapide et plus sécurisé de l'arborescence des ports que cvsup. De plus il est plus performant pour la géénration de l'INDEX que cvsup.A partir de la version 6 de freebsd portsnap fais parti des commandes de bases, il n'y a donc plus ? l'installer.
il faut alors éditer le fichier de configuration de portsnap
vi /etc/portsnap.conf
voici le fichier de conf que j'utilise (j'essaie de grouper au maximun dans la partition /usr, vu mes choix d'installation)WORKDIR=/usr/portsnap
PORTSDIR=/usr/ports
SERVERNAME=portsnap.FreeBSD.org
KEYPRINT=9b5feee6d69f170e3dd0a2c8e469ddbd64f13f978f2f3aede40c98633216c330
avant d'utiliser portsnap il faut taper la commande
portsnap fetch
portsnap extract
script de mise ? jour des ports
#!/usr/local/bin/bash
# Sur une base écrite par Laruiss
# Modification de R1-Bzh
# erwane@phea.fr
# Ce script est ? mettre en crontab SANS '> /dev/null'.
# Le résultat vous sera renvoyé par mail
#
# Requirements
# - cvsup (or cvsup-without-gui)
# - portsnap
# - fastest_cvsup
# Configuration
# cvsup
CVSUP=/usr/local/bin/cvsup
CVSUP_TAGS="-g -L 1 /usr/local/etc/cvsup.conf"
# Utilisation de fastest_cvsup pour trouver le serveur cvsup le plus "rapide"
# Si vous ne souhaitez pas utiliser fastest_cvsup il suffit de commenter cette
ligne
FASTEST_CVSUP="-h `/usr/local/bin/fastest_cvsup -c fr -Q`"
# Portsnap
PORTSNAP=/usr/sbin/portsnap
PORTSNAP_TAGS="-f /etc/portsnap.conf"
# Update world sources
echo -en " update world tree\n"
echo -en " -------------------\n"
$CVSUP $CVSUP_TAGS $FASTEST_CVSUP
echo -en "\n update ports tree\n"
echo -en " -------------------\n"
$PORTSNAP $PORTSNAP_TAGS cron
$PORTSNAP $PORTSNAP_TAGS update
/usr/local/sbin/portsdb -u
# Outdated ports
#
echo -en "\n outdated ports\n"
echo -en " ----------------\n"
/usr/sbin/pkg_version -vL =
mise ? jour des applications installées
portupgrade
Maintenant que l'arborescence des ports est ? jour, on peut installer n'importe quelle application en étant sûr qu'on a bien ? faire ? la version courante ;-)Si vous avez bien compris le rôle de cvsup, maintenir votre FAMP ? jour doit vous paraître encore un peu compliqué, en effet cela implique d'être au courant de chaque nouvelle version pour chaque application installé ...
FreeBSD propose un outil système convivial permettant d'éviter cette veille.
portupgrade est l'utilistaire système permettant de maintenir ? jour les applications déj? installées
[root]# cd /usr/ports/sysutils/portupgrade
[root]# make install && make clean
La commande suivante met ? jour la base de données des ports
portsdb -Uu
Si vous avez un jour un problème avec cette commande essayez[root]# pkgdb -fu
Si le porblème persiste essayez[root]# cd /usr/ports && make fetchindex
La commande suivante liste toutes les applications installée nécessitant une mise ? jourpkg_version -vL =
La commande suivante vérifie la consistance de la base de données des ports(elle est recommandée avant la commande suivante)[root]# pkgdb -F
La commande suivante permet d'effectuer les mises ? jour listées précédemment[root]# portupgrade -ar
script de mise ? jour des ports (sans portsnap)
Le script suivant permet d'afficher la liste des applis ? mettre ? jour après un cvsup. Il faut avoir bash pour le lancer.
#!/usr/local/bin/bash
# Sur une base écrite par Laruiss
# Modification de R1-Bzh
# Ce script est ? mettre en crontab SANS '> /dev/null'.
# Le résultat vous sera renvoyé par mail
#
# Configuration
#
cvs="/usr/local/bin/cvsup -g -L 0" # Logiciel pour mettre \xe0 jour l'arbre
cvsup_conf="/etc/cvsup.conf" # Fichier de configuration pour cvs
#
# Mise ? jour de l'arbre des ports
#
echo -en " cvsup des ports :\n"
echo -en " ~~~~~~~~~~~~~~~~~~~\n"
$cvs $cvsup_conf
#
# Update de l'INDEX et INDEX.db
#
echo -en "\n\n MAJ de la bd des ports :"
echo -en "\n ~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
/usr/local/sbin/portsdb -Uu
#
# Mise ? jour de la db des packages
#
echo -en "\n\n MAJ de la bd des packages :"
echo -en "\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
/usr/local/sbin/pkgdb -u
#
# Liste des ports \xe0 mettre \xe0 jour
#
echo -en "\n\nListe des ports \xe0 mettre \xe0 jour :\n"
echo -en "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
/usr/sbin/pkg_version -vL =
echo -en "\n\nFin\n~~~\n\n"
0 0 7 * * /usr/local/bin/bash /root/UpdPorts.bash
Un mail hebdomadaire vous informera sur les applis ? mettre ? jour sur votre fampInstallation d'une application via portinstall
Avant d'installer une appli sur votre FAMP il est conseillé de mettre ? jour l'arborescence des ports.wget est un petit outil trés pratique qui permet le téléchargement de tout type de ressources via le protocole http ou ftp. Le fait qu'il gère le parcours recursif de répertoires le rend indispensable.
Pour localiser le répertoire d'installation de wget dans le système de port on peut passer la commande suivante
[root]# find /usr/ports/ -name "*wget*" -print
Cette commande effectue une recherche récursive dans /usr/ports/ de tous fichiers ou répertoires ayant le motif wget dans leur nom et les affiche. Cette commande nous permet de savoir que le réperoire de wget se trouve dans /usr/ports/ftp/wget. Pour l'installer les deux lignes deux commandes suffisent ? déclencher le téléchargement des sources et la compilation[root]# cd /usr/ports/ftp/wget
[root]# make install && make clean
Si vous n'avez pas changer votre shell, ce qui est le cas si vous avez suivi les instructions de cette page ? la lettre, vous devez taper rehash après chaque installation d'une nouvelle appli, afin qu'elle soit prise en compte dans le path.
En cas d'index endommagé : update des ports : rebuild pkgdb ... [sur FreeBSD debutant]



