Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 20/02/2014, à 00:00

Vaykadji

[script] ppa-tool : gérer vos PPA en ligne de commande facilement

PPA-tool est un script en BASH que j'avais écrit pour AskUbuntu. Depuis, je l'ai remanié et j'ai ajouté de nombreuses fonctionnalités. 

Il permet de gérer les PPA en ligne de commande :
- Vérifier si le PPA est compatible avec sa version d'Ubuntu sans avoir besoin d'installer le PPA et de recharger la liste des paquets
- Ajouter un PPA (vérifie automatiquement avant)
- Retirer un PPA
- Purger un PPA, désinstaller les paquets qui en proviennent, et même les remplacer par ceux d'origine si nécessaire
- Lister les PPA installés
- Faire un backup des PPA installés (pour changer de machine)
- Réinstaller les PPA qu'on a auparavant sauvegardé avec l'outil de backup
- Vérifier un PPA pour une version non-installée (pour un ami, par exemple)
- Vérifier si les PPA installés sur le système sont disponibles pour une autre version d'Ubuntu (pour une mise à niveau, par exemple)

Note : ce script n'est pas compatible avec Mint pour l'instant. Leur `add-apt-repository` a été forké et ne propose pas autant de maniabilité que sur Ubuntu. Compatible avec toute la série des Ubuntu, par contre : Kubuntu, Cubuntu, Lubuntu, Xubuntu et Ubuntu-Gnome.

- Lien wiki
- Lien repo Github
- Disponible en Anglais et Français. Traduction possible

###Installation :

wget https://raw.githubusercontent.com/MrVaykadji/ppa-tool/master/dist-install
bash dist-install
rm dist-install

###Utilisation :

ppa-tool [OPTION]... [[PPA / FICHIER]]...

1396118757.png

###Exemple :

1) Je teste le PPA 'ppa:libreoffice/ppa' sur Ubuntu 13.10 Saucy, qui est disponible.

Ensuite, j'essaye un vieux PPA pour Ubuntu 11.04 Natty, qui n'est plus à jour depuis 2012.

Je regarde ensuite si le PPA 'n-muench/burg' est disponible pour ma version (13.10 Saucy) et s'il l'est avec la version suivante (14.04 trusty, que je n'ai pas encore installé)

1396118783.png

2) J'ajoute un PPA à mes dépôts

1396118804.png

3) Je liste les PPA installés

1396118824.png

4) J'utilise les fonctions de backup (j'ai exprès ajouté un faux PPA 'ppa:TESTPPATOOL/ESSAI' pour exemplifier)

1396118843.png

5) Il y a même une aide qui s'affiche en cas de mauvaise utilisation du script

1396118869.png

6) Je vérifie avant de faire une mise à niveau vers Ubuntu 14.04 Trusty Thar si mes PPA seront encore disponibles, et je désinstalle automatiquement si nécessaire :
1396118890.png

7) Il y a également une option pour mettre à jour 'ppa-tool' :
1396118912.png


Et tout ça... dans 10ko !

Dernière modification par Vaykadji (Le 29/03/2014, à 20:57)


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : i5 4670k / MSI GTX760 / 8Gb DDR3 - Windows 8.1 pro & Ubuntu Unity
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - Android 4.4.2 & Ubuntu Touch

Hors ligne

#2 Le 20/02/2014, à 01:25

Vaykadji

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Changelogs
======

2.1.0
- GIThub repository
- New feature : --update
- Completely rewritten with 'case' and functions
- Translation open to external contributors

2.0.1
- Code cleaned (-200 lines)
- Script too heavy, multilingual feature removed temporarely - back to separate files

1.9.9-beta
- script rewritten
- beta for multilingual (en-fr)
- use of function

1.2.1
- add new option : check-release
- new way to backup files
- translated in English and French

1.1.0
- add new options : add/remove/purge/list/backup
- colorization

1.0.0
- initial version for AskUbuntu : check the validity of a PPA

PS: Pour consulter le code, il est nécessaire de télécharger le fichier, puisqu'il fait 248 lignes à l'heure actuelle. Cliquez sur un des liens ci-dessus pour le télécharger comme un fichier texte brut.

