Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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