#1 Le 07/01/2010, à 09:33
- Nargzul
Mettre à jour tous les paquets d'un dépot
Bonjour,
Pour un petit projet, je vais créer mes propres dépots et mon propre serveur de mise à jour afin d'avoir pleins de systèmes à jour avec des petits bouts de codes à moi.
J'aimerais donc pouvoir cronner un petit script qui mettrait à jour automatiquement à jour tous les paquets venant de mon dépot.
C'est possible? Ou bien il y a moyen de faire un trick pour que le système sait qu'il peut automatiquement faire les MAJ venant de ce dépot?
Merciiii!!!
Dell E6400 - Ubuntu 9.10
Serveur OVH Kimsufi - Ubuntu 8.04
Heureux l'étudiant qui comme la rivière peut suivre son cours sans quitter son lit
Hors ligne
#2 Le 07/01/2010, à 15:57
- yoann21
Re : Mettre à jour tous les paquets d'un dépot
Salut,
Lorsque tu ajoutes un dépôt les mises à jour sont automatiques via apt-get update et apt-get upgrade ou le gestionnaire de mise à jour de gnome.
Par contre pour que apt détecte des mises à jour, il faut que le numéro des versions de tes nouveaux paquets aient été augmenté.
Hors ligne
#3 Le 07/01/2010, à 17:45
- Nargzul
Re : Mettre à jour tous les paquets d'un dépot
Oui, ca je sais, ma problématique est légèrement différente, j'aimerais mettre à jour UNIQUEMENT les paquets provenant de mon dépot.
Dell E6400 - Ubuntu 9.10
Serveur OVH Kimsufi - Ubuntu 8.04
Heureux l'étudiant qui comme la rivière peut suivre son cours sans quitter son lit
Hors ligne
#4 Le 07/01/2010, à 18:51
- yoann21
Re : Mettre à jour tous les paquets d'un dépot
Voila donc le script :
Le nom du dépôt est à mettre en premier argument. Il te faut mettre un bout du nom du dépôt.
Par exemple pour le dépôt de wine :
deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu karmic main
Il suffit d'appeler le script de cette manière :
bash lescript wine
Tu peux aussi directement mettre un bout du nom de ton dépôt à la place de $1 ligne 2 comme ca tu n'auras plus besoin d'arguments.
Il est également possible de filtrer certains paquets si ça t'intéresse.
#!/bin/bash
nom_depot=$1
paquets_depot=`cat /var/lib/apt/lists/*$nom_depot*_Packages | grep 'Package' | cut -d ':' -f2`
if [ -z "$paquets_depot" ]
then
echo "Depots inexistants ou aucun paquets dans ce dernier"
exit 1
fi
for i in $paquets_depot
do
if [ `apt-cache policy $i | grep 'Installé'| cut -d ':' -f2` != "(aucun)" ]
then
liste_finale=""$liste_finale" "$i""
fi
done
echo "Liste des paquets à mettre à jour : $liste_finale"
if [ -n "$liste_finale" ]
then
sudo aptitude install $liste_finale
fi
Dernière modification par yoann21 (Le 07/01/2010, à 18:53)
Hors ligne
#5 Le 07/01/2010, à 19:47
- Nargzul
Re : Mettre à jour tous les paquets d'un dépot
Cool ton script(merci!!!), je pensais qu'il y avait genre un moyen plus simple pour mettre à jour.
Il va falloir que je regarde pour adapter un peu, mon système est en anglais.
Dell E6400 - Ubuntu 9.10
Serveur OVH Kimsufi - Ubuntu 8.04
Heureux l'étudiant qui comme la rivière peut suivre son cours sans quitter son lit
Hors ligne
#6 Le 07/01/2010, à 19:59
- yoann21
Re : Mettre à jour tous les paquets d'un dépot
OK,
Il te faut remplacer Installé par Installed et (aucun) par (none)
Hors ligne