#######

Surtout, n'hésitez pas à proposer des idées, des améliorations (vous savez, moi et le bash... on se connait depuis pas longtemps), ... Tout retour est le bienvenu, même critique (surtout critique?) !

#######

On en parle sur La Vache Libre !

Dernière modification par Vaykadji (Le 29/03/2014, à 20:56)


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : i5 4670k / MSI GTX760 / 8Gb DDR3 - Windows 8.1 pro & Ubuntu Unity
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - Android 4.4.2 & Ubuntu Touch

Hors ligne

#3 Le 25/02/2014, à 23:50

metalux

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Bonsoir Vaykadji,
Je trouve l'idée plutôt sympa aussi je voulais t'en faire part.
J'ai survolé rapidement ta description et j'ai la flemme de mettre le nez dedans à cette heure tongue mais la réinstallation d'un backup se fait pour la même version si j'ai bien compris. Une suggestion, à moins que j'ai mal vu, est, lors d'un changement de version, de checker les P.P.A., de vérifier si ils existent pour cette nouvelle version, et d'avertir des P.P.A. qui ne sont plus compatibles.
Un choix pourrait alors être proposé (numéroté par ex), pour les P.P.A. a réinstaller. Ça serait utile lors d'une migration ou d'une réinstallation vers une version plus récente.


Xubuntu 14.04 LTS sur HP Pavilion t728.fr
Precise Pangolin 64 bits sur Acer aspire 5738ZG
Voyager 13.04 mise à niveau en 14.04 sur TOSHIBA  Satellite C870-196.
Faîtes la mise à jour de vos P.P.A. automatiquement

Hors ligne

#4 Le 28/02/2014, à 14:42

Gaara

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Bonjour,
Je serais aussi intéressé par un script qui vérifie les ppa en vue d'une migration, et qui les désactiverait pour le cas où ils ne seraient plus disponibles.
Les ppa disponibles pour la migration seraient alors renommés pour la version suivante, pour pouvoir lancer la migration.
Dès lors, elle se ferait sans accroc, avec tous les logiciels prêts à l'emploi.


Kubuntu!!
Notification de mises à jour automatiques
Téléchargement des vidéos Pluzz
                                              <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#5 Le 28/02/2014, à 23:21

Vaykadji

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Vos deux idées sont intéressantes, je garde ça en tête pour la prochaine version.

J'ai modifié la façon d'enregistrer le backup afin qu'il effectue automatiquement une vérification avant d'installer le backup. Je vais également ajouter une option pour modifier son nom de version de façon à pouvoir l'effectuer de manière théorique (du genre "ppa-tool -c ppa:foo/bar --release=trusty"), ça, ça devrait être facile à mettre en place. L'étape suivante sera d'inclure le --release dans les options de backup.

Dernière modification par Vaykadji (Le 01/03/2014, à 01:25)


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : i5 4670k / MSI GTX760 / 8Gb DDR3 - Windows 8.1 pro & Ubuntu Unity
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - Android 4.4.2 & Ubuntu Touch

Hors ligne

#6 Le 01/03/2014, à 00:59

metalux

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Tu peux utiliser la commande suivante lors d'un backup pour déterminer la distribution en cours et stocker la chaîne dans ton fichier de backup

lsb_release -c | awk '{print $2}'

et faire de même lors de la restauration en utilisant sed pour substituer l'ancienne chaîne par la nouvelle dans le fichier de backup avant de réinstaller les ppa. En cas de ppa inexistant pour cette nouvelle version, supprimer le ppa correspondant à l'ancienne version.

Dernière modification par metalux (Le 01/03/2014, à 01:02)


Xubuntu 14.04 LTS sur HP Pavilion t728.fr
Precise Pangolin 64 bits sur Acer aspire 5738ZG
Voyager 13.04 mise à niveau en 14.04 sur TOSHIBA  Satellite C870-196.
Faîtes la mise à jour de vos P.P.A. automatiquement

Hors ligne

#7 Le 01/03/2014, à 01:27

Vaykadji

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

metalux a écrit :

