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 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 repo Github
- Disponible en Anglais et Français.

###Installation :

wget https://raw.githubusercontent.com/vankasteelj/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 24/03/2016, à 12:59)

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)

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.

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 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <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)

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)

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)

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

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 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <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

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.


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

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

«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

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.

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


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

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 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <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.

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')

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)

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

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


[ Modéré ]

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 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#23 Le 02/05/2015, à 09:55

Gaara

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

Salut Vaykadji,

Je viens de réinstaller proprement 15.04, et pour récupérer mes ppas j'ai dû réinstaller ton script.
J'ai eu cette erreur à l'install:

$ bash dist-install
dist-install: ligne 3: $'\r' : commande introuvable
Getting 'ppa-tool' from gitub sources...

dist-install: ligne 16: erreur de syntaxe : fin de fichier prématurée

Alors j'ai fait le sudo wget en fr à la main, puis une autre erreur est apparue lors du lancement:

$ ppa-tool --help
bash: /usr/bin/ppa-tool : /bin/bash^M : mauvais interpréteur: Aucun fichier ou dossier de ce type

Alors j'ai fait un

sudo dos2unix /usr/bin/ppa-tool

Et là ça s'est mis à fonctionner.


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#24 Le 19/05/2015, à 19:18

FalCT60

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

Bonsoir,

Sous 14.04 LTS, lorsque j'arrive à la commande 2 j'obtiens :

jean-luc@E4300:~$ bash dist-install
dist-install: ligne 3: $'\r' : commande introuvable
Getting 'ppa-tool' from gitub sources...

dist-install: ligne 16: Erreur de syntaxe : fin de fichier prématurée
jean-luc@E4300:~$ 

J'ai un peu de mal à cerner ce qu'il me faut faire - je rajoute que j'ai tenté la manipulation de Gaara, sans succès -.
D'où pourrait provenir le problème ?

J.-L.

Hors ligne

#25 Le 14/06/2015, à 17:41

Vaykadji

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

C'est un problème de fin de ligne. Tu peux manuellement copier-coller le contenu du fichier et l'enregistrer avec une fin de ligne UNIX, pas MSDOS. J'imagine que j'ai fait une erreur en le mettant en ligne, ou alors je l'ai mis en ligne depuis mon pc windows et il a automatiquement changé les fins de ligne, je ne sais pas.

Hors ligne