Tu peux utiliser la commande suivante lors d'un backup pour déterminer la distribution en cours et stocker la chaîne dans ton fichier de backup

lsb_release -c | awk '{print $2}'

et faire de même lors de la restauration en utilisant sed pour substituer l'ancienne chaîne par la nouvelle dans le fichier de backup avant de réinstaller les ppa. En cas de ppa inexistant pour cette nouvelle version, supprimer le ppa correspondant à l'ancienne version.

Je préfère " lsb_release -sc", pas besoin de chercher à bidouiller avec awk^^

Sinon, concernant ta proposition : l'installation d'un backup va automatiquement vérifier la compatibilité "ppa/version" dorénavant, donc quand on appliquera un backup de ppa-tool, ne seront installés que ceux qui sont compatibles (avec un message signalant les PPA incompatibles, + également signalés dans le fichier log). Ca te semble bien ?

gaara92 a écrit :

Bonjour,
Je serais aussi intéressé par un script qui vérifie les ppa en vue d'une migration, et qui les désactiverait pour le cas où ils ne seraient plus disponibles.
Les ppa disponibles pour la migration seraient alors renommés pour la version suivante, pour pouvoir lancer la migration.
Dès lors, elle se ferait sans accroc, avec tous les logiciels prêts à l'emploi.

Dis-moi si je comprends bien l'idée, ça serait quelque chose du genre :

user@ubuntu : $ ppa-tool --check-release=trusty
ppa-tool : vérification de compatibilité avec 'trusty' >
- ppa:libreoffice/ppa est compatible
- ppa:gottcode/ppa est incompatible
Souhaitez-vous désactiver les PPA incompatibles avec 'trusty' (o/n) ? o
... PPA incompatibles désactivés ! Système prêt pour un changement de version.

------------------------------------------------

Dans un tout autre registre : Mint utilise apparemment un add-apt-repository modifié, est-ce quelqu'un sait s'il existe un moyen d'utiliser "add-apt-repository -r" ou "apt-add-repository -r" ? Je n'ai aps d'iso ni de VM sous la main...

Dernière modification par Vaykadji (Le 01/03/2014, à 01:43)


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : i5 4670k / MSI GTX760 / 8Gb DDR3 - Windows 8.1 pro & Ubuntu Unity
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - Android 4.4.2 & Ubuntu Touch

Hors ligne

#8 Le 01/03/2014, à 08:47

metalux

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Je préfère " lsb_release -sc", pas besoin de chercher à bidouiller avec awk^^

Elle m'avait échappé celle-là! Bien vu.

Sinon, concernant ta proposition : l'installation d'un backup va automatiquement vérifier la compatibilité "ppa/version" dorénavant, donc quand on appliquera un backup de ppa-tool, ne seront installés que ceux qui sont compatibles (avec un message signalant les PPA incompatibles, + également signalés dans le fichier log). Ca te semble bien ?

Ça me semble tout simplement parfait. big_smile


Xubuntu 14.04 LTS sur HP Pavilion t728.fr
Precise Pangolin 64 bits sur Acer aspire 5738ZG
Voyager 13.04 mise à niveau en 14.04 sur TOSHIBA  Satellite C870-196.
Faîtes la mise à jour de vos P.P.A. automatiquement

Hors ligne

#9 Le 01/03/2014, à 11:42

Gaara

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

user@ubuntu : $ ppa-tool --check-release=trusty
ppa-tool : vérification de compatibilité avec 'trusty' >
- ppa:libreoffice/ppa est compatible
- ppa:gottcode/ppa est incompatible
Souhaitez-vous désactiver les PPA incompatibles avec 'trusty' (o/n) ? o
... PPA incompatibles désactivés ! Système prêt pour un changement de version.

Oui, ce serait bien !


Kubuntu!!
Notification de mises à jour automatiques
Téléchargement des vidéos Pluzz
                                              <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#10 Le 01/03/2014, à 16:17

Vaykadji

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Version 1.2.1 postée wink


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : i5 4670k / MSI GTX760 / 8Gb DDR3 - Windows 8.1 pro & Ubuntu Unity
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - Android 4.4.2 & Ubuntu Touch

Hors ligne

#11 Le 01/03/2014, à 16:25

lynn

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Bonjour,

C'est génial ce petit script smile Merci Vaykadji.


Linux est la solution ! Au fait, c'est quoi ton problème ?
Ubuntu 14.04 - 64 bits  -  Ubuntu 14.10 - 64 bits - Utopic Unicorn

Hors ligne

#12 Le 01/03/2014, à 17:16

lynn

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Avec

ppa-tool --chk-release=trusty

il y a une option qui serait intéressante, c'est la proposition à la fin de la vérification de la possibilité de passer la version actuelle du ppa à la version de la distribution, si celui ci est disponible.

Un exemple est plus parlant :

ppa-tool --chk-release=trusty
ppa-tool: Procédure de vérification des dépôts en vue d'un changement de version.

Système actuel:	trusty
Compatibilité :	trusty

- Vérification en cours...

.......

ppa:nemh/gambas3   <-- Pour l'exemple, j'ai changé "trusty" par "saucy" dans mes dépôts.
=>	compatible trusty

........

## exemple de message ##

Certains PPA sont compatibles avec votre version d'Ubuntu ( "trusty")

------------- Affichage de la liste de ppa compatibles ----------------- 

1 - ppa:machin -- actuellement "saucy"
2 - ppa:truc -- actuellement "hardy"
3 - ppa:chose -- actuellement "precise"

Souhaitez-vous actualiser un ou plusieurs ppa pour votre version ? ##  Choisir un élément / Tous les ppa / Annuler  

Souhaitez-vous désactiver les PPA incompatibles avec 'trusty' (o/n)? n

Linux est la solution ! Au fait, c'est quoi ton problème ?
Ubuntu 14.04 - 64 bits  -  Ubuntu 14.10 - 64 bits - Utopic Unicorn

Hors ligne

#13 Le 05/03/2014, à 12:59

Vaykadji

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Ce serait une option intéressante, oui, mais ça pourrait poser des problèmes de dépendance.


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : i5 4670k / MSI GTX760 / 8Gb DDR3 - Windows 8.1 pro & Ubuntu Unity
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - Android 4.4.2 & Ubuntu Touch

Hors ligne

#14 Le 05/03/2014, à 18:58

lynn

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Vaykadji a écrit :

Ce serait une option intéressante, oui, mais ça pourrait poser des problèmes de dépendance.

Et bien justement, en proposant de mettre le PPA dans la version d'Ubuntu que l'on utilise, si celui ci est disponible, ça pourrait permettre de réduire les problèmes de dépendances et de mises à jour logicielles entre version, après une mise à niveau de la distribution par exemple... non ?


N'oublions pas que l'utilisation des PPA et/ou logiciels installés hors dépôts officiels peut-être dangereux et entraîner la fin du monde. smile


Linux est la solution ! Au fait, c'est quoi ton problème ?
Ubuntu 14.04 - 64 bits  -  Ubuntu 14.10 - 64 bits - Utopic Unicorn

Hors ligne

#15 Le 05/03/2014, à 19:58

Gaara

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

En fait si je comprend bien le fonctionnement des ppa et de ton script: (je l'ai pas encore essayé, j'attend le mois d'avril)
- La version actuelle de ton script permet de désactiver les ppa non compatibles avec la version suivante d'ubuntu, mais ne renomme pas ceux qui sont disponibles.
- La migration désactive les ppa, donc de toutes façons il faut les renommer après migration.

Donc ma question c'est:
Le script, si on le relance après la migration, permet-t-il de réactiver les ppa initialement trouvés "compatibles", pour ensuite faire un simple apt-get uptade / apt-get upgrade ?

Dernière modification par gaara92 (Le 05/03/2014, à 20:00)


Kubuntu!!
Notification de mises à jour automatiques
Téléchargement des vidéos Pluzz
                                              <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#16 Le 06/03/2014, à 22:41

Vaykadji

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

L'utilisation la plus logique en cas de changement de version serait de faire sur la version d'origine :

ppa-tool --bkp-list

Puis une fois la mise à niveau faite et la nouvelle version en train de tourner :

ppa-tool --bkp-install /lien/vers/backup.ppa-tool

En effet, les PPA sont désactivés lors d'une mise à niveau, mais passer par l'option "bkp" de ppa-tool permet de réinstaller tous les PPA qu'on avait lors du backup, exceptés ceux qui ne sont pas disponibles.


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : i5 4670k / MSI GTX760 / 8Gb DDR3 - Windows 8.1 pro & Ubuntu Unity
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - Android 4.4.2 & Ubuntu Touch

Hors ligne

#17 Le 21/03/2014, à 21:19

Tartampion91

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Salut Vakadji,

Déjà très beau boulot, idée très simpas et utiles smile

2 petites question me trottent dans la tête :

  - J'ai vu que utiliser plusieurs fois le même bout de code dans ton script, pourquoi n'utilises-tu pas les fonctions ?
  - Pour gérer tes options et arguments de ton scripts tu devrais utiliser getopts quand penses-tu ?

Je te mes un lien vers de la doc sur getopts

Documentation getopts

Hors ligne

#18 Le 21/03/2014, à 23:37

Vaykadji

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Hello ! Merci du feedback, ça fait plaisir.

Alors, la réponse à ta question est très simple : je suis une quiche en programmation big_smile Mais merci pour ton lien, je lirai ça (c'est mon moto: 'chaque jour devenir un peu moins une quiche')


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : i5 4670k / MSI GTX760 / 8Gb DDR3 - Windows 8.1 pro & Ubuntu Unity
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - Android 4.4.2 & Ubuntu Touch

Hors ligne

#19 Le 24/03/2014, à 01:45

Vaykadji

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Ok donc j'ai appris à utiliser les fonctions, merci Tartampion91 big_smile C'est intégré pour la prochaine version.

Sur ma liste il y a :
- jeter un oeil du côté de getopts.
- se passer de 'add-apt-repository' et d'à la place directement gérer les sources. Ca aidera à la compatibility debian/mint et à la mise à niveau.
- faire un seul script bilingue pour s'adapter au système, éventuellement permettre d'autres traductions
- créer un paquet deb et une man page.
- trouver un autre endroit que ubuntuone pour poser ça, histoire de pas avoir besoin de changer les liens à chaque MAJ.

N'oubliez pas, si vous avez des suggestions (changer X ou Y dans le fichier d'aide, ajouter une fonction, ... quoi que ça soit), n'hésitez pas !

Dernière modification par Vaykadji (Le 24/03/2014, à 02:01)


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : i5 4670k / MSI GTX760 / 8Gb DDR3 - Windows 8.1 pro & Ubuntu Unity
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - Android 4.4.2 & Ubuntu Touch

Hors ligne

#20 Le 29/03/2014, à 18:30

Vaykadji

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

MISE A JOUR :

Version 2.1.0 arrivée

- Passage à github pour une maintenance facilitée
- réécriture complète pour un allègement du code
- multilingue EN - FR


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : i5 4670k / MSI GTX760 / 8Gb DDR3 - Windows 8.1 pro & Ubuntu Unity
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - Android 4.4.2 & Ubuntu Touch

Hors ligne

#21 Le 29/03/2014, à 18:36

nam1962

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

hop ! installé, merci smile


Mon tuto pour optimiser / finaliser une install : http://forum.ubuntu-fr.org/viewtopic.ph … #p15041961
Xubuntu 14.10 sur portable, 14.04 sur fixe, 14.04 chez mes amis.
Score : 49 convertis IRL (leur ai pas donné le choix, aussi...).
Un jeune site que j'aime bien, qui fait du T-shirt la nouvelle élégance ...bio en plus : http://goudronblanc.com

Hors ligne

#22 Le 30/03/2014, à 21:27

Gaara

Re : [script] ppa-tool : gérer vos PPA en ligne de commande facilement

Déjà 2 restaurations de ppas effectuées, une par ordinateur... Sympa, et nettement plus facile et rapide que Y-Ppa-Manager.


Kubuntu!!
Notification de mises à jour automatiques
Téléchargement des vidéos Pluzz
                                              <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

Haut de page ↑